ETH Price: $3,324.42 (+1.99%)
Gas: 2 Gwei

Contract

0x4534E92eefecc63C6105F53893D355C14aA129cf
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Suspend Synth117880142021-02-04 6:04:221271 days ago1612418662IN
Synthetix: Old System Status
0 ETH0.00891331196.16
Suspend System117879202021-02-04 5:42:181271 days ago1612417338IN
Synthetix: Old System Status
0 ETH0.00674145150
Resume Synth117873612021-02-04 3:34:521271 days ago1612409692IN
Synthetix: Old System Status
0 ETH0.00428061279.87
Suspend Synth117870902021-02-04 2:34:311271 days ago1612406071IN
Synthetix: Old System Status
0 ETH0.0136317300
Suspend Synth117865582021-02-04 0:31:461271 days ago1612398706IN
Synthetix: Old System Status
0 ETH0.00998866220
Suspend Synth117865382021-02-04 0:27:071271 days ago1612398427IN
Synthetix: Old System Status
0 ETH0.00953463210
Resume Synth117864252021-02-04 0:04:341271 days ago1612397074IN
Synthetix: Old System Status
0 ETH0.00342669224.04
Suspend Synth117843972021-02-03 16:34:511272 days ago1612370091IN
Synthetix: Old System Status
0 ETH0.0136245300
Resume Synth117823702021-02-03 9:04:331272 days ago1612343073IN
Synthetix: Old System Status
0 ETH0.00320843210.1
Suspend Synth117818632021-02-03 7:09:521272 days ago1612336192IN
Synthetix: Old System Status
0 ETH0.00499433110
Suspend Synth117815692021-02-03 6:04:361272 days ago1612332276IN
Synthetix: Old System Status
0 ETH0.00718117158.04
Suspend Synth117812632021-02-03 4:56:411272 days ago1612328201IN
Synthetix: Old System Status
0 ETH0.00490352108
Resume Synth117808882021-02-03 3:34:381272 days ago1612323278IN
Synthetix: Old System Status
0 ETH0.0024732161.7
Suspend Synth117806122021-02-03 2:34:421272 days ago1612319682IN
Synthetix: Old System Status
0 ETH0.00946312208.26
Resume Synth117799332021-02-03 0:04:261272 days ago1612310666IN
Synthetix: Old System Status
0 ETH0.00245805160.71
Suspend Synth117779232021-02-02 16:34:301273 days ago1612283670IN
Synthetix: Old System Status
0 ETH0.01300503286.36
Resume Synth117759242021-02-02 9:04:431273 days ago1612256683IN
Synthetix: Old System Status
0 ETH0.00274939180.04
Suspend Synth117751022021-02-02 6:04:411273 days ago1612245881IN
Synthetix: Old System Status
0 ETH0.00719753158.4
Resume Synth117744252021-02-02 3:34:331273 days ago1612236873IN
Synthetix: Old System Status
0 ETH0.00280969183.7
Suspend Synth117741402021-02-02 2:34:491273 days ago1612233289IN
Synthetix: Old System Status
0 ETH0.00936316206.06
Suspend Synth117740592021-02-02 2:19:201273 days ago1612232360IN
Synthetix: Old System Status
0 ETH0.00876509193
Resume Synth117740502021-02-02 2:16:231273 days ago1612232183IN
Synthetix: Old System Status
0 ETH0.00290149190
Suspend Synth117738942021-02-02 1:42:571273 days ago1612230177IN
Synthetix: Old System Status
0 ETH0.00685766151
Suspend Synth117738522021-02-02 1:34:341273 days ago1612229674IN
Synthetix: Old System Status
0 ETH0.00681225150
Suspend Synth117738322021-02-02 1:27:491273 days ago1612229269IN
Synthetix: Old System Status
0 ETH0.00699206154
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SystemStatus

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2020-03-31
*/

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

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

/* ===============================================
* Flattened with Solidifier by Coinage
* 
* https://solidifier.coina.ge
* ===============================================
*/


