Holesky Testnet

Contract

0x64A764A734648fA636525C7e4b3cE38Ca256b647

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Multicall33124602025-02-08 18:33:1215 hrs ago1739039592IN
0x64A764A7...Ca256b647
0 ETH0.000000480.00100001
Multicall33115662025-02-08 15:21:4818 hrs ago1739028108IN
0x64A764A7...Ca256b647
0 ETH0.000000190.00100001
Multicall33115652025-02-08 15:21:3618 hrs ago1739028096IN
0x64A764A7...Ca256b647
0 ETH0.000000480.00100001
Multicall33114742025-02-08 15:02:0018 hrs ago1739026920IN
0x64A764A7...Ca256b647
0 ETH0.000000340.00100001
Multicall33114732025-02-08 15:01:4818 hrs ago1739026908IN
0x64A764A7...Ca256b647
0 ETH0.000000480.00100001
Multicall33113342025-02-08 14:32:1219 hrs ago1739025132IN
0x64A764A7...Ca256b647
0 ETH0.000000130.00100001
Multicall33113332025-02-08 14:32:0019 hrs ago1739025120IN
0x64A764A7...Ca256b647
0 ETH0.00000030.00100001
Multicall33113322025-02-08 14:31:4819 hrs ago1739025108IN
0x64A764A7...Ca256b647
0 ETH0.000000480.00100001
Multicall33113152025-02-08 14:28:1219 hrs ago1739024892IN
0x64A764A7...Ca256b647
0 ETH0.000000130.00100001
Multicall33113132025-02-08 14:27:4819 hrs ago1739024868IN
0x64A764A7...Ca256b647
0 ETH0.00000030.00100001
Multicall33113112025-02-08 14:27:2419 hrs ago1739024844IN
0x64A764A7...Ca256b647
0 ETH0.000000480.00100001
Multicall33112462025-02-08 14:13:1219 hrs ago1739023992IN
0x64A764A7...Ca256b647
0 ETH0.000000080.00100001
Multicall33111702025-02-08 13:56:0019 hrs ago1739022960IN
0x64A764A7...Ca256b647
0 ETH0.000002270.02550001
Multicall33109462025-02-08 13:07:2420 hrs ago1739020044IN
0x64A764A7...Ca256b647
0 ETH0.000000310.00100001
Multicall33109432025-02-08 13:06:4820 hrs ago1739020008IN
0x64A764A7...Ca256b647
0 ETH0.000000480.00100001
Multicall33109342025-02-08 13:04:4820 hrs ago1739019888IN
0x64A764A7...Ca256b647
0 ETH0.000000120.00100001
Multicall33109332025-02-08 13:04:3620 hrs ago1739019876IN
0x64A764A7...Ca256b647
0 ETH0.000000280.00100001
Multicall33109322025-02-08 13:04:2420 hrs ago1739019864IN
0x64A764A7...Ca256b647
0 ETH0.000000480.00100001
Multicall33109292025-02-08 13:03:3620 hrs ago1739019816IN
0x64A764A7...Ca256b647
0 ETH0.000000310.00100001
Multicall33109242025-02-08 13:02:3620 hrs ago1739019756IN
0x64A764A7...Ca256b647
0 ETH0.000000310.00100001
Multicall33108412025-02-08 12:45:0020 hrs ago1739018700IN
0x64A764A7...Ca256b647
0 ETH0.000000210.00100001
Multicall33108242025-02-08 12:41:2420 hrs ago1739018484IN
0x64A764A7...Ca256b647
0 ETH0.000000250.00100001
Multicall33108172025-02-08 12:39:3620 hrs ago1739018376IN
0x64A764A7...Ca256b647
0 ETH0.000000140.00112501
Multicall33108152025-02-08 12:39:1221 hrs ago1739018352IN
0x64A764A7...Ca256b647
0 ETH0.000000320.00112501
Multicall33108142025-02-08 12:39:0021 hrs ago1739018340IN
0x64A764A7...Ca256b647
0 ETH0.000000540.00112501
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Block
From
To
29487712024-12-16 14:51:0054 days ago1734360660  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Multicall

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 1000 runs

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : Multicall.sol
pragma solidity ^0.8.27;

struct Call3 {
    address target;
    bool allowFailure;
    bytes callData;
}

struct Result {
    bool success;
    bytes returnData;
}

event MulticallResult(Result[]);

contract Multicall {
    function multicall(
        Call3[] calldata calls
    ) public payable returns (Result[] memory returnData) {
        uint256 length = calls.length;
        returnData = new Result[](length);
        Call3 calldata calli;
        for (uint256 i = 0; i < length;) {
            Result memory result = returnData[i];
            calli = calls[i];
            (result.success, result.returnData) =
                calli.target.call(calli.callData);
            assembly {
                // Revert if the call fails and failure is not allowed
                // `allowFailure := calldataload(add(calli, 0x20))` and `success := mload(result)`
                if iszero(or(calldataload(add(calli, 0x20)), mload(result))) {
                    // set "Error(string)" signature: bytes32(bytes4(keccak256("Error(string)")))
                    mstore(
                        0x00,
                        0x08c379a000000000000000000000000000000000000000000000000000000000
                    )
                    // set data offset
                    mstore(
                        0x04,
                        0x0000000000000000000000000000000000000000000000000000000000000020
                    )
                    // set length of revert string
                    mstore(
                        0x24,
                        0x0000000000000000000000000000000000000000000000000000000000000017
                    )
                    // set revert string: bytes32(abi.encodePacked("Multicall3: call failed"))
                    mstore(
                        0x44,
                        0x4d756c746963616c6c333a2063616c6c206661696c6564000000000000000000
                    )
                    revert(0x00, 0x64)
                }
            }
            unchecked {
                ++i;
            }
        }
        emit MulticallResult(returnData);
    }
}

