ETH Price: $2,588.73 (-3.90%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Batch218210572025-02-11 5:01:2323 hrs ago1739250083IN
0x528a7d60...e6afe9Bbb
0 ETH0.001083341.26491322
Transfer Batch218140162025-02-10 5:25:2347 hrs ago1739165123IN
0x528a7d60...e6afe9Bbb
0 ETH0.000712861.2923663
Transfer Batch217925832025-02-07 5:36:114 days ago1738906571IN
0x528a7d60...e6afe9Bbb
0 ETH0.000848991.50763111
Transfer Batch217855082025-02-06 5:55:595 days ago1738821359IN
0x528a7d60...e6afe9Bbb
0 ETH0.000897951.45724838
Transfer Batch217778922025-02-05 4:24:597 days ago1738729499IN
0x528a7d60...e6afe9Bbb
0 ETH0.001186651.72178051
Transfer Batch217710182025-02-04 5:21:477 days ago1738646507IN
0x528a7d60...e6afe9Bbb
0 ETH0.00646248.33630614
Transfer Batch217637842025-02-03 5:06:238 days ago1738559183IN
0x528a7d60...e6afe9Bbb
0 ETH0.0579624536.98028639
Transfer Batch217423532025-01-31 5:13:5911 days ago1738300439IN
0x528a7d60...e6afe9Bbb
0 ETH0.001663081.96752448
Transfer Batch217352152025-01-30 5:18:5912 days ago1738214339IN
0x528a7d60...e6afe9Bbb
0 ETH0.002061222.69455495
Transfer Batch217279372025-01-29 4:56:1114 days ago1738126571IN
0x528a7d60...e6afe9Bbb
0 ETH0.000776362.01547828
Transfer Batch217209032025-01-28 5:21:5914 days ago1738041719IN
0x528a7d60...e6afe9Bbb
0 ETH0.00820274.51655887
Transfer Batch216919272025-01-24 4:19:2319 days ago1737692363IN
0x528a7d60...e6afe9Bbb
0 ETH0.002824014.54275581
Transfer Batch216846662025-01-23 4:00:4720 days ago1737604847IN
0x528a7d60...e6afe9Bbb
0 ETH0.0038646.52958286
Transfer Batch216793852025-01-22 10:19:1120 days ago1737541151IN
0x528a7d60...e6afe9Bbb
0 ETH0.003625129.41006507
Transfer Batch216713912025-01-21 7:32:1121 days ago1737444731IN
0x528a7d60...e6afe9Bbb
0 ETH0.006005059.41907879
Transfer Batch216639782025-01-20 6:41:4722 days ago1737355307IN
0x528a7d60...e6afe9Bbb
0 ETH0.021747828.45979237
Transfer Batch216424062025-01-17 6:24:3525 days ago1737095075IN
0x528a7d60...e6afe9Bbb
0 ETH0.002603255.03618147
Transfer Batch216354052025-01-16 6:58:1126 days ago1737010691IN
0x528a7d60...e6afe9Bbb
0 ETH0.001583933.09726841
Transfer Batch216285682025-01-15 8:03:5927 days ago1736928239IN
0x528a7d60...e6afe9Bbb
0 ETH0.00181174.6216961
Transfer Batch216209712025-01-14 6:36:2328 days ago1736836583IN
0x528a7d60...e6afe9Bbb
0 ETH0.001308142.3481542
Transfer Batch216133752025-01-13 5:07:1129 days ago1736744831IN
0x528a7d60...e6afe9Bbb
0 ETH0.003226833.42097099
Transfer Batch215919572025-01-10 5:21:5932 days ago1736486519IN
0x528a7d60...e6afe9Bbb
0 ETH0.001945933.7608548
Transfer Batch215853312025-01-09 7:08:1133 days ago1736406491IN
0x528a7d60...e6afe9Bbb
0 ETH0.001339524.47512378
Transfer Batch215774702025-01-08 4:49:2335 days ago1736311763IN
0x528a7d60...e6afe9Bbb
0 ETH0.002495915.22201979
Transfer Batch215703992025-01-07 5:07:2335 days ago1736226443IN
0x528a7d60...e6afe9Bbb
0 ETH0.002204216.17403315
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
E2TransferBatching

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-05-28
*/

// Sources flattened with hardhat v2.22.4 https://hardhat.org

// SPDX-License-Identifier: MIT

// File @openzeppelin/contracts/interfaces/[email protected]

// Original license: SPDX_License_Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC6093.sol)
pragma solidity ^0.8.20;

/**
 * @dev Standard ERC20 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens.
 */
interface IERC20Errors {
    /**
     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param balance Current balance for the interacting account.
     * @param needed Minimum amount required to perform a transfer.
     */
    error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC20InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC20InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.
     * @param spender Address that may be allowed to operate on tokens without being their owner.
     * @param allowance Amount of tokens a `spender` is allowed to operate with.
     * @param needed Minimum amount required to perform a transfer.
     */
    error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC20InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `spender` to be approved. Used in approvals.
     * @param spender Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC20InvalidSpender(address spender);
}

/**
 * @dev Standard ERC721 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens.
 */
interface IERC721Errors {
    /**
     * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20.
     * Used in balance queries.
     * @param owner Address of the current owner of a token.
     */
    error ERC721InvalidOwner(address owner);

    /**
     * @dev Indicates a `tokenId` whose `owner` is the zero address.
     * @param tokenId Identifier number of a token.
     */
    error ERC721NonexistentToken(uint256 tokenId);

    /**
     * @dev Indicates an error related to the ownership over a particular token. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param tokenId Identifier number of a token.
     * @param owner Address of the current owner of a token.
     */
    error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC721InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC721InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     * @param tokenId Identifier number of a token.
     */
    error ERC721InsufficientApproval(address operator, uint256 tokenId);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC721InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC721InvalidOperator(address operator);
}

/**
 * @dev Standard ERC1155 Errors
 * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens.
 */
interface IERC1155Errors {
    /**
     * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     * @param balance Current balance for the interacting account.
     * @param needed Minimum amount required to perform a transfer.
     * @param tokenId Identifier number of a token.
     */
    error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);

    /**
     * @dev Indicates a failure with the token `sender`. Used in transfers.
     * @param sender Address whose tokens are being transferred.
     */
    error ERC1155InvalidSender(address sender);

    /**
     * @dev Indicates a failure with the token `receiver`. Used in transfers.
     * @param receiver Address to which tokens are being transferred.
     */
    error ERC1155InvalidReceiver(address receiver);

    /**
     * @dev Indicates a failure with the `operator`’s approval. Used in transfers.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     * @param owner Address of the current owner of a token.
     */
    error ERC1155MissingApprovalForAll(address operator, address owner);

    /**
     * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.
     * @param approver Address initiating an approval operation.
     */
    error ERC1155InvalidApprover(address approver);

    /**
     * @dev Indicates a failure with the `operator` to be approved. Used in approvals.
     * @param operator Address that may be allowed to operate on tokens without being their owner.
     */
    error ERC1155InvalidOperator(address operator);

    /**
     * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.
     * Used in batch transfers.
     * @param idsLength Length of the array of token identifiers
     * @param valuesLength Length of the array of token amounts
     */
    error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);
}


