ETH Price: $3,280.93 (-0.22%)
 

Overview

ETH Balance

Scroll LogoScroll LogoScroll Logo6.729235396474356639 ETH

ETH Value

$22,078.12 (@ $3,280.93/ETH)

More Info

Private Name Tags

ContractCreator

N/A (Genesis Contract)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw260281692025-12-05 10:58:5442 days ago1764932334IN
Scroll: L2 Tx Fee Vault
0 ETH0.000000030.0001201
Withdraw172581232025-07-16 9:14:26184 days ago1752657266IN
Scroll: L2 Tx Fee Vault
0 ETH0.000001230.00613742
Withdraw134167322025-02-14 8:23:15336 days ago1739521395IN
Scroll: L2 Tx Fee Vault
0 ETH0.000008690.03948387
Withdraw129299302025-01-24 9:10:11357 days ago1737709811IN
Scroll: L2 Tx Fee Vault
0 ETH0.000025080.11500697
Withdraw124183402025-01-03 8:35:41378 days ago1735893341IN
Scroll: L2 Tx Fee Vault
0 ETH0.000015030.05992821
Withdraw120609992024-12-20 8:37:33392 days ago1734683853IN
Scroll: L2 Tx Fee Vault
0 ETH0.000017860.04960413
Withdraw116878682024-12-06 7:23:23406 days ago1733469803IN
Scroll: L2 Tx Fee Vault
0 ETH0.000047690.2
Withdraw113044472024-11-22 8:20:21420 days ago1732263621IN
Scroll: L2 Tx Fee Vault
0 ETH0.000042740.2
Withdraw102844342024-10-18 13:24:23455 days ago1729257863IN
Scroll: L2 Tx Fee Vault
0 ETH0.000016720.04243634
Withdraw100609932024-10-11 8:03:17462 days ago1728633797IN
Scroll: L2 Tx Fee Vault
0 ETH0.000012910.04126264
Withdraw98560632024-10-04 7:24:49469 days ago1728026689IN
Scroll: L2 Tx Fee Vault
0 ETH0.000008820.04010475
Withdraw96547822024-09-27 9:12:52476 days ago1727428372IN
Scroll: L2 Tx Fee Vault
0 ETH0.000019430.08183823
Withdraw94508172024-09-20 8:06:32483 days ago1726819592IN
Scroll: L2 Tx Fee Vault
0 ETH0.000021130.09
Withdraw90420652024-09-06 6:31:05497 days ago1725604265IN
Scroll: L2 Tx Fee Vault
0 ETH0.000008260.0404284
Withdraw88350092024-08-30 8:00:53504 days ago1725004853IN
Scroll: L2 Tx Fee Vault
0 ETH0.000008270.03917806
Withdraw84217832024-08-16 8:30:11518 days ago1723797011IN
Scroll: L2 Tx Fee Vault
0 ETH0.000008020.0386908
Withdraw82123382024-08-09 7:43:44525 days ago1723189424IN
Scroll: L2 Tx Fee Vault
0 ETH0.000011840.05609187
Withdraw73610762024-07-12 12:37:29553 days ago1720787849IN
Scroll: L2 Tx Fee Vault
0 ETH0.000013150.06223538
Withdraw69539132024-06-28 9:04:46567 days ago1719565486IN
Scroll: L2 Tx Fee Vault
0 ETH0.00004040.2142
Withdraw65512062024-06-14 9:19:48581 days ago1718356788IN
Scroll: L2 Tx Fee Vault
0 ETH0.000044440.22
Withdraw63474342024-06-07 7:27:32588 days ago1717745252IN
Scroll: L2 Tx Fee Vault
0 ETH0.000044450.21
Withdraw59505982024-05-24 12:36:06602 days ago1716554166IN
Scroll: L2 Tx Fee Vault
0 ETH0.000043190.2
Withdraw51475292024-04-26 13:43:14630 days ago1714138994IN
Scroll: L2 Tx Fee Vault
0 ETH0.000373451.77
Withdraw49137642024-04-18 10:19:15638 days ago1713435555IN
Scroll: L2 Tx Fee Vault
0 ETH0.000249110.83
Withdraw44733702024-03-28 9:14:14659 days ago1711617254IN
Scroll: L2 Tx Fee Vault
0 ETH0.000365351.36
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
260281692025-12-05 10:58:5442 days ago1764932334
Scroll: L2 Tx Fee Vault
23.24777341 ETH
172581232025-07-16 9:14:26184 days ago1752657266
Scroll: L2 Tx Fee Vault
48.48292684 ETH
134167322025-02-14 8:23:15336 days ago1739521395
Scroll: L2 Tx Fee Vault
29.76025817 ETH
129299302025-01-24 9:10:11357 days ago1737709811
Scroll: L2 Tx Fee Vault
24.18966036 ETH
124183402025-01-03 8:35:41378 days ago1735893341
Scroll: L2 Tx Fee Vault
14.94583576 ETH
120609992024-12-20 8:37:33392 days ago1734683853
Scroll: L2 Tx Fee Vault
22.67085833 ETH
116878682024-12-06 7:23:23406 days ago1733469803
Scroll: L2 Tx Fee Vault
24.95922973 ETH
113044472024-11-22 8:20:21420 days ago1732263621
Scroll: L2 Tx Fee Vault
156.41758145 ETH
109009882024-11-07 21:06:44434 days ago1731013604
Scroll: L2 Tx Fee Vault
0 ETH
109009882024-11-07 21:06:44434 days ago1731013604
Scroll: L2 Tx Fee Vault
0.000005 ETH
109009552024-11-07 21:05:05434 days ago1731013505
Scroll: L2 Tx Fee Vault
0 ETH
109009552024-11-07 21:05:05434 days ago1731013505
Scroll: L2 Tx Fee Vault
0.0000006 ETH
102844342024-10-18 13:24:23455 days ago1729257863
Scroll: L2 Tx Fee Vault
101.47747913 ETH
100609932024-10-11 8:03:17462 days ago1728633797
Scroll: L2 Tx Fee Vault
52.17128132 ETH
98560632024-10-04 7:24:49469 days ago1728026689
Scroll: L2 Tx Fee Vault
54.96188208 ETH
96547822024-09-27 9:12:52476 days ago1727428372
Scroll: L2 Tx Fee Vault
66.86142788 ETH
94508172024-09-20 8:06:32483 days ago1726819592
Scroll: L2 Tx Fee Vault
72.40058833 ETH
90420652024-09-06 6:31:05497 days ago1725604265
Scroll: L2 Tx Fee Vault
30.45340231 ETH
88350092024-08-30 8:00:53504 days ago1725004853
Scroll: L2 Tx Fee Vault
54.87899309 ETH
87716932024-08-28 5:07:13506 days ago1724821633
Scroll: L2 Tx Fee Vault
0 ETH
87449352024-08-27 8:00:55507 days ago1724745655
Scroll: L2 Tx Fee Vault
0 ETH
87449352024-08-27 8:00:55507 days ago1724745655
Scroll: L2 Tx Fee Vault
0.0000025 ETH
87449072024-08-27 7:59:36507 days ago1724745576
Scroll: L2 Tx Fee Vault
0 ETH
87446462024-08-27 7:46:56507 days ago1724744816
Scroll: L2 Tx Fee Vault
0 ETH
87446462024-08-27 7:46:56507 days ago1724744816
Scroll: L2 Tx Fee Vault
0.0000005 ETH
View All Internal Transactions
Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Genesis Bytecode Match Only)

