ETH Price: $2,424.93 (-2.56%)

Contract

0xd3006F35C0286F5485971F935B87F84e72e8e43F
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer113270562020-11-25 10:38:511412 days ago1606300731IN
0xd3006F35...e72e8e43F
0 ETH0.0005809923.65625
Transfer110706792020-10-17 2:14:021451 days ago1602900842IN
0xd3006F35...e72e8e43F
0 ETH0.0010443717.40625
Transfer92058872020-01-03 7:24:071739 days ago1578036247IN
0xd3006F35...e72e8e43F
0 ETH0.003660
Transfer92058672020-01-03 7:20:001739 days ago1578036000IN
0xd3006F35...e72e8e43F
0 ETH0.003660
Transfer92057982020-01-03 7:05:311739 days ago1578035131IN
0xd3006F35...e72e8e43F
0 ETH0.003660
Transfer89787562019-11-22 5:54:141781 days ago1574402054IN
0xd3006F35...e72e8e43F
0 ETH0.0008113.5
Transfer82215002019-07-25 18:57:001901 days ago1564081020IN
0xd3006F35...e72e8e43F
0 ETH0.001220
Transfer81395222019-07-13 0:42:181913 days ago1562978538IN
0xd3006F35...e72e8e43F
0 ETH0.000161724
Transfer81285422019-07-11 7:08:001915 days ago1562828880IN
0xd3006F35...e72e8e43F
0 ETH0.0002510110.84375
Transfer81031372019-07-07 8:36:511919 days ago1562488611IN
0xd3006F35...e72e8e43F
0 ETH0.0010496719.75
Transfer81031302019-07-07 8:34:581919 days ago1562488498IN
0xd3006F35...e72e8e43F
0 ETH0.0007725920.21875
Transfer79595562019-06-14 22:56:251942 days ago1560552985IN
0xd3006F35...e72e8e43F
0 ETH0.001220
Transfer78027522019-05-21 10:41:361966 days ago1558435296IN
0xd3006F35...e72e8e43F
0 ETH0.000610
Transfer76352972019-04-25 7:39:591992 days ago1556177999IN
0xd3006F35...e72e8e43F
0 ETH0.0004267.1
Transfer76350382019-04-25 6:41:121992 days ago1556174472IN
0xd3006F35...e72e8e43F
0 ETH0.000369336.9575
Transfer75285262019-04-08 16:20:362009 days ago1554740436IN
0xd3006F35...e72e8e43F
0 ETH0.000488
Transfer75230882019-04-07 20:12:072010 days ago1554667927IN
0xd3006F35...e72e8e43F
0 ETH0.0001893.15
Transfer75044392019-04-04 22:40:192013 days ago1554417619IN
0xd3006F35...e72e8e43F
0 ETH0.000141076.07768062
Transfer75044262019-04-04 22:36:452013 days ago1554417405IN
0xd3006F35...e72e8e43F
0 ETH0.000300965.016
Transfer75043772019-04-04 22:27:242013 days ago1554416844IN
0xd3006F35...e72e8e43F
0 ETH0.000291724.8621445
Transfer75029572019-04-04 17:13:132013 days ago1554397993IN
0xd3006F35...e72e8e43F
0 ETH0.000486048.10081
Transfer75014442019-04-04 11:28:582013 days ago1554377338IN
0xd3006F35...e72e8e43F
0 ETH0.000427
Transfer74974822019-04-03 20:45:082014 days ago1554324308IN
0xd3006F35...e72e8e43F
0 ETH0.000549
Transfer74700592019-03-30 13:54:062018 days ago1553954046IN
0xd3006F35...e72e8e43F
0 ETH0.000191385
Transfer74700472019-03-30 13:50:062018 days ago1553953806IN
0xd3006F35...e72e8e43F
0 ETH0.000115425
View all transactions

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

Contract Source Code Verified (Exact Match)

Contract Name:
VIPToken

