ETH Price: $3,264.36 (+0.32%)
Gas: 1 Gwei

Contract

0x21aE23B882A340A22282162086bC98D3E2B73018
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve198151232024-05-07 2:09:4781 days ago1715047787IN
0x21aE23B8...3E2B73018
0 ETH0.000113274.28277034
Approve197505902024-04-28 1:38:4790 days ago1714268327IN
0x21aE23B8...3E2B73018
0 ETH0.000154515.84226313
Approve195089452024-03-25 3:49:59124 days ago1711338599IN
0x21aE23B8...3E2B73018
0 ETH0.000410315.51382917
Approve195089432024-03-25 3:49:35124 days ago1711338575IN
0x21aE23B8...3E2B73018
0 ETH0.0004165115.74827773
Approve195089232024-03-25 3:45:35124 days ago1711338335IN
0x21aE23B8...3E2B73018
0 ETH0.0004008515.15635964
Approve195089212024-03-25 3:45:11124 days ago1711338311IN
0x21aE23B8...3E2B73018
0 ETH0.0003892514.71767617
Approve195089022024-03-25 3:41:23124 days ago1711338083IN
0x21aE23B8...3E2B73018
0 ETH0.0003729214.10046734
Approve195088782024-03-25 3:36:35124 days ago1711337795IN
0x21aE23B8...3E2B73018
0 ETH0.0003634113.74080627
Approve195088772024-03-25 3:36:23124 days ago1711337783IN
0x21aE23B8...3E2B73018
0 ETH0.0003715414.04817628
Approve195088562024-03-25 3:32:11124 days ago1711337531IN
0x21aE23B8...3E2B73018
0 ETH0.0003556113.44577685
Approve195088362024-03-25 3:27:59124 days ago1711337279IN
0x21aE23B8...3E2B73018
0 ETH0.0003850814.5601183
Approve195088352024-03-25 3:27:47124 days ago1711337267IN
0x21aE23B8...3E2B73018
0 ETH0.0003682513.92355714
Approve195088212024-03-25 3:24:59124 days ago1711337099IN
0x21aE23B8...3E2B73018
0 ETH0.0004028515.2319199
Approve195087882024-03-25 3:18:23124 days ago1711336703IN
0x21aE23B8...3E2B73018
0 ETH0.0003691213.95653152
Approve195084462024-03-25 2:08:23124 days ago1711332503IN
0x21aE23B8...3E2B73018
0 ETH0.0004052315.32197185
Approve195052972024-03-24 15:30:11124 days ago1711294211IN
0x21aE23B8...3E2B73018
0 ETH0.0005216919.72532857
Approve191603742024-02-05 6:44:47173 days ago1707115487IN
0x21aE23B8...3E2B73018
0 ETH0.0003703914.00468803
Approve191603582024-02-05 6:41:35173 days ago1707115295IN
0x21aE23B8...3E2B73018
0 ETH0.0003711714.03401836
Approve191603412024-02-05 6:38:11173 days ago1707115091IN
0x21aE23B8...3E2B73018
0 ETH0.0003089711.68245395
Approve191603172024-02-05 6:33:11173 days ago1707114791IN
0x21aE23B8...3E2B73018
0 ETH0.000299611.32824351
Approve191603012024-02-05 6:29:59173 days ago1707114599IN
0x21aE23B8...3E2B73018
0 ETH0.0003211312.14194836
Approve191603002024-02-05 6:29:47173 days ago1707114587IN
0x21aE23B8...3E2B73018
0 ETH0.0003128311.82830607
Approve191602522024-02-05 6:20:11173 days ago1707114011IN
0x21aE23B8...3E2B73018
0 ETH0.0003554313.43901431
Approve191602352024-02-05 6:16:47173 days ago1707113807IN
0x21aE23B8...3E2B73018
0 ETH0.0002821310.66762596
Approve191602292024-02-05 6:15:35173 days ago1707113735IN
0x21aE23B8...3E2B73018
0 ETH0.0002979311.26489183
View all transactions

