superchain-ops
superchain-ops copied to clipboard
Support Finance ETH Transfers
Description
- Use calldata values for getting encode transaction data, hash to approve and data to sign.
- Add
_balanceCheckincheckStateDifffunction so that it can be overridden for Finance template. - Update Finance template logic for ETH transfers
- Use
Multicall3NoValueCheckfor Finance template to support ETH transfers. Multicall3 contract cannot be used because, our tasks make delegate call to the multicall3 contract which further makes calls to targets usingaggregate3Valuefunction. This function has check:require(msg.value == valAccumulator, "Multicall3: value mismatch");which will always fail becausemsg.valuewill always be zero whenaggregate3Valueis called using a delegate call. - Add
Multicall3NoValueCheckdeployment script. - Support readable amount format for ETH transfers
Metadata This PR is a part of Generic factor task.
+1 to all of @ElliotFriedman's comments above