ETH Price: $3,386.38 (+0.77%)

Contract

0x1d112286657bEfB718BEcBceF6C26679eeF7cBdd
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve139063152021-12-30 11:12:351095 days ago1640862755IN
0x1d112286...9eeF7cBdd
0 ETH0.0037679281.60990563
Approve137764702021-12-10 9:09:181115 days ago1639127358IN
0x1d112286...9eeF7cBdd
0 ETH0.0022448548.62140496
Approve137438362021-12-05 4:06:171120 days ago1638677177IN
0x1d112286...9eeF7cBdd
0 ETH0.00490751106.29223057
Approve137436962021-12-05 3:35:341120 days ago1638675334IN
0x1d112286...9eeF7cBdd
0 ETH0.0033454172.47751444
Approve137260752021-12-02 7:38:091123 days ago1638430689IN
0x1d112286...9eeF7cBdd
0 ETH0.0038079682.49849604
Approve137205492021-12-01 10:34:551124 days ago1638354895IN
0x1d112286...9eeF7cBdd
0 ETH0.0039858486.32979896
Approve137160472021-11-30 17:19:011124 days ago1638292741IN
0x1d112286...9eeF7cBdd
0 ETH0.00269296102.51091066
Approve137160252021-11-30 17:14:281124 days ago1638292468IN
0x1d112286...9eeF7cBdd
0 ETH0.00359121123.53685743
Approve137149132021-11-30 13:01:581125 days ago1638277318IN
0x1d112286...9eeF7cBdd
0 ETH0.0017281771.34720832
Transfer137136882021-11-30 8:09:491125 days ago1638259789IN
0x1d112286...9eeF7cBdd
0 ETH0.01339804272.76709384
Approve137112122021-11-29 22:33:101125 days ago1638225190IN
0x1d112286...9eeF7cBdd
0 ETH0.00585931126.90746911
Approve137111622021-11-29 22:22:501125 days ago1638224570IN
0x1d112286...9eeF7cBdd
0 ETH0.00627954136.00910363
Approve137102712021-11-29 18:58:071125 days ago1638212287IN
0x1d112286...9eeF7cBdd
0 ETH0.00827773179.3347882
Approve137097972021-11-29 17:09:441125 days ago1638205784IN
0x1d112286...9eeF7cBdd
0 ETH0.00608341131.7270004
Approve137075322021-11-29 8:26:401126 days ago1638174400IN
0x1d112286...9eeF7cBdd
0 ETH0.00358826136.59188398
Approve137075252021-11-29 8:25:131126 days ago1638174313IN
0x1d112286...9eeF7cBdd
0 ETH0.00295951112.65775245
Approve137075252021-11-29 8:25:131126 days ago1638174313IN
0x1d112286...9eeF7cBdd
0 ETH0.00295951112.65775245
Approve137046262021-11-28 21:02:391126 days ago1638133359IN
0x1d112286...9eeF7cBdd
0 ETH0.00555842211.58816818
Approve137046262021-11-28 21:02:391126 days ago1638133359IN
0x1d112286...9eeF7cBdd
0 ETH0.00555842211.58816818
Approve137046262021-11-28 21:02:391126 days ago1638133359IN
0x1d112286...9eeF7cBdd
0 ETH0.00555842211.58816818
Approve137046132021-11-28 20:59:231126 days ago1638133163IN
0x1d112286...9eeF7cBdd
0 ETH0.00499546190.1584302
Approve137044752021-11-28 20:25:321126 days ago1638131132IN
0x1d112286...9eeF7cBdd
0 ETH0.00384771146.46799705
Approve137044752021-11-28 20:25:321126 days ago1638131132IN
0x1d112286...9eeF7cBdd
0 ETH0.00384771146.46799705
Approve137044752021-11-28 20:25:321126 days ago1638131132IN
0x1d112286...9eeF7cBdd
0 ETH0.00384771146.46799705
Approve137043492021-11-28 19:59:521126 days ago1638129592IN
0x1d112286...9eeF7cBdd
0 ETH0.00452814172.36933988
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:
CCOToken

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-09-11
*/

pragma solidity 0.5.12;

library SafeMath {
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }
    function mul(uint a, uint b) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