Contract Name:
L2TxFeeVault

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
// SPDX-License-Identifier: MIT

// MIT License

// Copyright (c) 2022 Optimism
// Copyright (c) 2022 Scroll

// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.

pragma solidity =0.8.16;

import {IL2ScrollMessenger} from "../IL2ScrollMessenger.sol";
import {OwnableBase} from "../../libraries/common/OwnableBase.sol";

// solhint-disable no-empty-blocks
// solhint-disable reason-string

/// @title L2TxFeeVault
/// @notice The L2TxFeeVault contract contains the logic for the vault contracts
///         used to hold fee revenue generated by the L2 system.
contract L2TxFeeVault is OwnableBase {
    /**********
     * Events *
     **********/

    /// @notice Emits each time that a withdrawal occurs.
    ///
    /// @param value Amount that was withdrawn (in wei).
    /// @param to    Address that the funds were sent to.
    /// @param from  Address that triggered the withdrawal.
    event Withdrawal(uint256 value, address to, address from);

    /// @notice Emits each time the owner updates the address of `messenger`.
    /// @param oldMessenger The address of old messenger.
    /// @param newMessenger The address of new messenger.
    event UpdateMessenger(address indexed oldMessenger, address indexed newMessenger);

    /// @notice Emits each time the owner updates the address of `recipient`.
    /// @param oldRecipient The address of old recipient.
    /// @param newRecipient The address of new recipient.
    event UpdateRecipient(address indexed oldRecipient, address indexed newRecipient);

    /// @notice Emits each time the owner updates the value of `minWithdrawAmount`.
    /// @param oldMinWithdrawAmount The value of old `minWithdrawAmount`.
    /// @param newMinWithdrawAmount The value of new `minWithdrawAmount`.
    event UpdateMinWithdrawAmount(uint256 oldMinWithdrawAmount, uint256 newMinWithdrawAmount);

    /*************
     * Variables *
     *************/

    /// @notice Minimum balance before a withdrawal can be triggered.
    uint256 public minWithdrawAmount;

    /// @notice Scroll L2 messenger address.
    address public messenger;

    /// @notice Wallet that will receive the fees on L1.
    address public recipient;

    /// @notice Total amount of wei processed by the contract.
    uint256 public totalProcessed;

    /***************
     * Constructor *
     ***************/

    /// @param _owner               The owner of the contract.
    /// @param _recipient           Wallet that will receive the fees on L1.
    /// @param _minWithdrawalAmount Minimum balance before a withdrawal can be triggered.
    constructor(
        address _owner,
        address _recipient,
        uint256 _minWithdrawalAmount
    ) {
        _transferOwnership(_owner);

        minWithdrawAmount = _minWithdrawalAmount;
        recipient = _recipient;
    }

    /*****************************
     * Public Mutating Functions *
     *****************************/

    /// @notice Allow the contract to receive ETH.
    receive() external payable {}

    /// @notice Triggers a withdrawal of funds to the L1 fee wallet.
    /// @param _value The amount of ETH to withdraw.
    function withdraw(uint256 _value) public {
        require(
            _value >= minWithdrawAmount,
            "FeeVault: withdrawal amount must be greater than minimum withdrawal amount"
        );

        uint256 _balance = address(this).balance;
        require(_value <= _balance, "FeeVault: insufficient balance to withdraw");

        unchecked {
            totalProcessed += _value;
        }

        emit Withdrawal(_value, recipient, msg.sender);

        // no fee provided
        IL2ScrollMessenger(messenger).sendMessage{value: _value}(
            recipient,
            _value,
            bytes(""), // no message (simple eth transfer)
            0 // _gasLimit can be zero for fee vault.
        );
    }

    /// @notice Triggers a withdrawal of all available funds to the L1 fee wallet.
    function withdraw() external {
        uint256 value = address(this).balance;
        withdraw(value);
    }

    /************************
     * Restricted Functions *
     ************************/

    /// @notice Update the address of messenger.
    /// @param _newMessenger The address of messenger to update.
    function updateMessenger(address _newMessenger) external onlyOwner {
        address _oldMessenger = messenger;
        messenger = _newMessenger;

        emit UpdateMessenger(_oldMessenger, _newMessenger);
    }

    /// @notice Update the address of recipient.
    /// @param _newRecipient The address of recipient to update.
    function updateRecipient(address _newRecipient) external onlyOwner {
        address _oldRecipient = recipient;
        recipient = _newRecipient;

        emit UpdateRecipient(_oldRecipient, _newRecipient);
    }

    /// @notice Update the minimum withdraw amount.
    /// @param _newMinWithdrawAmount The minimum withdraw amount to update.
    function updateMinWithdrawAmount(uint256 _newMinWithdrawAmount) external onlyOwner {
        uint256 _oldMinWithdrawAmount = minWithdrawAmount;
        minWithdrawAmount = _newMinWithdrawAmount;

        emit UpdateMinWithdrawAmount(_oldMinWithdrawAmount, _newMinWithdrawAmount);
    }
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.16;

import {IScrollMessenger} from "../libraries/IScrollMessenger.sol";

interface IL2ScrollMessenger is IScrollMessenger {
    /**********
     * Events *
     **********/

    /// @notice Emitted when the maximum number of times each message can fail in L2 is updated.
    /// @param oldMaxFailedExecutionTimes The old maximum number of times each message can fail in L2.
    /// @param newMaxFailedExecutionTimes The new maximum number of times each message can fail in L2.
    event UpdateMaxFailedExecutionTimes(uint256 oldMaxFailedExecutionTimes, uint256 newMaxFailedExecutionTimes);

    /*****************************
     * Public Mutating Functions *
     *****************************/

    /// @notice execute L1 => L2 message
    /// @dev Make sure this is only called by privileged accounts.
    /// @param from The address of the sender of the message.
    /// @param to The address of the recipient of the message.
    /// @param value The msg.value passed to the message call.
    /// @param nonce The nonce of the message to avoid replay attack.
    /// @param message The content of the message.
    function relayMessage(
        address from,
        address to,
        uint256 value,
        uint256 nonce,
        bytes calldata message
    ) external;
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.16;

abstract contract OwnableBase {
    /**********
     * Events *
     **********/

    /// @notice Emitted when owner is changed by current owner.
    /// @param _oldOwner The address of previous owner.
    /// @param _newOwner The address of new owner.
    event OwnershipTransferred(address indexed _oldOwner, address indexed _newOwner);

    /*************
     * Variables *
     *************/

    /// @notice The address of the current owner.
    address public owner;

    /**********************
     * Function Modifiers *
     **********************/

    /// @dev Throws if called by any account other than the owner.
    modifier onlyOwner() {
        require(owner == msg.sender, "caller is not the owner");
        _;
    }

    /************************
     * Restricted Functions *
     ************************/

    /// @notice Leaves the contract without owner. It will not be possible to call
    /// `onlyOwner` functions anymore. Can only be called by the current owner.
    ///
    /// @dev Renouncing ownership will leave the contract without an owner,
    /// thereby removing any functionality that is only available to the owner.
    function renounceOwnership() public onlyOwner {
        _transferOwnership(address(0));
    }

    /// @notice Transfers ownership of the contract to a new account (`newOwner`).
    /// Can only be called by the current owner.
    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0), "new owner is the zero address");
        _transferOwnership(_newOwner);
    }

    /**********************
     * Internal Functions *
     **********************/

    /// @dev Transfers ownership of the contract to a new account (`newOwner`).
    /// Internal function without access restriction.
    function _transferOwnership(address _newOwner) internal {
        address _oldOwner = owner;
        owner = _newOwner;
        emit OwnershipTransferred(_oldOwner, _newOwner);
    }
}

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.16;

