{ "_format": "hh-sol-artifact-1", "contractName": "Multicall", "sourceName": "contracts/utils/Multicall.sol", "abi": [ { "inputs": [ { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct Multicall.Call[]", "name": "calls", "type": "tuple[]" } ], "name": "aggregate", "outputs": [ { "internalType": "bytes[]", "name": "returnData", "type": "bytes[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct Multicall.Call[]", "name": "calls", "type": "tuple[]" }, { "internalType": "uint256", "name": "gasLimit", "type": "uint256" } ], "name": "aggregateWithGasLimit", "outputs": [ { "internalType": "bytes[]", "name": "returnData", "type": "bytes[]" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getBlockHash", "outputs": [ { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getChainId", "outputs": [ { "internalType": "uint256", "name": "chainid", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentBlockCoinbase", "outputs": [ { "internalType": "address", "name": "coinbase", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentBlockDifficulty", "outputs": [ { "internalType": "uint256", "name": "difficulty", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentBlockGasLimit", "outputs": [ { "internalType": "uint256", "name": "gaslimit", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentBlockNumber", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getCurrentBlockTimestamp", "outputs": [ { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "requireSuccess", "type": "bool" }, { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct Multicall.Call[]", "name": "calls", "type": "tuple[]" } ], "name": "tryAggregate", "outputs": [ { "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ], "internalType": "struct Multicall.Result[]", "name": "returnData", "type": "tuple[]" } ], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x6080806040523461001657610772908161001c8239f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c9081630f28c97d1461042c57508063252dba42146103895780633408e4701461036e5780633409164e146102af5780636fd902e11461029457806372425d9d1461027957806386d516e81461025e578063a8b0574e14610243578063bce38bd7146100b35763ee82ac5e1461009257600080fd5b346100af5760203660031901126100af5760209250519035408152f35b8280fd5b508234610240578160031936011261024057823592831515840361023c5760243567ffffffffffffffff81116100af576100ef913691016104d6565b92835191610110610107610102856104a2565b61047c565b938085526104a2565b60209590601f190186835b82811061021d57505050815b81518110156101ac5760019083806001600160a01b0361014784876106a7565b5151168a61015585886106a7565b51015190828c83519301915af18561016b6106d1565b9061019e575b610179610446565b91151582528982015261018c82886106a7565b5261019781876106a7565b5001610127565b6101a7826106f7565b610171565b8587868583519280840190808552835180925285850181878460051b880101950193965b8388106101dd5786860387f35b9091929394838061020c600193603f198b820301875285838b51805115158452015191818582015201906105c3565b9701930197019690939291936101d0565b8190610227610446565b86815260608382015282828a0101520161011b565b5080fd5b80fd5b83823461023c578160031936011261023c5760209051418152f35b83823461023c578160031936011261023c5760209051458152f35b83823461023c578160031936011261023c5760209051448152f35b83823461023c578160031936011261023c5760209051438152f35b5090346100af57816003193601126100af5780359067ffffffffffffffff821161036a576102df913691016104d6565b916024356102ed8451610667565b93825b81518110156103595760019084806001600160a01b0361031084876106a7565b5151166020908282610322878a6106a7565b510151805193019189f161033d6103376106d1565b916106f7565b61034782896106a7565b5261035281886106a7565b50016102f0565b8451806103668882610603565b0390f35b8380fd5b83823461023c578160031936011261023c5760209051468152f35b50823461024057602092602060031936011261023c57803567ffffffffffffffff81116100af576103bc913691016104d6565b926103c78451610667565b93825b81518110156103595760019084806001600160a01b036103ea84876106a7565b515116866103f885886106a7565b51015190828883519301915af16104106103376106d1565b61041a82896106a7565b5261042581886106a7565b50016103ca565b84903461023c578160031936011261023c57602090428152f35b604051906040820182811067ffffffffffffffff82111761046657604052565b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761046657604052565b67ffffffffffffffff81116104665760051b60200190565b67ffffffffffffffff811161046657601f01601f191660200190565b81601f820112156105be578035916020916104f3610102856104a2565b93838086838152019160051b830101928084116105be57848301915b84831061051f5750505050505090565b67ffffffffffffffff9083358281116105be5785019060409283601f1984870301126105be5761054d610446565b92898101356001600160a01b03811681036105be578452848101359182116105be57019184603f840112156105be57888301359261058d610102856104ba565b90848252868686830101116105be578a8581979682976000940183860137830101528382015281520192019161050f565b600080fd5b919082519283825260005b8481106105ef575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016105ce565b6020808201906020835283518092526040830192602060408460051b8301019501936000915b8483106106395750505050505090565b9091929394958480610657600193603f198682030187528a516105c3565b9801930193019194939290610629565b90610674610102836104a2565b8281528092610685601f19916104a2565b019060005b82811061069657505050565b80606060208093850101520161068a565b80518210156106bb5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b3d156106f2573d906106e5610102836104ba565b9182523d6000602084013e565b606090565b156106fe57565b60405162461bcd60e51b8152602060048201526016602482015275135d5b1d1a58d85b1b0e8818d85b1b0819985a5b195960521b6044820152606490fdfea264697066735822122004bcda3877e10d8fdc43c896c8507711062806b9766f12820d92a9753fb4af2264736f6c63430008160033", "deployedBytecode": "0x608060408181526004908136101561001657600080fd5b600092833560e01c9081630f28c97d1461042c57508063252dba42146103895780633408e4701461036e5780633409164e146102af5780636fd902e11461029457806372425d9d1461027957806386d516e81461025e578063a8b0574e14610243578063bce38bd7146100b35763ee82ac5e1461009257600080fd5b346100af5760203660031901126100af5760209250519035408152f35b8280fd5b508234610240578160031936011261024057823592831515840361023c5760243567ffffffffffffffff81116100af576100ef913691016104d6565b92835191610110610107610102856104a2565b61047c565b938085526104a2565b60209590601f190186835b82811061021d57505050815b81518110156101ac5760019083806001600160a01b0361014784876106a7565b5151168a61015585886106a7565b51015190828c83519301915af18561016b6106d1565b9061019e575b610179610446565b91151582528982015261018c82886106a7565b5261019781876106a7565b5001610127565b6101a7826106f7565b610171565b8587868583519280840190808552835180925285850181878460051b880101950193965b8388106101dd5786860387f35b9091929394838061020c600193603f198b820301875285838b51805115158452015191818582015201906105c3565b9701930197019690939291936101d0565b8190610227610446565b86815260608382015282828a0101520161011b565b5080fd5b80fd5b83823461023c578160031936011261023c5760209051418152f35b83823461023c578160031936011261023c5760209051458152f35b83823461023c578160031936011261023c5760209051448152f35b83823461023c578160031936011261023c5760209051438152f35b5090346100af57816003193601126100af5780359067ffffffffffffffff821161036a576102df913691016104d6565b916024356102ed8451610667565b93825b81518110156103595760019084806001600160a01b0361031084876106a7565b5151166020908282610322878a6106a7565b510151805193019189f161033d6103376106d1565b916106f7565b61034782896106a7565b5261035281886106a7565b50016102f0565b8451806103668882610603565b0390f35b8380fd5b83823461023c578160031936011261023c5760209051468152f35b50823461024057602092602060031936011261023c57803567ffffffffffffffff81116100af576103bc913691016104d6565b926103c78451610667565b93825b81518110156103595760019084806001600160a01b036103ea84876106a7565b515116866103f885886106a7565b51015190828883519301915af16104106103376106d1565b61041a82896106a7565b5261042581886106a7565b50016103ca565b84903461023c578160031936011261023c57602090428152f35b604051906040820182811067ffffffffffffffff82111761046657604052565b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761046657604052565b67ffffffffffffffff81116104665760051b60200190565b67ffffffffffffffff811161046657601f01601f191660200190565b81601f820112156105be578035916020916104f3610102856104a2565b93838086838152019160051b830101928084116105be57848301915b84831061051f5750505050505090565b67ffffffffffffffff9083358281116105be5785019060409283601f1984870301126105be5761054d610446565b92898101356001600160a01b03811681036105be578452848101359182116105be57019184603f840112156105be57888301359261058d610102856104ba565b90848252868686830101116105be578a8581979682976000940183860137830101528382015281520192019161050f565b600080fd5b919082519283825260005b8481106105ef575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016105ce565b6020808201906020835283518092526040830192602060408460051b8301019501936000915b8483106106395750505050505090565b9091929394958480610657600193603f198682030187528a516105c3565b9801930193019194939290610629565b90610674610102836104a2565b8281528092610685601f19916104a2565b019060005b82811061069657505050565b80606060208093850101520161068a565b80518210156106bb5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b3d156106f2573d906106e5610102836104ba565b9182523d6000602084013e565b606090565b156106fe57565b60405162461bcd60e51b8152602060048201526016602482015275135d5b1d1a58d85b1b0e8818d85b1b0819985a5b195960521b6044820152606490fdfea264697066735822122004bcda3877e10d8fdc43c896c8507711062806b9766f12820d92a9753fb4af2264736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} }