ETH Price: $2,689.95 (-1.64%)

Contract

0x4cdceF47AF71B7225f703Ed566dC68AF4480CEBa
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer78020252019-05-21 7:54:402097 days ago1558425280IN
0x4cdceF47...F4480CEBa
0 ETH0.0006102811.5
Transfer72970872019-03-03 14:28:052176 days ago1551623285IN
0x4cdceF47...F4480CEBa
0 ETH0.0006102811.50000025
Transfer72103502019-02-12 9:03:592195 days ago1549962239IN
0x4cdceF47...F4480CEBa
0 ETH0.000425568
Transfer71588472019-02-01 13:26:012206 days ago1549027561IN
0x4cdceF47...F4480CEBa
0 ETH0.000212274
Transfer71525362019-01-31 6:33:532207 days ago1548916433IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71525362019-01-31 6:33:532207 days ago1548916433IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71525312019-01-31 6:31:592207 days ago1548916319IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71525312019-01-31 6:31:592207 days ago1548916319IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71523142019-01-31 5:30:172207 days ago1548912617IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71523112019-01-31 5:29:422207 days ago1548912582IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71522792019-01-31 5:21:282207 days ago1548912088IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71522792019-01-31 5:21:282207 days ago1548912088IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71522262019-01-31 5:02:572207 days ago1548910977IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71522262019-01-31 5:02:572207 days ago1548910977IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71522152019-01-31 5:00:062207 days ago1548910806IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71522102019-01-31 4:58:042207 days ago1548910684IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71521912019-01-31 4:53:172207 days ago1548910397IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71521902019-01-31 4:53:062207 days ago1548910386IN
0x4cdceF47...F4480CEBa
0 ETH0.0003813210
Transfer71521332019-01-31 4:39:222207 days ago1548909562IN
0x4cdceF47...F4480CEBa
0 ETH0.0003806810
Transfer71521332019-01-31 4:39:222207 days ago1548909562IN
0x4cdceF47...F4480CEBa
0 ETH0.0003806810
Transfer71521232019-01-31 4:36:412207 days ago1548909401IN
0x4cdceF47...F4480CEBa
0 ETH0.0003806810
Transfer71521232019-01-31 4:36:412207 days ago1548909401IN
0x4cdceF47...F4480CEBa
0 ETH0.0003806810
Transfer71520362019-01-31 4:07:402207 days ago1548907660IN
0x4cdceF47...F4480CEBa
0 ETH0.0003806810
Transfer71520362019-01-31 4:07:402207 days ago1548907660IN
0x4cdceF47...F4480CEBa
0 ETH0.0005306810
Transfer71516042019-01-31 1:59:432207 days ago1548899983IN
0x4cdceF47...F4480CEBa
0 ETH0.0003806810
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:
KSTToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-01-15
*/

pragma solidity ^0.4.22;