interface IScrollMessenger {
    /**********
     * Events *
     **********/

    /// @notice Emitted when a cross domain message is sent.
    /// @param sender The address of the sender who initiates the message.
    /// @param target The address of target contract to call.
    /// @param value The amount of value passed to the target contract.
    /// @param messageNonce The nonce of the message.
    /// @param gasLimit The optional gas limit passed to L1 or L2.
    /// @param message The calldata passed to the target contract.
    event SentMessage(
        address indexed sender,
        address indexed target,
        uint256 value,
        uint256 messageNonce,
        uint256 gasLimit,
        bytes message
    );

    /// @notice Emitted when a cross domain message is relayed successfully.
    /// @param messageHash The hash of the message.
    event RelayedMessage(bytes32 indexed messageHash);

    /// @notice Emitted when a cross domain message is failed to relay.
    /// @param messageHash The hash of the message.
    event FailedRelayedMessage(bytes32 indexed messageHash);

    /*************************
     * Public View Functions *
     *************************/

    /// @notice Return the sender of a cross domain message.
    function xDomainMessageSender() external view returns (address);

    /*****************************
     * Public Mutating Functions *
     *****************************/

    /// @notice Send cross chain message from L1 to L2 or L2 to L1.
    /// @param target The address of account who receive the message.
    /// @param value The amount of ether passed when call target contract.
    /// @param message The content of the message.
    /// @param gasLimit Gas limit required to complete the message relay on corresponding chain.
    function sendMessage(
        address target,
        uint256 value,
        bytes calldata message,
        uint256 gasLimit
    ) external payable;

