ETH Price: $3,487.05 (+2.01%)

Contract

0xE225AcA29524bB65fd82C79a9602f3b4F9c6Fe3f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer214592232024-12-22 16:26:592 days ago1734884819IN
Tratok: Old Tratok Token
0 ETH0.000421187.76600348
Transfer214237792024-12-17 17:34:237 days ago1734456863IN
Tratok: Old Tratok Token
0 ETH0.0009040227.95898666
Transfer214159932024-12-16 15:31:358 days ago1734363095IN
Tratok: Old Tratok Token
0 ETH0.0007068821.86199791
Transfer214158102024-12-16 14:54:598 days ago1734360899IN
Tratok: Old Tratok Token
0 ETH0.0011275520.7904669
Approve214014092024-12-14 14:40:1110 days ago1734187211IN
Tratok: Old Tratok Token
0 ETH0.0005222811.33064178
Transfer213908502024-12-13 3:17:4711 days ago1734059867IN
Tratok: Old Tratok Token
0 ETH0.0004135212.78924422
Approve213501162024-12-07 10:47:3517 days ago1733568455IN
Tratok: Old Tratok Token
0 ETH0.0006008812.94477142
Transfer213430382024-12-06 11:04:3518 days ago1733483075IN
Tratok: Old Tratok Token
0 ETH0.0007104513.09973064
Transfer213427302024-12-06 10:02:4718 days ago1733479367IN
Tratok: Old Tratok Token
0 ETH0.000858715.83676912
Transfer213425132024-12-06 9:18:4718 days ago1733476727IN
Tratok: Old Tratok Token
0 ETH0.0005941618.38261695
Transfer213420942024-12-06 7:54:4718 days ago1733471687IN
Tratok: Old Tratok Token
0 ETH0.0005240516.20741362
Approve213415102024-12-06 5:57:4718 days ago1733464667IN
Tratok: Old Tratok Token
0 ETH0.0006347913.69648808
Transfer213123912024-12-02 4:18:3522 days ago1733113115IN
Tratok: Old Tratok Token
0 ETH0.0007438220.03073533
Transfer213030582024-11-30 21:04:3524 days ago1733000675IN
Tratok: Old Tratok Token
0 ETH0.0005553917.17666972
Transfer213005942024-11-30 12:48:4724 days ago1732970927IN
Tratok: Old Tratok Token
0 ETH0.000435378.02945169
Transfer212921242024-11-29 8:21:3525 days ago1732868495IN
Tratok: Old Tratok Token
0 ETH0.000318215.8673548
Transfer212858162024-11-28 11:11:1126 days ago1732792271IN
Tratok: Old Tratok Token
0 ETH0.000278997.51318889
Transfer212821652024-11-27 22:48:2326 days ago1732747703IN
Tratok: Old Tratok Token
0 ETH0.0007296522.56623624
Transfer212821072024-11-27 22:36:4726 days ago1732747007IN
Tratok: Old Tratok Token
0 ETH0.0007069321.86363679
Transfer212820322024-11-27 22:21:3526 days ago1732746095IN
Tratok: Old Tratok Token
0 ETH0.0007233522.37121149
Transfer212819692024-11-27 22:08:5926 days ago1732745339IN
Tratok: Old Tratok Token
0 ETH0.0007977624.67252651
Transfer212817992024-11-27 21:34:4727 days ago1732743287IN
Tratok: Old Tratok Token
0 ETH0.0008482826.22530877
Transfer212782532024-11-27 9:40:1127 days ago1732700411IN
Tratok: Old Tratok Token
0 ETH0.0002919
Transfer211915622024-11-15 7:20:2339 days ago1731655223IN
Tratok: Old Tratok Token
0 ETH0.0004968215.37668856
Transfer211915622024-11-15 7:20:2339 days ago1731655223IN
Tratok: Old Tratok Token
0 ETH0.0004968215.37668856
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:
Tratok

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2019-08-14
*/