library SafeERC20 {
    using SafeMath for uint;

    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }

    function safeTransfer(IERC20 token, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(isContract(address(token)), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address internal _owner;

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

    constructor(address initialOwner) internal {
        require(initialOwner != address(0), "Ownable: initial owner is the zero address");
        _owner = initialOwner;
        emit OwnershipTransferred(address(0), _owner);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_isOwner(msg.sender), "Ownable: caller is not the owner");
        _;
    }

    function _isOwner(address account) internal view returns (bool) {
        return account == _owner;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint);
    function balanceOf(address account) external view returns (uint);
    function transfer(address recipient, uint amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

contract Context {
    constructor () internal { }
    // solhint-disable-previous-line no-empty-blocks

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

contract ERC20 is Context, IERC20 {
    using SafeMath for uint;

    mapping (address => uint) private _balances;

    mapping (address => mapping (address => uint)) private _allowances;

    uint private _totalSupply;
    function totalSupply() public view returns (uint) {
        return _totalSupply;
    }
    function balanceOf(address account) public view returns (uint) {
        return _balances[account];
    }
    function transfer(address recipient, uint amount) public returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view returns (uint) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint amount) public returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint amount) public returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    function increaseAllowance(address spender, uint addedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].add(addedValue));
        return true;
    }
    function decreaseAllowance(address spender, uint subtractedValue) public returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }
    function _transfer(address sender, address recipient, uint amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }
    function _mint(address account, uint amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint amount) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }
    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }
    function _approve(address owner, address spender, uint amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor (string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }
    function name() public view returns (string memory) {
        return _name;
    }
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

/**
 * @dev Extension of `ERC20` that allows token holders to destroy both their own
 * tokens and those that they have an allowance for, in a way that can be
 * recognized off-chain (via event analysis).
 */
contract ERC20Burnable is ERC20 {
    /**
     * @dev Destroys `amount` tokens from msg.sender's balance.
     */
    function burn(uint256 amount) public {
        _burn(msg.sender, amount);
    }

    /**
     * @dev Destroys `amount` tokens from `account`.`amount` is then deducted
     * from the caller's allowance.
     */
    function burnFrom(address account, uint256 amount) public {
        _burnFrom(account, amount);
    }
}

/**
 * @dev ERC20Mintable.
 */
contract ERC20Mintable is ERC20Burnable, Ownable {

    address public minter;
    bool public minterFixed;
    bool public mintingFinished;

    modifier onlyMinter() {
        require(msg.sender == minter, "Caller has no permission");
        _;
    }

    function isMinter(address account) public view returns (bool) {
        return(account == minter);
    }

    function setMinter(address account) public onlyOwner {
        require(!minterFixed, "Function is no longer available");
        minter = account;
    }

    function fixMinter(bool check) public onlyOwner {
        require(!minterFixed, "Function is no longer available");
        minterFixed = check;
    }

    function finishMinting(bool check) external onlyOwner {
        require(!mintingFinished, "Function is no longer available");
        mintingFinished = check;
        minter = address(0);
    }

    function mint(address to, uint256 value) public onlyMinter returns (bool) {
        require(!mintingFinished, "Function is no longer available");
        _mint(to, value);
        return true;
    }

}

/**
 * @title ApproveAndCall Interface.
 * @dev ApproveAndCall system allows to communicate with smart-contracts.
 */
contract ApproveAndCallFallBack {
    function receiveApproval(address from, uint256 amount, address token, bytes calldata extraData) external;
}

/**
 * @title The main project contract.
 */
contract CCOToken is ERC20Mintable, ERC20Detailed {
    using SafeERC20 for IERC20;
    using SafeMath for uint256;

    // registered contracts (to prevent loss of token via transfer function)
    mapping (address => bool) private _contracts;

    constructor(address initialOwner) public ERC20Detailed("Crypto Casino One", "TCCO", 6) Ownable(initialOwner) {}

    /**
     * @dev modified transfer function that allows to safely send tokens to smart-contract.
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     */
    function transfer(address to, uint256 value) public returns (bool) {

        if (_contracts[to]) {
            approveAndCall(to, value, new bytes(0));
        } else {
            super.transfer(to, value);
        }

        return true;

    }

    /**
    * @dev Allows to send tokens (via Approve and TransferFrom) to other smart-contract.
    * @param spender Address of smart contracts to work with.
    * @param amount Amount of tokens to send.
    * @param extraData Any extra data.
    */
    function approveAndCall(address spender, uint256 amount, bytes memory extraData) public returns (bool) {
        require(approve(spender, amount));

        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, amount, address(this), extraData);

        return true;
    }

    /**
     * @dev Allows to register other smart-contracts (to prevent loss of tokens via transfer function).
     * @param account Address of smart contracts to work with.
     */
    function registerContract(address account) external onlyOwner {
        require(_isContract(account), "Token: account is not a smart-contract");
        _contracts[account] = true;
    }

    /**
     * @dev Allows to unregister registered smart-contracts.
     * @param account Address of smart contracts to work with.
     */
    function unregisterContract(address account) external onlyOwner {
        require(isRegistered(account), "Token: account is not registered yet");
        _contracts[account] = false;
    }

    /**
    * @dev Allows to any owner of the contract withdraw needed ERC20 token from this contract (for example promo or bounties).
    * @param ERC20Token Address of ERC20 token.
    * @param recipient Account to receive tokens.
    */
    function withdrawERC20(address ERC20Token, address recipient) external onlyOwner {

        uint256 amount = IERC20(ERC20Token).balanceOf(address(this));
        IERC20(ERC20Token).safeTransfer(recipient, amount);

    }

    /**
     * @return true if the address is registered as contract
     * @param account Address to be checked.
     */
    function isRegistered(address account) public view returns (bool) {
        return _contracts[account];
    }

    /**
     * @return true if `account` is a contract.
     * @param account Address to be checked.
     */
    function _isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","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":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"check","type":"bool"}],"name":"finishMinting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"check","type":"bool"}],"name":"fixMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minterFixed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":[{"internalType":"address","name":"account","type":"address"}],"name":"registerContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setMinter","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":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","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"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"unregisterContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"ERC20Token","type":"address"},{"internalType":"address","name":"recipient","type":"address"}],"name":"withdrawERC20","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b5060405162001e2b38038062001e2b833981810160405260208110156200003757600080fd5b5051604080518082018252601181527f43727970746f20436173696e6f204f6e650000000000000000000000000000006020828101919091528251808401909352600483527f5443434f0000000000000000000000000000000000000000000000000000000090830152906006836001600160a01b03811662000106576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018062001e01602a913960400191505060405180910390fd5b600380546001600160a01b0319166001600160a01b0383811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35082516200016b906005906020860190620001a0565b50815162000181906006906020850190620001a0565b506007805460ff191660ff929092169190911790555062000245915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001e357805160ff191683800117855562000213565b8280016001018555821562000213579182015b8281111562000213578251825591602001919060010190620001f6565b506200022192915062000225565b5090565b6200024291905b808211156200022157600081556001016200022c565b90565b611bac80620002556000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80637a5f67dc116100f9578063aa271e1a11610097578063dd62ed3e11610071578063dd62ed3e146105f2578063f2fde38b14610620578063fac2c62114610646578063fca3b5aa1461066c576101c4565b8063aa271e1a146104eb578063c3c5a54714610511578063cae9ca5114610537576101c4565b806395d89b41116100d357806395d89b411461046c5780639af26b7814610474578063a457c2d714610493578063a9059cbb146104bf576101c4565b80637a5f67dc1461042e5780638da5cb5b146104365780639456fbcc1461043e576101c4565b8063313ce5671161016657806340c10f191161014057806340c10f191461039357806342966c68146103bf57806370a08231146103dc57806379cc679014610402576101c4565b8063313ce5671461032a578063395093511461034857806339eb104014610374576101c4565b8063095ea7b3116101a2578063095ea7b31461028657806318160ddd146102b257806322a5dde4146102cc57806323b872dd146102f4576101c4565b806305d2035b146101c957806306fdde03146101e55780630754617214610262575b600080fd5b6101d1610692565b604080519115158252519081900360200190f35b6101ed6106a2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022757818101518382015260200161020f565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61026a610738565b604080516001600160a01b039092168252519081900360200190f35b6101d16004803603604081101561029c57600080fd5b506001600160a01b038135169060200135610747565b6102ba610764565b60408051918252519081900360200190f35b6102f2600480360360208110156102e257600080fd5b50356001600160a01b031661076a565b005b6101d16004803603606081101561030a57600080fd5b506001600160a01b0381358116916020810135909116906040013561081a565b6103326108a7565b6040805160ff9092168252519081900360200190f35b6101d16004803603604081101561035e57600080fd5b506001600160a01b0381351690602001356108b0565b6102f26004803603602081101561038a57600080fd5b50351515610904565b6101d1600480360360408110156103a957600080fd5b506001600160a01b0381351690602001356109b7565b6102f2600480360360208110156103d557600080fd5b5035610a70565b6102ba600480360360208110156103f257600080fd5b50356001600160a01b0316610a7d565b6102f26004803603604081101561041857600080fd5b506001600160a01b038135169060200135610a98565b6101d1610aa6565b61026a610ab6565b6102f26004803603604081101561045457600080fd5b506001600160a01b0381358116916020013516610ac5565b6101ed610ba4565b6102f26004803603602081101561048a57600080fd5b50351515610c05565b6101d1600480360360408110156104a957600080fd5b506001600160a01b038135169060200135610cc2565b6101d1600480360360408110156104d557600080fd5b506001600160a01b038135169060200135610d30565b6101d16004803603602081101561050157600080fd5b50356001600160a01b0316610d87565b6101d16004803603602081101561052757600080fd5b50356001600160a01b0316610d9b565b6101d16004803603606081101561054d57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561057d57600080fd5b82018360208201111561058f57600080fd5b803590602001918460018302840111640100000000831117156105b157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610db9945050505050565b6102ba6004803603604081101561060857600080fd5b506001600160a01b0381358116916020013516610eb9565b6102f26004803603602081101561063657600080fd5b50356001600160a01b0316610ee4565b6102f26004803603602081101561065c57600080fd5b50356001600160a01b0316610fcd565b6102f26004803603602081101561068257600080fd5b50356001600160a01b031661107a565b600454600160a81b900460ff1681565b60058054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561072e5780601f106107035761010080835404028352916020019161072e565b820191906000526020600020905b81548152906001019060200180831161071157829003601f168201915b5050505050905090565b6004546001600160a01b031681565b600061075b610754611131565b8484611135565b50600192915050565b60025490565b61077333611221565b6107b2576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b6107bb81611235565b6107f65760405162461bcd60e51b8152600401808060200182810382526026815260200180611a2d6026913960400191505060405180910390fd5b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b600061082784848461123b565b61089d84610833611131565b61089885604051806060016040528060288152602001611a53602891396001600160a01b038a16600090815260016020526040812090610871611131565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61139716565b611135565b5060019392505050565b60075460ff1690565b600061075b6108bd611131565b8461089885600160006108ce611131565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61142e16565b61090d33611221565b61094c576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b600454600160a01b900460ff1615610999576040805162461bcd60e51b815260206004820152601f6024820152600080516020611a0d833981519152604482015290519081900360640190fd5b60048054911515600160a01b0260ff60a01b19909216919091179055565b6004546000906001600160a01b03163314610a19576040805162461bcd60e51b815260206004820152601860248201527f43616c6c657220686173206e6f207065726d697373696f6e0000000000000000604482015290519081900360640190fd5b600454600160a81b900460ff1615610a66576040805162461bcd60e51b815260206004820152601f6024820152600080516020611a0d833981519152604482015290519081900360640190fd5b61075b838361148f565b610a7a338261157f565b50565b6001600160a01b031660009081526020819052604090205490565b610aa2828261167b565b5050565b600454600160a01b900460ff1681565b6003546001600160a01b031690565b610ace33611221565b610b0d576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b604080516370a0823160e01b815230600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b158015610b5757600080fd5b505afa158015610b6b573d6000803e3d6000fd5b505050506040513d6020811015610b8157600080fd5b50519050610b9f6001600160a01b038416838363ffffffff6116c016565b505050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561072e5780601f106107035761010080835404028352916020019161072e565b610c0e33611221565b610c4d576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b600454600160a81b900460ff1615610c9a576040805162461bcd60e51b815260206004820152601f6024820152600080516020611a0d833981519152604482015290519081900360640190fd5b600480546001600160a01b0319921515600160a81b0260ff60a81b1990911617919091169055565b600061075b610ccf611131565b8461089885604051806060016040528060258152602001611b536025913960016000610cf9611131565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61139716565b6001600160a01b03821660009081526008602052604081205460ff1615610d7357604080516000815260208101909152610d6d9084908490610db9565b5061075b565b610d7d8383611712565b5050600192915050565b6004546001600160a01b0390811691161490565b6001600160a01b031660009081526008602052604090205460ff1690565b6000610dc58484610747565b610dce57600080fd5b604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610e48578181015183820152602001610e30565b50505050905090810190601f168015610e755780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610e9757600080fd5b505af1158015610eab573d6000803e3d6000fd5b506001979650505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610eed33611221565b610f2c576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b6001600160a01b038116610f715760405162461bcd60e51b815260040180806020018281038252602681526020018061199f6026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b610fd633611221565b611015576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b61101e81610d9b565b6110595760405162461bcd60e51b8152600401808060200182810382526024815260200180611b2f6024913960400191505060405180910390fd5b6001600160a01b03166000908152600860205260409020805460ff19169055565b61108333611221565b6110c2576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b600454600160a01b900460ff161561110f576040805162461bcd60e51b815260206004820152601f6024820152600080516020611a0d833981519152604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b03831661117a5760405162461bcd60e51b8152600401808060200182810382526024815260200180611ae16024913960400191505060405180910390fd5b6001600160a01b0382166111bf5760405162461bcd60e51b81526004018080602001828103825260228152602001806119c56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6003546001600160a01b0390811691161490565b3b151590565b6001600160a01b0383166112805760405162461bcd60e51b8152600401808060200182810382526025815260200180611abc6025913960400191505060405180910390fd5b6001600160a01b0382166112c55760405162461bcd60e51b815260040180806020018281038252602381526020018061195a6023913960400191505060405180910390fd5b611308816040518060600160405280602681526020016119e7602691396001600160a01b038616600090815260208190526040902054919063ffffffff61139716565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461133d908263ffffffff61142e16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156114265760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113eb5781810151838201526020016113d3565b50505050905090810190601f1680156114185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611488576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166114ea576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546114fd908263ffffffff61142e16565b6002556001600160a01b038216600090815260208190526040902054611529908263ffffffff61142e16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166115c45760405162461bcd60e51b8152600401808060200182810382526021815260200180611a9b6021913960400191505060405180910390fd5b6116078160405180606001604052806022815260200161197d602291396001600160a01b038516600090815260208190526040902054919063ffffffff61139716565b6001600160a01b038316600090815260208190526040902055600254611633908263ffffffff61172616565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b611685828261157f565b6001600160a01b038216600090815260016020908152604080832033808552925290912054610aa2918491610898908563ffffffff61172616565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610b9f908490611768565b600061075b61171f611131565b848461123b565b600061148883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611397565b6117718261191d565b6117c2576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106118005780518252601f1990920191602091820191016117e1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611862576040519150601f19603f3d011682016040523d82523d6000602084013e611867565b606091505b5091509150816118be576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611917578080602001905160208110156118da57600080fd5b50516119175760405162461bcd60e51b815260040180806020018281038252602a815260200180611b05602a913960400191505060405180910390fd5b50505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906119515750808214155b94935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546756e6374696f6e206973206e6f206c6f6e67657220617661696c61626c6500546f6b656e3a206163636f756e74206973206e6f74206120736d6172742d636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564546f6b656e3a206163636f756e74206973206e6f7420726567697374657265642079657445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158202b3f9108d4cfc3bd82b64d21029a3ce6412cc4480815ea4267ccaafd5876d44e64736f6c634300050c00324f776e61626c653a20696e697469616c206f776e657220697320746865207a65726f2061646472657373000000000000000000000000b89664c90c4aeb06ac1e1229ab097c08eddf05e0

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101c45760003560e01c80637a5f67dc116100f9578063aa271e1a11610097578063dd62ed3e11610071578063dd62ed3e146105f2578063f2fde38b14610620578063fac2c62114610646578063fca3b5aa1461066c576101c4565b8063aa271e1a146104eb578063c3c5a54714610511578063cae9ca5114610537576101c4565b806395d89b41116100d357806395d89b411461046c5780639af26b7814610474578063a457c2d714610493578063a9059cbb146104bf576101c4565b80637a5f67dc1461042e5780638da5cb5b146104365780639456fbcc1461043e576101c4565b8063313ce5671161016657806340c10f191161014057806340c10f191461039357806342966c68146103bf57806370a08231146103dc57806379cc679014610402576101c4565b8063313ce5671461032a578063395093511461034857806339eb104014610374576101c4565b8063095ea7b3116101a2578063095ea7b31461028657806318160ddd146102b257806322a5dde4146102cc57806323b872dd146102f4576101c4565b806305d2035b146101c957806306fdde03146101e55780630754617214610262575b600080fd5b6101d1610692565b604080519115158252519081900360200190f35b6101ed6106a2565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022757818101518382015260200161020f565b50505050905090810190601f1680156102545780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61026a610738565b604080516001600160a01b039092168252519081900360200190f35b6101d16004803603604081101561029c57600080fd5b506001600160a01b038135169060200135610747565b6102ba610764565b60408051918252519081900360200190f35b6102f2600480360360208110156102e257600080fd5b50356001600160a01b031661076a565b005b6101d16004803603606081101561030a57600080fd5b506001600160a01b0381358116916020810135909116906040013561081a565b6103326108a7565b6040805160ff9092168252519081900360200190f35b6101d16004803603604081101561035e57600080fd5b506001600160a01b0381351690602001356108b0565b6102f26004803603602081101561038a57600080fd5b50351515610904565b6101d1600480360360408110156103a957600080fd5b506001600160a01b0381351690602001356109b7565b6102f2600480360360208110156103d557600080fd5b5035610a70565b6102ba600480360360208110156103f257600080fd5b50356001600160a01b0316610a7d565b6102f26004803603604081101561041857600080fd5b506001600160a01b038135169060200135610a98565b6101d1610aa6565b61026a610ab6565b6102f26004803603604081101561045457600080fd5b506001600160a01b0381358116916020013516610ac5565b6101ed610ba4565b6102f26004803603602081101561048a57600080fd5b50351515610c05565b6101d1600480360360408110156104a957600080fd5b506001600160a01b038135169060200135610cc2565b6101d1600480360360408110156104d557600080fd5b506001600160a01b038135169060200135610d30565b6101d16004803603602081101561050157600080fd5b50356001600160a01b0316610d87565b6101d16004803603602081101561052757600080fd5b50356001600160a01b0316610d9b565b6101d16004803603606081101561054d57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561057d57600080fd5b82018360208201111561058f57600080fd5b803590602001918460018302840111640100000000831117156105b157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610db9945050505050565b6102ba6004803603604081101561060857600080fd5b506001600160a01b0381358116916020013516610eb9565b6102f26004803603602081101561063657600080fd5b50356001600160a01b0316610ee4565b6102f26004803603602081101561065c57600080fd5b50356001600160a01b0316610fcd565b6102f26004803603602081101561068257600080fd5b50356001600160a01b031661107a565b600454600160a81b900460ff1681565b60058054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561072e5780601f106107035761010080835404028352916020019161072e565b820191906000526020600020905b81548152906001019060200180831161071157829003601f168201915b5050505050905090565b6004546001600160a01b031681565b600061075b610754611131565b8484611135565b50600192915050565b60025490565b61077333611221565b6107b2576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b6107bb81611235565b6107f65760405162461bcd60e51b8152600401808060200182810382526026815260200180611a2d6026913960400191505060405180910390fd5b6001600160a01b03166000908152600860205260409020805460ff19166001179055565b600061082784848461123b565b61089d84610833611131565b61089885604051806060016040528060288152602001611a53602891396001600160a01b038a16600090815260016020526040812090610871611131565b6001600160a01b03168152602081019190915260400160002054919063ffffffff61139716565b611135565b5060019392505050565b60075460ff1690565b600061075b6108bd611131565b8461089885600160006108ce611131565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff61142e16565b61090d33611221565b61094c576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b600454600160a01b900460ff1615610999576040805162461bcd60e51b815260206004820152601f6024820152600080516020611a0d833981519152604482015290519081900360640190fd5b60048054911515600160a01b0260ff60a01b19909216919091179055565b6004546000906001600160a01b03163314610a19576040805162461bcd60e51b815260206004820152601860248201527f43616c6c657220686173206e6f207065726d697373696f6e0000000000000000604482015290519081900360640190fd5b600454600160a81b900460ff1615610a66576040805162461bcd60e51b815260206004820152601f6024820152600080516020611a0d833981519152604482015290519081900360640190fd5b61075b838361148f565b610a7a338261157f565b50565b6001600160a01b031660009081526020819052604090205490565b610aa2828261167b565b5050565b600454600160a01b900460ff1681565b6003546001600160a01b031690565b610ace33611221565b610b0d576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b604080516370a0823160e01b815230600482015290516000916001600160a01b038516916370a0823191602480820192602092909190829003018186803b158015610b5757600080fd5b505afa158015610b6b573d6000803e3d6000fd5b505050506040513d6020811015610b8157600080fd5b50519050610b9f6001600160a01b038416838363ffffffff6116c016565b505050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561072e5780601f106107035761010080835404028352916020019161072e565b610c0e33611221565b610c4d576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b600454600160a81b900460ff1615610c9a576040805162461bcd60e51b815260206004820152601f6024820152600080516020611a0d833981519152604482015290519081900360640190fd5b600480546001600160a01b0319921515600160a81b0260ff60a81b1990911617919091169055565b600061075b610ccf611131565b8461089885604051806060016040528060258152602001611b536025913960016000610cf9611131565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff61139716565b6001600160a01b03821660009081526008602052604081205460ff1615610d7357604080516000815260208101909152610d6d9084908490610db9565b5061075b565b610d7d8383611712565b5050600192915050565b6004546001600160a01b0390811691161490565b6001600160a01b031660009081526008602052604090205460ff1690565b6000610dc58484610747565b610dce57600080fd5b604051638f4ffcb160e01b815233600482018181526024830186905230604484018190526080606485019081528651608486015286516001600160a01b038a1695638f4ffcb195948a94938a939192909160a490910190602085019080838360005b83811015610e48578181015183820152602001610e30565b50505050905090810190601f168015610e755780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015610e9757600080fd5b505af1158015610eab573d6000803e3d6000fd5b506001979650505050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610eed33611221565b610f2c576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b6001600160a01b038116610f715760405162461bcd60e51b815260040180806020018281038252602681526020018061199f6026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b610fd633611221565b611015576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b61101e81610d9b565b6110595760405162461bcd60e51b8152600401808060200182810382526024815260200180611b2f6024913960400191505060405180910390fd5b6001600160a01b03166000908152600860205260409020805460ff19169055565b61108333611221565b6110c2576040805162461bcd60e51b81526020600482018190526024820152600080516020611a7b833981519152604482015290519081900360640190fd5b600454600160a01b900460ff161561110f576040805162461bcd60e51b815260206004820152601f6024820152600080516020611a0d833981519152604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b6001600160a01b03831661117a5760405162461bcd60e51b8152600401808060200182810382526024815260200180611ae16024913960400191505060405180910390fd5b6001600160a01b0382166111bf5760405162461bcd60e51b81526004018080602001828103825260228152602001806119c56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6003546001600160a01b0390811691161490565b3b151590565b6001600160a01b0383166112805760405162461bcd60e51b8152600401808060200182810382526025815260200180611abc6025913960400191505060405180910390fd5b6001600160a01b0382166112c55760405162461bcd60e51b815260040180806020018281038252602381526020018061195a6023913960400191505060405180910390fd5b611308816040518060600160405280602681526020016119e7602691396001600160a01b038616600090815260208190526040902054919063ffffffff61139716565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461133d908263ffffffff61142e16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156114265760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156113eb5781810151838201526020016113d3565b50505050905090810190601f1680156114185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015611488576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166114ea576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546114fd908263ffffffff61142e16565b6002556001600160a01b038216600090815260208190526040902054611529908263ffffffff61142e16565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166115c45760405162461bcd60e51b8152600401808060200182810382526021815260200180611a9b6021913960400191505060405180910390fd5b6116078160405180606001604052806022815260200161197d602291396001600160a01b038516600090815260208190526040902054919063ffffffff61139716565b6001600160a01b038316600090815260208190526040902055600254611633908263ffffffff61172616565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b611685828261157f565b6001600160a01b038216600090815260016020908152604080832033808552925290912054610aa2918491610898908563ffffffff61172616565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610b9f908490611768565b600061075b61171f611131565b848461123b565b600061148883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611397565b6117718261191d565b6117c2576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106118005780518252601f1990920191602091820191016117e1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611862576040519150601f19603f3d011682016040523d82523d6000602084013e611867565b606091505b5091509150816118be576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611917578080602001905160208110156118da57600080fd5b50516119175760405162461bcd60e51b815260040180806020018281038252602a815260200180611b05602a913960400191505060405180910390fd5b50505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906119515750808214155b94935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636546756e6374696f6e206973206e6f206c6f6e67657220617661696c61626c6500546f6b656e3a206163636f756e74206973206e6f74206120736d6172742d636f6e747261637445524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564546f6b656e3a206163636f756e74206973206e6f7420726567697374657265642079657445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158202b3f9108d4cfc3bd82b64d21029a3ce6412cc4480815ea4267ccaafd5876d44e64736f6c634300050c0032

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

