ETH Price: $3,542.53 (+3.55%)

Contract

0x41140Bf6498a36f2E44eFd49f21dAe3bbb7367c8
 

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

ContractCreator:

GENESIS at txn GENESIS_41140bf6498a36f2e44efd49f21dae3bbb7367c8

Sponsored

Transaction Hash
Method
Block
From
To
Value
Nominate New Own...4226832021-11-24 15:09:32938 days ago1637766572IN
Synthetix: Fee Pool Eternal Storage
0 ETH0.000000040.001
GENESIS_41140bf6498a36f2e44efd49f21dae3bbb7367c80x6080604002021-01-14 15:51:401252 days ago1610639500GENESISIN
 Create: FeePoolEternalStorage
0 ETH00

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
1075581042023-07-30 11:03:05325 days ago1690714985
Synthetix: Fee Pool Eternal Storage
0 ETH
1075581042023-07-30 11:03:05325 days ago1690714985
Synthetix: Fee Pool Eternal Storage
0 ETH
1075580412023-07-30 11:00:59325 days ago1690714859
Synthetix: Fee Pool Eternal Storage
0 ETH
1075580412023-07-30 11:00:59325 days ago1690714859
Synthetix: Fee Pool Eternal Storage
0 ETH
1075579072023-07-30 10:56:31325 days ago1690714591
Synthetix: Fee Pool Eternal Storage
0 ETH
1075579072023-07-30 10:56:31325 days ago1690714591
Synthetix: Fee Pool Eternal Storage
0 ETH
1075579032023-07-30 10:56:23325 days ago1690714583
Synthetix: Fee Pool Eternal Storage
0 ETH
1075579032023-07-30 10:56:23325 days ago1690714583
Synthetix: Fee Pool Eternal Storage
0 ETH
1075577672023-07-30 10:51:51325 days ago1690714311
Synthetix: Fee Pool Eternal Storage
0 ETH
1075577672023-07-30 10:51:51325 days ago1690714311
Synthetix: Fee Pool Eternal Storage
0 ETH
1075577422023-07-30 10:51:01325 days ago1690714261
Synthetix: Fee Pool Eternal Storage
0 ETH
1075577422023-07-30 10:51:01325 days ago1690714261
Synthetix: Fee Pool Eternal Storage
0 ETH
1075576642023-07-30 10:48:25325 days ago1690714105
Synthetix: Fee Pool Eternal Storage
0 ETH
1075576642023-07-30 10:48:25325 days ago1690714105
Synthetix: Fee Pool Eternal Storage
0 ETH
1075575942023-07-30 10:46:05325 days ago1690713965
Synthetix: Fee Pool Eternal Storage
0 ETH
1075575942023-07-30 10:46:05325 days ago1690713965
Synthetix: Fee Pool Eternal Storage
0 ETH
1075575842023-07-30 10:45:45325 days ago1690713945
Synthetix: Fee Pool Eternal Storage
0 ETH
1075575842023-07-30 10:45:45325 days ago1690713945
Synthetix: Fee Pool Eternal Storage
0 ETH
1075575692023-07-30 10:45:15325 days ago1690713915
Synthetix: Fee Pool Eternal Storage
0 ETH
1075575692023-07-30 10:45:15325 days ago1690713915
Synthetix: Fee Pool Eternal Storage
0 ETH
1075575552023-07-30 10:44:47325 days ago1690713887
Synthetix: Fee Pool Eternal Storage
0 ETH
1075575552023-07-30 10:44:47325 days ago1690713887
Synthetix: Fee Pool Eternal Storage
0 ETH
1075570662023-07-30 10:28:29325 days ago1690712909
Synthetix: Fee Pool Eternal Storage
0 ETH
1075570662023-07-30 10:28:29325 days ago1690712909
Synthetix: Fee Pool Eternal Storage
0 ETH
1075566402023-07-30 10:14:17325 days ago1690712057
Synthetix: Fee Pool Eternal Storage
0 ETH
View All Internal Transactions

Loading...
Loading

Contract Source Code Verified (Genesis Bytecode Match Only)

Contract Name:
FeePoolEternalStorage