pragma solidity ^ 0.4.4;

/*
This is the smart contract for the ERC 20 standard Tratok token.
During the development of the smart contract, active attention was paid to make the contract as simple as possible.
As the majority of functions are simple addition and subtraction of existing balances, we have been able to make the contract very lightweight.
This has the added advantage of reducing gas costs and ensuring that transaction fees remain low.
The smart contract has been made publically available, keeping with the team's philosophy of transparency.
This is an update on the second generation smart contract which can be found at 0x0cbc9b02b8628ae08688b5cc8134dc09e36c443b.
The contract has been updated to match a change in project philosophy and enhance distribution and widespread adoption of the token via free airdrops.
Further enhancements have been made for this third-generation:
A.) Enhanced anti-fraud measures.
B.) A Contingency plan to ensure that in the event of an exchange being compromised, that there is a facility to prevent the damage hurting the Tratok ecosystem.
C.) More efficient gas usage (e.g. Use of External instead of public).


@version "1.2"
@developer "Tratok Team"
@date "25 June 2019"
@thoughts "307 lines that will change the travel and tourism industry! Good luck!"
*/

/*
 * Use of the SafeMath Library prevents malicious input. For security consideration, the
 * smart contract makes use of .add() and .sub() rather than += and -=
 */

library SafeMath {
    
//Ensures that b is greater than a to handle negatives.
    function sub(uint256 a, uint256 b) internal returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    //Ensure that the sum of two values is greater than the initial value.
    function add(uint256 a, uint256 b) internal returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

/*
 * ERC20 Standard will be used
 * see https://github.com/ethereum/EIPs/issues/20
 */

contract ERC20 {
    //the total supply of tokens 
    uint public totalSupply;

    //@return Returns the total amount of Tratok tokens in existence. The amount remains capped at the pre-created 100 Billion.  
    function totalSupply() constant returns(uint256 supply){}

    /* 
      @param _owner The address of the wallet which needs to be queried for the amount of Tratok held. 
      @return Returns the balance of Tratok tokens for the relevant address.
      */
    function balanceOf(address who) constant returns(uint);

    /* 
       The transfer function which takes the address of the recipient and the amount of Tratok needed to be sent and complete the transfer
       @param _to The address of the recipient (usually a "service provider") who will receive the Tratok.
       @param _value The amount of Tratok that needs to be transferred.
       @return Returns a boolean value to verify the transaction has succeeded or failed.
      */
    function transfer(address to, uint value) returns(bool ok);

    /*
       This function will, conditional of being approved by the holder, send a determined amount of tokens to a specified address
       @param _from The address of the Tratok sender.
       @param _to The address of the Tratok recipient.
       @param _value The volume (amount of Tratok which will be sent).
       @return Returns a boolean value to verify the transaction has succeeded or failed.
      */
    function transferFrom(address from, address to, uint value) returns(bool ok);

    /*
      This function approves the transaction and costs
      @param _spender The address of the account which is able to transfer the tokens
      @param _value The amount of wei to be approved for transfer
      @return Whether the approval was successful or not
     */
    function approve(address spender, uint value) returns(bool ok);

    /*
    This function determines how many Tratok remain and how many can be spent.
     @param _owner The address of the account owning the Tratok tokens
     @param _spender The address of the account which is authorized to spend the Tratok tokens
     @return Amount of Tratok tokens which remain available and therefore, which can be spent
    */
    function allowance(address owner, address spender) constant returns(uint);


    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);

}

/*
 *This is a basic contract held by one owner and prevents function execution if attempts to run are made by anyone other than the owner of the contract
 */

contract Ownable {
    address public owner;

    function Ownable() {
        owner = msg.sender;
    }

    modifier onlyOwner() {
        if (msg.sender != owner) {
            revert();
        }
        _;
    }

    function transferOwnership(address newOwner) onlyOwner {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }
    
    function owner() public view returns (address) {
        return owner;
    }

}


