ETH Price: $3,066.08 (+2.87%)
Gas: 1 Gwei

Contract

0x75BF306b3DA0Dad609837B6698F464B8f14cf458
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Transfer93100252020-01-19 6:04:191630 days ago1579413859IN
0x75BF306b...8f14cf458
0 ETH0.000106951
Transfer93097712020-01-19 5:07:001630 days ago1579410420IN
0x75BF306b...8f14cf458
0 ETH0.00033
Transfer93097442020-01-19 4:58:521630 days ago1579409932IN
0x75BF306b...8f14cf458
0 ETH0.00033
Transfer93097272020-01-19 4:54:531630 days ago1579409693IN
0x75BF306b...8f14cf458
0 ETH0.00033
Transfer93024452020-01-18 1:58:231632 days ago1579312703IN
0x75BF306b...8f14cf458
0 ETH0.000076961
Transfer93000532020-01-17 17:17:491632 days ago1579281469IN
0x75BF306b...8f14cf458
0 ETH0.000106961
Transfer92544972020-01-10 17:48:101639 days ago1578678490IN
0x75BF306b...8f14cf458
0 ETH0.000106961
Transfer76798222019-05-02 5:42:531892 days ago1556775773IN
0x75BF306b...8f14cf458
0 ETH0.0023755420
Transfer74634582019-03-29 12:38:201926 days ago1553863100IN
0x75BF306b...8f14cf458
0 ETH0.000916899.2
Transfer73973722019-03-19 5:24:311936 days ago1552973071IN
0x75BF306b...8f14cf458
0 ETH0.000269393
Transfer73921032019-03-18 9:29:261937 days ago1552901366IN
0x75BF306b...8f14cf458
0 ETH0.000532666
Transfer73920952019-03-18 9:26:531937 days ago1552901213IN
0x75BF306b...8f14cf458
0 ETH0.000532666
Transfer73920862019-03-18 9:26:021937 days ago1552901162IN
0x75BF306b...8f14cf458
0 ETH0.000622666
Transfer73823142019-03-16 20:48:481939 days ago1552769328IN
0x75BF306b...8f14cf458
0 ETH0.000177552
Transfer73822882019-03-16 20:43:281939 days ago1552769008IN
0x75BF306b...8f14cf458
0 ETH0.000177552
Transfer73822822019-03-16 20:42:171939 days ago1552768937IN
0x75BF306b...8f14cf458
0 ETH0.000177552
Transfer73822762019-03-16 20:41:031939 days ago1552768863IN
0x75BF306b...8f14cf458
0 ETH0.000177552
Transfer73822742019-03-16 20:40:281939 days ago1552768828IN
0x75BF306b...8f14cf458
0 ETH0.000177552
Transfer73822702019-03-16 20:39:581939 days ago1552768798IN
0x75BF306b...8f14cf458
0 ETH0.000177552
Transfer73564172019-03-12 20:19:081943 days ago1552421948IN
0x75BF306b...8f14cf458
0 ETH0.000088771
Transfer73252542019-03-07 23:53:321948 days ago1552002812IN
0x75BF306b...8f14cf458
0 ETH0.000950218
Transfer72334912019-02-17 21:43:571966 days ago1550439837IN
0x75BF306b...8f14cf458
0 ETH0.000593885
Transfer71961262019-02-09 3:50:491974 days ago1549684249IN
0x75BF306b...8f14cf458
0 ETH0.0009188410.35
Transfer71956342019-02-09 1:26:491975 days ago1549675609IN
0x75BF306b...8f14cf458
0 ETH0.0010209311.5
Transfer71302312019-01-26 18:11:071988 days ago1548526267IN
0x75BF306b...8f14cf458
0 ETH0.0059388550
View all transactions

Advanced mode:
Parent Transaction Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SOCCERCOIN

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.23;

// SafeMath
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) {
        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;
    }
}


// Ownable
contract Ownable {
    address public owner;

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

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

    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address newOwner) onlyOwner public {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}


// ERC223
contract ERC223 {
    uint public totalSupply;

    function balanceOf(address who) public view returns (uint);
    function totalSupply() public view returns (uint256 _supply);
    function transfer(address to, uint value) public returns (bool ok);
    function transfer(address to, uint value, bytes data) public returns (bool ok);
    function transfer(address to, uint value, bytes data, string customFallback) public returns (bool ok);
    event Transfer(address indexed from, address indexed to, uint value, bytes indexed data);

    function name() public view returns (string _name);
    function symbol() public view returns (string _symbol);
    function decimals() public view returns (uint8 _decimals);

    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) public view returns (uint256 remaining);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
}


 // ContractReceiver
 contract ContractReceiver {

    struct TKN {
        address sender;
        uint value;
        bytes data;
        bytes4 sig;
    }

    function tokenFallback(address _from, uint _value, bytes _data) public pure {
        TKN memory tkn;
        tkn.sender = _from;
        tkn.value = _value;
        tkn.data = _data;
        uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
        tkn.sig = bytes4(u);

        /*
         * tkn variable is analogue of msg variable of Ether transaction
         * tkn.sender is person who initiated this token transaction   (analogue of msg.sender)
         * tkn.value the number of tokens that were sent   (analogue of msg.value)
         * tkn.data is data of token transaction   (analogue of msg.data)
         * tkn.sig is 4 bytes signature of function if data of token transaction is a function execution
         */
    }
}


