ETH Price: $3,091.19 (+0.07%)
 

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
Confirm Withdraw...241818712026-01-07 9:21:353 days ago1767777695IN
Rocket Pool: Storage
0 ETH0.000017630.60486515
Set Withdrawal A...241818662026-01-07 9:20:353 days ago1767777635IN
Rocket Pool: Storage
0 ETH0.00000770.16483108
Confirm Withdraw...241706312026-01-05 19:43:475 days ago1767642227IN
Rocket Pool: Storage
0 ETH0.000072571.56884783
Set Withdrawal A...241706272026-01-05 19:42:595 days ago1767642179IN
Rocket Pool: Storage
0 ETH0.000073691.57610985
Set Withdrawal A...241681342026-01-05 11:22:595 days ago1767612179IN
Rocket Pool: Storage
0 ETH0.000060512.04983436
Set Withdrawal A...241681262026-01-05 11:21:235 days ago1767612083IN
Rocket Pool: Storage
0 ETH0.000054982.04895981
Set Withdrawal A...241679722026-01-05 10:50:235 days ago1767610223IN
Rocket Pool: Storage
0 ETH0.000096732.06978419
Confirm Withdraw...241479972026-01-02 15:58:478 days ago1767369527IN
Rocket Pool: Storage
0 ETH0.000065292.23820226
Set Withdrawal A...241479532026-01-02 15:49:598 days ago1767368999IN
Rocket Pool: Storage
0 ETH0.000103562.21542676
Confirm Withdraw...241224892025-12-30 2:30:4712 days ago1767061847IN
Rocket Pool: Storage
0 ETH0.000059062.02533065
Set Withdrawal A...241220712025-12-30 1:06:4712 days ago1767056807IN
Rocket Pool: Storage
0 ETH0.000095672.04706039
Set Withdrawal A...241209402025-12-29 21:19:1112 days ago1767043151IN
Rocket Pool: Storage
0 ETH0.000049992.02942569
Set Withdrawal A...241209402025-12-29 21:19:1112 days ago1767043151IN
Rocket Pool: Storage
0 ETH0.000049992.02942569
Confirm Withdraw...240936882025-12-26 2:01:5916 days ago1766714519IN
Rocket Pool: Storage
0 ETH0.000005940.12838002
Set Withdrawal A...240936802025-12-26 2:00:2316 days ago1766714423IN
Rocket Pool: Storage
0 ETH0.000095162.03484158
Set Withdrawal A...240407002025-12-18 16:32:1123 days ago1766075531IN
Rocket Pool: Storage
0 ETH0.000095912.05644139
Confirm Withdraw...240057962025-12-13 19:33:1128 days ago1765654391IN
Rocket Pool: Storage
0 ETH0.000044961.5412633
Set Withdrawal A...240057932025-12-13 19:32:3528 days ago1765654355IN
Rocket Pool: Storage
0 ETH0.000072221.54505181
Confirm Withdraw...239929372025-12-12 0:14:4730 days ago1765498487IN
Rocket Pool: Storage
0 ETH0.000008610.29533697
Set Withdrawal A...239925182025-12-11 22:49:5930 days ago1765493399IN
Rocket Pool: Storage
0 ETH0.000046170.98761917
Set Withdrawal A...239784592025-12-09 23:24:3532 days ago1765322675IN
Rocket Pool: Storage
0 ETH0.000011190.37892183
Confirm Withdraw...239547892025-12-06 15:42:3535 days ago1765035755IN
Rocket Pool: Storage
0 ETH0.000059072.02507606
Confirm Withdraw...239421872025-12-04 21:00:5937 days ago1764882059IN
Rocket Pool: Storage
0 ETH0.000001390.04771239
Set Withdrawal A...239421782025-12-04 20:59:1137 days ago1764881951IN
Rocket Pool: Storage
0 ETH0.000005140.11010034
Confirm Withdraw...239421662025-12-04 20:56:3537 days ago1764881795IN
Rocket Pool: Storage
0 ETH0.000001450.05002717
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
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:
RocketStorage

Compiler Version
v0.7.6+commit.7338295f

Optimization Enabled:
Yes with 15000 runs

Other Settings:
default evmVersion, GNU GPLv3 license, Audited
File 1 of 3 : RocketStorage.sol
/**
  *       .
  *      / \
  *     |.'.|
  *     |'.'|
  *   ,'|   |`.
  *  |,-'-|-'-.|
  *   __|_| |         _        _      _____           _
  *  | ___ \|        | |      | |    | ___ \         | |
  *  | |_/ /|__   ___| | _____| |_   | |_/ /__   ___ | |
  *  |    // _ \ / __| |/ / _ \ __|  |  __/ _ \ / _ \| |
  *  | |\ \ (_) | (__|   <  __/ |_   | | | (_) | (_) | |
  *  \_| \_\___/ \___|_|\_\___|\__|  \_|  \___/ \___/|_|
  * +---------------------------------------------------+
  * |    DECENTRALISED STAKING PROTOCOL FOR ETHEREUM    |
  * +---------------------------------------------------+
  *
  *  Rocket Pool is a first-of-its-kind Ethereum staking pool protocol, designed to
  *  be community-owned, decentralised, and trustless.
  *
  *  For more information about Rocket Pool, visit https://rocketpool.net
  *
  *  Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty
  *
  */