// File @openzeppelin/contracts/token/ERC20/[email protected]

// Original license: SPDX_License_Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.20;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the value of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the value of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves a `value` amount of tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 value) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets a `value` amount of tokens as the allowance of `spender` over the
     * caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 value) external returns (bool);

    /**
     * @dev Moves a `value` amount of tokens from `from` to `to` using the
     * allowance mechanism. `value` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}


// File E2TransferBatching.sol

// Original license: SPDX_License_Identifier: MIT

pragma solidity ^0.8.20;


contract E2TransferBatching is IERC20Errors {
    struct Transfer {
        address account;
        uint256 value;
    }

    /**
     * @dev Indicates that the requested batch has too many items.
     * @param length Actual size of the batch sent.
     * @param maxLength Maximum size of the batch allowed.
     */
    error BatchTooLarge(uint length, uint maxLength);

    IERC20 private immutable _erc20;

    /**
     * @dev Sets {_erc20} reference
     */
    constructor(address tokenContract) {
        _erc20 = IERC20(tokenContract);
    }

    /**
     * @dev Sends all transfers from a batch
     */
    function transferBatch(Transfer[] calldata batch) public virtual returns (bool) {
        uint batchLength = batch.length;
        if (batchLength > type(uint).max) {
            revert BatchTooLarge(batchLength, type(uint).max);
        }

        unchecked {
            for (uint i = 0; i < batch.length; i++) {
                _erc20.transferFrom(msg.sender, batch[i].account, batch[i].value);
            }
        }

        return true;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tokenContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"maxLength","type":"uint256"}],"name":"BatchTooLarge","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[{"components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"internalType":"struct E2TransferBatching.Transfer[]","name":"batch","type":"tuple[]"}],"name":"transferBatch","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60a060405234801561000f575f80fd5b506040516105a73803806105a7833981810160405281019061003191906100c9565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1681525050506100f4565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100988261006f565b9050919050565b6100a88161008e565b81146100b2575f80fd5b50565b5f815190506100c38161009f565b92915050565b5f602082840312156100de576100dd61006b565b5b5f6100eb848285016100b5565b91505092915050565b60805161049c61010b5f395f60fb015261049c5ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c80635755916d1461002d575b5f80fd5b6100476004803603810190610042919061025e565b61005d565b60405161005491906102c3565b60405180910390f35b5f808383905090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156100ec57807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517fbb1cb70b0000000000000000000000000000000000000000000000000000000081526004016100e39291906102f4565b60405180910390fd5b5f5b848490508110156101e9577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166323b872dd338787858181106101495761014861031b565b5b9050604002015f01602081019061016091906103a2565b8888868181106101735761017261031b565b5b905060400201602001356040518463ffffffff1660e01b815260040161019b939291906103dc565b6020604051808303815f875af11580156101b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101db919061043b565b5080806001019150506100ee565b50600191505092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261021e5761021d6101fd565b5b8235905067ffffffffffffffff81111561023b5761023a610201565b5b60208301915083604082028301111561025757610256610205565b5b9250929050565b5f8060208385031215610274576102736101f5565b5b5f83013567ffffffffffffffff811115610291576102906101f9565b5b61029d85828601610209565b92509250509250929050565b5f8115159050919050565b6102bd816102a9565b82525050565b5f6020820190506102d65f8301846102b4565b92915050565b5f819050919050565b6102ee816102dc565b82525050565b5f6040820190506103075f8301856102e5565b61031460208301846102e5565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61037182610348565b9050919050565b61038181610367565b811461038b575f80fd5b50565b5f8135905061039c81610378565b92915050565b5f602082840312156103b7576103b66101f5565b5b5f6103c48482850161038e565b91505092915050565b6103d681610367565b82525050565b5f6060820190506103ef5f8301866103cd565b6103fc60208301856103cd565b61040960408301846102e5565b949350505050565b61041a816102a9565b8114610424575f80fd5b50565b5f8151905061043581610411565b92915050565b5f602082840312156104505761044f6101f5565b5b5f61045d84828501610427565b9150509291505056fea264697066735822122054a60da40ee8b89a2a729c49e8779281966de548402d1111bbb8ee11f399a0b864736f6c634300081900330000000000000000000000002c0687215aca7f5e2792d956e170325e92a02aca

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c80635755916d1461002d575b5f80fd5b6100476004803603810190610042919061025e565b61005d565b60405161005491906102c3565b60405180910390f35b5f808383905090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8111156100ec57807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040517fbb1cb70b0000000000000000000000000000000000000000000000000000000081526004016100e39291906102f4565b60405180910390fd5b5f5b848490508110156101e9577f0000000000000000000000002c0687215aca7f5e2792d956e170325e92a02aca73ffffffffffffffffffffffffffffffffffffffff166323b872dd338787858181106101495761014861031b565b5b9050604002015f01602081019061016091906103a2565b8888868181106101735761017261031b565b5b905060400201602001356040518463ffffffff1660e01b815260040161019b939291906103dc565b6020604051808303815f875af11580156101b7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101db919061043b565b5080806001019150506100ee565b50600191505092915050565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261021e5761021d6101fd565b5b8235905067ffffffffffffffff81111561023b5761023a610201565b5b60208301915083604082028301111561025757610256610205565b5b9250929050565b5f8060208385031215610274576102736101f5565b5b5f83013567ffffffffffffffff811115610291576102906101f9565b5b61029d85828601610209565b92509250509250929050565b5f8115159050919050565b6102bd816102a9565b82525050565b5f6020820190506102d65f8301846102b4565b92915050565b5f819050919050565b6102ee816102dc565b82525050565b5f6040820190506103075f8301856102e5565b61031460208301846102e5565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61037182610348565b9050919050565b61038181610367565b811461038b575f80fd5b50565b5f8135905061039c81610378565b92915050565b5f602082840312156103b7576103b66101f5565b5b5f6103c48482850161038e565b91505092915050565b6103d681610367565b82525050565b5f6060820190506103ef5f8301866103cd565b6103fc60208301856103cd565b61040960408301846102e5565b949350505050565b61041a816102a9565b8114610424575f80fd5b50565b5f8151905061043581610411565b92915050565b5f602082840312156104505761044f6101f5565b5b5f61045d84828501610427565b9150509291505056fea264697066735822122054a60da40ee8b89a2a729c49e8779281966de548402d1111bbb8ee11f399a0b864736f6c63430008190033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000002c0687215aca7f5e2792d956e170325e92a02aca