000000000000000000000000b89664c90c4aeb06ac1e1229ab097c08eddf05e0

-----Decoded View---------------
Arg [0] : initialOwner (address): 0xb89664c90C4AEb06AC1e1229ab097C08EdDF05e0

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


Deployed Bytecode Sourcemap

11046:3141:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11046:3141:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9717:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;8626:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8626:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9659:21;;;:::i;:::-;;;;-1:-1:-1;;;;;9659:21:0;;;;;;;;;;;;;;5714:149;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5714:149:0;;;;;;;;:::i;5209:88::-;;;:::i;:::-;;;;;;;;;;;;;;;;12631:189;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12631:189:0;-1:-1:-1;;;;;12631:189:0;;:::i;:::-;;5869:301;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5869:301:0;;;;;;;;;;;;;;;;;:::i;8808:83::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6176:207;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6176:207:0;;;;;;;;:::i;10148:153::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10148:153:0;;;;:::i;10514:202::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10514:202:0;;;;;;;;:::i;9234:81::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9234:81:0;;:::i;5303:107::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5303:107:0;-1:-1:-1;;;;;5303:107:0;;:::i;9457:103::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9457:103:0;;;;;;;;:::i;9687:23::-;;;:::i;3536:79::-;;;:::i;13416:225::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13416:225:0;;;;;;;;;;:::i;8715:87::-;;;:::i;10309:197::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10309:197:0;;;;:::i;6389:258::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6389:258:0;;;;;;;;:::i;11629:257::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11629:257:0;;;;;;;;:::i;9871:106::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9871:106:0;-1:-1:-1;;;;;9871:106:0;;:::i;13775:111::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13775:111:0;-1:-1:-1;;;;;13775:111:0;;:::i;12151:285::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;12151:285:0;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;12151:285:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12151:285:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;12151:285:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;12151:285:0;;-1:-1:-1;12151:285:0;;-1:-1:-1;;;;;12151:285:0:i;5577:131::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5577:131:0;;;;;;;;;;:::i;3863:236::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3863:236:0;-1:-1:-1;;;;;3863:236:0;;:::i;12972:191::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12972:191:0;-1:-1:-1;;;;;12972:191:0;;:::i;9985:155::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9985:155:0;-1:-1:-1;;;;;9985:155:0;;:::i;9717:27::-;;;-1:-1:-1;;;9717:27:0;;;;;:::o;8626:83::-;8696:5;8689:12;;;;;;;;-1:-1:-1;;8689:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8663:13;;8689:12;;8696:5;;8689:12;;8696:5;8689:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8626:83;:::o;9659:21::-;;;-1:-1:-1;;;;;9659:21:0;;:::o;5714:149::-;5777:4;5794:39;5803:12;:10;:12::i;:::-;5817:7;5826:6;5794:8;:39::i;:::-;-1:-1:-1;5851:4:0;5714:149;;;;:::o;5209:88::-;5277:12;;5209:88;:::o;12631:189::-;3663:20;3672:10;3663:8;:20::i;:::-;3655:65;;;;;-1:-1:-1;;;3655:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3655:65:0;;;;;;;;;;;;;;;12712:20;12724:7;12712:11;:20::i;:::-;12704:71;;;;-1:-1:-1;;;12704:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12786:19:0;;;;;:10;:19;;;;;:26;;-1:-1:-1;;12786:26:0;12808:4;12786:26;;;12631:189::o;5869:301::-;5955:4;5972:36;5982:6;5990:9;6001:6;5972:9;:36::i;:::-;6019:121;6028:6;6036:12;:10;:12::i;:::-;6050:89;6088:6;6050:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6050:19:0;;;;;;:11;:19;;;;;;6070:12;:10;:12::i;:::-;-1:-1:-1;;;;;6050:33:0;;;;;;;;;;;;-1:-1:-1;6050:33:0;;;:89;;:37;:89;:::i;:::-;6019:8;:121::i;:::-;-1:-1:-1;6158:4:0;5869:301;;;;;:::o;8808:83::-;8874:9;;;;8808:83;:::o;6176:207::-;6253:4;6270:83;6279:12;:10;:12::i;:::-;6293:7;6302:50;6341:10;6302:11;:25;6314:12;:10;:12::i;:::-;-1:-1:-1;;;;;6302:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;6302:25:0;;;:34;;;;;;;;;;;:50;:38;:50;:::i;10148:153::-;3663:20;3672:10;3663:8;:20::i;:::-;3655:65;;;;;-1:-1:-1;;;3655:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3655:65:0;;;;;;;;;;;;;;;10216:11;;-1:-1:-1;;;10216:11:0;;;;10215:12;10207:56;;;;;-1:-1:-1;;;10207:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10207:56:0;;;;;;;;;;;;;;;10274:11;:19;;;;;-1:-1:-1;;;10274:19:0;-1:-1:-1;;;;10274:19:0;;;;;;;;;10148:153::o;10514:202::-;9808:6;;10582:4;;-1:-1:-1;;;;;9808:6:0;9794:10;:20;9786:57;;;;;-1:-1:-1;;;9786:57:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10608:15;;-1:-1:-1;;;10608:15:0;;;;10607:16;10599:60;;;;;-1:-1:-1;;;10599:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10599:60:0;;;;;;;;;;;;;;;10670:16;10676:2;10680:5;10670;:16::i;9234:81::-;9282:25;9288:10;9300:6;9282:5;:25::i;:::-;9234:81;:::o;5303:107::-;-1:-1:-1;;;;;5384:18:0;5360:4;5384:18;;;;;;;;;;;;5303:107::o;9457:103::-;9526:26;9536:7;9545:6;9526:9;:26::i;:::-;9457:103;;:::o;9687:23::-;;;-1:-1:-1;;;9687:23:0;;;;;:::o;3536:79::-;3601:6;;-1:-1:-1;;;;;3601:6:0;3536:79;:::o;13416:225::-;3663:20;3672:10;3663:8;:20::i;:::-;3655:65;;;;;-1:-1:-1;;;3655:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3655:65:0;;;;;;;;;;;;;;;13527:43;;;-1:-1:-1;;;13527:43:0;;13564:4;13527:43;;;;;;13510:14;;-1:-1:-1;;;;;13527:28:0;;;;;:43;;;;;;;;;;;;;;;:28;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;13527:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13527:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13527:43:0;;-1:-1:-1;13581:50:0;-1:-1:-1;;;;;13581:31:0;;13613:9;13527:43;13581:50;:31;:50;:::i;:::-;3731:1;13416:225;;:::o;8715:87::-;8787:7;8780:14;;;;;;;;-1:-1:-1;;8780:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8754:13;;8780:14;;8787:7;;8780:14;;8787:7;8780:14;;;;;;;;;;;;;;;;;;;;;;;;10309:197;3663:20;3672:10;3663:8;:20::i;:::-;3655:65;;;;;-1:-1:-1;;;3655:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3655:65:0;;;;;;;;;;;;;;;10383:15;;-1:-1:-1;;;10383:15:0;;;;10382:16;10374:60;;;;;-1:-1:-1;;;10374:60:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10374:60:0;;;;;;;;;;;;;;;10445:15;:23;;-1:-1:-1;;;;;;10445:23:0;;;-1:-1:-1;;;10445:23:0;-1:-1:-1;;;;10445:23:0;;;;10479:19;;;;;;10309:197::o;6389:258::-;6471:4;6488:129;6497:12;:10;:12::i;:::-;6511:7;6520:96;6559:15;6520:96;;;;;;;;;;;;;;;;;:11;:25;6532:12;:10;:12::i;:::-;-1:-1:-1;;;;;6520:25:0;;;;;;;;;;;;;;;;;-1:-1:-1;6520:25:0;;;:34;;;;;;;;;;;:96;;:38;:96;:::i;11629:257::-;-1:-1:-1;;;;;11713:14:0;;11690:4;11713:14;;;:10;:14;;;;;;;;11709:144;;;11770:12;;;11780:1;11770:12;;;;;;;;11744:39;;11759:2;;11763:5;;11744:14;:39::i;:::-;;11709:144;;;11816:25;11831:2;11835:5;11816:14;:25::i;:::-;;-1:-1:-1;11872:4:0;11629:257;;;;:::o;9871:106::-;9962:6;;-1:-1:-1;;;;;9962:6:0;;;9951:17;;;;9871:106::o;13775:111::-;-1:-1:-1;;;;;13859:19:0;13835:4;13859:19;;;:10;:19;;;;;;;;;13775:111::o;12151:285::-;12248:4;12273:24;12281:7;12290:6;12273:7;:24::i;:::-;12265:33;;;;;;12311:93;;-1:-1:-1;;;12311:93:0;;12359:10;12311:93;;;;;;;;;;;;12387:4;12311:93;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12311:47:0;;;;;12359:10;12371:6;;12387:4;12394:9;;12311:93;;;;;;;;;;;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;12311:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12311:93:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;12424:4:0;;12151:285;-1:-1:-1;;;;;;;12151:285:0:o;5577:131::-;-1:-1:-1;;;;;5673:18:0;;;5649:4;5673:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5577:131::o;3863:236::-;3663:20;3672:10;3663:8;:20::i;:::-;3655:65;;;;;-1:-1:-1;;;3655:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3655:65:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;3944:22:0;;3936:73;;;;-1:-1:-1;;;3936:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4046:6;;4025:38;;-1:-1:-1;;;;;4025:38:0;;;;4046:6;;4025:38;;4046:6;;4025:38;4074:6;:17;;-1:-1:-1;;;;;;4074:17:0;-1:-1:-1;;;;;4074:17:0;;;;;;;;;;3863:236::o;12972:191::-;3663:20;3672:10;3663:8;:20::i;:::-;3655:65;;;;;-1:-1:-1;;;3655:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3655:65:0;;;;;;;;;;;;;;;13055:21;13068:7;13055:12;:21::i;:::-;13047:70;;;;-1:-1:-1;;;13047:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13128:19:0;13150:5;13128:19;;;:10;:19;;;;;:27;;-1:-1:-1;;13128:27:0;;;12972:191::o;9985:155::-;3663:20;3672:10;3663:8;:20::i;:::-;3655:65;;;;;-1:-1:-1;;;3655:65:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3655:65:0;;;;;;;;;;;;;;;10058:11;;-1:-1:-1;;;10058:11:0;;;;10057:12;10049:56;;;;;-1:-1:-1;;;10049:56:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;10049:56:0;;;;;;;;;;;;;;;10116:6;:16;;-1:-1:-1;;;;;;10116:16:0;-1:-1:-1;;;;;10116:16:0;;;;;;;;;;9985:155::o;4872:98::-;4952:10;4872:98;:::o;7983:335::-;-1:-1:-1;;;;;8074:19:0;;8066:68;;;;-1:-1:-1;;;8066:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8153:21:0;;8145:68;;;;-1:-1:-1;;;8145:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8226:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8278:32;;;;;;;;;;;;;;;;;7983:335;;;:::o;3748:107::-;3841:6;;-1:-1:-1;;;;;3841:6:0;;;3830:17;;;;3748:107::o;14007:175::-;14127:20;14166:8;;;14007:175::o;6653:468::-;-1:-1:-1;;;;;6748:20:0;;6740:70;;;;-1:-1:-1;;;6740:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6829:23:0;;6821:71;;;;-1:-1:-1;;;6821:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6925;6947:6;6925:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6925:17:0;;:9;:17;;;;;;;;;;;;:71;;:21;:71;:::i;:::-;-1:-1:-1;;;;;6905:17:0;;;:9;:17;;;;;;;;;;;:91;;;;7030:20;;;;;;;:32;;7055:6;7030:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;7007:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;7078:35;;;;;;;7007:20;;7078:35;;;;;;;;;;;;;6653:468;;;:::o;359:180::-;439:4;472:12;464:6;;;;456:29;;;;-1:-1:-1;;;456:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;456:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;505:5:0;;;359:180::o;51:169::-;103:4;129:5;;;153:6;;;;145:46;;;;;-1:-1:-1;;;145:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;211:1;51:169;-1:-1:-1;;;51:169:0:o;7127:305::-;-1:-1:-1;;;;;7200:21:0;;7192:65;;;;;-1:-1:-1;;;7192:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7285:12;;:24;;7302:6;7285:24;:16;:24;:::i;:::-;7270:12;:39;-1:-1:-1;;;;;7341:18:0;;:9;:18;;;;;;;;;;;:30;;7364:6;7341:30;:22;:30;:::i;:::-;-1:-1:-1;;;;;7320:18:0;;:9;:18;;;;;;;;;;;:51;;;;7387:37;;;;;;;7320:18;;:9;;7387:37;;;;;;;;;;7127:305;;:::o;7438:345::-;-1:-1:-1;;;;;7511:21:0;;7503:67;;;;-1:-1:-1;;;7503:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7604:68;7627:6;7604:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7604:18:0;;:9;:18;;;;;;;;;;;;:68;;:22;:68;:::i;:::-;-1:-1:-1;;;;;7583:18:0;;:9;:18;;;;;;;;;;:89;7698:12;;:24;;7715:6;7698:24;:16;:24;:::i;:::-;7683:12;:39;7738:37;;;;;;;;7764:1;;-1:-1:-1;;;;;7738:37:0;;;;;;;;;;;;7438:345;;:::o;7789:188::-;7861:22;7867:7;7876:6;7861:5;:22::i;:::-;-1:-1:-1;;;;;7924:20:0;;;;;;:11;:20;;;;;;;;7912:10;7924:32;;;;;;;;;7894:75;;7903:7;;7924:44;;7961:6;7924:44;:36;:44;:::i;1610:173::-;1716:58;;;-1:-1:-1;;;;;1716:58:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;1716:58:0;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;182:15;-1:-1;;;179:29;160:49;;1690:85:0;;1709:5;;1690:18;:85::i;5416:155::-;5482:4;5499:42;5509:12;:10;:12::i;:::-;5523:9;5534:6;5499:9;:42::i;226:127::-;278:4;302:43;306:1;309;302:43;;;;;;;;;;;;;;;;;:3;:43::i;2350:597::-;2438:26;2457:5;2438:10;:26::i;:::-;2430:70;;;;;-1:-1:-1;;;2430:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2574:12;2588:23;2623:5;-1:-1:-1;;;;;2615:19:0;2635:4;2615:25;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2615:25:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2573:67:0;;;;2659:7;2651:52;;;;;-1:-1:-1;;;2651:52:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2720:17;;:21;2716:224;;2862:10;2851:30;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2851:30:0;2843:85;;;;-1:-1:-1;;;2843:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2350:597;;;;:::o;1228:374::-;1288:4;1511:20;;1354:66;1551:15;;;;;:42;;;1582:11;1570:8;:23;;1551:42;1543:51;1228:374;-1:-1:-1;;;;1228:374:0:o

Swarm Source

bzzr://2b3f9108d4cfc3bd82b64d21029a3ce6412cc4480815ea4267ccaafd5876d44e

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.