Basic UI to manage the SafeTimelock contract implemented at https://github.com/L1b3rtyy/safe-timelock-contract
As of writing this the UI is deployed and hosted at https://safe-timelock-ui.vercel.app/.
It is stateless and you can deploy it on your Safe using the instructions on how to Add a custom Safe App
Allows:
- Deploying a new guard contract
- Setting and removing the Safe guard
- Queuing, cancelling and executing transactions
- Changing the configuration of the SafeTimelock
- Upgrading the SafeTimelock implementation if upgradable
- Gathering signatures on top of the Safe's threshold to handle the cases where
- Additional signatures are needed to cancel a transaction (
quorumCancel > threshold
) - Direct transaction execution is enabled (
quorumExecute > threshold
)
- Additional signatures are needed to cancel a transaction (
- Removing owners of suspicious transactions
- Basic alert system on queued transactions: custom heuristic to flag potentially dangerous transactions
More info on How to create a Safe App with Safe Apps SDK and list it
Note: usage of quorumCancel
and quorumExecute
is limited to gathering signatures locally on the same machine. Having a Safe' like experience would require securely gathering signatures on a remote server and sharing them with the eventual executor.
JS tooling
Ethereum client tooling:
- Local deployment
npm run dev
- First time only: create a vercel account and then initialize vercel locally
vercel login
vercel
- Build and deploy
npm run deploy
This will pre-increment the patch version in package.json
and then call ```vercel --prod``.
- First time only: Add a custom Safe App