ETH Price: $2,450.84 (+2.08%)

Contract

0xC8ee2A26dC1e4bEBabEBC610c25e08cB4B4c0f10
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Ballot84002392019-08-22 12:55:261855 days ago1566478526IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0018154216.512
Ballot84002392019-08-22 12:55:261855 days ago1566478526IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0018154216.512
Ballot84002392019-08-22 12:55:261855 days ago1566478526IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0018154216.512
Ballot84002392019-08-22 12:55:261855 days ago1566478526IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0018154216.512
Ballot84002232019-08-22 12:52:071855 days ago1566478327IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0018286216.632
Ballot84001792019-08-22 12:41:381855 days ago1566477698IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0017151515.6
Ballot84001792019-08-22 12:41:381855 days ago1566477698IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0017151515.6
Ballot84001632019-08-22 12:37:091855 days ago1566477429IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0013193512
Ballot84001632019-08-22 12:37:091855 days ago1566477429IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0013193512
Ballot84001632019-08-22 12:37:091855 days ago1566477429IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0013193512
Ballot84001632019-08-22 12:37:091855 days ago1566477429IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0013193512
Ballot84001622019-08-22 12:36:521855 days ago1566477412IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0013193512
Ballot84001622019-08-22 12:36:521855 days ago1566477412IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0013193512
Ballot84001622019-08-22 12:36:521855 days ago1566477412IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0013193512
Ballot84001622019-08-22 12:36:521855 days ago1566477412IN
0xC8ee2A26...B4B4c0f10
0 ETH0.0013193512
Ballot83905742019-08-21 0:54:231857 days ago1566348863IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000692656.3
Ballot83905382019-08-21 0:47:121857 days ago1566348432IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000659676
Ballot83905292019-08-21 0:46:121857 days ago1566348372IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000725646.6
Ballot83905162019-08-21 0:44:161857 days ago1566348256IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000659676
Ballot83904732019-08-21 0:33:131857 days ago1566347593IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000659676
Ballot83904422019-08-21 0:26:021857 days ago1566347162IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000659676
Ballot83904192019-08-21 0:21:191857 days ago1566346879IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000659676
Ballot83904132019-08-21 0:19:361857 days ago1566346776IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000659676
Ballot83903572019-08-21 0:06:271857 days ago1566345987IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000659676
Ballot83671822019-08-17 9:40:041860 days ago1566034804IN
0xC8ee2A26...B4B4c0f10
0 ETH0.000687166.25
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:
NodeBallot

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-06-19
*/

pragma solidity >=0.4.0 <0.6.0;

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error.
 * https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/math/SafeMath.sol
 */
library SafeMath {
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        return c;
    }
}

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * https://github.com/OpenZeppelin/openzeppelin-solidity/blob/master/contracts/ownership/Ownable.sol
 */
