ETH Price: $2,381.58 (-0.07%)
Gas: 4.45 Gwei

Contract

0x1EadC903341CFdB3406a04506239f52D076b170B
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer126282032021-06-13 20:12:191208 days ago1623615139IN
0x1EadC903...D076b170B
0 ETH0.0004853719.8
Transfer126281852021-06-13 20:08:011208 days ago1623614881IN
0x1EadC903...D076b170B
0 ETH0.0003431914
Transfer123725512021-05-05 6:14:571248 days ago1620195297IN
0x1EadC903...D076b170B
0 ETH0.0008575735
Transfer123084602021-04-25 8:50:441257 days ago1619340644IN
0x1EadC903...D076b170B
0 ETH0.0010285842
Transfer113383832020-11-27 4:25:551407 days ago1606451155IN
0x1EadC903...D076b170B
0 ETH0.0006964230
Transfer113117182020-11-23 2:12:251411 days ago1606097545IN
0x1EadC903...D076b170B
0 ETH0.0009744842
Transfer112666902020-11-16 4:10:161418 days ago1605499816IN
0x1EadC903...D076b170B
0 ETH0.0006261327
Transfer112351682020-11-11 8:18:471422 days ago1605082727IN
0x1EadC903...D076b170B
0 ETH0.0005099122
Transfer112090912020-11-07 7:59:311426 days ago1604735971IN
0x1EadC903...D076b170B
0 ETH0.0003781916.3
Transfer112090672020-11-07 7:54:571426 days ago1604735697IN
0x1EadC903...D076b170B
0 ETH0.0004872421
Transfer112060662020-11-06 20:52:441427 days ago1604695964IN
0x1EadC903...D076b170B
0 ETH0.0006264527
Transfer112060532020-11-06 20:50:131427 days ago1604695813IN
0x1EadC903...D076b170B
0 ETH0.0004176318
Transfer111534672020-10-29 19:03:161435 days ago1603998196IN
0x1EadC903...D076b170B
0 ETH0.0023178100
Transfer111534592020-10-29 19:01:271435 days ago1603998087IN
0x1EadC903...D076b170B
0 ETH0.0009502941
Transfer111533662020-10-29 18:38:181435 days ago1603996698IN
0x1EadC903...D076b170B
0 ETH0.0009502941
Transfer111533532020-10-29 18:35:231435 days ago1603996523IN
0x1EadC903...D076b170B
0 ETH0.0007648733
Transfer111476622020-10-28 21:43:531436 days ago1603921433IN
0x1EadC903...D076b170B
0 ETH0.000505821.8
Transfer111217152020-10-24 22:04:541440 days ago1603577094IN
0x1EadC903...D076b170B
0 ETH0.0003493115.05540341
Transfer111210092020-10-24 19:34:291440 days ago1603568069IN
0x1EadC903...D076b170B
0 ETH0.0009280840
Transfer111050972020-10-22 9:09:071442 days ago1603357747IN
0x1EadC903...D076b170B
0 ETH0.0010440945
Transfer110453352020-10-13 5:13:211452 days ago1602566001IN
0x1EadC903...D076b170B
0 ETH0.001855280
Renounce Minter110182742020-10-09 1:14:101456 days ago1602206050IN
0x1EadC903...D076b170B
0 ETH0.0007244149
Renounce Can Tra...110182742020-10-09 1:14:101456 days ago1602206050IN
0x1EadC903...D076b170B
0 ETH0.0007254949
Add Minter110182652020-10-09 1:13:001456 days ago1602205980IN
0x1EadC903...D076b170B
0 ETH0.002443353
Add Can Transfer110182652020-10-09 1:13:001456 days ago1602205980IN
0x1EadC903...D076b170B
0 ETH0.0024421853
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:
HopeNonTradable

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-10-01
*/

pragma solidity ^0.5.0;

