Expand description
Generated by the following Solidity interface…
interface Multicall3 {
struct Call {
address target;
bytes callData;
}
struct Call3 {
address target;
bool allowFailure;
bytes callData;
}
struct Call3Value {
address target;
bool allowFailure;
uint256 value;
bytes callData;
}
struct Result {
bool success;
bytes returnData;
}
function aggregate(Call[] memory calls) external payable returns (uint256 blockNumber, bytes[] memory returnData);
function aggregate3(Call3[] memory calls) external payable returns (Result[] memory returnData);
function aggregate3Value(Call3Value[] memory calls) external payable returns (Result[] memory returnData);
function blockAndAggregate(Call[] memory calls) external payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);
function getBasefee() external view returns (uint256 basefee);
function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);
function getBlockNumber() external view returns (uint256 blockNumber);
function getChainId() external view returns (uint256 chainid);
function getCurrentBlockCoinbase() external view returns (address coinbase);
function getCurrentBlockDifficulty() external view returns (uint256 difficulty);
function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);
function getCurrentBlockTimestamp() external view returns (uint256 timestamp);
function getEthBalance(address addr) external view returns (uint256 balance);
function getLastBlockHash() external view returns (bytes32 blockHash);
function tryAggregate(bool requireSuccess, Call[] memory calls) external payable returns (Result[] memory returnData);
function tryBlockAndAggregate(bool requireSuccess, Call[] memory calls) external payable returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);
}…which was generated by the following JSON ABI:
[
{
"type": "function",
"name": "aggregate",
"inputs": [
{
"name": "calls",
"type": "tuple[]",
"internalType": "struct Multicall3.Call[]",
"components": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "callData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"outputs": [
{
"name": "blockNumber",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "returnData",
"type": "bytes[]",
"internalType": "bytes[]"
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "aggregate3",
"inputs": [
{
"name": "calls",
"type": "tuple[]",
"internalType": "struct Multicall3.Call3[]",
"components": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "allowFailure",
"type": "bool",
"internalType": "bool"
},
{
"name": "callData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"outputs": [
{
"name": "returnData",
"type": "tuple[]",
"internalType": "struct Multicall3.Result[]",
"components": [
{
"name": "success",
"type": "bool",
"internalType": "bool"
},
{
"name": "returnData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "aggregate3Value",
"inputs": [
{
"name": "calls",
"type": "tuple[]",
"internalType": "struct Multicall3.Call3Value[]",
"components": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "allowFailure",
"type": "bool",
"internalType": "bool"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "callData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"outputs": [
{
"name": "returnData",
"type": "tuple[]",
"internalType": "struct Multicall3.Result[]",
"components": [
{
"name": "success",
"type": "bool",
"internalType": "bool"
},
{
"name": "returnData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "blockAndAggregate",
"inputs": [
{
"name": "calls",
"type": "tuple[]",
"internalType": "struct Multicall3.Call[]",
"components": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "callData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"outputs": [
{
"name": "blockNumber",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "blockHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "returnData",
"type": "tuple[]",
"internalType": "struct Multicall3.Result[]",
"components": [
{
"name": "success",
"type": "bool",
"internalType": "bool"
},
{
"name": "returnData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "getBasefee",
"inputs": [],
"outputs": [
{
"name": "basefee",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getBlockHash",
"inputs": [
{
"name": "blockNumber",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "blockHash",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getBlockNumber",
"inputs": [],
"outputs": [
{
"name": "blockNumber",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getChainId",
"inputs": [],
"outputs": [
{
"name": "chainid",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getCurrentBlockCoinbase",
"inputs": [],
"outputs": [
{
"name": "coinbase",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getCurrentBlockDifficulty",
"inputs": [],
"outputs": [
{
"name": "difficulty",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getCurrentBlockGasLimit",
"inputs": [],
"outputs": [
{
"name": "gaslimit",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getCurrentBlockTimestamp",
"inputs": [],
"outputs": [
{
"name": "timestamp",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getEthBalance",
"inputs": [
{
"name": "addr",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getLastBlockHash",
"inputs": [],
"outputs": [
{
"name": "blockHash",
"type": "bytes32",
"internalType": "bytes32"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "tryAggregate",
"inputs": [
{
"name": "requireSuccess",
"type": "bool",
"internalType": "bool"
},
{
"name": "calls",
"type": "tuple[]",
"internalType": "struct Multicall3.Call[]",
"components": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "callData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"outputs": [
{
"name": "returnData",
"type": "tuple[]",
"internalType": "struct Multicall3.Result[]",
"components": [
{
"name": "success",
"type": "bool",
"internalType": "bool"
},
{
"name": "returnData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"stateMutability": "payable"
},
{
"type": "function",
"name": "tryBlockAndAggregate",
"inputs": [
{
"name": "requireSuccess",
"type": "bool",
"internalType": "bool"
},
{
"name": "calls",
"type": "tuple[]",
"internalType": "struct Multicall3.Call[]",
"components": [
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "callData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"outputs": [
{
"name": "blockNumber",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "blockHash",
"type": "bytes32",
"internalType": "bytes32"
},
{
"name": "returnData",
"type": "tuple[]",
"internalType": "struct Multicall3.Result[]",
"components": [
{
"name": "success",
"type": "bool",
"internalType": "bool"
},
{
"name": "returnData",
"type": "bytes",
"internalType": "bytes"
}
]
}
],
"stateMutability": "payable"
}
]Structs§
- Call
- Call3
- Call3
Value - Multicall3
Instance - A
Multicall3instance. - Result
- aggregate3
Call - Function with signature
aggregate3((address,bool,bytes)[])and selector0x82ad56cb. - aggregate3
Return - Container type for the return parameters of the
aggregate3((address,bool,bytes)[])function. - aggregate3
Value Call - Function with signature
aggregate3Value((address,bool,uint256,bytes)[])and selector0x174dea71. - aggregate3
Value Return - Container type for the return parameters of the
aggregate3Value((address,bool,uint256,bytes)[])function. - aggregate
Call - Function with signature
aggregate((address,bytes)[])and selector0x252dba42. - aggregate
Return - Container type for the return parameters of the
aggregate((address,bytes)[])function. - block
AndAggregate Call - Function with signature
blockAndAggregate((address,bytes)[])and selector0xc3077fa9. - block
AndAggregate Return - Container type for the return parameters of the
blockAndAggregate((address,bytes)[])function. - getBasefee
Call - Function with signature
getBasefee()and selector0x3e64a696. - getBasefee
Return - Container type for the return parameters of the
getBasefee()function. - getBlock
Hash Call - Function with signature
getBlockHash(uint256)and selector0xee82ac5e. - getBlock
Hash Return - Container type for the return parameters of the
getBlockHash(uint256)function. - getBlock
Number Call - Function with signature
getBlockNumber()and selector0x42cbb15c. - getBlock
Number Return - Container type for the return parameters of the
getBlockNumber()function. - getChain
IdCall - Function with signature
getChainId()and selector0x3408e470. - getChain
IdReturn - Container type for the return parameters of the
getChainId()function. - getCurrent
Block Coinbase Call - Function with signature
getCurrentBlockCoinbase()and selector0xa8b0574e. - getCurrent
Block Coinbase Return - Container type for the return parameters of the
getCurrentBlockCoinbase()function. - getCurrent
Block Difficulty Call - Function with signature
getCurrentBlockDifficulty()and selector0x72425d9d. - getCurrent
Block Difficulty Return - Container type for the return parameters of the
getCurrentBlockDifficulty()function. - getCurrent
Block GasLimit Call - Function with signature
getCurrentBlockGasLimit()and selector0x86d516e8. - getCurrent
Block GasLimit Return - Container type for the return parameters of the
getCurrentBlockGasLimit()function. - getCurrent
Block Timestamp Call - Function with signature
getCurrentBlockTimestamp()and selector0x0f28c97d. - getCurrent
Block Timestamp Return - Container type for the return parameters of the
getCurrentBlockTimestamp()function. - getEth
Balance Call - Function with signature
getEthBalance(address)and selector0x4d2301cc. - getEth
Balance Return - Container type for the return parameters of the
getEthBalance(address)function. - getLast
Block Hash Call - Function with signature
getLastBlockHash()and selector0x27e86d6e. - getLast
Block Hash Return - Container type for the return parameters of the
getLastBlockHash()function. - tryAggregate
Call - Function with signature
tryAggregate(bool,(address,bytes)[])and selector0xbce38bd7. - tryAggregate
Return - Container type for the return parameters of the
tryAggregate(bool,(address,bytes)[])function. - tryBlock
AndAggregate Call - Function with signature
tryBlockAndAggregate(bool,(address,bytes)[])and selector0x399542e9. - tryBlock
AndAggregate Return - Container type for the return parameters of the
tryBlockAndAggregate(bool,(address,bytes)[])function.
Enums§
- Multicall3
Calls - Container for all the
Multicall3function calls.
Statics§
- BYTECODE
- The creation / init bytecode of the contract.
- DEPLOYED_
BYTECODE - The runtime bytecode of the contract, as deployed on the network.
Functions§
- deploy
- Deploys this contract using the given
providerand constructor arguments, if any. - deploy_
builder - Creates a
RawCallBuilderfor deploying this contract using the givenproviderand constructor arguments, if any. - new
- Creates a new wrapper around an on-chain
Multicall3contract instance.