contract Ownable {
     address public _owner;

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

    constructor () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

/**
 * @title Token
 * @dev API interface for interacting with the WILD Token contract 
 */
interface Token {

  function allowance(address _owner, address _spender) external returns (uint256 remaining);

  function transfer(address _to, uint256 _value) external;

  function transferFrom(address _from, address _to, uint256 _value) external returns (bool success);

  function balanceOf(address _owner) external returns (uint256 balance);
}


/**
* @title Iot Chain Node Contract
* 节点投票合约,主要功能包括参与超级节点,节点投票,Token锁仓
*/
contract NodeBallot is Ownable{
    
    using SafeMath for uint256;

    struct Node {
        // original
        uint256 originalAmount;
        // total
        uint256 totalBallotAmount;
        // date 成为超级节点时间
        uint date;
        //  judge node is valid
        bool valid;
    }
    
    struct BallotInfo {
        //节点地址
        address nodeAddress;
        //投票数量 
        uint256 amount;
        //投票日期
        uint date;
    }

    //锁仓期90天
    uint256 public constant lockLimitTime = 3 * 30 ; 
    
    //绑定token
    Token public token;
    
    // 18 decimals is the strongly suggested default, avoid changing it
    uint256 public decimals = 10**18;
    
    //节点信息 
    mapping (address => Node) public nodes;
    //用户投票信息 
    mapping (address => BallotInfo) public userBallotInfoMap;
    //活动是否开启
    bool public activityEnable = true;
    //是否开放提现
    bool public withdrawEnable = false;
    //总参与的锁仓数量
    uint256 public totalLockToken = 0; 
    //已提现的Token数量
    uint256 public totalWithdrawToken = 0; 
    //活动开始日期
    uint public startDate = 0;
    
    constructor(address tokenAddr) public{
        
        token = Token(tokenAddr);
        
        startDate = now;
    }
    
    
    /**
    * @dev 投票事件记录 
    * _ballotAddress 投票地址
    * _nodeAddress 节点地址
    * _ballotAmount 投票数量 
    * _date 投票时间戳
    */
    event Ballot(address indexed _ballotAddress,address indexed _nodeAddress, uint256 _ballotAmount, uint _date);
    
     /**
    * @dev 超级节点记录 
    * _nodeAddress 超级节点地址
    * _oringinalAmount 超级节点持仓数量 
    * _date 成为超级节点的时间戳
    */
    event GeneralNode(address indexed _nodeAddress,uint256 _oringinalAmount, uint _date);
    
    /**
    * @dev 提现记录 
    * _ballotAddress 提现地址
    * amount 提现数量
    */
    event Withdraw(address indexed _ballotAddress,uint256 _amount);

    /**
    * @dev 修改活动进行状态 
    * enable 活动是否结束
    */
    function motifyActivityEnable(bool enable) public onlyOwner{
        activityEnable = enable;
    }
    
    /**
    * @dev 更改开放提现状态,由管理员进行状态修改
    * enable 开启/关闭
    */
    function openWithdraw(bool enable) public onlyOwner {
        
        if(enable){
            require(activityEnable == false,"please make sure the activity is closed.");
        }
        else{
            require(activityEnable == true,"please make sure the activity is on.");
        }
        withdrawEnable = enable;
    }
   
   
   
    /**
    * @dev 成为超级节点信息,
    * nodeAddress 节点地址
    * originalAmount 节点资产
    */
    function generalSuperNode(uint256 originalAmount) public {

        //判断活动是否结束
        require(activityEnable == true ,'The activity have been closed. Code<202>');
        
        //检查超级节点质押数量
        require(originalAmount >= 100000 * decimals,'The amount of node token is too low. Code<201>');
        
        //检查用户是否授权了足够量的余额  
        uint256 allowance = token.allowance(msg.sender,address(this));
        require(allowance>=originalAmount,'Insufficient authorization balance available in the contract. Code<204>');

        //检查该超级节点是否存在
        Node memory addOne = nodes[msg.sender];
        require(addOne.valid == false,'Node did exist. Code<208>');
        
        //数据存储
        nodes[msg.sender] = Node(originalAmount,0,now,true);
        
        totalLockToken = SafeMath.add(totalLockToken,originalAmount);
        
        //将投票人的token转移到合约中
        token.transferFrom(msg.sender,address(this),originalAmount);
        
        emit GeneralNode(msg.sender,originalAmount,now);
    }
    
    /**
    * @dev 投票,由用户调用该方法进行投票
    * nodeAddressArr 节点地址
    * ballotAmount   投票数量
    */
    function ballot(address nodeAddress , uint256 ballotAmount) public returns (bool result){
        
        //判断活动是否结束
        require(activityEnable == true ,'The activity have been closed. Code<202>');
        
        //判断用户是否已投票
        BallotInfo memory ballotInfo = userBallotInfoMap[msg.sender];
        require(ballotInfo.amount == 0,'The address has been voted. Code<200>');
        
        //检查节点是否存在
        Node memory node = nodes[nodeAddress];
        require(node.valid == true,'Node does not exist. Code<203>');
            
        //检查用户是否授权了足够量的余额  
        uint256 allowance = token.allowance(msg.sender,address(this));
        require(allowance>=ballotAmount,'Insufficient authorization balance available in the contract. Code<204>');

        //统计节点投票信息 
        nodes[nodeAddress].totalBallotAmount = SafeMath.add(node.totalBallotAmount,ballotAmount);
        
         //存储用户投票信息 
        BallotInfo memory info = BallotInfo(nodeAddress,ballotAmount,now);
        userBallotInfoMap[msg.sender]=info;
        
        //统计锁仓数量 
        totalLockToken = SafeMath.add(totalLockToken,ballotAmount);
        
        //将投票人的itc转移到合约中转移到合约中
        token.transferFrom(msg.sender,address(this),ballotAmount);
        
        emit Ballot(msg.sender,nodeAddress,ballotAmount,now);
        
        result = true;
    }
    
    /**
    * @dev 提现,由用户调用该方法进行提现 
    */
    function withdrawToken() public returns(bool res){
        
        return _withdrawToken(msg.sender);
    }
 
    /**
    * @dev 提现,由管理员调用该方法对指定地址进行提现 
    * ballotAddress 用户地址 
    */
    function withdrawTokenToAddress(address ballotAddress) public onlyOwner returns(bool res){
        
        return _withdrawToken(ballotAddress);
    }
    
    /**
    * @dev 提现,内部调用
    * destinationAddress 提现地址
    */
    function _withdrawToken(address destinationAddress) internal returns(bool){
        
        require(destinationAddress != address(0),'Invalid withdraw address. Code<205>');
        require(withdrawEnable,'Token withdrawal is not open. Code<207>');
        
        BallotInfo memory info = userBallotInfoMap[destinationAddress];
        Node memory node = nodes[destinationAddress];
        
        require(info.amount != 0 || node.originalAmount != 0,'This address is invalid. Code<209>');

        uint256 amount = 0;

        if(info.amount != 0){
            require(now >= info.date + lockLimitTime * 1 days,'The token is still in the lock period. Code<212>');
            amount = info.amount;

            userBallotInfoMap[destinationAddress]=BallotInfo(info.nodeAddress,0,info.date);
        }
        
        if(node.originalAmount != 0){
            
            require(now >= node.date + lockLimitTime * 1 days,'The token is still in the lock period. Code<212>');
            amount = SafeMath.add(amount,node.originalAmount);
            
            nodes[destinationAddress] = Node(node.originalAmount,node.totalBallotAmount,node.date,false);
        }
        
        totalWithdrawToken = SafeMath.add(totalWithdrawToken,amount);
        
        //发放代币
        token.transfer(destinationAddress,amount);
        
        emit Withdraw(destinationAddress,amount);
        
        return true;
    }
    
    
    /**
    * @dev 转移Token,管理员调用
    */
    function transferToken() public onlyOwner {
        
        require(now >= startDate + 365 * 1 days,"transfer time limit.");
        token.transfer(_owner, token.balanceOf(address(this)));
    }

    
    /**
    * @dev 销毁合约
    */
    function destruct() payable public onlyOwner {
        
        //检查活动是否结束  
        require(activityEnable == false,'Activities are not up to the deadline. Code<212>');
        //检查是否还有余额
        require(token.balanceOf(address(this)) == 0 , 'please execute transferToken first. Code<213>');
        
        selfdestruct(msg.sender); // 销毁合约
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"startDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"nodes","outputs":[{"name":"originalAmount","type":"uint256"},{"name":"totalBallotAmount","type":"uint256"},{"name":"date","type":"uint256"},{"name":"valid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"enable","type":"bool"}],"name":"openWithdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destruct","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalLockToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"ballotAddress","type":"address"}],"name":"withdrawTokenToAddress","outputs":[{"name":"res","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalWithdrawToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"transferToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"activityEnable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userBallotInfoMap","outputs":[{"name":"nodeAddress","type":"address"},{"name":"amount","type":"uint256"},{"name":"date","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawEnable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawToken","outputs":[{"name":"res","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"enable","type":"bool"}],"name":"motifyActivityEnable","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockLimitTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"nodeAddress","type":"address"},{"name":"ballotAmount","type":"uint256"}],"name":"ballot","outputs":[{"name":"result","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"originalAmount","type":"uint256"}],"name":"generalSuperNode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"tokenAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_ballotAddress","type":"address"},{"indexed":true,"name":"_nodeAddress","type":"address"},{"indexed":false,"name":"_ballotAmount","type":"uint256"},{"indexed":false,"name":"_date","type":"uint256"}],"name":"Ballot","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_nodeAddress","type":"address"},{"indexed":false,"name":"_oringinalAmount","type":"uint256"},{"indexed":false,"name":"_date","type":"uint256"}],"name":"GeneralNode","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_ballotAddress","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