library SafeMath {
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

/*
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with GSN meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
contract Context {
    // Empty internal constructor, to prevent people from mistakenly deploying
    // an instance of this contract, which should be used via inheritance.
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor () internal {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

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

    /**
     * @dev Returns true if the caller is the current owner.
     */
    function isOwner() public view returns (bool) {
        return _msgSender() == _owner;
    }

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

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    /**
     * @dev Give an account access to this role.
     */
    function add(Role storage role, address account) internal {
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    /**
     * @dev Remove an account's access to this role.
     */
    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }

    /**
     * @dev Check if an account has this role.
     * @return bool
     */
    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

contract MinterRole is Context {
    using Roles for Roles.Role;

    event MinterAdded(address indexed account);
    event MinterRemoved(address indexed account);

    Roles.Role private _minters;

    constructor () internal {
        _addMinter(_msgSender());
    }

    modifier onlyMinter() {
        require(isMinter(_msgSender()), "MinterRole: caller does not have the Minter role");
        _;
    }

    function isMinter(address account) public view returns (bool) {
        return _minters.has(account);
    }

    function addMinter(address account) public onlyMinter {
        _addMinter(account);
    }

    function renounceMinter() public {
        _removeMinter(_msgSender());
    }

    function _addMinter(address account) internal {
        _minters.add(account);
        emit MinterAdded(account);
    }

    function _removeMinter(address account) internal {
        _minters.remove(account);
        emit MinterRemoved(account);
    }
}

contract CanTransferRole is Context {
    using Roles for Roles.Role;

    event CanTransferAdded(address indexed account);
    event CanTransferRemoved(address indexed account);

    Roles.Role private _canTransfer;

    constructor () internal {
        _addCanTransfer(_msgSender());
    }

    modifier onlyCanTransfer() {
        require(canTransfer(_msgSender()), "CanTransferRole: caller does not have the CanTransfer role");
        _;
    }

    function canTransfer(address account) public view returns (bool) {
        return _canTransfer.has(account);
    }

    function addCanTransfer(address account) public onlyCanTransfer {
        _addCanTransfer(account);
    }

    function renounceCanTransfer() public {
        _removeCanTransfer(_msgSender());
    }

    function _addCanTransfer(address account) internal {
        _canTransfer.add(account);
        emit CanTransferAdded(account);
    }

    function _removeCanTransfer(address account) internal {
        _canTransfer.remove(account);
        emit CanTransferRemoved(account);
    }
}


contract HopeNonTradable is Ownable, MinterRole, CanTransferRole {
    using SafeMath for uint256;
    event Transfer(address indexed from, address indexed to, uint256 value);

    mapping (address => uint256) private _balances;

    uint256 private _totalSupply;
    uint256 private _totalClaimed;
    string public name = "HOPE - Non Tradable";
    string public symbol = "HOPE";
    uint8 public decimals = 18;

    /**
     * @dev Total number of tokens in existence.
     */
    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

    // Returns the total claimed hope
    // This is just purely used to display the total hope claimed by users on the frontend
    function totalClaimed() public view returns (uint256) {
        return _totalClaimed;
    }

    // Add hope claimed
    function addClaimed(uint256 _amount) public onlyCanTransfer {
        _totalClaimed = _totalClaimed.add(_amount);
    }

    // Set hope claimed to a custom value, for if we wanna reset the counter on new season release
    function setClaimed(uint256 _amount) public onlyCanTransfer {
        require(_amount >= 0, "Cant be negative");
        _totalClaimed = _amount;
    }

    // As this token is non tradable, only minters are allowed to transfer tokens between accounts
    function transfer(address receiver, uint numTokens) public onlyCanTransfer returns (bool) {
        require(numTokens <= _balances[msg.sender]);
        _balances[msg.sender] = _balances[msg.sender].sub(numTokens);
        _balances[receiver] = _balances[receiver].add(numTokens);
        emit Transfer(msg.sender, receiver, numTokens);
        return true;
    }

    // As this token is non tradable, only minters are allowed to transfer tokens between accounts
    function transferFrom(address owner, address buyer, uint numTokens) public onlyCanTransfer returns (bool) {
        require(numTokens <= _balances[owner]);

        _balances[owner] = _balances[owner].sub(numTokens);
        _balances[buyer] = _balances[buyer].add(numTokens);
        emit Transfer(owner, buyer, numTokens);
        return true;
    }

    /**
     * @dev Gets the balance of the specified address.
     * @param owner The address to query the balance of.
     * @return A uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address owner) public view returns (uint256) {
        return _balances[owner];
    }

    function mint(address _to, uint256 _amount) public onlyMinter {
        _mint(_to, _amount);
    }

    function burn(address _account, uint256 value) public onlyCanTransfer {
        require(_balances[_account] >= value, "Cannot burn more than address has");
        _burn(_account, value);
    }

    /**
     * @dev Internal function that mints an amount of the token and assigns it to
     * an account. This encapsulates the modification of balances such that the
     * proper events are emitted.
     * @param account The account that will receive the created tokens.
     * @param value The amount that will be created.
     */
    function _mint(address account, uint256 value) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(value);
        _balances[account] = _balances[account].add(value);
        emit Transfer(address(0), account, value);
    }

    /**
     * @dev Internal function that burns an amount of the token of a given
     * account.
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(0), value);
    }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"CanTransferAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"CanTransferRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"MinterRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addCanTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"addClaimed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"canTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isMinter","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceCanTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setClaimed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"buyer","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280601381526020017f484f5045202d204e6f6e205472616461626c6500000000000000000000000000815250600690805190602001906200005192919062000440565b506040518060400160405280600481526020017f484f504500000000000000000000000000000000000000000000000000000000815250600790805190602001906200009f92919062000440565b506012600860006101000a81548160ff021916908360ff1602179055506000620000ce620001b260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506200018c62000180620001b260201b60201c565b620001ba60201b60201c565b620001ac620001a0620001b260201b60201c565b6200021b60201b60201c565b620004ef565b600033905090565b620001d58160016200027c60201b62001acb1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b620002368160026200027c60201b62001acb1790919060201c565b8073ffffffffffffffffffffffffffffffffffffffff167f531fb3f4abc13206cb61d4f7ef7b0acf84a392b92b2ce893be8ef23553e74a8f60405160405180910390a250565b6200028e82826200036060201b60201c565b1562000302576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620003e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180620022ac6022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200048357805160ff1916838001178555620004b4565b82800160010185558215620004b4579182015b82811115620004b357825182559160200191906001019062000496565b5b509050620004c39190620004c7565b5090565b620004ec91905b80821115620004e8576000816000905550600101620004ce565b5090565b90565b611dad80620004ff6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063945ee661116100b8578063a9059cbb1161007c578063a9059cbb1461059b578063aa271e1a14610601578063d54ad2a11461065d578063e7aa0bd71461067b578063f2fde38b146106a9578063f408d96c146106ed57610142565b8063945ee6611461044e57806395d89b411461047c578063983b2d56146104ff57806398650275146105435780639dc29fac1461054d57610142565b806340c10f191161010a57806340c10f19146102d657806370a0823114610324578063715018a61461037c57806378fc3cb3146103865780638da5cb5b146103e25780638f32d59b1461042c57610142565b806306fdde0314610147578063101aab78146101ca57806318160ddd1461020e57806323b872dd1461022c578063313ce567146102b2575b600080fd5b61014f6106f7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020c600480360360208110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610795565b005b610216610806565b6040518082815260200191505060405180910390f35b6102986004803603606081101561024257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610810565b604051808215151515815260200191505060405180910390f35b6102ba610a5d565b604051808260ff1660ff16815260200191505060405180910390f35b610322600480360360408110156102ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a70565b005b6103666004803603602081101561033a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae3565b6040518082815260200191505060405180910390f35b610384610b2c565b005b6103c86004803603602081101561039c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c65565b604051808215151515815260200191505060405180910390f35b6103ea610c82565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610434610cab565b604051808215151515815260200191505060405180910390f35b61047a6004803603602081101561046457600080fd5b8101908080359060200190929190505050610d09565b005b610484610d8c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c45780820151818401526020810190506104a9565b50505050905090810190601f1680156104f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105416004803603602081101561051557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e2a565b005b61054b610e9b565b005b6105996004803603604081101561056357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ead565b005b6105e7600480360360408110156105b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fb8565b604051808215151515815260200191505060405180910390f35b6106436004803603602081101561061757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611204565b604051808215151515815260200191505060405180910390f35b610665611221565b6040518082815260200191505060405180910390f35b6106a76004803603602081101561069157600080fd5b810190808035906020019092919050505061122b565b005b6106eb600480360360208110156106bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611311565b005b6106f5611397565b005b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561078d5780601f106107625761010080835404028352916020019161078d565b820191906000526020600020905b81548152906001019060200180831161077057829003601f168201915b505050505081565b6107a56107a06113a9565b610c65565b6107fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b610803816113b1565b50565b6000600454905090565b600061082261081d6113a9565b610c65565b610877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108c357600080fd5b61091582600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140b90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109aa82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600860009054906101000a900460ff1681565b610a80610a7b6113a9565b611204565b610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180611c8a6030913960400191505060405180910390fd5b610adf828261143e565b5050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b34610cab565b610ba6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610c7b8260026115fb90919063ffffffff16565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ced6113a9565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b610d19610d146113a9565b610c65565b610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b610d838160055461142290919063ffffffff16565b60058190555050565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e225780601f10610df757610100808354040283529160200191610e22565b820191906000526020600020905b815481529060010190602001808311610e0557829003601f168201915b505050505081565b610e3a610e356113a9565b611204565b610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180611c8a6030913960400191505060405180910390fd5b610e98816116d9565b50565b610eab610ea66113a9565b611733565b565b610ebd610eb86113a9565b610c65565b610f12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d586021913960400191505060405180910390fd5b610fb4828261178d565b5050565b6000610fca610fc56113a9565b610c65565b61101f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561106b57600080fd5b6110bd82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140b90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061115282600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061121a8260016115fb90919063ffffffff16565b9050919050565b6000600554905090565b61123b6112366113a9565b610c65565b611290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b6000811015611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f43616e74206265206e656761746976650000000000000000000000000000000081525060200191505060405180910390fd5b8060058190555050565b611319610cab565b61138b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6113948161192d565b50565b6113a76113a26113a9565b611a71565b565b600033905090565b6113c5816002611acb90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f531fb3f4abc13206cb61d4f7ef7b0acf84a392b92b2ce893be8ef23553e74a8f60405160405180910390a250565b60008282111561141757fe5b818303905092915050565b60008082840190508381101561143457fe5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6114f68160045461142290919063ffffffff16565b60048190555061154e81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611d156022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6116ed816001611acb90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b611747816001611ba690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611813576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d376021913960400191505060405180910390fd5b6118288160045461140b90919063ffffffff16565b60048190555061188081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140b90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119b3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611c646026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a85816002611ba690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe63cdbc5df48c9c19f2cdb038b14762dae6eabe99f357a3caab7c1f1f5f26f7260405160405180910390a250565b611ad582826115fb565b15611b48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611bb082826115fb565b611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611cba6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6543616e5472616e73666572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652043616e5472616e7366657220726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737343616e6e6f74206275726e206d6f7265207468616e206164647265737320686173a265627a7a723158209bc1b582478d5a3d9975347d23608fb7acd20fb300ffc75f5b9a71ed65b2a2aa64736f6c63430005110032526f6c65733a206163636f756e7420697320746865207a65726f2061646472657373

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c8063945ee661116100b8578063a9059cbb1161007c578063a9059cbb1461059b578063aa271e1a14610601578063d54ad2a11461065d578063e7aa0bd71461067b578063f2fde38b146106a9578063f408d96c146106ed57610142565b8063945ee6611461044e57806395d89b411461047c578063983b2d56146104ff57806398650275146105435780639dc29fac1461054d57610142565b806340c10f191161010a57806340c10f19146102d657806370a0823114610324578063715018a61461037c57806378fc3cb3146103865780638da5cb5b146103e25780638f32d59b1461042c57610142565b806306fdde0314610147578063101aab78146101ca57806318160ddd1461020e57806323b872dd1461022c578063313ce567146102b2575b600080fd5b61014f6106f7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018f578082015181840152602081019050610174565b50505050905090810190601f1680156101bc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61020c600480360360208110156101e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610795565b005b610216610806565b6040518082815260200191505060405180910390f35b6102986004803603606081101561024257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610810565b604051808215151515815260200191505060405180910390f35b6102ba610a5d565b604051808260ff1660ff16815260200191505060405180910390f35b610322600480360360408110156102ec57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a70565b005b6103666004803603602081101561033a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ae3565b6040518082815260200191505060405180910390f35b610384610b2c565b005b6103c86004803603602081101561039c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c65565b604051808215151515815260200191505060405180910390f35b6103ea610c82565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610434610cab565b604051808215151515815260200191505060405180910390f35b61047a6004803603602081101561046457600080fd5b8101908080359060200190929190505050610d09565b005b610484610d8c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c45780820151818401526020810190506104a9565b50505050905090810190601f1680156104f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105416004803603602081101561051557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e2a565b005b61054b610e9b565b005b6105996004803603604081101561056357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ead565b005b6105e7600480360360408110156105b157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fb8565b604051808215151515815260200191505060405180910390f35b6106436004803603602081101561061757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611204565b604051808215151515815260200191505060405180910390f35b610665611221565b6040518082815260200191505060405180910390f35b6106a76004803603602081101561069157600080fd5b810190808035906020019092919050505061122b565b005b6106eb600480360360208110156106bf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611311565b005b6106f5611397565b005b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561078d5780601f106107625761010080835404028352916020019161078d565b820191906000526020600020905b81548152906001019060200180831161077057829003601f168201915b505050505081565b6107a56107a06113a9565b610c65565b6107fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b610803816113b1565b50565b6000600454905090565b600061082261081d6113a9565b610c65565b610877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108c357600080fd5b61091582600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140b90919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506109aa82600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600860009054906101000a900460ff1681565b610a80610a7b6113a9565b611204565b610ad5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180611c8a6030913960400191505060405180910390fd5b610adf828261143e565b5050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610b34610cab565b610ba6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000610c7b8260026115fb90919063ffffffff16565b9050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ced6113a9565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b610d19610d146113a9565b610c65565b610d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b610d838160055461142290919063ffffffff16565b60058190555050565b60078054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e225780601f10610df757610100808354040283529160200191610e22565b820191906000526020600020905b815481529060010190602001808311610e0557829003601f168201915b505050505081565b610e3a610e356113a9565b611204565b610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526030815260200180611c8a6030913960400191505060405180910390fd5b610e98816116d9565b50565b610eab610ea66113a9565b611733565b565b610ebd610eb86113a9565b610c65565b610f12576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d586021913960400191505060405180910390fd5b610fb4828261178d565b5050565b6000610fca610fc56113a9565b610c65565b61101f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561106b57600080fd5b6110bd82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140b90919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061115282600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142290919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600061121a8260016115fb90919063ffffffff16565b9050919050565b6000600554905090565b61123b6112366113a9565b610c65565b611290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180611cdb603a913960400191505060405180910390fd5b6000811015611307576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f43616e74206265206e656761746976650000000000000000000000000000000081525060200191505060405180910390fd5b8060058190555050565b611319610cab565b61138b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6113948161192d565b50565b6113a76113a26113a9565b611a71565b565b600033905090565b6113c5816002611acb90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f531fb3f4abc13206cb61d4f7ef7b0acf84a392b92b2ce893be8ef23553e74a8f60405160405180910390a250565b60008282111561141757fe5b818303905092915050565b60008082840190508381101561143457fe5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156114e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b6114f68160045461142290919063ffffffff16565b60048190555061154e81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461142290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611682576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180611d156022913960400191505060405180910390fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6116ed816001611acb90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f660405160405180910390a250565b611747816001611ba690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669260405160405180910390a250565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611813576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611d376021913960400191505060405180910390fd5b6118288160045461140b90919063ffffffff16565b60048190555061188081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461140b90919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156119b3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180611c646026913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611a85816002611ba690919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167fe63cdbc5df48c9c19f2cdb038b14762dae6eabe99f357a3caab7c1f1f5f26f7260405160405180910390a250565b611ad582826115fb565b15611b48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f526f6c65733a206163636f756e7420616c72656164792068617320726f6c650081525060200191505060405180910390fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611bb082826115fb565b611c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180611cba6021913960400191505060405180910390fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734d696e746572526f6c653a2063616c6c657220646f6573206e6f74206861766520746865204d696e74657220726f6c65526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6543616e5472616e73666572526f6c653a2063616c6c657220646f6573206e6f742068617665207468652043616e5472616e7366657220726f6c65526f6c65733a206163636f756e7420697320746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737343616e6e6f74206275726e206d6f7265207468616e206164647265737320686173a265627a7a723158209bc1b582478d5a3d9975347d23608fb7acd20fb300ffc75f5b9a71ed65b2a2aa64736f6c63430005110032

Deployed Bytecode Sourcemap

6980:4017:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6980:4017:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7291:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7291:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6471:107;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6471:107:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7479:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8803:358;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8803:358:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7376:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9494:100;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9494:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9380:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9380:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3135:140;;;:::i;:::-;;6347:116;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6347:116:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2324:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2690:94;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7835:121;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7835:121:0;;;;;;;;;;;;;;;;;:::i;:::-;;7340:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;7340:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:92;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5421:92:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5521:79;;;:::i;:::-;;9602:196;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9602:196:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8326:369;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8326:369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5304:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5304:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7709:93;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8064:154;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8064:154:0;;;;;;;;;;;;;;;;;:::i;:::-;;3430:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3430:109:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6586:89;;;:::i;:::-;;7291:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6471:107::-;6231:25;6243:12;:10;:12::i;:::-;6231:11;:25::i;:::-;6223:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6546:24;6562:7;6546:15;:24::i;:::-;6471:107;:::o;7479:91::-;7523:7;7550:12;;7543:19;;7479:91;:::o;8803:358::-;8903:4;6231:25;6243:12;:10;:12::i;:::-;6231:11;:25::i;:::-;6223:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8941:9;:16;8951:5;8941:16;;;;;;;;;;;;;;;;8928:9;:29;;8920:38;;;;;;8990:31;9011:9;8990;:16;9000:5;8990:16;;;;;;;;;;;;;;;;:20;;:31;;;;:::i;:::-;8971:9;:16;8981:5;8971:16;;;;;;;;;;;;;;;:50;;;;9051:31;9072:9;9051;:16;9061:5;9051:16;;;;;;;;;;;;;;;;:20;;:31;;;;:::i;:::-;9032:9;:16;9042:5;9032:16;;;;;;;;;;;;;;;:50;;;;9114:5;9098:33;;9107:5;9098:33;;;9121:9;9098:33;;;;;;;;;;;;;;;;;;9149:4;9142:11;;8803:358;;;;;:::o;7376:26::-;;;;;;;;;;;;;:::o;9494:100::-;5201:22;5210:12;:10;:12::i;:::-;5201:8;:22::i;:::-;5193:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9567:19;9573:3;9578:7;9567:5;:19::i;:::-;9494:100;;:::o;9380:106::-;9435:7;9462:9;:16;9472:5;9462:16;;;;;;;;;;;;;;;;9455:23;;9380:106;;;:::o;3135:140::-;2536:9;:7;:9::i;:::-;2528:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3234:1;3197:40;;3218:6;;;;;;;;;;;3197:40;;;;;;;;;;;;3265:1;3248:6;;:19;;;;;;;;;;;;;;;;;;3135:140::o;6347:116::-;6406:4;6430:25;6447:7;6430:12;:16;;:25;;;;:::i;:::-;6423:32;;6347:116;;;:::o;2324:79::-;2362:7;2389:6;;;;;;;;;;;2382:13;;2324:79;:::o;2690:94::-;2730:4;2770:6;;;;;;;;;;;2754:22;;:12;:10;:12::i;:::-;:22;;;2747:29;;2690:94;:::o;7835:121::-;6231:25;6243:12;:10;:12::i;:::-;6231:11;:25::i;:::-;6223:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7922:26;7940:7;7922:13;;:17;;:26;;;;:::i;:::-;7906:13;:42;;;;7835:121;:::o;7340:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5421:92::-;5201:22;5210:12;:10;:12::i;:::-;5201:8;:22::i;:::-;5193:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5486:19;5497:7;5486:10;:19::i;:::-;5421:92;:::o;5521:79::-;5565:27;5579:12;:10;:12::i;:::-;5565:13;:27::i;:::-;5521:79::o;9602:196::-;6231:25;6243:12;:10;:12::i;:::-;6231:11;:25::i;:::-;6223:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9714:5;9691:9;:19;9701:8;9691:19;;;;;;;;;;;;;;;;:28;;9683:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9768:22;9774:8;9784:5;9768;:22::i;:::-;9602:196;;:::o;8326:369::-;8410:4;6231:25;6243:12;:10;:12::i;:::-;6231:11;:25::i;:::-;6223:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8448:9;:21;8458:10;8448:21;;;;;;;;;;;;;;;;8435:9;:34;;8427:43;;;;;;8505:36;8531:9;8505;:21;8515:10;8505:21;;;;;;;;;;;;;;;;:25;;:36;;;;:::i;:::-;8481:9;:21;8491:10;8481:21;;;;;;;;;;;;;;;:60;;;;8574:34;8598:9;8574;:19;8584:8;8574:19;;;;;;;;;;;;;;;;:23;;:34;;;;:::i;:::-;8552:9;:19;8562:8;8552:19;;;;;;;;;;;;;;;:56;;;;8645:8;8624:41;;8633:10;8624:41;;;8655:9;8624:41;;;;;;;;;;;;;;;;;;8683:4;8676:11;;8326:369;;;;:::o;5304:109::-;5360:4;5384:21;5397:7;5384:8;:12;;:21;;;;:::i;:::-;5377:28;;5304:109;;;:::o;7709:93::-;7754:7;7781:13;;7774:20;;7709:93;:::o;8064:154::-;6231:25;6243:12;:10;:12::i;:::-;6231:11;:25::i;:::-;6223:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8154:1;8143:7;:12;;8135:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8203:7;8187:13;:23;;;;8064:154;:::o;3430:109::-;2536:9;:7;:9::i;:::-;2528:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3503:28;3522:8;3503:18;:28::i;:::-;3430:109;:::o;6586:89::-;6635:32;6654:12;:10;:12::i;:::-;6635:18;:32::i;:::-;6586:89::o;1115:98::-;1160:15;1195:10;1188:17;;1115:98;:::o;6683:136::-;6745:25;6762:7;6745:12;:16;;:25;;;;:::i;:::-;6803:7;6786:25;;;;;;;;;;;;6683:136;:::o;51:123::-;109:7;141:1;136;:6;;129:14;;;;165:1;161;:5;154:12;;51:123;;;;:::o;182:147::-;240:7;260:9;276:1;272;:5;260:17;;300:1;295;:6;;288:14;;;;320:1;313:8;;;182:147;;;;:::o;10150:304::-;10244:1;10225:21;;:7;:21;;;;10217:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10310:23;10327:5;10310:12;;:16;;:23;;;;:::i;:::-;10295:12;:38;;;;10365:29;10388:5;10365:9;:18;10375:7;10365:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;10344:9;:18;10354:7;10344:18;;;;;;;;;;;;;;;:50;;;;10431:7;10410:36;;10427:1;10410:36;;;10440:5;10410:36;;;;;;;;;;;;;;;;;;10150:304;;:::o;4664:203::-;4736:4;4780:1;4761:21;;:7;:21;;;;4753:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4839:4;:11;;:20;4851:7;4839:20;;;;;;;;;;;;;;;;;;;;;;;;;4832:27;;4664:203;;;;:::o;5608:122::-;5665:21;5678:7;5665:8;:12;;:21;;;;:::i;:::-;5714:7;5702:20;;;;;;;;;;;;5608:122;:::o;5738:130::-;5798:24;5814:7;5798:8;:15;;:24;;;;:::i;:::-;5852:7;5838:22;;;;;;;;;;;;5738:130;:::o;10688:306::-;10782:1;10763:21;;:7;:21;;;;10755:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10850:23;10867:5;10850:12;;:16;;:23;;;;:::i;:::-;10835:12;:38;;;;10905:29;10928:5;10905:9;:18;10915:7;10905:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;10884:9;:18;10894:7;10884:18;;;;;;;;;;;;;;;:50;;;;10976:1;10950:36;;10959:7;10950:36;;;10980:5;10950:36;;;;;;;;;;;;;;;;;;10688:306;;:::o;3645:229::-;3739:1;3719:22;;:8;:22;;;;3711:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3829:8;3800:38;;3821:6;;;;;;;;;;;3800:38;;;;;;;;;;;;3858:8;3849:6;;:17;;;;;;;;;;;;;;;;;;3645:229;:::o;6827:144::-;6892:28;6912:7;6892:12;:19;;:28;;;;:::i;:::-;6955:7;6936:27;;;;;;;;;;;;6827:144;:::o;4128:178::-;4206:18;4210:4;4216:7;4206:3;:18::i;:::-;4205:19;4197:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4294:4;4271;:11;;:20;4283:7;4271:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;4128:178;;:::o;4386:183::-;4466:18;4470:4;4476:7;4466:3;:18::i;:::-;4458:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4556:5;4533:4;:11;;:20;4545:7;4533:20;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;4386:183;;:::o

Swarm Source

bzzr://9bc1b582478d5a3d9975347d23608fb7acd20fb300ffc75f5b9a71ed65b2a2aa

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.