@@ -2,16 +2,15 @@ pragma solidity ^0.8.0;
22
33import "@forge-std/console.sol " ;
44
5- import {Address} from "@utils/Address.sol " ;
65import {Proposal} from "./Proposal.sol " ;
6+ import {Address} from "@utils/Address.sol " ;
77import {Constants} from "@utils/Constants.sol " ;
88
99abstract contract MultisigProposal is Proposal {
1010 using Address for address ;
1111
12- bytes32 public constant MULTISIG_BYTECODE_HASH = bytes32 (
13- 0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000
14- );
12+ bytes32 public constant MULTISIG_BYTECODE_HASH =
13+ bytes32 (0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000 );
1514
1615 struct Call3Value {
1716 address target;
@@ -21,31 +20,20 @@ abstract contract MultisigProposal is Proposal {
2120 }
2221
2322 /// @notice return calldata, log if debug is set to true
24- function getCalldata () public view override returns (bytes memory data ) {
23+ function getCalldata () public view virtual override returns (bytes memory data ) {
2524 /// get proposal actions
26- (
27- address [] memory targets ,
28- uint256 [] memory values ,
29- bytes [] memory arguments
30- ) = getProposalActions ();
25+ (address [] memory targets , uint256 [] memory values , bytes [] memory arguments ) = getProposalActions ();
3126
3227 /// create calls array with targets and arguments
3328 Call3Value[] memory calls = new Call3Value [](targets.length );
3429
3530 for (uint256 i; i < calls.length ; i++ ) {
3631 require (targets[i] != address (0 ), "Invalid target for multisig " );
37- calls[i] = Call3Value ({
38- target: targets[i],
39- allowFailure: false ,
40- value: values[i],
41- callData: arguments[i]
42- });
32+ calls[i] = Call3Value ({target: targets[i], allowFailure: false , value: values[i], callData: arguments[i]});
4333 }
4434
4535 /// generate calldata
46- data = abi.encodeWithSignature (
47- "aggregate3Value((address,bool,uint256,bytes)[]) " , calls
48- );
36+ data = abi.encodeWithSignature ("aggregate3Value((address,bool,uint256,bytes)[]) " , calls);
4937 }
5038
5139 /// @notice Check if there are any on-chain proposal that matches the
@@ -59,7 +47,7 @@ abstract contract MultisigProposal is Proposal {
5947
6048 /// this is a hack because multisig execTransaction requires owners signatures
6149 /// so we cannot simulate it exactly as it will be executed on mainnet
62- vm.etch (multisig, Constants.MULTICALL_BYTECODE );
50+ vm.etch (multisig, Constants.MULTISEND_BYTECODE );
6351
6452 bytes memory data = getCalldata ();
6553
0 commit comments