// SOCCERCOIN
contract SOCCERCOIN is ERC223, Ownable {
    using SafeMath for uint256;

    string public name = "SOCCER COIN";
    string public symbol = "SOCCER";
    uint8 public decimals = 16;
    uint256 public totalSupply;

    uint public chainStartTime; //chain start time
    uint public chainStartBlockNumber; //chain start block number
    uint public stakeStartTime; //stake start time
    uint public stakeMinAge = 3 days; // minimum age for coin age: 3D
    uint public stakeMaxAge = 90 days; // stake age of full weight: 90D

    uint256 public maxTotalSupply = 45e9 * 1e16;
    uint256 public initialTotalSupply = 20e9 * 1e16;

    struct transferInStruct{
      uint256 amount;
      uint64 time;
    }

    address public admin = 0x166A52e2f21b36522Bfcf6e940AD17E2649424b0;
    address public presale = 0x652b861c0021D854f1A1240d4Ff468f4EE14B89E;
    address public develop = 0x6C0689664E1c9f228EEb87088c4F3eA6244d6Cc3;
    address public pr = 0xFB432Ac2F5fb98312264df7965E2Ca062C856150;
    address public manage = 0x282117F44Be63192Fc05C6Ccce748E3618aceCD8;

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping (address => uint256)) public allowance;
    mapping(address => transferInStruct[]) public transferIns;

    event Burn(address indexed burner, uint256 value);
    event PosMint(address indexed _address, uint _reward);

    constructor () public {
        owner = admin;
        totalSupply = initialTotalSupply;
        balanceOf[owner] = totalSupply;

        chainStartTime = now;
        chainStartBlockNumber = block.number;
    }

    function name() public view returns (string _name) {
        return name;
    }

    function symbol() public view returns (string _symbol) {
        return symbol;
    }

    function decimals() public view returns (uint8 _decimals) {
        return decimals;
    }

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

    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balanceOf[_owner];
    }

    // transfer
    function transfer(address _to, uint _value) public returns (bool success) {
        require(_value > 0);

        bytes memory empty;
        if (isContract(_to)) {
            return transferToContract(_to, _value, empty);
        } else {
            return transferToAddress(_to, _value, empty);
        }
    }

    function transfer(address _to, uint _value, bytes _data) public  returns (bool success) {
        require(_value > 0);

        if (isContract(_to)) {
            return transferToContract(_to, _value, _data);
        } else {
            return transferToAddress(_to, _value, _data);
        }
    }

    function transfer(address _to, uint _value, bytes _data, string _custom_fallback) public returns (bool success) {
        require(_value > 0);

        if (isContract(_to)) {
            require(balanceOf[msg.sender] >= _value);
            balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
            balanceOf[_to] = balanceOf[_to].add(_value);
            assert(_to.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _value, _data));
            emit Transfer(msg.sender, _to, _value, _data);
            emit Transfer(msg.sender, _to, _value);

            if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
            uint64 _now = uint64(now);
            transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),_now));
            transferIns[_to].push(transferInStruct(uint256(_value),_now));

            return true;
        } else {
            return transferToAddress(_to, _value, _data);
        }
    }

    // assemble the given address bytecode. If bytecode exists then the _addr is a contract.
    function isContract(address _addr) private view returns (bool is_contract) {
        uint length;
        assembly {
            //retrieve the size of the code on target address, this needs assembly
            length := extcodesize(_addr)
        }
        return (length > 0);
    }

    // function that is called when transaction target is an address
    function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        emit Transfer(msg.sender, _to, _value, _data);
        emit Transfer(msg.sender, _to, _value);

        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        uint64 _now = uint64(now);
        transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),_now));
        transferIns[_to].push(transferInStruct(uint256(_value),_now));

        return true;
    }

    // function that is called when transaction target is a contract
    function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        ContractReceiver receiver = ContractReceiver(_to);
        receiver.tokenFallback(msg.sender, _value, _data);
        emit Transfer(msg.sender, _to, _value, _data);
        emit Transfer(msg.sender, _to, _value);

        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        uint64 _now = uint64(now);
        transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),_now));
        transferIns[_to].push(transferInStruct(uint256(_value),_now));

        return true;
    }

    // transferFrom
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_to != address(0)
                && _value > 0
                && balanceOf[_from] >= _value
                && allowance[_from][msg.sender] >= _value);

        balanceOf[_from] = balanceOf[_from].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);

        if(transferIns[_from].length > 0) delete transferIns[_from];
        uint64 _now = uint64(now);
        transferIns[_from].push(transferInStruct(uint256(balanceOf[_from]),_now));
        transferIns[_to].push(transferInStruct(uint256(_value),_now));

        return true;
    }

    // approve
    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    // allowance
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowance[_owner][_spender];
    }

    // airdrop
    function airdrop(address[] addresses, uint[] amounts) public returns (bool) {
        require(addresses.length > 0
                && addresses.length == amounts.length);

        uint256 totalAmount = 0;

        for(uint j = 0; j < addresses.length; j++){
            require(amounts[j] > 0
                    && addresses[j] != 0x0);

            amounts[j] = amounts[j].mul(1e16);
            totalAmount = totalAmount.add(amounts[j]);
        }
        require(balanceOf[msg.sender] >= totalAmount);

        uint64 _now = uint64(now);
        for (j = 0; j < addresses.length; j++) {
            balanceOf[addresses[j]] = balanceOf[addresses[j]].add(amounts[j]);
            emit Transfer(msg.sender, addresses[j], amounts[j]);

            transferIns[addresses[j]].push(transferInStruct(uint256(amounts[j]),_now));
        }
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(totalAmount);

        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        if(balanceOf[msg.sender] > 0) transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),_now));

        return true;
    }

    function setStakeStartTime(uint timestamp) onlyOwner public {
        require((stakeStartTime <= 0) && (timestamp >= chainStartTime));
        stakeStartTime = timestamp;
    }

    function ownerBurnToken(uint _value) onlyOwner public {
        require(_value > 0);

        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        delete transferIns[msg.sender];
        transferIns[msg.sender].push(transferInStruct(uint128(balanceOf[msg.sender]),uint64(now)));

        totalSupply = totalSupply.sub(_value);
        initialTotalSupply = initialTotalSupply.sub(_value);
        maxTotalSupply = maxTotalSupply.sub(_value*10);

        emit Burn(msg.sender, _value);
    }

    function getBlockNumber() constant public returns (uint blockNumber) {
        blockNumber = block.number.sub(chainStartBlockNumber);
    }

    modifier canPoSMint() {
        require(totalSupply < maxTotalSupply);
        _;
    }

    function posMint() canPoSMint public returns (bool) {
        if(balanceOf[msg.sender] <= 0) return false;
        if(transferIns[msg.sender].length <= 0) return false;

        uint reward = getReward(msg.sender);
        if(reward <= 0) return false;

        totalSupply = totalSupply.add(reward);
        balanceOf[msg.sender] = balanceOf[msg.sender].add(reward);
        delete transferIns[msg.sender];
        transferIns[msg.sender].push(transferInStruct(uint256(balanceOf[msg.sender]),uint64(now)));

        emit PosMint(msg.sender, reward);
        return true;
    }

    function coinAge() constant public returns (uint myCoinAge) {
        myCoinAge = getCoinAge(msg.sender,now);
    }

    function getCoinAge(address _address, uint _now) internal view returns (uint _coinAge) {
        if(transferIns[_address].length <= 0) return 0;

        for (uint i = 0; i < transferIns[_address].length; i++){
            if( _now < uint(transferIns[_address][i].time).add(stakeMinAge) ) continue;

            uint nCoinSeconds = _now.sub(uint(transferIns[_address][i].time));
            if( nCoinSeconds > stakeMaxAge ) nCoinSeconds = stakeMaxAge;

            _coinAge = _coinAge.add(uint(transferIns[_address][i].amount).mul(nCoinSeconds).div(1 days));
        }
    }

    function getReward(address _address) internal view returns (uint reward) {
        require( (now >= stakeStartTime) && (stakeStartTime > 0) );

        uint64 _now = uint64(now);
        uint _coinAge = getCoinAge(_address, _now);
        if(_coinAge <= 0) return 0;

        reward = _coinAge.mul(45).div(1000).div(365);
        return reward;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"coinAge","outputs":[{"name":"myCoinAge","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getBlockNumber","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"chainStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"transferIns","outputs":[{"name":"amount","type":"uint256"},{"name":"time","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"airdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"posMint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"develop","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"ownerBurnToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"manage","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stakeMinAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"timestamp","type":"uint256"}],"name":"setStakeStartTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"chainStartBlockNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakeMaxAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presale","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_reward","type":"uint256"}],"name":"PosMint","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"data","type":"bytes"}],"name":"Transfer","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"},{"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"}]

