Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Multicall
Compiler Version
v0.8.12+commit.f00d7308
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity 0.8.12; /// @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[] calldata 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; } }
{
"remappings": [
"ds-test/=lib/forge-std/lib/ds-test/src/",
"forge-std/=lib/forge-std/src/"
],
"optimizer": {
"enabled": true,
"runs": 1000000
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs"
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"abi"
]
}
},
"evmVersion": "london",
"viaIR": false
}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
608060405234801561001057600080fd5b5061061d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220b6c24ac2f429c3662047617c9429afba1452d1568e9471c1938274151338c0e264736f6c634300080c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c806372425d9d1161005b57806372425d9d146100f357806386d516e8146100f9578063a8b0574e146100ff578063ee82ac5e1461010d57600080fd5b80630f28c97d1461008d578063252dba42146100a257806327e86d6e146100c35780634d2301cc146100cb575b600080fd5b425b6040519081526020015b60405180910390f35b6100b56100b03660046102a6565b61011f565b60405161009992919061031b565b61008f610293565b61008f6100d93660046103fa565b73ffffffffffffffffffffffffffffffffffffffff163190565b4461008f565b4561008f565b604051418152602001610099565b61008f61011b366004610437565b4090565b4360608267ffffffffffffffff81111561013b5761013b610450565b60405190808252806020026020018201604052801561016e57816020015b60608152602001906001900390816101595790505b50905060005b8381101561028b576000808686848181106101915761019161047f565b90506020028101906101a391906104ae565b6101b19060208101906103fa565b73ffffffffffffffffffffffffffffffffffffffff168787858181106101d9576101d961047f565b90506020028101906101eb91906104ae565b6101f99060208101906104ec565b604051610207929190610558565b6000604051808303816000865af19150503d8060008114610244576040519150601f19603f3d011682016040523d82523d6000602084013e610249565b606091505b50915091508161025857600080fd5b8084848151811061026b5761026b61047f565b60200260200101819052505050808061028390610597565b915050610174565b509250929050565b60006102a06001436105d0565b40905090565b600080602083850312156102b957600080fd5b823567ffffffffffffffff808211156102d157600080fd5b818501915085601f8301126102e557600080fd5b8135818111156102f457600080fd5b8660208260051b850101111561030957600080fd5b60209290920196919550909350505050565b600060408201848352602060408185015281855180845260608601915060608160051b87010193508287016000805b838110156103eb577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa089880301855282518051808952835b8181101561039d578281018901518a82018a01528801610382565b818111156103ad578489838c0101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169790970186019650938501939185019160010161034a565b50949998505050505050505050565b60006020828403121561040c57600080fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461043057600080fd5b9392505050565b60006020828403121561044957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126104e257600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261052157600080fd5b83018035915067ffffffffffffffff82111561053c57600080fd5b60200191503681900382131561055157600080fd5b9250929050565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156105c9576105c9610568565b5060010190565b6000828210156105e2576105e2610568565b50039056fea2646970667358221220b6c24ac2f429c3662047617c9429afba1452d1568e9471c1938274151338c0e264736f6c634300080c0033
Deployed Bytecode Sourcemap
280:1425:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1209:120;1307:15;1209:120;;;160:25:1;;;148:2;133:18;1209:120:0;;;;;;;;378:411;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1079:124::-;;;:::i;819:114::-;;;;;;:::i;:::-;914:12;;;;819:114;1335:124;1436:16;1335:124;;1465:116;1560:14;1465:116;;1587;;;1682:14;2939:74:1;;2927:2;2912:18;1587:116:0;2793:226:1;939:134:0;;;;;;:::i;:::-;1044:22;;939:134;378:411;508:12;457:25;555:5;543:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;530:38;;583:9;578:205;598:16;;;578:205;;;636:12;650:16;670:5;;676:1;670:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:15;;;;;;;:::i;:::-;:20;;691:5;;697:1;691:8;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;:17;;;;;;;:::i;:::-;670:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;635:74;;;;731:7;723:16;;;;;;769:3;753:10;764:1;753:13;;;;;;;;:::i;:::-;;;;;;:19;;;;621:162;;616:3;;;;;:::i;:::-;;;;578:205;;;;378:411;;;;;:::o;1079:124::-;1128:17;1179:16;1194:1;1179:12;:16;:::i;:::-;1169:27;1157:39;;1079:124;:::o;196:636:1:-;303:6;311;364:2;352:9;343:7;339:23;335:32;332:52;;;380:1;377;370:12;332:52;420:9;407:23;449:18;490:2;482:6;479:14;476:34;;;506:1;503;496:12;476:34;544:6;533:9;529:22;519:32;;589:7;582:4;578:2;574:13;570:27;560:55;;611:1;608;601:12;560:55;651:2;638:16;677:2;669:6;666:14;663:34;;;693:1;690;683:12;663:34;746:7;741:2;731:6;728:1;724:14;720:2;716:23;712:32;709:45;706:65;;;767:1;764;757:12;706:65;798:2;790:11;;;;;820:6;;-1:-1:-1;196:636:1;;-1:-1:-1;;;;196:636:1:o;837:1455::-;1025:4;1073:2;1062:9;1058:18;1103:6;1092:9;1085:25;1129:2;1167;1162;1151:9;1147:18;1140:30;1190:6;1225;1219:13;1256:6;1248;1241:22;1294:2;1283:9;1279:18;1272:25;;1356:2;1346:6;1343:1;1339:14;1328:9;1324:30;1320:39;1306:53;;1394:2;1386:6;1382:15;1415:1;1436;1446:817;1462:6;1457:3;1454:15;1446:817;;;1555:66;1543:9;1535:6;1531:22;1527:95;1522:3;1515:108;1652:6;1646:13;1694:2;1688:9;1725:8;1717:6;1710:24;1758:1;1772:157;1788:8;1783:3;1780:17;1772:157;;;1896:12;;;1892:21;;1886:28;1863:16;;;1859:25;;1852:63;1807:12;;1772:157;;;1953:8;1948:3;1945:17;1942:106;;;2032:1;2027:2;2016:8;2008:6;2004:21;2000:30;1993:41;1942:106;-1:-1:-1;2105:2:1;2091:17;2110:66;2087:90;2075:103;;;;2071:112;;;-1:-1:-1;2241:12:1;;;;2206:15;;;;1488:1;1479:11;1446:817;;;-1:-1:-1;2280:6:1;;837:1455;-1:-1:-1;;;;;;;;;837:1455:1:o;2479:309::-;2538:6;2591:2;2579:9;2570:7;2566:23;2562:32;2559:52;;;2607:1;2604;2597:12;2559:52;2646:9;2633:23;2696:42;2689:5;2685:54;2678:5;2675:65;2665:93;;2754:1;2751;2744:12;2665:93;2777:5;2479:309;-1:-1:-1;;;2479:309:1:o;3024:180::-;3083:6;3136:2;3124:9;3115:7;3111:23;3107:32;3104:52;;;3152:1;3149;3142:12;3104:52;-1:-1:-1;3175:23:1;;3024:180;-1:-1:-1;3024:180:1:o;3209:184::-;3261:77;3258:1;3251:88;3358:4;3355:1;3348:15;3382:4;3379:1;3372:15;3398:184;3450:77;3447:1;3440:88;3547:4;3544:1;3537:15;3571:4;3568:1;3561:15;3587:377;3674:4;3732:11;3719:25;3822:66;3811:8;3795:14;3791:29;3787:102;3767:18;3763:127;3753:155;;3904:1;3901;3894:12;3753:155;3925:33;;;;;3587:377;-1:-1:-1;;3587:377:1:o;3969:580::-;4046:4;4052:6;4112:11;4099:25;4202:66;4191:8;4175:14;4171:29;4167:102;4147:18;4143:127;4133:155;;4284:1;4281;4274:12;4133:155;4311:33;;4363:20;;;-1:-1:-1;4406:18:1;4395:30;;4392:50;;;4438:1;4435;4428:12;4392:50;4471:4;4459:17;;-1:-1:-1;4502:14:1;4498:27;;;4488:38;;4485:58;;;4539:1;4536;4529:12;4485:58;3969:580;;;;;:::o;4554:271::-;4737:6;4729;4724:3;4711:33;4693:3;4763:16;;4788:13;;;4763:16;4554:271;-1:-1:-1;4554:271:1:o;4830:184::-;4882:77;4879:1;4872:88;4979:4;4976:1;4969:15;5003:4;5000:1;4993:15;5019:195;5058:3;5089:66;5082:5;5079:77;5076:103;;;5159:18;;:::i;:::-;-1:-1:-1;5206:1:1;5195:13;;5019:195::o;5219:125::-;5259:4;5287:1;5284;5281:8;5278:34;;;5292:18;;:::i;:::-;-1:-1:-1;5329:9:1;;5219:125::o
Swarm Source
ipfs://b6c24ac2f429c3662047617c9429afba1452d1568e9471c1938274151338c0e2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.