224 lines
12 KiB
JSON
224 lines
12 KiB
JSON
{
|
|
"_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": {}
|
|
}
|