Latest 3 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
42032902017-08-25 19:08:562527 days ago1503688136
0x21aE23B8...3E2B73018
0.01 ETH
41451632017-08-11 17:16:562541 days ago1502471816
0x21aE23B8...3E2B73018
0.01 ETH
41417232017-08-10 20:52:022542 days ago1502398322
0x21aE23B8...3E2B73018
0.001 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LookRevToken

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-08-10
*/

pragma solidity ^0.4.11;

/*
* LOK 'LookRev Token' crowdfunding contract
*
* Refer to https://lookrev.com/ for further information.
* 
* Developer: LookRev (TM) 2017.
*
* Audited by BokkyPooBah / Bok Consulting Pty Ltd 2017.
* 
* The MIT License.
*
*/

/*
 * ERC20 Token Standard
 * https://github.com/ethereum/EIPs/issues/20
 *
 */
contract ERC20 {
  uint public totalSupply;
  function balanceOf(address _who) constant returns (uint balance);
  function allowance(address _owner, address _spender) constant returns (uint remaining);

  function transfer(address _to, uint _value) returns (bool ok);
  function transferFrom(address _from, address _to, uint _value) returns (bool ok);
  function approve(address _spender, uint _value) returns (bool ok);
  event Transfer(address indexed _from, address indexed _to, uint _value);
  event Approval(address indexed _owner, address indexed _spender, uint _value);
}

/**
 * Math operations with safety checks
 */
contract SafeMath {
  function safeAdd(uint a, uint b) internal returns (uint) {
    uint c = a + b;
    assert(c >= a && c >= b);
    return c;
  }

  function safeSub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    uint c = a - b;
    assert(c <= a);
    return c;
  }
}

contract Ownable {
  address public owner;
  address public newOwner;

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

  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address _newOwner) onlyOwner {
    if (_newOwner != address(0)) {
      newOwner = _newOwner;
    }
  }

  function acceptOwnership() {
    require(msg.sender == newOwner);
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
  event OwnershipTransferred(address indexed _from, address indexed _to);
}

/**
 * Standard ERC20 token with Short Hand Attack and approve() race condition mitigation.
 *
 * Based on code by InvestSeed
 */
contract StandardToken is ERC20, Ownable, SafeMath {

    mapping (address => uint) balances;
    mapping (address => mapping (address => uint)) allowed;

    function balanceOf(address _owner) constant returns (uint balance) {
        return balances[_owner];
    }

    function transfer(address _to, uint _amount) returns (bool success) {
        // avoid wasting gas on 0 token transfers
        if(_amount == 0) return true;

        if (balances[msg.sender] >= _amount
            && _amount > 0
            && balances[_to] + _amount > balances[_to]) {
            balances[msg.sender] = safeSub(balances[msg.sender],_amount);
            balances[_to] = safeAdd(balances[_to],_amount);
            Transfer(msg.sender, _to, _amount);
            return true;
        } else {
            return false;
        }
    }

    function transferFrom(address _from, address _to, uint _amount) returns (bool success) {
        // avoid wasting gas on 0 token transfers
        if(_amount == 0) return true;

        if (balances[_from] >= _amount
            && allowed[_from][msg.sender] >= _amount
            && _amount > 0
            && balances[_to] + _amount > balances[_to]) {
            balances[_from] = safeSub(balances[_from],_amount);
            allowed[_from][msg.sender] = safeSub(allowed[_from][msg.sender],_amount);
            balances[_to] = safeAdd(balances[_to],_amount);
            Transfer(_from, _to, _amount);
            return true;
        } else {
            return false;
        }
    }

    function approve(address _spender, uint _value) returns (bool success) {

        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) {
           return false;
        }
        if (balances[msg.sender] < _value) {
            return false;
        }
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
     }

     function allowance(address _owner, address _spender) constant returns (uint remaining) {
       return allowed[_owner][_spender];
     }
}

/**
 * LookRev token initial offering.
 *
 * Token supply is created in the token contract creation and allocated to owner.
 *
 */