library SafeMath {

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

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        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 Ownable {
    address public owner;
    address public newOwner;

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

    constructor() public {
        owner = msg.sender;
        newOwner = address(0);
    }

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    modifier onlyNewOwner() {
        require(msg.sender != address(0));
        require(msg.sender == newOwner);
        _;
    }

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

    function acceptOwnership() public onlyNewOwner returns(bool) {
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;

  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  modifier whenPaused() {
    require(paused);
    _;
  }

  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  function unpause() onlyOwner whenPaused public {
    paused = false;
    emit Unpause();
  }
}

contract ERC20 {
    function totalSupply() public view returns (uint256);
    function balanceOf(address who) public view returns (uint256);
    function allowance(address owner, address spender) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    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);
    event Transfer(address indexed from, address indexed to, uint256 value);
}


interface TokenRecipient {
    function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; 
}


contract KSTToken is ERC20, Ownable, Pausable {
    
    using SafeMath for uint256;

    struct LockupInfo {
        uint256 releaseTime;
        uint256 termOfRound;
        uint256 unlockAmountPerRound;        
        uint256 lockupBalance;
    }

    string public name;
    string public symbol;
    uint8 public decimals;
    uint256 internal initialSupply;
    uint256 internal totalSupply_;

    mapping(address => uint256) internal balances;
    mapping(address => bool) internal locks;
    mapping(address => bool) public frozen;
    mapping(address => mapping(address => uint256)) internal allowed;
    mapping(address => LockupInfo) internal lockupInfo;

    event Unlock(address indexed holder, uint256 value);
    event Lock(address indexed holder, uint256 value);
    event Burn(address indexed owner, uint256 value);
    event Mint(uint256 value);
    event Freeze(address indexed holder);
    event Unfreeze(address indexed holder);

    modifier notFrozen(address _holder) {
        require(!frozen[_holder]);
        _;
    }

    constructor() public {
        name = "KST Token";
        symbol = "KST";
        decimals = 18;
        initialSupply = 6000000000;
        totalSupply_ = initialSupply * 10 ** uint(decimals);
        balances[owner] = totalSupply_;
        emit Transfer(address(0), owner, totalSupply_);
    }

    function () public payable {
        revert();
    }

    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    function transfer(address _to, uint256 _value) public whenNotPaused notFrozen(msg.sender) returns (bool) {
        if (locks[msg.sender]) {
            autoUnlock(msg.sender);            
        }
        require(_to != address(0));
        require(_value <= balances[msg.sender]);
        

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function balanceOf(address _holder) public view returns (uint256 balance) {
        return balances[_holder] + lockupInfo[_holder].lockupBalance;
    }

    function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused notFrozen(_from)returns (bool) {
        if (locks[_from]) {
            autoUnlock(_from);            
        }
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);
        

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
    
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) public returns (bool success) {
        require(isContract(_spender));
        TokenRecipient spender = TokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, this, _extraData);
            return true;
        }
    }

    function allowance(address _holder, address _spender) public view returns (uint256) {
        return allowed[_holder][_spender];
    }

    function lock(address _holder, uint256 _amount, uint256 _releaseStart, uint256 _termOfRound, uint256 _releaseRate) public onlyOwner returns (bool) {
        require(locks[_holder] == false);
        require(balances[_holder] >= _amount);
        balances[_holder] = balances[_holder].sub(_amount);
        lockupInfo[_holder] = LockupInfo(_releaseStart, _termOfRound, _amount.div(100).mul(_releaseRate), _amount);

        locks[_holder] = true;

        emit Lock(_holder, _amount);

        return true;
    }

    function unlock(address _holder) public onlyOwner returns (bool) {
        require(locks[_holder] == true);
        uint256 releaseAmount = lockupInfo[_holder].lockupBalance;

        delete lockupInfo[_holder];
        locks[_holder] = false;

        emit Unlock(_holder, releaseAmount);
        balances[_holder] = balances[_holder].add(releaseAmount);

        return true;
    }

    function freezeAccount(address _holder) public onlyOwner returns (bool) {
        require(!frozen[_holder]);
        frozen[_holder] = true;
        emit Freeze(_holder);
        return true;
    }

    function unfreezeAccount(address _holder) public onlyOwner returns (bool) {
        require(frozen[_holder]);
        frozen[_holder] = false;
        emit Unfreeze(_holder);
        return true;
    }

    function getNowTime() public view returns(uint256) {
      return now;
    }

    function showLockState(address _holder) public view returns (bool, uint256, uint256, uint256, uint256) {
        return (locks[_holder], lockupInfo[_holder].lockupBalance, lockupInfo[_holder].releaseTime, lockupInfo[_holder].termOfRound, lockupInfo[_holder].unlockAmountPerRound);
    }

    function distribute(address _to, uint256 _value) public onlyOwner returns (bool) {
        require(_to != address(0));
        require(_value <= balances[owner]);

        balances[owner] = balances[owner].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(owner, _to, _value);
        return true;
    }

    function distributeWithLockup(address _to, uint256 _value, uint256 _releaseStart, uint256 _termOfRound, uint256 _releaseRate) public onlyOwner returns (bool) {
        distribute(_to, _value);
        lock(_to, _value, _releaseStart, _termOfRound, _releaseRate);
        return true;
    }

    function claimToken(ERC20 token, address _to, uint256 _value) public onlyOwner returns (bool) {
        token.transfer(_to, _value);
        return true;
    }

    function burn(uint256 _value) public onlyOwner returns (bool success) {
        require(_value <= balances[msg.sender]);
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
        emit Burn(burner, _value);
        return true;
    }

    function mint( uint256 _amount) onlyOwner public returns (bool) {
        totalSupply_ = totalSupply_.add(_amount);
        balances[owner] = balances[owner].add(_amount);

        emit Transfer(address(0), owner, _amount);
        return true;
    }

    function isContract(address addr) internal view returns (bool) {
        uint size;
        assembly{size := extcodesize(addr)}
        return size > 0;
    }

    function autoUnlock(address _holder) internal returns (bool) {
        if (lockupInfo[_holder].releaseTime <= now) {
            return releaseTimeLock(_holder);
        }
        return false;
    }

    function releaseTimeLock(address _holder) internal returns(bool) {
        require(locks[_holder]);
        uint256 releaseAmount = 0;
        // If lock status of holder is finished, delete lockup info. 
       
        for( ; lockupInfo[_holder].releaseTime <= now ; )
        {
            if (lockupInfo[_holder].lockupBalance <= lockupInfo[_holder].unlockAmountPerRound) {   
                releaseAmount = releaseAmount.add(lockupInfo[_holder].lockupBalance);
                delete lockupInfo[_holder];
                locks[_holder] = false;
                break;             
            } else {
                releaseAmount = releaseAmount.add(lockupInfo[_holder].unlockAmountPerRound);
                lockupInfo[_holder].lockupBalance = lockupInfo[_holder].lockupBalance.sub(lockupInfo[_holder].unlockAmountPerRound);

                lockupInfo[_holder].releaseTime = lockupInfo[_holder].releaseTime.add(lockupInfo[_holder].termOfRound);
                
            }            
        }

        emit Unlock(_holder, releaseAmount);
        balances[_holder] = balances[_holder].add(releaseAmount);
        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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"claimToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"}],"name":"unlock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"showLockState","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"}],"name":"unfreezeAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_releaseStart","type":"uint256"},{"name":"_termOfRound","type":"uint256"},{"name":"_releaseRate","type":"uint256"}],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getNowTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_releaseStart","type":"uint256"},{"name":"_termOfRound","type":"uint256"},{"name":"_releaseRate","type":"uint256"}],"name":"distributeWithLockup","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozen","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_holder","type":"address"}],"name":"freezeAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"distribute","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Unlock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Lock","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"}],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526001805460a060020a60ff02191690553480156200002157600080fd5b5060008054600160a060020a031990811633179091556001805490911690556040805180820190915260098082527f4b535420546f6b656e00000000000000000000000000000000000000000000006020909201918252620000869160029162000152565b506040805180820190915260038082527f4b535400000000000000000000000000000000000000000000000000000000006020909201918252620000cb918162000152565b506004805460ff191660121790819055640165a0bc00600581905560ff91909116600a0a02600681905560008054600160a060020a0390811682526007602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3620001f7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019557805160ff1916838001178555620001c5565b82800160010185558215620001c5579182015b82811115620001c5578251825591602001919060010190620001a8565b50620001d3929150620001d7565b5090565b620001f491905b80821115620001d35760008155600101620001de565b90565b6118a080620002076000396000f3006080604052600436106101745763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610179578063095ea7b314610203578063125bfb661461023b57806318160ddd1461026557806323b872dd1461028c5780632f6c493c146102b6578063313ce567146102d75780633f4ba83a1461030257806342966c68146103195780635c975abb14610331578063625becbc1461034657806370a0823114610394578063788649ea146103b557806379ba5097146103d65780637c759d0d146103eb5780638456cb59146104185780638da5cb5b1461042d57806395d89b411461045e5780639b819d3814610473578063a0712d6814610488578063a9059cbb146104a0578063c572652b146104c4578063cae9ca51146104f1578063d05166501461055a578063d4ee1d901461057b578063dd62ed3e14610590578063f26c159f146105b7578063f2fde38b146105d8578063fb932108146105f9575b600080fd5b34801561018557600080fd5b5061018e61061d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c85781810151838201526020016101b0565b50505050905090810190601f1680156101f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020f57600080fd5b50610227600160a060020a03600435166024356106a8565b604080519115158252519081900360200190f35b34801561024757600080fd5b50610227600160a060020a0360043581169060243516604435610729565b34801561027157600080fd5b5061027a6107f3565b60408051918252519081900360200190f35b34801561029857600080fd5b50610227600160a060020a03600435811690602435166044356107f9565b3480156102c257600080fd5b50610227600160a060020a03600435166109cf565b3480156102e357600080fd5b506102ec610adb565b6040805160ff9092168252519081900360200190f35b34801561030e57600080fd5b50610317610ae4565b005b34801561032557600080fd5b50610227600435610b5c565b34801561033d57600080fd5b50610227610c2a565b34801561035257600080fd5b50610367600160a060020a0360043516610c3a565b60408051951515865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156103a057600080fd5b5061027a600160a060020a0360043516610c7c565b3480156103c157600080fd5b50610227600160a060020a0360043516610cab565b3480156103e257600080fd5b50610227610d38565b3480156103f757600080fd5b50610227600160a060020a0360043516602435604435606435608435610dcc565b34801561042457600080fd5b50610317610f46565b34801561043957600080fd5b50610442610fc3565b60408051600160a060020a039092168252519081900360200190f35b34801561046a57600080fd5b5061018e610fd2565b34801561047f57600080fd5b5061027a61102d565b34801561049457600080fd5b50610227600435611031565b3480156104ac57600080fd5b50610227600160a060020a03600435166024356110d6565b3480156104d057600080fd5b50610227600160a060020a0360043516602435604435606435608435611202565b3480156104fd57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610227948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061123f9650505050505050565b34801561056657600080fd5b50610227600160a060020a036004351661136a565b34801561058757600080fd5b5061044261137f565b34801561059c57600080fd5b5061027a600160a060020a036004358116906024351661138e565b3480156105c357600080fd5b50610227600160a060020a03600435166113b9565b3480156105e457600080fd5b50610317600160a060020a0360043516611448565b34801561060557600080fd5b50610227600160a060020a03600435166024356114a3565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106a05780601f10610675576101008083540402835291602001916106a0565b820191906000526020600020905b81548152906001019060200180831161068357829003601f168201915b505050505081565b60015460009060a060020a900460ff16156106c257600080fd5b336000818152600a60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60008054600160a060020a0316331461074157600080fd5b83600160a060020a031663a9059cbb84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156107bd57600080fd5b505af11580156107d1573d6000803e3d6000fd5b505050506040513d60208110156107e757600080fd5b50600195945050505050565b60065490565b60015460009060a060020a900460ff161561081357600080fd5b600160a060020a038416600090815260096020526040902054849060ff161561083b57600080fd5b600160a060020a03851660009081526008602052604090205460ff161561086757610865856115a3565b505b600160a060020a038416151561087c57600080fd5b600160a060020a0385166000908152600760205260409020548311156108a157600080fd5b600160a060020a0385166000908152600a602090815260408083203384529091529020548311156108d157600080fd5b600160a060020a0385166000908152600760205260409020546108fa908463ffffffff6115da16565b600160a060020a03808716600090815260076020526040808220939093559086168152205461092f908463ffffffff6115ec16565b600160a060020a038086166000908152600760209081526040808320949094559188168152600a82528281203382529091522054610973908463ffffffff6115da16565b600160a060020a038087166000818152600a602090815260408083203384528252918290209490945580518781529051928816939192600080516020611855833981519152929181900390910190a3600191505b509392505050565b600080548190600160a060020a031633146109e957600080fd5b600160a060020a03831660009081526008602052604090205460ff161515600114610a1357600080fd5b50600160a060020a0382166000818152600b602090815260408083206003810180548583556001830186905560029092018590558490556008835292819020805460ff19169055805183815290519293927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1929181900390910190a2600160a060020a038316600090815260076020526040902054610ab8908263ffffffff6115ec16565b600160a060020a0384166000908152600760205260409020556001915050919050565b60045460ff1681565b600054600160a060020a03163314610afb57600080fd5b60015460a060020a900460ff161515610b1357600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600080548190600160a060020a03163314610b7657600080fd5b33600090815260076020526040902054831115610b9257600080fd5b5033600081815260076020526040902054610bb3908463ffffffff6115da16565b600160a060020a038216600090815260076020526040902055600654610bdf908463ffffffff6115da16565b600655604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b60015460a060020a900460ff1681565b600160a060020a0316600090815260086020908152604080832054600b90925290912060038101548154600183015460029093015460ff909416949193909291565b600160a060020a0381166000908152600b6020908152604080832060030154600790925290912054015b919050565b60008054600160a060020a03163314610cc357600080fd5b600160a060020a03821660009081526009602052604090205460ff161515610cea57600080fd5b600160a060020a038216600081815260096020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6000331515610d4657600080fd5b600154600160a060020a03163314610d5d57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b60008054600160a060020a03163314610de457600080fd5b600160a060020a03861660009081526008602052604090205460ff1615610e0a57600080fd5b600160a060020a038616600090815260076020526040902054851115610e2f57600080fd5b600160a060020a038616600090815260076020526040902054610e58908663ffffffff6115da16565b600160a060020a0387166000908152600760209081526040918290209290925580516080810182528681529182018590528101610eac84610ea089606463ffffffff61160216565b9063ffffffff61161916565b81526020908101879052600160a060020a0388166000818152600b8352604080822085518155858501516001808301919091558683015160028301556060909601516003909101556008845290819020805460ff19169094179093558251888152925190927f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d42792908290030190a250600195945050505050565b600054600160a060020a03163314610f5d57600080fd5b60015460a060020a900460ff1615610f7457600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106a05780601f10610675576101008083540402835291602001916106a0565b4290565b60008054600160a060020a0316331461104957600080fd5b60065461105c908363ffffffff6115ec16565b60065560008054600160a060020a0316815260076020526040902054611088908363ffffffff6115ec16565b60008054600160a060020a03908116825260076020908152604080842094909455825484518781529451921693600080516020611855833981519152929081900390910190a3506001919050565b60015460009060a060020a900460ff16156110f057600080fd5b3360008181526009602052604090205460ff161561110d57600080fd5b3360009081526008602052604090205460ff16156111305761112e336115a3565b505b600160a060020a038416151561114557600080fd5b3360009081526007602052604090205483111561116157600080fd5b33600090815260076020526040902054611181908463ffffffff6115da16565b3360009081526007602052604080822092909255600160a060020a038616815220546111b3908463ffffffff6115ec16565b600160a060020a0385166000818152600760209081526040918290209390935580518681529051919233926000805160206118558339815191529281900390910190a3600191505b5092915050565b60008054600160a060020a0316331461121a57600080fd5b61122486866114a3565b506112328686868686610dcc565b5060019695505050505050565b60008061124b85611644565b151561125657600080fd5b508361126281856106a8565b156109c7576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b838110156112fa5781810151838201526020016112e2565b50505050905090810190601f1680156113275780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561134957600080fd5b505af115801561135d573d6000803e3d6000fd5b50505050600191506109c7565b60096020526000908152604090205460ff1681565b600154600160a060020a031681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60008054600160a060020a031633146113d157600080fd5b600160a060020a03821660009081526009602052604090205460ff16156113f757600080fd5b600160a060020a038216600081815260096020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b600054600160a060020a0316331461145f57600080fd5b600160a060020a038116151561147457600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a031633146114bb57600080fd5b600160a060020a03831615156114d057600080fd5b60008054600160a060020a03168152600760205260409020548211156114f557600080fd5b60008054600160a060020a031681526007602052604090205461151e908363ffffffff6115da16565b60008054600160a060020a0390811682526007602052604080832093909355851681522054611553908363ffffffff6115ec16565b600160a060020a038085166000818152600760209081526040808320959095559054845187815294519294931692600080516020611855833981519152929081900390910190a350600192915050565b600160a060020a0381166000908152600b602052604081205442106115d2576115cb8261164c565b9050610ca6565b506000919050565b6000828211156115e657fe5b50900390565b6000828201838110156115fb57fe5b9392505050565b600080828481151561161057fe5b04949350505050565b60008083151561162c57600091506111fb565b5082820282848281151561163c57fe5b04146115fb57fe5b6000903b1190565b600160a060020a038116600090815260086020526040812054819060ff16151561167557600080fd5b5060005b600160a060020a0383166000908152600b602052604090205442106117ec57600160a060020a0383166000908152600b6020526040902060028101546003909101541161173557600160a060020a0383166000908152600b60205260409020600301546116ed90829063ffffffff6115ec16565b600160a060020a0384166000908152600b60209081526040808320838155600181018490556002810184905560030183905560089091529020805460ff1916905590506117ec565b600160a060020a0383166000908152600b602052604090206002015461176290829063ffffffff6115ec16565b600160a060020a0384166000908152600b602052604090206002810154600390910154919250611798919063ffffffff6115da16565b600160a060020a0384166000908152600b602052604090206003810191909155600181015490546117ce9163ffffffff6115ec16565b600160a060020a0384166000908152600b6020526040902055611679565b604080518281529051600160a060020a038516917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a038316600090815260076020526040902054610ab8908263ffffffff6115ec165600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058208f8eca9e9d600f882cc719f550c252e8e7ab36867e1a52b418c453e36aee48b80029