pragma solidity 0.4.25;


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

    /**
     * @dev Owned Constructor
     */
    constructor(address _owner) public {
        require(_owner != address(0), "Owner address cannot be 0");
        owner = _owner;
        emit OwnerChanged(address(0), _owner);
    }

    /**
     * @notice Nominate a new owner of this contract.
     * @dev Only the current owner may nominate a new owner.
     */
    function nominateNewOwner(address _owner) external onlyOwner {
        nominatedOwner = _owner;
        emit OwnerNominated(_owner);
    }

    /**
     * @notice Accept the nomination to be 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 {
        require(msg.sender == owner, "Only the contract owner may perform this action");
        _;
    }

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


// https://docs.synthetix.io/contracts/SystemStatus
contract SystemStatus is Owned {
    struct Status {
        bool canSuspend;
        bool canResume;
    }

    mapping(bytes32 => mapping(address => Status)) public accessControl;

    struct Suspension {
        bool suspended;
        // reason is an integer code,
        // 0 => no reason, 1 => upgrading, 2+ => defined by system usage
        uint248 reason;
    }

    uint248 public constant SUSPENSION_REASON_UPGRADE = 1;

    bytes32 public constant SECTION_SYSTEM = "System";
    bytes32 public constant SECTION_ISSUANCE = "Issuance";
    bytes32 public constant SECTION_EXCHANGE = "Exchange";
    bytes32 public constant SECTION_SYNTH = "Synth";

    Suspension public systemSuspension;

    Suspension public issuanceSuspension;

    Suspension public exchangeSuspension;

    mapping(bytes32 => Suspension) public synthSuspension;

    constructor(address _owner) public Owned(_owner) {
        _internalUpdateAccessControl(SECTION_SYSTEM, _owner, true, true);
        _internalUpdateAccessControl(SECTION_ISSUANCE, _owner, true, true);
        _internalUpdateAccessControl(SECTION_EXCHANGE, _owner, true, true);
        _internalUpdateAccessControl(SECTION_SYNTH, _owner, true, true);
    }

    /* ========== VIEWS ========== */
    function requireSystemActive() external view {
        _internalRequireSystemActive();
    }

    function requireIssuanceActive() external view {
        // Issuance requires the system be active
        _internalRequireSystemActive();
        require(!issuanceSuspension.suspended, "Issuance is suspended. Operation prohibited");
    }

    function requireExchangeActive() external view {
        // Issuance requires the system be active
        _internalRequireSystemActive();
        require(!exchangeSuspension.suspended, "Exchange is suspended. Operation prohibited");
    }

    function requireSynthActive(bytes32 currencyKey) external view {
        // Synth exchange and transfer requires the system be active
        _internalRequireSystemActive();
        require(!synthSuspension[currencyKey].suspended, "Synth is suspended. Operation prohibited");
    }

    function requireSynthsActive(bytes32 sourceCurrencyKey, bytes32 destinationCurrencyKey) external view {
        // Synth exchange and transfer requires the system be active
        _internalRequireSystemActive();

        require(
            !synthSuspension[sourceCurrencyKey].suspended && !synthSuspension[destinationCurrencyKey].suspended,
            "One or more synths are suspended. Operation prohibited"
        );
    }

    function isSystemUpgrading() external view returns (bool) {
        return systemSuspension.suspended && systemSuspension.reason == SUSPENSION_REASON_UPGRADE;
    }

    function getSynthSuspensions(bytes32[] synths)
        external
        view
        returns (bool[] memory suspensions, uint256[] memory reasons)
    {
        suspensions = new bool[](synths.length);
        reasons = new uint256[](synths.length);

        for (uint i = 0; i < synths.length; i++) {
            suspensions[i] = synthSuspension[synths[i]].suspended;
            reasons[i] = synthSuspension[synths[i]].reason;
        }
    }

    /* ========== MUTATIVE FUNCTIONS ========== */
    function updateAccessControl(bytes32 section, address account, bool canSuspend, bool canResume) external onlyOwner {
        _internalUpdateAccessControl(section, account, canSuspend, canResume);
    }

    function suspendSystem(uint256 reason) external {
        _requireAccessToSuspend(SECTION_SYSTEM);
        systemSuspension.suspended = true;
        systemSuspension.reason = uint248(reason);
        emit SystemSuspended(systemSuspension.reason);
    }

    function resumeSystem() external {
        _requireAccessToResume(SECTION_SYSTEM);
        systemSuspension.suspended = false;
        emit SystemResumed(uint256(systemSuspension.reason));
        systemSuspension.reason = 0;
    }

    function suspendIssuance(uint256 reason) external {
        _requireAccessToSuspend(SECTION_ISSUANCE);
        issuanceSuspension.suspended = true;
        issuanceSuspension.reason = uint248(reason);
        emit IssuanceSuspended(reason);
    }

    function resumeIssuance() external {
        _requireAccessToResume(SECTION_ISSUANCE);
        issuanceSuspension.suspended = false;
        emit IssuanceResumed(uint256(issuanceSuspension.reason));
        issuanceSuspension.reason = 0;
    }

    function suspendExchange(uint256 reason) external {
        _requireAccessToSuspend(SECTION_EXCHANGE);
        exchangeSuspension.suspended = true;
        exchangeSuspension.reason = uint248(reason);
        emit ExchangeSuspended(reason);
    }

    function resumeExchange() external {
        _requireAccessToResume(SECTION_EXCHANGE);
        exchangeSuspension.suspended = false;
        emit ExchangeResumed(uint256(exchangeSuspension.reason));
        exchangeSuspension.reason = 0;
    }

    function suspendSynth(bytes32 currencyKey, uint256 reason) external {
        _requireAccessToSuspend(SECTION_SYNTH);
        synthSuspension[currencyKey].suspended = true;
        synthSuspension[currencyKey].reason = uint248(reason);
        emit SynthSuspended(currencyKey, reason);
    }

    function resumeSynth(bytes32 currencyKey) external {
        _requireAccessToResume(SECTION_SYNTH);
        emit SynthResumed(currencyKey, uint256(synthSuspension[currencyKey].reason));
        delete synthSuspension[currencyKey];
    }

    /* ========== INTERNAL FUNCTIONS ========== */

    function _requireAccessToSuspend(bytes32 section) internal view {
        require(accessControl[section][msg.sender].canSuspend, "Restricted to access control list");
    }

    function _requireAccessToResume(bytes32 section) internal view {
        require(accessControl[section][msg.sender].canResume, "Restricted to access control list");
    }

    function _internalRequireSystemActive() internal view {
        require(
            !systemSuspension.suspended,
            systemSuspension.reason == SUSPENSION_REASON_UPGRADE
                ? "Synthetix is suspended, upgrade in progress... please stand by"
                : "Synthetix is suspended. Operation prohibited"
        );
    }

    function _internalUpdateAccessControl(bytes32 section, address account, bool canSuspend, bool canResume) internal {
        require(
            section == SECTION_SYSTEM ||
                section == SECTION_ISSUANCE ||
                section == SECTION_EXCHANGE ||
                section == SECTION_SYNTH,
            "Invalid section supplied"
        );
        accessControl[section][account].canSuspend = canSuspend;
        accessControl[section][account].canResume = canResume;
        emit AccessControlUpdated(section, account, canSuspend, canResume);
    }

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

    event SystemSuspended(uint256 reason);
    event SystemResumed(uint256 reason);

    event IssuanceSuspended(uint256 reason);
    event IssuanceResumed(uint256 reason);

    event ExchangeSuspended(uint256 reason);
    event ExchangeResumed(uint256 reason);

    event SynthSuspended(bytes32 currencyKey, uint256 reason);
    event SynthResumed(bytes32 currencyKey, uint256 reason);

    event AccessControlUpdated(bytes32 indexed section, address indexed account, bool canSuspend, bool canResume);
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"requireSystemActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_SYSTEM","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"reason","type":"uint256"}],"name":"suspendExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"nominateNewOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"},{"name":"","type":"address"}],"name":"accessControl","outputs":[{"name":"canSuspend","type":"bool"},{"name":"canResume","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuanceSuspension","outputs":[{"name":"suspended","type":"bool"},{"name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"systemSuspension","outputs":[{"name":"suspended","type":"bool"},{"name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isSystemUpgrading","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"reason","type":"uint256"}],"name":"suspendIssuance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"currencyKey","type":"bytes32"}],"name":"requireSynthActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"section","type":"bytes32"},{"name":"account","type":"address"},{"name":"canSuspend","type":"bool"},{"name":"canResume","type":"bool"}],"name":"updateAccessControl","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_ISSUANCE","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nominatedOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"sourceCurrencyKey","type":"bytes32"},{"name":"destinationCurrencyKey","type":"bytes32"}],"name":"requireSynthsActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeIssuance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"requireExchangeActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"synthSuspension","outputs":[{"name":"suspended","type":"bool"},{"name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"requireIssuanceActive","outputs":[],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"currencyKey","type":"bytes32"}],"name":"resumeSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SUSPENSION_REASON_UPGRADE","outputs":[{"name":"","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"currencyKey","type":"bytes32"},{"name":"reason","type":"uint256"}],"name":"suspendSynth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"synths","type":"bytes32[]"}],"name":"getSynthSuspensions","outputs":[{"name":"suspensions","type":"bool[]"},{"name":"reasons","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"reason","type":"uint256"}],"name":"suspendSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_EXCHANGE","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resumeExchange","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SECTION_SYNTH","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"exchangeSuspension","outputs":[{"name":"suspended","type":"bool"},{"name":"reason","type":"uint248"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reason","type":"uint256"}],"name":"SystemSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reason","type":"uint256"}],"name":"SystemResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reason","type":"uint256"}],"name":"IssuanceSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reason","type":"uint256"}],"name":"IssuanceResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reason","type":"uint256"}],"name":"ExchangeSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"reason","type":"uint256"}],"name":"ExchangeResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"currencyKey","type":"bytes32"},{"indexed":false,"name":"reason","type":"uint256"}],"name":"SynthSuspended","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"currencyKey","type":"bytes32"},{"indexed":false,"name":"reason","type":"uint256"}],"name":"SynthResumed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"section","type":"bytes32"},{"indexed":true,"name":"account","type":"address"},{"indexed":false,"name":"canSuspend","type":"bool"},{"indexed":false,"name":"canResume","type":"bool"}],"name":"AccessControlUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerNominated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"oldOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"OwnerChanged","type":"event"}]