6080604052670de0b6b3a76400006002556001600560006101000a81548160ff0219169083151502179055506000600560016101000a81548160ff02191690831515021790555060006006556000600755600060085534801561006157600080fd5b5060405160208061285c83398101806040528101908080519060200190929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600881905550506126c4806101986000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b97bc8614610122578063189a5a171461014d57806319b469f2146101bd5780632b68b9c6146101ec578063313ce567146101f657806332b8877a146102215780634487ab2b1461024c5780636220debc146102a7578063799a5359146102d25780638f32d59b146102e9578063907e699114610318578063920a2ae314610347578063b2bdfa7b146103d8578063b5b68afe1461042f578063ca628c781461045e578063d40f35531461048d578063dc190681146104bc578063e15bf58b146104e7578063f05a64391461054c578063f2fde38b14610579578063fc0c546a146105bc575b600080fd5b34801561012e57600080fd5b50610137610613565b6040518082815260200191505060405180910390f35b34801561015957600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610619565b604051808581526020018481526020018381526020018215151515815260200194505050505060405180910390f35b3480156101c957600080fd5b506101ea600480360381019080803515159060200190929190505050610656565b005b6101f46107f4565b005b34801561020257600080fd5b5061020b610a66565b6040518082815260200191505060405180910390f35b34801561022d57600080fd5b50610236610a6c565b6040518082815260200191505060405180910390f35b34801561025857600080fd5b5061028d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a72565b604051808215151515815260200191505060405180910390f35b3480156102b357600080fd5b506102bc610a97565b6040518082815260200191505060405180910390f35b3480156102de57600080fd5b506102e7610a9d565b005b3480156102f557600080fd5b506102fe610d27565b604051808215151515815260200191505060405180910390f35b34801561032457600080fd5b5061032d610d7e565b604051808215151515815260200191505060405180910390f35b34801561035357600080fd5b50610388600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d91565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b3480156103e457600080fd5b506103ed610ddb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043b57600080fd5b50610444610e00565b604051808215151515815260200191505060405180910390f35b34801561046a57600080fd5b50610473610e13565b604051808215151515815260200191505060405180910390f35b34801561049957600080fd5b506104ba600480360381019080803515159060200190929190505050610e23565b005b3480156104c857600080fd5b506104d1610e53565b6040518082815260200191505060405180910390f35b3480156104f357600080fd5b50610532600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e58565b604051808215151515815260200191505060405180910390f35b34801561055857600080fd5b506105776004803603810190808035906020019092919050505061165e565b005b34801561058557600080fd5b506105ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfe565b005b3480156105c857600080fd5b506105d1611d1d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60085481565b60036020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16905084565b61065e610d27565b151561066957600080fd5b80156107255760001515600560009054906101000a900460ff161515141515610720576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f706c65617365206d616b6520737572652074686520616374697669747920697381526020017f20636c6f7365642e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6107d7565b60011515600560009054906101000a900460ff1615151415156107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f706c65617365206d616b6520737572652074686520616374697669747920697381526020017f206f6e2e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b80600560016101000a81548160ff02191690831515021790555050565b6107fc610d27565b151561080757600080fd5b60001515600560009054906101000a900460ff1615151415156108b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4163746976697469657320617265206e6f7420757020746f207468652064656181526020017f646c696e652e20436f64653c3231323e0000000000000000000000000000000081525060400191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561097757600080fd5b505af115801561098b573d6000803e3d6000fd5b505050506040513d60208110156109a157600080fd5b8101908080519060200190929190505050141515610a4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f706c656173652065786563757465207472616e73666572546f6b656e2066697281526020017f73742e20436f64653c3231333e0000000000000000000000000000000000000081525060400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60025481565b60065481565b6000610a7c610d27565b1515610a8757600080fd5b610a9082611d43565b9050919050565b60075481565b610aa5610d27565b1515610ab057600080fd5b6301e13380600854014210151515610b30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f7472616e736665722074696d65206c696d69742e00000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d0d57600080fd5b505af1158015610d21573d6000803e3d6000fd5b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600560009054906101000a900460ff1681565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560019054906101000a900460ff1681565b6000610e1e33611d43565b905090565b610e2b610d27565b1515610e3657600080fd5b80600560006101000a81548160ff02191690831515021790555050565b605a81565b6000610e62612635565b610e6a61266d565b6000610e74612635565b60011515600560009054906101000a900460ff161515141515610f25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f5468652061637469766974792068617665206265656e20636c6f7365642e204381526020017f6f64653c3230323e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020606060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152505093506000846020015114151561107e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f546865206164647265737320686173206265656e20766f7465642e20436f646581526020017f3c3230303e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020608060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152505092506001151583606001511515141515611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4e6f646520646f6573206e6f742065786973742e20436f64653c3230333e000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561127557600080fd5b505af1158015611289573d6000803e3d6000fd5b505050506040513d602081101561129f57600080fd5b81019080805190602001909291905050509150858210151515611376576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260478152602001807f496e73756666696369656e7420617574686f72697a6174696f6e2062616c616e81526020017f636520617661696c61626c6520696e2074686520636f6e74726163742e20436f81526020017f64653c3230343e0000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b61138483602001518761251a565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506060604051908101604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200142815250905080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506114a86006548761251a565b600681905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156115a757600080fd5b505af11580156115bb573d6000803e3d6000fd5b505050506040513d60208110156115d157600080fd5b8101908080519060200190929190505050508673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd445ce6f037d7e836ff1e5cd0833d17dedf73b9ec2f71666d4d46f8140d90c8a8842604051808381526020018281526020019250505060405180910390a3600194505050505092915050565b600061166861266d565b60011515600560009054906101000a900460ff161515141515611719576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f5468652061637469766974792068617665206265656e20636c6f7365642e204381526020017f6f64653c3230323e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600254620186a00283101515156117be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f54686520616d6f756e74206f66206e6f646520746f6b656e20697320746f6f2081526020017f6c6f772e20436f64653c3230313e00000000000000000000000000000000000081525060400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156118af57600080fd5b505af11580156118c3573d6000803e3d6000fd5b505050506040513d60208110156118d957600080fd5b810190808051906020019092919050505091508282101515156119b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260478152602001807f496e73756666696369656e7420617574686f72697a6174696f6e2062616c616e81526020017f636520617661696c61626c6520696e2074686520636f6e74726163742e20436f81526020017f64653c3230343e0000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020608060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152505090506000151581606001511515141515611ab6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4e6f6465206469642065786973742e20436f64653c3230383e0000000000000081525060200191505060405180910390fd5b6080604051908101604052808481526020016000815260200142815260200160011515815250600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff021916908315150217905550905050611b686006548461251a565b600681905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611c6757600080fd5b505af1158015611c7b573d6000803e3d6000fd5b505050506040513d6020811015611c9157600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f9657bd525e53f059b2406269df5d46fb652c5c84af64567ce03df7a1234922a88442604051808381526020018281526020019250505060405180910390a2505050565b611d06610d27565b1515611d1157600080fd5b611d1a8161253b565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d4d612635565b611d5561266d565b60008073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611e21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f496e76616c696420776974686472617720616464726573732e20436f64653c3281526020017f30353e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600560019054906101000a900460ff161515611ecb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001807f546f6b656e207769746864726177616c206973206e6f74206f70656e2e20436f81526020017f64653c3230373e0000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020606060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481526020016002820154815250509250600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020608060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152505091506000836020015114158061202157506000826000015114155b15156120bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f54686973206164647265737320697320696e76616c69642e20436f64653c323081526020017f393e00000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60009050600083602001511415156122575762015180605a028360400151014210151515612177576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f54686520746f6b656e206973207374696c6c20696e20746865206c6f636b207081526020017f6572696f642e20436f64653c3231323e0000000000000000000000000000000081525060400191505060405180910390fd5b82602001519050606060405190810160405280846000015173ffffffffffffffffffffffffffffffffffffffff168152602001600081526020018460400151815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050505b600082600001511415156123d15762015180605a02826040015101421015151561230f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f54686520746f6b656e206973207374696c6c20696e20746865206c6f636b207081526020017f6572696f642e20436f64653c3231323e0000000000000000000000000000000081525060400191505060405180910390fd5b61231d81836000015161251a565b905060806040519081016040528083600001518152602001836020015181526020018360400151815260200160001515815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff0219169083151502179055509050505b6123dd6007548261251a565b600781905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156124a857600080fd5b505af11580156124bc573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364826040518082815260200191505060405180910390a260019350505050919050565b600080828401905083811015151561253157600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561257757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60806040519081016040528060008152602001600081526020016000815260200160001515815250905600a165627a7a7230582088bbb340529015ba3aadd01b8916aed821319ad6404750a2130552ec97cceed100290000000000000000000000005e6b6d9abad9093fdc861ea1600eba1b355cd940

