Overview
S Balance
0 S
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
DeFiveMulticall
Compiler Version
v0.8.4+commit.c7e474f2
Optimization Enabled:
Yes with 9999 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity >=0.8.4 <0.9.0; contract DeFiveMulticall { struct Call { address target; bytes callData; } struct Result { bool success; bytes returnData; } 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, "Multicall aggregate: call failed"); returnData[i] = ret; } } function blockAndAggregate( Call[] memory calls ) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) { (blockNumber, blockHash, returnData) = tryBlockAndAggregate(true, calls); } function getBlockHash(uint256 blockNumber) public view returns (bytes32 blockHash) { blockHash = blockhash(blockNumber); } function getBlockNumber() public view returns (uint256 blockNumber) { blockNumber = block.number; } function getCurrentBlockCoinbase() public view returns (address coinbase) { coinbase = block.coinbase; } function getCurrentBlockDifficulty() public view returns (uint256 difficulty) { difficulty = block.difficulty; } function getCurrentBlockGasLimit() public view returns (uint256 gaslimit) { gaslimit = block.gaslimit; } function getCurrentBlockTimestamp() public view returns (uint256 timestamp) { timestamp = block.timestamp; } function getSBalance(address addr) public view returns (uint256 balance) { balance = addr.balance; } function getLastBlockHash() public view returns (bytes32 blockHash) { blockHash = blockhash(block.number - 1); } function tryAggregate(bool requireSuccess, Call[] memory calls) public returns (Result[] memory returnData) { returnData = new Result[](calls.length); for (uint256 i = 0; i < calls.length; i++) { (bool success, bytes memory ret) = calls[i].target.call(calls[i].callData); if (requireSuccess) { require(success, "Multicall aggregate: call failed"); } returnData[i] = Result(success, ret); } } function tryBlockAndAggregate( bool requireSuccess, Call[] memory calls ) public returns (uint256 blockNumber, bytes32 blockHash, Result[] memory returnData) { blockNumber = block.number; blockHash = blockhash(block.number); returnData = tryAggregate(requireSuccess, calls); } }
{ "optimizer": { "enabled": true, "runs": 9999 }, "metadata": { "bytecodeHash": "none", "useLiteralContent": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct DeFiveMulticall.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":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct DeFiveMulticall.Call[]","name":"calls","type":"tuple[]"}],"name":"blockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct DeFiveMulticall.Result[]","name":"returnData","type":"tuple[]"}],"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":"getBlockNumber","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"}],"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":[],"name":"getLastBlockHash","outputs":[{"internalType":"bytes32","name":"blockHash","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getSBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct DeFiveMulticall.Call[]","name":"calls","type":"tuple[]"}],"name":"tryAggregate","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct DeFiveMulticall.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"requireSuccess","type":"bool"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct DeFiveMulticall.Call[]","name":"calls","type":"tuple[]"}],"name":"tryBlockAndAggregate","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct DeFiveMulticall.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610c3d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806386d516e811610081578063c3077fa91161005b578063c3077fa914610179578063ee82ac5e1461018c578063ef2023751461019e57600080fd5b806386d516e814610145578063a8b0574e1461014b578063bce38bd71461015957600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c1461013957806372425d9d1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc366004610882565b6101c6565b6040516100e5929190610a2b565b6100db610411565b61012a6101253660046108bd565b610424565b6040516100e593929190610ab2565b436100db565b446100db565b456100db565b6040514181526020016100e5565b61016c6101673660046108bd565b61043c565b6040516100e59190610a18565b61012a610187366004610882565b6106af565b6100db61019a36600461090f565b4090565b6100db6101ac366004610861565b73ffffffffffffffffffffffffffffffffffffffff163190565b8051439060609067ffffffffffffffff81111561020c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561023f57816020015b606081526020019060019003908161022a5790505b50905060005b835181101561040b5760008085838151811061028a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106102e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151602001516040516102fe91906109fc565b6000604051808303816000865af19150503d806000811461033b576040519150601f19603f3d011682016040523d82523d6000602084013e610340565b606091505b5091509150816103b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b808484815181106103eb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101819052505050808061040390610b99565b915050610245565b50915091565b600061041e600143610b52565b40905090565b4380406060610433858561043c565b90509250925092565b6060815167ffffffffffffffff81111561047f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156104c557816020015b60408051808201909152600081526060602082015281526020019060019003908161049d5790505b50905060005b82518110156106a857600080848381518110610510577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1685848151811061056b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015160405161058491906109fc565b6000604051808303816000865af19150503d80600081146105c1576040519150601f19603f3d011682016040523d82523d6000602084013e6105c6565b606091505b509150915085156106385781610638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064016103a8565b6040518060400160405280831515815260200182815250848481518110610688577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181905250505080806106a090610b99565b9150506104cb565b5092915050565b60008060606106bf600185610424565b9196909550909350915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106f057600080fd5b919050565b600082601f830112610705578081fd5b8135602067ffffffffffffffff8083111561072257610722610c01565b8260051b610731838201610b03565b8481528381019087850183890186018a101561074b578788fd5b8793505b8684101561078857803585811115610765578889fd5b6107738b88838d0101610795565b8452506001939093019291850191850161074f565b5098975050505050505050565b6000604082840312156107a6578081fd5b6107ae610ada565b90506107b9826106cc565b815260208083013567ffffffffffffffff808211156107d757600080fd5b818501915085601f8301126107eb57600080fd5b8135818111156107fd576107fd610c01565b61082d847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610b03565b9150808252868482850101111561084357600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215610872578081fd5b61087b826106cc565b9392505050565b600060208284031215610893578081fd5b813567ffffffffffffffff8111156108a9578182fd5b6108b5848285016106f5565b949350505050565b600080604083850312156108cf578081fd5b823580151581146108de578182fd5b9150602083013567ffffffffffffffff8111156108f9578182fd5b610905858286016106f5565b9150509250929050565b600060208284031215610920578081fd5b5035919050565b600082825180855260208086019550808260051b840101818601855b848110156109a5578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610991818601836109b2565b9a86019a9450505090830190600101610943565b5090979650505050505050565b600081518084526109ca816020860160208601610b69565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251610a0e818460208701610b69565b9190910192915050565b60208152600061087b6020830184610927565b600060408201848352602060408185015281855180845260608601915060608160051b8701019350828701855b82811015610aa4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610a928683516109b2565b95509284019290840190600101610a58565b509398975050505050505050565b838152826020820152606060408201526000610ad16060830184610927565b95945050505050565b6040805190810167ffffffffffffffff81118282101715610afd57610afd610c01565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610b4a57610b4a610c01565b604052919050565b600082821015610b6457610b64610bd2565b500390565b60005b83811015610b84578181015183820152602001610b6c565b83811115610b93576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610bcb57610bcb610bd2565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea164736f6c6343000804000a
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100d45760003560e01c806386d516e811610081578063c3077fa91161005b578063c3077fa914610179578063ee82ac5e1461018c578063ef2023751461019e57600080fd5b806386d516e814610145578063a8b0574e1461014b578063bce38bd71461015957600080fd5b8063399542e9116100b2578063399542e91461011757806342cbb15c1461013957806372425d9d1461013f57600080fd5b80630f28c97d146100d9578063252dba42146100ee57806327e86d6e1461010f575b600080fd5b425b6040519081526020015b60405180910390f35b6101016100fc366004610882565b6101c6565b6040516100e5929190610a2b565b6100db610411565b61012a6101253660046108bd565b610424565b6040516100e593929190610ab2565b436100db565b446100db565b456100db565b6040514181526020016100e5565b61016c6101673660046108bd565b61043c565b6040516100e59190610a18565b61012a610187366004610882565b6106af565b6100db61019a36600461090f565b4090565b6100db6101ac366004610861565b73ffffffffffffffffffffffffffffffffffffffff163190565b8051439060609067ffffffffffffffff81111561020c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405190808252806020026020018201604052801561023f57816020015b606081526020019060019003908161022a5790505b50905060005b835181101561040b5760008085838151811061028a577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff168684815181106102e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151602001516040516102fe91906109fc565b6000604051808303816000865af19150503d806000811461033b576040519150601f19603f3d011682016040523d82523d6000602084013e610340565b606091505b5091509150816103b1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064015b60405180910390fd5b808484815181106103eb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101819052505050808061040390610b99565b915050610245565b50915091565b600061041e600143610b52565b40905090565b4380406060610433858561043c565b90509250925092565b6060815167ffffffffffffffff81111561047f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156104c557816020015b60408051808201909152600081526060602082015281526020019060019003908161049d5790505b50905060005b82518110156106a857600080848381518110610510577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516000015173ffffffffffffffffffffffffffffffffffffffff1685848151811061056b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516020015160405161058491906109fc565b6000604051808303816000865af19150503d80600081146105c1576040519150601f19603f3d011682016040523d82523d6000602084013e6105c6565b606091505b509150915085156106385781610638576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d756c746963616c6c206167677265676174653a2063616c6c206661696c656460448201526064016103a8565b6040518060400160405280831515815260200182815250848481518110610688577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010181905250505080806106a090610b99565b9150506104cb565b5092915050565b60008060606106bf600185610424565b9196909550909350915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146106f057600080fd5b919050565b600082601f830112610705578081fd5b8135602067ffffffffffffffff8083111561072257610722610c01565b8260051b610731838201610b03565b8481528381019087850183890186018a101561074b578788fd5b8793505b8684101561078857803585811115610765578889fd5b6107738b88838d0101610795565b8452506001939093019291850191850161074f565b5098975050505050505050565b6000604082840312156107a6578081fd5b6107ae610ada565b90506107b9826106cc565b815260208083013567ffffffffffffffff808211156107d757600080fd5b818501915085601f8301126107eb57600080fd5b8135818111156107fd576107fd610c01565b61082d847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601610b03565b9150808252868482850101111561084357600080fd5b80848401858401376000908201840152918301919091525092915050565b600060208284031215610872578081fd5b61087b826106cc565b9392505050565b600060208284031215610893578081fd5b813567ffffffffffffffff8111156108a9578182fd5b6108b5848285016106f5565b949350505050565b600080604083850312156108cf578081fd5b823580151581146108de578182fd5b9150602083013567ffffffffffffffff8111156108f9578182fd5b610905858286016106f5565b9150509250929050565b600060208284031215610920578081fd5b5035919050565b600082825180855260208086019550808260051b840101818601855b848110156109a5578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610991818601836109b2565b9a86019a9450505090830190600101610943565b5090979650505050505050565b600081518084526109ca816020860160208601610b69565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60008251610a0e818460208701610b69565b9190910192915050565b60208152600061087b6020830184610927565b600060408201848352602060408185015281855180845260608601915060608160051b8701019350828701855b82811015610aa4577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610a928683516109b2565b95509284019290840190600101610a58565b509398975050505050505050565b838152826020820152606060408201526000610ad16060830184610927565b95945050505050565b6040805190810167ffffffffffffffff81118282101715610afd57610afd610c01565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715610b4a57610b4a610c01565b604052919050565b600082821015610b6457610b64610bd2565b500390565b60005b83811015610b84578181015183820152602001610b6c565b83811115610b93576000848401525b50505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610bcb57610bcb610bd2565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fdfea164736f6c6343000804000a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 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.