contract LookRevToken is StandardToken {

    /*
    *  Token meta data
    */
    string public constant name = "LookRev";
    string public constant symbol = "LOK";
    uint8 public constant decimals = 18;
    string public VERSION = 'LOK1.0';
    bool public finalised = false;
    
    address public wallet = 0x0;

    mapping(address => bool) public kycRequired;

    // Start - Wednesday, August 30, 2017 10:00:00 AM GMT-07:00 DST
    // End - Saturday, September 30, 2017 10:00:00 AM GMT-07:00 DST
    uint public constant START_DATE = 1504112400;
    uint public constant END_DATE = 1506790800;

    uint public constant DECIMALSFACTOR = 10**uint(decimals);
    uint public constant TOKENS_SOFT_CAP =   10000000 * DECIMALSFACTOR;
    uint public constant TOKENS_HARD_CAP = 2000000000 * DECIMALSFACTOR;
    uint public constant TOKENS_TOTAL =    5000000000 * DECIMALSFACTOR;
    uint public initialSupply = 10000000 * DECIMALSFACTOR;

    // 1 KETHER = 2,400,000 tokens
    // 1 ETH = 2,400 tokens
    uint public tokensPerKEther = 2400000;
    uint public CONTRIBUTIONS_MIN = 0 ether;
    uint public CONTRIBUTIONS_MAX = 0 ether;
    uint public constant KYC_THRESHOLD = 1000000 * DECIMALSFACTOR;

    function LookRevToken() {
      owner = msg.sender;
      wallet = owner;
      totalSupply = initialSupply;
      balances[owner] = totalSupply;
    }

   // LookRev can change the crowdsale wallet address
   function setWallet(address _wallet) onlyOwner {
        wallet = _wallet;
        WalletUpdated(wallet);
    }
    event WalletUpdated(address newWallet);

    // Can only be set before the start of the crowdsale
    // Owner can change the rate before the crowdsale starts
    function setTokensPerKEther(uint _tokensPerKEther) onlyOwner {
        require(now < START_DATE);
        require(_tokensPerKEther > 0);
        tokensPerKEther = _tokensPerKEther;
        TokensPerKEtherUpdated(tokensPerKEther);
    }
    event TokensPerKEtherUpdated(uint tokensPerKEther);

    // Accept ethers to buy tokens during the crowdsale
    function () payable {
        proxyPayment(msg.sender);
    }

    // Accept ethers and exchanges to purchase tokens on behalf of user
    // msg.value (in units of wei)
    function proxyPayment(address participant) payable {

        require(!finalised);

        require(now <= END_DATE);

        require(msg.value > CONTRIBUTIONS_MIN);
        require(CONTRIBUTIONS_MAX == 0 || msg.value < CONTRIBUTIONS_MAX);

         // Calculate number of tokens for contributed ETH
         // `18` is the ETH decimals
         // `- decimals` is the token decimals
         uint tokens = msg.value * tokensPerKEther / 10**uint(18 - decimals + 3);

         // Check if the hard cap will be exceeded
         require(totalSupply + tokens <= TOKENS_HARD_CAP);

         // Add tokens purchased to account's balance and total supply
         balances[participant] = safeAdd(balances[participant],tokens);
         totalSupply = safeAdd(totalSupply,tokens);

         // Log the tokens purchased 
         Transfer(0x0, participant, tokens);
         // - buyer = participant
         // - ethers = msg.value
         // - participantTokenBalance = balances[participant]
         // - tokens = tokens
         // - newTotalSupply = totalSupply
         // - tokensPerKEther = tokensPerKEther
         TokensBought(participant, msg.value, balances[participant], tokens,
              totalSupply, tokensPerKEther);

         if (msg.value > KYC_THRESHOLD) {
             // KYC verification required before participant can transfer the tokens
             kycRequired[participant] = true;
         }

         // Transfer the contributed ethers to the crowdsale wallet
         // throw is deprecated starting from Ethereum v0.9.0
         wallet.transfer(msg.value);
    }

    event TokensBought(address indexed buyer, uint ethers, 
        uint participantTokenBalance, uint tokens, uint newTotalSupply, 
        uint tokensPerKEther);

    function finalise() onlyOwner {
        // Can only finalise if raised > soft cap or after the end date
        require(totalSupply >= TOKENS_SOFT_CAP || now > END_DATE);

        require(!finalised);

        finalised = true;
    }

   function addPrecommitment(address participant, uint balance) onlyOwner {
        require(now < START_DATE);
        require(balance > 0);
        balances[participant] = safeAdd(balances[participant],balance);
        totalSupply = safeAdd(totalSupply,balance);
        Transfer(0x0, participant, balance);
        PrecommitmentAdded(participant, balance);
    }
    event PrecommitmentAdded(address indexed participant, uint balance);

    function transfer(address _to, uint _amount) returns (bool success) {
        // Cannot transfer before crowdsale ends
        // Allow awarding team members before, during and after crowdsale
        require(finalised || msg.sender == owner);
        require(!kycRequired[msg.sender]);
        return super.transfer(_to, _amount);
    }

   function transferFrom(address _from, address _to, uint _amount) returns (bool success)
    {
        // Cannot transfer before crowdsale ends
        require(finalised);
        require(!kycRequired[_from]);
        return super.transferFrom(_from, _to, _amount);
    }

    function kycVerify(address participant, bool _required) onlyOwner {
        kycRequired[participant] = _required;
        KycVerified(participant, kycRequired[participant]);
    }
    event KycVerified(address indexed participant, bool required);

    // Any account can burn _from's tokens as long as the _from account has
    // approved the _amount to be burnt using approve(0x0, _amount)
    function burnFrom(address _from, uint _amount) returns (bool success) {
        require(totalSupply >= _amount);

        if (balances[_from] >= _amount
            && allowed[_from][0x0] >= _amount
            && _amount > 0
            && balances[0x0] + _amount > balances[0x0]
        ) {
            balances[_from] = safeSub(balances[_from],_amount);
            balances[0x0] = safeAdd(balances[0x0],_amount);
            allowed[_from][0x0] = safeSub(allowed[_from][0x0],_amount);
            totalSupply = safeSub(totalSupply,_amount);
            Transfer(_from, 0x0, _amount);
            return true;
        } else {
            return false;
        }
    }

    // LookRev can transfer out any accidentally sent ERC20 tokens
    function transferAnyERC20Token(address tokenAddress, uint amount) onlyOwner returns (bool success) 
    {
        return ERC20(tokenAddress).transfer(owner, amount);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_TOTAL","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokensPerKEther","type":"uint256"}],"name":"setTokensPerKEther","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"participant","type":"address"},{"name":"_required","type":"bool"}],"name":"kycVerify","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"finalised","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"KYC_THRESHOLD","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"CONTRIBUTIONS_MIN","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"START_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"participant","type":"address"},{"name":"balance","type":"uint256"}],"name":"addPrecommitment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_SOFT_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"END_DATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_amount","type":"uint256"}],"name":"burnFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"DECIMALSFACTOR","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"CONTRIBUTIONS_MAX","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalise","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensPerKEther","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"kycRequired","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"participant","type":"address"}],"name":"proxyPayment","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"VERSION","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newWallet","type":"address"}],"name":"WalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokensPerKEther","type":"uint256"}],"name":"TokensPerKEtherUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"ethers","type":"uint256"},{"indexed":false,"name":"participantTokenBalance","type":"uint256"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"newTotalSupply","type":"uint256"},{"indexed":false,"name":"tokensPerKEther","type":"uint256"}],"name":"TokensBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"participant","type":"address"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"PrecommitmentAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"participant","type":"address"},{"indexed":false,"name":"required","type":"bool"}],"name":"KycVerified","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","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"}]

