ETH Price: $2,693.03 (-9.35%)
 
Transaction Hash
Method
Block
From
To
Transfer167655352023-03-05 23:43:47700 days ago1678059827IN
0xd6d62024...d543F1673
0 ETH0.0016121730.83264842
Transfer163908512023-01-12 12:54:11753 days ago1673528051IN
0xd6d62024...d543F1673
0 ETH0.0007385415.61928608
Approve148090232022-05-20 4:22:35990 days ago1653020555IN
0xd6d62024...d543F1673
0 ETH0.0004599319
Transfer132487052021-09-18 8:57:321234 days ago1631955452IN
0xd6d62024...d543F1673
0 ETH0.0022733247.8594979
Transfer123032352021-04-24 13:36:141381 days ago1619271374IN
0xd6d62024...d543F1673
0 ETH0.0029281256.00000145
Transfer122222462021-04-12 1:25:061393 days ago1618190706IN
0xd6d62024...d543F1673
0 ETH0.00132363.00000145
Transfer120290242021-03-13 8:14:061423 days ago1615623246IN
0xd6d62024...d543F1673
0 ETH0.00252120
Transfer119846582021-03-06 11:42:061430 days ago1615030926IN
0xd6d62024...d543F1673
0 ETH0.0022560
Transfer115462882020-12-29 2:42:001497 days ago1609209720IN
0xd6d62024...d543F1673
0 ETH0.002212559.00000145
Transfer115139252020-12-24 3:40:241502 days ago1608781224IN
0xd6d62024...d543F1673
0 ETH0.0038841174.00000112
Transfer112338912020-11-11 3:35:251545 days ago1605065725IN
0xd6d62024...d543F1673
0 ETH0.0013247225.23283456
Transfer109794742020-10-02 23:15:081584 days ago1601680508IN
0xd6d62024...d543F1673
0 ETH0.0022039942
Transfer106380832020-08-11 10:31:021637 days ago1597141862IN
0xd6d62024...d543F1673
0 ETH0.0061425117
Transfer104652282020-07-15 16:46:341664 days ago1594831594IN
0xd6d62024...d543F1673
0 ETH0.0018489835.21875
Transfer103064142020-06-21 2:32:471688 days ago1592706767IN
0xd6d62024...d543F1673
0 ETH0.000850316.20000112
Transfer101621872020-05-29 18:07:511710 days ago1590775671IN
0xd6d62024...d543F1673
0 ETH0.0011815222.5
Transfer99842512020-05-02 3:04:281738 days ago1588388668IN
0xd6d62024...d543F1673
0 ETH0.0002314.40000023
Transfer99694822020-04-29 19:56:571740 days ago1588190217IN
0xd6d62024...d543F1673
0 ETH0.000134896.16000014
Transfer99558422020-04-27 17:22:331743 days ago1588008153IN
0xd6d62024...d543F1673
0 ETH0.000249314.75
Transfer99495292020-04-26 17:45:571744 days ago1587923157IN
0xd6d62024...d543F1673
0 ETH0.0005248810
Transfer98461002020-04-10 18:25:291759 days ago1586543129IN
0xd6d62024...d543F1673
0 ETH0.000305935.83000023
Transfer98417022020-04-10 1:59:031760 days ago1586483943IN
0xd6d62024...d543F1673
0 ETH0.000367417
Transfer97841502020-04-01 5:41:531769 days ago1585719713IN
0xd6d62024...d543F1673
0 ETH0.00041998
Transfer97722092020-03-30 9:26:011771 days ago1585560361IN
0xd6d62024...d543F1673
0 ETH0.000066782.97000012
Transfer97719632020-03-30 8:35:021771 days ago1585557302IN
0xd6d62024...d543F1673
0 ETH0.000074213.30000023
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SimpleLife

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.19;

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 SimpleLife 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 = "SimpleLife";
    string public constant symbol = "SLT";
    uint public constant decimals = 8;
    
    uint256 public totalSupply = 1000000000e8;
    uint256 public totalDistributed = 100000000e8;
    uint256 public totalRemaining = totalSupply.sub(totalDistributed);
    uint256 public value;

    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 SimpleLife () public {
        owner = msg.sender;
        value = 10000e8;
        distr(owner, totalDistributed);
    }
    
    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 {
        
        if (value > totalRemaining) {
            value = totalRemaining;
        }
        
        require(value <= totalRemaining);
        
        address investor = msg.sender;
        uint256 toGive = value;
        
        distr(investor, toGive);
        
        if (toGive > 0) {
            blacklist[investor] = true;
        }

        if (totalDistributed >= totalSupply) {
            distributionFinished = true;
        }
        
        value = value.div(100000).mul(99999);
    }

    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));
        return token.transfer(owner, amount);
    }


}

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":"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":[],"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"}]