contract StandardToken is ERC20, Ownable {

event FrozenAccount(address indexed _target);
event UnfrozenAccount(address indexed _target);    

using SafeMath for uint256;
    function transfer(address _to, uint256 _value) returns(bool success) {
        require(!frozenAccounts[msg.sender]);
        if (balances[msg.sender] >= _value && _value > 0) {
            balances[msg.sender] = balances[msg.sender].sub(_value);
            balances[_to] = balances[_to].add(_value);
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function transferFrom(address _from, address _to, uint256 _value) returns(bool success) {
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0) {
            balances[_to] = balances[_to].add(_value);
            balances[_from] = balances[_from].sub(_value);
            allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
            Transfer(_from, _to, _value);
            return true;
        } else {
            return false;
        }
    }
     
    function balanceOf(address _owner) constant returns(uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) returns(bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns(uint256 remaining) {
        return allowed[_owner][_spender];
    }
    
    
     /*
This function determines distributes tratok to multiple addresses and is designed for the airdrop.
     @param _destinations The address of the accounts which will be sent Tratok tokens.
     @param _values The amount of the Tratok tokens to be sent.
     @return The number of loop cycles
     */        
    
    function airDropTratok(address[] _destinations, uint256[] _values) external onlyOwner
    returns (uint256) {
        uint256 i = 0;
        while (i < _destinations.length) {
           transfer(_destinations[i], _values[i]);
           i += 1;
        }
        return(i);
    }

    /*
This function determines distributes tratok to multiple addresses and is designed for the ecosystem. It is the same as the airDropTratok method but differs in that it can be run by all accounts, not just the Owner account.

     @param _destinations The address of the accounts which will be sent Tratok tokens.
     @param _values The amount of the Tratok tokens to be sent.
     @return The number of loop cycles
     */        
    
    function distributeTratok(address[] _destinations, uint256[] _values)
    returns (uint256) {
        uint256 i = 0;
        while (i < _destinations.length) {
           transfer(_destinations[i], _values[i]);
           i += 1;
        }
        return(i);
    }
    
       /*
This function locks the account  from sending Tratok. This measure is taken to prevent fraud and to recover Tratok in the event that an exchange is hacked.
     @param _target The address of the accounts which will be locked.
     @return The number of loop cycles
     */    
     
   function lockAccountFromSendingTratok(address _target) external onlyOwner returns(bool){
   
   	//Ensure that the target address is not left blank to prevent errors.
   	  require(_target != address(0));
	//ensure the account is not already frozen.	  
      require(!frozenAccounts[_target]);
      frozenAccounts[_target] = true;
      emit FrozenAccount(_target);
      return true;
  }
    
    /*
This function unlocks accounts tratok to allow them to send Tratok.
     @param _target The address of the accounts which will be sent Tratok tokens.
     @return The number of loop cycles
     */    
      function unlockAccountFromSendingTratok(address _target) external onlyOwner returns(bool){
      require(_target != address(0));
      require(frozenAccounts[_target]);
      delete frozenAccounts[_target];
      emit UnfrozenAccount(_target);
      return true;
  }
     
    /*
This function is an emergency failsafe that allows Tratok to be reclaimed in the event of an exchange or partner hack. This contingency is meant as a last resort to protect the integrity of the ecosystem in the event of a security breach. It can only be executed by the holder of the custodian keys.
     @param _from The address of the Tratok tokens will be seized.
	 @param _to The address where the Tratok tokens will be sent.
     @param _value The amount of Tratok tokens that will be transferred.
     */    
       
     function confiscate(address _from, address _to, uint256 _value) external onlyOwner{
     	balances[_to] = balances[_to].add(_value);
        balances[_from] = balances[_from].sub(_value);
        return (Transfer(_from, _to, _value));
}     
    

    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint256)) allowed;
    mapping(address => bool) internal frozenAccounts;
    
    uint256 public totalSupply;
}