60806040523480156200001157600080fd5b5060405160208062001874833981016040525180600160a060020a03811615156200009d57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506200012e7f53797374656d000000000000000000000000000000000000000000000000000082600180640100000000620001dd810204565b620001667f49737375616e636500000000000000000000000000000000000000000000000082600180640100000000620001dd810204565b6200019e7f45786368616e676500000000000000000000000000000000000000000000000082600180640100000000620001dd810204565b620001d67f53796e746800000000000000000000000000000000000000000000000000000082600180640100000000620001dd810204565b506200036e565b7f53797374656d00000000000000000000000000000000000000000000000000008414806200022b57507f49737375616e636500000000000000000000000000000000000000000000000084145b806200025657507f45786368616e676500000000000000000000000000000000000000000000000084145b806200028157507f53796e746800000000000000000000000000000000000000000000000000000084145b1515620002ef57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b6000848152600260209081526040808320600160a060020a038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6114f6806200037e6000396000f30060806040526004361061017f5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663086dabd1811461018457806312bde5141461019b578063157c51d3146101c25780631588e817146101d75780631627540c146101ef57806320f2bf00146102105780632366245e1461024f5780632dd8afdb146102875780632e8d0b9e1461029c578063396e258e146102c557806342a28e21146102dd57806348bf1971146102f55780634abdb44d1461032357806353a47bb7146103385780636132eba41461036957806367a280b2146103845780637118d431146103995780637243bc2c146103ae57806379ba5097146103c65780637c312541146103db5780638da5cb5b146103f057806394c79f74146104055780639f8a95ba1461041d578063abc0bb6e1461044e578063b9a4986914610469578063e470df5814610522578063f16162071461053a578063f405f65a1461054f578063f44d1e0b14610564578063f8b4b08414610579575b600080fd5b34801561019057600080fd5b5061019961058e565b005b3480156101a757600080fd5b506101b0610598565b60408051918252519081900360200190f35b3480156101ce57600080fd5b506101996105aa565b3480156101e357600080fd5b50610199600435610619565b3480156101fb57600080fd5b50610199600160a060020a0360043516610687565b34801561021c57600080fd5b50610234600435600160a060020a0360243516610770565b60408051921515835290151560208301528051918290030190f35b34801561025b57600080fd5b50610264610799565b604080519215158352600160f860020a0390911660208301528051918290030190f35b34801561029357600080fd5b506102646107b2565b3480156102a857600080fd5b506102b16107cb565b604080519115158252519081900360200190f35b3480156102d157600080fd5b506101996004356107f5565b3480156102e957600080fd5b50610199600435610863565b34801561030157600080fd5b50610199600435600160a060020a0360243516604435151560643515156108fb565b34801561032f57600080fd5b506101b0610995565b34801561034457600080fd5b5061034d6109a7565b60408051600160a060020a039092168252519081900360200190f35b34801561037557600080fd5b506101996004356024356109b6565b34801561039057600080fd5b50610199610a6c565b3480156103a557600080fd5b50610199610adb565b3480156103ba57600080fd5b50610264600435610b64565b3480156103d257600080fd5b50610199610b89565b3480156103e757600080fd5b50610199610c91565b3480156103fc57600080fd5b5061034d610d1a565b34801561041157600080fd5b50610199600435610d29565b34801561042957600080fd5b50610432610dac565b60408051600160f860020a039092168252519081900360200190f35b34801561045a57600080fd5b50610199600435602435610db1565b34801561047557600080fd5b506104896004803560248101910135610e35565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156104cd5781810151838201526020016104b5565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561050c5781810151838201526020016104f4565b5050505090500194505050505060405180910390f35b34801561052e57600080fd5b50610199600435610f53565b34801561054657600080fd5b506101b0610fcd565b34801561055b57600080fd5b50610199610fdf565b34801561057057600080fd5b506101b061104e565b34801561058557600080fd5b50610264611060565b610596611079565b565b60008051602061144b83398151915281565b6105c160008051602061144b8339815191526111e5565b6003805460ff19169081905560408051610100909204600160f860020a03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b6106306000805160206114ab833981519152611283565b60058054600160f860020a0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b600054600160a060020a0316331461070f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff8116906101009004600160f860020a031682565b60035460ff8116906101009004600160f860020a031682565b60035460009060ff1680156107f057506003546101009004600160f860020a03166001145b905090565b61080c60008051602061146b833981519152611283565b60048054600160f860020a0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b61086b611079565b60008181526006602052604090205460ff16156108f8576040805160e560020a62461bcd02815260206004820152602860248201527f53796e74682069732073757370656e6465642e204f7065726174696f6e20707260448201527f6f68696269746564000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50565b600054600160a060020a03163314610983576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b61098f8484848461131c565b50505050565b60008051602061146b83398151915281565b600154600160a060020a031681565b6109be611079565b60008281526006602052604090205460ff161580156109ec575060008181526006602052604090205460ff16155b1515610a68576040805160e560020a62461bcd02815260206004820152603660248201527f4f6e65206f72206d6f72652073796e746873206172652073757370656e64656460448201527f2e204f7065726174696f6e2070726f6869626974656400000000000000000000606482015290519081900360840190fd5b5050565b610a8360008051602061146b8339815191526111e5565b6004805460ff19169081905560408051610100909204600160f860020a03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b610ae3611079565b60055460ff1615610596576040805160e560020a62461bcd02815260206004820152602b60248201527f45786368616e67652069732073757370656e6465642e204f7065726174696f6e60448201527f2070726f68696269746564000000000000000000000000000000000000000000606482015290519081900360840190fd5b60066020526000908152604090205460ff8116906101009004600160f860020a031682565b600154600160a060020a03163314610c11576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b610c99611079565b60045460ff1615610596576040805160e560020a62461bcd02815260206004820152602b60248201527f49737375616e63652069732073757370656e6465642e204f7065726174696f6e60448201527f2070726f68696269746564000000000000000000000000000000000000000000606482015290519081900360840190fd5b600054600160a060020a031681565b610d4060008051602061148b8339815191526111e5565b600081815260066020908152604091829020548251848152610100909104600160f860020a03169181019190915281517f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220929181900390910190a1600090815260066020526040812055565b600181565b610dc860008051602061148b833981519152611283565b6000828152600660209081526040918290208054600160f860020a0385166101000260ff1990911660011760ff16179055815184815290810183905281517f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541929181900390910190a15050565b606080600084849050604051908082528060200260200182016040528015610e67578160200160208202803883390190505b50604080518681526020808802820101909152909350848015610e94578160200160208202803883390190505b509150600090505b83811015610f4b5760066000868684818110610eb457fe5b6020908102929092013583525081019190915260400160002054835160ff90911690849083908110610ee257fe5b91151560209283029091019091015260066000868684818110610f0157fe5b60209081029290920135835250810191909152604001600020548251610100909104600160f860020a031690839083908110610f3957fe5b60209081029091010152600101610e9c565b509250929050565b610f6a60008051602061144b833981519152611283565b60038054600160f860020a0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6000805160206114ab83398151915281565b610ff66000805160206114ab8339815191526111e5565b6005805460ff19169081905560408051610100909204600160f860020a03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b60008051602061148b83398151915281565b60055460ff8116906101009004600160f860020a031682565b60035460ff811615906101009004600160f860020a03166001146110f957606060405190810160405280602c81526020017f53796e7468657469782069732073757370656e6465642e204f7065726174696f81526020017f6e2070726f686962697465640000000000000000000000000000000000000000815250611157565b606060405190810160405280603e81526020017f53796e7468657469782069732073757370656e6465642c20757067726164652081526020017f696e2070726f67726573732e2e2e20706c65617365207374616e6420627900008152505b9015156108f85760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111aa578181015183820152602001611192565b50505050905090810190601f1680156111d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff1615156108f8576040805160e560020a62461bcd02815260206004820152602160248201527f5265737472696374656420746f2061636365737320636f6e74726f6c206c697360448201527f7400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600081815260026020908152604080832033845290915290205460ff1615156108f8576040805160e560020a62461bcd02815260206004820152602160248201527f5265737472696374656420746f2061636365737320636f6e74726f6c206c697360448201527f7400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008051602061144b833981519152841480611345575060008051602061146b83398151915284145b8061135d57506000805160206114ab83398151915284145b80611375575060008051602061148b83398151915284145b15156113cb576040805160e560020a62461bcd02815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b6000848152600260209081526040808320600160a060020a038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050560053797374656d000000000000000000000000000000000000000000000000000049737375616e636500000000000000000000000000000000000000000000000053796e746800000000000000000000000000000000000000000000000000000045786368616e6765000000000000000000000000000000000000000000000000a165627a7a723058201be18c30262f374cf3d609c846dcf930a356ba248786364bba09d314175ef1500029000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe

