-
Notifications
You must be signed in to change notification settings - Fork 104
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
Refactor MultisigBuilder and NestedMultisigBuilder #97
Conversation
✅ Heimdall Review Status
|
e24e192
to
eb56fef
Compare
eb56fef
to
3d1981d
Compare
de4c8bb
to
df78b0e
Compare
Really excited for the changes listed here! Also glad to see it looks like tests are starting to be added—lack of test coverage definitely made it hard to verify changes worked properly and didn't break things in the past :) |
Review Error for jackchuma @ 2024-10-22 16:36:27 UTC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great @mdehoog . TY for doing this!
These script contracts have diverged pretty significantly from each other and were in need of a consistency refactor and cleanup.
This PR:
IGnosisSafe
instead ofaddress
where appropriate_getNonce()
inconsistencies between the builderspostCheck
fromNestedMultisigBuilder.approve
(doesn't make sense because this doesn't run the transaction, so we don't expect the postCheck state to change)sign
,approve
,run
), and give them empty implementations making them optional for subclasses to implementsafe.approveHash
toprintDataToSign
, so it works for bothSimulator
base class toSimulation
libraryNote there are some breaking changes, notably:
Simulation*
structs are now in a library, so can just be used by inserting a.
(e.g.SimulationPayload
becomesSimulation.Payload
)_addGenericOverrides
and_addMultipleGenericOverrides
have been merged into a single_simulationOverrides
)_postCheck
virtual method no longer accepts the state accesses and the sim payload (these have been moved to the other_post*
methodsSee the
SetGasLimitBuilder.sol
updates as an example.