contract Tratok is StandardToken {

    function() {
        revert();
        
    }

    /* 
     * The public variables of the token. Including the name, the symbol and the number of decimals.
     */
    string public name;
    uint8 public decimals;
    string public symbol;
    string public version = 'H1.0';

    /*
     * Declaring the customized details of the token. The token will be called Tratok, with a total supply of 100 billion tokens.
     * It will feature five decimal places and have the symbol TRAT.
     */

    function Tratok() {

        //we will create 100 Billion utility tokens and send them to the creating wallet.
        balances[msg.sender] = 10000000000000000;
        totalSupply = 10000000000000000;
        name = "Tratok";
        decimals = 5;
        symbol = "TRAT";
    }

    /*
     *Approve and enact the contract.
     *
     */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns(bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);

        //If the call fails, result to "vanilla" approval.
        if (!_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData)) {
            revert();
        }
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_destinations","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"airDropTratok","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"unlockAccountFromSendingTratok","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"confiscate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_destinations","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"distributeTratok","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"}],"name":"lockAccountFromSendingTratok","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_target","type":"address"}],"name":"FrozenAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_target","type":"address"}],"name":"UnfrozenAccount","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526040805190810160405280600481526020017f48312e30000000000000000000000000000000000000000000000000000000008152506009908051906020019062000051929190620001b8565b503480156200005f57600080fd5b5033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550662386f26fc10000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550662386f26fc100006005819055506040805190810160405280600681526020017f547261746f6b00000000000000000000000000000000000000000000000000008152506006908051906020019062000147929190620001b8565b506005600760006101000a81548160ff021916908360ff1602179055506040805190810160405280600481526020017f545241540000000000000000000000000000000000000000000000000000000081525060089080519060200190620001b1929190620001b8565b5062000267565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001fb57805160ff19168380011785556200022c565b828001600101855582156200022c579182015b828111156200022b5782518255916020019190600101906200020e565b5b5090506200023b91906200023f565b5090565b6200026491905b808211156200026057600081600090555060010162000246565b5090565b90565b611c9d80620002776000396000f3006080604052600436106100fb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062af0f5d1461010d57806306fdde0314610174578063095ea7b31461020457806318160ddd1461026957806323b872dd14610294578063313ce5671461031957806354fd4d501461034a578063642d8744146103da57806370a08231146104355780638da5cb5b1461048c57806395d89b41146104e3578063960313bb14610573578063a9059cbb146105e0578063cae9ca5114610645578063db74847d146106f0578063dd62ed3e146107ad578063ed23def114610824578063f2fde38b1461087f575b34801561010757600080fd5b50600080fd5b34801561011957600080fd5b5061015e6004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293905050506108c2565b6040518082815260200191505060405180910390f35b34801561018057600080fd5b50610189610991565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c95780820151818401526020810190506101ae565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021057600080fd5b5061024f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a2f565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b5061027e610b21565b6040518082815260200191505060405180910390f35b3480156102a057600080fd5b506102ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b27565b604051808215151515815260200191505060405180910390f35b34801561032557600080fd5b5061032e610eb8565b604051808260ff1660ff16815260200191505060405180910390f35b34801561035657600080fd5b5061035f610ecb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039f578082015181840152602081019050610384565b50505050905090810190601f1680156103cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103e657600080fd5b5061041b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f69565b604051808215151515815260200191505060405180910390f35b34801561044157600080fd5b50610476600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f6565b6040518082815260200191505060405180910390f35b34801561049857600080fd5b506104a161113f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104ef57600080fd5b506104f8611169565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053857808201518184015260208101905061051d565b50505050905090810190601f1680156105655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561057f57600080fd5b506105de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611207565b005b3480156105ec57600080fd5b5061062b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113f7565b604051808215151515815260200191505060405180910390f35b34801561065157600080fd5b506106d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611649565b604051808215151515815260200191505060405180910390f35b3480156106fc57600080fd5b5061079760048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506118e6565b6040518082815260200191505060405180910390f35b3480156107b957600080fd5b5061080e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611945565b6040518082815260200191505060405180910390f35b34801561083057600080fd5b50610865600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119cc565b604051808215151515815260200191505060405180910390f35b34801561088b57600080fd5b506108c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b63565b005b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561092157600080fd5b600090505b8585905081101561098557610979868683818110151561094257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110151561096d57fe5b905060200201356113f7565b50600181019050610926565b80915050949350505050565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a275780601f106109fc57610100808354040283529160200191610a27565b820191906000526020600020905b815481529060010190602001808311610a0a57829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60055481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610bf4575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610c005750600082115b15610eac57610c5782600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cec82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dbe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5890919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610eb1565b600090505b9392505050565b600760009054906101000a900460ff1681565b60098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f615780601f10610f3657610100808354040283529160200191610f61565b820191906000526020600020905b815481529060010190602001808311610f4457829003601f168201915b505050505081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fc757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561100357600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561105b57600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558173ffffffffffffffffffffffffffffffffffffffff167fad8c5167ea40034252f025cc63e5389848cdfec155aee766d091d7a57517c3ab60405160405180910390a260019050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ff5780601f106111d4576101008083540402835291602001916111ff565b820191906000526020600020905b8154815290600101906020018083116111e257829003601f168201915b505050505081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126357600080fd5b6112b581600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061134a81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561145257600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156114a15750600082115b1561163e576114f882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061158d82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611643565b600090505b92915050565b600082600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff1660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815250602e01905060405180910390207c01000000000000000000000000000000000000000000000000000000009004338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828051906020019080838360005b8381101561188a57808201518184015260208101905061186f565b50505050905090810190601f1680156118b75780820380516001836020036101000a031916815260200191505b509450505050506000604051808303816000875af19250505015156118db57600080fd5b600190509392505050565b600080600090505b835181101561193b5761192f848281518110151561190857fe5b90602001906020020151848381518110151561192057fe5b906020019060200201516113f7565b506001810190506118ee565b8091505092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a2a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611a6657600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611abf57600080fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fab31471e2733e9405c1ac9092ad88ff15b9d83479c0db9acf8c3c688e7a8b4f760405160405180910390a260019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bbf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611c375780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000808284019050838110151515611c4e57fe5b8091505092915050565b6000828211151515611c6657fe5b8183039050929150505600a165627a7a72305820c575ec2ec6849eeefcf50166668d53cbc63bd4d4ab2db3c20f601247ffd02ef20029

