ETH Price: $3,616.39 (+7.19%)

Contract

0x3F124C700fb5E741F128e28985267D44f56B242F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Batch Deposit237635512025-11-09 18:40:1110 hrs ago1762713611IN
0x3F124C70...4f56B242F
32 ETH0.000011410.17521929
Batch Deposit237483452025-11-07 15:40:112 days ago1762530011IN
0x3F124C70...4f56B242F
32 ETH0.000231673.55693128
Batch Deposit237483452025-11-07 15:40:112 days ago1762530011IN
0x3F124C70...4f56B242F
32 ETH0.000221093.55693128
Batch Deposit237474492025-11-07 12:40:112 days ago1762519211IN
0x3F124C70...4f56B242F
32 ETH0.000185742.85168605
Batch Deposit237474492025-11-07 12:40:112 days ago1762519211IN
0x3F124C70...4f56B242F
32 ETH0.000177252.85168605
Batch Deposit237465582025-11-07 9:40:112 days ago1762508411IN
0x3F124C70...4f56B242F
32 ETH0.000082451.26565944
Batch Deposit237456652025-11-07 6:40:112 days ago1762497611IN
0x3F124C70...4f56B242F
32 ETH0.000021170.32519569
Batch Deposit237438772025-11-07 0:39:593 days ago1762475999IN
0x3F124C70...4f56B242F
32 ETH0.000023570.37935129
Batch Deposit237438772025-11-07 0:39:593 days ago1762475999IN
0x3F124C70...4f56B242F
32 ETH0.000025840.37935129
Batch Deposit237420882025-11-06 18:40:233 days ago1762454423IN
0x3F124C70...4f56B242F
32 ETH0.000079861.1234543
Batch Deposit237420882025-11-06 18:40:233 days ago1762454423IN
0x3F124C70...4f56B242F
32 ETH0.000069841.1234543
Batch Deposit237367242025-11-06 0:40:114 days ago1762389611IN
0x3F124C70...4f56B242F
32 ETH0.000021420.34474642
Batch Deposit237331582025-11-05 12:40:114 days ago1762346411IN
0x3F124C70...4f56B242F
32 ETH0.000040740.62551637
Batch Deposit237331582025-11-05 12:40:114 days ago1762346411IN
0x3F124C70...4f56B242F
32 ETH0.000038870.62551637
Batch Deposit237269062025-11-04 15:40:115 days ago1762270811IN
0x3F124C70...4f56B242F
32 ETH0.00012111.70364371
Batch Deposit237269062025-11-04 15:40:115 days ago1762270811IN
0x3F124C70...4f56B242F
32 ETH0.000105891.70364371
Batch Deposit237269062025-11-04 15:40:115 days ago1762270811IN
0x3F124C70...4f56B242F
32 ETH0.000110981.70364371
Batch Deposit237152832025-11-03 0:41:117 days ago1762130471IN
0x3F124C70...4f56B242F
32 ETH0.000010570.17016215
Batch Deposit237125942025-11-02 15:40:117 days ago1762098011IN
0x3F124C70...4f56B242F
32 ETH0.000022440.3610876
Batch Deposit237117062025-11-02 12:41:117 days ago1762087271IN
0x3F124C70...4f56B242F
32 ETH0.00001450.21287741
Batch Deposit237117062025-11-02 12:41:117 days ago1762087271IN
0x3F124C70...4f56B242F
32 ETH0.000013230.21287741
Batch Deposit237108112025-11-02 9:41:117 days ago1762076471IN
0x3F124C70...4f56B242F
32 ETH0.000012260.18822215
Batch Deposit237072282025-11-01 21:41:118 days ago1762033271IN
0x3F124C70...4f56B242F
32 ETH0.000011330.17396817
Batch Deposit237072282025-11-01 21:41:118 days ago1762033271IN
0x3F124C70...4f56B242F
32 ETH0.000010810.17396817
Batch Deposit237072282025-11-01 21:41:118 days ago1762033271IN
0x3F124C70...4f56B242F
32 ETH0.000011840.17396817
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Deposit237635512025-11-09 18:40:1110 hrs ago1762713611
0x3F124C70...4f56B242F
32 ETH
Deposit237483452025-11-07 15:40:112 days ago1762530011
0x3F124C70...4f56B242F
32 ETH
Deposit237483452025-11-07 15:40:112 days ago1762530011
0x3F124C70...4f56B242F
32 ETH
Deposit237474492025-11-07 12:40:112 days ago1762519211
0x3F124C70...4f56B242F
32 ETH
Deposit237474492025-11-07 12:40:112 days ago1762519211
0x3F124C70...4f56B242F
32 ETH
Deposit237465582025-11-07 9:40:112 days ago1762508411
0x3F124C70...4f56B242F
32 ETH
Deposit237456652025-11-07 6:40:112 days ago1762497611
0x3F124C70...4f56B242F
32 ETH
Deposit237438772025-11-07 0:39:593 days ago1762475999
0x3F124C70...4f56B242F
32 ETH
Deposit237438772025-11-07 0:39:593 days ago1762475999
0x3F124C70...4f56B242F
32 ETH
Deposit237420882025-11-06 18:40:233 days ago1762454423
0x3F124C70...4f56B242F
32 ETH
Deposit237420882025-11-06 18:40:233 days ago1762454423
0x3F124C70...4f56B242F
32 ETH
Deposit237367242025-11-06 0:40:114 days ago1762389611
0x3F124C70...4f56B242F
32 ETH
Deposit237331582025-11-05 12:40:114 days ago1762346411
0x3F124C70...4f56B242F
32 ETH
Deposit237331582025-11-05 12:40:114 days ago1762346411
0x3F124C70...4f56B242F
32 ETH
Deposit237269062025-11-04 15:40:115 days ago1762270811
0x3F124C70...4f56B242F
32 ETH
Deposit237269062025-11-04 15:40:115 days ago1762270811
0x3F124C70...4f56B242F
32 ETH
Deposit237269062025-11-04 15:40:115 days ago1762270811
0x3F124C70...4f56B242F
32 ETH
Deposit237152832025-11-03 0:41:117 days ago1762130471
0x3F124C70...4f56B242F
32 ETH
Deposit237125942025-11-02 15:40:117 days ago1762098011
0x3F124C70...4f56B242F
32 ETH
Deposit237117062025-11-02 12:41:117 days ago1762087271
0x3F124C70...4f56B242F
32 ETH
Deposit237117062025-11-02 12:41:117 days ago1762087271
0x3F124C70...4f56B242F
32 ETH
Deposit237108112025-11-02 9:41:117 days ago1762076471
0x3F124C70...4f56B242F
32 ETH
Deposit237072282025-11-01 21:41:118 days ago1762033271
0x3F124C70...4f56B242F
32 ETH
Deposit237072282025-11-01 21:41:118 days ago1762033271
0x3F124C70...4f56B242F
32 ETH
Deposit237072282025-11-01 21:41:118 days ago1762033271
0x3F124C70...4f56B242F
32 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BatchDeposit

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200000 runs