60606040526040805190810160405280600681526020017f4c4f4b312e30000000000000000000000000000000000000000000000000000081525060059080519060200190620000519291906200023c565b506000600660006101000a81548160ff0219169083151502179055506000600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260ff16600a0a629896800260085562249f006009556000600a556000600b553415620000dc57600080fd5b5b5b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b33600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060085460008190555060005460036000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b620002eb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027f57805160ff1916838001178555620002b0565b82800160010185558215620002b0579182015b82811115620002af57825182559160200191906001019062000292565b5b509050620002bf9190620002c3565b5090565b620002e891905b80821115620002e4576000816000905550600101620002ca565b5090565b90565b61286480620002fb6000396000f300606060405236156101c0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101cd578063095ea7b31461025c5780630b743021146102b65780630e9d02cc146102df57806318160ddd146103025780631e9dd9271461032b578063214bb60f1461036f57806323b872dd1461039c5780632d133eee146104155780632da13d5e1461043e578063313ce56714610467578063372c653314610496578063378dc3dc146104bf5780633818d907146104e85780633a9f967e1461052a578063521eb27314610553578063545599ff146105a857806370a08231146105d157806379ba50971461061e57806379cc679014610633578063831a17541461068d5780638bc04eb7146106b65780638da5cb5b146106df57806393fea1841461073457806395d89b411461075d578063a4399263146107ec578063a5bc770c14610801578063a9059cbb1461082a578063b7121da414610884578063d4ee1d90146108d5578063dc39d06d1461092a578063dd62ed3e14610984578063deaa59df146109f0578063f2fde38b14610a29578063f48c305414610a62578063ffa1ad7414610a90575b5b6101ca33610b1f565b5b005b34156101d857600080fd5b6101e0610e2e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102215780820151818401525b602081019050610205565b50505050905090810190601f16801561024e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561026757600080fd5b61029c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e67565b604051808215151515815260200191505060405180910390f35b34156102c157600080fd5b6102c9611045565b6040518082815260200191505060405180910390f35b34156102ea57600080fd5b6103006004808035906020019091905050611057565b005b341561030d57600080fd5b610315611119565b6040518082815260200191505060405180910390f35b341561033657600080fd5b61036d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190505061111f565b005b341561037a57600080fd5b610382611276565b604051808215151515815260200191505060405180910390f35b34156103a757600080fd5b6103fb600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611289565b604051808215151515815260200191505060405180910390f35b341561042057600080fd5b610428611314565b6040518082815260200191505060405180910390f35b341561044957600080fd5b610451611324565b6040518082815260200191505060405180910390f35b341561047257600080fd5b61047a61132a565b604051808260ff1660ff16815260200191505060405180910390f35b34156104a157600080fd5b6104a961132f565b6040518082815260200191505060405180910390f35b34156104ca57600080fd5b6104d2611337565b6040518082815260200191505060405180910390f35b34156104f357600080fd5b610528600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061133d565b005b341561053557600080fd5b61053d6114fc565b6040518082815260200191505060405180910390f35b341561055e57600080fd5b61056661150c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105b357600080fd5b6105bb611532565b6040518082815260200191505060405180910390f35b34156105dc57600080fd5b610608600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061153a565b6040518082815260200191505060405180910390f35b341561062957600080fd5b610631611584565b005b341561063e57600080fd5b610673600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506116e4565b604051808215151515815260200191505060405180910390f35b341561069857600080fd5b6106a0611a5d565b6040518082815260200191505060405180910390f35b34156106c157600080fd5b6106c9611a6e565b6040518082815260200191505060405180910390f35b34156106ea57600080fd5b6106f2611a79565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561073f57600080fd5b610747611a9f565b6040518082815260200191505060405180910390f35b341561076857600080fd5b610770611aa5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107b15780820151818401525b602081019050610795565b50505050905090810190601f1680156107de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107f757600080fd5b6107ff611ade565b005b341561080c57600080fd5b610814611ba0565b6040518082815260200191505060405180910390f35b341561083557600080fd5b61086a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611ba6565b604051808215151515815260200191505060405180910390f35b341561088f57600080fd5b6108bb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c87565b604051808215151515815260200191505060405180910390f35b34156108e057600080fd5b6108e8611ca7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561093557600080fd5b61096a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611ccd565b604051808215151515815260200191505060405180910390f35b341561098f57600080fd5b6109da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e1d565b6040518082815260200191505060405180910390f35b34156109fb57600080fd5b610a27600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ea5565b005b3415610a3457600080fd5b610a60600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611fcc565b005b610a8e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b1f565b005b3415610a9b57600080fd5b610aa36120a5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ae45780820151818401525b602081019050610ac8565b50505050905090810190601f168015610b115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600660009054906101000a900460ff16151515610b3d57600080fd5b6359cfcd904211151515610b5057600080fd5b600a5434111515610b6057600080fd5b6000600b541480610b725750600b5434105b1515610b7d57600080fd5b6003601280030160ff16600a0a6009543402811515610b9857fe5b049050601260ff16600a0a637735940002816000540111151515610bbb57600080fd5b610c04600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612143565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5360005482612143565b6000819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167f6a7381bdc8f4e7ed3c0f0c299382777bde88a65f0c27f670235401d15445463034600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484600054600954604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a2601260ff16600a0a620f424002341115610dc7576001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610e2957600080fd5b5b5050565b6040805190810160405280600781526020017f4c6f6f6b5265760000000000000000000000000000000000000000000000000081525081565b6000808214158015610ef657506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610f04576000905061103f565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f54576000905061103f565b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b601260ff16600a0a64012a05f2000281565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110b357600080fd5b6359a6ef10421015156110c557600080fd5b6000811115156110d457600080fd5b806009819055507fee386bebbe46d39825c2b93313aa1ab1dc57d4774cac81c6debb8c611c9227ab6009546040518082815260200191505060405180910390a15b5b50565b60005481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561117b57600080fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f56630bce62637c61f75690e6d06fae1782bcb5208fa536eff58b0ff669d0d5dc600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16604051808215151515815260200191505060405180910390a25b5b5050565b600660009054906101000a900460ff1681565b6000600660009054906101000a900460ff1615156112a657600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156112ff57600080fd5b61130a84848461216e565b90505b9392505050565b601260ff16600a0a620f42400281565b600a5481565b601281565b6359a6ef1081565b60085481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561139957600080fd5b6359a6ef10421015156113ab57600080fd5b6000811115156113ba57600080fd5b611403600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612143565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061145260005482612143565b6000819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167f7491ef60ef15234f7870c9adc8fb11274a09d6f0d092d2a280e8b75a0c42e12f826040518082815260200191505060405180910390a25b5b5050565b601260ff16600a0a629896800281565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6359cfcd9081565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b565b600081600054101515156116f757600080fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156117ac575081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156117b85750600082115b80156118175750600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15611a4d57611865600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118db600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612143565b600360008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611978600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ee60005483612585565b60008190555060008373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611a57565b60009050611a57565b5b92915050565b601260ff16600a0a63773594000281565b601260ff16600a0a81565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6040805190810160405280600381526020017f4c4f4b000000000000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b3a57600080fd5b601260ff16600a0a6298968002600054101580611b5a57506359cfcd9042115b1515611b6557600080fd5b600660009054906101000a900460ff16151515611b8157600080fd5b6001600660006101000a81548160ff0219169083151502179055505b5b565b60095481565b6000600660009054906101000a900460ff1680611c105750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c1b57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c7457600080fd5b611c7e83836125b0565b90505b92915050565b60076020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d2b57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611df857600080fd5b6102c65a03f11515611e0957600080fd5b5050506040518051905090505b5b92915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f0157600080fd5b80600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4edbfac5b40fe46ac1af1fd222b224b38cfeeb9e21bd4fc6344526c245f7549b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561202857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156120a05780600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b50565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561213b5780601f106121105761010080835404028352916020019161213b565b820191906000526020600020905b81548152906001019060200180831161211e57829003601f168201915b505050505081565b600080828401905083811015801561215b5750828110155b151561216357fe5b8091505b5092915050565b600080821415612181576001905061257e565b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561224c575081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156122585750600082115b80156122e35750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b1561257457612331600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123fa600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c3600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612143565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061257e565b6000905061257e565b5b9392505050565b60008083831115151561259457fe5b82840390508381111515156125a557fe5b8091505b5092915050565b6000808214156125c35760019050612832565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156126125750600082115b801561269d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15612828576126eb600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612777600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612143565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050612832565b60009050612832565b5b929150505600a165627a7a7230582059c287b720e7bf795034788cfbc73b3ddc9835e6b04f9a3fe2fec1b69f4c3c690029