Deployed Bytecode

0x6080604052600436106100fb576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062af0f5d1461010d57806306fdde0314610174578063095ea7b31461020457806318160ddd1461026957806323b872dd14610294578063313ce5671461031957806354fd4d501461034a578063642d8744146103da57806370a08231146104355780638da5cb5b1461048c57806395d89b41146104e3578063960313bb14610573578063a9059cbb146105e0578063cae9ca5114610645578063db74847d146106f0578063dd62ed3e146107ad578063ed23def114610824578063f2fde38b1461087f575b34801561010757600080fd5b50600080fd5b34801561011957600080fd5b5061015e6004803603810190808035906020019082018035906020019190919293919293908035906020019082018035906020019190919293919293905050506108c2565b6040518082815260200191505060405180910390f35b34801561018057600080fd5b50610189610991565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c95780820151818401526020810190506101ae565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021057600080fd5b5061024f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a2f565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b5061027e610b21565b6040518082815260200191505060405180910390f35b3480156102a057600080fd5b506102ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b27565b604051808215151515815260200191505060405180910390f35b34801561032557600080fd5b5061032e610eb8565b604051808260ff1660ff16815260200191505060405180910390f35b34801561035657600080fd5b5061035f610ecb565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039f578082015181840152602081019050610384565b50505050905090810190601f1680156103cc5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103e657600080fd5b5061041b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f69565b604051808215151515815260200191505060405180910390f35b34801561044157600080fd5b50610476600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110f6565b6040518082815260200191505060405180910390f35b34801561049857600080fd5b506104a161113f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104ef57600080fd5b506104f8611169565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053857808201518184015260208101905061051d565b50505050905090810190601f1680156105655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561057f57600080fd5b506105de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611207565b005b3480156105ec57600080fd5b5061062b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113f7565b604051808215151515815260200191505060405180910390f35b34801561065157600080fd5b506106d6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611649565b604051808215151515815260200191505060405180910390f35b3480156106fc57600080fd5b5061079760048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506118e6565b6040518082815260200191505060405180910390f35b3480156107b957600080fd5b5061080e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611945565b6040518082815260200191505060405180910390f35b34801561083057600080fd5b50610865600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119cc565b604051808215151515815260200191505060405180910390f35b34801561088b57600080fd5b506108c0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b63565b005b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561092157600080fd5b600090505b8585905081101561098557610979868683818110151561094257fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110151561096d57fe5b905060200201356113f7565b50600181019050610926565b80915050949350505050565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a275780601f106109fc57610100808354040283529160200191610a27565b820191906000526020600020905b815481529060010190602001808311610a0a57829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60055481565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015610bf4575081600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015610c005750600082115b15610eac57610c5782600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cec82600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dbe82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5890919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050610eb1565b600090505b9392505050565b600760009054906101000a900460ff1681565b60098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f615780601f10610f3657610100808354040283529160200191610f61565b820191906000526020600020905b815481529060010190602001808311610f4457829003601f168201915b505050505081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610fc757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415151561100357600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561105b57600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690558173ffffffffffffffffffffffffffffffffffffffff167fad8c5167ea40034252f025cc63e5389848cdfec155aee766d091d7a57517c3ab60405160405180910390a260019050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60088054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111ff5780601f106111d4576101008083540402835291602001916111ff565b820191906000526020600020905b8154815290600101906020018083116111e257829003601f168201915b505050505081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126357600080fd5b6112b581600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a90919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061134a81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5890919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151561145257600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156114a15750600082115b1561163e576114f882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c5890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061158d82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3a90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611643565b600090505b92915050565b600082600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff1660405180807f72656365697665417070726f76616c28616464726573732c75696e743235362c81526020017f616464726573732c627974657329000000000000000000000000000000000000815250602e01905060405180910390207c01000000000000000000000000000000000000000000000000000000009004338530866040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828051906020019080838360005b8381101561188a57808201518184015260208101905061186f565b50505050905090810190601f1680156118b75780820380516001836020036101000a031916815260200191505b509450505050506000604051808303816000875af19250505015156118db57600080fd5b600190509392505050565b600080600090505b835181101561193b5761192f848281518110151561190857fe5b90602001906020020151848381518110151561192057fe5b906020019060200201516113f7565b506001810190506118ee565b8091505092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a2a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515611a6657600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611abf57600080fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fab31471e2733e9405c1ac9092ad88ff15b9d83479c0db9acf8c3c688e7a8b4f760405160405180910390a260019050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bbf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515611c375780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000808284019050838110151515611c4e57fe5b8091505092915050565b6000828211151515611c6657fe5b8183039050929150505600a165627a7a72305820c575ec2ec6849eeefcf50166668d53cbc63bd4d4ab2db3c20f601247ffd02ef20029