pragma solidity 0.7.6;

// SPDX-License-Identifier: GPL-3.0-only

import "../interface/RocketStorageInterface.sol";
import "@openzeppelin/contracts/math/SafeMath.sol";

/// @title The primary persistent storage for Rocket Pool
/// @author David Rugendyke

contract RocketStorage is RocketStorageInterface {

    // Events
    event NodeWithdrawalAddressSet(address indexed node, address indexed withdrawalAddress, uint256 time);
    event GuardianChanged(address oldGuardian, address newGuardian);

    // Libraries
    using SafeMath for uint256;

    // Storage maps
    mapping(bytes32 => string)     private stringStorage;
    mapping(bytes32 => bytes)      private bytesStorage;
    mapping(bytes32 => uint256)    private uintStorage;
    mapping(bytes32 => int256)     private intStorage;
    mapping(bytes32 => address)    private addressStorage;
    mapping(bytes32 => bool)       private booleanStorage;
    mapping(bytes32 => bytes32)    private bytes32Storage;

    // Protected storage (not accessible by network contracts)
    mapping(address => address)    private withdrawalAddresses;
    mapping(address => address)    private pendingWithdrawalAddresses;

    // Guardian address
    address guardian;
    address newGuardian;

    // Flag storage has been initialised
    bool storageInit = false;

    /// @dev Only allow access from the latest version of a contract in the Rocket Pool network after deployment
    modifier onlyLatestRocketNetworkContract() {
        if (storageInit == true) {
            // Make sure the access is permitted to only contracts in our Dapp
            require(booleanStorage[keccak256(abi.encodePacked("contract.exists", msg.sender))], "Invalid or outdated network contract");
        } else {
            // Only Dapp and the guardian account are allowed access during initialisation.
            // tx.origin is only safe to use in this case for deployment since no external contracts are interacted with
            require((
                booleanStorage[keccak256(abi.encodePacked("contract.exists", msg.sender))] || tx.origin == guardian
            ), "Invalid or outdated network contract attempting access during deployment");
        }
        _;
    }


    /// @dev Construct RocketStorage
    constructor() {
        // Set the guardian upon deployment
        guardian = msg.sender;
    }

    // Get guardian address
    function getGuardian() external override view returns (address) {
        return guardian;
    }

    // Transfers guardianship to a new address
    function setGuardian(address _newAddress) external override {
        // Check tx comes from current guardian
        require(msg.sender == guardian, "Is not guardian account");
        // Store new address awaiting confirmation
        newGuardian = _newAddress;
    }

    // Confirms change of guardian
    function confirmGuardian() external override {
        // Check tx came from new guardian address
        require(msg.sender == newGuardian, "Confirmation must come from new guardian address");
        // Store old guardian for event
        address oldGuardian = guardian;
        // Update guardian and clear storage
        guardian = newGuardian;
        delete newGuardian;
        // Emit event
        emit GuardianChanged(oldGuardian, guardian);
    }

    // Set this as being deployed now
    function getDeployedStatus() external override view returns (bool) {
        return storageInit;
    }

    // Set this as being deployed now
    function setDeployedStatus() external {
        // Only guardian can lock this down
        require(msg.sender == guardian, "Is not guardian account");
        // Set it now
        storageInit = true;
    }

    // Protected storage

    // Get a node's withdrawal address
    function getNodeWithdrawalAddress(address _nodeAddress) public override view returns (address) {
        // If no withdrawal address has been set, return the nodes address
        address withdrawalAddress = withdrawalAddresses[_nodeAddress];
        if (withdrawalAddress == address(0)) {
            return _nodeAddress;
        }
        return withdrawalAddress;
    }

    // Get a node's pending withdrawal address
    function getNodePendingWithdrawalAddress(address _nodeAddress) external override view returns (address) {
        return pendingWithdrawalAddresses[_nodeAddress];
    }

    // Set a node's withdrawal address
    function setWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress, bool _confirm) external override {
        // Check new withdrawal address
        require(_newWithdrawalAddress != address(0x0), "Invalid withdrawal address");
        // Confirm the transaction is from the node's current withdrawal address
        address withdrawalAddress = getNodeWithdrawalAddress(_nodeAddress);
        require(withdrawalAddress == msg.sender, "Only a tx from a node's withdrawal address can update it");
        // Update immediately if confirmed
        if (_confirm) {
            updateWithdrawalAddress(_nodeAddress, _newWithdrawalAddress);
        }
        // Set pending withdrawal address if not confirmed
        else {
            pendingWithdrawalAddresses[_nodeAddress] = _newWithdrawalAddress;
        }
    }

    // Confirm a node's new withdrawal address
    function confirmWithdrawalAddress(address _nodeAddress) external override {
        // Get node by pending withdrawal address
        require(pendingWithdrawalAddresses[_nodeAddress] == msg.sender, "Confirmation must come from the pending withdrawal address");
        delete pendingWithdrawalAddresses[_nodeAddress];
        // Update withdrawal address
        updateWithdrawalAddress(_nodeAddress, msg.sender);
    }

    // Update a node's withdrawal address
    function updateWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress) private {
        // Set new withdrawal address
        withdrawalAddresses[_nodeAddress] = _newWithdrawalAddress;
        // Emit withdrawal address set event
        emit NodeWithdrawalAddressSet(_nodeAddress, _newWithdrawalAddress, block.timestamp);
    }

    /// @param _key The key for the record
    function getAddress(bytes32 _key) override external view returns (address r) {
        return addressStorage[_key];
    }

    /// @param _key The key for the record
    function getUint(bytes32 _key) override external view returns (uint256 r) {
        return uintStorage[_key];
    }

    /// @param _key The key for the record
    function getString(bytes32 _key) override external view returns (string memory) {
        return stringStorage[_key];
    }

    /// @param _key The key for the record
    function getBytes(bytes32 _key) override external view returns (bytes memory) {
        return bytesStorage[_key];
    }

    /// @param _key The key for the record
    function getBool(bytes32 _key) override external view returns (bool r) {
        return booleanStorage[_key];
    }

    /// @param _key The key for the record
    function getInt(bytes32 _key) override external view returns (int r) {
        return intStorage[_key];
    }

    /// @param _key The key for the record
    function getBytes32(bytes32 _key) override external view returns (bytes32 r) {
        return bytes32Storage[_key];
    }


    /// @param _key The key for the record
    function setAddress(bytes32 _key, address _value) onlyLatestRocketNetworkContract override external {
        addressStorage[_key] = _value;
    }

    /// @param _key The key for the record
    function setUint(bytes32 _key, uint _value) onlyLatestRocketNetworkContract override external {
        uintStorage[_key] = _value;
    }

    /// @param _key The key for the record
    function setString(bytes32 _key, string calldata _value) onlyLatestRocketNetworkContract override external {
        stringStorage[_key] = _value;
    }

    /// @param _key The key for the record
    function setBytes(bytes32 _key, bytes calldata _value) onlyLatestRocketNetworkContract override external {
        bytesStorage[_key] = _value;
    }

    /// @param _key The key for the record
    function setBool(bytes32 _key, bool _value) onlyLatestRocketNetworkContract override external {
        booleanStorage[_key] = _value;
    }

    /// @param _key The key for the record
    function setInt(bytes32 _key, int _value) onlyLatestRocketNetworkContract override external {
        intStorage[_key] = _value;
    }

    /// @param _key The key for the record
    function setBytes32(bytes32 _key, bytes32 _value) onlyLatestRocketNetworkContract override external {
        bytes32Storage[_key] = _value;
    }


    /// @param _key The key for the record
    function deleteAddress(bytes32 _key) onlyLatestRocketNetworkContract override external {
        delete addressStorage[_key];
    }

    /// @param _key The key for the record
    function deleteUint(bytes32 _key) onlyLatestRocketNetworkContract override external {
        delete uintStorage[_key];
    }

    /// @param _key The key for the record
    function deleteString(bytes32 _key) onlyLatestRocketNetworkContract override external {
        delete stringStorage[_key];
    }

    /// @param _key The key for the record
    function deleteBytes(bytes32 _key) onlyLatestRocketNetworkContract override external {
        delete bytesStorage[_key];
    }

    /// @param _key The key for the record
    function deleteBool(bytes32 _key) onlyLatestRocketNetworkContract override external {
        delete booleanStorage[_key];
    }

    /// @param _key The key for the record
    function deleteInt(bytes32 _key) onlyLatestRocketNetworkContract override external {
        delete intStorage[_key];
    }

    /// @param _key The key for the record
    function deleteBytes32(bytes32 _key) onlyLatestRocketNetworkContract override external {
        delete bytes32Storage[_key];
    }


    /// @param _key The key for the record
    /// @param _amount An amount to add to the record's value
    function addUint(bytes32 _key, uint256 _amount) onlyLatestRocketNetworkContract override external {
        uintStorage[_key] = uintStorage[_key].add(_amount);
    }

    /// @param _key The key for the record
    /// @param _amount An amount to subtract from the record's value
    function subUint(bytes32 _key, uint256 _amount) onlyLatestRocketNetworkContract override external {
        uintStorage[_key] = uintStorage[_key].sub(_amount);
    }
}

