ETH Price: $3,279.26 (+0.27%)

Contract

0x973ef713673f3bC26A712450eB2D6b1CE534821a
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer208895652024-10-04 3:48:23100 days ago1728013703IN
0x973ef713...CE534821a
0 ETH0.000207373.83566128
Transfer123933822021-05-08 11:24:021345 days ago1620473042IN
0x973ef713...CE534821a
0 ETH0.0024113155.00000145
Transfer115552222020-12-30 11:53:241474 days ago1609329204IN
0x973ef713...CE534821a
0 ETH0.0033636661
Transfer106825892020-08-18 7:21:581608 days ago1597735318IN
0x973ef713...CE534821a
0 ETH0.0047541189
Transfer100789102020-05-16 19:13:061701 days ago1589656386IN
0x973ef713...CE534821a
0 ETH0.0002514210
Transfer100548572020-05-13 1:35:291705 days ago1589333729IN
0x973ef713...CE534821a
0 ETH0.0011028420
Transfer98724572020-04-14 19:27:121733 days ago1586892432IN
0x973ef713...CE534821a
0 ETH0.0002515410
Transfer98724312020-04-14 19:19:541733 days ago1586891994IN
0x973ef713...CE534821a
0 ETH0.0001593.96000041
Transfer98712802020-04-14 15:05:521734 days ago1586876752IN
0x973ef713...CE534821a
0 ETH0.0002514210
Transfer98712542020-04-14 14:59:391734 days ago1586876379IN
0x973ef713...CE534821a
0 ETH0.0011028420
Transfer98711392020-04-14 14:33:251734 days ago1586874805IN
0x973ef713...CE534821a
0 ETH0.0002515410
Transfer98711052020-04-14 14:25:471734 days ago1586874347IN
0x973ef713...CE534821a
0 ETH0.0011030820
Transfer98706302020-04-14 12:39:131734 days ago1586867953IN
0x973ef713...CE534821a
0 ETH0.0002514210
Transfer98705992020-04-14 12:31:481734 days ago1586867508IN
0x973ef713...CE534821a
0 ETH0.0005419113.5
Transfer98705912020-04-14 12:30:021734 days ago1586867402IN
0x973ef713...CE534821a
0 ETH0.0002515410
Transfer98705462020-04-14 12:23:031734 days ago1586866983IN
0x973ef713...CE534821a
0 ETH0.0022613141
Transfer98705362020-04-14 12:21:151734 days ago1586866875IN
0x973ef713...CE534821a
0 ETH0.0002515410
Transfer98705032020-04-14 12:13:091734 days ago1586866389IN
0x973ef713...CE534821a
0 ETH0.0011030820
Transfer98702652020-04-14 11:22:061734 days ago1586863326IN
0x973ef713...CE534821a
0 ETH0.0002515410
Transfer98702452020-04-14 11:18:551734 days ago1586863135IN
0x973ef713...CE534821a
0 ETH0.0002514210
Transfer98702322020-04-14 11:15:491734 days ago1586862949IN
0x973ef713...CE534821a
0 ETH0.0004015410
Transfer98702252020-04-14 11:14:461734 days ago1586862886IN
0x973ef713...CE534821a
0 ETH0.000125775
Transfer98702142020-04-14 11:12:471734 days ago1586862767IN
0x973ef713...CE534821a
0 ETH0.0011028420
Transfer98701912020-04-14 11:09:241734 days ago1586862564IN
0x973ef713...CE534821a
0 ETH0.000275775
Transfer98701702020-04-14 11:03:111734 days ago1586862191IN
0x973ef713...CE534821a
0 ETH0.0002514210
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:
RTNToken

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 2018-11-12
*/

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;
        newOwner = 0x0;
    }
}

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 RTNToken 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 constant public decimals =18;
    uint256 internal initialSupply;
    uint256 internal totalSupply_;
    uint256 internal mintCap;

    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 Lock(address indexed holder, uint256 value);
    event Unlock(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 = "RTN Token";
        symbol = "RTN";
        initialSupply = 1000000000; //1,000,000,000 개
        totalSupply_ = initialSupply * 10 ** uint(decimals);
        mintCap = 3000000000 * 10 ** uint(decimals); //3,000,000,000
        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) {
        uint256 lockedBalance = 0;
        if(locks[_holder]) {
            for(uint256 idx = 0; idx < lockupInfo[_holder].length ; idx++ ) {
                lockedBalance = lockedBalance.add(lockupInfo[_holder][idx].lockupBalance);
            }
        }
        return balances[_holder] + lockedBalance;
    }

    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 increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        require(spender != address(0));
        allowed[msg.sender][spender] = (allowed[msg.sender][spender].add(addedValue));
        
        emit Approval(msg.sender, spender, allowed[msg.sender][spender]);
        return true;
    }

    function decreaseAllowance( address spender, uint256 subtractedValue) public returns (bool) {
        require(spender != address(0));
        allowed[msg.sender][spender] = (allowed[msg.sender][spender].sub(subtractedValue));

        emit Approval(msg.sender, spender, allowed[msg.sender][spender]);
        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(balances[_holder] >= _amount);
        if(_termOfRound==0 ) {
            _termOfRound = 1;
        }
        balances[_holder] = balances[_holder].sub(_amount);
        lockupInfo[_holder].push(
            LockupInfo(_releaseStart, _termOfRound, _amount.div(100).mul(_releaseRate), _amount)
        );

        locks[_holder] = true;

        emit Lock(_holder, _amount);

        return true;
    }

    function unlock(address _holder, uint256 _idx) public onlyOwner returns (bool) {
        require(locks[_holder]);
        require(_idx < lockupInfo[_holder].length);
        LockupInfo storage lockupinfo = lockupInfo[_holder][_idx];
        uint256 releaseAmount = lockupinfo.lockupBalance;

        delete lockupInfo[_holder][_idx];
        lockupInfo[_holder][_idx] = lockupInfo[_holder][lockupInfo[_holder].length.sub(1)];
        lockupInfo[_holder].length -=1;
        if(lockupInfo[_holder].length == 0) {
            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, uint256 _idx) public view returns (bool, uint256, uint256, uint256, uint256, uint256) {
        if(locks[_holder]) {
            return (
                locks[_holder], 
                lockupInfo[_holder].length, 
                lockupInfo[_holder][_idx].lockupBalance, 
                lockupInfo[_holder][_idx].releaseTime, 
                lockupInfo[_holder][_idx].termOfRound, 
                lockupInfo[_holder][_idx].unlockAmountPerRound
            );
        } else {
            return (
                locks[_holder], 
                lockupInfo[_holder].length, 
                0,0,0,0
            );

        }        
    }
    
    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(address _to, uint256 _amount) onlyOwner public returns (bool) {
        require(mintCap >= totalSupply_.add(_amount));
        totalSupply_ = totalSupply_.add(_amount);
        balances[_to] = balances[_to].add(_amount);
        emit Transfer(address(0), _to, _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) {

        for(uint256 idx =0; idx < lockupInfo[_holder].length ; idx++ ) {
            if(locks[_holder]==false) {
                return true;
            }
            if (lockupInfo[_holder][idx].releaseTime <= now) {
                // If lockupinfo was deleted, loop restart at same position.
                if( releaseTimeLock(_holder, idx) ) {
                    idx -=1;
                }
            }
        }
        return true;
    }

    function releaseTimeLock(address _holder, uint256 _idx) internal returns(bool) {
        require(locks[_holder]);
        require(_idx < lockupInfo[_holder].length);

        // If lock status of holder is finished, delete lockup info. 
        LockupInfo storage info = lockupInfo[_holder][_idx];
        uint256 releaseAmount = info.unlockAmountPerRound;
        uint256 sinceFrom = now.sub(info.releaseTime);
        uint256 sinceRound = sinceFrom.div(info.termOfRound);
        releaseAmount = releaseAmount.add( sinceRound.mul(info.unlockAmountPerRound) );

        if(releaseAmount >= info.lockupBalance) {            
            releaseAmount = info.lockupBalance;

            delete lockupInfo[_holder][_idx];
            lockupInfo[_holder][_idx] = lockupInfo[_holder][lockupInfo[_holder].length.sub(1)];
            lockupInfo[_holder].length -=1;

            if(lockupInfo[_holder].length == 0) {
                locks[_holder] = false;
            }
            emit Unlock(_holder, releaseAmount);
            balances[_holder] = balances[_holder].add(releaseAmount);
            return true;
        } else {
            lockupInfo[_holder][_idx].releaseTime = lockupInfo[_holder][_idx].releaseTime.add( sinceRound.add(1).mul(info.termOfRound) );
            lockupInfo[_holder][_idx].lockupBalance = lockupInfo[_holder][_idx].lockupBalance.sub(releaseAmount);
            emit Unlock(_holder, releaseAmount);
            balances[_holder] = balances[_holder].add(releaseAmount);
            return false;
        }
    }


}

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":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"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":"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":"_holder","type":"address"},{"name":"_idx","type":"uint256"}],"name":"unlock","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":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","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":true,"inputs":[{"name":"_holder","type":"address"},{"name":"_idx","type":"uint256"}],"name":"showLockState","outputs":[{"name":"","type":"bool"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"Lock","type":"event"},{"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":"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"}]

60806040526001805460a060020a60ff02191690553480156200002157600080fd5b5060008054600160a060020a031990811633179091556001805490911690556040805180820190915260098082527f52544e20546f6b656e00000000000000000000000000000000000000000000006020909201918252620000869160029162000153565b506040805180820190915260038082527f52544e00000000000000000000000000000000000000000000000000000000006020909201918252620000cb918162000153565b50633b9aca006004556b033b2e3c9fd0803ce800000060058190556b09b18ab5df7180b6b800000060065560008054600160a060020a0390811682526007602090815260408084208590558354815195865290519216937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3620001f8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200019657805160ff1916838001178555620001c6565b82800160010185558215620001c6579182015b82811115620001c6578251825591602001919060010190620001a9565b50620001d4929150620001d8565b5090565b620001f591905b80821115620001d45760008155600101620001df565b90565b6120fc80620002086000396000f30060806040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018f578063095ea7b314610219578063125bfb661461025157806318160ddd1461027b57806323b872dd146102a2578063313ce567146102cc57806339509351146102f75780633f4ba83a1461031b57806340c10f191461033257806342966c68146103565780635c975abb1461036e57806370a0823114610383578063788649ea146103a457806379ba5097146103c55780637c759d0d146103da5780637eee288d146104075780638456cb591461042b5780638da5cb5b1461044057806395d89b41146104715780639b819d3814610486578063a457c2d71461049b578063a9059cbb146104bf578063c572652b146104e3578063c9e075c614610510578063cae9ca5114610569578063d0516650146105d2578063d4ee1d90146105f3578063dd62ed3e14610608578063f26c159f1461062f578063f2fde38b14610650578063fb93210814610671575b600080fd5b34801561019b57600080fd5b506101a4610695565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022557600080fd5b5061023d600160a060020a0360043516602435610720565b604080519115158252519081900360200190f35b34801561025d57600080fd5b5061023d600160a060020a03600435811690602435166044356107a1565b34801561028757600080fd5b5061029061086b565b60408051918252519081900360200190f35b3480156102ae57600080fd5b5061023d600160a060020a0360043581169060243516604435610872565b3480156102d857600080fd5b506102e1610a48565b6040805160ff9092168252519081900360200190f35b34801561030357600080fd5b5061023d600160a060020a0360043516602435610a4d565b34801561032757600080fd5b50610330610afd565b005b34801561033e57600080fd5b5061023d600160a060020a0360043516602435610b75565b34801561036257600080fd5b5061023d600435610c38565b34801561037a57600080fd5b5061023d610d08565b34801561038f57600080fd5b50610290600160a060020a0360043516610d18565b3480156103b057600080fd5b5061023d600160a060020a0360043516610dd9565b3480156103d157600080fd5b5061023d610e66565b3480156103e657600080fd5b5061023d600160a060020a0360043516602435604435606435608435610efd565b34801561041357600080fd5b5061023d600160a060020a0360043516602435611070565b34801561043757600080fd5b5061033061130f565b34801561044c57600080fd5b5061045561138c565b60408051600160a060020a039092168252519081900360200190f35b34801561047d57600080fd5b506101a461139b565b34801561049257600080fd5b506102906113f6565b3480156104a757600080fd5b5061023d600160a060020a03600435166024356113fa565b3480156104cb57600080fd5b5061023d600160a060020a0360043516602435611445565b3480156104ef57600080fd5b5061023d600160a060020a0360043516602435604435606435608435611571565b34801561051c57600080fd5b50610534600160a060020a03600435166024356115ae565b6040805196151587526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561057557600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023d948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061172f9650505050505050565b3480156105de57600080fd5b5061023d600160a060020a036004351661185a565b3480156105ff57600080fd5b5061045561186f565b34801561061457600080fd5b50610290600160a060020a036004358116906024351661187e565b34801561063b57600080fd5b5061023d600160a060020a03600435166118a9565b34801561065c57600080fd5b50610330600160a060020a0360043516611938565b34801561067d57600080fd5b5061023d600160a060020a0360043516602435611993565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107185780601f106106ed57610100808354040283529160200191610718565b820191906000526020600020905b8154815290600101906020018083116106fb57829003601f168201915b505050505081565b60015460009060a060020a900460ff161561073a57600080fd5b336000818152600a60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60008054600160a060020a031633146107b957600080fd5b83600160a060020a031663a9059cbb84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050506040513d602081101561085f57600080fd5b50600195945050505050565b6005545b90565b60015460009060a060020a900460ff161561088c57600080fd5b600160a060020a038416600090815260096020526040902054849060ff16156108b457600080fd5b600160a060020a03851660009081526008602052604090205460ff16156108e0576108de85611a93565b505b600160a060020a03841615156108f557600080fd5b600160a060020a03851660009081526007602052604090205483111561091a57600080fd5b600160a060020a0385166000908152600a6020908152604080832033845290915290205483111561094a57600080fd5b600160a060020a038516600090815260076020526040902054610973908463ffffffff611b4416565b600160a060020a0380871660009081526007602052604080822093909355908616815220546109a8908463ffffffff611b5616565b600160a060020a038086166000908152600760209081526040808320949094559188168152600a825282812033825290915220546109ec908463ffffffff611b4416565b600160a060020a038087166000818152600a6020908152604080832033845282529182902094909455805187815290519288169391926000805160206120b1833981519152929181900390910190a3600191505b509392505050565b601281565b6000600160a060020a0383161515610a6457600080fd5b336000908152600a60209081526040808320600160a060020a0387168452909152902054610a98908363ffffffff611b5616565b336000818152600a60209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600054600160a060020a03163314610b1457600080fd5b60015460a060020a900460ff161515610b2c57600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60008054600160a060020a03163314610b8d57600080fd5b600554610ba0908363ffffffff611b5616565b6006541015610bae57600080fd5b600554610bc1908363ffffffff611b5616565b600555600160a060020a038316600090815260076020526040902054610bed908363ffffffff611b5616565b600160a060020a03841660008181526007602090815260408083209490945583518681529351929391926000805160206120b18339815191529281900390910190a350600192915050565b600080548190600160a060020a03163314610c5257600080fd5b33600090815260076020526040902054831115610c6e57600080fd5b5033600081815260076020526040902054610c8f908463ffffffff611b4416565b600160a060020a038216600090815260076020526040902055600554610cbb908463ffffffff611b4416565b600555604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2600191505b50919050565b60015460a060020a900460ff1681565b600160a060020a0381166000908152600860205260408120548190819060ff1615610db5575060005b600160a060020a0384166000908152600b6020526040902054811015610db557600160a060020a0384166000908152600b602052604090208054610dab919083908110610d8a57fe5b90600052602060002090600402016003015483611b5690919063ffffffff16565b9150600101610d41565b600160a060020a038416600090815260076020526040902054820192505050919050565b60008054600160a060020a03163314610df157600080fd5b600160a060020a03821660009081526009602052604090205460ff161515610e1857600080fd5b600160a060020a038216600081815260096020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6000331515610e7457600080fd5b600154600160a060020a03163314610e8b57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a0384161790915516905590565b60008054600160a060020a03163314610f1557600080fd5b600160a060020a038616600090815260076020526040902054851115610f3a57600080fd5b821515610f4657600192505b600160a060020a038616600090815260076020526040902054610f6f908663ffffffff611b4416565b600160a060020a038716600090815260076020908152604080832093909355600b8152908290208251608081018452878152918201869052918101610fcb85610fbf8a606463ffffffff611b6c16565b9063ffffffff611b8316565b815260209081018890528254600181810185556000948552828520845160049093020191825583830151828201556040808501516002840155606090940151600390920191909155600160a060020a038a168085526008835293839020805460ff19169091179055815188815291517f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d4279281900390910190a250600195945050505050565b6000805481908190600160a060020a0316331461108c57600080fd5b600160a060020a03851660009081526008602052604090205460ff1615156110b357600080fd5b600160a060020a0385166000908152600b602052604090205484106110d757600080fd5b600160a060020a0385166000908152600b602052604090208054859081106110fb57fe5b9060005260206000209060040201915081600301549050600b600086600160a060020a0316600160a060020a031681526020019081526020016000208481548110151561114457fe5b6000918252602080832060049092029091018281556001808201849055600282018490556003909101839055600160a060020a0388168352600b90915260409091208054909161119a919063ffffffff611b4416565b815481106111a457fe5b9060005260206000209060040201600b600087600160a060020a0316600160a060020a03168152602001908152602001600020858154811015156111e457fe5b60009182526020808320845460049093020191825560018085015490830155600280850154908301556003938401549390910192909255600160a060020a0387168152600b9091526040902080546000190190611241908261204d565b50600160a060020a0385166000908152600b6020526040902054151561128257600160a060020a0385166000908152600860205260409020805460ff191690555b604080518281529051600160a060020a038716917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a0385166000908152600760205260409020546112ea908263ffffffff611b5616565b600160a060020a03861660009081526007602052604090205560019250505092915050565b600054600160a060020a0316331461132657600080fd5b60015460a060020a900460ff161561133d57600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107185780601f106106ed57610100808354040283529160200191610718565b4290565b6000600160a060020a038316151561141157600080fd5b336000908152600a60209081526040808320600160a060020a0387168452909152902054610a98908363ffffffff611b4416565b60015460009060a060020a900460ff161561145f57600080fd5b3360008181526009602052604090205460ff161561147c57600080fd5b3360009081526008602052604090205460ff161561149f5761149d33611a93565b505b600160a060020a03841615156114b457600080fd5b336000908152600760205260409020548311156114d057600080fd5b336000908152600760205260409020546114f0908463ffffffff611b4416565b3360009081526007602052604080822092909255600160a060020a03861681522054611522908463ffffffff611b5616565b600160a060020a0385166000818152600760209081526040918290209390935580518681529051919233926000805160206120b18339815191529281900390910190a3600191505b5092915050565b60008054600160a060020a0316331461158957600080fd5b6115938686611993565b506115a18686868686610efd565b5060019695505050505050565b600160a060020a0382166000908152600860205260408120548190819081908190819060ff16156116f057600160a060020a038816600090815260086020908152604080832054600b909252909120805460ff90921691908982811061161057fe5b906000526020600020906004020160030154600b60008c600160a060020a0316600160a060020a031681526020019081526020016000208a81548110151561165457fe5b60009182526020808320600490920290910154600160a060020a038e168352600b909152604090912080548c90811061168957fe5b906000526020600020906004020160010154600b60008e600160a060020a0316600160a060020a031681526020019081526020016000208c8154811015156116cd57fe5b906000526020600020906004020160020154955095509550955095509550611725565b50505050600160a060020a038416600090815260086020908152604080832054600b90925282205460ff909116935091508080805b9295509295509295565b60008061173b85611bae565b151561174657600080fd5b50836117528185610720565b15610a40576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b838110156117ea5781810151838201526020016117d2565b50505050905090810190601f1680156118175780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561183957600080fd5b505af115801561184d573d6000803e3d6000fd5b5050505060019150610a40565b60096020526000908152604090205460ff1681565b600154600160a060020a031681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60008054600160a060020a031633146118c157600080fd5b600160a060020a03821660009081526009602052604090205460ff16156118e757600080fd5b600160a060020a038216600081815260096020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b600054600160a060020a0316331461194f57600080fd5b600160a060020a038116151561196457600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a031633146119ab57600080fd5b600160a060020a03831615156119c057600080fd5b60008054600160a060020a03168152600760205260409020548211156119e557600080fd5b60008054600160a060020a0316815260076020526040902054611a0e908363ffffffff611b4416565b60008054600160a060020a0390811682526007602052604080832093909355851681522054611a43908363ffffffff611b5616565b600160a060020a0380851660008181526007602090815260408083209590955590548451878152945192949316926000805160206120b1833981519152929081900390910190a350600192915050565b6000805b600160a060020a0383166000908152600b6020526040902054811015611b3b57600160a060020a03831660009081526008602052604090205460ff161515611ae25760019150610d02565b600160a060020a0383166000908152600b60205260409020805442919083908110611b0957fe5b600091825260209091206004909102015411611b3357611b298382611bb6565b15611b3357600019015b600101611a97565b50600192915050565b600082821115611b5057fe5b50900390565b600082820183811015611b6557fe5b9392505050565b6000808284811515611b7a57fe5b04949350505050565b600080831515611b96576000915061156a565b50828202828482811515611ba657fe5b0414611b6557fe5b6000903b1190565b600160a060020a038216600090815260086020526040812054819081908190819060ff161515611be557600080fd5b600160a060020a0387166000908152600b60205260409020548610611c0957600080fd5b600160a060020a0387166000908152600b60205260409020805487908110611c2d57fe5b9060005260206000209060040201935083600201549250611c5b846000015442611b4490919063ffffffff16565b9150611c74846001015483611b6c90919063ffffffff16565b9050611c9d611c90856002015483611b8390919063ffffffff16565b849063ffffffff611b5616565b60038501549093508310611ea0576003840154600160a060020a0388166000908152600b6020526040902080549194509087908110611cd857fe5b6000918252602080832060049092029091018281556001808201849055600282018490556003909101839055600160a060020a038a168352600b909152604090912080549091611d2e919063ffffffff611b4416565b81548110611d3857fe5b9060005260206000209060040201600b600089600160a060020a0316600160a060020a0316815260200190815260200160002087815481101515611d7857fe5b60009182526020808320845460049093020191825560018085015490830155600280850154908301556003938401549390910192909255600160a060020a0389168152600b9091526040902080546000190190611dd5908261204d565b50600160a060020a0387166000908152600b60205260409020541515611e1657600160a060020a0387166000908152600860205260409020805460ff191690555b604080518481529051600160a060020a038916917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a038716600090815260076020526040902054611e7e908463ffffffff611b5616565b600160a060020a03881660009081526007602052604090205560019450612043565b611f00611ebf8560010154610fbf600185611b5690919063ffffffff16565b600160a060020a0389166000908152600b60205260409020805489908110611ee357fe5b60009182526020909120600490910201549063ffffffff611b5616565b600160a060020a0388166000908152600b60205260409020805488908110611f2457fe5b60009182526020808320600490920290910192909255600160a060020a0389168152600b909152604090208054611f8191859189908110611f6157fe5b906000526020600020906004020160030154611b4490919063ffffffff16565b600160a060020a0388166000908152600b60205260409020805488908110611fa557fe5b90600052602060002090600402016003018190555086600160a060020a03167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1846040518082815260200191505060405180910390a2600160a060020a038716600090815260076020526040902054612024908463ffffffff611b5616565b600160a060020a03881660009081526007602052604081209190915594505b5050505092915050565b81548183558181111561207957600402816004028360005260206000209182019101612079919061207e565b505050565b61086f91905b808211156120ac57600080825560018201819055600282018190556003820155600401612084565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820325398d580ca80c0eaf8cfdcfaeee3be253c14e3996ec9659a930f9032e281d90029

Deployed Bytecode

0x60806040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018f578063095ea7b314610219578063125bfb661461025157806318160ddd1461027b57806323b872dd146102a2578063313ce567146102cc57806339509351146102f75780633f4ba83a1461031b57806340c10f191461033257806342966c68146103565780635c975abb1461036e57806370a0823114610383578063788649ea146103a457806379ba5097146103c55780637c759d0d146103da5780637eee288d146104075780638456cb591461042b5780638da5cb5b1461044057806395d89b41146104715780639b819d3814610486578063a457c2d71461049b578063a9059cbb146104bf578063c572652b146104e3578063c9e075c614610510578063cae9ca5114610569578063d0516650146105d2578063d4ee1d90146105f3578063dd62ed3e14610608578063f26c159f1461062f578063f2fde38b14610650578063fb93210814610671575b600080fd5b34801561019b57600080fd5b506101a4610695565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101de5781810151838201526020016101c6565b50505050905090810190601f16801561020b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022557600080fd5b5061023d600160a060020a0360043516602435610720565b604080519115158252519081900360200190f35b34801561025d57600080fd5b5061023d600160a060020a03600435811690602435166044356107a1565b34801561028757600080fd5b5061029061086b565b60408051918252519081900360200190f35b3480156102ae57600080fd5b5061023d600160a060020a0360043581169060243516604435610872565b3480156102d857600080fd5b506102e1610a48565b6040805160ff9092168252519081900360200190f35b34801561030357600080fd5b5061023d600160a060020a0360043516602435610a4d565b34801561032757600080fd5b50610330610afd565b005b34801561033e57600080fd5b5061023d600160a060020a0360043516602435610b75565b34801561036257600080fd5b5061023d600435610c38565b34801561037a57600080fd5b5061023d610d08565b34801561038f57600080fd5b50610290600160a060020a0360043516610d18565b3480156103b057600080fd5b5061023d600160a060020a0360043516610dd9565b3480156103d157600080fd5b5061023d610e66565b3480156103e657600080fd5b5061023d600160a060020a0360043516602435604435606435608435610efd565b34801561041357600080fd5b5061023d600160a060020a0360043516602435611070565b34801561043757600080fd5b5061033061130f565b34801561044c57600080fd5b5061045561138c565b60408051600160a060020a039092168252519081900360200190f35b34801561047d57600080fd5b506101a461139b565b34801561049257600080fd5b506102906113f6565b3480156104a757600080fd5b5061023d600160a060020a03600435166024356113fa565b3480156104cb57600080fd5b5061023d600160a060020a0360043516602435611445565b3480156104ef57600080fd5b5061023d600160a060020a0360043516602435604435606435608435611571565b34801561051c57600080fd5b50610534600160a060020a03600435166024356115ae565b6040805196151587526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561057557600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261023d948235600160a060020a031694602480359536959460649492019190819084018382808284375094975061172f9650505050505050565b3480156105de57600080fd5b5061023d600160a060020a036004351661185a565b3480156105ff57600080fd5b5061045561186f565b34801561061457600080fd5b50610290600160a060020a036004358116906024351661187e565b34801561063b57600080fd5b5061023d600160a060020a03600435166118a9565b34801561065c57600080fd5b50610330600160a060020a0360043516611938565b34801561067d57600080fd5b5061023d600160a060020a0360043516602435611993565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107185780601f106106ed57610100808354040283529160200191610718565b820191906000526020600020905b8154815290600101906020018083116106fb57829003601f168201915b505050505081565b60015460009060a060020a900460ff161561073a57600080fd5b336000818152600a60209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60008054600160a060020a031633146107b957600080fd5b83600160a060020a031663a9059cbb84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050506040513d602081101561085f57600080fd5b50600195945050505050565b6005545b90565b60015460009060a060020a900460ff161561088c57600080fd5b600160a060020a038416600090815260096020526040902054849060ff16156108b457600080fd5b600160a060020a03851660009081526008602052604090205460ff16156108e0576108de85611a93565b505b600160a060020a03841615156108f557600080fd5b600160a060020a03851660009081526007602052604090205483111561091a57600080fd5b600160a060020a0385166000908152600a6020908152604080832033845290915290205483111561094a57600080fd5b600160a060020a038516600090815260076020526040902054610973908463ffffffff611b4416565b600160a060020a0380871660009081526007602052604080822093909355908616815220546109a8908463ffffffff611b5616565b600160a060020a038086166000908152600760209081526040808320949094559188168152600a825282812033825290915220546109ec908463ffffffff611b4416565b600160a060020a038087166000818152600a6020908152604080832033845282529182902094909455805187815290519288169391926000805160206120b1833981519152929181900390910190a3600191505b509392505050565b601281565b6000600160a060020a0383161515610a6457600080fd5b336000908152600a60209081526040808320600160a060020a0387168452909152902054610a98908363ffffffff611b5616565b336000818152600a60209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600054600160a060020a03163314610b1457600080fd5b60015460a060020a900460ff161515610b2c57600080fd5b6001805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60008054600160a060020a03163314610b8d57600080fd5b600554610ba0908363ffffffff611b5616565b6006541015610bae57600080fd5b600554610bc1908363ffffffff611b5616565b600555600160a060020a038316600090815260076020526040902054610bed908363ffffffff611b5616565b600160a060020a03841660008181526007602090815260408083209490945583518681529351929391926000805160206120b18339815191529281900390910190a350600192915050565b600080548190600160a060020a03163314610c5257600080fd5b33600090815260076020526040902054831115610c6e57600080fd5b5033600081815260076020526040902054610c8f908463ffffffff611b4416565b600160a060020a038216600090815260076020526040902055600554610cbb908463ffffffff611b4416565b600555604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2600191505b50919050565b60015460a060020a900460ff1681565b600160a060020a0381166000908152600860205260408120548190819060ff1615610db5575060005b600160a060020a0384166000908152600b6020526040902054811015610db557600160a060020a0384166000908152600b602052604090208054610dab919083908110610d8a57fe5b90600052602060002090600402016003015483611b5690919063ffffffff16565b9150600101610d41565b600160a060020a038416600090815260076020526040902054820192505050919050565b60008054600160a060020a03163314610df157600080fd5b600160a060020a03821660009081526009602052604090205460ff161515610e1857600080fd5b600160a060020a038216600081815260096020526040808220805460ff19169055517fca5069937e68fd197927055037f59d7c90bf75ac104e6e375539ef480c3ad6ee9190a2506001919050565b6000331515610e7457600080fd5b600154600160a060020a03163314610e8b57600080fd5b60015460008054604051600160a060020a0393841693909116917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a0384161790915516905590565b60008054600160a060020a03163314610f1557600080fd5b600160a060020a038616600090815260076020526040902054851115610f3a57600080fd5b821515610f4657600192505b600160a060020a038616600090815260076020526040902054610f6f908663ffffffff611b4416565b600160a060020a038716600090815260076020908152604080832093909355600b8152908290208251608081018452878152918201869052918101610fcb85610fbf8a606463ffffffff611b6c16565b9063ffffffff611b8316565b815260209081018890528254600181810185556000948552828520845160049093020191825583830151828201556040808501516002840155606090940151600390920191909155600160a060020a038a168085526008835293839020805460ff19169091179055815188815291517f625fed9875dada8643f2418b838ae0bc78d9a148a18eee4ee1979ff0f3f5d4279281900390910190a250600195945050505050565b6000805481908190600160a060020a0316331461108c57600080fd5b600160a060020a03851660009081526008602052604090205460ff1615156110b357600080fd5b600160a060020a0385166000908152600b602052604090205484106110d757600080fd5b600160a060020a0385166000908152600b602052604090208054859081106110fb57fe5b9060005260206000209060040201915081600301549050600b600086600160a060020a0316600160a060020a031681526020019081526020016000208481548110151561114457fe5b6000918252602080832060049092029091018281556001808201849055600282018490556003909101839055600160a060020a0388168352600b90915260409091208054909161119a919063ffffffff611b4416565b815481106111a457fe5b9060005260206000209060040201600b600087600160a060020a0316600160a060020a03168152602001908152602001600020858154811015156111e457fe5b60009182526020808320845460049093020191825560018085015490830155600280850154908301556003938401549390910192909255600160a060020a0387168152600b9091526040902080546000190190611241908261204d565b50600160a060020a0385166000908152600b6020526040902054151561128257600160a060020a0385166000908152600860205260409020805460ff191690555b604080518281529051600160a060020a038716917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a0385166000908152600760205260409020546112ea908263ffffffff611b5616565b600160a060020a03861660009081526007602052604090205560019250505092915050565b600054600160a060020a0316331461132657600080fd5b60015460a060020a900460ff161561133d57600080fd5b6001805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600054600160a060020a031681565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107185780601f106106ed57610100808354040283529160200191610718565b4290565b6000600160a060020a038316151561141157600080fd5b336000908152600a60209081526040808320600160a060020a0387168452909152902054610a98908363ffffffff611b4416565b60015460009060a060020a900460ff161561145f57600080fd5b3360008181526009602052604090205460ff161561147c57600080fd5b3360009081526008602052604090205460ff161561149f5761149d33611a93565b505b600160a060020a03841615156114b457600080fd5b336000908152600760205260409020548311156114d057600080fd5b336000908152600760205260409020546114f0908463ffffffff611b4416565b3360009081526007602052604080822092909255600160a060020a03861681522054611522908463ffffffff611b5616565b600160a060020a0385166000818152600760209081526040918290209390935580518681529051919233926000805160206120b18339815191529281900390910190a3600191505b5092915050565b60008054600160a060020a0316331461158957600080fd5b6115938686611993565b506115a18686868686610efd565b5060019695505050505050565b600160a060020a0382166000908152600860205260408120548190819081908190819060ff16156116f057600160a060020a038816600090815260086020908152604080832054600b909252909120805460ff90921691908982811061161057fe5b906000526020600020906004020160030154600b60008c600160a060020a0316600160a060020a031681526020019081526020016000208a81548110151561165457fe5b60009182526020808320600490920290910154600160a060020a038e168352600b909152604090912080548c90811061168957fe5b906000526020600020906004020160010154600b60008e600160a060020a0316600160a060020a031681526020019081526020016000208c8154811015156116cd57fe5b906000526020600020906004020160020154955095509550955095509550611725565b50505050600160a060020a038416600090815260086020908152604080832054600b90925282205460ff909116935091508080805b9295509295509295565b60008061173b85611bae565b151561174657600080fd5b50836117528185610720565b15610a40576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081523360048201818152602483018790523060448401819052608060648501908152875160848601528751600160a060020a03871695638f4ffcb195948b94938b939192909160a490910190602085019080838360005b838110156117ea5781810151838201526020016117d2565b50505050905090810190601f1680156118175780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561183957600080fd5b505af115801561184d573d6000803e3d6000fd5b5050505060019150610a40565b60096020526000908152604090205460ff1681565b600154600160a060020a031681565b600160a060020a039182166000908152600a6020908152604080832093909416825291909152205490565b60008054600160a060020a031633146118c157600080fd5b600160a060020a03821660009081526009602052604090205460ff16156118e757600080fd5b600160a060020a038216600081815260096020526040808220805460ff19166001179055517faf85b60d26151edd11443b704d424da6c43d0468f2235ebae3d1904dbc3230499190a2506001919050565b600054600160a060020a0316331461194f57600080fd5b600160a060020a038116151561196457600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054600160a060020a031633146119ab57600080fd5b600160a060020a03831615156119c057600080fd5b60008054600160a060020a03168152600760205260409020548211156119e557600080fd5b60008054600160a060020a0316815260076020526040902054611a0e908363ffffffff611b4416565b60008054600160a060020a0390811682526007602052604080832093909355851681522054611a43908363ffffffff611b5616565b600160a060020a0380851660008181526007602090815260408083209590955590548451878152945192949316926000805160206120b1833981519152929081900390910190a350600192915050565b6000805b600160a060020a0383166000908152600b6020526040902054811015611b3b57600160a060020a03831660009081526008602052604090205460ff161515611ae25760019150610d02565b600160a060020a0383166000908152600b60205260409020805442919083908110611b0957fe5b600091825260209091206004909102015411611b3357611b298382611bb6565b15611b3357600019015b600101611a97565b50600192915050565b600082821115611b5057fe5b50900390565b600082820183811015611b6557fe5b9392505050565b6000808284811515611b7a57fe5b04949350505050565b600080831515611b96576000915061156a565b50828202828482811515611ba657fe5b0414611b6557fe5b6000903b1190565b600160a060020a038216600090815260086020526040812054819081908190819060ff161515611be557600080fd5b600160a060020a0387166000908152600b60205260409020548610611c0957600080fd5b600160a060020a0387166000908152600b60205260409020805487908110611c2d57fe5b9060005260206000209060040201935083600201549250611c5b846000015442611b4490919063ffffffff16565b9150611c74846001015483611b6c90919063ffffffff16565b9050611c9d611c90856002015483611b8390919063ffffffff16565b849063ffffffff611b5616565b60038501549093508310611ea0576003840154600160a060020a0388166000908152600b6020526040902080549194509087908110611cd857fe5b6000918252602080832060049092029091018281556001808201849055600282018490556003909101839055600160a060020a038a168352600b909152604090912080549091611d2e919063ffffffff611b4416565b81548110611d3857fe5b9060005260206000209060040201600b600089600160a060020a0316600160a060020a0316815260200190815260200160002087815481101515611d7857fe5b60009182526020808320845460049093020191825560018085015490830155600280850154908301556003938401549390910192909255600160a060020a0389168152600b9091526040902080546000190190611dd5908261204d565b50600160a060020a0387166000908152600b60205260409020541515611e1657600160a060020a0387166000908152600860205260409020805460ff191690555b604080518481529051600160a060020a038916917f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1919081900360200190a2600160a060020a038716600090815260076020526040902054611e7e908463ffffffff611b5616565b600160a060020a03881660009081526007602052604090205560019450612043565b611f00611ebf8560010154610fbf600185611b5690919063ffffffff16565b600160a060020a0389166000908152600b60205260409020805489908110611ee357fe5b60009182526020909120600490910201549063ffffffff611b5616565b600160a060020a0388166000908152600b60205260409020805488908110611f2457fe5b60009182526020808320600490920290910192909255600160a060020a0389168152600b909152604090208054611f8191859189908110611f6157fe5b906000526020600020906004020160030154611b4490919063ffffffff16565b600160a060020a0388166000908152600b60205260409020805488908110611fa557fe5b90600052602060002090600402016003018190555086600160a060020a03167f6381d9813cabeb57471b5a7e05078e64845ccdb563146a6911d536f24ce960f1846040518082815260200191505060405180910390a2600160a060020a038716600090815260076020526040902054612024908463ffffffff611b5616565b600160a060020a03881660009081526007602052604081209190915594505b5050505092915050565b81548183558181111561207957600402816004028360005260206000209182019101612079919061207e565b505050565b61086f91905b808211156120ac57600080825560018201819055600282018190556003820155600401612084565b50905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820325398d580ca80c0eaf8cfdcfaeee3be253c14e3996ec9659a930f9032e281d90029

Swarm Source

bzzr://325398d580ca80c0eaf8cfdcfaeee3be253c14e3996ec9659a930f9032e281d9

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.