Overview
S Balance
0 S
S Value
-More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
UniswapInterfaceMulticall
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 2500 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.26; pragma abicoder v2; /// @notice A fork of Multicall2 specifically tailored for the Uniswap Interface contract UniswapInterfaceMulticall { struct Call { address target; uint256 gasLimit; bytes callData; } struct Result { bool success; uint256 gasUsed; bytes returnData; } function getCurrentBlockTimestamp() public view returns (uint256 timestamp) { timestamp = block.timestamp; } function getEthBalance(address addr) public view returns (uint256 balance) { balance = addr.balance; } function multicall(Call[] memory calls) public returns (uint256 blockNumber, Result[] memory returnData) { blockNumber = block.number; returnData = new Result[](calls.length); for (uint256 i = 0; i < calls.length; i++) { (address target, uint256 gasLimit, bytes memory callData) = ( calls[i].target, calls[i].gasLimit, calls[i].callData ); uint256 gasLeftBefore = gasleft(); (bool success, bytes memory ret) = target.call{gas: gasLimit}(callData); uint256 gasUsed = gasLeftBefore - gasleft(); returnData[i] = Result(success, gasUsed, ret); } } }
{ "remappings": [ "@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/", "@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/", "forge-std/=dependencies/forge-std-1.9.4/src/", "permit2/=lib/permit2/", "@openzeppelin-3.4.2/=node_modules/@openzeppelin-3.4.2/", "@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "eth-gas-reporter/=node_modules/eth-gas-reporter/", "forge-std-1.9.4/=dependencies/forge-std-1.9.4/src/", "hardhat/=node_modules/hardhat/", "solmate/=node_modules/solmate/" ], "optimizer": { "enabled": true, "runs": 2500 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "cancun", "viaIR": true, "libraries": { "contracts/CL/periphery/libraries/NFTDescriptor.sol": { "NFTDescriptor": "0xd4Ba2ce48E8025E7C7823A4DB9b9591283C5F405" } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"gasLimit","type":"uint256"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct UniswapInterfaceMulticall.Call[]","name":"calls","type":"tuple[]"}],"name":"multicall","outputs":[{"internalType":"uint256","name":"blockNumber","type":"uint256"},{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"uint256","name":"gasUsed","type":"uint256"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct UniswapInterfaceMulticall.Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608080604052346015576104f3908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081630f28c97d146103bd575080631749e1e31461007e57634d2301cc1461003d575f80fd5b3461007a57602060031936011261007a5760043573ffffffffffffffffffffffffffffffffffffffff8116810361007a5760209031604051908152f35b5f80fd5b3461007a57602060031936011261007a5760043567ffffffffffffffff811161007a573660238201121561007a5780600401356100c26100bd82610448565b610422565b916024602084848152019260051b8201019036821161007a5760248101925b8284106102e157848051601f196101066100fd6100bd84610448565b92808452610448565b015f5b8181106102bb5750505f5b82518110156101fe5773ffffffffffffffffffffffffffffffffffffffff61013c828561047c565b515116905f80602061014e848861047c565b510151604061015d858961047c565b51015190825a9660208451940192f13d156101f7573d61017f6100bd82610460565b9081523d5f602083013e5b5a84039384116101ca5760019361019f6103d5565b9215158352602083015260408201526101b8828561047c565b526101c3818461047c565b5001610114565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b606061018a565b506040518091604082014383526040602084015281518091526060830190602060608260051b8601019301915f905b82821061023c57505050500390f35b919360206080827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa06001959799849503018652601f19601f8460408c5180511515865282810151838701520151606060408601528051918291826060880152018686015e5f85828601015201160101960192019201859493919261022d565b6020906102c66103d5565b5f81525f838201526060604082015282828601015201610109565b833567ffffffffffffffff811161007a5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc833603011261007a576103296103d5565b91602481013573ffffffffffffffffffffffffffffffffffffffff8116810361007a57835260448101356020840152606481013567ffffffffffffffff811161007a5760249101019036601f8301121561007a5781359261038c6100bd85610460565b848152366020868601011161007a575f602086819782809801838601378301015260408201528152019301926100e1565b3461007a575f60031936011261007a57602090428152f35b604051906060820182811067ffffffffffffffff8211176103f557604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f19601f604051930116820182811067ffffffffffffffff8211176103f557604052565b67ffffffffffffffff81116103f55760051b60200190565b67ffffffffffffffff81116103f557601f01601f191660200190565b80518210156104905760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220411ac2e148ffaf15d47282d5fc89827de29111d8f931173a2c79a1ce58a226ed64736f6c634300081c0033
Deployed Bytecode
0x6080806040526004361015610012575f80fd5b5f3560e01c9081630f28c97d146103bd575080631749e1e31461007e57634d2301cc1461003d575f80fd5b3461007a57602060031936011261007a5760043573ffffffffffffffffffffffffffffffffffffffff8116810361007a5760209031604051908152f35b5f80fd5b3461007a57602060031936011261007a5760043567ffffffffffffffff811161007a573660238201121561007a5780600401356100c26100bd82610448565b610422565b916024602084848152019260051b8201019036821161007a5760248101925b8284106102e157848051601f196101066100fd6100bd84610448565b92808452610448565b015f5b8181106102bb5750505f5b82518110156101fe5773ffffffffffffffffffffffffffffffffffffffff61013c828561047c565b515116905f80602061014e848861047c565b510151604061015d858961047c565b51015190825a9660208451940192f13d156101f7573d61017f6100bd82610460565b9081523d5f602083013e5b5a84039384116101ca5760019361019f6103d5565b9215158352602083015260408201526101b8828561047c565b526101c3818461047c565b5001610114565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b606061018a565b506040518091604082014383526040602084015281518091526060830190602060608260051b8601019301915f905b82821061023c57505050500390f35b919360206080827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa06001959799849503018652601f19601f8460408c5180511515865282810151838701520151606060408601528051918291826060880152018686015e5f85828601015201160101960192019201859493919261022d565b6020906102c66103d5565b5f81525f838201526060604082015282828601015201610109565b833567ffffffffffffffff811161007a5782019060607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc833603011261007a576103296103d5565b91602481013573ffffffffffffffffffffffffffffffffffffffff8116810361007a57835260448101356020840152606481013567ffffffffffffffff811161007a5760249101019036601f8301121561007a5781359261038c6100bd85610460565b848152366020868601011161007a575f602086819782809801838601378301015260408201528152019301926100e1565b3461007a575f60031936011261007a57602090428152f35b604051906060820182811067ffffffffffffffff8211176103f557604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f19601f604051930116820182811067ffffffffffffffff8211176103f557604052565b67ffffffffffffffff81116103f55760051b60200190565b67ffffffffffffffff81116103f557601f01601f191660200190565b80518210156104905760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220411ac2e148ffaf15d47282d5fc89827de29111d8f931173a2c79a1ce58a226ed64736f6c634300081c0033
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.