-
Notifications
You must be signed in to change notification settings - Fork 33
Add a Safe Guard that implements a timelock for the upgrade Safe #253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
This reverts commit 307bb0a.
36e9419
to
0751f8c
Compare
…stead of mapping from the hash to the expiry
…ta` and `getTransactionHash`
…is improves the UX of using the guard It still requires 2 transactions to be submitted. There's no way around that.
…, but we want to wear tinfoil
ded1b4d
to
1d921f9
Compare
…{Wallet} deployments
This design works and is well put together. The main issue I see is a limitation on the number of calls you can do. If you try to do more than 1 action at a time, you are going to be signing a lot of different transactions. Say you have a gov proposal that needs to:
All three of these calls are going to need separate multisig transactions and separate signatures from signers, which means you'll have to manage the nonces to make sure the signed tx's are all in the right order. A much better solution would allow delegate calls from the safe, but only after the timelock passes. If your multisig only needs to do a single call, this solution works, if not, it's going to be a rough experience for your signers. The other thing I see, the contract doesn't store the calldata or target so you can't easily introspect onchain and see what the tx does, making it easier for malicious tx's to slip through. |
As I alluded to in the comments in the contract, allowing Allowing I agree that this ultimately means that the UX of the Safe is significantly degraded. Safe{Wallet} 1.5.0 makes this substantially better by allowing Guards to hook Module-originated calls.
This is emitted in the event when the transaction begins the timelock cooldown. |
🛡️ Immunefi PR ReviewsThis pull request is not eligible for a PR Reviews review. Please contact Immunefi support. Reason: This PR exceeds the maximum size supported by your current plan (250 lines). Please reduce the number of lines or contact your admin for plan options. |
No description provided.