// SPDX-License-Identifier: MIT

pragma solidity >=0.6.0 <0.8.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        uint256 c = a + b;
        if (c < a) return (false, 0);
        return (true, c);
    }

    /**
     * @dev Returns the substraction of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b > a) return (false, 0);
        return (true, a - b);
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, with an overflow flag.
     *
     * _Available since v3.4._
     */
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) return (true, 0);
        uint256 c = a * b;
        if (c / a != b) return (false, 0);
        return (true, c);
    }

    /**
     * @dev Returns the division of two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a / b);
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag.
     *
     * _Available since v3.4._
     */
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        if (b == 0) return (false, 0);
        return (true, a % b);
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        return a - b;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) return 0;
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: modulo by zero");
        return a % b;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {trySub}.
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        return a - b;
    }

    /**
     * @dev Returns the integer division of two unsigned integers, reverting with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryDiv}.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        return a / b;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * reverting with custom message when dividing by zero.
     *
     * CAUTION: This function is deprecated because it requires allocating memory for the error
     * message unnecessarily. For custom revert reasons use {tryMod}.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        return a % b;
    }
}

/**
  *       .
  *      / \
  *     |.'.|
  *     |'.'|
  *   ,'|   |`.
  *  |,-'-|-'-.|
  *   __|_| |         _        _      _____           _
  *  | ___ \|        | |      | |    | ___ \         | |
  *  | |_/ /|__   ___| | _____| |_   | |_/ /__   ___ | |
  *  |    // _ \ / __| |/ / _ \ __|  |  __/ _ \ / _ \| |
  *  | |\ \ (_) | (__|   <  __/ |_   | | | (_) | (_) | |
  *  \_| \_\___/ \___|_|\_\___|\__|  \_|  \___/ \___/|_|
  * +---------------------------------------------------+
  * |    DECENTRALISED STAKING PROTOCOL FOR ETHEREUM    |
  * +---------------------------------------------------+
  *
  *  Rocket Pool is a first-of-its-kind Ethereum staking pool protocol, designed to
  *  be community-owned, decentralised, and trustless.
  *
  *  For more information about Rocket Pool, visit https://rocketpool.net
  *
  *  Authors: David Rugendyke, Jake Pospischil, Kane Wallmann, Darren Langley, Joe Clapis, Nick Doherty
  *
  */

