ETH Price: $2,923.39 (-0.53%)
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Block
From
To
Aggregate268524122025-02-25 14:36:11331 days ago1740494171IN
0xAe3F0782...15D5AE04b
0 ETH0.000004930.0067647
Aggregate268524072025-02-25 14:36:01331 days ago1740494161IN
0xAe3F0782...15D5AE04b
0 ETH0.000004830.00675454
Aggregate268524042025-02-25 14:35:55331 days ago1740494155IN
0xAe3F0782...15D5AE04b
0 ETH0.000005420.00674355
Aggregate268524002025-02-25 14:35:47331 days ago1740494147IN
0xAe3F0782...15D5AE04b
0 ETH0.000005230.00673679
Aggregate268523962025-02-25 14:35:39331 days ago1740494139IN
0xAe3F0782...15D5AE04b
0 ETH0.000005230.00670608
Aggregate268523922025-02-25 14:35:31331 days ago1740494131IN
0xAe3F0782...15D5AE04b
0 ETH0.00000560.00668003
Aggregate268523872025-02-25 14:35:21331 days ago1740494121IN
0xAe3F0782...15D5AE04b
0 ETH0.00000520.00664495
Aggregate268523832025-02-25 14:35:13331 days ago1740494113IN
0xAe3F0782...15D5AE04b
0 ETH0.000005460.00663171
Aggregate268523792025-02-25 14:35:05331 days ago1740494105IN
0xAe3F0782...15D5AE04b
0 ETH0.000004960.00663181
Aggregate268523762025-02-25 14:34:59331 days ago1740494099IN
0xAe3F0782...15D5AE04b
0 ETH0.000005490.00663405
Aggregate262467812025-02-11 14:08:29345 days ago1739282909IN
0xAe3F0782...15D5AE04b
0 ETH0.000015360.01224925
Aggregate262467772025-02-11 14:08:21345 days ago1739282901IN
0xAe3F0782...15D5AE04b
0 ETH0.000014420.01226553
Aggregate262467742025-02-11 14:08:15345 days ago1739282895IN
0xAe3F0782...15D5AE04b
0 ETH0.000014760.01226733
Aggregate262467702025-02-11 14:08:07345 days ago1739282887IN
0xAe3F0782...15D5AE04b
0 ETH0.000014510.01228029
Aggregate262467672025-02-11 14:08:01345 days ago1739282881IN
0xAe3F0782...15D5AE04b
0 ETH0.000014340.01229974
Aggregate262467632025-02-11 14:07:53345 days ago1739282873IN
0xAe3F0782...15D5AE04b
0 ETH0.000013010.01231742
Aggregate262467592025-02-11 14:07:45345 days ago1739282865IN
0xAe3F0782...15D5AE04b
0 ETH0.000014690.01234194
Aggregate262466222025-02-11 14:03:11345 days ago1739282591IN
0xAe3F0782...15D5AE04b
0 ETH0.000026990.01285852
Aggregate262465222025-02-11 13:59:51346 days ago1739282391IN
0xAe3F0782...15D5AE04b
0 ETH0.000253720.01343391
Aggregate262465182025-02-11 13:59:43346 days ago1739282383IN
0xAe3F0782...15D5AE04b
0 ETH0.000336420.01346284
Aggregate262465142025-02-11 13:59:35346 days ago1739282375IN
0xAe3F0782...15D5AE04b
0 ETH0.000342440.01350832
Aggregate262465092025-02-11 13:59:25346 days ago1739282365IN
0xAe3F0782...15D5AE04b
0 ETH0.000336680.01352209
Aggregate262465052025-02-11 13:59:17346 days ago1739282357IN
0xAe3F0782...15D5AE04b
0 ETH0.000324110.01352539
Aggregate262465012025-02-11 13:59:09346 days ago1739282349IN
0xAe3F0782...15D5AE04b
0 ETH0.00033740.01350823
Aggregate262464972025-02-11 13:59:01346 days ago1739282341IN
0xAe3F0782...15D5AE04b
0 ETH0.000338660.01351167
View all transactions

Parent Transaction Hash Block From To
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Multicall

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: BUSL-1.1
pragma solidity ^0.8.18;

/**
 * @title Multicall
 * @dev Contract that aggregates multiple contract function calls into a single call.
 */
