ETH Price: $3,441.96 (-4.39%)
Gas: 27 Gwei

Contract

0x390D6673c1FA9DBb8000dB1AE89252b7d531Ab75
 
Transaction Hash
Method
Block
From
To
Value
Transfer166199182023-02-13 12:44:23399 days ago1676292263IN
0x390D6673...7d531Ab75
0 ETH0.0006303619.66948459
Transfer120917962021-03-23 0:12:321092 days ago1616458352IN
0x390D6673...7d531Ab75
0 ETH0.00685828183.75
Approve112438432020-11-12 16:26:221222 days ago1605198382IN
0x390D6673...7d531Ab75
0 ETH0.0021763248
Transfer112345312020-11-11 5:54:281223 days ago1605074068IN
0x390D6673...7d531Ab75
0 ETH0.0012597433.73
Transfer105772042020-08-02 0:46:031325 days ago1596329163IN
0x390D6673...7d531Ab75
0 ETH0.0021862658.5
Approve99588812020-04-28 4:47:201420 days ago1588049240IN
0x390D6673...7d531Ab75
0 ETH0.000271966
Approve99184032020-04-21 22:05:591427 days ago1587506759IN
0x390D6673...7d531Ab75
0 ETH0.000090052
Transfer98764042020-04-15 10:16:121433 days ago1586945772IN
0x390D6673...7d531Ab75
0 ETH0.000186685
Approve98170602020-04-06 6:59:321442 days ago1586156372IN
0x390D6673...7d531Ab75
0 ETH0.000225145
Transfer97719632020-03-30 8:35:021449 days ago1585557302IN
0x390D6673...7d531Ab75
0 ETH0.000046652.09000012
Transfer97719632020-03-30 8:35:021449 days ago1585557302IN
0x390D6673...7d531Ab75
0 ETH0.000046652.09000012
Transfer97718562020-03-30 8:05:391449 days ago1585555539IN
0x390D6673...7d531Ab75
0 ETH0.000046652.09000012
Transfer97718032020-03-30 7:54:161449 days ago1585554856IN
0x390D6673...7d531Ab75
0 ETH0.000046652.09000012
Transfer97716222020-03-30 7:12:181449 days ago1585552338IN
0x390D6673...7d531Ab75
0 ETH0.000036831.65000012
Approve97551542020-03-27 18:46:551452 days ago1585334815IN
0x390D6673...7d531Ab75
0 ETH0.000090052
Transfer96987082020-03-18 23:49:471461 days ago1584575387IN
0x390D6673...7d531Ab75
0 ETH0.000037331
Approve96952442020-03-18 11:07:211461 days ago1584529641IN
0x390D6673...7d531Ab75
0 ETH0.000290176.4
Approve96915712020-03-17 21:37:001462 days ago1584481020IN
0x390D6673...7d531Ab75
0 ETH0.000097482.15
Transfer96681572020-03-14 7:20:461465 days ago1584170446IN
0x390D6673...7d531Ab75
0 ETH0.000149394
Transfer96587772020-03-12 20:11:081467 days ago1584043868IN
0x390D6673...7d531Ab75
0 ETH0.0013816563.00000123
Approve96465952020-03-10 23:00:571469 days ago1583881257IN
0x390D6673...7d531Ab75
0 ETH0.000120152.65
Transfer96257352020-03-07 18:02:531472 days ago1583604173IN
0x390D6673...7d531Ab75
0 ETH0.000061732.76562514
Approve95859922020-03-01 15:18:101478 days ago1583075890IN
0x390D6673...7d531Ab75
0 ETH0.000188164.15
Transfer95575362020-02-26 6:37:181482 days ago1582699038IN
0x390D6673...7d531Ab75
0 ETH0.000074692
Transfer95533282020-02-25 15:06:021483 days ago1582643162IN
0x390D6673...7d531Ab75
0 ETH0.000074692
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Txn Hash Block From To Value
66435722018-11-04 19:03:331961 days ago1541358213
0x390D6673...7d531Ab75
0.001 ETH
66005462018-10-28 17:40:531968 days ago1540748453
0x390D6673...7d531Ab75
0.001 ETH
65814252018-10-25 14:42:291971 days ago1540478549
0x390D6673...7d531Ab75
0.0002 ETH
65476282018-10-20 2:13:551977 days ago1540001635
0x390D6673...7d531Ab75
0.0005 ETH
64688472018-10-07 6:49:221989 days ago1538894962
0x390D6673...7d531Ab75
0.0005 ETH
63708332018-09-21 5:55:512005 days ago1537509351
0x390D6673...7d531Ab75
0.05 ETH
62873222018-09-07 8:42:512019 days ago1536309771
0x390D6673...7d531Ab75
0.005 ETH
62769662018-09-05 15:18:282021 days ago1536160708
0x390D6673...7d531Ab75
0.005 ETH
62710522018-09-04 15:36:512022 days ago1536075411
0x390D6673...7d531Ab75
0.0000001 ETH
62687512018-09-04 6:08:372022 days ago1536041317
0x390D6673...7d531Ab75
0.0005 ETH
62657642018-09-03 18:09:032023 days ago1535998143
0x390D6673...7d531Ab75
0.005 ETH
61819802018-08-20 15:01:072037 days ago1534777267
0x390D6673...7d531Ab75
0.005 ETH
60637452018-07-31 15:04:342057 days ago1533049474
0x390D6673...7d531Ab75
0.002 ETH
60637272018-07-31 15:00:252057 days ago1533049225
0x390D6673...7d531Ab75
0.002 ETH
60624832018-07-31 10:02:332057 days ago1533031353
0x390D6673...7d531Ab75
0.002 ETH
60590782018-07-30 19:57:112058 days ago1532980631
0x390D6673...7d531Ab75
0.002 ETH
60551802018-07-30 4:21:242058 days ago1532924484
0x390D6673...7d531Ab75
0.01 ETH
60507442018-07-29 10:34:022059 days ago1532860442
0x390D6673...7d531Ab75
0.005 ETH
60503262018-07-29 8:52:162059 days ago1532854336
0x390D6673...7d531Ab75
0.005 ETH
60433562018-07-28 5:04:222060 days ago1532754262
0x390D6673...7d531Ab75
0.005 ETH
60331272018-07-26 11:23:102062 days ago1532604190
0x390D6673...7d531Ab75
0.005 ETH
59969812018-07-20 8:15:052068 days ago1532074505
0x390D6673...7d531Ab75
0.005 ETH
59785562018-07-17 4:12:372071 days ago1531800757
0x390D6673...7d531Ab75
0.005 ETH
59751372018-07-16 14:15:372072 days ago1531750537
0x390D6673...7d531Ab75
0.03 ETH
59751302018-07-16 14:14:382072 days ago1531750478
0x390D6673...7d531Ab75
0.01 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KEACoin

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-05-05
*/

