Contract Address Details

0x75F59534dd892c1f8a7B172D639FA854D529ada3

Contract Name
Multicall
Creator
0x4a27c0–5f6ee3 at 0x66c241–4e30f1
Balance
0 CELO
Tokens
Fetching tokens...
Transactions
Transfers
Gas Used
Last Balance Update
10051812
This contract has been partially verified via Sourcify. View contract in Sourcify repository
Contract name:
Multicall




Optimization enabled
true
Compiler version
v0.6.12+commit.27d51765




Optimization runs
5000
EVM Version
istanbul




Verified at
2021-08-19 20:50:12.692394Z

Contract source code

// SPDX-License-Identifier: MIT
pragma solidity >=0.5.0;
pragma experimental ABIEncoderV2;
/// @title Multicall - Aggregate results from multiple read-only function calls
/// @author Michael Elliot <[email protected]>
/// @author Joshua Levine <[email protected]>
/// @author Nick Johnson <[email protected]>
contract Multicall {
struct Call {
address target;
bytes callData;
}
function aggregate(Call[] memory calls) public returns (uint256 blockNumber, bytes[] memory returnData) {
blockNumber = block.number;
returnData = new bytes[](calls.length);
for(uint256 i = 0; i < calls.length; i++) {
(bool success, bytes memory ret) = calls[i].target.call(calls[i].callData);
require(success);
returnData[i] = ret;
}
}
// Helper functions
function getEthBalance(address addr) public view returns (uint256 balance) {
balance = addr.balance;
}
function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) {
blockHash = blockhash(blockNumber);
}
function getLastBlockHash() public view returns (bytes32 blockHash) {
blockHash = blockhash(block.number - 1);
}
function getCurrentBlockTimestamp() public view returns (uint256 timestamp) {
timestamp = block.timestamp;
}
function getCurrentBlockDifficulty() public view returns (uint256 difficulty) {
difficulty = block.difficulty;
}
function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) {
gaslimit = block.gaslimit;
}
function getCurrentBlockCoinbase() public view returns (address coinbase) {
coinbase = block.coinbase;
}
}

Contract ABI

[{"type":"function","stateMutability":"nonpayable","outputs":[{"type":"uint256","name":"blockNumber","internalType":"uint256"},{"type":"bytes[]","name":"returnData","internalType":"bytes[]"}],"name":"aggregate","inputs":[{"type":"tuple[]","name":"calls","internalType":"struct Multicall.Call[]","components":[{"type":"address","name":"target","internalType":"address"},{"type":"bytes","name":"callData","internalType":"bytes"}]}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bytes32","name":"blockHash","internalType":"bytes32"}],"name":"getBlockHash","inputs":[{"type":"uint256","name":"blockNumber","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"coinbase","internalType":"address"}],"name":"getCurrentBlockCoinbase","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"difficulty","internalType":"uint256"}],"name":"getCurrentBlockDifficulty","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"gaslimit","internalType":"uint256"}],"name":"getCurrentBlockGasLimit","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"timestamp","internalType":"uint256"}],"name":"getCurrentBlockTimestamp","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"balance","internalType":"uint256"}],"name":"getEthBalance","inputs":[{"type":"address","name":"addr","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"bytes32","name":"blockHash","internalType":"bytes32"}],"name":"getLastBlockHash","inputs":[]}]
            

Deployed ByteCode

Verify & Publish
0x608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100e757806386d516e8146100ef578063a8b0574e146100f7578063ee82ac5e1461010c57610088565b80630f28c97d1461008d578063252dba42146100ab57806327e86d6e146100cc5780634d2301cc146100d4575b600080fd5b61009561011f565b6040516100a2919061048e565b60405180910390f35b6100be6100b9366004610359565b610123565b6040516100a2929190610497565b610095610253565b6100956100e2366004610337565b61027a565b610095610294565b610095610298565b6100ff61029c565b6040516100a2919061046d565b61009561011a366004610439565b6102a0565b4290565b8051439060609067ffffffffffffffff8111801561014057600080fd5b5060405190808252806020026020018201604052801561017457816020015b606081526020019060019003908161015f5790505b50905060005b835181101561024d576000606085838151811061019357fe5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106101c157fe5b6020026020010151602001516040516101da9190610451565b6000604051808303816000865af19150503d8060008114610217576040519150601f19603f3d011682016040523d82523d6000602084013e61021c565b606091505b50915091508161022b57600080fd5b8084848151811061023857fe5b6020908102919091010152505060010161017a565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43014090565b73ffffffffffffffffffffffffffffffffffffffff163190565b4490565b4590565b4190565b4090565b803573ffffffffffffffffffffffffffffffffffffffff811681146102c857600080fd5b92915050565b600082601f8301126102de578081fd5b813567ffffffffffffffff8111156102f4578182fd5b6103076020601f19601f84011601610535565b915080825283602082850101111561031e57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215610348578081fd5b61035283836102a4565b9392505050565b6000602080838503121561036b578182fd5b823567ffffffffffffffff80821115610382578384fd5b818501915085601f830112610395578384fd5b8135818111156103a3578485fd5b6103b08485830201610535565b81815284810190848601875b8481101561042a5781358701604080601f19838f030112156103dc578a8bfd5b6103e581610535565b6103f18e8c85016102a4565b8152908201359088821115610404578b8cfd5b6104128e8c848601016102ce565b818c01528652505092870192908701906001016103bc565b50909998505050505050505050565b60006020828403121561044a578081fd5b5035919050565b6000825161046381846020870161055c565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b600060408201848352602060408185015281855180845260608601915060608382028701019350828701855b82811015610527577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184528151805180885261050881888a0189850161055c565b601f01601f1916969096018501955092840192908401906001016104c3565b509398975050505050505050565b60405181810167ffffffffffffffff8111828210171561055457600080fd5b604052919050565b60005b8381101561057757818101518382015260200161055f565b83811115610586576000848401525b5050505056fea26469706673582212200af0ef6d291f39e878cd16346e070410cbad579c86f7d014c7e17197507e89e164736f6c634300060c0033