Address Details
contract

0x75F59534dd892c1f8a7B172D639FA854D529ada3

Contract Name
Multicall
Creator
0x4a27c0–5f6ee3 at 0x66c241–4e30f1
Balance
0 CELO ( )
Locked CELO Balance
0.00 CELO
Voting CELO Balance
0.00 CELO
Pending Unlocked Gold
0.00 CELO
Tokens
Fetching tokens...
Transactions
2 Transactions
Transfers
0 Transfers
Gas Used
53,860
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-19T20: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 <mike@makerdao.com>
/// @author Joshua Levine <joshua@makerdao.com>
/// @author Nick Johnson <arachnid@notdot.net>

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":[]}]
              

Contract Creation Code

Verify & Publish
0x608060405234801561001057600080fd5b506105c2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100e757806386d516e8146100ef578063a8b0574e146100f7578063ee82ac5e1461010c57610088565b80630f28c97d1461008d578063252dba42146100ab57806327e86d6e146100cc5780634d2301cc146100d4575b600080fd5b61009561011f565b6040516100a2919061048e565b60405180910390f35b6100be6100b9366004610359565b610123565b6040516100a2929190610497565b610095610253565b6100956100e2366004610337565b61027a565b610095610294565b610095610298565b6100ff61029c565b6040516100a2919061046d565b61009561011a366004610439565b6102a0565b4290565b8051439060609067ffffffffffffffff8111801561014057600080fd5b5060405190808252806020026020018201604052801561017457816020015b606081526020019060019003908161015f5790505b50905060005b835181101561024d576000606085838151811061019357fe5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106101c157fe5b6020026020010151602001516040516101da9190610451565b6000604051808303816000865af19150503d8060008114610217576040519150601f19603f3d011682016040523d82523d6000602084013e61021c565b606091505b50915091508161022b57600080fd5b8084848151811061023857fe5b6020908102919091010152505060010161017a565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43014090565b73ffffffffffffffffffffffffffffffffffffffff163190565b4490565b4590565b4190565b4090565b803573ffffffffffffffffffffffffffffffffffffffff811681146102c857600080fd5b92915050565b600082601f8301126102de578081fd5b813567ffffffffffffffff8111156102f4578182fd5b6103076020601f19601f84011601610535565b915080825283602082850101111561031e57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215610348578081fd5b61035283836102a4565b9392505050565b6000602080838503121561036b578182fd5b823567ffffffffffffffff80821115610382578384fd5b818501915085601f830112610395578384fd5b8135818111156103a3578485fd5b6103b08485830201610535565b81815284810190848601875b8481101561042a5781358701604080601f19838f030112156103dc578a8bfd5b6103e581610535565b6103f18e8c85016102a4565b8152908201359088821115610404578b8cfd5b6104128e8c848601016102ce565b818c01528652505092870192908701906001016103bc565b50909998505050505050505050565b60006020828403121561044a578081fd5b5035919050565b6000825161046381846020870161055c565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b600060408201848352602060408185015281855180845260608601915060608382028701019350828701855b82811015610527577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184528151805180885261050881888a0189850161055c565b601f01601f1916969096018501955092840192908401906001016104c3565b509398975050505050505050565b60405181810167ffffffffffffffff8111828210171561055457600080fd5b604052919050565b60005b8381101561057757818101518382015260200161055f565b83811115610586576000848401525b5050505056fea26469706673582212200af0ef6d291f39e878cd16346e070410cbad579c86f7d014c7e17197507e89e164736f6c634300060c0033

Deployed ByteCode

0x608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100e757806386d516e8146100ef578063a8b0574e146100f7578063ee82ac5e1461010c57610088565b80630f28c97d1461008d578063252dba42146100ab57806327e86d6e146100cc5780634d2301cc146100d4575b600080fd5b61009561011f565b6040516100a2919061048e565b60405180910390f35b6100be6100b9366004610359565b610123565b6040516100a2929190610497565b610095610253565b6100956100e2366004610337565b61027a565b610095610294565b610095610298565b6100ff61029c565b6040516100a2919061046d565b61009561011a366004610439565b6102a0565b4290565b8051439060609067ffffffffffffffff8111801561014057600080fd5b5060405190808252806020026020018201604052801561017457816020015b606081526020019060019003908161015f5790505b50905060005b835181101561024d576000606085838151811061019357fe5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106101c157fe5b6020026020010151602001516040516101da9190610451565b6000604051808303816000865af19150503d8060008114610217576040519150601f19603f3d011682016040523d82523d6000602084013e61021c565b606091505b50915091508161022b57600080fd5b8084848151811061023857fe5b6020908102919091010152505060010161017a565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43014090565b73ffffffffffffffffffffffffffffffffffffffff163190565b4490565b4590565b4190565b4090565b803573ffffffffffffffffffffffffffffffffffffffff811681146102c857600080fd5b92915050565b600082601f8301126102de578081fd5b813567ffffffffffffffff8111156102f4578182fd5b6103076020601f19601f84011601610535565b915080825283602082850101111561031e57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215610348578081fd5b61035283836102a4565b9392505050565b6000602080838503121561036b578182fd5b823567ffffffffffffffff80821115610382578384fd5b818501915085601f830112610395578384fd5b8135818111156103a3578485fd5b6103b08485830201610535565b81815284810190848601875b8481101561042a5781358701604080601f19838f030112156103dc578a8bfd5b6103e581610535565b6103f18e8c85016102a4565b8152908201359088821115610404578b8cfd5b6104128e8c848601016102ce565b818c01528652505092870192908701906001016103bc565b50909998505050505050505050565b60006020828403121561044a578081fd5b5035919050565b6000825161046381846020870161055c565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b600060408201848352602060408185015281855180845260608601915060608382028701019350828701855b82811015610527577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184528151805180885261050881888a0189850161055c565b601f01601f1916969096018501955092840192908401906001016104c3565b509398975050505050505050565b60405181810167ffffffffffffffff8111828210171561055457600080fd5b604052919050565b60005b8381101561057757818101518382015260200161055f565b83811115610586576000848401525b5050505056fea26469706673582212200af0ef6d291f39e878cd16346e070410cbad579c86f7d014c7e17197507e89e164736f6c634300060c0033