    /// @notice Send cross chain message from L1 to L2 or L2 to L1.
    /// @param target The address of account who receive the message.
    /// @param value The amount of ether passed when call target contract.
    /// @param message The content of the message.
    /// @param gasLimit Gas limit required to complete the message relay on corresponding chain.
    /// @param refundAddress The address of account who will receive the refunded fee.
    function sendMessage(
        address target,
        uint256 value,
        bytes calldata message,
        uint256 gasLimit,
        address refundAddress
    ) external payable;
}

Settings
{
  "remappings": [
    "hardhat/=node_modules/hardhat/",
    "forge-std/=lib/forge-std/src/",
    "ds-test/=lib/ds-test/src/",
    "solmate/=lib/solmate/src/",
    "@openzeppelin/=node_modules/@openzeppelin/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "": [
        "ast"
      ],
      "*": [
        "abi",
        "evm.bytecode",
        "evm.deployedBytecode",
        "evm.methodIdentifiers",
        "metadata"
      ]
    }
  },
  "evmVersion": "london",
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_minWithdrawalAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"_newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldMessenger","type":"address"},{"indexed":true,"internalType":"address","name":"newMessenger","type":"address"}],"name":"UpdateMessenger","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"oldMinWithdrawAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newMinWithdrawAmount","type":"uint256"}],"name":"UpdateMinWithdrawAmount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldRecipient","type":"address"},{"indexed":true,"internalType":"address","name":"newRecipient","type":"address"}],"name":"UpdateRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"address","name":"from","type":"address"}],"name":"Withdrawal","type":"event"},{"inputs":[],"name":"messenger","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minWithdrawAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalProcessed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newMessenger","type":"address"}],"name":"updateMessenger","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMinWithdrawAmount","type":"uint256"}],"name":"updateMinWithdrawAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newRecipient","type":"address"}],"name":"updateRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600436106100ab5760003560e01c806384411d651161006457806384411d65146101845780638da5cb5b1461019a5780639e7adc79146101ba578063f2fde38b146101da578063feec756c146101fa578063ff4f35461461021a57600080fd5b80632e1a7d4d146100b75780633cb747bf146100d95780633ccfd60b14610116578063457e1a491461012b57806366d003ac1461014f578063715018a61461016f57600080fd5b366100b257005b600080fd5b3480156100c357600080fd5b506100d76100d2366004610682565b61023a565b005b3480156100e557600080fd5b506002546100f9906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012257600080fd5b506100d76103ff565b34801561013757600080fd5b5061014160015481565b60405190815260200161010d565b34801561015b57600080fd5b506003546100f9906001600160a01b031681565b34801561017b57600080fd5b506100d761040c565b34801561019057600080fd5b5061014160045481565b3480156101a657600080fd5b506000546100f9906001600160a01b031681565b3480156101c657600080fd5b506100d76101d536600461069b565b610442565b3480156101e657600080fd5b506100d76101f536600461069b565b6104be565b34801561020657600080fd5b506100d761021536600461069b565b610547565b34801561022657600080fd5b506100d7610235366004610682565b6105c3565b6001548110156102ca5760405162461bcd60e51b815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d20776974686472616064820152691dd85b08185b5bdd5b9d60b21b608482015260a4015b60405180910390fd5b478082111561032e5760405162461bcd60e51b815260206004820152602a60248201527f4665655661756c743a20696e73756666696369656e742062616c616e636520746044820152696f20776974686472617760b01b60648201526084016102c1565b6004805483019055600354604080518481526001600160a01b0390921660208301523382820152517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1600254600354604080516020810182526000808252915163b2267a7b60e01b81526001600160a01b039485169463b2267a7b9488946103c99491909216928592906004016106cb565b6000604051808303818588803b1580156103e257600080fd5b505af11580156103f6573d6000803e3d6000fd5b50505050505050565b476104098161023a565b50565b6000546001600160a01b031633146104365760405162461bcd60e51b81526004016102c190610737565b6104406000610632565b565b6000546001600160a01b0316331461046c5760405162461bcd60e51b81526004016102c190610737565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f1c928c417a10a21c3cddad148c5dba5d710e4b1442d6d8a36de345935ad8461290600090a35050565b6000546001600160a01b031633146104e85760405162461bcd60e51b81526004016102c190610737565b6001600160a01b03811661053e5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f206164647265737300000060448201526064016102c1565b61040981610632565b6000546001600160a01b031633146105715760405162461bcd60e51b81526004016102c190610737565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f7e1e96961a397c8aa26162fe259cc837afc95e33aad4945ddc61c18dabb7a6ad90600090a35050565b6000546001600160a01b031633146105ed5760405162461bcd60e51b81526004016102c190610737565b600180549082905560408051828152602081018490527f0d3c80219fe57713b9f9c83d1e51426792d0c14d8e330e65b102571816140965910160405180910390a15050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561069457600080fd5b5035919050565b6000602082840312156106ad57600080fd5b81356001600160a01b03811681146106c457600080fd5b9392505050565b60018060a01b038516815260006020858184015260806040840152845180608085015260005b8181101561070d5786810183015185820160a0015282016106f1565b50600060a0828601015260a0601f19601f8301168501019250505082606083015295945050505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e657200000000000000000060408201526060019056fea2646970667358221220063c6c384f745ebcacfdd13320e5b9a50687aae43ff14566761f56273111b97e64736f6c63430008100033

