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
0x608060405234801561001057600080fd5b506105c2806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100e757806386d516e8146100ef578063a8b0574e146100f7578063ee82ac5e1461010c57610088565b80630f28c97d1461008d578063252dba42146100ab57806327e86d6e146100cc5780634d2301cc146100d4575b600080fd5b61009561011f565b6040516100a2919061048e565b60405180910390f35b6100be6100b9366004610359565b610123565b6040516100a2929190610497565b610095610253565b6100956100e2366004610337565b61027a565b610095610294565b610095610298565b6100ff61029c565b6040516100a2919061046d565b61009561011a366004610439565b6102a0565b4290565b8051439060609067ffffffffffffffff8111801561014057600080fd5b5060405190808252806020026020018201604052801561017457816020015b606081526020019060019003908161015f5790505b50905060005b835181101561024d576000606085838151811061019357fe5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106101c157fe5b6020026020010151602001516040516101da9190610451565b6000604051808303816000865af19150503d8060008114610217576040519150601f19603f3d011682016040523d82523d6000602084013e61021c565b606091505b50915091508161022b57600080fd5b8084848151811061023857fe5b6020908102919091010152505060010161017a565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43014090565b73ffffffffffffffffffffffffffffffffffffffff163190565b4490565b4590565b4190565b4090565b803573ffffffffffffffffffffffffffffffffffffffff811681146102c857600080fd5b92915050565b600082601f8301126102de578081fd5b813567ffffffffffffffff8111156102f4578182fd5b6103076020601f19601f84011601610535565b915080825283602082850101111561031e57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215610348578081fd5b61035283836102a4565b9392505050565b6000602080838503121561036b578182fd5b823567ffffffffffffffff80821115610382578384fd5b818501915085601f830112610395578384fd5b8135818111156103a3578485fd5b6103b08485830201610535565b81815284810190848601875b8481101561042a5781358701604080601f19838f030112156103dc578a8bfd5b6103e581610535565b6103f18e8c85016102a4565b8152908201359088821115610404578b8cfd5b6104128e8c848601016102ce565b818c01528652505092870192908701906001016103bc565b50909998505050505050505050565b60006020828403121561044a578081fd5b5035919050565b6000825161046381846020870161055c565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b600060408201848352602060408185015281855180845260608601915060608382028701019350828701855b82811015610527577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184528151805180885261050881888a0189850161055c565b601f01601f1916969096018501955092840192908401906001016104c3565b509398975050505050505050565b60405181810167ffffffffffffffff8111828210171561055457600080fd5b604052919050565b60005b8381101561057757818101518382015260200161055f565b83811115610586576000848401525b5050505056fea26469706673582212200af0ef6d291f39e878cd16346e070410cbad579c86f7d014c7e17197507e89e164736f6c634300060c0033
Deployed ByteCode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100e757806386d516e8146100ef578063a8b0574e146100f7578063ee82ac5e1461010c57610088565b80630f28c97d1461008d578063252dba42146100ab57806327e86d6e146100cc5780634d2301cc146100d4575b600080fd5b61009561011f565b6040516100a2919061048e565b60405180910390f35b6100be6100b9366004610359565b610123565b6040516100a2929190610497565b610095610253565b6100956100e2366004610337565b61027a565b610095610294565b610095610298565b6100ff61029c565b6040516100a2919061046d565b61009561011a366004610439565b6102a0565b4290565b8051439060609067ffffffffffffffff8111801561014057600080fd5b5060405190808252806020026020018201604052801561017457816020015b606081526020019060019003908161015f5790505b50905060005b835181101561024d576000606085838151811061019357fe5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106101c157fe5b6020026020010151602001516040516101da9190610451565b6000604051808303816000865af19150503d8060008114610217576040519150601f19603f3d011682016040523d82523d6000602084013e61021c565b606091505b50915091508161022b57600080fd5b8084848151811061023857fe5b6020908102919091010152505060010161017a565b50915091565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43014090565b73ffffffffffffffffffffffffffffffffffffffff163190565b4490565b4590565b4190565b4090565b803573ffffffffffffffffffffffffffffffffffffffff811681146102c857600080fd5b92915050565b600082601f8301126102de578081fd5b813567ffffffffffffffff8111156102f4578182fd5b6103076020601f19601f84011601610535565b915080825283602082850101111561031e57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215610348578081fd5b61035283836102a4565b9392505050565b6000602080838503121561036b578182fd5b823567ffffffffffffffff80821115610382578384fd5b818501915085601f830112610395578384fd5b8135818111156103a3578485fd5b6103b08485830201610535565b81815284810190848601875b8481101561042a5781358701604080601f19838f030112156103dc578a8bfd5b6103e581610535565b6103f18e8c85016102a4565b8152908201359088821115610404578b8cfd5b6104128e8c848601016102ce565b818c01528652505092870192908701906001016103bc565b50909998505050505050505050565b60006020828403121561044a578081fd5b5035919050565b6000825161046381846020870161055c565b9190910192915050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b600060408201848352602060408185015281855180845260608601915060608382028701019350828701855b82811015610527577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08887030184528151805180885261050881888a0189850161055c565b601f01601f1916969096018501955092840192908401906001016104c3565b509398975050505050505050565b60405181810167ffffffffffffffff8111828210171561055457600080fd5b604052919050565b60005b8381101561057757818101518382015260200161055f565b83811115610586576000848401525b5050505056fea26469706673582212200af0ef6d291f39e878cd16346e070410cbad579c86f7d014c7e17197507e89e164736f6c634300060c0033