Settings
{
  "remappings": [
    "@openzeppelin-foundry-upgradeable/=libs/@openzeppelin-foundry-upgradeable/",
    "@openzeppelin-upgradeable/=libs/@openzeppelin-upgradeable/",
    "@openzeppelin/=libs/@openzeppelin/",
    "forge-std/=libs/forge-std/",
    "solady/=libs/solady/",
    "solidity-bytes-utils/=libs/solidity-bytes-utils/contracts/",
    "solidity-stringutils/=libs/solidity-stringutils/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 1000,
    "details": {
      "cse": true,
      "constantOptimizer": true,
      "yul": true
    }
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "paris",
  "viaIR": true,
  "libraries": {}
}

Contract ABI

[{"anonymous":false,"inputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"indexed":false,"internalType":"struct Result[]","name":"","type":"tuple[]"}],"name":"MulticallResult","type":"event"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bool","name":"allowFailure","type":"bool"},{"internalType":"bytes","name":"callData","type":"bytes"}],"internalType":"struct Call3[]","name":"calls","type":"tuple[]"}],"name":"multicall","outputs":[{"components":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"internalType":"struct Result[]","name":"returnData","type":"tuple[]"}],"stateMutability":"payable","type":"function"}]

60808060405234601557610431908161001b8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63e8bbf5d71461002757600080fd5b602036600319011261019a5760043567ffffffffffffffff811161019a573660238201121561019a5780600401359067ffffffffffffffff821161019a576024810190602436918460051b01011161019a57610082826102a1565b9060005b8381106100d3576100cf837f798f59b5fbedbc6b92c366aebbe4ef378956a3a1b9ff4a1ba0760f3d0752a883604051806100c0848261019f565b0390a16040519182918261019f565b0390f35b6100dd8184610322565b5160206100eb83878661033b565b916101306000806100fb8661035d565b81610109604089018961037e565b919061011a604051809481936103b1565b03925af16101266103bf565b8385015215158252565b51910135171561014257600101610086565b7f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b600080fd5b60208101906020815282518092526040810191602060408260051b8401019401926000925b8284106101d357505050505090565b9091929394603f198282030183526020865180511515835201516040602083015280519081604084015260005b8281106102325750506020606083836000838596600198010152601f80199101160101970193019401929193906101c4565b8060208092840101516060828701015201610200565b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761028457604052565b610248565b67ffffffffffffffff81116102845760051b60200190565b906102b36102ae83610289565b61025e565b82815280926102c4601f1991610289565b0160005b8181106102d457505050565b60405190604082019180831067ffffffffffffffff8411176102845760209260405260008152606083820152828286010152016102c8565b634e487b7160e01b600052603260045260246000fd5b80518210156103365760209160051b010190565b61030c565b91908110156103365760051b81013590605e198136030182121561019a570190565b3573ffffffffffffffffffffffffffffffffffffffff8116810361019a5790565b903590601e198136030182121561019a570180359067ffffffffffffffff821161019a5760200191813603831361019a57565b908092918237016000815290565b3d156103f6573d9067ffffffffffffffff8211610284576103e9601f8301601f191660200161025e565b9182523d6000602084013e565b60609056fea264697066735822122009d21e929dc77d296ac499a8df817c3983ad56c44bbaf2d4fc3397b76484682064736f6c634300081b0033

Deployed Bytecode

0x6080604052600436101561001257600080fd5b60003560e01c63e8bbf5d71461002757600080fd5b602036600319011261019a5760043567ffffffffffffffff811161019a573660238201121561019a5780600401359067ffffffffffffffff821161019a576024810190602436918460051b01011161019a57610082826102a1565b9060005b8381106100d3576100cf837f798f59b5fbedbc6b92c366aebbe4ef378956a3a1b9ff4a1ba0760f3d0752a883604051806100c0848261019f565b0390a16040519182918261019f565b0390f35b6100dd8184610322565b5160206100eb83878661033b565b916101306000806100fb8661035d565b81610109604089018961037e565b919061011a604051809481936103b1565b03925af16101266103bf565b8385015215158252565b51910135171561014257600101610086565b7f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b600080fd5b60208101906020815282518092526040810191602060408260051b8401019401926000925b8284106101d357505050505090565b9091929394603f198282030183526020865180511515835201516040602083015280519081604084015260005b8281106102325750506020606083836000838596600198010152601f80199101160101970193019401929193906101c4565b8060208092840101516060828701015201610200565b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761028457604052565b610248565b67ffffffffffffffff81116102845760051b60200190565b906102b36102ae83610289565b61025e565b82815280926102c4601f1991610289565b0160005b8181106102d457505050565b60405190604082019180831067ffffffffffffffff8411176102845760209260405260008152606083820152828286010152016102c8565b634e487b7160e01b600052603260045260246000fd5b80518210156103365760209160051b010190565b61030c565b91908110156103365760051b81013590605e198136030182121561019a570190565b3573ffffffffffffffffffffffffffffffffffffffff8116810361019a5790565b903590601e198136030182121561019a570180359067ffffffffffffffff821161019a5760200191813603831361019a57565b908092918237016000815290565b3d156103f6573d9067ffffffffffffffff8211610284576103e9601f8301601f191660200161025e565b9182523d6000602084013e565b60609056fea264697066735822122009d21e929dc77d296ac499a8df817c3983ad56c44bbaf2d4fc3397b76484682064736f6c634300081b0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.