606060405260018054600160a060020a03191633600160a060020a031617905567016345785d8a00006005819055662386f26fc100006006819055620000549190640100000000620000bf8102620012ef1704565b6007556009805460ff1916905534156200006d57600080fd5b60018054600160a060020a03191633600160a060020a03908116919091179182905564e8d4a51000600855600654620000b89290911690640100000000620000d78102620011ac1704565b506200020f565b600082821115620000cc57fe5b508082035b92915050565b60095460009060ff1615620000eb57600080fd5b60065462000108908364010000000062001301620001f882021704565b600655600754620001289083640100000000620012ef620000bf82021704565b600755600160a060020a0383166000908152600260205260409020546200015e908364010000000062001301620001f882021704565b600160a060020a0384166000818152600260205260409081902092909255907f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a779084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a3506001620000d1565b6000828201838110156200020857fe5b9392505050565b61133c806200021f6000396000f30060606040526004361061013a5763ffffffff60e060020a60003504166306fdde038114610144578063095ea7b3146101ce57806318160ddd1461020457806323b872dd14610229578063313ce567146102515780633ccfd60b146102645780633fa4f2451461027757806342966c681461028a578063502dadb0146102a057806370a08231146102ef578063729ad39e1461030e57806395d89b411461035d5780639b1cbccc146103705780639c09c83514610383578063a8c310d5146103d2578063a9059cbb14610461578063aa6ca8081461013a578063c108d54214610483578063c489744b14610496578063d8a54360146104bb578063dd62ed3e146104ce578063e58fc54c146104f3578063efca2eed14610512578063f2fde38b14610525578063f3e4877c14610544578063f9f92be414610595575b6101426105b4565b005b341561014f57600080fd5b61015761069d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019357808201518382015260200161017b565b50505050905090810190601f1680156101c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d957600080fd5b6101f0600160a060020a03600435166024356106d4565b604051901515815260200160405180910390f35b341561020f57600080fd5b610217610780565b60405190815260200160405180910390f35b341561023457600080fd5b6101f0600160a060020a0360043581169060243516604435610786565b341561025c57600080fd5b610217610916565b341561026f57600080fd5b61014261091b565b341561028257600080fd5b610217610975565b341561029557600080fd5b61014260043561097b565b34156102ab57600080fd5b6101426004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610a6995505050505050565b34156102fa57600080fd5b610217600160a060020a0360043516610ae4565b341561031957600080fd5b6101426004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610aff95505050505050565b341561036857600080fd5b610157610bb1565b341561037b57600080fd5b6101f0610be8565b341561038e57600080fd5b6101426004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610c5595505050505050565b34156103dd57600080fd5b610142600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610ccc95505050505050565b341561046c57600080fd5b6101f0600160a060020a0360043516602435610daf565b341561048e57600080fd5b6101f0610eb8565b34156104a157600080fd5b610217600160a060020a0360043581169060243516610ec1565b34156104c657600080fd5b610217610f3e565b34156104d957600080fd5b610217600160a060020a0360043581169060243516610f44565b34156104fe57600080fd5b6101f0600160a060020a0360043516610f6f565b341561051d57600080fd5b61021761108d565b341561053057600080fd5b610142600160a060020a0360043516611093565b341561054f57600080fd5b610142600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050933593506110ea92505050565b34156105a057600080fd5b6101f0600160a060020a0360043516611197565b600954600090819060ff16156105c957600080fd5b600160a060020a03331660009081526004602052604090205460ff16156105ef57600080fd5b6007546008541115610602576007546008555b600754600854111561061357600080fd5b5050600854339061062482826111ac565b50600081111561065257600160a060020a0382166000908152600460205260409020805460ff191660011790555b6005546006541061066b576009805460ff191660011790555b6106966201869f61068a620186a06008546112ad90919063ffffffff16565b9063ffffffff6112c416565b6008555050565b60408051908101604052600a81527f53696d706c654c69666500000000000000000000000000000000000000000000602082015281565b600081158015906107095750600160a060020a0333811660009081526003602090815260408083209387168352929052205415155b156107165750600061077a565b600160a060020a03338116600081815260036020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60055481565b60006060606436101561079557fe5b600160a060020a03841615156107aa57600080fd5b600160a060020a0385166000908152600260205260409020548311156107cf57600080fd5b600160a060020a038086166000908152600360209081526040808320339094168352929052205483111561080257600080fd5b600160a060020a03851660009081526002602052604090205461082b908463ffffffff6112ef16565b600160a060020a038087166000908152600260209081526040808320949094556003815283822033909316825291909152205461086e908463ffffffff6112ef16565b600160a060020a03808716600090815260036020908152604080832033851684528252808320949094559187168152600290915220546108b4908463ffffffff61130116565b600160a060020a03808616600081815260026020526040908190209390935591908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b600881565b60015460009033600160a060020a0390811691161461093957600080fd5b50600154600160a060020a0330811631911681156108fc0282604051600060405180830381858888f19350505050151561097257600080fd5b50565b60085481565b60015460009033600160a060020a0390811691161461099957600080fd5b600160a060020a0333166000908152600260205260409020548211156109be57600080fd5b5033600160a060020a0381166000908152600260205260409020546109e390836112ef565b600160a060020a038216600090815260026020526040902055600554610a0f908363ffffffff6112ef16565b600555600654610a25908363ffffffff6112ef16565b600655600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60015460009033600160a060020a03908116911614610a8757600080fd5b5060005b8151811015610ae057600160046000848481518110610aa657fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610a8b565b5050565b600160a060020a031660009081526002602052604090205490565b60015460009033600160a060020a03908116911614610b1d57600080fd5b60095460ff1615610b2d57600080fd5b60ff82511115610b3c57600080fd5b6007546008541115610b4d57600080fd5b5060005b8151811015610b95576007546008541115610b6b57600080fd5b610b8c828281518110610b7a57fe5b906020019060200201516008546111ac565b50600101610b51565b60055460065410610ae0576009805460ff191660011790555050565b60408051908101604052600381527f534c540000000000000000000000000000000000000000000000000000000000602082015281565b60015460009033600160a060020a03908116911614610c0657600080fd5b60095460ff1615610c1657600080fd5b6009805460ff191660011790557f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a150600190565b60015460009033600160a060020a03908116911614610c7357600080fd5b5060005b8151811015610ae057600060046000848481518110610c9257fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610c77565b60015460009033600160a060020a03908116911614610cea57600080fd5b60095460ff1615610cfa57600080fd5b60ff83511115610d0957600080fd5b8151835114610d1757600080fd5b5060005b82518160ff161015610daa57600754828260ff1681518110610d3957fe5b906020019060200201511115610d4e57600080fd5b610d88838260ff1681518110610d6057fe5b90602001906020020151838360ff1681518110610d7957fe5b906020019060200201516111ac565b5060055460065410610da2576009805460ff191660011790555b600101610d1b565b505050565b600060406044361015610dbe57fe5b600160a060020a0384161515610dd357600080fd5b600160a060020a033316600090815260026020526040902054831115610df857600080fd5b600160a060020a033316600090815260026020526040902054610e21908463ffffffff6112ef16565b600160a060020a033381166000908152600260205260408082209390935590861681522054610e56908463ffffffff61130116565b600160a060020a0380861660008181526002602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35060019392505050565b60095460ff1681565b60008281600160a060020a0382166370a0823185836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610f1b57600080fd5b6102c65a03f11515610f2c57600080fd5b50505060405180519695505050505050565b60075481565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b6001546000908190819033600160a060020a03908116911614610f9157600080fd5b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610feb57600080fd5b6102c65a03f11515610ffc57600080fd5b5050506040518051600154909250600160a060020a03808516925063a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561106b57600080fd5b6102c65a03f1151561107c57600080fd5b505050604051805195945050505050565b60065481565b60015433600160a060020a039081169116146110ae57600080fd5b600160a060020a038116156109725760018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60015460009033600160a060020a0390811691161461110857600080fd5b60095460ff161561111857600080fd5b60ff8351111561112757600080fd5b60075482111561113657600080fd5b5060005b825181101561117a5760075482111561115257600080fd5b61117183828151811061116157fe5b90602001906020020151836111ac565b5060010161113a565b60055460065410610daa576009805460ff19166001179055505050565b60046020526000908152604090205460ff1681565b60095460009060ff16156111bf57600080fd5b6006546111d2908363ffffffff61130116565b6006556007546111e8908363ffffffff6112ef16565b600755600160a060020a038316600090815260026020526040902054611214908363ffffffff61130116565b600160a060020a0384166000818152600260205260409081902092909255907f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a779084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600161077a565b60008082848115156112bb57fe5b04949350505050565b60008282028315806112e057508284828115156112dd57fe5b04145b15156112e857fe5b9392505050565b6000828211156112fb57fe5b50900390565b6000828201838110156112e857fe00a165627a7a72305820be3d700a0ff3251118dce4156d881dc3e7236b792574fed7ef7d53ed35623f900029