pragma solidity 0.7.6;

// SPDX-License-Identifier: GPL-3.0-only

interface RocketStorageInterface {

    // Deploy status
    function getDeployedStatus() external view returns (bool);

    // Guardian
    function getGuardian() external view returns(address);
    function setGuardian(address _newAddress) external;
    function confirmGuardian() external;

    // Getters
    function getAddress(bytes32 _key) external view returns (address);
    function getUint(bytes32 _key) external view returns (uint);
    function getString(bytes32 _key) external view returns (string memory);
    function getBytes(bytes32 _key) external view returns (bytes memory);
    function getBool(bytes32 _key) external view returns (bool);
    function getInt(bytes32 _key) external view returns (int);
    function getBytes32(bytes32 _key) external view returns (bytes32);

    // Setters
    function setAddress(bytes32 _key, address _value) external;
    function setUint(bytes32 _key, uint _value) external;
    function setString(bytes32 _key, string calldata _value) external;
    function setBytes(bytes32 _key, bytes calldata _value) external;
    function setBool(bytes32 _key, bool _value) external;
    function setInt(bytes32 _key, int _value) external;
    function setBytes32(bytes32 _key, bytes32 _value) external;

    // Deleters
    function deleteAddress(bytes32 _key) external;
    function deleteUint(bytes32 _key) external;
    function deleteString(bytes32 _key) external;
    function deleteBytes(bytes32 _key) external;
    function deleteBool(bytes32 _key) external;
    function deleteInt(bytes32 _key) external;
    function deleteBytes32(bytes32 _key) external;

    // Arithmetic
    function addUint(bytes32 _key, uint256 _amount) external;
    function subUint(bytes32 _key, uint256 _amount) external;