Other Settings:
default evmVersion, None license
// SPDX-License-Identifier: CC0-1.0

pragma solidity 0.8.9;

import {IDepositContract} from "./eth2-official-deposit-contract.sol";

interface IBatchDeposit {
    function batchDeposit(uint validUntil, bytes calldata args) external payable;
}

contract BatchDeposit is IBatchDeposit {
    IDepositContract public immutable depositContract;

    uint constant private pubkeyLength = 48;
    uint constant private withdrawalCredentialsLength = 32;
    uint constant private signatureLength = 96;
    uint constant private depositDataRootLength = 32;
    uint constant private depositArgsLength =
        pubkeyLength +
        withdrawalCredentialsLength +
        signatureLength +
        depositDataRootLength;

    constructor(IDepositContract _depositContract) {
        require(address(_depositContract) != address(0),
                "Please specify the correct deposit contract");
        depositContract = _depositContract;
    }

    function batchDeposit(uint validUntil, bytes calldata args) external payable {
        require(
            block.timestamp < validUntil,
            "Transaction submitted after agreed upon deadline");
        require(
            args.length % depositArgsLength == 0,
            "Input data length must be multiple of depositArgsLength"
        );
        uint count = args.length / depositArgsLength;
        require(msg.value % 32 ether == 0, "msg.value must be multiple of 32 ETH");
        require(msg.value / 32 ether == count, "msg.value must be 32 ETH * count");

        uint withdrawalCredentialsStart;
        uint signatureStart;
        uint depositDataRootStart;

        for (uint pubkeyStart = 0; pubkeyStart < args.length; ) {
            unchecked
            {
                withdrawalCredentialsStart = pubkeyStart + pubkeyLength;
                signatureStart = withdrawalCredentialsStart + withdrawalCredentialsLength;
                depositDataRootStart = signatureStart + signatureLength;
            }

            uint depositDataRootEnd;
            unchecked { depositDataRootEnd = depositDataRootStart + depositDataRootLength; }
            bytes32 depositDataRoot = bytes32(args[depositDataRootStart : depositDataRootEnd]);

            depositContract.deposit{value: 32 ether}(
                args[pubkeyStart : withdrawalCredentialsStart],
                args[withdrawalCredentialsStart : signatureStart],
                args[signatureStart : depositDataRootStart],
                depositDataRoot
            );
            pubkeyStart = depositDataRootEnd;
        }
    }
}