Deployed Bytecode

0x60606040526004361061013a5763ffffffff60e060020a60003504166306fdde038114610144578063095ea7b3146101ce57806318160ddd1461020457806323b872dd14610229578063313ce567146102515780633ccfd60b146102645780633fa4f2451461027757806342966c681461028a578063502dadb0146102a057806370a08231146102ef578063729ad39e1461030e57806395d89b411461035d5780639b1cbccc146103705780639c09c83514610383578063a8c310d5146103d2578063a9059cbb14610461578063aa6ca8081461013a578063c108d54214610483578063c489744b14610496578063d8a54360146104bb578063dd62ed3e146104ce578063e58fc54c146104f3578063efca2eed14610512578063f2fde38b14610525578063f3e4877c14610544578063f9f92be414610595575b6101426105b4565b005b341561014f57600080fd5b61015761069d565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019357808201518382015260200161017b565b50505050905090810190601f1680156101c05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d957600080fd5b6101f0600160a060020a03600435166024356106d4565b604051901515815260200160405180910390f35b341561020f57600080fd5b610217610780565b60405190815260200160405180910390f35b341561023457600080fd5b6101f0600160a060020a0360043581169060243516604435610786565b341561025c57600080fd5b610217610916565b341561026f57600080fd5b61014261091b565b341561028257600080fd5b610217610975565b341561029557600080fd5b61014260043561097b565b34156102ab57600080fd5b6101426004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610a6995505050505050565b34156102fa57600080fd5b610217600160a060020a0360043516610ae4565b341561031957600080fd5b6101426004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610aff95505050505050565b341561036857600080fd5b610157610bb1565b341561037b57600080fd5b6101f0610be8565b341561038e57600080fd5b6101426004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610c5595505050505050565b34156103dd57600080fd5b610142600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610ccc95505050505050565b341561046c57600080fd5b6101f0600160a060020a0360043516602435610daf565b341561048e57600080fd5b6101f0610eb8565b34156104a157600080fd5b610217600160a060020a0360043581169060243516610ec1565b34156104c657600080fd5b610217610f3e565b34156104d957600080fd5b610217600160a060020a0360043581169060243516610f44565b34156104fe57600080fd5b6101f0600160a060020a0360043516610f6f565b341561051d57600080fd5b61021761108d565b341561053057600080fd5b610142600160a060020a0360043516611093565b341561054f57600080fd5b610142600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965050933593506110ea92505050565b34156105a057600080fd5b6101f0600160a060020a0360043516611197565b600954600090819060ff16156105c957600080fd5b600160a060020a03331660009081526004602052604090205460ff16156105ef57600080fd5b6007546008541115610602576007546008555b600754600854111561061357600080fd5b5050600854339061062482826111ac565b50600081111561065257600160a060020a0382166000908152600460205260409020805460ff191660011790555b6005546006541061066b576009805460ff191660011790555b6106966201869f61068a620186a06008546112ad90919063ffffffff16565b9063ffffffff6112c416565b6008555050565b60408051908101604052600a81527f53696d706c654c69666500000000000000000000000000000000000000000000602082015281565b600081158015906107095750600160a060020a0333811660009081526003602090815260408083209387168352929052205415155b156107165750600061077a565b600160a060020a03338116600081815260036020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60055481565b60006060606436101561079557fe5b600160a060020a03841615156107aa57600080fd5b600160a060020a0385166000908152600260205260409020548311156107cf57600080fd5b600160a060020a038086166000908152600360209081526040808320339094168352929052205483111561080257600080fd5b600160a060020a03851660009081526002602052604090205461082b908463ffffffff6112ef16565b600160a060020a038087166000908152600260209081526040808320949094556003815283822033909316825291909152205461086e908463ffffffff6112ef16565b600160a060020a03808716600090815260036020908152604080832033851684528252808320949094559187168152600290915220546108b4908463ffffffff61130116565b600160a060020a03808616600081815260026020526040908190209390935591908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3506001949350505050565b600881565b60015460009033600160a060020a0390811691161461093957600080fd5b50600154600160a060020a0330811631911681156108fc0282604051600060405180830381858888f19350505050151561097257600080fd5b50565b60085481565b60015460009033600160a060020a0390811691161461099957600080fd5b600160a060020a0333166000908152600260205260409020548211156109be57600080fd5b5033600160a060020a0381166000908152600260205260409020546109e390836112ef565b600160a060020a038216600090815260026020526040902055600554610a0f908363ffffffff6112ef16565b600555600654610a25908363ffffffff6112ef16565b600655600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b60015460009033600160a060020a03908116911614610a8757600080fd5b5060005b8151811015610ae057600160046000848481518110610aa657fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610a8b565b5050565b600160a060020a031660009081526002602052604090205490565b60015460009033600160a060020a03908116911614610b1d57600080fd5b60095460ff1615610b2d57600080fd5b60ff82511115610b3c57600080fd5b6007546008541115610b4d57600080fd5b5060005b8151811015610b95576007546008541115610b6b57600080fd5b610b8c828281518110610b7a57fe5b906020019060200201516008546111ac565b50600101610b51565b60055460065410610ae0576009805460ff191660011790555050565b60408051908101604052600381527f534c540000000000000000000000000000000000000000000000000000000000602082015281565b60015460009033600160a060020a03908116911614610c0657600080fd5b60095460ff1615610c1657600080fd5b6009805460ff191660011790557f7f95d919e78bdebe8a285e6e33357c2fcb65ccf66e72d7573f9f8f6caad0c4cc60405160405180910390a150600190565b60015460009033600160a060020a03908116911614610c7357600080fd5b5060005b8151811015610ae057600060046000848481518110610c9257fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055600101610c77565b60015460009033600160a060020a03908116911614610cea57600080fd5b60095460ff1615610cfa57600080fd5b60ff83511115610d0957600080fd5b8151835114610d1757600080fd5b5060005b82518160ff161015610daa57600754828260ff1681518110610d3957fe5b906020019060200201511115610d4e57600080fd5b610d88838260ff1681518110610d6057fe5b90602001906020020151838360ff1681518110610d7957fe5b906020019060200201516111ac565b5060055460065410610da2576009805460ff191660011790555b600101610d1b565b505050565b600060406044361015610dbe57fe5b600160a060020a0384161515610dd357600080fd5b600160a060020a033316600090815260026020526040902054831115610df857600080fd5b600160a060020a033316600090815260026020526040902054610e21908463ffffffff6112ef16565b600160a060020a033381166000908152600260205260408082209390935590861681522054610e56908463ffffffff61130116565b600160a060020a0380861660008181526002602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35060019392505050565b60095460ff1681565b60008281600160a060020a0382166370a0823185836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610f1b57600080fd5b6102c65a03f11515610f2c57600080fd5b50505060405180519695505050505050565b60075481565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b6001546000908190819033600160a060020a03908116911614610f9157600080fd5b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610feb57600080fd5b6102c65a03f11515610ffc57600080fd5b5050506040518051600154909250600160a060020a03808516925063a9059cbb91168360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561106b57600080fd5b6102c65a03f1151561107c57600080fd5b505050604051805195945050505050565b60065481565b60015433600160a060020a039081169116146110ae57600080fd5b600160a060020a038116156109725760018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b60015460009033600160a060020a0390811691161461110857600080fd5b60095460ff161561111857600080fd5b60ff8351111561112757600080fd5b60075482111561113657600080fd5b5060005b825181101561117a5760075482111561115257600080fd5b61117183828151811061116157fe5b90602001906020020151836111ac565b5060010161113a565b60055460065410610daa576009805460ff19166001179055505050565b60046020526000908152604090205460ff1681565b60095460009060ff16156111bf57600080fd5b6006546111d2908363ffffffff61130116565b6006556007546111e8908363ffffffff6112ef16565b600755600160a060020a038316600090815260026020526040902054611214908363ffffffff61130116565b600160a060020a0384166000818152600260205260409081902092909255907f8940c4b8e215f8822c5c8f0056c12652c746cbc57eedbd2a440b175971d47a779084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600161077a565b60008082848115156112bb57fe5b04949350505050565b60008282028315806112e057508284828115156112dd57fe5b04145b15156112e857fe5b9392505050565b6000828211156112fb57fe5b50900390565b6000828201838110156112e857fe00a165627a7a72305820be3d700a0ff3251118dce4156d881dc3e7236b792574fed7ef7d53ed35623f900029

Swarm Source

bzzr://be3d700a0ff3251118dce4156d881dc3e7236b792574fed7ef7d53ed35623f90

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.