ETH Price: $2,665.39 (+9.33%)
Gas: 4 Gwei

Contract

0x57c8D5d5b87A1580FDAF996cEF674Bb0d7F14C98
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer155593352022-09-18 8:46:47691 days ago1663490807IN
0x57c8D5d5...0d7F14C98
0 ETH0.000048972
Transfer152357992022-07-29 6:34:04742 days ago1659076444IN
0x57c8D5d5...0d7F14C98
0 ETH0.0002563210.46737663
Transfer140987572022-01-29 5:21:51923 days ago1643433711IN
0x57c8D5d5...0d7F14C98
0 ETH0.0020612584.17415056
Transfer140987352022-01-29 5:17:46923 days ago1643433466IN
0x57c8D5d5...0d7F14C98
0 ETH0.0023138994.49104914
Transfer140984662022-01-29 4:21:32923 days ago1643430092IN
0x57c8D5d5...0d7F14C98
0 ETH0.00306882125.31942294
Transfer139587642022-01-07 14:04:31944 days ago1641564271IN
0x57c8D5d5...0d7F14C98
0 ETH0.0061833252.37975119
Transfer139587422022-01-07 13:58:43944 days ago1641563923IN
0x57c8D5d5...0d7F14C98
0 ETH0.00371749151.73461422
Transfer139587182022-01-07 13:53:08944 days ago1641563588IN
0x57c8D5d5...0d7F14C98
0 ETH0.00381307155.63551671
Transfer139507392022-01-06 8:14:21946 days ago1641456861IN
0x57c8D5d5...0d7F14C98
0 ETH0.0023339795.26446499
Transfer139506582022-01-06 7:57:28946 days ago1641455848IN
0x57c8D5d5...0d7F14C98
0 ETH0.0023682296.66213604
Transfer139506332022-01-06 7:53:01946 days ago1641455581IN
0x57c8D5d5...0d7F14C98
0 ETH0.00301332122.99302294
Transfer139506272022-01-06 7:50:45946 days ago1641455445IN
0x57c8D5d5...0d7F14C98
0 ETH0.0022944693.65163656
Transfer139505932022-01-06 7:41:31946 days ago1641454891IN
0x57c8D5d5...0d7F14C98
0 ETH0.0020987785.66428972
Transfer139275422022-01-02 17:58:08949 days ago1641146288IN
0x57c8D5d5...0d7F14C98
0 ETH0.0023274694.99841804
Transfer132192872021-09-13 19:35:321060 days ago1631561732IN
0x57c8D5d5...0d7F14C98
0 ETH0.00137256.00000145
Transfer129920992021-08-09 16:45:301095 days ago1628527530IN
0x57c8D5d5...0d7F14C98
0 ETH0.0009795240
Transfer127335692021-06-30 5:46:411136 days ago1625032001IN
0x57c8D5d5...0d7F14C98
0 ETH0.00029412.00000145
Transfer127081102021-06-26 6:37:261140 days ago1624689446IN
0x57c8D5d5...0d7F14C98
0 ETH0.000097954
Transfer126320432021-06-14 10:30:491151 days ago1623666649IN
0x57c8D5d5...0d7F14C98
0 ETH0.0002693611.00000145
Transfer126239792021-06-13 4:23:361153 days ago1623558216IN
0x57c8D5d5...0d7F14C98
0 ETH0.000171417.00000145
Transfer125800852021-06-06 9:18:221160 days ago1622971102IN
0x57c8D5d5...0d7F14C98
0 ETH0.00024510
Transfer125640192021-06-03 21:48:131162 days ago1622756893IN
0x57c8D5d5...0d7F14C98
0 ETH0.0004096416.72000014
Transfer124620372021-05-19 1:56:341178 days ago1621389394IN
0x57c8D5d5...0d7F14C98
0 ETH0.002891118.00000145
Transfer124307572021-05-14 5:58:191183 days ago1620971899IN
0x57c8D5d5...0d7F14C98
0 ETH0.00288958118.00000156
Transfer123812082021-05-06 14:17:581190 days ago1620310678IN
0x57c8D5d5...0d7F14C98
0 ETH0.0017386471.00000145
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:
OdinToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-07-18
*/