    // Protected storage
    function getNodeWithdrawalAddress(address _nodeAddress) external view returns (address);
    function getNodePendingWithdrawalAddress(address _nodeAddress) external view returns (address);
    function setWithdrawalAddress(address _nodeAddress, address _newWithdrawalAddress, bool _confirm) external;
    function confirmWithdrawalAddress(address _nodeAddress) external;
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": true,
    "runs": 15000
  },
  "evmVersion": "istanbul",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"oldGuardian","type":"address"},{"indexed":false,"internalType":"address","name":"newGuardian","type":"address"}],"name":"GuardianChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"node","type":"address"},{"indexed":true,"internalType":"address","name":"withdrawalAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"NodeWithdrawalAddressSet","type":"event"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"confirmGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"}],"name":"confirmWithdrawalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteBool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteBytes32","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"deleteUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getAddress","outputs":[{"internalType":"address","name":"r","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getBool","outputs":[{"internalType":"bool","name":"r","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getBytes32","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDeployedStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGuardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getInt","outputs":[{"internalType":"int256","name":"r","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"}],"name":"getNodePendingWithdrawalAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"}],"name":"getNodeWithdrawalAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getString","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"}],"name":"getUint","outputs":[{"internalType":"uint256","name":"r","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"address","name":"_value","type":"address"}],"name":"setAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"setBool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"bytes","name":"_value","type":"bytes"}],"name":"setBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"bytes32","name":"_value","type":"bytes32"}],"name":"setBytes32","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setDeployedStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAddress","type":"address"}],"name":"setGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"int256","name":"_value","type":"int256"}],"name":"setInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"string","name":"_value","type":"string"}],"name":"setString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_nodeAddress","type":"address"},{"internalType":"address","name":"_newWithdrawalAddress","type":"address"},{"internalType":"bool","name":"_confirm","type":"bool"}],"name":"setWithdrawalAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_key","type":"bytes32"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"subUint","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600a805460ff60a01b1916905534801561001d57600080fd5b50600980546001600160a01b03191633179055612c068061003f6000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063a543ccea1161010f578063ca446dd9116100a2578063ebb9d8c911610071578063ebb9d8c914610702578063f6bb3cc414610725578063fd41251314610742578063febffd9914610775576101f0565b8063ca446dd91461066c578063dc97d962146106a5578063e2a4853a146106c2578063e2b202bf146106e5576101f0565b8063adb353dc116100de578063adb353dc146105dc578063bd02d0f5146105ff578063bd4391261461061c578063c031a1801461064f576101f0565b8063a543ccea1461053b578063a6ed563e14610580578063a75b87d2146105af578063abfdcced146105b7576101f0565b80634e91db08116101875780637ae1cfca116101565780637ae1cfca1461043c5780638a0dac4a146104595780638c1600951461048c578063986e791a146104a9576101f0565b80634e91db08146103525780635b49ff6214610375578063616b59f6146103a85780636e899550146103c5576101f0565b806321f8a721116101c357806321f8a721146102555780632c62ff2d1461029b5780632e28d084146102b85780633e49bed01461032f576101f0565b80630b9adc57146101f55780630e14a376146102145780631bed5241146102315780631e0ea61e1461024d575b600080fd5b6102126004803603602081101561020b57600080fd5b503561077d565b005b6102126004803603602081101561022a57600080fd5b5035610913565b610239610ace565b604080519115158252519081900360200190f35b610212610aef565b6102726004803603602081101561026b57600080fd5b5035610bd8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610212600480360360208110156102b157600080fd5b5035610c03565b610212600480360360408110156102ce57600080fd5b813591908101906040810160208201356401000000008111156102f057600080fd5b82018360208201111561030257600080fd5b8035906020019184600183028401116401000000008311171561032457600080fd5b509092509050610dbe565b6102126004803603604081101561034557600080fd5b5080359060200135610f62565b6102126004803603604081101561036857600080fd5b50803590602001356110f9565b6102726004803603602081101561038b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611290565b610212600480360360208110156103be57600080fd5b50356112ce565b610212600480360360408110156103db57600080fd5b813591908101906040810160208201356401000000008111156103fd57600080fd5b82018360208201111561040f57600080fd5b8035906020019184600183028401116401000000008311171561043157600080fd5b50909250905061146d565b6102396004803603602081101561045257600080fd5b503561160b565b6102126004803603602081101561046f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611620565b610212600480360360208110156104a257600080fd5b50356116d3565b6104c6600480360360208110156104bf57600080fd5b5035611869565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105005781810151838201526020016104e8565b50505050905090810190601f16801561052d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102126004803603606081101561055157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001351515611926565b61059d6004803603602081101561059657600080fd5b5035611a59565b60408051918252519081900360200190f35b610272611a6b565b610212600480360360408110156105cd57600080fd5b50803590602001351515611a87565b610212600480360360408110156105f257600080fd5b5080359060200135611c4a565b61059d6004803603602081101561061557600080fd5b5035611dfe565b6102126004803603602081101561063257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611e10565b6104c66004803603602081101561066557600080fd5b5035611eca565b6102126004803603604081101561068257600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611f51565b61059d600480360360208110156106bb57600080fd5b5035612129565b610212600480360360408110156106d857600080fd5b508035906020013561213b565b610212600480360360208110156106fb57600080fd5b50356122d2565b6102126004803603604081101561071857600080fd5b5080359060200135612468565b6102126004803603602081101561073b57600080fd5b5035612606565b6102726004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166127a2565b6102126127cd565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561084557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166108405760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610902565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806108c7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6109025760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260066020526040812055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156109db57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166109d65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610a98565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610a5d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610a985760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600a5474010000000000000000000000000000000000000000900460ff1690565b600a5473ffffffffffffffffffffffffffffffffffffffff163314610b455760405162461bcd60e51b8152600401808060200182810382526030815260200180612afb6030913960400191505060405180910390fd5b60098054600a80547fffffffffffffffffffffffff000000000000000000000000000000000000000080841673ffffffffffffffffffffffffffffffffffffffff838116919091179586905591169091556040805192821680845293909116602083015280517fa14fc14d8620a708a896fd11392a235647d99385500a295f0d7da2a258b2e9679281900390910190a150565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610ccb57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610cc65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610d88565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610d4d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610d885760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610e8657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610e815760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610f43565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610f08575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610f435760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152600160205260409020610f5c9083836129c3565b50505050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561102a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166110255760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6110e7565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806110ac575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6110e75760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526003602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156111c157604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166111bc5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61127e565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611243575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61127e5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526006602052604090912055565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040812054909116806112c85782915050610bfe565b92915050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561139657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166113915760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611453565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611418575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6114535760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260016020526040812061146a91612a6d565b50565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561153557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166115305760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6115f2565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806115b7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6115f25760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152602081905260409020610f5c9083836129c3565b60009081526005602052604090205460ff1690565b60095473ffffffffffffffffffffffffffffffffffffffff16331461168c576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561179b57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166117965760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611858565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061181d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6118585760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260036020526040812055565b6000818152602081815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b820191906000526020600020905b8154815290600101906020018083116118fd57829003601f168201915b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff821661198e576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964207769746864726177616c2061646472657373000000000000604482015290519081900360640190fd5b600061199984611290565b905073ffffffffffffffffffffffffffffffffffffffff811633146119ef5760405162461bcd60e51b8152600401808060200182810382526038815260200180612ac36038913960400191505060405180910390fd5b8115611a04576119ff848461287a565b610f5c565b505073ffffffffffffffffffffffffffffffffffffffff918216600090815260086020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60009081526006602052604090205490565b60095473ffffffffffffffffffffffffffffffffffffffff1690565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611b4f57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611b4a5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611c0c565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611bd1575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611c0c5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526005602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611d1257604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611d0d5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611dcf565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611d94575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611dcf5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612905565b6000928352600260205260409092209190915550565b60009081526002602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260086020526040902054163314611e755760405162461bcd60e51b815260040180806020018281038252603a815260200180612b73603a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260086020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561146a813361287a565b60008181526001602081815260409283902080548451600294821615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911693909304601f8101839004830284018301909452838352606093909183018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561201957604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166120145760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6120d6565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061209b575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6120d65760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526004602052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526003602052604090205490565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561220357604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166121fe5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6122c0565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612285575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6122c05760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526002602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561239a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166123955760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b612457565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061241c575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6124575760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260026020526040812055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561253057604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1661252b5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6125ed565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806125b2575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6125ed5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612966565b600a5474010000000000000000000000000000000000000000900460ff161515600114156126ce57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166126c95760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61278b565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612750575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61278b5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260208190526040812061146a91612a6d565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600860205260409020541690565b60095473ffffffffffffffffffffffffffffffffffffffff163314612839576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526007602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055815142815291517fe04362a1cecc83cc66f0c6704a58da505fba1d6170f40e4543d477e76fa9175c9281900390910190a35050565b60008282018381101561295f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156129bd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826129f95760008555612a5d565b82601f10612a30578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612a5d565b82800160010185558215612a5d579182015b82811115612a5d578235825591602001919060010190612a42565b50612a69929150612aad565b5090565b50805460018160011615610100020316600290046000825580601f10612a93575061146a565b601f01602090049060005260206000209081019061146a91905b5b80821115612a695760008155600101612aae56fe4f6e6c7920612074782066726f6d2061206e6f64652773207769746864726177616c20616464726573732063616e20757064617465206974436f6e6669726d6174696f6e206d75737420636f6d652066726f6d206e657720677561726469616e2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e747261637420617474656d7074696e672061636365737320647572696e67206465706c6f796d656e74436f6e6669726d6174696f6e206d75737420636f6d652066726f6d207468652070656e64696e67207769746864726177616c2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e7472616374a2646970667358221220e96700c69e72a71b37f125c18447b170503c3f01c656571029092e21f1a652c764736f6c63430007060033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101f05760003560e01c8063a543ccea1161010f578063ca446dd9116100a2578063ebb9d8c911610071578063ebb9d8c914610702578063f6bb3cc414610725578063fd41251314610742578063febffd9914610775576101f0565b8063ca446dd91461066c578063dc97d962146106a5578063e2a4853a146106c2578063e2b202bf146106e5576101f0565b8063adb353dc116100de578063adb353dc146105dc578063bd02d0f5146105ff578063bd4391261461061c578063c031a1801461064f576101f0565b8063a543ccea1461053b578063a6ed563e14610580578063a75b87d2146105af578063abfdcced146105b7576101f0565b80634e91db08116101875780637ae1cfca116101565780637ae1cfca1461043c5780638a0dac4a146104595780638c1600951461048c578063986e791a146104a9576101f0565b80634e91db08146103525780635b49ff6214610375578063616b59f6146103a85780636e899550146103c5576101f0565b806321f8a721116101c357806321f8a721146102555780632c62ff2d1461029b5780632e28d084146102b85780633e49bed01461032f576101f0565b80630b9adc57146101f55780630e14a376146102145780631bed5241146102315780631e0ea61e1461024d575b600080fd5b6102126004803603602081101561020b57600080fd5b503561077d565b005b6102126004803603602081101561022a57600080fd5b5035610913565b610239610ace565b604080519115158252519081900360200190f35b610212610aef565b6102726004803603602081101561026b57600080fd5b5035610bd8565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610212600480360360208110156102b157600080fd5b5035610c03565b610212600480360360408110156102ce57600080fd5b813591908101906040810160208201356401000000008111156102f057600080fd5b82018360208201111561030257600080fd5b8035906020019184600183028401116401000000008311171561032457600080fd5b509092509050610dbe565b6102126004803603604081101561034557600080fd5b5080359060200135610f62565b6102126004803603604081101561036857600080fd5b50803590602001356110f9565b6102726004803603602081101561038b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611290565b610212600480360360208110156103be57600080fd5b50356112ce565b610212600480360360408110156103db57600080fd5b813591908101906040810160208201356401000000008111156103fd57600080fd5b82018360208201111561040f57600080fd5b8035906020019184600183028401116401000000008311171561043157600080fd5b50909250905061146d565b6102396004803603602081101561045257600080fd5b503561160b565b6102126004803603602081101561046f57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611620565b610212600480360360208110156104a257600080fd5b50356116d3565b6104c6600480360360208110156104bf57600080fd5b5035611869565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105005781810151838201526020016104e8565b50505050905090810190601f16801561052d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102126004803603606081101561055157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff8135811691602081013590911690604001351515611926565b61059d6004803603602081101561059657600080fd5b5035611a59565b60408051918252519081900360200190f35b610272611a6b565b610212600480360360408110156105cd57600080fd5b50803590602001351515611a87565b610212600480360360408110156105f257600080fd5b5080359060200135611c4a565b61059d6004803603602081101561061557600080fd5b5035611dfe565b6102126004803603602081101561063257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611e10565b6104c66004803603602081101561066557600080fd5b5035611eca565b6102126004803603604081101561068257600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611f51565b61059d600480360360208110156106bb57600080fd5b5035612129565b610212600480360360408110156106d857600080fd5b508035906020013561213b565b610212600480360360208110156106fb57600080fd5b50356122d2565b6102126004803603604081101561071857600080fd5b5080359060200135612468565b6102126004803603602081101561073b57600080fd5b5035612606565b6102726004803603602081101561075857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166127a2565b6102126127cd565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561084557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166108405760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610902565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806108c7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6109025760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260066020526040812055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156109db57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166109d65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610a98565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610a5d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610a985760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260046020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b600a5474010000000000000000000000000000000000000000900460ff1690565b600a5473ffffffffffffffffffffffffffffffffffffffff163314610b455760405162461bcd60e51b8152600401808060200182810382526030815260200180612afb6030913960400191505060405180910390fd5b60098054600a80547fffffffffffffffffffffffff000000000000000000000000000000000000000080841673ffffffffffffffffffffffffffffffffffffffff838116919091179586905591169091556040805192821680845293909116602083015280517fa14fc14d8620a708a896fd11392a235647d99385500a295f0d7da2a258b2e9679281900390910190a150565b60008181526004602052604090205473ffffffffffffffffffffffffffffffffffffffff165b919050565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610ccb57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610cc65760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610d88565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610d4d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610d885760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260056020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415610e8657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16610e815760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b610f43565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680610f08575060095473ffffffffffffffffffffffffffffffffffffffff1632145b610f435760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152600160205260409020610f5c9083836129c3565b50505050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561102a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166110255760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6110e7565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806110ac575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6110e75760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526003602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff161515600114156111c157604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166111bc5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61127e565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611243575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61127e5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526006602052604090912055565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260076020526040812054909116806112c85782915050610bfe565b92915050565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561139657604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166113915760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611453565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611418575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6114535760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260016020526040812061146a91612a6d565b50565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561153557604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166115305760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6115f2565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806115b7575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6115f25760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b6000838152602081905260409020610f5c9083836129c3565b60009081526005602052604090205460ff1690565b60095473ffffffffffffffffffffffffffffffffffffffff16331461168c576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561179b57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166117965760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611858565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061181d575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6118585760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260036020526040812055565b6000818152602081815260409182902080548351601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61010060018616150201909316929092049182018490048402810184019094528084526060939283018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b820191906000526020600020905b8154815290600101906020018083116118fd57829003601f168201915b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff821661198e576040805162461bcd60e51b815260206004820152601a60248201527f496e76616c6964207769746864726177616c2061646472657373000000000000604482015290519081900360640190fd5b600061199984611290565b905073ffffffffffffffffffffffffffffffffffffffff811633146119ef5760405162461bcd60e51b8152600401808060200182810382526038815260200180612ac36038913960400191505060405180910390fd5b8115611a04576119ff848461287a565b610f5c565b505073ffffffffffffffffffffffffffffffffffffffff918216600090815260086020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001691909216179055565b60009081526006602052604090205490565b60095473ffffffffffffffffffffffffffffffffffffffff1690565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611b4f57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611b4a5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611c0c565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611bd1575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611c0c5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526005602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600a5474010000000000000000000000000000000000000000900460ff16151560011415611d1257604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16611d0d5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b611dcf565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680611d94575060095473ffffffffffffffffffffffffffffffffffffffff1632145b611dcf5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612905565b6000928352600260205260409092209190915550565b60009081526002602052604090205490565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260086020526040902054163314611e755760405162461bcd60e51b815260040180806020018281038252603a815260200180612b73603a913960400191505060405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8116600090815260086020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561146a813361287a565b60008181526001602081815260409283902080548451600294821615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190911693909304601f8101839004830284018301909452838352606093909183018282801561191a5780601f106118ef5761010080835404028352916020019161191a565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561201957604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166120145760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6120d6565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061209b575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6120d65760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526004602052604090912080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526003602052604090205490565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561220357604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166121fe5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6122c0565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612285575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6122c05760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b60009182526002602052604090912055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561239a57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166123955760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b612457565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff168061241c575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6124575760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600090815260026020526040812055565b600a5474010000000000000000000000000000000000000000900460ff1615156001141561253057604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1661252b5760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b6125ed565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff16806125b2575060095473ffffffffffffffffffffffffffffffffffffffff1632145b6125ed5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600082815260026020526040902054611de89082612966565b600a5474010000000000000000000000000000000000000000900460ff161515600114156126ce57604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff166126c95760405162461bcd60e51b8152600401808060200182810382526024815260200180612bad6024913960400191505060405180910390fd5b61278b565b604080517f636f6e74726163742e65786973747300000000000000000000000000000000006020808301919091523360601b602f830152825160238184030181526043909201835281519181019190912060009081526005909152205460ff1680612750575060095473ffffffffffffffffffffffffffffffffffffffff1632145b61278b5760405162461bcd60e51b8152600401808060200182810382526048815260200180612b2b6048913960600191505060405180910390fd5b600081815260208190526040812061146a91612a6d565b73ffffffffffffffffffffffffffffffffffffffff9081166000908152600860205260409020541690565b60095473ffffffffffffffffffffffffffffffffffffffff163314612839576040805162461bcd60e51b815260206004820152601760248201527f4973206e6f7420677561726469616e206163636f756e74000000000000000000604482015290519081900360640190fd5b600a80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526007602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055815142815291517fe04362a1cecc83cc66f0c6704a58da505fba1d6170f40e4543d477e76fa9175c9281900390910190a35050565b60008282018381101561295f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156129bd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826129f95760008555612a5d565b82601f10612a30578280017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00823516178555612a5d565b82800160010185558215612a5d579182015b82811115612a5d578235825591602001919060010190612a42565b50612a69929150612aad565b5090565b50805460018160011615610100020316600290046000825580601f10612a93575061146a565b601f01602090049060005260206000209081019061146a91905b5b80821115612a695760008155600101612aae56fe4f6e6c7920612074782066726f6d2061206e6f64652773207769746864726177616c20616464726573732063616e20757064617465206974436f6e6669726d6174696f6e206d75737420636f6d652066726f6d206e657720677561726469616e2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e747261637420617474656d7074696e672061636365737320647572696e67206465706c6f796d656e74436f6e6669726d6174696f6e206d75737420636f6d652066726f6d207468652070656e64696e67207769746864726177616c2061646472657373496e76616c6964206f72206f75746461746564206e6574776f726b20636f6e7472616374a2646970667358221220e96700c69e72a71b37f125c18447b170503c3f01c656571029092e21f1a652c764736f6c63430007060033

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.