contract Multicall {
    // Event emitted when calls are aggregated
    event AggregatedCalls(uint256 count);

    /**
     * @notice Aggregate non-payable multiple calls into a single call.
     * @param targets The addresses of the contracts to call.
     * @param callDatas The function call data for the corresponding contracts.
     * @return returnDatas The return data for each call.
     */
    function aggregate(
        address[] calldata targets,
        bytes[] calldata callDatas
    ) external returns (bytes[] memory returnDatas) {
        // Ensure the input arrays match in length.
        require(targets.length == callDatas.length, "Mismatched input arrays");

        // Initialize the return data array.
        returnDatas = new bytes[](targets.length);

        // Loop through each target address and call data, executing the calls.
        for (uint i = 0; i < targets.length; i++) {
            (bool success, bytes memory result) = targets[i].call(callDatas[i]);

            // If any of the calls fails, revert the entire transaction.
            if (!success) {
                // Decode the standard Error(string) response for better error handling
                string memory errorMessage;
                if (result.length > 0) {
                    errorMessage = abi.decode(result, (string));
                } else {
                    errorMessage = "Call failed without a revert message";
                }
                revert(errorMessage);
            }

            returnDatas[i] = result;
        }

        emit AggregatedCalls(targets.length);
    }

    /**
     * @notice Aggregate payable multiple calls into a single call.
     * @param targets The addresses of the contracts to call.
     * @param callDatas The function call data for the corresponding contracts.
     * @param callDatas The values for the corresponding call datas.
     * @return returnDatas The return data for each call.
     */
    function aggregatePayable(
        address[] calldata targets,
        bytes[] calldata callDatas,
        uint256[] calldata values
    ) external payable returns (bytes[] memory returnDatas) {
        require(
            targets.length == callDatas.length &&
                targets.length == values.length,
            "Mismatched input arrays"
        );

        returnDatas = new bytes[](targets.length);

        for (uint i = 0; i < targets.length; i++) {
            (bool success, bytes memory result) = targets[i].call{
                value: values[i]
            }(callDatas[i]);

            // If any of the calls fails, revert the entire transaction.
            if (!success) {
                // Decode the standard Error(string) response for better error handling
                string memory errorMessage;
                if (result.length > 0) {
                    errorMessage = abi.decode(result, (string));
                } else {
                    errorMessage = "Call failed without a revert message";
                }
                revert(errorMessage);
            }

            returnDatas[i] = result;
        }

        // Ensure no leftover Ether remains in this contract.
        uint256 remainingValue = address(this).balance;
        if (remainingValue > 0) {
            payable(msg.sender).transfer(remainingValue);
        }

        emit AggregatedCalls(targets.length);
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "viaIR": true,
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"count","type":"uint256"}],"name":"AggregatedCalls","type":"event"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"callDatas","type":"bytes[]"}],"name":"aggregate","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"bytes[]","name":"callDatas","type":"bytes[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"name":"aggregatePayable","outputs":[{"internalType":"bytes[]","name":"returnDatas","type":"bytes[]"}],"stateMutability":"payable","type":"function"}]

60808060405234610016576106dc908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c8063269d64ae146102125763aed36b891461003757600080fd5b606036600319011261020e5767ffffffffffffffff91833583811161020e57610063903690860161033b565b946024803586811161020a5761007c903690840161033b565b909660443590811161020657610095903690850161033b565b979091808a14806101fd575b6100aa9061041b565b6100b38a6104bb565b98875b888c80831061013a578c8c83478015801561010a575b5050507f88cfd0c2b5b0583f55809e0ee88f20b669e3036946718856b13a704ee3d0f8c06020610106948351908152a151918291826103b9565b0390f35b8280809381938290610131575b3390f1156101265780806100cc565b9051903d90823e3d90fd5b506108fc610117565b61014e6101498484938d610525565b61054b565b8c61015a85878b610525565b3561016686898b61055f565b8093519384928337810185815203925af161017f6105bd565b90156101aa57906101a591610194828e610692565b5261019f818d610692565b50610500565b6100b6565b876101ea8c89602094805115156000146101ee576101d09086808251830101910161063a565b915b5194859462461bcd60e51b8652850152830190610394565b0390fd5b506101f76105e3565b916101d2565b508989146100a1565b8580fd5b8480fd5b5080fd5b503461020e578060031936011261020e5767ffffffffffffffff91833583811161020e57610243903690860161033b565b91602494853590811161020e5761025d903690880161033b565b96909561026b88861461041b565b610274856104bb565b96835b8681106102b75761010689897f88cfd0c2b5b0583f55809e0ee88f20b669e3036946718856b13a704ee3d0f8c060208b8351908152a151918291826103b9565b84808b8a826102d7866102d06101498f8f908491610525565b948961055f565b8093519384928337810182815203925af16102f06105bd565b9015610315579061031091610305828c610692565b5261019f818b610692565b610277565b846101ea8a86602094805115156000146101ee576101d09086808251830101910161063a565b9181601f8401121561036c5782359167ffffffffffffffff831161036c576020808501948460051b01011161036c57565b600080fd5b60005b8381106103845750506000910152565b8181015183820152602001610374565b906020916103ad81518092818552858086019101610371565b601f01601f1916010190565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106103ed5750505050505090565b909192939495848061040b600193603f198682030187528a51610394565b98019301930191949392906103dd565b1561042257565b60405162461bcd60e51b815260206004820152601760248201527f4d69736d61746368656420696e707574206172726179730000000000000000006044820152606490fd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761048d57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161048d5760051b60200190565b906104cd6104c8836104a3565b610467565b82815280926104de601f19916104a3565b019060005b8281106104ef57505050565b8060606020809385010152016104e3565b600019811461050f5760010190565b634e487b7160e01b600052601160045260246000fd5b91908110156105355760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b038116810361036c5790565b91908110156105355760051b81013590601e198136030182121561036c57019081359167ffffffffffffffff831161036c57602001823603811361036c579190565b67ffffffffffffffff811161048d57601f01601f191660200190565b3d156105de573d906105d16104c8836105a1565b9182523d6000602084013e565b606090565b604051906060820182811067ffffffffffffffff82111761048d5760405260248252637361676560e01b6040837f43616c6c206661696c656420776974686f7574206120726576657274206d657360208201520152565b60208183031261036c5780519067ffffffffffffffff821161036c570181601f8201121561036c5780516106706104c8826105a1565b928184526020828401011161036c5761068f9160208085019101610371565b90565b80518210156105355760209160051b01019056fea2646970667358221220cdd50bff2a4d2252e3d6f47aa77d69b7322b1b51ee7a3605e69a1cda38b62a1d64736f6c63430008120033

