Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
Multicall
Compiler Version
v0.8.23+commit.f704f362
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.23; ////// /nix/store/im7ll7dx8gsw2da9k5xwbf8pbjfli2hc-multicall-df1e59d/src/Multicall.sol /* 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; } }
{ "evmVersion": "istanbul", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 50 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Multicall.Call[]","name":"calls","type":"tuple[]"}],"name":"aggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes[]","name":"returnData","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"name":"getBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockCoinbase","outputs":[{"internalType":"address","name":"coinbase","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockDifficulty","outputs":[{"internalType":"uint256","name":"difficulty","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockGasLimit","outputs":[{"internalType":"uint256","name":"gaslimit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getEthBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506105a0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100785760003560e01c80630f28c97d1461007d578063252dba421461009257806327e86d6e146100b35780634d2301cc146100bb57806372425d9d146100d657806386d516e8146100dc578063a8b0574e146100e2578063ee82ac5e146100f0575b600080fd5b425b6040519081526020015b60405180910390f35b6100a56100a03660046102d3565b610102565b604051610089929190610454565b61007f610236565b61007f6100c93660046104d6565b6001600160a01b03163190565b4461007f565b4561007f565b604051418152602001610089565b61007f6100fe3660046104f8565b4090565b805143906060906001600160401b0381111561012057610120610249565b60405190808252806020026020018201604052801561015357816020015b606081526020019060019003908161013e5790505b50905060005b83518110156102305760008085838151811061017757610177610511565b6020026020010151600001516001600160a01b031686848151811061019e5761019e610511565b6020026020010151602001516040516101b79190610527565b6000604051808303816000865af19150503d80600081146101f4576040519150601f19603f3d011682016040523d82523d6000602084013e6101f9565b606091505b50915091508161020857600080fd5b8084848151811061021b5761021b610511565b60209081029190910101525050600101610159565b50915091565b6000610243600143610543565b40905090565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561028157610281610249565b60405290565b604051601f8201601f191681016001600160401b03811182821017156102af576102af610249565b604052919050565b80356001600160a01b03811681146102ce57600080fd5b919050565b600060208083850312156102e657600080fd5b82356001600160401b03808211156102fd57600080fd5b818501915085601f83011261031157600080fd5b81358181111561032357610323610249565b8060051b610332858201610287565b918252838101850191858101908984111561034c57600080fd5b86860192505b838310156104235782358581111561036a5760008081fd5b86016040601f19828d0381018213156103835760008081fd5b61038b61025f565b6103968b85016102b7565b815282840135898111156103aa5760008081fd5b8085019450508d603f8501126103c05760008081fd5b8a840135898111156103d4576103d4610249565b6103e48c84601f84011601610287565b92508083528e848287010111156103fb5760008081fd5b808486018d85013760009083018c0152808b0191909152845250509186019190860190610352565b9998505050505050505050565b60005b8381101561044b578181015183820152602001610433565b50506000910152565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b828110156104c857878603605f19018452815180518088526104a981888a01898501610430565b601f01601f191696909601850195509284019290840190600101610482565b509398975050505050505050565b6000602082840312156104e857600080fd5b6104f1826102b7565b9392505050565b60006020828403121561050a57600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b60008251610539818460208701610430565b9190910192915050565b8181038181111561056457634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220f76beaa0d8514c91670d3b8f327fccda20ac974b23d0afc0119b6c3ac3f63a7364736f6c63430008170033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100785760003560e01c80630f28c97d1461007d578063252dba421461009257806327e86d6e146100b35780634d2301cc146100bb57806372425d9d146100d657806386d516e8146100dc578063a8b0574e146100e2578063ee82ac5e146100f0575b600080fd5b425b6040519081526020015b60405180910390f35b6100a56100a03660046102d3565b610102565b604051610089929190610454565b61007f610236565b61007f6100c93660046104d6565b6001600160a01b03163190565b4461007f565b4561007f565b604051418152602001610089565b61007f6100fe3660046104f8565b4090565b805143906060906001600160401b0381111561012057610120610249565b60405190808252806020026020018201604052801561015357816020015b606081526020019060019003908161013e5790505b50905060005b83518110156102305760008085838151811061017757610177610511565b6020026020010151600001516001600160a01b031686848151811061019e5761019e610511565b6020026020010151602001516040516101b79190610527565b6000604051808303816000865af19150503d80600081146101f4576040519150601f19603f3d011682016040523d82523d6000602084013e6101f9565b606091505b50915091508161020857600080fd5b8084848151811061021b5761021b610511565b60209081029190910101525050600101610159565b50915091565b6000610243600143610543565b40905090565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561028157610281610249565b60405290565b604051601f8201601f191681016001600160401b03811182821017156102af576102af610249565b604052919050565b80356001600160a01b03811681146102ce57600080fd5b919050565b600060208083850312156102e657600080fd5b82356001600160401b03808211156102fd57600080fd5b818501915085601f83011261031157600080fd5b81358181111561032357610323610249565b8060051b610332858201610287565b918252838101850191858101908984111561034c57600080fd5b86860192505b838310156104235782358581111561036a5760008081fd5b86016040601f19828d0381018213156103835760008081fd5b61038b61025f565b6103968b85016102b7565b815282840135898111156103aa5760008081fd5b8085019450508d603f8501126103c05760008081fd5b8a840135898111156103d4576103d4610249565b6103e48c84601f84011601610287565b92508083528e848287010111156103fb5760008081fd5b808486018d85013760009083018c0152808b0191909152845250509186019190860190610352565b9998505050505050505050565b60005b8381101561044b578181015183820152602001610433565b50506000910152565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b828110156104c857878603605f19018452815180518088526104a981888a01898501610430565b601f01601f191696909601850195509284019290840190600101610482565b509398975050505050505050565b6000602082840312156104e857600080fd5b6104f1826102b7565b9392505050565b60006020828403121561050a57600080fd5b5035919050565b634e487b7160e01b600052603260045260246000fd5b60008251610539818460208701610430565b9190910192915050565b8181038181111561056457634e487b7160e01b600052601160045260246000fd5b9291505056fea2646970667358221220f76beaa0d8514c91670d3b8f327fccda20ac974b23d0afc0119b6c3ac3f63a7364736f6c63430008170033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.