60c0604052600b60808190527f534f4343455220434f494e00000000000000000000000000000000000000000060a0908152620000409160029190620001c5565b506040805180820190915260068082527f534f43434552000000000000000000000000000000000000000000000000000060209092019182526200008791600391620001c5565b506004805460ff191660109081179091556203f4806009556276a700600a556b01743b34e18439b502000000600b556aa56fa5b99019a5c8000000600c55600d8054600160a060020a031990811673166a52e2f21b36522bfcf6e940ad17e2649424b017909155600e8054821673652b861c0021d854f1a1240d4ff468f4ee14b89e179055600f80548216736c0689664e1c9f228eeb87088c4f3ea6244d6cc31790558154811673fb432ac2f5fb98312264df7965e2ca062c856150179091556011805490911673282117f44be63192fc05c6ccce748e3618acecd81790553480156200017357600080fd5b5060018054600d54600160a060020a03338116600160a060020a0319938416179092169082161791829055600c546005819055911660009081526012602052604090205542600655436007556200026a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020857805160ff191683800117855562000238565b8280016001018555821562000238579182015b82811115620002385782518255916020019190600101906200021b565b50620002469291506200024a565b5090565b6200026791905b8082111562000246576000815560010162000251565b90565b61214b806200027a6000396000f30060806040526004361061017c5763ffffffff60e060020a60003504166306fdde038114610181578063095ea7b31461020b5780631509c42a1461024357806318160ddd146102745780631e1b13c01461029b57806323b872dd146102b05780632ab4d052146102da578063311028af146102ef578063313ce5671461030457806342cbb15c1461032f5780635b054f9b1461034457806365476ea314610359578063672434821461039f5780636ac54eb01461042d57806370a08231146104425780637419f190146104635780638c0cf897146104785780638da5cb5b1461048d57806390762a8b146104a257806395d89b41146104bc578063a9059cbb146104d1578063ba2ee65c146104f5578063be45fd621461050a578063cbd8877e14610573578063cc1b63d514610588578063cd474b04146105a0578063dd62ed3e146105b5578063e1c3bac6146105dc578063f2fde38b146105f1578063f6368f8a14610612578063f851a440146106b9578063fdea8e0b146106ce575b600080fd5b34801561018d57600080fd5b506101966106e3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d05781810151838201526020016101b8565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021757600080fd5b5061022f600160a060020a0360043516602435610777565b604080519115158252519081900360200190f35b34801561024f57600080fd5b506102586107e1565b60408051600160a060020a039092168252519081900360200190f35b34801561028057600080fd5b506102896107f0565b60408051918252519081900360200190f35b3480156102a757600080fd5b506102896107f6565b3480156102bc57600080fd5b5061022f600160a060020a0360043581169060243516604435610807565b3480156102e657600080fd5b50610289610a7e565b3480156102fb57600080fd5b50610289610a84565b34801561031057600080fd5b50610319610a8a565b6040805160ff9092168252519081900360200190f35b34801561033b57600080fd5b50610289610a93565b34801561035057600080fd5b50610289610aaa565b34801561036557600080fd5b5061037d600160a060020a0360043516602435610ab0565b6040805192835267ffffffffffffffff90911660208301528051918290030190f35b3480156103ab57600080fd5b506040805160206004803580820135838102808601850190965280855261022f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610af59650505050505050565b34801561043957600080fd5b5061022f610ef9565b34801561044e57600080fd5b50610289600160a060020a036004351661109a565b34801561046f57600080fd5b506102896110b5565b34801561048457600080fd5b506102586110bb565b34801561049957600080fd5b506102586110ca565b3480156104ae57600080fd5b506104ba6004356110d9565b005b3480156104c857600080fd5b50610196611262565b3480156104dd57600080fd5b5061022f600160a060020a03600435166024356112c3565b34801561050157600080fd5b50610258611305565b34801561051657600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261022f948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506113149650505050505050565b34801561057f57600080fd5b50610289611354565b34801561059457600080fd5b506104ba60043561135a565b3480156105ac57600080fd5b5061028961139a565b3480156105c157600080fd5b50610289600160a060020a03600435811690602435166113a0565b3480156105e857600080fd5b506102896113cb565b3480156105fd57600080fd5b506104ba600160a060020a03600435166113d1565b34801561061e57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261022f948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975061146a9650505050505050565b3480156106c557600080fd5b50610258611828565b3480156106da57600080fd5b50610258611837565b60028054604080516020601f600019610100600187161502019094168590049384018190048102820181019092528281526060939092909183018282801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b505050505090505b90565b600160a060020a03338116600081815260136020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b601054600160a060020a031681565b60055490565b60006108023342611846565b905090565b600080600160a060020a038416158015906108225750600083115b80156108465750600160a060020a0385166000908152601260205260409020548311155b80156108785750600160a060020a03808616600090815260136020908152604080832033909416835292905220548311155b151561088357600080fd5b600160a060020a0385166000908152601260205260409020546108ac908463ffffffff6119eb16565b600160a060020a0380871660009081526012602052604080822093909355908616815220546108e1908463ffffffff6119fd16565b600160a060020a03808616600090815260126020908152604080832094909455888316825260138152838220339093168252919091522054610929908463ffffffff6119eb16565b600160a060020a03808716600081815260136020908152604080832033861684528252918290209490945580518781529051928816939192600080516020612100833981519152929181900390910190a3600160a060020a03851660009081526014602052604081205411156109ba57600160a060020a03851660009081526014602052604081206109ba916120ae565b5050600160a060020a039283166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff428116828601818152845460018082018755958a52878a20945160029182029095019485559051938501805494841667ffffffffffffffff1995861617905599909a168752948452828620835180850190945296835282840198895286548083018855968652929094209051949095029094019283559351918101805492909416919092161790915590565b600b5481565b600c5481565b60045460ff1690565b6000610802600754436119eb90919063ffffffff16565b60065481565b601460205281600052604060002081815481101515610acb57fe5b60009182526020909120600290910201805460019091015490925067ffffffffffffffff16905082565b60008060008060008651118015610b0d575084518651145b1515610b1857600080fd5b60009250600091505b8551821015610bfa5760008583815181101515610b3a57fe5b90602001906020020151118015610b7257508582815181101515610b5a57fe5b90602001906020020151600160a060020a0316600014155b1515610b7d57600080fd5b610bac662386f26fc100008684815181101515610b9657fe5b602090810290910101519063ffffffff611a0c16565b8583815181101515610bba57fe5b602090810290910101528451610bed90869084908110610bd657fe5b60209081029091010151849063ffffffff6119fd16565b9250600190910190610b21565b600160a060020a033316600090815260126020526040902054831115610c1f57600080fd5b5060009050425b8551821015610de157610c8b8583815181101515610c4057fe5b90602001906020020151601260008986815181101515610c5c57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff6119fd16565b601260008885815181101515610c9d57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020558551869083908110610cce57fe5b90602001906020020151600160a060020a031633600160a060020a03166000805160206121008339815191528785815181101515610d0857fe5b906020019060200201516040518082815260200191505060405180910390a3601460008784815181101515610d3957fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002060408051908101604052808785815181101515610d7c57fe5b602090810291909101810151825267ffffffffffffffff858116928201929092528354600180820186556000958652948290208451600290920201908155920151918301805467ffffffffffffffff1916929091169190911790559190910190610c26565b600160a060020a033316600090815260126020526040902054610e0a908463ffffffff6119eb16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120541115610e5857600160a060020a0333166000908152601460205260408120610e58916120ae565b600160a060020a0333166000908152601260205260408120541115610eed5733600160a060020a03166000908152601460209081526040808320815180830183526012845291842054825267ffffffffffffffff8581168385019081528254600180820185559387529490952092516002909402909201928355925191909201805467ffffffffffffffff1916919092161790555b50600195945050505050565b600080600b54600554101515610f0e57600080fd5b600160a060020a03331660009081526012602052604081205411610f355760009150611096565b600160a060020a03331660009081526014602052604081205411610f5c5760009150611096565b610f6533611a37565b905060008111610f785760009150611096565b600554610f8b908263ffffffff6119fd16565b600555600160a060020a033316600090815260126020526040902054610fb7908263ffffffff6119fd16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120610fe6916120ae565b33600160a060020a0316600081815260146020908152604080832081518083018352601284528285205481524267ffffffffffffffff9081168286019081528354600180820186559488529686902092516002909702909201958655905194909101805467ffffffffffffffff19169490911693909317909255815184815291517f703ad90184e23a946a95d94712e3879bfb81c10b124ce10c7e21ceca77350da59281900390910190a2600191505b5090565b600160a060020a031660009081526012602052604090205490565b60085481565b600f54600160a060020a031681565b600154600160a060020a031681565b60015433600160a060020a039081169116146110f457600080fd5b6000811161110157600080fd5b600160a060020a03331660009081526012602052604090205461112a908263ffffffff6119eb16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120611159916120ae565b33600160a060020a031660009081526014602090815260408083208151808301835260128452918420546fffffffffffffffffffffffffffffffff1682524267ffffffffffffffff9081168385019081528254600180820185559387529490952092516002909402909201928355925191909201805467ffffffffffffffff1916919092161790556005546111ee90826119eb565b600555600c54611204908263ffffffff6119eb16565b600c55600b5461121d90600a830263ffffffff6119eb16565b600b55604080518281529051600160a060020a033316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561076c5780601f106107415761010080835404028352916020019161076c565b600060608183116112d357600080fd5b6112dc84611aaa565b156112f3576112ec848483611ab2565b91506112fe565b6112ec848483611e1b565b5092915050565b601154600160a060020a031681565b600080831161132257600080fd5b61132b84611aaa565b156113425761133b848484611ab2565b905061134d565b61133b848484611e1b565b9392505050565b60095481565b60015433600160a060020a0390811691161461137557600080fd5b60006008541115801561138a57506006548110155b151561139557600080fd5b600855565b60075481565b600160a060020a03918216600090815260136020908152604080832093909416825291909152205490565b600a5481565b60015433600160a060020a039081169116146113ec57600080fd5b600160a060020a038116151561140157600080fd5b600154604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008080851161147957600080fd5b61148286611aaa565b1561181157600160a060020a0333166000908152601260205260409020548511156114ac57600080fd5b600160a060020a0333166000908152601260205260409020546114d5908663ffffffff6119eb16565b600160a060020a03338116600090815260126020526040808220939093559088168152205461150a908663ffffffff6119fd16565b600160a060020a038716600081815260126020908152604080832094909455925186519293919287928291908401908083835b6020831061155c5780518252601f19909201916020918201910161153d565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903388886040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b838110156115ee5781810151838201526020016115d6565b50505050905090810190601f16801561161b5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af19350505050151561163b57fe5b836040518082805190602001908083835b6020831061166b5780518252601f19909201916020918201910161164c565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b83529351939550600160a060020a038c811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a485600160a060020a031633600160a060020a0316600080516020612100833981519152876040518082815260200191505060405180910390a3600160a060020a033316600090815260146020526040812054111561174d57600160a060020a033316600090815260146020526040812061174d916120ae565b5050600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998e16895296865284882085518087019096528c86528587019788528054808601825590895295909720935194909702909201928355925191830180549290951691161790925561181f565b61181c868686611e1b565b91505b50949350505050565b600d54600160a060020a031681565b600e54600160a060020a031681565b600160a060020a03821660009081526014602052604081205481908190811061187257600092506119e3565b600091505b600160a060020a0385166000908152601460205260409020548210156119e357600954600160a060020a038616600090815260146020526040902080546118ee929190859081106118c457fe5b600091825260209091206001600290920201015467ffffffffffffffff169063ffffffff6119fd16565b8410156118fa576119d8565b600160a060020a0385166000908152601460205260409020805461194e91908490811061192357fe5b6000918252602090912060016002909202010154859067ffffffffffffffff1663ffffffff6119eb16565b9050600a5481111561195f5750600a545b6119d56119c8620151806119bc84601460008b600160a060020a0316600160a060020a031681526020019081526020016000208781548110151561199f57fe5b60009182526020909120600290910201549063ffffffff611a0c16565b9063ffffffff61209716565b849063ffffffff6119fd16565b92505b600190910190611877565b505092915050565b6000828211156119f757fe5b50900390565b60008282018381101561134d57fe5b600080831515611a1f57600091506112fe565b50828202828482811515611a2f57fe5b041461134d57fe5b60008060006008544210158015611a5057506000600854115b1515611a5b57600080fd5b429150611a72848367ffffffffffffffff16611846565b905060008111611a855760009250611aa3565b611aa061016d6119bc6103e88185602d63ffffffff611a0c16565b92505b5050919050565b6000903b1190565b600160a060020a03331660009081526012602052604081205481908190851115611adb57600080fd5b600160a060020a033316600090815260126020526040902054611b04908663ffffffff6119eb16565b600160a060020a033381166000908152601260205260408082209390935590881681522054611b39908663ffffffff6119fd16565b600160a060020a0380881660008181526012602090815260408083209590955593517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523393841660048201908152602482018b90526060604483019081528a5160648401528a518d9950949663c0ee0b8a96958d958d9560840192860191908190849084905b83811015611bd9578181015183820152602001611bc1565b50505050905090810190601f168015611c065780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611c2757600080fd5b505af1158015611c3b573d6000803e3d6000fd5b50505050836040518082805190602001908083835b60208310611c6f5780518252601f199092019160209182019101611c50565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b83529351939550600160a060020a038c811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a485600160a060020a031633600160a060020a0316600080516020612100833981519152876040518082815260200191505060405180910390a3600160a060020a0333166000908152601460205260408120541115611d5157600160a060020a0333166000908152601460205260408120611d51916120ae565b50600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998f16895296865284882085518087019096528d86528587019788528054808601825590895295909720935194909702909201928355925191830180549290951691161790925590925050509392505050565b600160a060020a0333166000908152601260205260408120548190841115611e4257600080fd5b600160a060020a033316600090815260126020526040902054611e6b908563ffffffff6119eb16565b600160a060020a033381166000908152601260205260408082209390935590871681522054611ea0908563ffffffff6119fd16565b600160a060020a0386166000908152601260209081526040918290209290925551845185928291908401908083835b60208310611eee5780518252601f199092019160209182019101611ecf565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208a83529351939550600160a060020a038b811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a484600160a060020a031633600160a060020a0316600080516020612100833981519152866040518082815260200191505060405180910390a3600160a060020a0333166000908152601460205260408120541115611fd057600160a060020a0333166000908152601460205260408120611fd0916120ae565b5050600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998d16895296865284882085518087019096528b865285870197885280548086018255908952959097209351949097029092019283559251918301805492909516911617909255509392505050565b60008082848115156120a557fe5b04949350505050565b50805460008255600202906000526020600020908101906120cf91906120d2565b50565b61077491905b80821115611096576000815560018101805467ffffffffffffffff191690556002016120d85600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582081f719e75b6edabf1ef9bacb34d7a4b8d372d855dd5ca3f5bf42fdaa039859110029