// ┏━━━┓━┏┓━┏┓━━┏━━━┓━━┏━━━┓━━━━┏━━━┓━━━━━━━━━━━━━━━━━━━┏┓━━━━━┏━━━┓━━━━━━━━━┏┓━━━━━━━━━━━━━━┏┓━
// ┃┏━━┛┏┛┗┓┃┃━━┃┏━┓┃━━┃┏━┓┃━━━━┗┓┏┓┃━━━━━━━━━━━━━━━━━━┏┛┗┓━━━━┃┏━┓┃━━━━━━━━┏┛┗┓━━━━━━━━━━━━┏┛┗┓
// ┃┗━━┓┗┓┏┛┃┗━┓┗┛┏┛┃━━┃┃━┃┃━━━━━┃┃┃┃┏━━┓┏━━┓┏━━┓┏━━┓┏┓┗┓┏┛━━━━┃┃━┗┛┏━━┓┏━┓━┗┓┏┛┏━┓┏━━┓━┏━━┓┗┓┏┛
// ┃┏━━┛━┃┃━┃┏┓┃┏━┛┏┛━━┃┃━┃┃━━━━━┃┃┃┃┃┏┓┃┃┏┓┃┃┏┓┃┃━━┫┣┫━┃┃━━━━━┃┃━┏┓┃┏┓┃┃┏┓┓━┃┃━┃┏┛┗━┓┃━┃┏━┛━┃┃━
// ┃┗━━┓━┃┗┓┃┃┃┃┃┃┗━┓┏┓┃┗━┛┃━━━━┏┛┗┛┃┃┃━┫┃┗┛┃┃┗┛┃┣━━┃┃┃━┃┗┓━━━━┃┗━┛┃┃┗┛┃┃┃┃┃━┃┗┓┃┃━┃┗┛┗┓┃┗━┓━┃┗┓
// ┗━━━┛━┗━┛┗┛┗┛┗━━━┛┗┛┗━━━┛━━━━┗━━━┛┗━━┛┃┏━┛┗━━┛┗━━┛┗┛━┗━┛━━━━┗━━━┛┗━━┛┗┛┗┛━┗━┛┗┛━┗━━━┛┗━━┛━┗━┛
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┃┃━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┗┛━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