Deployed Bytecode

0x6080604052600436106101745763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610179578063095ea7b314610203578063125bfb661461023b57806318160ddd1461026557806323b872dd1461028c5780632f6c493c146102b6578063313ce567146102d75780633f4ba83a1461030257806342966c68146103195780635c975abb14610331578063625becbc1461034657806370a0823114610394578063788649ea146103b557806379ba5097146103d65780637c759d0d146103eb5780638456cb59146104185780638da5cb5b1461042d57806395d89b411461045e5780639b819d3814610473578063a0712d6814610488578063a9059cbb146104a0578063c572652b146104c4578063cae9ca51146104f1578063d05166501461055a578063d4ee1d901461057b578063dd62ed3e14610590578063f26c159f146105b7578063f2fde38b146105d8578063fb932108146105f9575b600080fd5b34801561018557600080fd5b5061018e61061d565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c85781810151838201526020016101b0565b50505050905090810190601f1680156101f55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020f57600080fd5b50610227600160a060020a03600435166024356106a8565b604080519115158252519081900360200190f35b34801561024757600080fd5b50610227600160a060020a0360043581169060243516604435610729565b34801561027157600080fd5b5061027a6107f3565b60408051918252519081900360200190f35b34801561029857600080fd5b50610227600160a060020a03600435811690602435166044356107f9565b3480156102c257600080fd5b50610227600160a060020a03600435166109cf565b3480156102e357600080fd5b506102ec610adb565b6040805160ff9092168252519081900360200190f35b34801561030e57600080fd5b50610317610ae4565b005b34801561032557600080fd5b50610227600435610b5c565b34801561033d57600080fd5b50610227610c2a565b34801561035257600080fd5b50610367600160a060020a0360043516610c3a565b60408051951515865260208601949094528484019290925260608401526080830152519081900360a00190f35b3480156103a057600080fd5b5061027a600160a060020a0360043516610c7c565b3480156103c157600080fd5b50610227600160a060020a0360043516610cab565b3480156103e257600080fd5b50610227610d38565b3480156103f757600080fd5b50610227600160a060020a0360043516602435604435606435608435610dcc565b34801561042457600080fd5b50610317610f46565b34801561043957600080fd5b50610442610fc3565b60408051600160a060020a039092168252519081900360200190f35b34801561046a57600080fd5b5061018e610fd2565b34801561047f57600080fd5b5061027a61102d565b34801561049457600080fd5b50610227600435611031565b3480156104ac57600080fd5b50610227600160a060020a03600435166024356110d6565b3480156104d057600080fd5b50610227600160a060020a0360043516602435604435606435608435611202565b3480156104fd57600080fd5b50604080516020600460443581810135601f8101849004840285018401909552848452610227948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061123f9650505050505050565b34801561056657600080fd5b50610227600160a060020a036004351661136a565b34801561058757600080fd5b5061044261137f565b34801561059c57600080fd5b5061027a600160a060020a036004358116906024351661138e565b3480156105c357600080fd5b50610227600160a060020a03600435166113b9565b3480156105e457600080fd5b50610317600160a060020a0360043516611448565b34801561060557600080fd5b50610227600160a060020a03600435166024356114a3565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156106a05780601f10610675576101008083540402835291602001916106a0565b820191906000526020600020905b81548152906001019060200180831161068357829003601f168201915b505050505081565b60015460009060a060020a900460ff16156106c257600080fd5b336000818152600a60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60008054600160a060020a0316331461074157600080fd5b83600160a060020a031663a9059cbb84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b1580156107bd57600080fd5b505af11580156107d1573d6000803e3d6000fd5b505050506040513d60208110156107e757600080fd5b50600195945050505050565b60065490565b60015460009060a060020a900460ff161561081357600080fd5b600160a060020a038416600090815260096020526040902054849060ff161561083b57600080fd5b600160a060020a03851660009081526008602052604090205460ff161561086757610865856115a3565b505b600160a060020a038416151561087c57600080fd5b600160a060020a0385166000908152600760205260409020548311156108a157600080fd5b600160a060020a0385166000908152600a602090815260408083203384529091529020548311156108d157600080fd5b600160a060020a0385166000908152600760205260409020546108fa908463ffffffff6115da16565b600160a060020a03808716600090815260076020526040808220939093559086168152205461092f908463ffffffff6115ec16565b600160a060020a038086166000908152600760209081526040808320949094559188168152600a82528281203382529091522054610973908463ffffffff6115da16565b600160a060020a038087166000818152600a602090815260408083203384528252918290209490945580518781529051928816939192600080516020611855833981519152929181900390910190a3600191505b509392505050565b600080548190600160a060020a031633146109e957600080fd5b600160a060020a03831660009081526008602052604090205460ff161515600114610a1357600080fd5b50600160a060020a0382166000818152600b602090815260408083206003810180548583556001830186905560029092018590558490556008835292819020805460ff19169055805183815290519293927f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1929181900390910190a2600160a060020a038316600090815260076020526040902054610ab8908263ffffffff6115ec16565b600160a060020a0384166000908152600760205260409020556001915050919050565b60045460ff1681565b600054600160a060020a03163314610afb57600080fd5b60015460a060020a900460ff161515610b1357600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b600080548190600160a060020a03163314610b7657600080fd5b33600090815260076020526040902054831115610b9257600080fd5b5033600081815260076020526040902054610bb3908463ffffffff6115da16565b600160a060020a038216600090815260076020526040902055600654610bdf908463ffffffff6115da16565b600655604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250600192915050565b60015460a060020a900460ff1681565b600160a060020a0316600090815260086020908152604080832054600b90925290912060038101548154600183015460029093015460ff909416949193909291565b600160a060020a0381166000908152600b6020908152604080832060030154600790925290912054015b919050565b60008054600160a060020a03163314610cc357600080fd5b600160a060020a03821660009081526009602052604090205460ff161515610cea57600080fd5b600160a060020a038216600081815260096020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6000331515610d4657600080fd5b600154600160a060020a03163314610d5d57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905590565b60008054600160a060020a03163314610de457600080fd5b600160a060020a03861660009081526008602052604090205460ff1615610e0a57600080fd5b600160a060020a038616600090815260076020526040902054851115610e2f57600080fd5b600160a060020a038616600090815260076020526040902054610e58908663ffffffff6115da16565b600160a060020a0387166000908152600760209081526040918290209290925580516080810182528681529182018590528101610eac84610ea089606463ffffffff61160216565b9063ffffffff61161916565b81526020908101879052600160a060020a0388166000818152600b8352604080822085518155858501516001808301919091558683015160028301556060909601516003909101556008845290819020805460ff19169094179093558251888152925190927f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d42792908290030190a250600195945050505050565b600054600160a060020a03163314610f5d57600080fd5b60015460a060020a900460ff1615610f7457600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106a05780601f10610675576101008083540402835291602001916106a0565b4290565b60008054600160a060020a0316331461104957600080fd5b60065461105c908363ffffffff6115ec16565b60065560008054600160a060020a0316815260076020526040902054611088908363ffffffff6115ec16565b60008054600160a060020a03908116825260076020908152604080842094909455825484518781529451921693600080516020611855833981519152929081900390910190a3506001919050565b60015460009060a060020a900460ff16156110f057600080fd5b3360008181526009602052604090205460ff161561110d57600080fd5b3360009081526008602052604090205460ff16156111305761112e336115a3565b505b600160a060020a038416151561114557600080fd5b3360009081526007602052604090205483111561116157600080fd5b33600090815260076020526040902054611181908463ffffffff6115da16565b3360009081526007602052604080822092909255600160a060020a038616815220546111b3908463ffffffff6115ec16565b600160a060020a0385166000818152600760209081526040918290209390935580518681529051919233926000805160206118558339815191529281900390910190a3600191505b5092915050565b60008054600160a060020a0316331461121a57600080fd5b61122486866114a3565b506112328686868686610dcc565b5060019695505050505050565b60008061124b85611644565b151561125657600080fd5b508361126281856106a8565b156109c7576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b838110156112fa5781810151838201526020016112e2565b50505050905090810190601f1680156113275780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561134957600080fd5b505af115801561135d573d6000803e3d6000fd5b50505050600191506109c7565b60096020526000908152604090205460ff1681565b600154600160a060020a031681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60008054600160a060020a031633146113d157600080fd5b600160a060020a03821660009081526009602052604090205460ff16156113f757600080fd5b600160a060020a038216600081815260096020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b600054600160a060020a0316331461145f57600080fd5b600160a060020a038116151561147457600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a031633146114bb57600080fd5b600160a060020a03831615156114d057600080fd5b60008054600160a060020a03168152600760205260409020548211156114f557600080fd5b60008054600160a060020a031681526007602052604090205461151e908363ffffffff6115da16565b60008054600160a060020a0390811682526007602052604080832093909355851681522054611553908363ffffffff6115ec16565b600160a060020a038085166000818152600760209081526040808320959095559054845187815294519294931692600080516020611855833981519152929081900390910190a350600192915050565b600160a060020a0381166000908152600b602052604081205442106115d2576115cb8261164c565b9050610ca6565b506000919050565b6000828211156115e657fe5b50900390565b6000828201838110156115fb57fe5b9392505050565b600080828481151561161057fe5b04949350505050565b60008083151561162c57600091506111fb565b5082820282848281151561163c57fe5b04146115fb57fe5b6000903b1190565b600160a060020a038116600090815260086020526040812054819060ff16151561167557600080fd5b5060005b600160a060020a0383166000908152600b602052604090205442106117ec57600160a060020a0383166000908152600b6020526040902060028101546003909101541161173557600160a060020a0383166000908152600b60205260409020600301546116ed90829063ffffffff6115ec16565b600160a060020a0384166000908152600b60209081526040808320838155600181018490556002810184905560030183905560089091529020805460ff1916905590506117ec565b600160a060020a0383166000908152600b602052604090206002015461176290829063ffffffff6115ec16565b600160a060020a0384166000908152600b602052604090206002810154600390910154919250611798919063ffffffff6115da16565b600160a060020a0384166000908152600b602052604090206003810191909155600181015490546117ce9163ffffffff6115ec16565b600160a060020a0384166000908152600b6020526040902055611679565b604080518281529051600160a060020a038516917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a038316600090815260076020526040902054610ab8908263ffffffff6115ec165600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058208f8eca9e9d600f882cc719f550c252e8e7ab36867e1a52b418c453e36aee48b80029

Swarm Source

bzzr://8f8eca9e9d600f882cc719f550c252e8e7ab36867e1a52b418c453e36aee48b8

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.