Compiler Version
v0.5.16

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at optimistic.etherscan.io on 2021-08-25
*/

/*
   ____            __   __        __   _
  / __/__ __ ___  / /_ / /  ___  / /_ (_)__ __
 _\ \ / // // _ \/ __// _ \/ -_)/ __// / \ \ /
/___/ \_, //_//_/\__//_//_/\__/ \__//_/ /_\_\
     /___/

* Synthetix: FeePoolEternalStorage.sol
*
* Latest source (may be newer): https://github.com/Synthetixio/synthetix/blob/master/contracts/FeePoolEternalStorage.sol
* Docs: https://docs.synthetix.io/contracts/FeePoolEternalStorage
*
* Contract Dependencies: 
*	- EternalStorage
*	- LimitedSetup
*	- Owned
*	- State
* Libraries: (none)
*
* MIT License
* ===========
*
* Copyright (c) 2021 Synthetix
*
* 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
*/



pragma solidity ^0.5.16;

// https://docs.synthetix.io/contracts/source/contracts/owned
contract Owned {
    address public owner;
    address public nominatedOwner;

    constructor(address _owner) public {
        require(_owner != address(0), "Owner address cannot be 0");
        owner = _owner;
        emit OwnerChanged(address(0), _owner);
    }

    function nominateNewOwner(address _owner) external onlyOwner {
        nominatedOwner = _owner;
        emit OwnerNominated(_owner);
    }

    function acceptOwnership() external {
        require(msg.sender == nominatedOwner, "You must be nominated before you can accept ownership");
        emit OwnerChanged(owner, nominatedOwner);
        owner = nominatedOwner;
        nominatedOwner = address(0);
    }

    modifier onlyOwner {
        _onlyOwner();
        _;
    }

    function _onlyOwner() private view {
        require(msg.sender == owner, "Only the contract owner may perform this action");
    }

    event OwnerNominated(address newOwner);
    event OwnerChanged(address oldOwner, address newOwner);
}


// Inheritance


// https://docs.synthetix.io/contracts/source/contracts/state
contract State is Owned {
    // the address of the contract that can modify variables
    // this can only be changed by the owner of this contract
    address public associatedContract;

    constructor(address _associatedContract) internal {
        // This contract is abstract, and thus cannot be instantiated directly
        require(owner != address(0), "Owner must be set");

        associatedContract = _associatedContract;
        emit AssociatedContractUpdated(_associatedContract);
    }

    /* ========== SETTERS ========== */

    // Change the associated contract to a new address
    function setAssociatedContract(address _associatedContract) external onlyOwner {
        associatedContract = _associatedContract;
        emit AssociatedContractUpdated(_associatedContract);
    }

    /* ========== MODIFIERS ========== */

    modifier onlyAssociatedContract {
        require(msg.sender == associatedContract, "Only the associated contract can perform this action");
        _;
    }

    /* ========== EVENTS ========== */

    event AssociatedContractUpdated(address associatedContract);
}


// Inheritance


// https://docs.synthetix.io/contracts/source/contracts/eternalstorage
/**
 * @notice  This contract is based on the code available from this blog
 * https://blog.colony.io/writing-upgradeable-contracts-in-solidity-6743f0eecc88/
 * Implements support for storing a keccak256 key and value pairs. It is the more flexible
 * and extensible option. This ensures data schema changes can be implemented without
 * requiring upgrades to the storage contract.
 */