// SPDX-License-Identifier: CC0-1.0

pragma solidity 0.8.9;

// This interface is designed to be compatible with the Vyper version.
/// @notice This is the Ethereum 2.0 deposit contract interface.
/// For more information see the Phase 0 specification under https://github.com/ethereum/eth2.0-specs
interface IDepositContract {
    /// @notice A processed deposit event.
    event DepositEvent(
        bytes pubkey,
        bytes withdrawal_credentials,
        bytes amount,
        bytes signature,
        bytes index
    );

    /// @notice Submit a Phase 0 DepositData object.
    /// @param pubkey A BLS12-381 public key.
    /// @param withdrawal_credentials Commitment to a public key for withdrawals.
    /// @param signature A BLS12-381 signature.
    /// @param deposit_data_root The SHA-256 hash of the SSZ-encoded DepositData object.
    /// Used as a protection against malformed input.
    function deposit(
        bytes calldata pubkey,
        bytes calldata withdrawal_credentials,
        bytes calldata signature,
        bytes32 deposit_data_root
    ) external payable;

    /// @notice Query the current deposit root hash.
    /// @return The deposit root hash.
    function get_deposit_root() external view returns (bytes32);

    /// @notice Query the current deposit count.
    /// @return The deposit count encoded as a little endian 64-bit number.
    function get_deposit_count() external view returns (bytes memory);
}

// Based on official specification in https://eips.ethereum.org/EIPS/eip-165
interface ERC165 {
    /// @notice Query if a contract implements an interface
    /// @param interfaceId The interface identifier, as specified in ERC-165
    /// @dev Interface identification is specified in ERC-165. This function
    ///  uses less than 30,000 gas.
    /// @return `true` if the contract implements `interfaceId` and
    ///  `interfaceId` is not 0xffffffff, `false` otherwise
    function supportsInterface(bytes4 interfaceId) external pure returns (bool);
}