pragma solidity ^0.4.19;
// Token name: KEA Coin
// Symbol: KEA
// Decimals: 8
// Twitter : @KEACoin

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }

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

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

contract ForeignToken {
    function balanceOf(address _owner) constant public returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
}

contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public constant returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

interface Token { 
    function distr(address _to, uint256 _value) public returns (bool);
    function totalSupply() constant public returns (uint256 supply);
    function balanceOf(address _owner) constant public returns (uint256 balance);
}

contract KEACoin is ERC20 {
    
    using SafeMath for uint256;
    address owner = msg.sender;

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
    mapping (address => bool) public blacklist;

    string public constant name = "KEA Coin";
    string public constant symbol = "KEA";
    uint public constant decimals = 8;
    
    uint256 public totalSupply = 1000000000e8;
    uint256 public totalDistributed = 200000000e8;
    uint256 public totalRemaining = totalSupply.sub(totalDistributed);
    uint256 public value;
    uint256 public minReq;

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    
    event Distr(address indexed to, uint256 amount);
    event DistrFinished();
    
    event Burn(address indexed burner, uint256 value);

    bool public distributionFinished = false;
    
    modifier canDistr() {
        require(!distributionFinished);
        _;
    }
    
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    
    modifier onlyWhitelist() {
        require(blacklist[msg.sender] == false);
        _;
    }
    
    function KEACoin (uint256 _value, uint256 _minReq) public {
        owner = msg.sender;
        value = _value;
        minReq = _minReq;
        balances[msg.sender] = totalDistributed;
    }
    
     function setParameters (uint256 _value, uint256 _minReq) onlyOwner public {
        value = _value;
        minReq = _minReq;
    }

    function transferOwnership(address newOwner) onlyOwner public {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }
    
    function enableWhitelist(address[] addresses) onlyOwner public {
        for (uint i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = false;
        }
    }

    function disableWhitelist(address[] addresses) onlyOwner public {
        for (uint i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = true;
        }
    }

    function finishDistribution() onlyOwner canDistr public returns (bool) {
        distributionFinished = true;
        DistrFinished();
        return true;
    }
    
    function distr(address _to, uint256 _amount) canDistr private returns (bool) {
        totalDistributed = totalDistributed.add(_amount);
        totalRemaining = totalRemaining.sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        Distr(_to, _amount);
        Transfer(address(0), _to, _amount);
        return true;
        
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function airdrop(address[] addresses) onlyOwner canDistr public {
        
        require(addresses.length <= 255);
        require(value <= totalRemaining);
        
        for (uint i = 0; i < addresses.length; i++) {
            require(value <= totalRemaining);
            distr(addresses[i], value);
        }
    
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function distribution(address[] addresses, uint256 amount) onlyOwner canDistr public {
        
        require(addresses.length <= 255);
        require(amount <= totalRemaining);
        
        for (uint i = 0; i < addresses.length; i++) {
            require(amount <= totalRemaining);
            distr(addresses[i], amount);
        }
    
        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
    }
    
    function distributeAmounts(address[] addresses, uint256[] amounts) onlyOwner canDistr public {

        require(addresses.length <= 255);
        require(addresses.length == amounts.length);
        
        for (uint8 i = 0; i < addresses.length; i++) {
            require(amounts[i] <= totalRemaining);
            distr(addresses[i], amounts[i]);
            
            if (totalDistributed >= totalSupply) {
                distributionFinished = true;
            }
        }
    }
    
    function () external payable {
            getTokens();
     }
    
    function getTokens() payable canDistr onlyWhitelist public {
        
        require(value <= totalRemaining);
        
        address investor = msg.sender;
        uint256 toGive = value;
        
        if (msg.value < minReq){
            toGive = value.sub(value);
        }
        
        distr(investor, toGive);
        
        if (toGive > 0) {
            blacklist[investor] = true;
        }

        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
        uint256 etherBalance = this.balance;
        if (etherBalance > 0) {
            owner.transfer(etherBalance);
        }
    }

    function balanceOf(address _owner) constant public returns (uint256) {
        return balances[_owner];
    }

    // mitigates the ERC20 short address attack
    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length >= size + 4);
        _;
    }
    
    function transfer(address _to, uint256 _amount) onlyPayloadSize(2 * 32) public returns (bool success) {
        require(_to != address(0));
        require(_amount <= balances[msg.sender]);
        
        balances[msg.sender] = balances[msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        Transfer(msg.sender, _to, _amount);
        return true;
    }
    
    function transferFrom(address _from, address _to, uint256 _amount) onlyPayloadSize(3 * 32) public returns (bool success) {
        require(_to != address(0));
        require(_amount <= balances[_from]);
        require(_amount <= allowed[_from][msg.sender]);
        
        balances[_from] = balances[_from].sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to] = balances[_to].add(_amount);
        Transfer(_from, _to, _amount);
        return true;
    }
    
    function approve(address _spender, uint256 _value) public returns (bool success) {
        // mitigates the ERC20 spend/approval race condition
        if (_value != 0 && allowed[msg.sender][_spender] != 0) { return false; }
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }
    
    function allowance(address _owner, address _spender) constant public returns (uint256) {
        return allowed[_owner][_spender];
    }
    
    function getTokenBalance(address tokenAddress, address who) constant public returns (uint){
        ForeignToken t = ForeignToken(tokenAddress);
        uint bal = t.balanceOf(who);
        return bal;
    }
    
    function withdraw() onlyOwner public {
        uint256 etherBalance = this.balance;
        owner.transfer(etherBalance);
    }
    
    function burn(uint256 _value) onlyOwner public {
        require(_value <= balances[msg.sender]);
        // no need to require value <= totalSupply, since that would imply the
        // sender's balance is greater than the totalSupply, which *should* be an assertion failure

        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply = totalSupply.sub(_value);
        totalDistributed = totalDistributed.sub(_value);
        Burn(burner, _value);
    }
    
   function withdrawForeignTokens(address _tokenContract) onlyOwner public returns (bool) {
        ForeignToken token = ForeignToken(_tokenContract);
        uint256 amount = token.balanceOf(address(this));
        if (amount > 0) {
            return token.transfer(owner, amount);
        }
        return true;
 
    }
}