Compiler Version
v0.4.20-nightly.2017.12.20+commit.efc198d5

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-12-25
*/

pragma solidity ^0.4.18;

contract Owner {
    address public owner;
    //添加断路器
    bool public stopped = false;

    function Owner() internal {
        owner = msg.sender;
    }

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

    function transferOwnership(address newOwner) external onlyOwner {
        require (newOwner != 0x0);
        require (newOwner != owner);
        OwnerUpdate(owner, newOwner);
        owner = newOwner;
    }

    function toggleContractActive() onlyOwner public {
        //可以预置改变状态的条件,如基于投票人数
        stopped = !stopped;
    }

    modifier stopInEmergency {
        require(stopped == false);
        _;
    }

    modifier onlyInEmergency {
        require(stopped == true);
        _;
    }

    event OwnerUpdate(address _prevOwner, address _newOwner);
}

contract Mortal is Owner {
    //销毁合约
    function close() external onlyOwner {
        selfdestruct(owner);
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // 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 Token is Owner, Mortal {
    using SafeMath for uint256;

    string public name; //代币名称
    string public symbol; //代币符号
    uint8 public decimals; //显示多少小数点
    uint256 public totalSupply; //总供应量

    //冻结的基金,解锁的数量根据时间动态计算出来
    struct Fund{
        uint amount;            //总冻结数量,固定值

        uint unlockStartTime;   //从什么时候开始解锁
        uint unlockInterval;    //每次解锁的周期,单位 秒
        uint unlockPercent;     //每次解锁的百分比 50 为50%

        bool isValue; // exist value
    }

    //所有的账户数据
    mapping (address => uint) public balances;
    //代理
    mapping(address => mapping(address => uint)) approved;

    //所有的账户冻结数据,时间,到期自动解冻,同时只支持一次冻结
    mapping (address => Fund) public frozenAccount;

    //事件日志
    event Transfer(address indexed from, address indexed to, uint value);
    event FrozenFunds(address indexed target, uint value, uint unlockStartTime, uint unlockIntervalUnit, uint unlockInterval, uint unlockPercent);
    event Approval(address indexed accountOwner, address indexed spender, uint256 value);

    /**
    *
    * Fix for the ERC20 short address attack
    *
    * http://vessenes.com/the-erc20-short-address-attack-explained/
    */
    modifier onlyPayloadSize(uint256 size) {
        require(msg.data.length == size + 4);
        _;
    }

    //冻结固定时间
    function freezeAccount(address target, uint value, uint unlockStartTime, uint unlockIntervalUnit, uint unlockInterval, uint unlockPercent) external onlyOwner freezeOutCheck(target, 0) {
        require (value > 0);
        require (frozenAccount[target].isValue == false);
        require (balances[msg.sender] >= value);
        require (unlockStartTime > now);
        require (unlockInterval > 0);
        require (unlockPercent > 0 && unlockPercent <= 100);

        uint unlockIntervalSecond = toSecond(unlockIntervalUnit, unlockInterval);

        frozenAccount[target] = Fund(value, unlockStartTime, unlockIntervalSecond, unlockPercent, true);
        FrozenFunds(target, value, unlockStartTime, unlockIntervalUnit, unlockInterval, unlockPercent);
    }

    //转账并冻结
    function transferAndFreeze(address target, uint256 value, uint unlockStartTime, uint unlockIntervalUnit, uint unlockInterval, uint unlockPercent) external onlyOwner freezeOutCheck(target, 0) {
        require (value > 0);
        require (frozenAccount[target].isValue == false);
        require (unlockStartTime > now);
        require (unlockInterval > 0);
        require (unlockPercent > 0 && unlockPercent <= 100);

        _transfer(msg.sender, target, value);

        uint unlockIntervalSecond = toSecond(unlockIntervalUnit, unlockInterval);
        frozenAccount[target] = Fund(value, unlockStartTime, unlockIntervalSecond, unlockPercent, true);
        FrozenFunds(target, value, unlockStartTime, unlockIntervalUnit, unlockInterval, unlockPercent);
    }

    //转换单位时间到秒
    function toSecond(uint unitType, uint value) internal pure returns (uint256 Seconds) {
        uint _seconds;
        if (unitType == 5){
            _seconds = value.mul(1 years);
        }else if(unitType == 4){
            _seconds = value.mul(1 days);
        }else if (unitType == 3){
            _seconds = value.mul(1 hours);
        }else if (unitType == 2){
            _seconds = value.mul(1 minutes);
        }else if (unitType == 1){
            _seconds = value;
        }else{
            revert();
        }
        return _seconds;
    }

    modifier freezeOutCheck(address sender, uint value) {
        require ( getAvailableBalance(sender) >= value);
        _;
    }

    //计算可用余额 去除冻结部分
    function getAvailableBalance(address sender) internal returns(uint balance) {
        if (frozenAccount[sender].isValue) {
            //未开始解锁
            if (now < frozenAccount[sender].unlockStartTime){
                return balances[sender] - frozenAccount[sender].amount;
            }else{
                //计算解锁了多少数量
                uint unlockPercent = ((now - frozenAccount[sender].unlockStartTime ) / frozenAccount[sender].unlockInterval + 1) * frozenAccount[sender].unlockPercent;
                if (unlockPercent > 100){
                    unlockPercent = 100;
                }

                //计算可用余额 = 总额 - 冻结总额
                assert(frozenAccount[sender].amount <= balances[sender]);
                uint available = balances[sender] - (100 - unlockPercent) * frozenAccount[sender].amount / 100;
                if ( unlockPercent >= 100){
                    //release
                    frozenAccount[sender].isValue = false;
                    delete frozenAccount[sender];
                }

                return available;
            }
        }
        return balances[sender];
    }

    function balanceOf(address sender) constant external returns (uint256 balance){
        return balances[sender];
    }

    /* 代币转移的函数 */
    function transfer(address to, uint256 value) external stopInEmergency onlyPayloadSize(2 * 32) {
        _transfer(msg.sender, to, value);
    }

    function _transfer(address _from, address _to, uint _value) internal freezeOutCheck(_from, _value) {
        require(_to != 0x0);
        require(_from != _to);
        require(_value > 0);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);

        Transfer(_from, _to, _value);
    }

    //设置代理交易
    //允许spender多次取出您的帐户,最高达value金额。value可以设置超过账户余额
    function approve(address spender, uint value) external returns (bool success) {
        approved[msg.sender][spender] = value;
        Approval(msg.sender, spender, value);

        return true;
    }

    //返回spender仍然被允许从accountOwner提取的金额
    function allowance(address accountOwner, address spender) constant external returns (uint remaining) {
        return approved[accountOwner][spender];
    }

    //使用代理交易
    //0值的传输必须被视为正常传输并触发传输事件
    //代理交易不自动为对方补充gas
    function transferFrom(address from, address to, uint256 value) external stopInEmergency freezeOutCheck(from, value)  returns (bool success) {
        require(value > 0);
        require(value <= approved[from][msg.sender]);
        require(value <= balances[from]);

        approved[from][msg.sender] = approved[from][msg.sender].sub(value);
        _transfer(from, to, value);
        return true;
    }
}