// This is a rewrite of the Vyper Eth2.0 deposit contract in Solidity.
// It tries to stay as close as possible to the original source code.
/// @notice This is the Ethereum 2.0 deposit contract interface.
/// For more information see the Phase 0 specification under https://github.com/ethereum/eth2.0-specs
contract DepositContract is IDepositContract, ERC165 {
    uint constant DEPOSIT_CONTRACT_TREE_DEPTH = 32;
    // NOTE: this also ensures `deposit_count` will fit into 64-bits
    uint constant MAX_DEPOSIT_COUNT = 2**DEPOSIT_CONTRACT_TREE_DEPTH - 1;

    bytes32[DEPOSIT_CONTRACT_TREE_DEPTH] branch;
    uint256 deposit_count;

    bytes32[DEPOSIT_CONTRACT_TREE_DEPTH] zero_hashes;

    constructor() {
        // Compute hashes in empty sparse Merkle tree
        for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH - 1; height++)
            zero_hashes[height + 1] = sha256(abi.encodePacked(zero_hashes[height], zero_hashes[height]));
    }

    function get_deposit_root() override external view returns (bytes32) {
        bytes32 node;
        uint size = deposit_count;
        for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH; height++) {
            if ((size & 1) == 1)
                node = sha256(abi.encodePacked(branch[height], node));
            else
                node = sha256(abi.encodePacked(node, zero_hashes[height]));
            size /= 2;
        }
        return sha256(abi.encodePacked(
            node,
            to_little_endian_64(uint64(deposit_count)),
            bytes24(0)
        ));
    }

    function get_deposit_count() override external view returns (bytes memory) {
        return to_little_endian_64(uint64(deposit_count));
    }

    function deposit(
        bytes calldata pubkey,
        bytes calldata withdrawal_credentials,
        bytes calldata signature,
        bytes32 deposit_data_root
    ) override external payable {
        // Extended ABI length checks since dynamic types are used.
        require(pubkey.length == 48, "DepositContract: invalid pubkey length");
        require(withdrawal_credentials.length == 32, "DepositContract: invalid withdrawal_credentials length");
        require(signature.length == 96, "DepositContract: invalid signature length");

        // Check deposit amount
        require(msg.value >= 1 ether, "DepositContract: deposit value too low");
        require(msg.value % 1 gwei == 0, "DepositContract: deposit value not multiple of gwei");
        uint deposit_amount = msg.value / 1 gwei;
        require(deposit_amount <= type(uint64).max, "DepositContract: deposit value too high");

        // Emit `DepositEvent` log
        bytes memory amount = to_little_endian_64(uint64(deposit_amount));
        emit DepositEvent(
            pubkey,
            withdrawal_credentials,
            amount,
            signature,
            to_little_endian_64(uint64(deposit_count))
        );

        // Compute deposit data root (`DepositData` hash tree root)
        bytes32 pubkey_root = sha256(abi.encodePacked(pubkey, bytes16(0)));
        bytes32 signature_root = sha256(abi.encodePacked(
            sha256(abi.encodePacked(signature[:64])),
            sha256(abi.encodePacked(signature[64:], bytes32(0)))
        ));
        bytes32 node = sha256(abi.encodePacked(
            sha256(abi.encodePacked(pubkey_root, withdrawal_credentials)),
            sha256(abi.encodePacked(amount, bytes24(0), signature_root))
        ));

        // Verify computed and expected deposit data roots match
        require(node == deposit_data_root, "DepositContract: reconstructed DepositData does not match supplied deposit_data_root");

        // Avoid overflowing the Merkle tree (and prevent edge case in computing `branch`)
        require(deposit_count < MAX_DEPOSIT_COUNT, "DepositContract: merkle tree full");

        // Add deposit data root to Merkle tree (update a single `branch` node)
        deposit_count += 1;
        uint size = deposit_count;
        for (uint height = 0; height < DEPOSIT_CONTRACT_TREE_DEPTH; height++) {
            if ((size & 1) == 1) {
                branch[height] = node;
                return;
            }
            node = sha256(abi.encodePacked(branch[height], node));
            size /= 2;
        }
        // As the loop should always end prematurely with the `return` statement,
        // this code should be unreachable. We assert `false` just to be safe.
        assert(false);
    }

    function supportsInterface(bytes4 interfaceId) override external pure returns (bool) {
        return interfaceId == type(ERC165).interfaceId || interfaceId == type(IDepositContract).interfaceId;
    }

    function to_little_endian_64(uint64 value) internal pure returns (bytes memory ret) {
        ret = new bytes(8);
        bytes8 bytesValue = bytes8(value);
        // Byteswapping during copying to bytes.
        ret[0] = bytesValue[7];
        ret[1] = bytesValue[6];
        ret[2] = bytesValue[5];
        ret[3] = bytesValue[4];
        ret[4] = bytesValue[3];
        ret[5] = bytesValue[2];
        ret[6] = bytesValue[1];
        ret[7] = bytesValue[0];
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200000
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"contract IDepositContract","name":"_depositContract","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"validUntil","type":"uint256"},{"internalType":"bytes","name":"args","type":"bytes"}],"name":"batchDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"depositContract","outputs":[{"internalType":"contract IDepositContract","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b5060405161079d38038061079d83398101604081905261002f916100ae565b6001600160a01b03811661009d5760405162461bcd60e51b815260206004820152602b60248201527f506c6561736520737065636966792074686520636f7272656374206465706f7360448201526a1a5d0818dbdb9d1c9858dd60aa1b606482015260840160405180910390fd5b6001600160a01b03166080526100de565b6000602082840312156100c057600080fd5b81516001600160a01b03811681146100d757600080fd5b9392505050565b60805161069e6100ff600039600081816055015261038d015261069e6000f3fe6080604052600436106100295760003560e01c8063592c0b7d1461002e578063e94ad65b14610043575b600080fd5b61004161003c366004610455565b6100a0565b005b34801561004f57600080fd5b506100777f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b824210610134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f5472616e73616374696f6e207375626d6974746564206166746572206167726560448201527f65642075706f6e20646561646c696e650000000000000000000000000000000060648201526084015b60405180910390fd5b602060606101438260306104d1565b61014d91906104d1565b61015791906104d1565b610161908261053f565b156101ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f496e7075742064617461206c656e677468206d757374206265206d756c74697060448201527f6c65206f66206465706f736974417267734c656e677468000000000000000000606482015260840161012b565b6000602060606101ff8260306104d1565b61020991906104d1565b61021391906104d1565b61021d9083610553565b90506102326801bc16d674ec8000003461053f565b156102be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6d73672e76616c7565206d757374206265206d756c7469706c65206f6620333260448201527f2045544800000000000000000000000000000000000000000000000000000000606482015260840161012b565b806102d26801bc16d674ec80000034610553565b14610339576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6d73672e76616c7565206d75737420626520333220455448202a20636f756e74604482015260640161012b565b60008080805b8581101561044b5760308101935060508101925060b08101915060d08101600061036b82858a8c610567565b61037491610591565b905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001663228951186801bc16d674ec8000006103c889878d8f610567565b8d8d8c908c926103da93929190610567565b8f8f8d908d926103ec93929190610567565b896040518963ffffffff1660e01b815260040161040f9796959493929190610617565b6000604051808303818588803b15801561042857600080fd5b505af115801561043c573d6000803e3d6000fd5b5050505050819250505061033f565b5050505050505050565b60008060006040848603121561046a57600080fd5b83359250602084013567ffffffffffffffff8082111561048957600080fd5b818601915086601f83011261049d57600080fd5b8135818111156104ac57600080fd5b8760208285010111156104be57600080fd5b6020830194508093505050509250925092565b6000821982111561050b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261054e5761054e610510565b500690565b60008261056257610562610510565b500490565b6000808585111561057757600080fd5b8386111561058457600080fd5b5050820193919092039150565b803560208310156105c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b92915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60808152600061062b60808301898b6105ce565b828103602084015261063e81888a6105ce565b905082810360408401526106538186886105ce565b9150508260608301529897505050505050505056fea2646970667358221220074b09d874e02c55c037e2f92c03ac96e1141c8f0575df39a6b7c7521d62a68664736f6c6343000809003300000000000000000000000000000000219ab540356cbb839cbe05303d7705fa

Deployed Bytecode

0x6080604052600436106100295760003560e01c8063592c0b7d1461002e578063e94ad65b14610043575b600080fd5b61004161003c366004610455565b6100a0565b005b34801561004f57600080fd5b506100777f00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa81565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b824210610134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f5472616e73616374696f6e207375626d6974746564206166746572206167726560448201527f65642075706f6e20646561646c696e650000000000000000000000000000000060648201526084015b60405180910390fd5b602060606101438260306104d1565b61014d91906104d1565b61015791906104d1565b610161908261053f565b156101ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603760248201527f496e7075742064617461206c656e677468206d757374206265206d756c74697060448201527f6c65206f66206465706f736974417267734c656e677468000000000000000000606482015260840161012b565b6000602060606101ff8260306104d1565b61020991906104d1565b61021391906104d1565b61021d9083610553565b90506102326801bc16d674ec8000003461053f565b156102be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f6d73672e76616c7565206d757374206265206d756c7469706c65206f6620333260448201527f2045544800000000000000000000000000000000000000000000000000000000606482015260840161012b565b806102d26801bc16d674ec80000034610553565b14610339576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f6d73672e76616c7565206d75737420626520333220455448202a20636f756e74604482015260640161012b565b60008080805b8581101561044b5760308101935060508101925060b08101915060d08101600061036b82858a8c610567565b61037491610591565b905073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000219ab540356cbb839cbe05303d7705fa1663228951186801bc16d674ec8000006103c889878d8f610567565b8d8d8c908c926103da93929190610567565b8f8f8d908d926103ec93929190610567565b896040518963ffffffff1660e01b815260040161040f9796959493929190610617565b6000604051808303818588803b15801561042857600080fd5b505af115801561043c573d6000803e3d6000fd5b5050505050819250505061033f565b5050505050505050565b60008060006040848603121561046a57600080fd5b83359250602084013567ffffffffffffffff8082111561048957600080fd5b818601915086601f83011261049d57600080fd5b8135818111156104ac57600080fd5b8760208285010111156104be57600080fd5b6020830194508093505050509250925092565b6000821982111561050b577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261054e5761054e610510565b500690565b60008261056257610562610510565b500490565b6000808585111561057757600080fd5b8386111561058457600080fd5b5050820193919092039150565b803560208310156105c8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b165b92915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60808152600061062b60808301898b6105ce565b828103602084015261063e81888a6105ce565b905082810360408401526106538186886105ce565b9150508260608301529897505050505050505056fea2646970667358221220074b09d874e02c55c037e2f92c03ac96e1141c8f0575df39a6b7c7521d62a68664736f6c63430008090033

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

00000000000000000000000000000000219ab540356cBB839Cbe05303d7705Fa

-----Decoded View---------------
Arg [0] : _depositContract (address): 0x00000000219ab540356cBB839Cbe05303d7705Fa

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000219ab540356cBB839Cbe05303d7705Fa


Deployed Bytecode Sourcemap

244:2315:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;942:1615;;;;;;:::i;:::-;;:::i;:::-;;289:49;;;;;;;;;;;;;;;;;;878:42:2;866:55;;;848:74;;836:2;821:18;289:49:0;;;;;;;942:1615;1068:10;1050:15;:28;1029:114;;;;;;;1135:2:2;1029:114:0;;;1117:21:2;1174:2;1154:18;;;1147:30;1213:34;1193:18;;;1186:62;1284:18;1264;;;1257:46;1320:19;;1029:114:0;;;;;;;;;544:2;490;602:50;544:2;382;602:50;:::i;:::-;:76;;;;:::i;:::-;:108;;;;:::i;:::-;1174:31;;:4;:31;:::i;:::-;:36;1153:138;;;;;;;2145:2:2;1153:138:0;;;2127:21:2;2184:2;2164:18;;;2157:30;2223:34;2203:18;;;2196:62;2294:25;2274:18;;;2267:53;2337:19;;1153:138:0;1943:419:2;1153:138:0;1301:10;544:2;490;602:50;544:2;382;602:50;:::i;:::-;:76;;;;:::i;:::-;:108;;;;:::i;:::-;1314:31;;:4;:31;:::i;:::-;1301:44;-1:-1:-1;1363:20:0;1375:8;1363:9;:20;:::i;:::-;:25;1355:74;;;;;;;2694:2:2;1355:74:0;;;2676:21:2;2733:2;2713:18;;;2706:30;2772:34;2752:18;;;2745:62;2843:6;2823:18;;;2816:34;2867:19;;1355:74:0;2492:400:2;1355:74:0;1471:5;1447:20;1459:8;1447:9;:20;:::i;:::-;:29;1439:74;;;;;;;3099:2:2;1439:74:0;;;3081:21:2;;;3118:18;;;3111:30;3177:34;3157:18;;;3150:62;3229:18;;1439:74:0;2897:356:2;1439:74:0;1524:31;;;;1630:921;1657:25;;;1630:921;;;382:2;1769:26;;;-1:-1:-1;1830:56:0;;;;-1:-1:-1;1927:32:0;;;;-1:-1:-1;2058:44:0;;;1988:23;2152:47;2058:44;1927:32;2152:4;;:47;:::i;:::-;2144:56;;;:::i;:::-;2118:82;-1:-1:-1;2215:23:0;:15;:23;;2246:8;2273:46;2292:26;2278:11;2273:4;;:46;:::i;:::-;2337:4;;2342:26;2337:49;2371:14;2337:49;;;;;;;:::i;:::-;2404:4;;2409:14;2404:43;2426:20;2404:43;;;;;;;:::i;:::-;2465:15;2215:279;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2522:18;2508:32;;1686:865;;1630:921;;;;1019:1538;;;;942:1615;;;:::o;14:659:2:-;93:6;101;109;162:2;150:9;141:7;137:23;133:32;130:52;;;178:1;175;168:12;130:52;214:9;201:23;191:33;;275:2;264:9;260:18;247:32;298:18;339:2;331:6;328:14;325:34;;;355:1;352;345:12;325:34;393:6;382:9;378:22;368:32;;438:7;431:4;427:2;423:13;419:27;409:55;;460:1;457;450:12;409:55;500:2;487:16;526:2;518:6;515:14;512:34;;;542:1;539;532:12;512:34;587:7;582:2;573:6;569:2;565:15;561:24;558:37;555:57;;;608:1;605;598:12;555:57;639:2;635;631:11;621:21;;661:6;651:16;;;;;14:659;;;;;:::o;1350:282::-;1390:3;1421:1;1417:6;1414:1;1411:13;1408:193;;;1457:77;1454:1;1447:88;1558:4;1555:1;1548:15;1586:4;1583:1;1576:15;1408:193;-1:-1:-1;1617:9:2;;1350:282::o;1637:184::-;1689:77;1686:1;1679:88;1786:4;1783:1;1776:15;1810:4;1807:1;1800:15;1826:112;1858:1;1884;1874:35;;1889:18;;:::i;:::-;-1:-1:-1;1923:9:2;;1826:112::o;2367:120::-;2407:1;2433;2423:35;;2438:18;;:::i;:::-;-1:-1:-1;2472:9:2;;2367:120::o;3258:331::-;3363:9;3374;3416:8;3404:10;3401:24;3398:44;;;3438:1;3435;3428:12;3398:44;3467:6;3457:8;3454:20;3451:40;;;3487:1;3484;3477:12;3451:40;-1:-1:-1;;3513:23:2;;;3558:25;;;;;-1:-1:-1;3258:331:2:o;3594:315::-;3714:19;;3753:2;3745:11;;3742:161;;;3825:66;3814:2;3810:12;;;3807:1;3803:20;3799:93;3788:105;3742:161;3594:315;;;;:::o;3914:325::-;4002:6;3997:3;3990:19;4054:6;4047:5;4040:4;4035:3;4031:14;4018:43;;4106:1;4099:4;4090:6;4085:3;4081:16;4077:27;4070:38;3972:3;4228:4;4158:66;4153:2;4145:6;4141:15;4137:88;4132:3;4128:98;4124:109;4117:116;;3914:325;;;;:::o;4244:709::-;4559:3;4548:9;4541:22;4522:4;4586:62;4643:3;4632:9;4628:19;4620:6;4612;4586:62;:::i;:::-;4696:9;4688:6;4684:22;4679:2;4668:9;4664:18;4657:50;4730:49;4772:6;4764;4756;4730:49;:::i;:::-;4716:63;;4827:9;4819:6;4815:22;4810:2;4799:9;4795:18;4788:50;4855:49;4897:6;4889;4881;4855:49;:::i;:::-;4847:57;;;4940:6;4935:2;4924:9;4920:18;4913:34;4244:709;;;;;;;;;;:::o

Swarm Source

ipfs://074b09d874e02c55c037e2f92c03ac96e1141c8f0575df39a6b7c7521d62a686

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
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.