ETH Price: $4,432.83 (-0.72%)

Contract

0x40A2aCCbd92BCA938b02010E17A5b8929b49130D

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Multi Send107150122025-09-09 22:43:4329 days ago1757457823IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send106630082025-09-09 8:16:5929 days ago1757405819IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send104004632025-09-06 7:21:1432 days ago1757143274IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send102178892025-09-04 4:38:2035 days ago1756960700IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send101388052025-09-03 6:40:1636 days ago1756881616IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send101098082025-09-02 22:36:5936 days ago1756852619IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send98777452025-08-31 6:09:1639 days ago1756620556IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send96169272025-08-28 5:42:1842 days ago1756359738IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send95047572025-08-26 22:32:4843 days ago1756247568IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send93556372025-08-25 5:07:2845 days ago1756098448IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send90963892025-08-22 5:06:4048 days ago1755839200IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send88992862025-08-19 22:21:3750 days ago1755642097IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send88337122025-08-19 4:08:4351 days ago1755576523IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send85714702025-08-16 3:18:0154 days ago1755314281IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send83080752025-08-13 2:08:0657 days ago1755050886IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send82936002025-08-12 22:06:5157 days ago1755036411IN
0x40A2aCCb...29b49130D
0 ETH0.000001360.00000026
Multi Send82878112025-08-12 20:30:2257 days ago1755030622IN
0x40A2aCCb...29b49130D
0 ETH0.000001370.00000026
Multi Send80454452025-08-10 1:10:5660 days ago1754788256IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send77829542025-08-07 0:16:0563 days ago1754525765IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send76886352025-08-05 22:04:0664 days ago1754431446IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send76813752025-08-05 20:03:0664 days ago1754424186IN
0x40A2aCCb...29b49130D
0 ETH0.000001360.00000026
Multi Send75196692025-08-03 23:08:0066 days ago1754262480IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send72568882025-07-31 22:08:1969 days ago1753999699IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
Multi Send70771552025-07-29 20:12:4671 days ago1753819966IN
0x40A2aCCb...29b49130D
0 ETH0.000001360.00000026
Multi Send70735342025-07-29 19:12:2571 days ago1753816345IN
0x40A2aCCb...29b49130D
0 ETH0.000001350.00000026
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block From To
3192492025-05-12 15:01:00149 days ago1747062060  Contract Creation0 ETH

Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MultiSendCallOnly

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
No with 200 runs

Other Settings:
istanbul EvmVersion
// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity >=0.7.0 <0.9.0;

/// @title Multi Send Call Only - Allows to batch multiple transactions into one, but only calls
/// @author Stefan George - <[email protected]>
/// @author Richard Meissner - <[email protected]>
/// @notice The guard logic is not required here as this contract doesn't support nested delegate calls
contract MultiSendCallOnly {
    /// @dev Sends multiple transactions and reverts all if one fails.
    /// @param transactions Encoded transactions. Each transaction is encoded as a packed bytes of
    ///                     operation has to be uint8(0) in this version (=> 1 byte),
    ///                     to as a address (=> 20 bytes),
    ///                     value as a uint256 (=> 32 bytes),
    ///                     data length as a uint256 (=> 32 bytes),
    ///                     data as bytes.
    ///                     see abi.encodePacked for more information on packed encoding
    /// @notice The code is for most part the same as the normal MultiSend (to keep compatibility),
    ///         but reverts if a transaction tries to use a delegatecall.
    /// @notice This method is payable as delegatecalls keep the msg.value from the previous call
    ///         If the calling method (e.g. execTransaction) received ETH this would revert otherwise
    function multiSend(bytes memory transactions) public payable {
        // solhint-disable-next-line no-inline-assembly
        assembly {
            let length := mload(transactions)
            let i := 0x20
            for {
                // Pre block is not used in "while mode"
            } lt(i, length) {
                // Post block is not used in "while mode"
            } {
                // First byte of the data is the operation.
                // We shift by 248 bits (256 - 8 [operation byte]) it right since mload will always load 32 bytes (a word).
                // This will also zero out unused data.
                let operation := shr(0xf8, mload(add(transactions, i)))
                // We offset the load address by 1 byte (operation byte)
                // We shift it right by 96 bits (256 - 160 [20 address bytes]) to right-align the data and zero out unused data.
                let to := shr(0x60, mload(add(transactions, add(i, 0x01))))
                // We offset the load address by 21 byte (operation byte + 20 address bytes)
                let value := mload(add(transactions, add(i, 0x15)))
                // We offset the load address by 53 byte (operation byte + 20 address bytes + 32 value bytes)
                let dataLength := mload(add(transactions, add(i, 0x35)))
                // We offset the load address by 85 byte (operation byte + 20 address bytes + 32 value bytes + 32 data length bytes)
                let data := add(transactions, add(i, 0x55))
                let success := 0
                switch operation
                    case 0 {
                        success := call(gas(), to, value, data, dataLength, 0, 0)
                    }
                    // This version does not allow delegatecalls
                    case 1 {
                        revert(0, 0)
                    }
                if eq(success, 0) {
                    revert(0, 0)
                }
                // Next entry starts at 85 byte + data length
                i := add(i, add(0x55, dataLength))
            }
        }
    }
}

Settings
{
  "evmVersion": "istanbul",
  "libraries": {},
  "metadata": {
    "bytecodeHash": "ipfs",
    "useLiteralContent": true
  },
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b5061019a806100206000396000f3fe60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033

Deployed Bytecode

0x60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100dc6004803603602081101561003957600080fd5b810190808035906020019064010000000081111561005657600080fd5b82018360208201111561006857600080fd5b8035906020019184600183028401116401000000008311171561008a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506100de565b005b805160205b8181101561015f578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461012857600181146101385761013d565b6000808585888a5af1915061013d565b600080fd5b50600081141561014c57600080fd5b82605501870196505050505050506100e3565b50505056fea264697066735822122035246402746c96964495cae5b36461fd44dfb89f8e6cf6f6b8d60c0aa89f414864736f6c63430007060033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x40A2aCCbd92BCA938b02010E17A5b8929b49130D
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.