Deployed Bytecode

0x6040608081526004908136101561001557600080fd5b600090813560e01c8063269d64ae146102125763aed36b891461003757600080fd5b606036600319011261020e5767ffffffffffffffff91833583811161020e57610063903690860161033b565b946024803586811161020a5761007c903690840161033b565b909660443590811161020657610095903690850161033b565b979091808a14806101fd575b6100aa9061041b565b6100b38a6104bb565b98875b888c80831061013a578c8c83478015801561010a575b5050507f88cfd0c2b5b0583f55809e0ee88f20b669e3036946718856b13a704ee3d0f8c06020610106948351908152a151918291826103b9565b0390f35b8280809381938290610131575b3390f1156101265780806100cc565b9051903d90823e3d90fd5b506108fc610117565b61014e6101498484938d610525565b61054b565b8c61015a85878b610525565b3561016686898b61055f565b8093519384928337810185815203925af161017f6105bd565b90156101aa57906101a591610194828e610692565b5261019f818d610692565b50610500565b6100b6565b876101ea8c89602094805115156000146101ee576101d09086808251830101910161063a565b915b5194859462461bcd60e51b8652850152830190610394565b0390fd5b506101f76105e3565b916101d2565b508989146100a1565b8580fd5b8480fd5b5080fd5b503461020e578060031936011261020e5767ffffffffffffffff91833583811161020e57610243903690860161033b565b91602494853590811161020e5761025d903690880161033b565b96909561026b88861461041b565b610274856104bb565b96835b8681106102b75761010689897f88cfd0c2b5b0583f55809e0ee88f20b669e3036946718856b13a704ee3d0f8c060208b8351908152a151918291826103b9565b84808b8a826102d7866102d06101498f8f908491610525565b948961055f565b8093519384928337810182815203925af16102f06105bd565b9015610315579061031091610305828c610692565b5261019f818b610692565b610277565b846101ea8a86602094805115156000146101ee576101d09086808251830101910161063a565b9181601f8401121561036c5782359167ffffffffffffffff831161036c576020808501948460051b01011161036c57565b600080fd5b60005b8381106103845750506000910152565b8181015183820152602001610374565b906020916103ad81518092818552858086019101610371565b601f01601f1916010190565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106103ed5750505050505090565b909192939495848061040b600193603f198682030187528a51610394565b98019301930191949392906103dd565b1561042257565b60405162461bcd60e51b815260206004820152601760248201527f4d69736d61746368656420696e707574206172726179730000000000000000006044820152606490fd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761048d57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161048d5760051b60200190565b906104cd6104c8836104a3565b610467565b82815280926104de601f19916104a3565b019060005b8281106104ef57505050565b8060606020809385010152016104e3565b600019811461050f5760010190565b634e487b7160e01b600052601160045260246000fd5b91908110156105355760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b038116810361036c5790565b91908110156105355760051b81013590601e198136030182121561036c57019081359167ffffffffffffffff831161036c57602001823603811361036c579190565b67ffffffffffffffff811161048d57601f01601f191660200190565b3d156105de573d906105d16104c8836105a1565b9182523d6000602084013e565b606090565b604051906060820182811067ffffffffffffffff82111761048d5760405260248252637361676560e01b6040837f43616c6c206661696c656420776974686f7574206120726576657274206d657360208201520152565b60208183031261036c5780519067ffffffffffffffff821161036c570181601f8201121561036c5780516106706104c8826105a1565b928184526020828401011161036c5761068f9160208085019101610371565b90565b80518210156105355760209160051b01019056fea2646970667358221220cdd50bff2a4d2252e3d6f47aa77d69b7322b1b51ee7a3605e69a1cda38b62a1d64736f6c63430008120033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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.