contract EternalStorage is Owned, State {
    constructor(address _owner, address _associatedContract) public Owned(_owner) State(_associatedContract) {}

    /* ========== DATA TYPES ========== */
    mapping(bytes32 => uint) internal UIntStorage;
    mapping(bytes32 => string) internal StringStorage;
    mapping(bytes32 => address) internal AddressStorage;
    mapping(bytes32 => bytes) internal BytesStorage;
    mapping(bytes32 => bytes32) internal Bytes32Storage;
    mapping(bytes32 => bool) internal BooleanStorage;
    mapping(bytes32 => int) internal IntStorage;

    // UIntStorage;
    function getUIntValue(bytes32 record) external view returns (uint) {
        return UIntStorage[record];
    }

    function setUIntValue(bytes32 record, uint value) external onlyAssociatedContract {
        UIntStorage[record] = value;
    }

    function deleteUIntValue(bytes32 record) external onlyAssociatedContract {
        delete UIntStorage[record];
    }

    // StringStorage
    function getStringValue(bytes32 record) external view returns (string memory) {
        return StringStorage[record];
    }

    function setStringValue(bytes32 record, string calldata value) external onlyAssociatedContract {
        StringStorage[record] = value;
    }

    function deleteStringValue(bytes32 record) external onlyAssociatedContract {
        delete StringStorage[record];
    }

    // AddressStorage
    function getAddressValue(bytes32 record) external view returns (address) {
        return AddressStorage[record];
    }

    function setAddressValue(bytes32 record, address value) external onlyAssociatedContract {
        AddressStorage[record] = value;
    }

    function deleteAddressValue(bytes32 record) external onlyAssociatedContract {
        delete AddressStorage[record];
    }

    // BytesStorage
    function getBytesValue(bytes32 record) external view returns (bytes memory) {
        return BytesStorage[record];
    }

    function setBytesValue(bytes32 record, bytes calldata value) external onlyAssociatedContract {
        BytesStorage[record] = value;
    }

    function deleteBytesValue(bytes32 record) external onlyAssociatedContract {
        delete BytesStorage[record];
    }

    // Bytes32Storage
    function getBytes32Value(bytes32 record) external view returns (bytes32) {
        return Bytes32Storage[record];
    }

    function setBytes32Value(bytes32 record, bytes32 value) external onlyAssociatedContract {
        Bytes32Storage[record] = value;
    }

    function deleteBytes32Value(bytes32 record) external onlyAssociatedContract {
        delete Bytes32Storage[record];
    }

    // BooleanStorage
    function getBooleanValue(bytes32 record) external view returns (bool) {
        return BooleanStorage[record];
    }

    function setBooleanValue(bytes32 record, bool value) external onlyAssociatedContract {
        BooleanStorage[record] = value;
    }

    function deleteBooleanValue(bytes32 record) external onlyAssociatedContract {
        delete BooleanStorage[record];
    }

    // IntStorage
    function getIntValue(bytes32 record) external view returns (int) {
        return IntStorage[record];
    }

    function setIntValue(bytes32 record, int value) external onlyAssociatedContract {
        IntStorage[record] = value;
    }

    function deleteIntValue(bytes32 record) external onlyAssociatedContract {
        delete IntStorage[record];
    }
}


// https://docs.synthetix.io/contracts/source/contracts/limitedsetup
contract LimitedSetup {
    uint public setupExpiryTime;

    /**
     * @dev LimitedSetup Constructor.
     * @param setupDuration The time the setup period will last for.
     */
    constructor(uint setupDuration) internal {
        setupExpiryTime = now + setupDuration;
    }

    modifier onlyDuringSetup {
        require(now < setupExpiryTime, "Can only perform this action during setup");
        _;
    }
}


// Inheritance


// https://docs.synthetix.io/contracts/source/contracts/feepooleternalstorage
contract FeePoolEternalStorage is EternalStorage, LimitedSetup {
    bytes32 internal constant LAST_FEE_WITHDRAWAL = "last_fee_withdrawal";

    constructor(address _owner, address _feePool) public EternalStorage(_owner, _feePool) LimitedSetup(6 weeks) {}

    function importFeeWithdrawalData(address[] calldata accounts, uint[] calldata feePeriodIDs)
        external
        onlyOwner
        onlyDuringSetup
    {
        require(accounts.length == feePeriodIDs.length, "Length mismatch");

        for (uint8 i = 0; i < accounts.length; i++) {
            this.setUIntValue(keccak256(abi.encodePacked(LAST_FEE_WITHDRAWAL, accounts[i])), feePeriodIDs[i]);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_feePool","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"associatedContract","type":"address"}],"name":"AssociatedContractUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"associatedContract","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"deleteUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBooleanValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytes32Value","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getBytesValue","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getIntValue","outputs":[{"internalType":"int256","name":"","type":"int256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getStringValue","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"}],"name":"getUIntValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"feePeriodIDs","type":"uint256[]"}],"name":"importFeeWithdrawalData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"name":"setAddressValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_associatedContract","type":"address"}],"name":"setAssociatedContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBooleanValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"name":"setBytes32Value","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"bytes","name":"value","type":"bytes"}],"name":"setBytesValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"int256","name":"value","type":"int256"}],"name":"setIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"string","name":"value","type":"string"}],"name":"setStringValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"record","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setUIntValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"setupExpiryTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}]