Deployed Bytecode

0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b97bc8614610122578063189a5a171461014d57806319b469f2146101bd5780632b68b9c6146101ec578063313ce567146101f657806332b8877a146102215780634487ab2b1461024c5780636220debc146102a7578063799a5359146102d25780638f32d59b146102e9578063907e699114610318578063920a2ae314610347578063b2bdfa7b146103d8578063b5b68afe1461042f578063ca628c781461045e578063d40f35531461048d578063dc190681146104bc578063e15bf58b146104e7578063f05a64391461054c578063f2fde38b14610579578063fc0c546a146105bc575b600080fd5b34801561012e57600080fd5b50610137610613565b6040518082815260200191505060405180910390f35b34801561015957600080fd5b5061018e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610619565b604051808581526020018481526020018381526020018215151515815260200194505050505060405180910390f35b3480156101c957600080fd5b506101ea600480360381019080803515159060200190929190505050610656565b005b6101f46107f4565b005b34801561020257600080fd5b5061020b610a66565b6040518082815260200191505060405180910390f35b34801561022d57600080fd5b50610236610a6c565b6040518082815260200191505060405180910390f35b34801561025857600080fd5b5061028d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a72565b604051808215151515815260200191505060405180910390f35b3480156102b357600080fd5b506102bc610a97565b6040518082815260200191505060405180910390f35b3480156102de57600080fd5b506102e7610a9d565b005b3480156102f557600080fd5b506102fe610d27565b604051808215151515815260200191505060405180910390f35b34801561032457600080fd5b5061032d610d7e565b604051808215151515815260200191505060405180910390f35b34801561035357600080fd5b50610388600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610d91565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390f35b3480156103e457600080fd5b506103ed610ddb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043b57600080fd5b50610444610e00565b604051808215151515815260200191505060405180910390f35b34801561046a57600080fd5b50610473610e13565b604051808215151515815260200191505060405180910390f35b34801561049957600080fd5b506104ba600480360381019080803515159060200190929190505050610e23565b005b3480156104c857600080fd5b506104d1610e53565b6040518082815260200191505060405180910390f35b3480156104f357600080fd5b50610532600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e58565b604051808215151515815260200191505060405180910390f35b34801561055857600080fd5b506105776004803603810190808035906020019092919050505061165e565b005b34801561058557600080fd5b506105ba600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611cfe565b005b3480156105c857600080fd5b506105d1611d1d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60085481565b60036020528060005260406000206000915090508060000154908060010154908060020154908060030160009054906101000a900460ff16905084565b61065e610d27565b151561066957600080fd5b80156107255760001515600560009054906101000a900460ff161515141515610720576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f706c65617365206d616b6520737572652074686520616374697669747920697381526020017f20636c6f7365642e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b6107d7565b60011515600560009054906101000a900460ff1615151415156107d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001807f706c65617365206d616b6520737572652074686520616374697669747920697381526020017f206f6e2e0000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b5b80600560016101000a81548160ff02191690831515021790555050565b6107fc610d27565b151561080757600080fd5b60001515600560009054906101000a900460ff1615151415156108b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f4163746976697469657320617265206e6f7420757020746f207468652064656181526020017f646c696e652e20436f64653c3231323e0000000000000000000000000000000081525060400191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561097757600080fd5b505af115801561098b573d6000803e3d6000fd5b505050506040513d60208110156109a157600080fd5b8101908080519060200190929190505050141515610a4d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d8152602001807f706c656173652065786563757465207472616e73666572546f6b656e2066697281526020017f73742e20436f64653c3231333e0000000000000000000000000000000000000081525060400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60025481565b60065481565b6000610a7c610d27565b1515610a8757600080fd5b610a9082611d43565b9050919050565b60075481565b610aa5610d27565b1515610ab057600080fd5b6301e13380600854014210151515610b30576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f7472616e736665722074696d65206c696d69742e00000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b505050506040513d6020811015610c7757600080fd5b81019080805190602001909291905050506040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610d0d57600080fd5b505af1158015610d21573d6000803e3d6000fd5b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600560009054906101000a900460ff1681565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560019054906101000a900460ff1681565b6000610e1e33611d43565b905090565b610e2b610d27565b1515610e3657600080fd5b80600560006101000a81548160ff02191690831515021790555050565b605a81565b6000610e62612635565b610e6a61266d565b6000610e74612635565b60011515600560009054906101000a900460ff161515141515610f25576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f5468652061637469766974792068617665206265656e20636c6f7365642e204381526020017f6f64653c3230323e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020606060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815260200160028201548152505093506000846020015114151561107e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f546865206164647265737320686173206265656e20766f7465642e20436f646581526020017f3c3230303e00000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020608060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152505092506001151583606001511515141515611184576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f4e6f646520646f6573206e6f742065786973742e20436f64653c3230333e000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561127557600080fd5b505af1158015611289573d6000803e3d6000fd5b505050506040513d602081101561129f57600080fd5b81019080805190602001909291905050509150858210151515611376576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260478152602001807f496e73756666696369656e7420617574686f72697a6174696f6e2062616c616e81526020017f636520617661696c61626c6520696e2074686520636f6e74726163742e20436f81526020017f64653c3230343e0000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b61138483602001518761251a565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101819055506060604051908101604052808873ffffffffffffffffffffffffffffffffffffffff16815260200187815260200142815250905080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050506114a86006548761251a565b600681905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156115a757600080fd5b505af11580156115bb573d6000803e3d6000fd5b505050506040513d60208110156115d157600080fd5b8101908080519060200190929190505050508673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd445ce6f037d7e836ff1e5cd0833d17dedf73b9ec2f71666d4d46f8140d90c8a8842604051808381526020018281526020019250505060405180910390a3600194505050505092915050565b600061166861266d565b60011515600560009054906101000a900460ff161515141515611719576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f5468652061637469766974792068617665206265656e20636c6f7365642e204381526020017f6f64653c3230323e00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600254620186a00283101515156117be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001807f54686520616d6f756e74206f66206e6f646520746f6b656e20697320746f6f2081526020017f6c6f772e20436f64653c3230313e00000000000000000000000000000000000081525060400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e33306040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b1580156118af57600080fd5b505af11580156118c3573d6000803e3d6000fd5b505050506040513d60208110156118d957600080fd5b810190808051906020019092919050505091508282101515156119b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260478152602001807f496e73756666696369656e7420617574686f72697a6174696f6e2062616c616e81526020017f636520617661696c61626c6520696e2074686520636f6e74726163742e20436f81526020017f64653c3230343e0000000000000000000000000000000000000000000000000081525060600191505060405180910390fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020608060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152505090506000151581606001511515141515611ab6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4e6f6465206469642065786973742e20436f64653c3230383e0000000000000081525060200191505060405180910390fd5b6080604051908101604052808481526020016000815260200142815260200160011515815250600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff021916908315150217905550905050611b686006548461251a565b600681905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611c6757600080fd5b505af1158015611c7b573d6000803e3d6000fd5b505050506040513d6020811015611c9157600080fd5b8101908080519060200190929190505050503373ffffffffffffffffffffffffffffffffffffffff167f9657bd525e53f059b2406269df5d46fb652c5c84af64567ce03df7a1234922a88442604051808381526020018281526020019250505060405180910390a2505050565b611d06610d27565b1515611d1157600080fd5b611d1a8161253b565b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611d4d612635565b611d5561266d565b60008073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611e21576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001807f496e76616c696420776974686472617720616464726573732e20436f64653c3281526020017f30353e000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600560019054906101000a900460ff161515611ecb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001807f546f6b656e207769746864726177616c206973206e6f74206f70656e2e20436f81526020017f64653c3230373e0000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020606060405190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481526020016002820154815250509250600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020608060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820160009054906101000a900460ff16151515158152505091506000836020015114158061202157506000826000015114155b15156120bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001807f54686973206164647265737320697320696e76616c69642e20436f64653c323081526020017f393e00000000000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60009050600083602001511415156122575762015180605a028360400151014210151515612177576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f54686520746f6b656e206973207374696c6c20696e20746865206c6f636b207081526020017f6572696f642e20436f64653c3231323e0000000000000000000000000000000081525060400191505060405180910390fd5b82602001519050606060405190810160405280846000015173ffffffffffffffffffffffffffffffffffffffff168152602001600081526020018460400151815250600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155604082015181600201559050505b600082600001511415156123d15762015180605a02826040015101421015151561230f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001807f54686520746f6b656e206973207374696c6c20696e20746865206c6f636b207081526020017f6572696f642e20436f64653c3231323e0000000000000000000000000000000081525060400191505060405180910390fd5b61231d81836000015161251a565b905060806040519081016040528083600001518152602001836020015181526020018360400151815260200160001515815250600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff0219169083151502179055509050505b6123dd6007548261251a565b600781905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb86836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156124a857600080fd5b505af11580156124bc573d6000803e3d6000fd5b505050508473ffffffffffffffffffffffffffffffffffffffff167f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364826040518082815260200191505060405180910390a260019350505050919050565b600080828401905083811015151561253157600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561257757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b606060405190810160405280600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60806040519081016040528060008152602001600081526020016000815260200160001515815250905600a165627a7a7230582088bbb340529015ba3aadd01b8916aed821319ad6404750a2130552ec97cceed10029

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

