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;
}