@gooddollar/goodprotocol
Version:
GoodDollar Protocol
168 lines (167 loc) • 10 kB
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[]"
},
{
"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": "0x608060405234801561001057600080fd5b5061062f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c80630f28c97d1461007d57806317352e131461009257806327e86d6e146100b35780634d2301cc146100bb57806372425d9d146100d657806386d516e8146100dc578063a8b0574e146100e2578063ee82ac5e146100f0575b600080fd5b425b6040519081526020015b60405180910390f35b6100a56100a036600461031f565b610102565b6040516100899291906104ae565b61007f610272565b61007f6100c9366004610544565b6001600160a01b03163190565b4461007f565b4561007f565b604051418152602001610089565b61007f6100fe366004610566565b4090565b815143906060906001600160401b0381111561012057610120610285565b60405190808252806020026020018201604052801561016657816020015b60408051808201909152600081526060602082015281526020019060019003908161013e5790505b50905060005b845181101561026a5760008086838151811061018a5761018a61057f565b6020026020010151600001516001600160a01b03168784815181106101b1576101b161057f565b6020026020010151602001516040516101ca9190610595565b6000604051808303816000865af19150503d8060008114610207576040519150601f19603f3d011682016040523d82523d6000602084013e61020c565b606091505b50915091508515610221578161022157600080fd5b604051806040016040528083151581526020018281525084848151811061024a5761024a61057f565b602002602001018190525050508080610262906105c7565b91505061016c565b509250929050565b600061027f6001436105e0565b40905090565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102bd576102bd610285565b60405290565b604051601f8201601f191681016001600160401b03811182821017156102eb576102eb610285565b604052919050565b80356001600160a01b038116811461030a57600080fd5b919050565b8035801515811461030a57600080fd5b6000806040838503121561033257600080fd5b82356001600160401b038082111561034957600080fd5b818501915085601f83011261035d57600080fd5b813560208282111561037157610371610285565b8160051b6103808282016102c3565b928352848101820192828101908a85111561039a57600080fd5b83870192505b8483101561046d578235868111156103b757600080fd5b8701601f196040828e03820112156103ce57600080fd5b6103d661029b565b6103e18784016102f3565b81526040830135898111156103f557600080fd5b8084019350508d603f84011261040a57600080fd5b868301358981111561041e5761041e610285565b61042e8884601f840116016102c3565b92508083528e604082860101111561044557600080fd5b80604085018985013760009083018801528087019190915283525091830191908301906103a0565b975061047d91505087820161030f565b9450505050509250929050565b60005b838110156104a557818101518382015260200161048d565b50506000910152565b6000604080830185845260208281860152818651808452606093508387019150838160051b88010183890160005b8381101561053457898303605f1901855281518051151584528601518684018990528051898501819052610515818a8701848b0161048a565b95870195601f01601f19169390930187019250908501906001016104dc565b50909a9950505050505050505050565b60006020828403121561055657600080fd5b61055f826102f3565b9392505050565b60006020828403121561057857600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b600082516105a781846020870161048a565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016105d9576105d96105b1565b5060010190565b818103818111156105f3576105f36105b1565b9291505056fea2646970667358221220787bfa0cff196c4eb00ec382a996e280db3f6993bf343874c00bb2267ca7d0f064736f6c63430008130033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100785760003560e01c80630f28c97d1461007d57806317352e131461009257806327e86d6e146100b35780634d2301cc146100bb57806372425d9d146100d657806386d516e8146100dc578063a8b0574e146100e2578063ee82ac5e146100f0575b600080fd5b425b6040519081526020015b60405180910390f35b6100a56100a036600461031f565b610102565b6040516100899291906104ae565b61007f610272565b61007f6100c9366004610544565b6001600160a01b03163190565b4461007f565b4561007f565b604051418152602001610089565b61007f6100fe366004610566565b4090565b815143906060906001600160401b0381111561012057610120610285565b60405190808252806020026020018201604052801561016657816020015b60408051808201909152600081526060602082015281526020019060019003908161013e5790505b50905060005b845181101561026a5760008086838151811061018a5761018a61057f565b6020026020010151600001516001600160a01b03168784815181106101b1576101b161057f565b6020026020010151602001516040516101ca9190610595565b6000604051808303816000865af19150503d8060008114610207576040519150601f19603f3d011682016040523d82523d6000602084013e61020c565b606091505b50915091508515610221578161022157600080fd5b604051806040016040528083151581526020018281525084848151811061024a5761024a61057f565b602002602001018190525050508080610262906105c7565b91505061016c565b509250929050565b600061027f6001436105e0565b40905090565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b03811182821017156102bd576102bd610285565b60405290565b604051601f8201601f191681016001600160401b03811182821017156102eb576102eb610285565b604052919050565b80356001600160a01b038116811461030a57600080fd5b919050565b8035801515811461030a57600080fd5b6000806040838503121561033257600080fd5b82356001600160401b038082111561034957600080fd5b818501915085601f83011261035d57600080fd5b813560208282111561037157610371610285565b8160051b6103808282016102c3565b928352848101820192828101908a85111561039a57600080fd5b83870192505b8483101561046d578235868111156103b757600080fd5b8701601f196040828e03820112156103ce57600080fd5b6103d661029b565b6103e18784016102f3565b81526040830135898111156103f557600080fd5b8084019350508d603f84011261040a57600080fd5b868301358981111561041e5761041e610285565b61042e8884601f840116016102c3565b92508083528e604082860101111561044557600080fd5b80604085018985013760009083018801528087019190915283525091830191908301906103a0565b975061047d91505087820161030f565b9450505050509250929050565b60005b838110156104a557818101518382015260200161048d565b50506000910152565b6000604080830185845260208281860152818651808452606093508387019150838160051b88010183890160005b8381101561053457898303605f1901855281518051151584528601518684018990528051898501819052610515818a8701848b0161048a565b95870195601f01601f19169390930187019250908501906001016104dc565b50909a9950505050505050505050565b60006020828403121561055657600080fd5b61055f826102f3565b9392505050565b60006020828403121561057857600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b600082516105a781846020870161048a565b9190910192915050565b634e487b7160e01b600052601160045260246000fd5b6000600182016105d9576105d96105b1565b5060010190565b818103818111156105f3576105f36105b1565b9291505056fea2646970667358221220787bfa0cff196c4eb00ec382a996e280db3f6993bf343874c00bb2267ca7d0f064736f6c63430008130033",
"linkReferences": {},
"deployedLinkReferences": {}
}