0000000000000000000000005e6b6d9abad9093fdc861ea1600eba1b355cd940

-----Decoded View---------------
Arg [0] : tokenAddr (address): 0x5E6b6d9aBAd9093fdc861Ea1600eBa1b355Cd940

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000005e6b6d9abad9093fdc861ea1600eba1b355cd940


Deployed Bytecode Sourcemap

2002:8584:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3233:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3233:25:0;;;;;;;;;;;;;;;;;;;;;;;2790:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2790:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4489:337;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4489:337:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10186:397;;;;;;2724:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2724:32:0;;;;;;;;;;;;;;;;;;;;;;;3090:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3090:33:0;;;;;;;;;;;;;;;;;;;;;;;8135:154;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8135:154:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3162:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3162:37:0;;;;;;;;;;;;;;;;;;;;;;;9931:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9931:199:0;;;;;;998:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;998:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2951:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2951:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2862:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2862:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;672:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;672:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3017:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3017:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;7886:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7886:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4261:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4261:101:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2540:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2540:46:0;;;;;;;;;;;;;;;;;;;;;;;6273:1525;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6273:1525:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4971:1145;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4971:1145:0;;;;;;;;;;;;;;;;;;;;;;;;;;1098:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1098:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2620:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2620:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3233:25;;;;:::o;2790:38::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4489:337::-;960:9;:7;:9::i;:::-;952:18;;;;;;;;4565:6;4562:223;;;4613:5;4595:23;;:14;;;;;;;;;;;:23;;;4587:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4562:223;;;4729:4;4711:22;;:14;;;;;;;;;;;:22;;;4703:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4562:223;4812:6;4795:14;;:23;;;;;;;;;;;;;;;;;;4489:337;:::o;10186:397::-;960:9;:7;:9::i;:::-;952:18;;;;;;;;10316:5;10298:23;;:14;;;;;;;;;;;:23;;;10290:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10462:1;10428:5;;;;;;;;;;;:15;;;10452:4;10428:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10428:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10428:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10428:30:0;;;;;;;;;;;;;;;;:35;10420:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10548:10;10535:24;;;2724:32;;;;:::o;3090:33::-;;;;:::o;8135:154::-;8215:8;960:9;:7;:9::i;:::-;952:18;;;;;;;;8252:29;8267:13;8252:14;:29::i;:::-;8245:36;;8135:154;;;:::o;3162:37::-;;;;:::o;9931:199::-;960:9;:7;:9::i;:::-;952:18;;;;;;;;10021:12;10009:9;;:24;10002:3;:31;;9994:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10068:5;;;;;;;;;;;:14;;;10083:6;;;;;;;;;;;10091:5;;;;;;;;;;;:15;;;10115:4;10091:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10091:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10091:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10091:30:0;;;;;;;;;;;;;;;;10068:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10068:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10068:54:0;;;;9931:199::o;998:92::-;1038:4;1076:6;;;;;;;;;;;1062:20;;:10;:20;;;1055:27;;998:92;:::o;2951:33::-;;;;;;;;;;;;;:::o;2862:56::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;672:21::-;;;;;;;;;;;;;:::o;3017:34::-;;;;;;;;;;;;;:::o;7886:111::-;7926:8;7963:26;7978:10;7963:14;:26::i;:::-;7956:33;;7886:111;:::o;4261:101::-;960:9;:7;:9::i;:::-;952:18;;;;;;;;4348:6;4331:14;;:23;;;;;;;;;;;;;;;;;;4261:101;:::o;2540:46::-;2580:6;2540:46;:::o;6273:1525::-;6349:11;6553:28;;:::i;:::-;6752:16;;:::i;:::-;6944:17;7319:22;;:::i;:::-;6444:4;6426:22;;:14;;;;;;;;;;;:22;;;6418:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6584:17;:29;6602:10;6584:29;;;;;;;;;;;;;;;6553:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6653:1;6632:10;:17;;;:22;6624:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6771:5;:18;6777:11;6771:18;;;;;;;;;;;;;;;6752:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6822:4;6808:18;;:4;:10;;;:18;;;6800:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6964:5;;;;;;;;;;;:15;;;6980:10;6999:4;6964:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6964:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6964:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6964:41:0;;;;;;;;;;;;;;;;6944:61;;7035:12;7024:9;:23;;7016:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7211:49;7224:4;:22;;;7247:12;7211;:49::i;:::-;7172:5;:18;7178:11;7172:18;;;;;;;;;;;;;;;:36;;:88;;;;7344:40;;;;;;;;;7355:11;7344:40;;;;;;7367:12;7344:40;;;;7380:3;7344:40;;;7319:65;;7425:4;7395:17;:29;7413:10;7395:29;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7498:41;7511:14;;7526:12;7498;:41::i;:::-;7481:14;:58;;;;7626:5;;;;;;;;;;;:18;;;7645:10;7664:4;7670:12;7626:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7626:57:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7626:57:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7626:57:0;;;;;;;;;;;;;;;;;7727:11;7709:47;;7716:10;7709:47;;;7739:12;7752:3;7709:47;;;;;;;;;;;;;;;;;;;;;;;;7786:4;7777:13;;6273:1525;;;;;;;;:::o;4971:1145::-;5388:17;5626:18;;:::i;:::-;5103:4;5085:22;;:14;;;;;;;;;;;:22;;;5077:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5250:8;;5241:6;:17;5223:14;:35;;5215:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5408:5;;;;;;;;;;;:15;;;5424:10;5443:4;5408:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5408:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5408:41:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5408:41:0;;;;;;;;;;;;;;;;5388:61;;5479:14;5468:9;:25;;5460:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5647:5;:17;5653:10;5647:17;;;;;;;;;;;;;;;5626:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5699:5;5683:21;;:6;:12;;;:21;;;5675:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5798:31;;;;;;;;;5803:14;5798:31;;;;5818:1;5798:31;;;;5820:3;5798:31;;;;5824:4;5798:31;;;;;5778:5;:17;5784:10;5778:17;;;;;;;;;;;;;;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5867:43;5880:14;;5895;5867:12;:43::i;:::-;5850:14;:60;;;;5981:5;;;;;;;;;;;:18;;;6000:10;6019:4;6025:14;5981:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5981:59:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5981:59:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5981:59:0;;;;;;;;;;;;;;;;;6078:10;6066:42;;;6089:14;6104:3;6066:42;;;;;;;;;;;;;;;;;;;;;;;;4971:1145;;;:::o;1098:109::-;960:9;:7;:9::i;:::-;952:18;;;;;;;;1171:28;1190:8;1171:18;:28::i;:::-;1098:109;:::o;2620:18::-;;;;;;;;;;;;;:::o;8391:1463::-;8460:4;8662:22;;:::i;:::-;8735:16;;:::i;:::-;8903:14;8524:1;8494:32;;:18;:32;;;;8486:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8584:14;;;;;;;;;;;8576:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8687:17;:37;8705:18;8687:37;;;;;;;;;;;;;;;8662:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8754:5;:25;8760:18;8754:25;;;;;;;;;;;;;;;8735:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8823:1;8808:4;:11;;;:16;;:44;;;;8851:1;8828:4;:19;;;:24;;8808:44;8800:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8920:1;8903:18;;8952:1;8937:4;:11;;;:16;;8934:278;;;9012:6;2580;8996:22;8984:4;:9;;;:34;8977:3;:41;;8969:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9094:4;:11;;;9085:20;;9160:40;;;;;;;;;9171:4;:16;;;9160:40;;;;;;9188:1;9160:40;;;;9190:4;:9;;;9160:40;;;9122:17;:37;9140:18;9122:37;;;;;;;;;;;;;;;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8934:278;9258:1;9235:4;:19;;;:24;;9232:355;;;9332:6;2580;9316:22;9304:4;:9;;;:34;9297:3;:41;;9289:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9414:40;9427:6;9434:4;:19;;;9414:12;:40::i;:::-;9405:49;;9511:64;;;;;;;;;9516:4;:19;;;9511:64;;;;9536:4;:22;;;9511:64;;;;9559:4;:9;;;9511:64;;;;9569:5;9511:64;;;;;9483:5;:25;9489:18;9483:25;;;;;;;;;;;;;;;:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9232:355;9628:39;9641:18;;9660:6;9628:12;:39::i;:::-;9607:18;:60;;;;9712:5;;;;;;;;;;;:14;;;9727:18;9746:6;9712:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9712:41:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9712:41:0;;;;9788:18;9779:35;;;9807:6;9779:35;;;;;;;;;;;;;;;;;;9842:4;9835:11;;8391:1463;;;;;;:::o;268:148::-;326:7;346:9;362:1;358;:5;346:17;;387:1;382;:6;;374:15;;;;;;;;407:1;400:8;;268:148;;;;;:::o;1215:187::-;1309:1;1289:22;;:8;:22;;;;1281:31;;;;;;;;1357:8;1328:38;;1349:6;;;;;;;;;;;1328:38;;;;;;;;;;;;1386:8;1377:6;;:17;;;;;;;;;;;;;;;;;;1215:187;:::o;2002:8584::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://88bbb340529015ba3aadd01b8916aed821319ad6404750a2130552ec97cceed1

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.