Deployed Bytecode

0x60806040526004361061017f5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663086dabd1811461018457806312bde5141461019b578063157c51d3146101c25780631588e817146101d75780631627540c146101ef57806320f2bf00146102105780632366245e1461024f5780632dd8afdb146102875780632e8d0b9e1461029c578063396e258e146102c557806342a28e21146102dd57806348bf1971146102f55780634abdb44d1461032357806353a47bb7146103385780636132eba41461036957806367a280b2146103845780637118d431146103995780637243bc2c146103ae57806379ba5097146103c65780637c312541146103db5780638da5cb5b146103f057806394c79f74146104055780639f8a95ba1461041d578063abc0bb6e1461044e578063b9a4986914610469578063e470df5814610522578063f16162071461053a578063f405f65a1461054f578063f44d1e0b14610564578063f8b4b08414610579575b600080fd5b34801561019057600080fd5b5061019961058e565b005b3480156101a757600080fd5b506101b0610598565b60408051918252519081900360200190f35b3480156101ce57600080fd5b506101996105aa565b3480156101e357600080fd5b50610199600435610619565b3480156101fb57600080fd5b50610199600160a060020a0360043516610687565b34801561021c57600080fd5b50610234600435600160a060020a0360243516610770565b60408051921515835290151560208301528051918290030190f35b34801561025b57600080fd5b50610264610799565b604080519215158352600160f860020a0390911660208301528051918290030190f35b34801561029357600080fd5b506102646107b2565b3480156102a857600080fd5b506102b16107cb565b604080519115158252519081900360200190f35b3480156102d157600080fd5b506101996004356107f5565b3480156102e957600080fd5b50610199600435610863565b34801561030157600080fd5b50610199600435600160a060020a0360243516604435151560643515156108fb565b34801561032f57600080fd5b506101b0610995565b34801561034457600080fd5b5061034d6109a7565b60408051600160a060020a039092168252519081900360200190f35b34801561037557600080fd5b506101996004356024356109b6565b34801561039057600080fd5b50610199610a6c565b3480156103a557600080fd5b50610199610adb565b3480156103ba57600080fd5b50610264600435610b64565b3480156103d257600080fd5b50610199610b89565b3480156103e757600080fd5b50610199610c91565b3480156103fc57600080fd5b5061034d610d1a565b34801561041157600080fd5b50610199600435610d29565b34801561042957600080fd5b50610432610dac565b60408051600160f860020a039092168252519081900360200190f35b34801561045a57600080fd5b50610199600435602435610db1565b34801561047557600080fd5b506104896004803560248101910135610e35565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156104cd5781810151838201526020016104b5565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561050c5781810151838201526020016104f4565b5050505090500194505050505060405180910390f35b34801561052e57600080fd5b50610199600435610f53565b34801561054657600080fd5b506101b0610fcd565b34801561055b57600080fd5b50610199610fdf565b34801561057057600080fd5b506101b061104e565b34801561058557600080fd5b50610264611060565b610596611079565b565b60008051602061144b83398151915281565b6105c160008051602061144b8339815191526111e5565b6003805460ff19169081905560408051610100909204600160f860020a03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b6106306000805160206114ab833981519152611283565b60058054600160f860020a0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b600054600160a060020a0316331461070f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff8116906101009004600160f860020a031682565b60035460ff8116906101009004600160f860020a031682565b60035460009060ff1680156107f057506003546101009004600160f860020a03166001145b905090565b61080c60008051602061146b833981519152611283565b60048054600160f860020a0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b61086b611079565b60008181526006602052604090205460ff16156108f8576040805160e560020a62461bcd02815260206004820152602860248201527f53796e74682069732073757370656e6465642e204f7065726174696f6e20707260448201527f6f68696269746564000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b50565b600054600160a060020a03163314610983576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b61098f8484848461131c565b50505050565b60008051602061146b83398151915281565b600154600160a060020a031681565b6109be611079565b60008281526006602052604090205460ff161580156109ec575060008181526006602052604090205460ff16155b1515610a68576040805160e560020a62461bcd02815260206004820152603660248201527f4f6e65206f72206d6f72652073796e746873206172652073757370656e64656460448201527f2e204f7065726174696f6e2070726f6869626974656400000000000000000000606482015290519081900360840190fd5b5050565b610a8360008051602061146b8339815191526111e5565b6004805460ff19169081905560408051610100909204600160f860020a03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b610ae3611079565b60055460ff1615610596576040805160e560020a62461bcd02815260206004820152602b60248201527f45786368616e67652069732073757370656e6465642e204f7065726174696f6e60448201527f2070726f68696269746564000000000000000000000000000000000000000000606482015290519081900360840190fd5b60066020526000908152604090205460ff8116906101009004600160f860020a031682565b600154600160a060020a03163314610c11576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b610c99611079565b60045460ff1615610596576040805160e560020a62461bcd02815260206004820152602b60248201527f49737375616e63652069732073757370656e6465642e204f7065726174696f6e60448201527f2070726f68696269746564000000000000000000000000000000000000000000606482015290519081900360840190fd5b600054600160a060020a031681565b610d4060008051602061148b8339815191526111e5565b600081815260066020908152604091829020548251848152610100909104600160f860020a03169181019190915281517f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220929181900390910190a1600090815260066020526040812055565b600181565b610dc860008051602061148b833981519152611283565b6000828152600660209081526040918290208054600160f860020a0385166101000260ff1990911660011760ff16179055815184815290810183905281517f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541929181900390910190a15050565b606080600084849050604051908082528060200260200182016040528015610e67578160200160208202803883390190505b50604080518681526020808802820101909152909350848015610e94578160200160208202803883390190505b509150600090505b83811015610f4b5760066000868684818110610eb457fe5b6020908102929092013583525081019190915260400160002054835160ff90911690849083908110610ee257fe5b91151560209283029091019091015260066000868684818110610f0157fe5b60209081029290920135835250810191909152604001600020548251610100909104600160f860020a031690839083908110610f3957fe5b60209081029091010152600101610e9c565b509250929050565b610f6a60008051602061144b833981519152611283565b60038054600160f860020a0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6000805160206114ab83398151915281565b610ff66000805160206114ab8339815191526111e5565b6005805460ff19169081905560408051610100909204600160f860020a03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b60008051602061148b83398151915281565b60055460ff8116906101009004600160f860020a031682565b60035460ff811615906101009004600160f860020a03166001146110f957606060405190810160405280602c81526020017f53796e7468657469782069732073757370656e6465642e204f7065726174696f81526020017f6e2070726f686962697465640000000000000000000000000000000000000000815250611157565b606060405190810160405280603e81526020017f53796e7468657469782069732073757370656e6465642c20757067726164652081526020017f696e2070726f67726573732e2e2e20706c65617365207374616e6420627900008152505b9015156108f85760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111aa578181015183820152602001611192565b50505050905090810190601f1680156111d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff1615156108f8576040805160e560020a62461bcd02815260206004820152602160248201527f5265737472696374656420746f2061636365737320636f6e74726f6c206c697360448201527f7400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600081815260026020908152604080832033845290915290205460ff1615156108f8576040805160e560020a62461bcd02815260206004820152602160248201527f5265737472696374656420746f2061636365737320636f6e74726f6c206c697360448201527f7400000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60008051602061144b833981519152841480611345575060008051602061146b83398151915284145b8061135d57506000805160206114ab83398151915284145b80611375575060008051602061148b83398151915284145b15156113cb576040805160e560020a62461bcd02815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b6000848152600260209081526040808320600160a060020a038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050560053797374656d000000000000000000000000000000000000000000000000000049737375616e636500000000000000000000000000000000000000000000000053796e746800000000000000000000000000000000000000000000000000000045786368616e6765000000000000000000000000000000000000000000000000a165627a7a723058201be18c30262f374cf3d609c846dcf930a356ba248786364bba09d314175ef1500029

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

000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe

-----Decoded View---------------
Arg [0] : _owner (address): 0xDe910777C787903F78C89e7a0bf7F4C435cBB1Fe

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe


Libraries Used


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

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