{ "abi": [ { "inputs": [ { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct IMulticall3.Call[]", "name": "calls", "type": "tuple[]" } ], "name": "aggregate", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" }, { "internalType": "bytes[]", "name": "returnData", "type": "bytes[]" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bool", "name": "allowFailure", "type": "bool" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct IMulticall3.Call3[]", "name": "calls", "type": "tuple[]" } ], "name": "aggregate3", "outputs": [ { "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ], "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bool", "name": "allowFailure", "type": "bool" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct IMulticall3.Call3Value[]", "name": "calls", "type": "tuple[]" } ], "name": "aggregate3Value", "outputs": [ { "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ], "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct IMulticall3.Call[]", "name": "calls", "type": "tuple[]" } ], "name": "blockAndAggregate", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" }, { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" }, { "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ], "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "getBasefee", "outputs": [ { "internalType": "uint256", "name": "basefee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getBlockHash", "outputs": [ { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getBlockNumber", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "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": "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" }, { "inputs": [ { "internalType": "bool", "name": "requireSuccess", "type": "bool" }, { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct IMulticall3.Call[]", "name": "calls", "type": "tuple[]" } ], "name": "tryAggregate", "outputs": [ { "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ], "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "requireSuccess", "type": "bool" }, { "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ], "internalType": "struct IMulticall3.Call[]", "name": "calls", "type": "tuple[]" } ], "name": "tryBlockAndAggregate", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" }, { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" }, { "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ], "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]" } ], "stateMutability": "payable", "type": "function" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "aggregate((address,bytes)[])": "252dba42", "aggregate3((address,bool,bytes)[])": "82ad56cb", "aggregate3Value((address,bool,uint256,bytes)[])": "174dea71", "blockAndAggregate((address,bytes)[])": "c3077fa9", "getBasefee()": "3e64a696", "getBlockHash(uint256)": "ee82ac5e", "getBlockNumber()": "42cbb15c", "getChainId()": "3408e470", "getCurrentBlockCoinbase()": "a8b0574e", "getCurrentBlockDifficulty()": "72425d9d", "getCurrentBlockGasLimit()": "86d516e8", "getCurrentBlockTimestamp()": "0f28c97d", "getEthBalance(address)": "4d2301cc", "getLastBlockHash()": "27e86d6e", "tryAggregate(bool,(address,bytes)[])": "bce38bd7", "tryBlockAndAggregate(bool,(address,bytes)[])": "399542e9" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"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\":\"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\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct IMulticall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":\"IMulticall3\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.22+commit.4fc1097e" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "struct IMulticall3.Call[]", "name": "calls", "type": "tuple[]", "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ] } ], "stateMutability": "payable", "type": "function", "name": "aggregate", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" }, { "internalType": "bytes[]", "name": "returnData", "type": "bytes[]" } ] }, { "inputs": [ { "internalType": "struct IMulticall3.Call3[]", "name": "calls", "type": "tuple[]", "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bool", "name": "allowFailure", "type": "bool" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ] } ], "stateMutability": "payable", "type": "function", "name": "aggregate3", "outputs": [ { "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]", "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ] } ] }, { "inputs": [ { "internalType": "struct IMulticall3.Call3Value[]", "name": "calls", "type": "tuple[]", "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bool", "name": "allowFailure", "type": "bool" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ] } ], "stateMutability": "payable", "type": "function", "name": "aggregate3Value", "outputs": [ { "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]", "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ] } ] }, { "inputs": [ { "internalType": "struct IMulticall3.Call[]", "name": "calls", "type": "tuple[]", "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ] } ], "stateMutability": "payable", "type": "function", "name": "blockAndAggregate", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" }, { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" }, { "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]", "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getBasefee", "outputs": [ { "internalType": "uint256", "name": "basefee", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getBlockHash", "outputs": [ { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getBlockNumber", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getChainId", "outputs": [ { "internalType": "uint256", "name": "chainid", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurrentBlockCoinbase", "outputs": [ { "internalType": "address", "name": "coinbase", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurrentBlockDifficulty", "outputs": [ { "internalType": "uint256", "name": "difficulty", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurrentBlockGasLimit", "outputs": [ { "internalType": "uint256", "name": "gaslimit", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurrentBlockTimestamp", "outputs": [ { "internalType": "uint256", "name": "timestamp", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getEthBalance", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getLastBlockHash", "outputs": [ { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "bool", "name": "requireSuccess", "type": "bool" }, { "internalType": "struct IMulticall3.Call[]", "name": "calls", "type": "tuple[]", "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ] } ], "stateMutability": "payable", "type": "function", "name": "tryAggregate", "outputs": [ { "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]", "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ] } ] }, { "inputs": [ { "internalType": "bool", "name": "requireSuccess", "type": "bool" }, { "internalType": "struct IMulticall3.Call[]", "name": "calls", "type": "tuple[]", "components": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "callData", "type": "bytes" } ] } ], "stateMutability": "payable", "type": "function", "name": "tryBlockAndAggregate", "outputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" }, { "internalType": "bytes32", "name": "blockHash", "type": "bytes32" }, { "internalType": "struct IMulticall3.Result[]", "name": "returnData", "type": "tuple[]", "components": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "returnData", "type": "bytes" } ] } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "@uniswap/v3-core/=lib_uniswap/v3-core/", "@uniswap/v3-periphery/=lib_uniswap/v3-periphery/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "v3-core/=lib_uniswap/v3-core/", "v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/" ], "optimizer": { "runs": 999999999, "details": { "peephole": true, "inliner": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": true, "yulDetails": { "stackAllocation": true, "optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu" } } }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "lib/forge-std/src/interfaces/IMulticall3.sol": "IMulticall3" }, "libraries": {} }, "sources": { "lib/forge-std/src/interfaces/IMulticall3.sol": { "keccak256": "0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a", "urls": [ "bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0", "dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2" ], "license": "MIT" } }, "version": 1 }, "ast": { "absolutePath": "lib/forge-std/src/interfaces/IMulticall3.sol", "id": 29817, "exportedSymbols": { "IMulticall3": [ 29816 ] }, "nodeType": "SourceUnit", "src": "32:2153:17", "nodes": [ { "id": 29655, "nodeType": "PragmaDirective", "src": "32:31:17", "nodes": [], "literals": [ "solidity", ">=", "0.6", ".2", "<", "0.9", ".0" ] }, { "id": 29656, "nodeType": "PragmaDirective", "src": "65:33:17", "nodes": [], "literals": [ "experimental", "ABIEncoderV2" ] }, { "id": 29816, "nodeType": "ContractDefinition", "src": "100:2084:17", "nodes": [ { "id": 29661, "nodeType": "StructDefinition", "src": "128:67:17", "nodes": [], "canonicalName": "IMulticall3.Call", "members": [ { "constant": false, "id": 29658, "mutability": "mutable", "name": "target", "nameLocation": "158:6:17", "nodeType": "VariableDeclaration", "scope": 29661, "src": "150:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 29657, "name": "address", "nodeType": "ElementaryTypeName", "src": "150:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 29660, "mutability": "mutable", "name": "callData", "nameLocation": "180:8:17", "nodeType": "VariableDeclaration", "scope": 29661, "src": "174:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" }, "typeName": { "id": 29659, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "174:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "name": "Call", "nameLocation": "135:4:17", "scope": 29816, "visibility": "public" }, { "id": 29668, "nodeType": "StructDefinition", "src": "201:95:17", "nodes": [], "canonicalName": "IMulticall3.Call3", "members": [ { "constant": false, "id": 29663, "mutability": "mutable", "name": "target", "nameLocation": "232:6:17", "nodeType": "VariableDeclaration", "scope": 29668, "src": "224:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 29662, "name": "address", "nodeType": "ElementaryTypeName", "src": "224:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 29665, "mutability": "mutable", "name": "allowFailure", "nameLocation": "253:12:17", "nodeType": "VariableDeclaration", "scope": 29668, "src": "248:17:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 29664, "name": "bool", "nodeType": "ElementaryTypeName", "src": "248:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 29667, "mutability": "mutable", "name": "callData", "nameLocation": "281:8:17", "nodeType": "VariableDeclaration", "scope": 29668, "src": "275:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" }, "typeName": { "id": 29666, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "275:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "name": "Call3", "nameLocation": "208:5:17", "scope": 29816, "visibility": "public" }, { "id": 29677, "nodeType": "StructDefinition", "src": "302:123:17", "nodes": [], "canonicalName": "IMulticall3.Call3Value", "members": [ { "constant": false, "id": 29670, "mutability": "mutable", "name": "target", "nameLocation": "338:6:17", "nodeType": "VariableDeclaration", "scope": 29677, "src": "330:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 29669, "name": "address", "nodeType": "ElementaryTypeName", "src": "330:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 29672, "mutability": "mutable", "name": "allowFailure", "nameLocation": "359:12:17", "nodeType": "VariableDeclaration", "scope": 29677, "src": "354:17:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 29671, "name": "bool", "nodeType": "ElementaryTypeName", "src": "354:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 29674, "mutability": "mutable", "name": "value", "nameLocation": "389:5:17", "nodeType": "VariableDeclaration", "scope": 29677, "src": "381:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29673, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "381:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 29676, "mutability": "mutable", "name": "callData", "nameLocation": "410:8:17", "nodeType": "VariableDeclaration", "scope": 29677, "src": "404:14:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" }, "typeName": { "id": 29675, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "404:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "name": "Call3Value", "nameLocation": "309:10:17", "scope": 29816, "visibility": "public" }, { "id": 29682, "nodeType": "StructDefinition", "src": "431:69:17", "nodes": [], "canonicalName": "IMulticall3.Result", "members": [ { "constant": false, "id": 29679, "mutability": "mutable", "name": "success", "nameLocation": "460:7:17", "nodeType": "VariableDeclaration", "scope": 29682, "src": "455:12:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 29678, "name": "bool", "nodeType": "ElementaryTypeName", "src": "455:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 29681, "mutability": "mutable", "name": "returnData", "nameLocation": "483:10:17", "nodeType": "VariableDeclaration", "scope": 29682, "src": "477:16:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" }, "typeName": { "id": 29680, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "477:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "name": "Result", "nameLocation": "438:6:17", "scope": 29816, "visibility": "public" }, { "id": 29694, "nodeType": "FunctionDefinition", "src": "506:140:17", "nodes": [], "functionSelector": "252dba42", "implemented": false, "kind": "function", "modifiers": [], "name": "aggregate", "nameLocation": "515:9:17", "parameters": { "id": 29687, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29686, "mutability": "mutable", "name": "calls", "nameLocation": "541:5:17", "nodeType": "VariableDeclaration", "scope": 29694, "src": "525:21:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call_$29661_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IMulticall3.Call[]" }, "typeName": { "baseType": { "id": 29684, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29683, "name": "Call", "nameLocations": [ "525:4:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29661, "src": "525:4:17" }, "referencedDeclaration": 29661, "src": "525:4:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Call_$29661_storage_ptr", "typeString": "struct IMulticall3.Call" } }, "id": 29685, "nodeType": "ArrayTypeName", "src": "525:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call_$29661_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Call[]" } }, "visibility": "internal" } ], "src": "524:23:17" }, "returnParameters": { "id": 29693, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29689, "mutability": "mutable", "name": "blockNumber", "nameLocation": "606:11:17", "nodeType": "VariableDeclaration", "scope": 29694, "src": "598:19:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29688, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "598:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 29692, "mutability": "mutable", "name": "returnData", "nameLocation": "634:10:17", "nodeType": "VariableDeclaration", "scope": 29694, "src": "619:25:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", "typeString": "bytes[]" }, "typeName": { "baseType": { "id": 29690, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "619:5:17", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "id": 29691, "nodeType": "ArrayTypeName", "src": "619:7:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", "typeString": "bytes[]" } }, "visibility": "internal" } ], "src": "597:48:17" }, "scope": 29816, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { "id": 29705, "nodeType": "FunctionDefinition", "src": "652:98:17", "nodes": [], "functionSelector": "82ad56cb", "implemented": false, "kind": "function", "modifiers": [], "name": "aggregate3", "nameLocation": "661:10:17", "parameters": { "id": 29699, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29698, "mutability": "mutable", "name": "calls", "nameLocation": "689:5:17", "nodeType": "VariableDeclaration", "scope": 29705, "src": "672:22:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call3_$29668_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IMulticall3.Call3[]" }, "typeName": { "baseType": { "id": 29696, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29695, "name": "Call3", "nameLocations": [ "672:5:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29668, "src": "672:5:17" }, "referencedDeclaration": 29668, "src": "672:5:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Call3_$29668_storage_ptr", "typeString": "struct IMulticall3.Call3" } }, "id": 29697, "nodeType": "ArrayTypeName", "src": "672:7:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call3_$29668_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Call3[]" } }, "visibility": "internal" } ], "src": "671:24:17" }, "returnParameters": { "id": 29704, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29703, "mutability": "mutable", "name": "returnData", "nameLocation": "738:10:17", "nodeType": "VariableDeclaration", "scope": 29705, "src": "722:26:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_memory_ptr_$dyn_memory_ptr", "typeString": "struct IMulticall3.Result[]" }, "typeName": { "baseType": { "id": 29701, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29700, "name": "Result", "nameLocations": [ "722:6:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29682, "src": "722:6:17" }, "referencedDeclaration": 29682, "src": "722:6:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Result_$29682_storage_ptr", "typeString": "struct IMulticall3.Result" } }, "id": 29702, "nodeType": "ArrayTypeName", "src": "722:8:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Result[]" } }, "visibility": "internal" } ], "src": "721:28:17" }, "scope": 29816, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { "id": 29716, "nodeType": "FunctionDefinition", "src": "756:108:17", "nodes": [], "functionSelector": "174dea71", "implemented": false, "kind": "function", "modifiers": [], "name": "aggregate3Value", "nameLocation": "765:15:17", "parameters": { "id": 29710, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29709, "mutability": "mutable", "name": "calls", "nameLocation": "803:5:17", "nodeType": "VariableDeclaration", "scope": 29716, "src": "781:27:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call3Value_$29677_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IMulticall3.Call3Value[]" }, "typeName": { "baseType": { "id": 29707, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29706, "name": "Call3Value", "nameLocations": [ "781:10:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29677, "src": "781:10:17" }, "referencedDeclaration": 29677, "src": "781:10:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Call3Value_$29677_storage_ptr", "typeString": "struct IMulticall3.Call3Value" } }, "id": 29708, "nodeType": "ArrayTypeName", "src": "781:12:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call3Value_$29677_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Call3Value[]" } }, "visibility": "internal" } ], "src": "780:29:17" }, "returnParameters": { "id": 29715, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29714, "mutability": "mutable", "name": "returnData", "nameLocation": "852:10:17", "nodeType": "VariableDeclaration", "scope": 29716, "src": "836:26:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_memory_ptr_$dyn_memory_ptr", "typeString": "struct IMulticall3.Result[]" }, "typeName": { "baseType": { "id": 29712, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29711, "name": "Result", "nameLocations": [ "836:6:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29682, "src": "836:6:17" }, "referencedDeclaration": 29682, "src": "836:6:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Result_$29682_storage_ptr", "typeString": "struct IMulticall3.Result" } }, "id": 29713, "nodeType": "ArrayTypeName", "src": "836:8:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Result[]" } }, "visibility": "internal" } ], "src": "835:28:17" }, "scope": 29816, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { "id": 29731, "nodeType": "FunctionDefinition", "src": "870:168:17", "nodes": [], "functionSelector": "c3077fa9", "implemented": false, "kind": "function", "modifiers": [], "name": "blockAndAggregate", "nameLocation": "879:17:17", "parameters": { "id": 29721, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29720, "mutability": "mutable", "name": "calls", "nameLocation": "913:5:17", "nodeType": "VariableDeclaration", "scope": 29731, "src": "897:21:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call_$29661_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IMulticall3.Call[]" }, "typeName": { "baseType": { "id": 29718, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29717, "name": "Call", "nameLocations": [ "897:4:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29661, "src": "897:4:17" }, "referencedDeclaration": 29661, "src": "897:4:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Call_$29661_storage_ptr", "typeString": "struct IMulticall3.Call" } }, "id": 29719, "nodeType": "ArrayTypeName", "src": "897:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call_$29661_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Call[]" } }, "visibility": "internal" } ], "src": "896:23:17" }, "returnParameters": { "id": 29730, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29723, "mutability": "mutable", "name": "blockNumber", "nameLocation": "978:11:17", "nodeType": "VariableDeclaration", "scope": 29731, "src": "970:19:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29722, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "970:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 29725, "mutability": "mutable", "name": "blockHash", "nameLocation": "999:9:17", "nodeType": "VariableDeclaration", "scope": 29731, "src": "991:17:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 29724, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "991:7:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 29729, "mutability": "mutable", "name": "returnData", "nameLocation": "1026:10:17", "nodeType": "VariableDeclaration", "scope": 29731, "src": "1010:26:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_memory_ptr_$dyn_memory_ptr", "typeString": "struct IMulticall3.Result[]" }, "typeName": { "baseType": { "id": 29727, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29726, "name": "Result", "nameLocations": [ "1010:6:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29682, "src": "1010:6:17" }, "referencedDeclaration": 29682, "src": "1010:6:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Result_$29682_storage_ptr", "typeString": "struct IMulticall3.Result" } }, "id": 29728, "nodeType": "ArrayTypeName", "src": "1010:8:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Result[]" } }, "visibility": "internal" } ], "src": "969:68:17" }, "scope": 29816, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { "id": 29736, "nodeType": "FunctionDefinition", "src": "1044:62:17", "nodes": [], "functionSelector": "3e64a696", "implemented": false, "kind": "function", "modifiers": [], "name": "getBasefee", "nameLocation": "1053:10:17", "parameters": { "id": 29732, "nodeType": "ParameterList", "parameters": [], "src": "1063:2:17" }, "returnParameters": { "id": 29735, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29734, "mutability": "mutable", "name": "basefee", "nameLocation": "1097:7:17", "nodeType": "VariableDeclaration", "scope": 29736, "src": "1089:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29733, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1089:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1088:17:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29743, "nodeType": "FunctionDefinition", "src": "1112:85:17", "nodes": [], "functionSelector": "ee82ac5e", "implemented": false, "kind": "function", "modifiers": [], "name": "getBlockHash", "nameLocation": "1121:12:17", "parameters": { "id": 29739, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29738, "mutability": "mutable", "name": "blockNumber", "nameLocation": "1142:11:17", "nodeType": "VariableDeclaration", "scope": 29743, "src": "1134:19:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29737, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1134:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1133:21:17" }, "returnParameters": { "id": 29742, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29741, "mutability": "mutable", "name": "blockHash", "nameLocation": "1186:9:17", "nodeType": "VariableDeclaration", "scope": 29743, "src": "1178:17:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 29740, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1178:7:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1177:19:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29748, "nodeType": "FunctionDefinition", "src": "1203:70:17", "nodes": [], "functionSelector": "42cbb15c", "implemented": false, "kind": "function", "modifiers": [], "name": "getBlockNumber", "nameLocation": "1212:14:17", "parameters": { "id": 29744, "nodeType": "ParameterList", "parameters": [], "src": "1226:2:17" }, "returnParameters": { "id": 29747, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29746, "mutability": "mutable", "name": "blockNumber", "nameLocation": "1260:11:17", "nodeType": "VariableDeclaration", "scope": 29748, "src": "1252:19:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29745, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1252:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1251:21:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29753, "nodeType": "FunctionDefinition", "src": "1279:62:17", "nodes": [], "functionSelector": "3408e470", "implemented": false, "kind": "function", "modifiers": [], "name": "getChainId", "nameLocation": "1288:10:17", "parameters": { "id": 29749, "nodeType": "ParameterList", "parameters": [], "src": "1298:2:17" }, "returnParameters": { "id": 29752, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29751, "mutability": "mutable", "name": "chainid", "nameLocation": "1332:7:17", "nodeType": "VariableDeclaration", "scope": 29753, "src": "1324:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29750, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1324:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1323:17:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29758, "nodeType": "FunctionDefinition", "src": "1347:76:17", "nodes": [], "functionSelector": "a8b0574e", "implemented": false, "kind": "function", "modifiers": [], "name": "getCurrentBlockCoinbase", "nameLocation": "1356:23:17", "parameters": { "id": 29754, "nodeType": "ParameterList", "parameters": [], "src": "1379:2:17" }, "returnParameters": { "id": 29757, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29756, "mutability": "mutable", "name": "coinbase", "nameLocation": "1413:8:17", "nodeType": "VariableDeclaration", "scope": 29758, "src": "1405:16:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 29755, "name": "address", "nodeType": "ElementaryTypeName", "src": "1405:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1404:18:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29763, "nodeType": "FunctionDefinition", "src": "1429:80:17", "nodes": [], "functionSelector": "72425d9d", "implemented": false, "kind": "function", "modifiers": [], "name": "getCurrentBlockDifficulty", "nameLocation": "1438:25:17", "parameters": { "id": 29759, "nodeType": "ParameterList", "parameters": [], "src": "1463:2:17" }, "returnParameters": { "id": 29762, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29761, "mutability": "mutable", "name": "difficulty", "nameLocation": "1497:10:17", "nodeType": "VariableDeclaration", "scope": 29763, "src": "1489:18:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29760, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1489:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1488:20:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29768, "nodeType": "FunctionDefinition", "src": "1515:76:17", "nodes": [], "functionSelector": "86d516e8", "implemented": false, "kind": "function", "modifiers": [], "name": "getCurrentBlockGasLimit", "nameLocation": "1524:23:17", "parameters": { "id": 29764, "nodeType": "ParameterList", "parameters": [], "src": "1547:2:17" }, "returnParameters": { "id": 29767, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29766, "mutability": "mutable", "name": "gaslimit", "nameLocation": "1581:8:17", "nodeType": "VariableDeclaration", "scope": 29768, "src": "1573:16:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29765, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1573:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1572:18:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29773, "nodeType": "FunctionDefinition", "src": "1597:78:17", "nodes": [], "functionSelector": "0f28c97d", "implemented": false, "kind": "function", "modifiers": [], "name": "getCurrentBlockTimestamp", "nameLocation": "1606:24:17", "parameters": { "id": 29769, "nodeType": "ParameterList", "parameters": [], "src": "1630:2:17" }, "returnParameters": { "id": 29772, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29771, "mutability": "mutable", "name": "timestamp", "nameLocation": "1664:9:17", "nodeType": "VariableDeclaration", "scope": 29773, "src": "1656:17:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29770, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1656:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1655:19:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29780, "nodeType": "FunctionDefinition", "src": "1681:77:17", "nodes": [], "functionSelector": "4d2301cc", "implemented": false, "kind": "function", "modifiers": [], "name": "getEthBalance", "nameLocation": "1690:13:17", "parameters": { "id": 29776, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29775, "mutability": "mutable", "name": "addr", "nameLocation": "1712:4:17", "nodeType": "VariableDeclaration", "scope": 29780, "src": "1704:12:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 29774, "name": "address", "nodeType": "ElementaryTypeName", "src": "1704:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "1703:14:17" }, "returnParameters": { "id": 29779, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29778, "mutability": "mutable", "name": "balance", "nameLocation": "1749:7:17", "nodeType": "VariableDeclaration", "scope": 29780, "src": "1741:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29777, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1741:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" } ], "src": "1740:17:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29785, "nodeType": "FunctionDefinition", "src": "1764:70:17", "nodes": [], "functionSelector": "27e86d6e", "implemented": false, "kind": "function", "modifiers": [], "name": "getLastBlockHash", "nameLocation": "1773:16:17", "parameters": { "id": 29781, "nodeType": "ParameterList", "parameters": [], "src": "1789:2:17" }, "returnParameters": { "id": 29784, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29783, "mutability": "mutable", "name": "blockHash", "nameLocation": "1823:9:17", "nodeType": "VariableDeclaration", "scope": 29785, "src": "1815:17:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 29782, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1815:7:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "1814:19:17" }, "scope": 29816, "stateMutability": "view", "virtual": false, "visibility": "external" }, { "id": 29798, "nodeType": "FunctionDefinition", "src": "1840:144:17", "nodes": [], "functionSelector": "bce38bd7", "implemented": false, "kind": "function", "modifiers": [], "name": "tryAggregate", "nameLocation": "1849:12:17", "parameters": { "id": 29792, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29787, "mutability": "mutable", "name": "requireSuccess", "nameLocation": "1867:14:17", "nodeType": "VariableDeclaration", "scope": 29798, "src": "1862:19:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 29786, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1862:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 29791, "mutability": "mutable", "name": "calls", "nameLocation": "1899:5:17", "nodeType": "VariableDeclaration", "scope": 29798, "src": "1883:21:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call_$29661_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IMulticall3.Call[]" }, "typeName": { "baseType": { "id": 29789, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29788, "name": "Call", "nameLocations": [ "1883:4:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29661, "src": "1883:4:17" }, "referencedDeclaration": 29661, "src": "1883:4:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Call_$29661_storage_ptr", "typeString": "struct IMulticall3.Call" } }, "id": 29790, "nodeType": "ArrayTypeName", "src": "1883:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call_$29661_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Call[]" } }, "visibility": "internal" } ], "src": "1861:44:17" }, "returnParameters": { "id": 29797, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29796, "mutability": "mutable", "name": "returnData", "nameLocation": "1972:10:17", "nodeType": "VariableDeclaration", "scope": 29798, "src": "1956:26:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_memory_ptr_$dyn_memory_ptr", "typeString": "struct IMulticall3.Result[]" }, "typeName": { "baseType": { "id": 29794, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29793, "name": "Result", "nameLocations": [ "1956:6:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29682, "src": "1956:6:17" }, "referencedDeclaration": 29682, "src": "1956:6:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Result_$29682_storage_ptr", "typeString": "struct IMulticall3.Result" } }, "id": 29795, "nodeType": "ArrayTypeName", "src": "1956:8:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Result[]" } }, "visibility": "internal" } ], "src": "1955:28:17" }, "scope": 29816, "stateMutability": "payable", "virtual": false, "visibility": "external" }, { "id": 29815, "nodeType": "FunctionDefinition", "src": "1990:192:17", "nodes": [], "functionSelector": "399542e9", "implemented": false, "kind": "function", "modifiers": [], "name": "tryBlockAndAggregate", "nameLocation": "1999:20:17", "parameters": { "id": 29805, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29800, "mutability": "mutable", "name": "requireSuccess", "nameLocation": "2025:14:17", "nodeType": "VariableDeclaration", "scope": 29815, "src": "2020:19:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "typeName": { "id": 29799, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2020:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "visibility": "internal" }, { "constant": false, "id": 29804, "mutability": "mutable", "name": "calls", "nameLocation": "2057:5:17", "nodeType": "VariableDeclaration", "scope": 29815, "src": "2041:21:17", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call_$29661_calldata_ptr_$dyn_calldata_ptr", "typeString": "struct IMulticall3.Call[]" }, "typeName": { "baseType": { "id": 29802, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29801, "name": "Call", "nameLocations": [ "2041:4:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29661, "src": "2041:4:17" }, "referencedDeclaration": 29661, "src": "2041:4:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Call_$29661_storage_ptr", "typeString": "struct IMulticall3.Call" } }, "id": 29803, "nodeType": "ArrayTypeName", "src": "2041:6:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Call_$29661_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Call[]" } }, "visibility": "internal" } ], "src": "2019:44:17" }, "returnParameters": { "id": 29814, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 29807, "mutability": "mutable", "name": "blockNumber", "nameLocation": "2122:11:17", "nodeType": "VariableDeclaration", "scope": 29815, "src": "2114:19:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 29806, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2114:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 29809, "mutability": "mutable", "name": "blockHash", "nameLocation": "2143:9:17", "nodeType": "VariableDeclaration", "scope": 29815, "src": "2135:17:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 29808, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2135:7:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 29813, "mutability": "mutable", "name": "returnData", "nameLocation": "2170:10:17", "nodeType": "VariableDeclaration", "scope": 29815, "src": "2154:26:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_memory_ptr_$dyn_memory_ptr", "typeString": "struct IMulticall3.Result[]" }, "typeName": { "baseType": { "id": 29811, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 29810, "name": "Result", "nameLocations": [ "2154:6:17" ], "nodeType": "IdentifierPath", "referencedDeclaration": 29682, "src": "2154:6:17" }, "referencedDeclaration": 29682, "src": "2154:6:17", "typeDescriptions": { "typeIdentifier": "t_struct$_Result_$29682_storage_ptr", "typeString": "struct IMulticall3.Result" } }, "id": 29812, "nodeType": "ArrayTypeName", "src": "2154:8:17", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Result_$29682_storage_$dyn_storage_ptr", "typeString": "struct IMulticall3.Result[]" } }, "visibility": "internal" } ], "src": "2113:68:17" }, "scope": 29816, "stateMutability": "payable", "virtual": false, "visibility": "external" } ], "abstract": false, "baseContracts": [], "canonicalName": "IMulticall3", "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "linearizedBaseContracts": [ 29816 ], "name": "IMulticall3", "nameLocation": "110:11:17", "scope": 29817, "usedErrors": [], "usedEvents": [] } ], "license": "MIT" }, "id": 17 }