UNPKG

@gooddollar/goodprotocol

Version:
168 lines (167 loc) 10 kB
{ "_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[]" }, { "internalType": "bool", "name": "strict", "type": "bool" } ], "name": "aggregate", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" }, { "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "internalType": "struct Multicall.Return[]", "name": "returnData", "type": "tuple[]" } ], "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": "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": "getCurrentBlockTimestamp", "outputs": [ { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "getEthBalance", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLastBlockHash", "outputs": [ { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b5061062f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c80630f28c97d1461007d57806317352e131461009257806327e86d6e146100b35780634d2301cc146100bb57806372425d9d146100d657806386d516e8146100dc578063a8b0574e146100e2578063ee82ac5e146100f0575b600080fd5b425b6040519081526020015b60405180910390f35b6100a56100a036600461031f565b610102565b6040516100899291906104ae565b61007f610272565b61007f6100c9366004610544565b6001600160a01b03163190565b4461007f565b4561007f565b604051418152602001610089565b61007f6100fe366004610566565b4090565b815143906060906001600160401b0381111561012057610120610285565b60405190808252806020026020018201604052801561016657816020015b60408051808201909152600081526060602082015281526020019060019003908161013e5790505b50905060005b845181101561026a5760008086838151811061018a5761018a61057f565b6020026020010151600001516001600160a01b03168784815181106101b1576101b161057f565b6020026020010151602001516040516101ca9190610595565b6000604051808303816000865af19150503d8060008114610207576040519150601f19603f3d011682016040523d82523d6000602084013e61020c565b606091505b50915091508515610221578161022157600080fd5b604051806040016040528083151581526020018281525084848151811061024a5761024a61057f565b602002602001018190525050508080610262906105c7565b91505061016c565b509250929050565b600061027f6001436105e0565b40905090565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102bd576102bd610285565b60405290565b604051601f8201601f191681016001600160401b03811182821017156102eb576102eb610285565b604052919050565b80356001600160a01b038116811461030a57600080fd5b919050565b8035801515811461030a57600080fd5b6000806040838503121561033257600080fd5b82356001600160401b038082111561034957600080fd5b818501915085601f83011261035d57600080fd5b813560208282111561037157610371610285565b8160051b6103808282016102c3565b928352848101820192828101908a85111561039a57600080fd5b83870192505b8483101561046d578235868111156103b757600080fd5b8701601f196040828e03820112156103ce57600080fd5b6103d661029b565b6103e18784016102f3565b81526040830135898111156103f557600080fd5b8084019350508d603f84011261040a57600080fd5b868301358981111561041e5761041e610285565b61042e8884601f840116016102c3565b92508083528e604082860101111561044557600080fd5b80604085018985013760009083018801528087019190915283525091830191908301906103a0565b975061047d91505087820161030f565b9450505050509250929050565b60005b838110156104a557818101518382015260200161048d565b50506000910152565b6000604080830185845260208281860152818651808452606093508387019150838160051b88010183890160005b8381101561053457898303605f1901855281518051151584528601518684018990528051898501819052610515818a8701848b0161048a565b95870195601f01601f19169390930187019250908501906001016104dc565b50909a9950505050505050505050565b60006020828403121561055657600080fd5b61055f826102f3565b9392505050565b60006020828403121561057857600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b600082516105a781846020870161048a565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016105d9576105d96105b1565b5060010190565b818103818111156105f3576105f36105b1565b9291505056fea2646970667358221220912032a63d37c850b211b2823724bcc9d86727b812546c8c87e857eaaecaf3b564736f6c63430008130033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c80630f28c97d1461007d57806317352e131461009257806327e86d6e146100b35780634d2301cc146100bb57806372425d9d146100d657806386d516e8146100dc578063a8b0574e146100e2578063ee82ac5e146100f0575b600080fd5b425b6040519081526020015b60405180910390f35b6100a56100a036600461031f565b610102565b6040516100899291906104ae565b61007f610272565b61007f6100c9366004610544565b6001600160a01b03163190565b4461007f565b4561007f565b604051418152602001610089565b61007f6100fe366004610566565b4090565b815143906060906001600160401b0381111561012057610120610285565b60405190808252806020026020018201604052801561016657816020015b60408051808201909152600081526060602082015281526020019060019003908161013e5790505b50905060005b845181101561026a5760008086838151811061018a5761018a61057f565b6020026020010151600001516001600160a01b03168784815181106101b1576101b161057f565b6020026020010151602001516040516101ca9190610595565b6000604051808303816000865af19150503d8060008114610207576040519150601f19603f3d011682016040523d82523d6000602084013e61020c565b606091505b50915091508515610221578161022157600080fd5b604051806040016040528083151581526020018281525084848151811061024a5761024a61057f565b602002602001018190525050508080610262906105c7565b91505061016c565b509250929050565b600061027f6001436105e0565b40905090565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102bd576102bd610285565b60405290565b604051601f8201601f191681016001600160401b03811182821017156102eb576102eb610285565b604052919050565b80356001600160a01b038116811461030a57600080fd5b919050565b8035801515811461030a57600080fd5b6000806040838503121561033257600080fd5b82356001600160401b038082111561034957600080fd5b818501915085601f83011261035d57600080fd5b813560208282111561037157610371610285565b8160051b6103808282016102c3565b928352848101820192828101908a85111561039a57600080fd5b83870192505b8483101561046d578235868111156103b757600080fd5b8701601f196040828e03820112156103ce57600080fd5b6103d661029b565b6103e18784016102f3565b81526040830135898111156103f557600080fd5b8084019350508d603f84011261040a57600080fd5b868301358981111561041e5761041e610285565b61042e8884601f840116016102c3565b92508083528e604082860101111561044557600080fd5b80604085018985013760009083018801528087019190915283525091830191908301906103a0565b975061047d91505087820161030f565b9450505050509250929050565b60005b838110156104a557818101518382015260200161048d565b50506000910152565b6000604080830185845260208281860152818651808452606093508387019150838160051b88010183890160005b8381101561053457898303605f1901855281518051151584528601518684018990528051898501819052610515818a8701848b0161048a565b95870195601f01601f19169390930187019250908501906001016104dc565b50909a9950505050505050505050565b60006020828403121561055657600080fd5b61055f826102f3565b9392505050565b60006020828403121561057857600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b600082516105a781846020870161048a565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016105d9576105d96105b1565b5060010190565b818103818111156105f3576105f36105b1565b9291505056fea2646970667358221220912032a63d37c850b211b2823724bcc9d86727b812546c8c87e857eaaecaf3b564736f6c63430008130033", "linkReferences": {}, "deployedLinkReferences": {} }