contract MigrationAgent {
  function migrateFrom(address from, uint256 value) public;
}

contract UpgradeableToken is Owner, Token {
  address public migrationAgent;

  /**
   * Somebody has upgraded some of his tokens.
   */
  event Upgrade(address indexed from, address indexed to, uint256 value);

  /**
   * New upgrade agent available.
   */
  event UpgradeAgentSet(address agent);

  // Migrate tokens to the new token contract
  function migrate() public {
    require(migrationAgent != 0);
    uint value = balances[msg.sender];
    balances[msg.sender] = balances[msg.sender].sub(value);
    totalSupply = totalSupply.sub(value);
    MigrationAgent(migrationAgent).migrateFrom(msg.sender, value);
    Upgrade(msg.sender, migrationAgent, value);
  }

  function () public payable {
    require(migrationAgent != 0);
    require(balances[msg.sender] > 0);
    migrate();
    msg.sender.transfer(msg.value);
  }

  function setMigrationAgent(address _agent) onlyOwner external {
    migrationAgent = _agent;
    UpgradeAgentSet(_agent);
  }
}

contract VIPToken is UpgradeableToken {

  function VIPToken() public {
    name = "VIP Tokens";
    symbol = "VIP";
    decimals = 18;

    owner = msg.sender;
    uint initialSupply = 300000000;

    totalSupply = initialSupply * 10 ** uint256(decimals);
    require (totalSupply >= initialSupply);

    balances[msg.sender] = totalSupply;
    Transfer(0x0, msg.sender, totalSupply);
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"toggleContractActive","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"sender","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_agent","type":"address"}],"name":"setMigrationAgent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"migrationAgent","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":"migrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"value","type":"uint256"},{"name":"unlockStartTime","type":"uint256"},{"name":"unlockIntervalUnit","type":"uint256"},{"name":"unlockInterval","type":"uint256"},{"name":"unlockPercent","type":"uint256"}],"name":"freezeAccount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"amount","type":"uint256"},{"name":"unlockStartTime","type":"uint256"},{"name":"unlockInterval","type":"uint256"},{"name":"unlockPercent","type":"uint256"},{"name":"isValue","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"value","type":"uint256"},{"name":"unlockStartTime","type":"uint256"},{"name":"unlockIntervalUnit","type":"uint256"},{"name":"unlockInterval","type":"uint256"},{"name":"unlockPercent","type":"uint256"}],"name":"transferAndFreeze","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"accountOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Upgrade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"agent","type":"address"}],"name":"UpgradeAgentSet","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":"target","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"unlockStartTime","type":"uint256"},{"indexed":false,"name":"unlockIntervalUnit","type":"uint256"},{"indexed":false,"name":"unlockInterval","type":"uint256"},{"indexed":false,"name":"unlockPercent","type":"uint256"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"accountOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]

60606040526000805460a060020a60ff021916905534156200002057600080fd5b60008054600160a060020a03191633600160a060020a031617815560408051908101604052600a81527f56495020546f6b656e7300000000000000000000000000000000000000000000602082015260019080516200008492916020019062000179565b5060408051908101604052600381527f564950000000000000000000000000000000000000000000000000000000000060208201526002908051620000ce92916020019062000179565b50506003805460ff19166012179081905560008054600160a060020a033316600160a060020a031990911617905560ff16600a0a6311e1a3009081026004819055819010156200011d57600080fd5b600454600160a060020a033316600081815260056020526040808220849055919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a3506200021e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001bc57805160ff1916838001178555620001ec565b82800160010185558215620001ec579182015b82811115620001ec578251825591602001919060010190620001cf565b50620001fa929150620001fe565b5090565b6200021b91905b80821115620001fa576000815560010162000205565b90565b61115c806200022e6000396000f30060606040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610192578063095ea7b31461021c5780631385d24c1461025257806318160ddd1461026557806323b872dd1461028a57806327e235e3146102b2578063313ce567146102d157806343d726d6146102fa57806370a082311461030d57806375e2ff651461032c57806375f12b211461034b5780638328dbcd1461035e5780638da5cb5b1461038d5780638fd3ab80146103a057806391e1cc5a146103b357806395d89b41146103e1578063a9059cbb146103f4578063b414d4b614610416578063ca2748bd14610466578063dd62ed3e14610494578063f2fde38b146104b9575b600854600160a060020a0316151561013357600080fd5b600160a060020a0333166000908152600560205260408120541161015657600080fd5b61015e6104d8565b600160a060020a0333163480156108fc0290604051600060405180830381858888f19350505050151561019057600080fd5b005b341561019d57600080fd5b6101a5610615565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e15780820151838201526020016101c9565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022757600080fd5b61023e600160a060020a03600435166024356106b3565b604051901515815260200160405180910390f35b341561025d57600080fd5b61019061071f565b341561027057600080fd5b61027861076c565b60405190815260200160405180910390f35b341561029557600080fd5b61023e600160a060020a0360043581169060243516604435610772565b34156102bd57600080fd5b610278600160a060020a036004351661087b565b34156102dc57600080fd5b6102e461088d565b60405160ff909116815260200160405180910390f35b341561030557600080fd5b610190610896565b341561031857600080fd5b610278600160a060020a03600435166108bf565b341561033757600080fd5b610190600160a060020a03600435166108da565b341561035657600080fd5b61023e61095d565b341561036957600080fd5b61037161096d565b604051600160a060020a03909116815260200160405180910390f35b341561039857600080fd5b61037161097c565b34156103ab57600080fd5b6101906104d8565b34156103be57600080fd5b610190600160a060020a036004351660243560443560643560843560a43561098b565b34156103ec57600080fd5b6101a5610b46565b34156103ff57600080fd5b610190600160a060020a0360043516602435610bb1565b341561042157600080fd5b610435600160a060020a0360043516610be7565b60405194855260208501939093526040808501929092526060840152901515608083015260a0909101905180910390f35b341561047157600080fd5b610190600160a060020a036004351660243560443560643560843560a435610c19565b341561049f57600080fd5b610278600160a060020a0360043581169060243516610cc3565b34156104c457600080fd5b610190600160a060020a0360043516610cee565b600854600090600160a060020a031615156104f257600080fd5b50600160a060020a03331660009081526005602052604090205461051c818063ffffffff610dba16565b600160a060020a033316600090815260056020526040902055600454610548908263ffffffff610dba16565b600455600854600160a060020a0316637a3130e333836040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156105ba57600080fd5b6102c65a03f115156105cb57600080fd5b5050600854600160a060020a03908116915033167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac8360405190815260200160405180910390a350565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ab5780601f10610680576101008083540402835291602001916106ab565b820191906000526020600020905b81548152906001019060200180831161068e57829003601f168201915b505050505081565b600160a060020a03338116600081815260066020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005433600160a060020a0390811691161461073a57600080fd5b6000805474ff000000000000000000000000000000000000000019811660a060020a9182900460ff1615909102179055565b60045481565b6000805460a060020a900460ff161561078a57600080fd5b83828061079683610dcc565b10156107a157600080fd5b600084116107ae57600080fd5b600160a060020a03808716600090815260066020908152604080832033909416835292905220548411156107e157600080fd5b600160a060020a03861660009081526005602052604090205484111561080657600080fd5b600160a060020a038087166000908152600660209081526040808320339094168352929052205461083d908563ffffffff610dba16565b600160a060020a038088166000908152600660209081526040808320339094168352929052205561086f868686610f5b565b50600195945050505050565b60056020526000908152604090205481565b60035460ff1681565b60005433600160a060020a039081169116146108b157600080fd5b600054600160a060020a0316ff5b600160a060020a031660009081526005602052604090205490565b60005433600160a060020a039081169116146108f557600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790557f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc81604051600160a060020a03909116815260200160405180910390a150565b60005460a060020a900460ff1681565b600854600160a060020a031681565b600054600160a060020a031681565b6000805433600160a060020a039081169116146109a757600080fd5b866000806109b483610dcc565b10156109bf57600080fd5b600088116109cc57600080fd5b600160a060020a03891660009081526007602052604090206004015460ff16156109f557600080fd5b600160a060020a03331660009081526005602052604090205488901015610a1b57600080fd5b428711610a2757600080fd5b60008511610a3457600080fd5b600084118015610a45575060648411155b1515610a5057600080fd5b610a5a8686611069565b925060a0604051908101604090815289825260208083018a90528183018690526060830187905260016080840152600160a060020a038c166000908152600790915220815181556020820151816001015560408201518160020155606082015181600301556080820151600491909101805460ff191691151591909117905550600160a060020a0389167f05f5c0f3cb75bf43dcb2ef0c74fd5aa4debe5de724cb1f1803d73d71ea25957a8989898989604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a2505050505050505050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ab5780601f10610680576101008083540402835291602001916106ab565b60005460a060020a900460ff1615610bc857600080fd5b604036604414610bd757600080fd5b610be2338484610f5b565b505050565b600760205260009081526040902080546001820154600283015460038401546004909401549293919290919060ff1685565b6000805433600160a060020a03908116911614610c3557600080fd5b86600080610c4283610dcc565b1015610c4d57600080fd5b60008811610c5a57600080fd5b600160a060020a03891660009081526007602052604090206004015460ff1615610c8357600080fd5b428711610c8f57600080fd5b60008511610c9c57600080fd5b600084118015610cad575060648411155b1515610cb857600080fd5b610a50338a8a610f5b565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610d0957600080fd5b600160a060020a0381161515610d1e57600080fd5b600054600160a060020a0382811691161415610d3957600080fd5b6000547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a90600160a060020a031682604051600160a060020a039283168152911660208201526040908101905180910390a16000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115610dc657fe5b50900390565b600160a060020a0381166000908152600760205260408120600401548190819060ff1615610f3857600160a060020a038416600090815260076020526040902060010154421015610e4457600160a060020a038416600090815260076020908152604080832054600590925290912054039250610f54565b600160a060020a0384166000908152600760205260409020600381015460028201546001909201549091904203811515610e7a57fe5b046001010291506064821115610e8f57606491505b600160a060020a0384166000908152600560209081526040808320546007909252909120541115610ebc57fe5b50600160a060020a03831660009081526007602090815260408083205460059092529091205460648381039092028290049003908210610f3057600160a060020a038416600090815260076020526040812060048101805460ff191690558181556001810182905560028101829055600301555b809250610f54565b600160a060020a03841660009081526005602052604090205492505b5050919050565b828180610f6783610dcc565b1015610f7257600080fd5b600160a060020a0384161515610f8757600080fd5b600160a060020a038581169085161415610fa057600080fd5b60008311610fad57600080fd5b600160a060020a038516600090815260056020526040902054610fd6908463ffffffff610dba16565b600160a060020a03808716600090815260056020526040808220939093559086168152205461100b908463ffffffff6110fd16565b600160a060020a03808616600081815260056020526040908190209390935591908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35050505050565b600080836005141561109057611089836301e1338063ffffffff61110c16565b90506110f6565b83600414156110ac57611089836201518063ffffffff61110c16565b83600314156110c75761108983610e1063ffffffff61110c16565b83600214156110e15761108983603c63ffffffff61110c16565b83600114156110f15750816110f6565b600080fd5b9392505050565b6000828201838110156110f657fe5b6000828202831580611128575082848281151561112557fe5b04145b15156110f657fe00a165627a7a72305820e197b727aaee90ec27a0fbad77f518072c72ec2432579715f568d646c3ef0d3e0029

Deployed Bytecode

0x60606040526004361061011c5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610192578063095ea7b31461021c5780631385d24c1461025257806318160ddd1461026557806323b872dd1461028a57806327e235e3146102b2578063313ce567146102d157806343d726d6146102fa57806370a082311461030d57806375e2ff651461032c57806375f12b211461034b5780638328dbcd1461035e5780638da5cb5b1461038d5780638fd3ab80146103a057806391e1cc5a146103b357806395d89b41146103e1578063a9059cbb146103f4578063b414d4b614610416578063ca2748bd14610466578063dd62ed3e14610494578063f2fde38b146104b9575b600854600160a060020a0316151561013357600080fd5b600160a060020a0333166000908152600560205260408120541161015657600080fd5b61015e6104d8565b600160a060020a0333163480156108fc0290604051600060405180830381858888f19350505050151561019057600080fd5b005b341561019d57600080fd5b6101a5610615565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101e15780820151838201526020016101c9565b50505050905090810190601f16801561020e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022757600080fd5b61023e600160a060020a03600435166024356106b3565b604051901515815260200160405180910390f35b341561025d57600080fd5b61019061071f565b341561027057600080fd5b61027861076c565b60405190815260200160405180910390f35b341561029557600080fd5b61023e600160a060020a0360043581169060243516604435610772565b34156102bd57600080fd5b610278600160a060020a036004351661087b565b34156102dc57600080fd5b6102e461088d565b60405160ff909116815260200160405180910390f35b341561030557600080fd5b610190610896565b341561031857600080fd5b610278600160a060020a03600435166108bf565b341561033757600080fd5b610190600160a060020a03600435166108da565b341561035657600080fd5b61023e61095d565b341561036957600080fd5b61037161096d565b604051600160a060020a03909116815260200160405180910390f35b341561039857600080fd5b61037161097c565b34156103ab57600080fd5b6101906104d8565b34156103be57600080fd5b610190600160a060020a036004351660243560443560643560843560a43561098b565b34156103ec57600080fd5b6101a5610b46565b34156103ff57600080fd5b610190600160a060020a0360043516602435610bb1565b341561042157600080fd5b610435600160a060020a0360043516610be7565b60405194855260208501939093526040808501929092526060840152901515608083015260a0909101905180910390f35b341561047157600080fd5b610190600160a060020a036004351660243560443560643560843560a435610c19565b341561049f57600080fd5b610278600160a060020a0360043581169060243516610cc3565b34156104c457600080fd5b610190600160a060020a0360043516610cee565b600854600090600160a060020a031615156104f257600080fd5b50600160a060020a03331660009081526005602052604090205461051c818063ffffffff610dba16565b600160a060020a033316600090815260056020526040902055600454610548908263ffffffff610dba16565b600455600854600160a060020a0316637a3130e333836040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156105ba57600080fd5b6102c65a03f115156105cb57600080fd5b5050600854600160a060020a03908116915033167f7e5c344a8141a805725cb476f76c6953b842222b967edd1f78ddb6e8b3f397ac8360405190815260200160405180910390a350565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ab5780601f10610680576101008083540402835291602001916106ab565b820191906000526020600020905b81548152906001019060200180831161068e57829003601f168201915b505050505081565b600160a060020a03338116600081815260066020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005433600160a060020a0390811691161461073a57600080fd5b6000805474ff000000000000000000000000000000000000000019811660a060020a9182900460ff1615909102179055565b60045481565b6000805460a060020a900460ff161561078a57600080fd5b83828061079683610dcc565b10156107a157600080fd5b600084116107ae57600080fd5b600160a060020a03808716600090815260066020908152604080832033909416835292905220548411156107e157600080fd5b600160a060020a03861660009081526005602052604090205484111561080657600080fd5b600160a060020a038087166000908152600660209081526040808320339094168352929052205461083d908563ffffffff610dba16565b600160a060020a038088166000908152600660209081526040808320339094168352929052205561086f868686610f5b565b50600195945050505050565b60056020526000908152604090205481565b60035460ff1681565b60005433600160a060020a039081169116146108b157600080fd5b600054600160a060020a0316ff5b600160a060020a031660009081526005602052604090205490565b60005433600160a060020a039081169116146108f557600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790557f7845d5aa74cc410e35571258d954f23b82276e160fe8c188fa80566580f279cc81604051600160a060020a03909116815260200160405180910390a150565b60005460a060020a900460ff1681565b600854600160a060020a031681565b600054600160a060020a031681565b6000805433600160a060020a039081169116146109a757600080fd5b866000806109b483610dcc565b10156109bf57600080fd5b600088116109cc57600080fd5b600160a060020a03891660009081526007602052604090206004015460ff16156109f557600080fd5b600160a060020a03331660009081526005602052604090205488901015610a1b57600080fd5b428711610a2757600080fd5b60008511610a3457600080fd5b600084118015610a45575060648411155b1515610a5057600080fd5b610a5a8686611069565b925060a0604051908101604090815289825260208083018a90528183018690526060830187905260016080840152600160a060020a038c166000908152600790915220815181556020820151816001015560408201518160020155606082015181600301556080820151600491909101805460ff191691151591909117905550600160a060020a0389167f05f5c0f3cb75bf43dcb2ef0c74fd5aa4debe5de724cb1f1803d73d71ea25957a8989898989604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a2505050505050505050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ab5780601f10610680576101008083540402835291602001916106ab565b60005460a060020a900460ff1615610bc857600080fd5b604036604414610bd757600080fd5b610be2338484610f5b565b505050565b600760205260009081526040902080546001820154600283015460038401546004909401549293919290919060ff1685565b6000805433600160a060020a03908116911614610c3557600080fd5b86600080610c4283610dcc565b1015610c4d57600080fd5b60008811610c5a57600080fd5b600160a060020a03891660009081526007602052604090206004015460ff1615610c8357600080fd5b428711610c8f57600080fd5b60008511610c9c57600080fd5b600084118015610cad575060648411155b1515610cb857600080fd5b610a50338a8a610f5b565b600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610d0957600080fd5b600160a060020a0381161515610d1e57600080fd5b600054600160a060020a0382811691161415610d3957600080fd5b6000547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a90600160a060020a031682604051600160a060020a039283168152911660208201526040908101905180910390a16000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115610dc657fe5b50900390565b600160a060020a0381166000908152600760205260408120600401548190819060ff1615610f3857600160a060020a038416600090815260076020526040902060010154421015610e4457600160a060020a038416600090815260076020908152604080832054600590925290912054039250610f54565b600160a060020a0384166000908152600760205260409020600381015460028201546001909201549091904203811515610e7a57fe5b046001010291506064821115610e8f57606491505b600160a060020a0384166000908152600560209081526040808320546007909252909120541115610ebc57fe5b50600160a060020a03831660009081526007602090815260408083205460059092529091205460648381039092028290049003908210610f3057600160a060020a038416600090815260076020526040812060048101805460ff191690558181556001810182905560028101829055600301555b809250610f54565b600160a060020a03841660009081526005602052604090205492505b5050919050565b828180610f6783610dcc565b1015610f7257600080fd5b600160a060020a0384161515610f8757600080fd5b600160a060020a038581169085161415610fa057600080fd5b60008311610fad57600080fd5b600160a060020a038516600090815260056020526040902054610fd6908463ffffffff610dba16565b600160a060020a03808716600090815260056020526040808220939093559086168152205461100b908463ffffffff6110fd16565b600160a060020a03808616600081815260056020526040908190209390935591908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a35050505050565b600080836005141561109057611089836301e1338063ffffffff61110c16565b90506110f6565b83600414156110ac57611089836201518063ffffffff61110c16565b83600314156110c75761108983610e1063ffffffff61110c16565b83600214156110e15761108983603c63ffffffff61110c16565b83600114156110f15750816110f6565b600080fd5b9392505050565b6000828201838110156110f657fe5b6000828202831580611128575082848281151561112557fe5b04145b15156110f657fe00a165627a7a72305820e197b727aaee90ec27a0fbad77f518072c72ec2432579715f568d646c3ef0d3e0029

Swarm Source

bzzr://e197b727aaee90ec27a0fbad77f518072c72ec2432579715f568d646c3ef0d3e

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.