Deployed Bytecode

0x60806040526004361061017c5763ffffffff60e060020a60003504166306fdde038114610181578063095ea7b31461020b5780631509c42a1461024357806318160ddd146102745780631e1b13c01461029b57806323b872dd146102b05780632ab4d052146102da578063311028af146102ef578063313ce5671461030457806342cbb15c1461032f5780635b054f9b1461034457806365476ea314610359578063672434821461039f5780636ac54eb01461042d57806370a08231146104425780637419f190146104635780638c0cf897146104785780638da5cb5b1461048d57806390762a8b146104a257806395d89b41146104bc578063a9059cbb146104d1578063ba2ee65c146104f5578063be45fd621461050a578063cbd8877e14610573578063cc1b63d514610588578063cd474b04146105a0578063dd62ed3e146105b5578063e1c3bac6146105dc578063f2fde38b146105f1578063f6368f8a14610612578063f851a440146106b9578063fdea8e0b146106ce575b600080fd5b34801561018d57600080fd5b506101966106e3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d05781810151838201526020016101b8565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021757600080fd5b5061022f600160a060020a0360043516602435610777565b604080519115158252519081900360200190f35b34801561024f57600080fd5b506102586107e1565b60408051600160a060020a039092168252519081900360200190f35b34801561028057600080fd5b506102896107f0565b60408051918252519081900360200190f35b3480156102a757600080fd5b506102896107f6565b3480156102bc57600080fd5b5061022f600160a060020a0360043581169060243516604435610807565b3480156102e657600080fd5b50610289610a7e565b3480156102fb57600080fd5b50610289610a84565b34801561031057600080fd5b50610319610a8a565b6040805160ff9092168252519081900360200190f35b34801561033b57600080fd5b50610289610a93565b34801561035057600080fd5b50610289610aaa565b34801561036557600080fd5b5061037d600160a060020a0360043516602435610ab0565b6040805192835267ffffffffffffffff90911660208301528051918290030190f35b3480156103ab57600080fd5b506040805160206004803580820135838102808601850190965280855261022f95369593946024949385019291829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750610af59650505050505050565b34801561043957600080fd5b5061022f610ef9565b34801561044e57600080fd5b50610289600160a060020a036004351661109a565b34801561046f57600080fd5b506102896110b5565b34801561048457600080fd5b506102586110bb565b34801561049957600080fd5b506102586110ca565b3480156104ae57600080fd5b506104ba6004356110d9565b005b3480156104c857600080fd5b50610196611262565b3480156104dd57600080fd5b5061022f600160a060020a03600435166024356112c3565b34801561050157600080fd5b50610258611305565b34801561051657600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261022f948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506113149650505050505050565b34801561057f57600080fd5b50610289611354565b34801561059457600080fd5b506104ba60043561135a565b3480156105ac57600080fd5b5061028961139a565b3480156105c157600080fd5b50610289600160a060020a03600435811690602435166113a0565b3480156105e857600080fd5b506102896113cb565b3480156105fd57600080fd5b506104ba600160a060020a03600435166113d1565b34801561061e57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261022f948235600160a060020a031694602480359536959460649492019190819084018382808284375050604080516020601f89358b018035918201839004830284018301909452808352979a99988101979196509182019450925082915084018382808284375094975061146a9650505050505050565b3480156106c557600080fd5b50610258611828565b3480156106da57600080fd5b50610258611837565b60028054604080516020601f600019610100600187161502019094168590049384018190048102820181019092528281526060939092909183018282801561076c5780601f106107415761010080835404028352916020019161076c565b820191906000526020600020905b81548152906001019060200180831161074f57829003601f168201915b505050505090505b90565b600160a060020a03338116600081815260136020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b601054600160a060020a031681565b60055490565b60006108023342611846565b905090565b600080600160a060020a038416158015906108225750600083115b80156108465750600160a060020a0385166000908152601260205260409020548311155b80156108785750600160a060020a03808616600090815260136020908152604080832033909416835292905220548311155b151561088357600080fd5b600160a060020a0385166000908152601260205260409020546108ac908463ffffffff6119eb16565b600160a060020a0380871660009081526012602052604080822093909355908616815220546108e1908463ffffffff6119fd16565b600160a060020a03808616600090815260126020908152604080832094909455888316825260138152838220339093168252919091522054610929908463ffffffff6119eb16565b600160a060020a03808716600081815260136020908152604080832033861684528252918290209490945580518781529051928816939192600080516020612100833981519152929181900390910190a3600160a060020a03851660009081526014602052604081205411156109ba57600160a060020a03851660009081526014602052604081206109ba916120ae565b5050600160a060020a039283166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff428116828601818152845460018082018755958a52878a20945160029182029095019485559051938501805494841667ffffffffffffffff1995861617905599909a168752948452828620835180850190945296835282840198895286548083018855968652929094209051949095029094019283559351918101805492909416919092161790915590565b600b5481565b600c5481565b60045460ff1690565b6000610802600754436119eb90919063ffffffff16565b60065481565b601460205281600052604060002081815481101515610acb57fe5b60009182526020909120600290910201805460019091015490925067ffffffffffffffff16905082565b60008060008060008651118015610b0d575084518651145b1515610b1857600080fd5b60009250600091505b8551821015610bfa5760008583815181101515610b3a57fe5b90602001906020020151118015610b7257508582815181101515610b5a57fe5b90602001906020020151600160a060020a0316600014155b1515610b7d57600080fd5b610bac662386f26fc100008684815181101515610b9657fe5b602090810290910101519063ffffffff611a0c16565b8583815181101515610bba57fe5b602090810290910101528451610bed90869084908110610bd657fe5b60209081029091010151849063ffffffff6119fd16565b9250600190910190610b21565b600160a060020a033316600090815260126020526040902054831115610c1f57600080fd5b5060009050425b8551821015610de157610c8b8583815181101515610c4057fe5b90602001906020020151601260008986815181101515610c5c57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020549063ffffffff6119fd16565b601260008885815181101515610c9d57fe5b6020908102909101810151600160a060020a03168252810191909152604001600020558551869083908110610cce57fe5b90602001906020020151600160a060020a031633600160a060020a03166000805160206121008339815191528785815181101515610d0857fe5b906020019060200201516040518082815260200191505060405180910390a3601460008784815181101515610d3957fe5b90602001906020020151600160a060020a0316600160a060020a0316815260200190815260200160002060408051908101604052808785815181101515610d7c57fe5b602090810291909101810151825267ffffffffffffffff858116928201929092528354600180820186556000958652948290208451600290920201908155920151918301805467ffffffffffffffff1916929091169190911790559190910190610c26565b600160a060020a033316600090815260126020526040902054610e0a908463ffffffff6119eb16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120541115610e5857600160a060020a0333166000908152601460205260408120610e58916120ae565b600160a060020a0333166000908152601260205260408120541115610eed5733600160a060020a03166000908152601460209081526040808320815180830183526012845291842054825267ffffffffffffffff8581168385019081528254600180820185559387529490952092516002909402909201928355925191909201805467ffffffffffffffff1916919092161790555b50600195945050505050565b600080600b54600554101515610f0e57600080fd5b600160a060020a03331660009081526012602052604081205411610f355760009150611096565b600160a060020a03331660009081526014602052604081205411610f5c5760009150611096565b610f6533611a37565b905060008111610f785760009150611096565b600554610f8b908263ffffffff6119fd16565b600555600160a060020a033316600090815260126020526040902054610fb7908263ffffffff6119fd16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120610fe6916120ae565b33600160a060020a0316600081815260146020908152604080832081518083018352601284528285205481524267ffffffffffffffff9081168286019081528354600180820186559488529686902092516002909702909201958655905194909101805467ffffffffffffffff19169490911693909317909255815184815291517f703ad90184e23a946a95d94712e3879bfb81c10b124ce10c7e21ceca77350da59281900390910190a2600191505b5090565b600160a060020a031660009081526012602052604090205490565b60085481565b600f54600160a060020a031681565b600154600160a060020a031681565b60015433600160a060020a039081169116146110f457600080fd5b6000811161110157600080fd5b600160a060020a03331660009081526012602052604090205461112a908263ffffffff6119eb16565b600160a060020a03331660009081526012602090815260408083209390935560149052908120611159916120ae565b33600160a060020a031660009081526014602090815260408083208151808301835260128452918420546fffffffffffffffffffffffffffffffff1682524267ffffffffffffffff9081168385019081528254600180820185559387529490952092516002909402909201928355925191909201805467ffffffffffffffff1916919092161790556005546111ee90826119eb565b600555600c54611204908263ffffffff6119eb16565b600c55600b5461121d90600a830263ffffffff6119eb16565b600b55604080518281529051600160a060020a033316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a250565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561076c5780601f106107415761010080835404028352916020019161076c565b600060608183116112d357600080fd5b6112dc84611aaa565b156112f3576112ec848483611ab2565b91506112fe565b6112ec848483611e1b565b5092915050565b601154600160a060020a031681565b600080831161132257600080fd5b61132b84611aaa565b156113425761133b848484611ab2565b905061134d565b61133b848484611e1b565b9392505050565b60095481565b60015433600160a060020a0390811691161461137557600080fd5b60006008541115801561138a57506006548110155b151561139557600080fd5b600855565b60075481565b600160a060020a03918216600090815260136020908152604080832093909416825291909152205490565b600a5481565b60015433600160a060020a039081169116146113ec57600080fd5b600160a060020a038116151561140157600080fd5b600154604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008080851161147957600080fd5b61148286611aaa565b1561181157600160a060020a0333166000908152601260205260409020548511156114ac57600080fd5b600160a060020a0333166000908152601260205260409020546114d5908663ffffffff6119eb16565b600160a060020a03338116600090815260126020526040808220939093559088168152205461150a908663ffffffff6119fd16565b600160a060020a038716600081815260126020908152604080832094909455925186519293919287928291908401908083835b6020831061155c5780518252601f19909201916020918201910161153d565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060e060020a9004903388886040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b838110156115ee5781810151838201526020016115d6565b50505050905090810190601f16801561161b5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185885af19350505050151561163b57fe5b836040518082805190602001908083835b6020831061166b5780518252601f19909201916020918201910161164c565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b83529351939550600160a060020a038c811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a485600160a060020a031633600160a060020a0316600080516020612100833981519152876040518082815260200191505060405180910390a3600160a060020a033316600090815260146020526040812054111561174d57600160a060020a033316600090815260146020526040812061174d916120ae565b5050600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998e16895296865284882085518087019096528c86528587019788528054808601825590895295909720935194909702909201928355925191830180549290951691161790925561181f565b61181c868686611e1b565b91505b50949350505050565b600d54600160a060020a031681565b600e54600160a060020a031681565b600160a060020a03821660009081526014602052604081205481908190811061187257600092506119e3565b600091505b600160a060020a0385166000908152601460205260409020548210156119e357600954600160a060020a038616600090815260146020526040902080546118ee929190859081106118c457fe5b600091825260209091206001600290920201015467ffffffffffffffff169063ffffffff6119fd16565b8410156118fa576119d8565b600160a060020a0385166000908152601460205260409020805461194e91908490811061192357fe5b6000918252602090912060016002909202010154859067ffffffffffffffff1663ffffffff6119eb16565b9050600a5481111561195f5750600a545b6119d56119c8620151806119bc84601460008b600160a060020a0316600160a060020a031681526020019081526020016000208781548110151561199f57fe5b60009182526020909120600290910201549063ffffffff611a0c16565b9063ffffffff61209716565b849063ffffffff6119fd16565b92505b600190910190611877565b505092915050565b6000828211156119f757fe5b50900390565b60008282018381101561134d57fe5b600080831515611a1f57600091506112fe565b50828202828482811515611a2f57fe5b041461134d57fe5b60008060006008544210158015611a5057506000600854115b1515611a5b57600080fd5b429150611a72848367ffffffffffffffff16611846565b905060008111611a855760009250611aa3565b611aa061016d6119bc6103e88185602d63ffffffff611a0c16565b92505b5050919050565b6000903b1190565b600160a060020a03331660009081526012602052604081205481908190851115611adb57600080fd5b600160a060020a033316600090815260126020526040902054611b04908663ffffffff6119eb16565b600160a060020a033381166000908152601260205260408082209390935590881681522054611b39908663ffffffff6119fd16565b600160a060020a0380881660008181526012602090815260408083209590955593517fc0ee0b8a0000000000000000000000000000000000000000000000000000000081523393841660048201908152602482018b90526060604483019081528a5160648401528a518d9950949663c0ee0b8a96958d958d9560840192860191908190849084905b83811015611bd9578181015183820152602001611bc1565b50505050905090810190601f168015611c065780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611c2757600080fd5b505af1158015611c3b573d6000803e3d6000fd5b50505050836040518082805190602001908083835b60208310611c6f5780518252601f199092019160209182019101611c50565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b83529351939550600160a060020a038c811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a485600160a060020a031633600160a060020a0316600080516020612100833981519152876040518082815260200191505060405180910390a3600160a060020a0333166000908152601460205260408120541115611d5157600160a060020a0333166000908152601460205260408120611d51916120ae565b50600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998f16895296865284882085518087019096528d86528587019788528054808601825590895295909720935194909702909201928355925191830180549290951691161790925590925050509392505050565b600160a060020a0333166000908152601260205260408120548190841115611e4257600080fd5b600160a060020a033316600090815260126020526040902054611e6b908563ffffffff6119eb16565b600160a060020a033381166000908152601260205260408082209390935590871681522054611ea0908563ffffffff6119fd16565b600160a060020a0386166000908152601260209081526040918290209290925551845185928291908401908083835b60208310611eee5780518252601f199092019160209182019101611ecf565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208a83529351939550600160a060020a038b811695503316937fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c169350918290030190a484600160a060020a031633600160a060020a0316600080516020612100833981519152866040518082815260200191505060405180910390a3600160a060020a0333166000908152601460205260408120541115611fd057600160a060020a0333166000908152601460205260408120611fd0916120ae565b5050600160a060020a033381166000908152601460208181526040808420815180830183526012845282862054815267ffffffffffffffff42818116838701818152855460018181018855968b52888b20955160029182029096019586559051948601805495851667ffffffffffffffff19968716179055998d16895296865284882085518087019096528b865285870197885280548086018255908952959097209351949097029092019283559251918301805492909516911617909255509392505050565b60008082848115156120a557fe5b04949350505050565b50805460008255600202906000526020600020908101906120cf91906120d2565b50565b61077491905b80821115611096576000815560018101805467ffffffffffffffff191690556002016120d85600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582081f719e75b6edabf1ef9bacb34d7a4b8d372d855dd5ca3f5bf42fdaa039859110029

Swarm Source

bzzr://81f719e75b6edabf1ef9bacb34d7a4b8d372d855dd5ca3f5bf42fdaa03985911

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.