Skip to main content

IMulticall3

Git Source

Functions​

aggregate​

function aggregate(Call[] calldata calls) external payable returns (uint256 blockNumber, bytes[] memory returnData);

aggregate3​

function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData);

aggregate3Value​

function aggregate3Value(Call3Value[] calldata calls) external payable returns (Result[] memory returnData);

blockAndAggregate​

function blockAndAggregate(Call[] calldata calls)
external
payable
returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);

getBasefee​

function getBasefee() external view returns (uint256 basefee);

getBlockHash​

function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash);

getBlockNumber​

function getBlockNumber() external view returns (uint256 blockNumber);

getChainId​

function getChainId() external view returns (uint256 chainid);

getCurrentBlockCoinbase​

function getCurrentBlockCoinbase() external view returns (address coinbase);

getCurrentBlockDifficulty​

function getCurrentBlockDifficulty() external view returns (uint256 difficulty);

getCurrentBlockGasLimit​

function getCurrentBlockGasLimit() external view returns (uint256 gaslimit);

getCurrentBlockTimestamp​

function getCurrentBlockTimestamp() external view returns (uint256 timestamp);

getEthBalance​

function getEthBalance(address addr) external view returns (uint256 balance);

getLastBlockHash​

function getLastBlockHash() external view returns (bytes32 blockHash);

tryAggregate​

function tryAggregate(bool requireSuccess, Call[] calldata calls)
external
payable
returns (Result[] memory returnData);

tryBlockAndAggregate​

function tryBlockAndAggregate(bool requireSuccess, Call[] calldata calls)
external
payable
returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData);

Structs​

Call​

struct Call {
address target;
bytes callData;
}

Call3​

struct Call3 {
address target;
bool allowFailure;
bytes callData;
}

Call3Value​

struct Call3Value {
address target;
bool allowFailure;
uint256 value;
bytes callData;
}

Result​

struct Result {
bool success;
bytes returnData;
}