8060405234801561001957600080610016611884565b50505b50600436106101d85760003560e01c806353a47bb71161010d578063a209a29c116100ab578063ba69fcaa1161007a578063ba69fcaa146106d3578063bdc963d8146106f9578063c9a52d2c1461071f578063f5866066146107b8576101d8565b8063a209a29c1461057c578063a77aa49e146105a2578063aefc4ccb146105ce578063b3ffbd9e146105d6576101d8565b80638267a9ee116100e75780638267a9ee146105025780638da5cb5b146105285780639007127b1461053057806393fe424814610556576101d8565b806353a47bb7146104bd5780635a2bf25a146104c557806379ba5097146104fa576101d8565b80633562fd201161017a57806344bfa56e1161015457806344bfa56e146103a757806346ba2d90146104445780634c77e5ba1461044c57806352f445ca1461048e576101d8565b80633562fd20146103275780633cc1635c146103535780633eba9ed214610379576101d8565b8063124f2418116101b6578063124f24181461026c5780631627540c1461029257806317e7dd22146102c157806325cf512d146102fb576101d8565b8063025ec81a146101e6578063043106c01461021e5780630c55d92514610246575b6000806101e3611884565b50505b61020c6004803603602081101561020557600080610202611884565b50505b5035610851565b60405190815260200160405180910390f35b6102446004803603602081101561023d5760008061023a611884565b50505b503561086d565b005b6102446004803603602081101561026557600080610262611884565b50505b503561091c565b6102446004803603602081101561028b57600080610288611884565b50505b50356109b4565b610244600480360360208110156102b1576000806102ae611884565b50505b50356001600160a01b0316610a49565b6102e7600480360360208110156102e0576000806102dd611884565b50505b5035610ac3565b604051901515815260200160405180910390f35b6102446004803603604081101561031a57600080610317611884565b50505b5080359060200135610aed565b6102446004803603604081101561034657600080610343611884565b50505b5080359060200135610b8a565b610244600480360360208110156103725760008061036f611884565b50505b5035610c20565b6102446004803603604081101561039857600080610395611884565b50505b50803590602001351515610cc4565b6103cd600480360360208110156103c6576000806103c3611884565b50505b5035610d70565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156104095780820151838201526020016103f1565b50505050905090810190601f1680156104365780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020c610e3c565b6104726004803603602081101561046b57600080610468611884565b50505b5035610e49565b6040516001600160a01b03909116815260200160405180910390f35b610244600480360360208110156104ad576000806104aa611884565b50505b50356001600160a01b0316610e79565b610472610ef4565b610244600480360360408110156104e4576000806104e1611884565b50505b50803590602001356001600160a01b0316610f13565b610244610fcc565b610244600480360360208110156105215760008061051e611884565b50505b503561114a565b6104726111df565b61020c6004803603602081101561054f5760008061054c611884565b50505b50356111ea565b6102446004803603602081101561057557600080610572611884565b50505b5035611200565b6103cd6004803603602081101561059b57600080610598611884565b50505b5035611295565b610244600480360360408110156105c1576000806105be611884565b50505b5080359060200135611349565b6104726113df565b610244600480360360408110156105f5576000806105f2611884565b50505b810190602081018135600160201b81111561061857600080610615611884565b50505b82018360208201111561063357600080610630611884565b50505b803590602001918460208302840111600160201b8311171561065d5760008061065a611884565b50505b919390929091602081019035600160201b81111561068357600080610680611884565b50505b82018360208201111561069e5760008061069b611884565b50505b803590602001918460208302840111600160201b831117156106c8576000806106c5611884565b50505b5090925090506113eb565b610244600480360360208110156106f2576000806106ef611884565b50505b5035611624565b61020c6004803603602081101561071857600080610715611884565b50505b50356116b9565b6102446004803603604081101561073e5760008061073b611884565b50505b81359190810190604081016020820135600160201b81111561076857600080610765611884565b50505b82018360208201111561078357600080610780611884565b50505b803590602001918460018302840111600160201b831117156107ad576000806107aa611884565b50505b5090925090506116cf565b610244600480360360408110156107d7576000806107d4611884565b50505b81359190810190604081016020820135600160201b811115610801576000806107fe611884565b50505b82018360208201111561081c57600080610819611884565b50505b803590602001918460018302840111600160201b8311171561084657600080610843611884565b50505b50909250905061176e565b60008181526007602052604081206108676118ef565b92915050565b600060026108796118ef565b906101000a90046001600160a01b03166001600160a01b03165a61089b61194a565b6001600160a01b0316146108e95760405162461bcd60e51b8152600401808060200182810382526034815260200180611d6360349139604001915050604051809103906108e6611884565b50505b60008181526005602052604090206001816109026118ef565b906001600160a01b0302191690610917611990565b505050565b600060026109286118ef565b906101000a90046001600160a01b03166001600160a01b03165a61094a61194a565b6001600160a01b0316146109985760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610995611884565b50505b60008181526006602052604090206109b19060006119de565b50565b600060026109c06118ef565b906101000a90046001600160a01b03166001600160a01b03165a6109e261194a565b6001600160a01b031614610a305760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610a2d611884565b50505b6000818152600760205260409020600090610917611990565b610a51611807565b8060018080610a5e6118ef565b816001600160a01b0302191690836001600160a01b0316021790610a80611990565b5050507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22816040516001600160a01b03909116815260200160405180910390a150565b6000818152600860205260408120600090610adc6118ef565b906101000a900460ff169050919050565b60006002610af96118ef565b906101000a90046001600160a01b03166001600160a01b03165a610b1b61194a565b6001600160a01b031614610b695760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610b66611884565b50505b600082815260076020528190604090208190610b83611990565b5050505050565b60006002610b966118ef565b906101000a90046001600160a01b03166001600160a01b03165a610bb861194a565b6001600160a01b031614610c065760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610c03611884565b50505b600082815260036020528190604090208190610b83611990565b60006002610c2c6118ef565b906101000a90046001600160a01b03166001600160a01b03165a610c4e61194a565b6001600160a01b031614610c9c5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610c99611884565b50505b6000818152600860205260409020600181610cb56118ef565b9060ff02191690610917611990565b60006002610cd06118ef565b906101000a90046001600160a01b03166001600160a01b03165a610cf261194a565b6001600160a01b031614610d405760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610d3d611884565b50505b60008281526008602052819060409020600181610d5b6118ef565b8160ff02191690831515021790610b83611990565b600081815260066020526060906040902080610d8a6118ef565b600181600116156101000203166002900480601f016020809104026020016040519081016040528181529190602083018280610dc46118ef565b60018160011615610100020316600290048015610e305780601f10610dfe576101008083610df06118ef565b040283529160200191610e30565b820191906000526020600020905b81610e156118ef565b81529060010190602001808311610e0c57829003601f168201915b50505050509050919050565b600a610e466118ef565b81565b6000818152600560205260408120600090610e626118ef565b906101000a90046001600160a01b03169050919050565b610e81611807565b806002600181610e8f6118ef565b816001600160a01b0302191690836001600160a01b0316021790610eb1611990565b5050507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03816040516001600160a01b03909116815260200160405180910390a150565b60006001610f006118ef565b906101000a90046001600160a01b031681565b60006002610f1f6118ef565b906101000a90046001600160a01b03166001600160a01b03165a610f4161194a565b6001600160a01b031614610f8f5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390610f8c611884565b50505b60008281526005602052819060409020600181610faa6118ef565b816001600160a01b0302191690836001600160a01b0316021790610b83611990565b60006001610fd86118ef565b906101000a90046001600160a01b03166001600160a01b03165a610ffa61194a565b6001600160a01b0316146110485760405162461bcd60e51b8152600401808060200182810382526035815260200180611cff6035913960400191505060405180910390611045611884565b50505b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000806110746118ef565b906101000a90046001600160a01b031660016000906110916118ef565b906101000a90046001600160a01b03166040516001600160a01b039283168152911660208201526040908101905180910390a1600060016110d06118ef565b906101000a90046001600160a01b03166000806101000a816110f06118ef565b816001600160a01b0302191690836001600160a01b0316021790611112611990565b5050506000600160006101000a816111286118ef565b816001600160a01b0302191690836001600160a01b0316021790610917611990565b600060026111566118ef565b906101000a90046001600160a01b03166001600160a01b03165a61117861194a565b6001600160a01b0316146111c65760405162461bcd60e51b8152600401808060200182810382526034815260200180611d6360349139604001915050604051809103906111c3611884565b50505b6000818152600960205260409020600090610917611990565b600080610f006118ef565b60008181526009602052604081206108676118ef565b6000600261120c6118ef565b906101000a90046001600160a01b03166001600160a01b03165a61122e61194a565b6001600160a01b03161461127c5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390611279611884565b50505b6000818152600360205260409020600090610917611990565b6000818152600460205260609060409020806112af6118ef565b600181600116156101000203166002900480601f0160208091040260200160405190810160405281815291906020830182806112e96118ef565b60018160011615610100020316600290048015610e305780601f10611315576101008083610df06118ef565b820191906000526020600020905b8161132c6118ef565b815290600101906020018083116113235750939695505050505050565b600060026113556118ef565b906101000a90046001600160a01b03166001600160a01b03165a61137761194a565b6001600160a01b0316146113c55760405162461bcd60e51b8152600401808060200182810382526034815260200180611d6360349139604001915050604051809103906113c2611884565b50505b600082815260096020528190604090208190610b83611990565b60006002610f006118ef565b6113f3611807565b600a6113fd6118ef565b5a611406611a30565b1061144b5760405162461bcd60e51b8152600401808060200182810382526029815260200180611d976029913960400191505060405180910390611448611884565b50505b8281146114995760405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015260640160405180910390611496611884565b50505b60005b60ff8116841115610b83575a63996d79a5598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051925060005b60408110156114fd576000828201526020016114e6565b5050506001600160a01b0316633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b87878560ff1681811061153457fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff1681811061159557fe5b905060200201356040516001600160e01b031960e085901b16815260048101929092526024820152604401600060405180830381600087806115d5611a76565b1580156115ea576000806115e7611884565b50505b505a6115f4611ac2565b505050505050158015611614573d6000803e3d6000611611611884565b50505b50506001909201915061149c9050565b600060026116306118ef565b906101000a90046001600160a01b03166001600160a01b03165a61165261194a565b6001600160a01b0316146116a05760405162461bcd60e51b8152600401808060200182810382526034815260200180611d63603491396040019150506040518091039061169d611884565b50505b60008181526004602052604090206109b19060006119de565b60008181526003602052604081206108676118ef565b600060026116db6118ef565b906101000a90046001600160a01b03166001600160a01b03165a6116fd61194a565b6001600160a01b03161461174b5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d636034913960400191505060405180910390611748611884565b50505b600083815260066020528290829060409020611768929091611bad565b50505050565b6000600261177a6118ef565b906101000a90046001600160a01b03166001600160a01b03165a61179c61194a565b6001600160a01b0316146117ea5760405162461bcd60e51b8152600401808060200182810382526034815260200180611d6360349139604001915050604051809103906117e7611884565b50505b600083815260046020528290829060409020611768929091611c4d565b6000806118126118ef565b906101000a90046001600160a01b03166001600160a01b03165a61183461194a565b6001600160a01b0316146118825760405162461bcd60e51b815260040180806020018281038252602f815260200180611d34602f91396040019150506040518091039061187f611884565b50505b565b632a2a7adb598160e01b8152600481016020815285602082015260005b868110156118bc5780860151828201604001526020016118a1565b506020828760640184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b505050565b6303daa959598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b8051935060005b604081101561091757600082820152602001611933565b6373509064598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611933565b6322bd64c0598160e01b8152836004820152846024820152600081604483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b600081526020611933565b50806119e86118ef565b6001816001161561010002031660029004600082611a04611990565b505080601f10611a1457506109b1565b601f01602090049060005260206000206109b191810190611cd6565b63bdbf8c36598160e01b8152602081600483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611933565b638435035b598160e01b8152836004820152602081602483336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b80516000825293506020611933565b6385979f76598160e01b8152611af3565b8080831115610867575090919050565b8080831015610867575090919050565b836004820152846024820152606060448201528760648201526084810160005b89811015611b2b578089015182820152602001611b13565b506060828a60a40184336000905af158600e01573d6000803e3d6000fd5b3d6001141558600a015760016000f35b815160408301513d6000853e8c8c82606087013350600060045af15059611b808e3d611ae3565b8d01611b8c8187611ad3565b5b82811015611ba15760008152602001611b8d565b50929d50505050505050565b8280611bb76118ef565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611bfe5782800160ff198235161785611bf7611990565b5050611c3d565b82800160010185611c0d611990565b50508215611c3d579182015b82811115611c3d57823582611c2c611990565b505091602001919060010190611c19565b50611c49929150611cd6565b5090565b8280611c576118ef565b600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c975782800160ff198235161785611bf7611990565b82800160010185611ca6611990565b50508215611c3d579182015b82811115611c3d57823582611cc5611990565b505091602001919060010190611cb2565b611cfb91905b80821115611c495760008082611cf0611990565b505050600101611cdc565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b503561088b565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a0565b610220600480360360408110156102ec57600080fd5b50803590602001356108fb565b6102206004803603602081101561030f57600080fd5b5035610956565b6102206004803603604081101561032c57600080fd5b508035906020013515156109b7565b6103586004803603602081101561035157600080fd5b5035610a20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac1565b6103f2600480360360208110156103eb57600080fd5b5035610ac7565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610ae2565b6103f2610b3e565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b4d565b610220610bc4565b6102206004803603602081101561048657600080fd5b5035610c80565b6103f2610cda565b6101f1600480360360208110156104ab57600080fd5b5035610ce9565b610220600480360360208110156104c857600080fd5b5035610cfb565b610358600480360360208110156104e557600080fd5b5035610d55565b6102206004803603604081101561050257600080fd5b5080359060200135610dbf565b6103f2610e1a565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610e29565b610220600480360360208110156105eb57600080fd5b5035610fc1565b6101f16004803603602081101561060857600080fd5b5035611021565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b509092509050611033565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061109b565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526006602052604081206107d291611148565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260076020526040812055565b6108376110fd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108e95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b0316331461099f5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a005760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b820191906000526020600020905b815481529060010190602001808311610a9857829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610aea6110fd565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b965760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c0d5760405162461bcd60e51b81526004018080602001828103825260358152602001806112286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cc95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b6002546001600160a01b03163314610e085760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e316110fd565b600a544210610e715760405162461bcd60e51b81526004018080602001828103825260298152602001806112c06029913960400191505060405180910390fd5b828114610eb7576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff8116841115610fba5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610ef157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f5257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505060019092019150610eba9050565b5050505050565b6002546001600160a01b0316331461100a5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526004602052604081206107d291611148565b60009081526003602052604090205490565b6002546001600160a01b0316331461107c5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260066020526040902061109590838361118c565b50505050565b6002546001600160a01b031633146110e45760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260046020526040902061109590838361118c565b6000546001600160a01b031633146111465760405162461bcd60e51b815260040180806020018281038252602f81526020018061125d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061116e57506107d2565b601f0160209004906000526020600020908101906107d2919061120a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111cd5782800160ff198235161785556111fa565b828001600101855582156111fa579182015b828111156111fa5782358255916020019190600101906111df565b5061120692915061120a565b5090565b61122491905b808211156112065760008155600101611210565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820bc56e87fc75a62681e75808cb8070f1e6dea586a1becaa627698cf1bcb232bf264736f6c63430005100032

Library Used


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