Deployed Bytecode Sourcemap

10406:1383:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10406:1383:0;10470:8;;;7170:288;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7170:288:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10624:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10624:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10624:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6477:201;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6477:201:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10372:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10372:26:0;;;;;;;;;;;;;;;;;;;;;;;5830:515;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5830:515:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10649:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10649:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10704:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10704:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10704:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9124:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9124:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6358:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6358:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5111:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5111:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;10677:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10677:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;10677:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9947:240;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9947:240:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5381:441;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5381:441:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11322:464;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11322:464:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7917:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7917:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6686:140;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6686:140:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8499:398;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8499:398:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4955:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4955:144:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7170:288;7270:7;7290:9;4886:5;;;;;;;;;;;4872:19;;:10;:19;;;;4868:60;;;4908:8;;;4868:60;7302:1;7290:13;;7314:117;7325:13;;:20;;7321:1;:24;7314:117;;;7361:38;7370:13;;7384:1;7370:16;;;;;;;;;;;;;;;;;7388:7;;7396:1;7388:10;;;;;;;;;;;;;;;7361:8;:38::i;:::-;;7418:1;7413:6;;;;7314:117;;;7448:1;7441:9;;7170:288;;;;;;;:::o;10624:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6477:201::-;6536:12;6593:6;6561:7;:19;6569:10;6561:19;;;;;;;;;;;;;;;:29;6581:8;6561:29;;;;;;;;;;;;;;;:38;;;;6631:8;6610:38;;6619:10;6610:38;;;6641:6;6610:38;;;;;;;;;;;;;;;;;;6666:4;6659:11;;6477:201;;;;:::o;10372:26::-;;;;:::o;5830:515::-;5904:12;5952:6;5933:8;:15;5942:5;5933:15;;;;;;;;;;;;;;;;:25;;:65;;;;;5992:6;5962:7;:14;5970:5;5962:14;;;;;;;;;;;;;;;:26;5977:10;5962:26;;;;;;;;;;;;;;;;:36;;5933:65;:79;;;;;6011:1;6002:6;:10;5933:79;5929:409;;;6045:25;6063:6;6045:8;:13;6054:3;6045:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;6029:8;:13;6038:3;6029:13;;;;;;;;;;;;;;;:41;;;;6103:27;6123:6;6103:8;:15;6112:5;6103:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;6085:8;:15;6094:5;6085:15;;;;;;;;;;;;;;;:45;;;;6174:38;6205:6;6174:7;:14;6182:5;6174:14;;;;;;;;;;;;;;;:26;6189:10;6174:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;6145:7;:14;6153:5;6145:14;;;;;;;;;;;;;;;:26;6160:10;6145:26;;;;;;;;;;;;;;;:67;;;;6243:3;6227:28;;6236:5;6227:28;;;6248:6;6227:28;;;;;;;;;;;;;;;;;;6277:4;6270:11;;;;5929:409;6321:5;6314:12;;5830:515;;;;;;:::o;10649:21::-;;;;;;;;;;;;;:::o;10704:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9124:272::-;9208:4;4886:5;;;;;;;;;;;4872:19;;:10;:19;;;;4868:60;;;4908:8;;;4868:60;9249:1;9230:21;;:7;:21;;;;9222:30;;;;;;;;9269:14;:23;9284:7;9269:23;;;;;;;;;;;;;;;;;;;;;;;;;9261:32;;;;;;;;9309:14;:23;9324:7;9309:23;;;;;;;;;;;;;;;;9302:30;;;;;;;;;;;9362:7;9346:24;;;;;;;;;;;;9386:4;9379:11;;9124:272;;;:::o;6358:111::-;6410:15;6445:8;:16;6454:6;6445:16;;;;;;;;;;;;;;;;6438:23;;6358:111;;;:::o;5111:78::-;5149:7;5176:5;;;;;;;;;;;5169:12;;5111:78;:::o;10677:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9947:240::-;4886:5;;;;;;;;;;;4872:19;;:10;:19;;;;4868:60;;;4908:8;;;4868:60;10054:25;10072:6;10054:8;:13;10063:3;10054:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;10038:8;:13;10047:3;10038:13;;;;;;;;;;;;;;;:41;;;;10108:27;10128:6;10108:8;:15;10117:5;10108:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;10090:8;:15;10099:5;10090:15;;;;;;;;;;;;;;;:45;;;;10170:3;10154:28;;10163:5;10154:28;;;10175:6;10154:28;;;;;;;;;;;;;;;;;;9947:240;;;:::o;5381:441::-;5436:12;5470:14;:26;5485:10;5470:26;;;;;;;;;;;;;;;;;;;;;;;;;5469:27;5461:36;;;;;;;;5536:6;5512:8;:20;5521:10;5512:20;;;;;;;;;;;;;;;;:30;;:44;;;;;5555:1;5546:6;:10;5512:44;5508:307;;;5596:32;5621:6;5596:8;:20;5605:10;5596:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;5573:8;:20;5582:10;5573:20;;;;;;;;;;;;;;;:55;;;;5659:25;5677:6;5659:8;:13;5668:3;5659:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;5643:8;:13;5652:3;5643:13;;;;;;;;;;;;;;;:41;;;;5720:3;5699:33;;5708:10;5699:33;;;5725:6;5699:33;;;;;;;;;;;;;;;;;;5754:4;5747:11;;;;5508:307;5798:5;5791:12;;5381:441;;;;;:::o;11322:464::-;11406:12;11463:6;11431:7;:19;11439:10;11431:19;;;;;;;;;;;;;;;:29;11451:8;11431:29;;;;;;;;;;;;;;;:38;;;;11501:8;11480:38;;11489:10;11480:38;;;11511:6;11480:38;;;;;;;;;;;;;;;;;;11596:8;:13;;11625:54;;;;;;;;;;;;;;;;;;;;;;;;11596:124;;;11683:10;11695:6;11703:4;11709:10;11596:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11596:124:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11595:125;11591:166;;;11737:8;;;11591:166;11774:4;11767:11;;11322:464;;;;;:::o;7917:272::-;8001:7;8021:9;8033:1;8021:13;;8045:117;8056:13;:20;8052:1;:24;8045:117;;;8092:38;8101:13;8115:1;8101:16;;;;;;;;;;;;;;;;;;8119:7;8127:1;8119:10;;;;;;;;;;;;;;;;;;8092:8;:38::i;:::-;;8149:1;8144:6;;;;8045:117;;;8179:1;8172:9;;7917:272;;;;;:::o;6686:140::-;6756:17;6793:7;:15;6801:6;6793:15;;;;;;;;;;;;;;;:25;6809:8;6793:25;;;;;;;;;;;;;;;;6786:32;;6686:140;;;;:::o;8499:398::-;8581:4;4886:5;;;;;;;;;;;4872:19;;:10;:19;;;;4868:60;;;4908:8;;;4868:60;8702:1;8683:21;;:7;:21;;;;8675:30;;;;;;;;8772:14;:23;8787:7;8772:23;;;;;;;;;;;;;;;;;;;;;;;;;8771:24;8763:33;;;;;;;;8831:4;8805:14;:23;8820:7;8805:23;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;8863:7;8849:22;;;;;;;;;;;;8887:4;8880:11;;8499:398;;;:::o;4955:144::-;4886:5;;;;;;;;;;;4872:19;;:10;:19;;;;4868:60;;;4908:8;;;4868:60;5045:1;5025:22;;:8;:22;;;;5021:71;;;5072:8;5064:5;;:16;;;;;;;;;;;;;;;;;;5021:71;4955:144;:::o;1798:142::-;1851:7;1871:9;1887:1;1883;:5;1871:17;;1911:1;1906;:6;;1899:14;;;;;;1931:1;1924:8;;1798:142;;;;;:::o;1596:118::-;1649:7;1681:1;1676;:6;;1669:14;;;;;;1705:1;1701;:5;1694:12;;1596:118;;;;:::o

Swarm Source

bzzr://c575ec2ec6849eeefcf50166668d53cbc63bd4d4ab2db3c20f601247ffd02ef2

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.