Deployed Bytecode

0x606060405236156101c0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101cd578063095ea7b31461025c5780630b743021146102b65780630e9d02cc146102df57806318160ddd146103025780631e9dd9271461032b578063214bb60f1461036f57806323b872dd1461039c5780632d133eee146104155780632da13d5e1461043e578063313ce56714610467578063372c653314610496578063378dc3dc146104bf5780633818d907146104e85780633a9f967e1461052a578063521eb27314610553578063545599ff146105a857806370a08231146105d157806379ba50971461061e57806379cc679014610633578063831a17541461068d5780638bc04eb7146106b65780638da5cb5b146106df57806393fea1841461073457806395d89b411461075d578063a4399263146107ec578063a5bc770c14610801578063a9059cbb1461082a578063b7121da414610884578063d4ee1d90146108d5578063dc39d06d1461092a578063dd62ed3e14610984578063deaa59df146109f0578063f2fde38b14610a29578063f48c305414610a62578063ffa1ad7414610a90575b5b6101ca33610b1f565b5b005b34156101d857600080fd5b6101e0610e2e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102215780820151818401525b602081019050610205565b50505050905090810190601f16801561024e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561026757600080fd5b61029c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e67565b604051808215151515815260200191505060405180910390f35b34156102c157600080fd5b6102c9611045565b6040518082815260200191505060405180910390f35b34156102ea57600080fd5b6103006004808035906020019091905050611057565b005b341561030d57600080fd5b610315611119565b6040518082815260200191505060405180910390f35b341561033657600080fd5b61036d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190505061111f565b005b341561037a57600080fd5b610382611276565b604051808215151515815260200191505060405180910390f35b34156103a757600080fd5b6103fb600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611289565b604051808215151515815260200191505060405180910390f35b341561042057600080fd5b610428611314565b6040518082815260200191505060405180910390f35b341561044957600080fd5b610451611324565b6040518082815260200191505060405180910390f35b341561047257600080fd5b61047a61132a565b604051808260ff1660ff16815260200191505060405180910390f35b34156104a157600080fd5b6104a961132f565b6040518082815260200191505060405180910390f35b34156104ca57600080fd5b6104d2611337565b6040518082815260200191505060405180910390f35b34156104f357600080fd5b610528600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061133d565b005b341561053557600080fd5b61053d6114fc565b6040518082815260200191505060405180910390f35b341561055e57600080fd5b61056661150c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105b357600080fd5b6105bb611532565b6040518082815260200191505060405180910390f35b34156105dc57600080fd5b610608600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061153a565b6040518082815260200191505060405180910390f35b341561062957600080fd5b610631611584565b005b341561063e57600080fd5b610673600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506116e4565b604051808215151515815260200191505060405180910390f35b341561069857600080fd5b6106a0611a5d565b6040518082815260200191505060405180910390f35b34156106c157600080fd5b6106c9611a6e565b6040518082815260200191505060405180910390f35b34156106ea57600080fd5b6106f2611a79565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561073f57600080fd5b610747611a9f565b6040518082815260200191505060405180910390f35b341561076857600080fd5b610770611aa5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107b15780820151818401525b602081019050610795565b50505050905090810190601f1680156107de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107f757600080fd5b6107ff611ade565b005b341561080c57600080fd5b610814611ba0565b6040518082815260200191505060405180910390f35b341561083557600080fd5b61086a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611ba6565b604051808215151515815260200191505060405180910390f35b341561088f57600080fd5b6108bb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c87565b604051808215151515815260200191505060405180910390f35b34156108e057600080fd5b6108e8611ca7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561093557600080fd5b61096a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611ccd565b604051808215151515815260200191505060405180910390f35b341561098f57600080fd5b6109da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e1d565b6040518082815260200191505060405180910390f35b34156109fb57600080fd5b610a27600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ea5565b005b3415610a3457600080fd5b610a60600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611fcc565b005b610a8e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b1f565b005b3415610a9b57600080fd5b610aa36120a5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610ae45780820151818401525b602081019050610ac8565b50505050905090810190601f168015610b115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6000600660009054906101000a900460ff16151515610b3d57600080fd5b6359cfcd904211151515610b5057600080fd5b600a5434111515610b6057600080fd5b6000600b541480610b725750600b5434105b1515610b7d57600080fd5b6003601280030160ff16600a0a6009543402811515610b9857fe5b049050601260ff16600a0a637735940002816000540111151515610bbb57600080fd5b610c04600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612143565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5360005482612143565b6000819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167f6a7381bdc8f4e7ed3c0f0c299382777bde88a65f0c27f670235401d15445463034600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484600054600954604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a2601260ff16600a0a620f424002341115610dc7576001600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610e2957600080fd5b5b5050565b6040805190810160405280600781526020017f4c6f6f6b5265760000000000000000000000000000000000000000000000000081525081565b6000808214158015610ef657506000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610f04576000905061103f565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610f54576000905061103f565b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b601260ff16600a0a64012a05f2000281565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110b357600080fd5b6359a6ef10421015156110c557600080fd5b6000811115156110d457600080fd5b806009819055507fee386bebbe46d39825c2b93313aa1ab1dc57d4774cac81c6debb8c611c9227ab6009546040518082815260200191505060405180910390a15b5b50565b60005481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561117b57600080fd5b80600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f56630bce62637c61f75690e6d06fae1782bcb5208fa536eff58b0ff669d0d5dc600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16604051808215151515815260200191505060405180910390a25b5b5050565b600660009054906101000a900460ff1681565b6000600660009054906101000a900460ff1615156112a657600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515156112ff57600080fd5b61130a84848461216e565b90505b9392505050565b601260ff16600a0a620f42400281565b600a5481565b601281565b6359a6ef1081565b60085481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561139957600080fd5b6359a6ef10421015156113ab57600080fd5b6000811115156113ba57600080fd5b611403600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612143565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061145260005482612143565b6000819055508173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a38173ffffffffffffffffffffffffffffffffffffffff167f7491ef60ef15234f7870c9adc8fb11274a09d6f0d092d2a280e8b75a0c42e12f826040518082815260200191505060405180910390a25b5b5050565b601260ff16600a0a629896800281565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6359cfcd9081565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b565b600081600054101515156116f757600080fd5b81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156117ac575081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156117b85750600082115b80156118175750600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15611a4d57611865600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118db600360008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612143565b600360008073ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611978600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008073ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119ee60005483612585565b60008190555060008373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611a57565b60009050611a57565b5b92915050565b601260ff16600a0a63773594000281565b601260ff16600a0a81565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b6040805190810160405280600381526020017f4c4f4b000000000000000000000000000000000000000000000000000000000081525081565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b3a57600080fd5b601260ff16600a0a6298968002600054101580611b5a57506359cfcd9042115b1515611b6557600080fd5b600660009054906101000a900460ff16151515611b8157600080fd5b6001600660006101000a81548160ff0219169083151502179055505b5b565b60095481565b6000600660009054906101000a900460ff1680611c105750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611c1b57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c7457600080fd5b611c7e83836125b0565b90505b92915050565b60076020528060005260406000206000915054906101000a900460ff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d2b57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611df857600080fd5b6102c65a03f11515611e0957600080fd5b5050506040518051905090505b5b92915050565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f0157600080fd5b80600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4edbfac5b40fe46ac1af1fd222b224b38cfeeb9e21bd4fc6344526c245f7549b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b5b50565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561202857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156120a05780600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b50565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561213b5780601f106121105761010080835404028352916020019161213b565b820191906000526020600020905b81548152906001019060200180831161211e57829003601f168201915b505050505081565b600080828401905083811015801561215b5750828110155b151561216357fe5b8091505b5092915050565b600080821415612181576001905061257e565b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561224c575081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156122585750600082115b80156122e35750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b1561257457612331600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123fa600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124c3600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612143565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905061257e565b6000905061257e565b5b9392505050565b60008083831115151561259457fe5b82840390508381111515156125a557fe5b8091505b5092915050565b6000808214156125c35760019050612832565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101580156126125750600082115b801561269d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15612828576126eb600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612585565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612777600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612143565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050612832565b60009050612832565b5b929150505600a165627a7a7230582059c287b720e7bf795034788cfbc73b3ddc9835e6b04f9a3fe2fec1b69f4c3c690029

Swarm Source

bzzr://59c287b720e7bf795034788cfbc73b3ddc9835e6b04f9a3fe2fec1b69f4c3c69

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  ]
[ 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.