Contract Security Audit

Contract ABI

[{"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":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"value","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"disableWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"airdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minReq","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_minReq","type":"uint256"}],"name":"setParameters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"enableWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"distributeAmounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"getTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawForeignTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"distribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blacklist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_value","type":"uint256"},{"name":"_minReq","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Distr","type":"event"},{"anonymous":false,"inputs":[],"name":"DistrFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

608060405233600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555067016345785d8a000060055566470de4df820000600655620000836006546005546200017964010000000002620022cd179091906401000000009004565b6007556000600a60006101000a81548160ff021916908315150217905550348015620000ae57600080fd5b506040516040806200267a833981018060405281019080805190602001909291908051906020019092919050505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160088190555080600981905550600654600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505062000193565b60008282111515156200018857fe5b818303905092915050565b6124d780620001a36000396000f30060806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610174578063095ea7b31461020457806318160ddd1461026957806323b872dd14610294578063313ce567146103195780633ccfd60b146103445780633fa4f2451461035b57806342966c6814610386578063502dadb0146103b357806370a0823114610419578063729ad39e146104705780637c60fa60146104d6578063884870c71461050157806395d89b41146105385780639b1cbccc146105c85780639c09c835146105f7578063a8c310d51461065d578063a9059cbb14610706578063aa6ca8081461076b578063c108d54214610775578063c489744b146107a4578063d8a543601461081b578063dd62ed3e14610846578063e58fc54c146108bd578063efca2eed14610918578063f2fde38b14610943578063f3e4877c14610986578063f9f92be4146109f6575b610172610a51565b005b34801561018057600080fd5b50610189610c38565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c95780820151818401526020810190506101ae565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021057600080fd5b5061024f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c71565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b5061027e610dff565b6040518082815260200191505060405180910390f35b3480156102a057600080fd5b506102ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e05565b604051808215151515815260200191505060405180910390f35b34801561032557600080fd5b5061032e6111db565b6040518082815260200191505060405180910390f35b34801561035057600080fd5b506103596111e0565b005b34801561036757600080fd5b506103706112c4565b6040518082815260200191505060405180910390f35b34801561039257600080fd5b506103b1600480360381019080803590602001909291905050506112ca565b005b3480156103bf57600080fd5b5061041760048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611496565b005b34801561042557600080fd5b5061045a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611582565b6040518082815260200191505060405180910390f35b34801561047c57600080fd5b506104d4600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506115cb565b005b3480156104e257600080fd5b506104eb6116e8565b6040518082815260200191505060405180910390f35b34801561050d57600080fd5b5061053660048036038101908080359060200190929190803590602001909291905050506116ee565b005b34801561054457600080fd5b5061054d61175c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058d578082015181840152602081019050610572565b50505050905090810190601f1680156105ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105d457600080fd5b506105dd611795565b604051808215151515815260200191505060405180910390f35b34801561060357600080fd5b5061065b6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061185d565b005b34801561066957600080fd5b506107046004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611949565b005b34801561071257600080fd5b50610751600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a9a565b604051808215151515815260200191505060405180910390f35b610773610a51565b005b34801561078157600080fd5b5061078a611cd5565b604051808215151515815260200191505060405180910390f35b3480156107b057600080fd5b50610805600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ce8565b6040518082815260200191505060405180910390f35b34801561082757600080fd5b50610830611dd3565b6040518082815260200191505060405180910390f35b34801561085257600080fd5b506108a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dd9565b6040518082815260200191505060405180910390f35b3480156108c957600080fd5b506108fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e60565b604051808215151515815260200191505060405180910390f35b34801561092457600080fd5b5061092d6120b8565b6040518082815260200191505060405180910390f35b34801561094f57600080fd5b50610984600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120be565b005b34801561099257600080fd5b506109f46004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050612195565b005b348015610a0257600080fd5b50610a37600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ad565b604051808215151515815260200191505060405180910390f35b6000806000600a60009054906101000a900460ff16151515610a7257600080fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515610ad157600080fd5b60075460085411151515610ae457600080fd5b3392506008549150600954341015610b1057610b0d6008546008546122cd90919063ffffffff16565b91505b610b1a83836122e6565b506000821115610b7d576001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600554600654101515610ba6576001600a60006101000a81548160ff0219169083151502179055505b3073ffffffffffffffffffffffffffffffffffffffff163190506000811115610c3357600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c31573d6000803e3d6000fd5b505b505050565b6040805190810160405280600881526020017f4b454120436f696e00000000000000000000000000000000000000000000000081525081565b6000808214158015610d0057506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610d0e5760009050610df9565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60055481565b6000606060048101600036905010151515610e1c57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610e5857600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610ea657600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610f3157600080fd5b610f8383600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cd90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061105583600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cd90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112783600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248d90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600881565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561123e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112c0573d6000803e3d6000fd5b5050565b60085481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561132857600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561137657600080fd5b3390506113cb82600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cd90919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611423826005546122cd90919063ffffffff16565b60058190555061143e826006546122cd90919063ffffffff16565b6006819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f457600080fd5b600090505b815181101561157e57600160046000848481518110151561151657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506114f9565b5050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561162957600080fd5b600a60009054906101000a900460ff1615151561164557600080fd5b60ff82511115151561165657600080fd5b6007546008541115151561166957600080fd5b600090505b81518110156116bb576007546008541115151561168a57600080fd5b6116ad828281518110151561169b57fe5b906020019060200201516008546122e6565b50808060010191505061166e565b6005546006541015156116e4576001600a60006101000a81548160ff0219169083151502179055505b5050565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174a57600080fd5b81600881905550806009819055505050565b6040805190810160405280600381526020017f4b4541000000000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117f357600080fd5b600a60009054906101000a900460ff1615151561180f57600080fd5b6001600a60006101000a81548160ff0219169083151502179055507f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a16001905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118bb57600080fd5b600090505b81518110156119455760006004600084848151811015156118dd57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506118c0565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119a757600080fd5b600a60009054906101000a900460ff161515156119c357600080fd5b60ff8351111515156119d457600080fd5b815183511415156119e457600080fd5b600090505b82518160ff161015611a9557600754828260ff16815181101515611a0957fe5b9060200190602002015111151515611a2057600080fd5b611a5e838260ff16815181101515611a3457fe5b90602001906020020151838360ff16815181101515611a4f57fe5b906020019060200201516122e6565b50600554600654101515611a88576001600a60006101000a81548160ff0219169083151502179055505b80806001019150506119e9565b505050565b6000604060048101600036905010151515611ab157fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515611aed57600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515611b3b57600080fd5b611b8d83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cd90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c2283600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248d90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600a60009054906101000a900460ff1681565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611d8b57600080fd5b505af1158015611d9f573d6000803e3d6000fd5b505050506040513d6020811015611db557600080fd5b81019080805190602001909291905050509050809250505092915050565b60075481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ec157600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611f5f57600080fd5b505af1158015611f73573d6000803e3d6000fd5b505050506040513d6020811015611f8957600080fd5b8101908080519060200190929190505050905060008111156120ac578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561206a57600080fd5b505af115801561207e573d6000803e3d6000fd5b505050506040513d602081101561209457600080fd5b810190808051906020019092919050505092506120b1565b600192505b5050919050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561211a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156121925780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121f357600080fd5b600a60009054906101000a900460ff1615151561220f57600080fd5b60ff83511115151561222057600080fd5b600754821115151561223157600080fd5b600090505b825181101561227f57600754821115151561225057600080fd5b612271838281518110151561226157fe5b90602001906020020151836122e6565b508080600101915050612236565b6005546006541015156122a8576001600a60006101000a81548160ff0219169083151502179055505b505050565b60046020528060005260406000206000915054906101000a900460ff1681565b60008282111515156122db57fe5b818303905092915050565b6000600a60009054906101000a900460ff1615151561230457600080fd5b6123198260065461248d90919063ffffffff16565b600681905550612334826007546122cd90919063ffffffff16565b60078190555061238c82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248d90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008082840190508381101515156124a157fe5b80915050929150505600a165627a7a7230582074481fab06f148ce7edfa523903ca1801dbb3bc759ec62d5c0ec0cfa7ec86bf50029

Deployed Bytecode

0x60806040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610174578063095ea7b31461020457806318160ddd1461026957806323b872dd14610294578063313ce567146103195780633ccfd60b146103445780633fa4f2451461035b57806342966c6814610386578063502dadb0146103b357806370a0823114610419578063729ad39e146104705780637c60fa60146104d6578063884870c71461050157806395d89b41146105385780639b1cbccc146105c85780639c09c835146105f7578063a8c310d51461065d578063a9059cbb14610706578063aa6ca8081461076b578063c108d54214610775578063c489744b146107a4578063d8a543601461081b578063dd62ed3e14610846578063e58fc54c146108bd578063efca2eed14610918578063f2fde38b14610943578063f3e4877c14610986578063f9f92be4146109f6575b610172610a51565b005b34801561018057600080fd5b50610189610c38565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c95780820151818401526020810190506101ae565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021057600080fd5b5061024f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c71565b604051808215151515815260200191505060405180910390f35b34801561027557600080fd5b5061027e610dff565b6040518082815260200191505060405180910390f35b3480156102a057600080fd5b506102ff600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e05565b604051808215151515815260200191505060405180910390f35b34801561032557600080fd5b5061032e6111db565b6040518082815260200191505060405180910390f35b34801561035057600080fd5b506103596111e0565b005b34801561036757600080fd5b506103706112c4565b6040518082815260200191505060405180910390f35b34801561039257600080fd5b506103b1600480360381019080803590602001909291905050506112ca565b005b3480156103bf57600080fd5b5061041760048036038101908080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611496565b005b34801561042557600080fd5b5061045a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611582565b6040518082815260200191505060405180910390f35b34801561047c57600080fd5b506104d4600480360381019080803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506115cb565b005b3480156104e257600080fd5b506104eb6116e8565b6040518082815260200191505060405180910390f35b34801561050d57600080fd5b5061053660048036038101908080359060200190929190803590602001909291905050506116ee565b005b34801561054457600080fd5b5061054d61175c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561058d578082015181840152602081019050610572565b50505050905090810190601f1680156105ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156105d457600080fd5b506105dd611795565b604051808215151515815260200191505060405180910390f35b34801561060357600080fd5b5061065b6004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929050505061185d565b005b34801561066957600080fd5b506107046004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509192919290505050611949565b005b34801561071257600080fd5b50610751600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611a9a565b604051808215151515815260200191505060405180910390f35b610773610a51565b005b34801561078157600080fd5b5061078a611cd5565b604051808215151515815260200191505060405180910390f35b3480156107b057600080fd5b50610805600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ce8565b6040518082815260200191505060405180910390f35b34801561082757600080fd5b50610830611dd3565b6040518082815260200191505060405180910390f35b34801561085257600080fd5b506108a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dd9565b6040518082815260200191505060405180910390f35b3480156108c957600080fd5b506108fe600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e60565b604051808215151515815260200191505060405180910390f35b34801561092457600080fd5b5061092d6120b8565b6040518082815260200191505060405180910390f35b34801561094f57600080fd5b50610984600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120be565b005b34801561099257600080fd5b506109f46004803603810190808035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919291929080359060200190929190505050612195565b005b348015610a0257600080fd5b50610a37600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ad565b604051808215151515815260200191505060405180910390f35b6000806000600a60009054906101000a900460ff16151515610a7257600080fd5b60001515600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515610ad157600080fd5b60075460085411151515610ae457600080fd5b3392506008549150600954341015610b1057610b0d6008546008546122cd90919063ffffffff16565b91505b610b1a83836122e6565b506000821115610b7d576001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b600554600654101515610ba6576001600a60006101000a81548160ff0219169083151502179055505b3073ffffffffffffffffffffffffffffffffffffffff163190506000811115610c3357600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610c31573d6000803e3d6000fd5b505b505050565b6040805190810160405280600881526020017f4b454120436f696e00000000000000000000000000000000000000000000000081525081565b6000808214158015610d0057506000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610d0e5760009050610df9565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b60055481565b6000606060048101600036905010151515610e1c57fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515610e5857600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610ea657600080fd5b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610f3157600080fd5b610f8383600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cd90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061105583600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cd90919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061112783600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248d90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600881565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561123e57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16319050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156112c0573d6000803e3d6000fd5b5050565b60085481565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561132857600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561137657600080fd5b3390506113cb82600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cd90919063ffffffff16565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611423826005546122cd90919063ffffffff16565b60058190555061143e826006546122cd90919063ffffffff16565b6006819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f457600080fd5b600090505b815181101561157e57600160046000848481518110151561151657fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506114f9565b5050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561162957600080fd5b600a60009054906101000a900460ff1615151561164557600080fd5b60ff82511115151561165657600080fd5b6007546008541115151561166957600080fd5b600090505b81518110156116bb576007546008541115151561168a57600080fd5b6116ad828281518110151561169b57fe5b906020019060200201516008546122e6565b50808060010191505061166e565b6005546006541015156116e4576001600a60006101000a81548160ff0219169083151502179055505b5050565b60095481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174a57600080fd5b81600881905550806009819055505050565b6040805190810160405280600381526020017f4b4541000000000000000000000000000000000000000000000000000000000081525081565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117f357600080fd5b600a60009054906101000a900460ff1615151561180f57600080fd5b6001600a60006101000a81548160ff0219169083151502179055507f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a16001905090565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118bb57600080fd5b600090505b81518110156119455760006004600084848151811015156118dd57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506118c0565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119a757600080fd5b600a60009054906101000a900460ff161515156119c357600080fd5b60ff8351111515156119d457600080fd5b815183511415156119e457600080fd5b600090505b82518160ff161015611a9557600754828260ff16815181101515611a0957fe5b9060200190602002015111151515611a2057600080fd5b611a5e838260ff16815181101515611a3457fe5b90602001906020020151838360ff16815181101515611a4f57fe5b906020019060200201516122e6565b50600554600654101515611a88576001600a60006101000a81548160ff0219169083151502179055505b80806001019150506119e9565b505050565b6000604060048101600036905010151515611ab157fe5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614151515611aed57600080fd5b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515611b3b57600080fd5b611b8d83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122cd90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c2283600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248d90919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b600a60009054906101000a900460ff1681565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611d8b57600080fd5b505af1158015611d9f573d6000803e3d6000fd5b505050506040513d6020811015611db557600080fd5b81019080805190602001909291905050509050809250505092915050565b60075481565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000806000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611ec157600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611f5f57600080fd5b505af1158015611f73573d6000803e3d6000fd5b505050506040513d6020811015611f8957600080fd5b8101908080519060200190929190505050905060008111156120ac578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561206a57600080fd5b505af115801561207e573d6000803e3d6000fd5b505050506040513d602081101561209457600080fd5b810190808051906020019092919050505092506120b1565b600192505b5050919050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561211a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415156121925780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121f357600080fd5b600a60009054906101000a900460ff1615151561220f57600080fd5b60ff83511115151561222057600080fd5b600754821115151561223157600080fd5b600090505b825181101561227f57600754821115151561225057600080fd5b612271838281518110151561226157fe5b90602001906020020151836122e6565b508080600101915050612236565b6005546006541015156122a8576001600a60006101000a81548160ff0219169083151502179055505b505050565b60046020528060005260406000206000915054906101000a900460ff1681565b60008282111515156122db57fe5b818303905092915050565b6000600a60009054906101000a900460ff1615151561230457600080fd5b6123198260065461248d90919063ffffffff16565b600681905550612334826007546122cd90919063ffffffff16565b60078190555061238c82600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461248d90919063ffffffff16565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a77836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008082840190508381101515156124a157fe5b80915050929150505600a165627a7a7230582074481fab06f148ce7edfa523903ca1801dbb3bc759ec62d5c0ec0cfa7ec86bf50029

Swarm Source

bzzr://74481fab06f148ce7edfa523903ca1801dbb3bc759ec62d5c0ec0cfa7ec86bf5

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

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.