pragma solidity ^0.4.24;
//
// Odin Browser Token
// Author: Odin browser group
// Contact: [email protected]
// Home page: https://www.odinlink.com
// Telegram:  https://t.me/OdinChain666666
//
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 OdinToken {
	using SafeMath for uint256;
    string public constant name         = "OdinBrowser";
    string public constant symbol       = "ODIN";
    uint public constant decimals       = 18;
    
    uint256 OdinEthRate                  = 10 ** decimals;
    uint256 OdinSupply                   = 15000000000;
    uint256 public totalSupply          = OdinSupply * OdinEthRate;
    uint256 public minInvEth            = 0.1 ether;
    uint256 public maxInvEth            = 1000.0 ether;
    uint256 public sellStartTime        = 1533052800;           // 2018/8/1
    uint256 public sellDeadline1        = sellStartTime + 30 days;
    uint256 public sellDeadline2        = sellDeadline1 + 30 days;
    uint256 public freezeDuration       = 30 days;
    uint256 public ethOdinRate1          = 3600;
    uint256 public ethOdinRate2          = 3600;

    bool public running                 = true;
    bool public buyable                 = true;
    
    address owner;
    mapping (address => mapping (address => uint256)) allowed;
    mapping (address => bool) public whitelist;
    mapping (address =>  uint256) whitelistLimit;

    struct BalanceInfo {
        uint256 balance;
        uint256[] freezeAmount;
        uint256[] releaseTime;
    }
    mapping (address => BalanceInfo) balances;
    
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event BeginRunning();
    event Pause();
    event BeginSell();
    event PauseSell();
    event Burn(address indexed burner, uint256 val);
    event Freeze(address indexed from, uint256 value);
    
    constructor () public{
        owner = msg.sender;
        balances[owner].balance = totalSupply;
    }
    
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    
    modifier onlyWhitelist() {
        require(whitelist[msg.sender] == true);
        _;
    }
    
    modifier isRunning(){
        require(running);
        _;
    }
    modifier isNotRunning(){
        require(!running);
        _;
    }
    modifier isBuyable(){
        require(buyable && now >= sellStartTime && now <= sellDeadline2);
        _;
    }
    modifier isNotBuyable(){
        require(!buyable || now < sellStartTime || now > sellDeadline2);
        _;
    }
    // mitigates the ERC20 short address attack
    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length >= size + 4);
        _;
    }

    // 1eth = newRate tokens
    function setPublicOfferPrice(uint256 _rate1, uint256 _rate2) onlyOwner public {
        ethOdinRate1 = _rate1;
        ethOdinRate2 = _rate2;       
    }

    //
    function setPublicOfferLimit(uint256 _minVal, uint256 _maxVal) onlyOwner public {
        minInvEth   = _minVal;
        maxInvEth   = _maxVal;
    }
    
    function setPublicOfferDate(uint256 _startTime, uint256 _deadLine1, uint256 _deadLine2) onlyOwner public {
        sellStartTime = _startTime;
        sellDeadline1   = _deadLine1;
        sellDeadline2   = _deadLine2;
    }
        
    function transferOwnership(address _newOwner) onlyOwner public {
        if (_newOwner !=    address(0)) {
            owner = _newOwner;
        }
    }
    
    function pause() onlyOwner isRunning    public   {
        running = false;
        emit Pause();
    }
    
    function start() onlyOwner isNotRunning public   {
        running = true;
        emit BeginRunning();
    }

    function pauseSell() onlyOwner  isBuyable isRunning public{
        buyable = false;
        emit PauseSell();
    }
    
    function beginSell() onlyOwner  isNotBuyable isRunning  public{
        buyable = true;
        emit BeginSell();
    }

    //
    // _amount in Odin, 
    //
    function airDeliver(address _to,    uint256 _amount)  onlyOwner public {
        require(owner != _to);
        require(_amount > 0);
        require(balances[owner].balance >= _amount);
        
        // take big number as wei
        if(_amount < OdinSupply){
            _amount = _amount * OdinEthRate;
        }
        balances[owner].balance = balances[owner].balance.sub(_amount);
        balances[_to].balance = balances[_to].balance.add(_amount);
        emit Transfer(owner, _to, _amount);
    }
    
    
    function airDeliverMulti(address[]  _addrs, uint256 _amount) onlyOwner public {
        require(_addrs.length <=  255);
        
        for (uint8 i = 0; i < _addrs.length; i++)   {
            airDeliver(_addrs[i],   _amount);
        }
    }
    
    function airDeliverStandalone(address[] _addrs, uint256[] _amounts) onlyOwner public {
        require(_addrs.length <=  255);
        require(_addrs.length ==     _amounts.length);
        
        for (uint8 i = 0; i < _addrs.length;    i++) {
            airDeliver(_addrs[i],   _amounts[i]);
        }
    }

    //
    // _amount, _freezeAmount in Odin
    //
    function  freezeDeliver(address _to, uint _amount, uint _freezeAmount, uint _freezeMonth, uint _unfreezeBeginTime ) onlyOwner public {
        require(owner != _to);
        require(_freezeMonth > 0);
        
        uint average = _freezeAmount / _freezeMonth;
        BalanceInfo storage bi = balances[_to];
        uint[] memory fa = new uint[](_freezeMonth);
        uint[] memory rt = new uint[](_freezeMonth);

        if(_amount < OdinSupply){
            _amount = _amount * OdinEthRate;
            average = average * OdinEthRate;
            _freezeAmount = _freezeAmount * OdinEthRate;
        }
        require(balances[owner].balance > _amount);
        uint remainAmount = _freezeAmount;
        
        if(_unfreezeBeginTime == 0)
            _unfreezeBeginTime = now + freezeDuration;
        for(uint i=0;i<_freezeMonth-1;i++){
            fa[i] = average;
            rt[i] = _unfreezeBeginTime;
            _unfreezeBeginTime += freezeDuration;
            remainAmount = remainAmount.sub(average);
        }
        fa[i] = remainAmount;
        rt[i] = _unfreezeBeginTime;
        
        bi.balance = bi.balance.add(_amount);
        bi.freezeAmount = fa;
        bi.releaseTime = rt;
        balances[owner].balance = balances[owner].balance.sub(_amount);
        emit Transfer(owner, _to, _amount);
        emit Freeze(_to, _freezeAmount);
    }
    
    
    // buy tokens directly
    function () external payable {
        buyTokens();
    }

    //
    function buyTokens() payable isRunning isBuyable onlyWhitelist  public {
        uint256 weiVal = msg.value;
        address investor = msg.sender;
        require(investor != address(0) && weiVal >= minInvEth && weiVal <= maxInvEth);
        require(weiVal.add(whitelistLimit[investor]) <= maxInvEth);
        
        uint256 amount = 0;
        if(now > sellDeadline1)
            amount = msg.value.mul(ethOdinRate2);
        else
            amount = msg.value.mul(ethOdinRate1);   

        whitelistLimit[investor] = weiVal.add(whitelistLimit[investor]);
        
        balances[owner].balance = balances[owner].balance.sub(amount);
        balances[investor].balance = balances[investor].balance.add(amount);
        emit Transfer(owner, investor, amount);
    }

    function addWhitelist(address[] _addrs) public onlyOwner {
        require(_addrs.length <=  255);

        for (uint8 i = 0; i < _addrs.length; i++) {
            if (!whitelist[_addrs[i]]){
                whitelist[_addrs[i]] = true;
            }
        }
    }

    function balanceOf(address _owner) constant public returns (uint256) {
        return balances[_owner].balance;
    }
    
    function freezeOf(address _owner) constant  public returns (uint256) {
        BalanceInfo storage bi = balances[_owner];
        uint freezeAmount = 0;
        uint t = now;
        
        for(uint i=0;i< bi.freezeAmount.length;i++){
            if(t < bi.releaseTime[i])
                freezeAmount += bi.freezeAmount[i];
        }
        return freezeAmount;
    }
    
    function transfer(address _to, uint256 _amount)  isRunning onlyPayloadSize(2 *  32) public returns (bool success) {
        require(_to != address(0));
        uint freezeAmount = freezeOf(msg.sender);
        uint256 _balance = balances[msg.sender].balance.sub(freezeAmount);
        require(_amount <= _balance);
        
        balances[msg.sender].balance = balances[msg.sender].balance.sub(_amount);
        balances[_to].balance = balances[_to].balance.add(_amount);
        emit Transfer(msg.sender, _to, _amount);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _amount) isRunning onlyPayloadSize(3 * 32) public returns (bool   success) {
        require(_from   != address(0) && _to != address(0));
        require(_amount <= allowed[_from][msg.sender]);
        uint freezeAmount = freezeOf(_from);
        uint256 _balance = balances[_from].balance.sub(freezeAmount);
        require(_amount <= _balance);
        
        balances[_from].balance = balances[_from].balance.sub(_amount);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
        balances[_to].balance = balances[_to].balance.add(_amount);
        emit Transfer(_from, _to, _amount);
        return true;
    }

    function approve(address _spender, uint256 _value) isRunning public returns (bool   success) {
        if (_value != 0 && allowed[msg.sender][_spender] != 0) { 
            return  false; 
        }
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
    
    function allowance(address _owner, address _spender) constant public returns (uint256) {
        return allowed[_owner][_spender];
    }
    
    function withdraw() onlyOwner public {
        address myAddress = this;
        require(myAddress.balance > 0);
        owner.transfer(myAddress.balance);
        emit Transfer(this, owner, myAddress.balance);    
    }
    
    function burn(address burner, uint256 _value) onlyOwner public {
        require(_value <= balances[msg.sender].balance);

        balances[burner].balance = balances[burner].balance.sub(_value);
        totalSupply = totalSupply.sub(_value);
        OdinSupply = totalSupply / OdinEthRate;
        emit Burn(burner, _value);
    }
}

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":false,"inputs":[{"name":"_addrs","type":"address[]"},{"name":"_amount","type":"uint256"}],"name":"airDeliverMulti","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"airDeliver","outputs":[],"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":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_freezeAmount","type":"uint256"},{"name":"_freezeMonth","type":"uint256"},{"name":"_unfreezeBeginTime","type":"uint256"}],"name":"freezeDeliver","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_rate1","type":"uint256"},{"name":"_rate2","type":"uint256"}],"name":"setPublicOfferPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"freezeDuration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_deadLine1","type":"uint256"},{"name":"_deadLine2","type":"uint256"}],"name":"setPublicOfferDate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"beginSell","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":true,"inputs":[],"name":"maxInvEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pauseSell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellDeadline2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"burner","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","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":"_addrs","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"airDeliverStandalone","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ethOdinRate2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_minVal","type":"uint256"},{"name":"_maxVal","type":"uint256"}],"name":"setPublicOfferLimit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"freezeOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"minInvEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"running","outputs":[{"name":"","type":"bool"}],"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":true,"inputs":[],"name":"ethOdinRate1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellDeadline1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addrs","type":"address[]"}],"name":"addWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":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":[],"name":"BeginRunning","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"BeginSell","type":"event"},{"anonymous":false,"inputs":[],"name":"PauseSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"val","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Freeze","type":"event"}]

6080604052670de0b6b3a764000060005564037e11d60060019081556b3077b58d5d3783919800000060025567016345785d8a0000600355683635c9adc5dea00000600455635b608780600555635b881480600655635bafa18060075562278d00600855610e106009819055600a55600b805461ff001960ff199091169092179190911661010017905534801561009557600080fd5b50600b8054620100003381026201000060b060020a031990921691909117918290556002549104600160a060020a03166000908152600f6020526040902055611a11806100e36000396000f3006080604052600436106101cc5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101d6578063095ea7b3146102605780630c3e564a146102985780630ea7c8cd146102ef57806318160ddd1461031357806323b872dd1461033a578063313ce5671461036457806334d05b1f1461037957806335490ee9146103a65780633ccfd60b146103c1578063440991bd146103d65780634a7084bb146103eb57806355d8bbd51461040957806370a082311461041e5780637d4ce8741461043f5780638456cb591461045457806388c7e3971461046957806395d89b411461047e5780639754a7d8146104935780639aea020b146104a85780639b19251a146104bd5780639dc29fac146104de578063a9059cbb14610502578063b885d56014610526578063baa79dd3146105b4578063be9a6555146105c9578063cb60f8b4146105de578063cc00814d146105f3578063cd4217c11461060e578063d0febe4c146101cc578063d70b63421461062f578063d85bd52614610644578063dd62ed3e14610659578063e172dac814610680578063e28a5e6314610695578063edac985b146106aa578063f2fde38b146106ff575b6101d4610720565b005b3480156101e257600080fd5b506101eb610934565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022557818101518382015260200161020d565b50505050905090810190601f1680156102525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026c57600080fd5b50610284600160a060020a036004351660243561096b565b604080519115158252519081900360200190f35b3480156102a457600080fd5b50604080516020600480358082013583810280860185019096528085526101d4953695939460249493850192918291850190849080828437509497505093359450610a259350505050565b3480156102fb57600080fd5b506101d4600160a060020a0360043516602435610a95565b34801561031f57600080fd5b50610328610bd8565b60408051918252519081900360200190f35b34801561034657600080fd5b50610284600160a060020a0360043581169060243516604435610bde565b34801561037057600080fd5b50610328610d9e565b34801561038557600080fd5b506101d4600160a060020a0360043516602435604435606435608435610da3565b3480156103b257600080fd5b506101d46004356024356110d4565b3480156103cd57600080fd5b506101d46110fc565b3480156103e257600080fd5b506103286111af565b3480156103f757600080fd5b506101d46004356024356044356111b5565b34801561041557600080fd5b506101d46111e0565b34801561042a57600080fd5b50610328600160a060020a0360043516611277565b34801561044b57600080fd5b50610328611292565b34801561046057600080fd5b506101d4611298565b34801561047557600080fd5b506102846112fb565b34801561048a57600080fd5b506101eb611309565b34801561049f57600080fd5b506101d4611340565b3480156104b457600080fd5b506103286113d6565b3480156104c957600080fd5b50610284600160a060020a03600435166113dc565b3480156104ea57600080fd5b506101d4600160a060020a03600435166024356113f1565b34801561050e57600080fd5b50610284600160a060020a03600435166024356114d8565b34801561053257600080fd5b50604080516020600480358082013583810280860185019096528085526101d495369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506115ee9650505050505050565b3480156105c057600080fd5b50610328611681565b3480156105d557600080fd5b506101d4611687565b3480156105ea57600080fd5b506103286116ec565b3480156105ff57600080fd5b506101d46004356024356116f2565b34801561061a57600080fd5b50610328600160a060020a036004351661171a565b34801561063b57600080fd5b50610328611796565b34801561065057600080fd5b5061028461179c565b34801561066557600080fd5b50610328600160a060020a03600435811690602435166117a5565b34801561068c57600080fd5b506103286117d0565b3480156106a157600080fd5b506103286117d6565b3480156106b657600080fd5b50604080516020600480358082013583810280860185019096528085526101d4953695939460249493850192918291850190849080828437509497506117dc9650505050505050565b34801561070b57600080fd5b506101d4600160a060020a03600435166118b2565b600b546000908190819060ff16151561073857600080fd5b600b54610100900460ff16801561075157506005544210155b801561075f57506007544211155b151561076a57600080fd5b336000908152600d602052604090205460ff16151560011461078b57600080fd5b34925033915081158015906107a257506003548310155b80156107b057506004548311155b15156107bb57600080fd5b600454600160a060020a0383166000908152600e60205260409020546107e890859063ffffffff61191116565b11156107f357600080fd5b6000905060065442111561081c57600a5461081590349063ffffffff61192716565b9050610833565b60095461083090349063ffffffff61192716565b90505b600160a060020a0382166000908152600e602052604090205461085d90849063ffffffff61191116565b600160a060020a038084166000908152600e6020908152604080832094909455600b546201000090049092168152600f90915220546108a2908263ffffffff61194b16565b600b54600160a060020a036201000090910481166000908152600f602052604080822093909355908416815220546108e0908263ffffffff61191116565b600160a060020a038084166000818152600f602090815260409182902094909455600b5481518681529151929462010000909104909316926000805160206119c683398151915292918290030190a3505050565b60408051808201909152600b81527f4f64696e42726f77736572000000000000000000000000000000000000000000602082015281565b600b5460009060ff16151561097f57600080fd5b81158015906109b05750336000908152600c60209081526040808320600160a060020a038716845290915290205415155b156109bd57506000610a1f565b336000818152600c60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b600b54600090620100009004600160a060020a03163314610a4557600080fd5b825160ff1015610a5457600080fd5b5060005b82518160ff161015610a9057610a88838260ff16815181101515610a7857fe5b9060200190602002015183610a95565b600101610a58565b505050565b600b54620100009004600160a060020a03163314610ab257600080fd5b600b54600160a060020a0383811662010000909204161415610ad357600080fd5b60008111610ae057600080fd5b600b54620100009004600160a060020a03166000908152600f6020526040902054811115610b0d57600080fd5b600154811015610b1c57600054025b600b54620100009004600160a060020a03166000908152600f6020526040902054610b47908261194b565b600b54600160a060020a036201000090910481166000908152600f60205260408082209390935590841681522054610b85908263ffffffff61191116565b600160a060020a038084166000818152600f602090815260409182902094909455600b5481518681529151929462010000909104909316926000805160206119c683398151915292918290030190a35050565b60025481565b600b546000908190819060ff161515610bf657600080fd5b60606064361015610c0357fe5b600160a060020a03871615801590610c235750600160a060020a03861615155b1515610c2e57600080fd5b600160a060020a0387166000908152600c60209081526040808320338452909152902054851115610c5e57600080fd5b610c678761171a565b600160a060020a0388166000908152600f6020526040902054909350610c93908463ffffffff61194b16565b915081851115610ca257600080fd5b600160a060020a0387166000908152600f6020526040902054610ccb908663ffffffff61194b16565b600160a060020a0388166000908152600f6020908152604080832093909355600c815282822033835290522054610d08908663ffffffff61194b16565b600160a060020a038089166000908152600c602090815260408083203384528252808320949094559189168152600f9091522054610d4c908663ffffffff61191116565b600160a060020a038088166000818152600f602090815260409182902094909455805189815290519193928b16926000805160206119c683398151915292918290030190a35060019695505050505050565b601281565b600080606080600080600b60029054906101000a9004600160a060020a0316600160a060020a031633600160a060020a0316141515610de157600080fd5b600b54600160a060020a038c811662010000909204161415610e0257600080fd5b60008811610e0f57600080fd5b8789811515610e1a57fe5b049550600f60008c600160a060020a0316600160a060020a03168152602001908152602001600020945087604051908082528060200260200182016040528015610e6e578160200160208202803883390190505b50935087604051908082528060200260200182016040528015610e9b578160200160208202803883390190505b5092506001548a1015610eb957600054998a02999889029895909502945b600b54620100009004600160a060020a03166000908152600f60205260409020548a10610ee557600080fd5b889150861515610ef757600854420196505b5060005b60018803811015610f5b57858482815181101515610f1557fe5b6020908102909101015282518790849083908110610f2f57fe5b602090810290910101526008549690960195610f51828763ffffffff61194b16565b9150600101610efb565b818482815181101515610f6a57fe5b6020908102909101015282518790849083908110610f8457fe5b602090810290910101528454610fa0908b63ffffffff61191116565b85558351610fb7906001870190602087019061195d565b508251610fcd906002870190602086019061195d565b50600b54620100009004600160a060020a03166000908152600f6020526040902054610ff9908b61194b565b600f6000600b60029054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020600001819055508a600160a060020a0316600b60029054906101000a9004600160a060020a0316600160a060020a03166000805160206119c68339815191528c6040518082815260200191505060405180910390a3604080518a81529051600160a060020a038d16917ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0919081900360200190a25050505050505050505050565b600b54620100009004600160a060020a031633146110f157600080fd5b600991909155600a55565b600b54600090620100009004600160a060020a0316331461111c57600080fd5b5030600081311161112c57600080fd5b600b54604051600160a060020a036201000090920482169183163180156108fc02916000818181858888f1935050505015801561116d573d6000803e3d6000fd5b50600b5460408051600160a060020a03848116318252915162010000909304919091169130916000805160206119c6833981519152919081900360200190a350565b60085481565b600b54620100009004600160a060020a031633146111d257600080fd5b600592909255600655600755565b600b54620100009004600160a060020a031633146111fd57600080fd5b600b54610100900460ff161580611215575060055442105b80611221575060075442115b151561122c57600080fd5b600b5460ff16151561123d57600080fd5b600b805461ff0019166101001790556040517fd5b089eb0ec44264fc274d9a4adaafa6bfe78bdbeaf4b128d6871d5314057c5690600090a1565b600160a060020a03166000908152600f602052604090205490565b60045481565b600b54620100009004600160a060020a031633146112b557600080fd5b600b5460ff1615156112c657600080fd5b600b805460ff191690556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600b54610100900460ff1681565b60408051808201909152600481527f4f44494e00000000000000000000000000000000000000000000000000000000602082015281565b600b54620100009004600160a060020a0316331461135d57600080fd5b600b54610100900460ff16801561137657506005544210155b801561138457506007544211155b151561138f57600080fd5b600b5460ff1615156113a057600080fd5b600b805461ff00191690556040517fb9248e98c8764c68b0d9dd60de677553b9c38a5a521bbb362bb6f5aab6937e8990600090a1565b60075481565b600d6020526000908152604090205460ff1681565b600b54620100009004600160a060020a0316331461140e57600080fd5b336000908152600f602052604090205481111561142a57600080fd5b600160a060020a0382166000908152600f6020526040902054611453908263ffffffff61194b16565b600160a060020a0383166000908152600f602052604090205560025461147f908263ffffffff61194b16565b60028190556000549081151561149157fe5b04600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600b546000908190819060ff1615156114f057600080fd5b604060443610156114fd57fe5b600160a060020a038616151561151257600080fd5b61151b3361171a565b336000908152600f602052604090205490935061153e908463ffffffff61194b16565b91508185111561154d57600080fd5b336000908152600f602052604090205461156d908663ffffffff61194b16565b336000908152600f602052604080822092909255600160a060020a0388168152205461159f908663ffffffff61191116565b600160a060020a0387166000818152600f60209081526040918290209390935580518881529051919233926000805160206119c68339815191529281900390910190a350600195945050505050565b600b54600090620100009004600160a060020a0316331461160e57600080fd5b825160ff101561161d57600080fd5b815183511461162b57600080fd5b5060005b82518160ff161015610a9057611679838260ff1681518110151561164f57fe5b90602001906020020151838360ff1681518110151561166a57fe5b90602001906020020151610a95565b60010161162f565b600a5481565b600b54620100009004600160a060020a031633146116a457600080fd5b600b5460ff16156116b457600080fd5b600b805460ff191660011790556040517ff999e0378b31fd060880ceb4bc403bc32de3d1000bee77078a09c7f1d929a51590600090a1565b60055481565b600b54620100009004600160a060020a0316331461170f57600080fd5b600391909155600455565b600160a060020a0381166000908152600f602052604081208142815b600184015481101561178c576002840180548290811061175257fe5b9060005260206000200154821015611784576001840180548290811061177457fe5b9060005260206000200154830192505b600101611736565b5090949350505050565b60035481565b600b5460ff1681565b600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b60095481565b60065481565b600b54600090620100009004600160a060020a031633146117fc57600080fd5b815160ff101561180b57600080fd5b5060005b81518160ff1610156118ae57600d6000838360ff1681518110151561183057fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff1615156118a6576001600d6000848460ff1681518110151561187357fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790555b60010161180f565b5050565b600b54620100009004600160a060020a031633146118cf57600080fd5b600160a060020a0381161561190e57600b805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038416021790555b50565b60008282018381101561192057fe5b9392505050565b6000828202831580611943575082848281151561194057fe5b04145b151561192057fe5b60008282111561195757fe5b50900390565b828054828255906000526020600020908101928215611998579160200282015b8281111561199857825182559160200191906001019061197d565b506119a49291506119a8565b5090565b6119c291905b808211156119a457600081556001016119ae565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820965eadb50926c51342fe8f64a0eb6d1ea6dd5551459d0d912b7fd954c4bc25e80029

Deployed Bytecode

0x6080604052600436106101cc5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101d6578063095ea7b3146102605780630c3e564a146102985780630ea7c8cd146102ef57806318160ddd1461031357806323b872dd1461033a578063313ce5671461036457806334d05b1f1461037957806335490ee9146103a65780633ccfd60b146103c1578063440991bd146103d65780634a7084bb146103eb57806355d8bbd51461040957806370a082311461041e5780637d4ce8741461043f5780638456cb591461045457806388c7e3971461046957806395d89b411461047e5780639754a7d8146104935780639aea020b146104a85780639b19251a146104bd5780639dc29fac146104de578063a9059cbb14610502578063b885d56014610526578063baa79dd3146105b4578063be9a6555146105c9578063cb60f8b4146105de578063cc00814d146105f3578063cd4217c11461060e578063d0febe4c146101cc578063d70b63421461062f578063d85bd52614610644578063dd62ed3e14610659578063e172dac814610680578063e28a5e6314610695578063edac985b146106aa578063f2fde38b146106ff575b6101d4610720565b005b3480156101e257600080fd5b506101eb610934565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022557818101518382015260200161020d565b50505050905090810190601f1680156102525780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561026c57600080fd5b50610284600160a060020a036004351660243561096b565b604080519115158252519081900360200190f35b3480156102a457600080fd5b50604080516020600480358082013583810280860185019096528085526101d4953695939460249493850192918291850190849080828437509497505093359450610a259350505050565b3480156102fb57600080fd5b506101d4600160a060020a0360043516602435610a95565b34801561031f57600080fd5b50610328610bd8565b60408051918252519081900360200190f35b34801561034657600080fd5b50610284600160a060020a0360043581169060243516604435610bde565b34801561037057600080fd5b50610328610d9e565b34801561038557600080fd5b506101d4600160a060020a0360043516602435604435606435608435610da3565b3480156103b257600080fd5b506101d46004356024356110d4565b3480156103cd57600080fd5b506101d46110fc565b3480156103e257600080fd5b506103286111af565b3480156103f757600080fd5b506101d46004356024356044356111b5565b34801561041557600080fd5b506101d46111e0565b34801561042a57600080fd5b50610328600160a060020a0360043516611277565b34801561044b57600080fd5b50610328611292565b34801561046057600080fd5b506101d4611298565b34801561047557600080fd5b506102846112fb565b34801561048a57600080fd5b506101eb611309565b34801561049f57600080fd5b506101d4611340565b3480156104b457600080fd5b506103286113d6565b3480156104c957600080fd5b50610284600160a060020a03600435166113dc565b3480156104ea57600080fd5b506101d4600160a060020a03600435166024356113f1565b34801561050e57600080fd5b50610284600160a060020a03600435166024356114d8565b34801561053257600080fd5b50604080516020600480358082013583810280860185019096528085526101d495369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a9989019892975090820195509350839250850190849080828437509497506115ee9650505050505050565b3480156105c057600080fd5b50610328611681565b3480156105d557600080fd5b506101d4611687565b3480156105ea57600080fd5b506103286116ec565b3480156105ff57600080fd5b506101d46004356024356116f2565b34801561061a57600080fd5b50610328600160a060020a036004351661171a565b34801561063b57600080fd5b50610328611796565b34801561065057600080fd5b5061028461179c565b34801561066557600080fd5b50610328600160a060020a03600435811690602435166117a5565b34801561068c57600080fd5b506103286117d0565b3480156106a157600080fd5b506103286117d6565b3480156106b657600080fd5b50604080516020600480358082013583810280860185019096528085526101d4953695939460249493850192918291850190849080828437509497506117dc9650505050505050565b34801561070b57600080fd5b506101d4600160a060020a03600435166118b2565b600b546000908190819060ff16151561073857600080fd5b600b54610100900460ff16801561075157506005544210155b801561075f57506007544211155b151561076a57600080fd5b336000908152600d602052604090205460ff16151560011461078b57600080fd5b34925033915081158015906107a257506003548310155b80156107b057506004548311155b15156107bb57600080fd5b600454600160a060020a0383166000908152600e60205260409020546107e890859063ffffffff61191116565b11156107f357600080fd5b6000905060065442111561081c57600a5461081590349063ffffffff61192716565b9050610833565b60095461083090349063ffffffff61192716565b90505b600160a060020a0382166000908152600e602052604090205461085d90849063ffffffff61191116565b600160a060020a038084166000908152600e6020908152604080832094909455600b546201000090049092168152600f90915220546108a2908263ffffffff61194b16565b600b54600160a060020a036201000090910481166000908152600f602052604080822093909355908416815220546108e0908263ffffffff61191116565b600160a060020a038084166000818152600f602090815260409182902094909455600b5481518681529151929462010000909104909316926000805160206119c683398151915292918290030190a3505050565b60408051808201909152600b81527f4f64696e42726f77736572000000000000000000000000000000000000000000602082015281565b600b5460009060ff16151561097f57600080fd5b81158015906109b05750336000908152600c60209081526040808320600160a060020a038716845290915290205415155b156109bd57506000610a1f565b336000818152600c60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b600b54600090620100009004600160a060020a03163314610a4557600080fd5b825160ff1015610a5457600080fd5b5060005b82518160ff161015610a9057610a88838260ff16815181101515610a7857fe5b9060200190602002015183610a95565b600101610a58565b505050565b600b54620100009004600160a060020a03163314610ab257600080fd5b600b54600160a060020a0383811662010000909204161415610ad357600080fd5b60008111610ae057600080fd5b600b54620100009004600160a060020a03166000908152600f6020526040902054811115610b0d57600080fd5b600154811015610b1c57600054025b600b54620100009004600160a060020a03166000908152600f6020526040902054610b47908261194b565b600b54600160a060020a036201000090910481166000908152600f60205260408082209390935590841681522054610b85908263ffffffff61191116565b600160a060020a038084166000818152600f602090815260409182902094909455600b5481518681529151929462010000909104909316926000805160206119c683398151915292918290030190a35050565b60025481565b600b546000908190819060ff161515610bf657600080fd5b60606064361015610c0357fe5b600160a060020a03871615801590610c235750600160a060020a03861615155b1515610c2e57600080fd5b600160a060020a0387166000908152600c60209081526040808320338452909152902054851115610c5e57600080fd5b610c678761171a565b600160a060020a0388166000908152600f6020526040902054909350610c93908463ffffffff61194b16565b915081851115610ca257600080fd5b600160a060020a0387166000908152600f6020526040902054610ccb908663ffffffff61194b16565b600160a060020a0388166000908152600f6020908152604080832093909355600c815282822033835290522054610d08908663ffffffff61194b16565b600160a060020a038089166000908152600c602090815260408083203384528252808320949094559189168152600f9091522054610d4c908663ffffffff61191116565b600160a060020a038088166000818152600f602090815260409182902094909455805189815290519193928b16926000805160206119c683398151915292918290030190a35060019695505050505050565b601281565b600080606080600080600b60029054906101000a9004600160a060020a0316600160a060020a031633600160a060020a0316141515610de157600080fd5b600b54600160a060020a038c811662010000909204161415610e0257600080fd5b60008811610e0f57600080fd5b8789811515610e1a57fe5b049550600f60008c600160a060020a0316600160a060020a03168152602001908152602001600020945087604051908082528060200260200182016040528015610e6e578160200160208202803883390190505b50935087604051908082528060200260200182016040528015610e9b578160200160208202803883390190505b5092506001548a1015610eb957600054998a02999889029895909502945b600b54620100009004600160a060020a03166000908152600f60205260409020548a10610ee557600080fd5b889150861515610ef757600854420196505b5060005b60018803811015610f5b57858482815181101515610f1557fe5b6020908102909101015282518790849083908110610f2f57fe5b602090810290910101526008549690960195610f51828763ffffffff61194b16565b9150600101610efb565b818482815181101515610f6a57fe5b6020908102909101015282518790849083908110610f8457fe5b602090810290910101528454610fa0908b63ffffffff61191116565b85558351610fb7906001870190602087019061195d565b508251610fcd906002870190602086019061195d565b50600b54620100009004600160a060020a03166000908152600f6020526040902054610ff9908b61194b565b600f6000600b60029054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020600001819055508a600160a060020a0316600b60029054906101000a9004600160a060020a0316600160a060020a03166000805160206119c68339815191528c6040518082815260200191505060405180910390a3604080518a81529051600160a060020a038d16917ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0919081900360200190a25050505050505050505050565b600b54620100009004600160a060020a031633146110f157600080fd5b600991909155600a55565b600b54600090620100009004600160a060020a0316331461111c57600080fd5b5030600081311161112c57600080fd5b600b54604051600160a060020a036201000090920482169183163180156108fc02916000818181858888f1935050505015801561116d573d6000803e3d6000fd5b50600b5460408051600160a060020a03848116318252915162010000909304919091169130916000805160206119c6833981519152919081900360200190a350565b60085481565b600b54620100009004600160a060020a031633146111d257600080fd5b600592909255600655600755565b600b54620100009004600160a060020a031633146111fd57600080fd5b600b54610100900460ff161580611215575060055442105b80611221575060075442115b151561122c57600080fd5b600b5460ff16151561123d57600080fd5b600b805461ff0019166101001790556040517fd5b089eb0ec44264fc274d9a4adaafa6bfe78bdbeaf4b128d6871d5314057c5690600090a1565b600160a060020a03166000908152600f602052604090205490565b60045481565b600b54620100009004600160a060020a031633146112b557600080fd5b600b5460ff1615156112c657600080fd5b600b805460ff191690556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600b54610100900460ff1681565b60408051808201909152600481527f4f44494e00000000000000000000000000000000000000000000000000000000602082015281565b600b54620100009004600160a060020a0316331461135d57600080fd5b600b54610100900460ff16801561137657506005544210155b801561138457506007544211155b151561138f57600080fd5b600b5460ff1615156113a057600080fd5b600b805461ff00191690556040517fb9248e98c8764c68b0d9dd60de677553b9c38a5a521bbb362bb6f5aab6937e8990600090a1565b60075481565b600d6020526000908152604090205460ff1681565b600b54620100009004600160a060020a0316331461140e57600080fd5b336000908152600f602052604090205481111561142a57600080fd5b600160a060020a0382166000908152600f6020526040902054611453908263ffffffff61194b16565b600160a060020a0383166000908152600f602052604090205560025461147f908263ffffffff61194b16565b60028190556000549081151561149157fe5b04600155604080518281529051600160a060020a038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b600b546000908190819060ff1615156114f057600080fd5b604060443610156114fd57fe5b600160a060020a038616151561151257600080fd5b61151b3361171a565b336000908152600f602052604090205490935061153e908463ffffffff61194b16565b91508185111561154d57600080fd5b336000908152600f602052604090205461156d908663ffffffff61194b16565b336000908152600f602052604080822092909255600160a060020a0388168152205461159f908663ffffffff61191116565b600160a060020a0387166000818152600f60209081526040918290209390935580518881529051919233926000805160206119c68339815191529281900390910190a350600195945050505050565b600b54600090620100009004600160a060020a0316331461160e57600080fd5b825160ff101561161d57600080fd5b815183511461162b57600080fd5b5060005b82518160ff161015610a9057611679838260ff1681518110151561164f57fe5b90602001906020020151838360ff1681518110151561166a57fe5b90602001906020020151610a95565b60010161162f565b600a5481565b600b54620100009004600160a060020a031633146116a457600080fd5b600b5460ff16156116b457600080fd5b600b805460ff191660011790556040517ff999e0378b31fd060880ceb4bc403bc32de3d1000bee77078a09c7f1d929a51590600090a1565b60055481565b600b54620100009004600160a060020a0316331461170f57600080fd5b600391909155600455565b600160a060020a0381166000908152600f602052604081208142815b600184015481101561178c576002840180548290811061175257fe5b9060005260206000200154821015611784576001840180548290811061177457fe5b9060005260206000200154830192505b600101611736565b5090949350505050565b60035481565b600b5460ff1681565b600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b60095481565b60065481565b600b54600090620100009004600160a060020a031633146117fc57600080fd5b815160ff101561180b57600080fd5b5060005b81518160ff1610156118ae57600d6000838360ff1681518110151561183057fe5b6020908102909101810151600160a060020a031682528101919091526040016000205460ff1615156118a6576001600d6000848460ff1681518110151561187357fe5b602090810291909101810151600160a060020a03168252810191909152604001600020805460ff19169115159190911790555b60010161180f565b5050565b600b54620100009004600160a060020a031633146118cf57600080fd5b600160a060020a0381161561190e57600b805475ffffffffffffffffffffffffffffffffffffffff0000191662010000600160a060020a038416021790555b50565b60008282018381101561192057fe5b9392505050565b6000828202831580611943575082848281151561194057fe5b04145b151561192057fe5b60008282111561195757fe5b50900390565b828054828255906000526020600020908101928215611998579160200282015b8281111561199857825182559160200191906001019061197d565b506119a49291506119a8565b5090565b6119c291905b808211156119a457600081556001016119ae565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820965eadb50926c51342fe8f64a0eb6d1ea6dd5551459d0d912b7fd954c4bc25e80029

Swarm Source

bzzr://965eadb50926c51342fe8f64a0eb6d1ea6dd5551459d0d912b7fd954c4bc25e8

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.