Deployed Bytecode

0x6080604052600436106100ab5760003560e01c806384411d651161006457806384411d65146101845780638da5cb5b1461019a5780639e7adc79146101ba578063f2fde38b146101da578063feec756c146101fa578063ff4f35461461021a57600080fd5b80632e1a7d4d146100b75780633cb747bf146100d95780633ccfd60b14610116578063457e1a491461012b57806366d003ac1461014f578063715018a61461016f57600080fd5b366100b257005b600080fd5b3480156100c357600080fd5b506100d76100d2366004610682565b61023a565b005b3480156100e557600080fd5b506002546100f9906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561012257600080fd5b506100d76103ff565b34801561013757600080fd5b5061014160015481565b60405190815260200161010d565b34801561015b57600080fd5b506003546100f9906001600160a01b031681565b34801561017b57600080fd5b506100d761040c565b34801561019057600080fd5b5061014160045481565b3480156101a657600080fd5b506000546100f9906001600160a01b031681565b3480156101c657600080fd5b506100d76101d536600461069b565b610442565b3480156101e657600080fd5b506100d76101f536600461069b565b6104be565b34801561020657600080fd5b506100d761021536600461069b565b610547565b34801561022657600080fd5b506100d7610235366004610682565b6105c3565b6001548110156102ca5760405162461bcd60e51b815260206004820152604a60248201527f4665655661756c743a207769746864726177616c20616d6f756e74206d75737460448201527f2062652067726561746572207468616e206d696e696d756d20776974686472616064820152691dd85b08185b5bdd5b9d60b21b608482015260a4015b60405180910390fd5b478082111561032e5760405162461bcd60e51b815260206004820152602a60248201527f4665655661756c743a20696e73756666696369656e742062616c616e636520746044820152696f20776974686472617760b01b60648201526084016102c1565b6004805483019055600354604080518481526001600160a01b0390921660208301523382820152517fc8a211cc64b6ed1b50595a9fcb1932b6d1e5a6e8ef15b60e5b1f988ea9086bba9181900360600190a1600254600354604080516020810182526000808252915163b2267a7b60e01b81526001600160a01b039485169463b2267a7b9488946103c99491909216928592906004016106cb565b6000604051808303818588803b1580156103e257600080fd5b505af11580156103f6573d6000803e3d6000fd5b50505050505050565b476104098161023a565b50565b6000546001600160a01b031633146104365760405162461bcd60e51b81526004016102c190610737565b6104406000610632565b565b6000546001600160a01b0316331461046c5760405162461bcd60e51b81526004016102c190610737565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f1c928c417a10a21c3cddad148c5dba5d710e4b1442d6d8a36de345935ad8461290600090a35050565b6000546001600160a01b031633146104e85760405162461bcd60e51b81526004016102c190610737565b6001600160a01b03811661053e5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f206164647265737300000060448201526064016102c1565b61040981610632565b6000546001600160a01b031633146105715760405162461bcd60e51b81526004016102c190610737565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f7e1e96961a397c8aa26162fe259cc837afc95e33aad4945ddc61c18dabb7a6ad90600090a35050565b6000546001600160a01b031633146105ed5760405162461bcd60e51b81526004016102c190610737565b600180549082905560408051828152602081018490527f0d3c80219fe57713b9f9c83d1e51426792d0c14d8e330e65b102571816140965910160405180910390a15050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006020828403121561069457600080fd5b5035919050565b6000602082840312156106ad57600080fd5b81356001600160a01b03811681146106c457600080fd5b9392505050565b60018060a01b038516815260006020858184015260806040840152845180608085015260005b8181101561070d5786810183015185820160a0015282016106f1565b50600060a0828601015260a0601f19601f8301168501019250505082606083015295945050505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e657200000000000000000060408201526060019056fea2646970667358221220063c6c384f745ebcacfdd13320e5b9a50687aae43ff14566761f56273111b97e64736f6c63430008100033

Block Transaction Gas Used Reward
view all blocks sequenced

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