-----Decoded View---------------
Arg [0] : tokenContract (address): 0x2c0687215Aca7F5e2792d956E170325e92A02aCA

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000002c0687215aca7f5e2792d956e170325e92a02aca


Deployed Bytecode Sourcemap

9949:1105:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10589:462;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;10663:4;10680:16;10699:5;;:12;;10680:31;;10740:14;10726:11;:28;10722:110;;;10792:11;10805:14;10778:42;;;;;;;;;;;;:::i;:::-;;;;;;;;10722:110;10874:6;10869:140;10890:5;;:12;;10886:1;:16;10869:140;;;10928:6;:19;;;10948:10;10960:5;;10966:1;10960:8;;;;;;;:::i;:::-;;;;;;;:16;;;;;;;;;;:::i;:::-;10978:5;;10984:1;10978:8;;;;;;;:::i;:::-;;;;;;;:14;;;10928:65;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10904:3;;;;;;;10869:140;;;;11039:4;11032:11;;;10589:462;;;;:::o;88:117:1:-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:117;689:1;686;679:12;747:595;847:8;857:6;907:3;900:4;892:6;888:17;884:27;874:122;;915:79;;:::i;:::-;874:122;1028:6;1015:20;1005:30;;1058:18;1050:6;1047:30;1044:117;;;1080:79;;:::i;:::-;1044:117;1194:4;1186:6;1182:17;1170:29;;1248:3;1240:4;1232:6;1228:17;1218:8;1214:32;1211:41;1208:128;;;1255:79;;:::i;:::-;1208:128;747:595;;;;;:::o;1348:613::-;1461:6;1469;1518:2;1506:9;1497:7;1493:23;1489:32;1486:119;;;1524:79;;:::i;:::-;1486:119;1672:1;1661:9;1657:17;1644:31;1702:18;1694:6;1691:30;1688:117;;;1724:79;;:::i;:::-;1688:117;1837:107;1936:7;1927:6;1916:9;1912:22;1837:107;:::i;:::-;1819:125;;;;1615:339;1348:613;;;;;:::o;1967:90::-;2001:7;2044:5;2037:13;2030:21;2019:32;;1967:90;;;:::o;2063:109::-;2144:21;2159:5;2144:21;:::i;:::-;2139:3;2132:34;2063:109;;:::o;2178:210::-;2265:4;2303:2;2292:9;2288:18;2280:26;;2316:65;2378:1;2367:9;2363:17;2354:6;2316:65;:::i;:::-;2178:210;;;;:::o;2394:77::-;2431:7;2460:5;2449:16;;2394:77;;;:::o;2477:118::-;2564:24;2582:5;2564:24;:::i;:::-;2559:3;2552:37;2477:118;;:::o;2601:332::-;2722:4;2760:2;2749:9;2745:18;2737:26;;2773:71;2841:1;2830:9;2826:17;2817:6;2773:71;:::i;:::-;2854:72;2922:2;2911:9;2907:18;2898:6;2854:72;:::i;:::-;2601:332;;;;;:::o;2939:180::-;2987:77;2984:1;2977:88;3084:4;3081:1;3074:15;3108:4;3105:1;3098:15;3125:126;3162:7;3202:42;3195:5;3191:54;3180:65;;3125:126;;;:::o;3257:96::-;3294:7;3323:24;3341:5;3323:24;:::i;:::-;3312:35;;3257:96;;;:::o;3359:122::-;3432:24;3450:5;3432:24;:::i;:::-;3425:5;3422:35;3412:63;;3471:1;3468;3461:12;3412:63;3359:122;:::o;3487:139::-;3533:5;3571:6;3558:20;3549:29;;3587:33;3614:5;3587:33;:::i;:::-;3487:139;;;;:::o;3632:329::-;3691:6;3740:2;3728:9;3719:7;3715:23;3711:32;3708:119;;;3746:79;;:::i;:::-;3708:119;3866:1;3891:53;3936:7;3927:6;3916:9;3912:22;3891:53;:::i;:::-;3881:63;;3837:117;3632:329;;;;:::o;3967:118::-;4054:24;4072:5;4054:24;:::i;:::-;4049:3;4042:37;3967:118;;:::o;4091:442::-;4240:4;4278:2;4267:9;4263:18;4255:26;;4291:71;4359:1;4348:9;4344:17;4335:6;4291:71;:::i;:::-;4372:72;4440:2;4429:9;4425:18;4416:6;4372:72;:::i;:::-;4454;4522:2;4511:9;4507:18;4498:6;4454:72;:::i;:::-;4091:442;;;;;;:::o;4539:116::-;4609:21;4624:5;4609:21;:::i;:::-;4602:5;4599:32;4589:60;;4645:1;4642;4635:12;4589:60;4539:116;:::o;4661:137::-;4715:5;4746:6;4740:13;4731:22;;4762:30;4786:5;4762:30;:::i;:::-;4661:137;;;;:::o;4804:345::-;4871:6;4920:2;4908:9;4899:7;4895:23;4891:32;4888:119;;;4926:79;;:::i;:::-;4888:119;5046:1;5071:61;5124:7;5115:6;5104:9;5100:22;5071:61;:::i;:::-;5061:71;;5017:125;4804:345;;;;:::o

Swarm Source

ipfs://54a60da40ee8b89a2a729c49e8779281966de548402d1111bbb8ee11f399a0b8

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
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.