ETH Price: $2,181.73 (+3.78%)

Contract

0x882448f83d90B2bf477Af2eA79327fDEA1335D93
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer92408652020-01-08 15:41:032258 days ago1578498063IN
0x882448f8...EA1335D93
0 ETH0.000115695
Transfer92408072020-01-08 15:26:372258 days ago1578497197IN
0x882448f8...EA1335D93
0 ETH0.000092554
Transfer92407722020-01-08 15:19:012258 days ago1578496741IN
0x882448f8...EA1335D93
0 ETH0.000138836
Transfer92071102020-01-03 11:58:012263 days ago1578052681IN
0x882448f8...EA1335D93
0 ETH0.00003471.5
Transfer92070812020-01-03 11:52:592263 days ago1578052379IN
0x882448f8...EA1335D93
0 ETH0.0000331.5
Redeem Tokens77028082019-05-05 19:33:492506 days ago1557084829IN
0x882448f8...EA1335D93
0 ETH0.0052775100
Transfer77023982019-05-05 18:03:242506 days ago1557079404IN
0x882448f8...EA1335D93
0 ETH0.000064253
Transfer77018262019-05-05 15:50:092506 days ago1557071409IN
0x882448f8...EA1335D93
0 ETH0.000064253
Transfer77018032019-05-05 15:44:232506 days ago1557071063IN
0x882448f8...EA1335D93
0 ETH0.000072293
Transfer75743992019-04-15 19:28:542526 days ago1555356534IN
0x882448f8...EA1335D93
0 ETH0.000144976
Transfer75743732019-04-15 19:22:312526 days ago1555356151IN
0x882448f8...EA1335D93
0 ETH0.000144976
Transfer75743192019-04-15 19:10:542526 days ago1555355454IN
0x882448f8...EA1335D93
0 ETH0.000042832
Transfer75713572019-04-15 8:09:182526 days ago1555315758IN
0x882448f8...EA1335D93
0 ETH0.000064253
Transfer75681162019-04-14 20:01:302527 days ago1555272090IN
0x882448f8...EA1335D93
0 ETH0.000021411
Transfer75677622019-04-14 18:46:542527 days ago1555267614IN
0x882448f8...EA1335D93
0 ETH0.000042832
Transfer75677502019-04-14 18:44:232527 days ago1555267463IN
0x882448f8...EA1335D93
0 ETH0.000042832
Transfer75675222019-04-14 17:55:052527 days ago1555264505IN
0x882448f8...EA1335D93
0 ETH0.000042832
Redeem Tokens63631782018-09-19 23:16:272734 days ago1537398987IN
0x882448f8...EA1335D93
0 ETH0.000136446
Redeem Tokens63441962018-09-16 19:59:192737 days ago1537127959IN
0x882448f8...EA1335D93
0 ETH0.0009323841
Redeem Tokens63403322018-09-16 4:50:412737 days ago1537073441IN
0x882448f8...EA1335D93
0 ETH0.000068223
Redeem Tokens62672742018-09-04 0:19:482750 days ago1536020388IN
0x882448f8...EA1335D93
0 ETH0.000045482
Redeem Tokens57516012018-06-08 5:19:362837 days ago1528435176IN
0x882448f8...EA1335D93
0 ETH0.0021637741
Redeem Tokens57476162018-06-07 12:17:492838 days ago1528373869IN
0x882448f8...EA1335D93
0 ETH0.000204669
Transfer57472482018-06-07 10:44:082838 days ago1528368248IN
0x882448f8...EA1335D93
0 ETH0.0017351272
Transfer57472122018-06-07 10:35:042838 days ago1528367704IN
0x882448f8...EA1335D93
0 ETH0.0017351272
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer43000792017-09-21 23:58:243097 days ago1506038304
0x882448f8...EA1335D93
10 ETH
Transfer43000782017-09-21 23:58:023097 days ago1506038282
0x882448f8...EA1335D93
0.888 ETH
Transfer43000752017-09-21 23:57:283097 days ago1506038248
0x882448f8...EA1335D93
1.82180327 ETH
Transfer43000702017-09-21 23:56:043097 days ago1506038164
0x882448f8...EA1335D93
0.1 ETH
Transfer43000282017-09-21 23:40:383097 days ago1506037238
0x882448f8...EA1335D93
5.888 ETH
Transfer43000172017-09-21 23:36:393097 days ago1506036999
0x882448f8...EA1335D93
12.7 ETH
Transfer42999882017-09-21 23:21:053097 days ago1506036065
0x882448f8...EA1335D93
0.5 ETH
Transfer42999822017-09-21 23:17:593097 days ago1506035879
0x882448f8...EA1335D93
10 ETH
Transfer42999502017-09-21 23:01:533097 days ago1506034913
0x882448f8...EA1335D93
2.83301326 ETH
Transfer42999352017-09-21 22:55:273097 days ago1506034527
0x882448f8...EA1335D93
2.92 ETH
Transfer42999302017-09-21 22:53:593097 days ago1506034439
0x882448f8...EA1335D93
23.44023156 ETH
Transfer42998882017-09-21 22:38:063097 days ago1506033486
0x882448f8...EA1335D93
1.3404 ETH
Transfer42998802017-09-21 22:34:463097 days ago1506033286
0x882448f8...EA1335D93
1 ETH
Transfer42998732017-09-21 22:32:503097 days ago1506033170
0x882448f8...EA1335D93
0.79 ETH
Transfer42997882017-09-21 22:05:053097 days ago1506031505
0x882448f8...EA1335D93
13.5 ETH
Transfer42997382017-09-21 21:48:323097 days ago1506030512
0x882448f8...EA1335D93
10 ETH
Transfer42997082017-09-21 21:37:243097 days ago1506029844
0x882448f8...EA1335D93
0.25 ETH
Transfer42996162017-09-21 21:01:453097 days ago1506027705
0x882448f8...EA1335D93
0.38913339 ETH
Transfer42995902017-09-21 20:49:593097 days ago1506026999
0x882448f8...EA1335D93
41.4 ETH
Transfer42995552017-09-21 20:33:303097 days ago1506026010
0x882448f8...EA1335D93
0.58 ETH
Transfer42995012017-09-21 20:15:253097 days ago1506024925
0x882448f8...EA1335D93
0.9958 ETH
Transfer42994782017-09-21 20:05:113097 days ago1506024311
0x882448f8...EA1335D93
1 ETH
Transfer42994342017-09-21 19:49:323097 days ago1506023372
0x882448f8...EA1335D93
5 ETH
Transfer42993972017-09-21 19:33:273097 days ago1506022407
0x882448f8...EA1335D93
1.7 ETH
Transfer42993422017-09-21 19:14:353097 days ago1506021275
0x882448f8...EA1335D93
0.4 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VIBEXToken

Compiler Version
v0.4.13+commit.fb4cb1a

Optimization Enabled:
No with 200 runs

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

contract SafeMath {

    function safeAdd(uint256 x, uint256 y) internal returns(uint256) {
        uint256 z = x + y;
        assert((z >= x) && (z >= y));
        return z;
    }

    function safeSubtract(uint256 x, uint256 y) internal returns(uint256) {
        assert(x >= y);
        uint256 z = x - y;
        return z;
    }

    function safeMult(uint256 x, uint256 y) internal returns(uint256) {
        uint256 z = x * y;
        assert((x == 0)||(z/x == y));
        return z;
    }
}

contract Token {
    uint256 public totalSupply;

    function balanceOf(address _owner) constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
    function approve(address _spender, uint256 _value) returns (bool success);
    function allowance(address _owner, address _spender) constant returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

/*  ERC 20 token */
contract StandardToken is Token, SafeMath {

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;

    modifier onlyPayloadSize(uint numwords) {
        assert(msg.data.length == numwords * 32 + 4);
        _;
    }

    function transfer(address _to, uint256 _value)
    returns (bool success)
    {
        if (balances[msg.sender] >= _value && _value > 0 && balances[_to] + _value > balances[_to]) {
            balances[msg.sender] = safeSubtract(balances[msg.sender], _value);
            balances[_to] = safeAdd(balances[_to], _value);
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function transferFrom(address _from, address _to, uint256 _value)
    returns (bool success)
    {
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0 && balances[_to] + _value > balances[_to]) {
            balances[_to] = safeAdd(balances[_to], _value);
            balances[_from] = safeSubtract(balances[_from], _value);
            allowed[_from][msg.sender] = safeSubtract(allowed[_from][msg.sender], _value);
            Transfer(_from, _to, _value);
            return true;
        } else {
            return false;
        }
    }

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

    function approve(address _spender, uint256 _value)
    onlyPayloadSize(2)
    returns (bool success)
    {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender)
    constant
    onlyPayloadSize(2)
    returns (uint256 remaining)
    {
        return allowed[_owner][_spender];
    }
}
contract VibeCoin {
    function transferFrom(address _from, address _to, uint256 _value)
    returns (bool success)
    {}
}


contract VIBEXToken is StandardToken {

    // Token metadata
    string public constant name = "VIBEX Exchange Token";
    string public constant symbol = "VIBEX";
    uint256 public constant decimals = 18;

    // Deposit address of account controlled by the creators
    address public ethFundDeposit = 0xFC1CCdcA6b4670516504409341A31e444FF6f43F;
    address public tokenExchangeAddress = 0xe8ff5c9c75deb346acac493c463c8950be03dfba;
    address public tokenAccountAddress = 0xFC1CCdcA6b4670516504409341A31e444FF6f43F;
    //Access to token contract for vibe exchange
    VibeCoin public tokenExchange;

    // Fundraising parameters
    enum ContractState { Fundraising, Finalized, Redeeming, Paused }
    ContractState public state;           // Current state of the contract
    ContractState private savedState;     // State of the contract before pause

    //start date: 08/07/2017 @ 12:00am (UTC)
    uint public startDate = 1502064000;
    //start date: 09/21/2017 @ 11:59pm (UTC)
    uint public endDate = 1506038399;
    //deadlines 1: 08/21/2017 @ 11:59pm (UTC) +30%
    //deadlines 2: 08/28/2017 @ 11:59pm (UTC) +20%
    //deadlines 3: 09/05/2017 @ 11:59pm (UTC) +10%
    //deadlines 4: 09/12/2017 @ 11:59pm (UTC) +5%
    //deadlines 5: 09/21/2017 @ 11:59pm (UTC) +0%
    uint[5] public deadlines = [1503359999, 1503964799, 1504655999, 1505260799, 1506038399];
	uint[5] public prices = [130, 120, 110, 105, 100];
    
    uint256 public constant ETH_RECEIVED_CAP = 115 * (10**3) * 10**decimals; // 115 000 ETH
    uint256 public constant ETH_RECEIVED_MIN = 0;//1 * 10**decimals; // 0 ETH
    uint256 public constant TOKEN_MIN = 1 * 10**decimals; // 1 VIBEX
    uint256 public constant MIN_ETH_TRANS = 25 * 10**decimals; // 25 ETH

    // We need to keep track of how much ether have been contributed, since we have a cap for ETH too
    uint256 public totalReceivedEth = 0;

    // Since we have different exchange rates at different stages, we need to keep track
    // of how much ether each contributed in case that we need to issue a refund
    mapping (address => uint256) private ethBalances;

    // Events used for logging
    event LogCreateVIBEX(address indexed _to, uint256 _value);
    event LogRedeemVIBE(address indexed _to, uint256 _value, uint256 _value2, uint256 _value3);

    modifier isFinalized() {
        require(state == ContractState.Finalized);
        _;
    }

    modifier isFundraising() {
        require(state == ContractState.Fundraising);
        _;
    }

    modifier isRedeeming() {
        require(state == ContractState.Redeeming);
        _;
    }

    modifier isPaused() {
        require(state == ContractState.Paused);
        _;
    }

    modifier notPaused() {
        require(state != ContractState.Paused);
        _;
    }

    modifier isFundraisingIgnorePaused() {
        require(state == ContractState.Fundraising || (state == ContractState.Paused && savedState == ContractState.Fundraising));
        _;
    }

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

    modifier minimumReached() {
        require(totalReceivedEth >= ETH_RECEIVED_MIN);
        _;
    }

    // Constructor
    function VIBEXToken()
    {
        // Contract state
        state = ContractState.Fundraising;
        savedState = ContractState.Fundraising;
        tokenExchange = VibeCoin(tokenExchangeAddress);
        totalSupply = 0;
    }

    // Overridden method to check for end of fundraising before allowing transfer of tokens
    function transfer(address _to, uint256 _value)
    isFinalized // Only allow token transfer after the fundraising has ended
    onlyPayloadSize(2)
    returns (bool success)
    {
        return super.transfer(_to, _value);
    }


    // Overridden method to check for end of fundraising before allowing transfer of tokens
    function transferFrom(address _from, address _to, uint256 _value)
    isFinalized // Only allow token transfer after the fundraising has ended
    onlyPayloadSize(3)
    returns (bool success)
    {
        return super.transferFrom(_from, _to, _value);
    }
    
    /// @dev Accepts ether and creates new VIBEX tokens
    function ()
    payable
    external
    isFundraising
    {
        require(now >= startDate);
        require(now <= endDate);
        require(msg.value > 0);
        
        if(msg.value < MIN_ETH_TRANS && now < deadlines[0]) throw;

        // First we check the ETH cap, as it's easier to calculate, return
        // the contribution if the cap has been reached already
        uint256 checkedReceivedEth = safeAdd(totalReceivedEth, msg.value);
        require(checkedReceivedEth <= ETH_RECEIVED_CAP);

        // If all is fine with the ETH cap, we continue to check the
        // minimum amount of tokens
        uint256 tokens = safeMult(msg.value, getCurrentTokenPrice());
        require(tokens >= TOKEN_MIN);

        // Only when all the checks have passed, then we update the state (ethBalances,
        // totalReceivedEth, totalSupply, and balances) of the contract
        ethBalances[msg.sender] = safeAdd(ethBalances[msg.sender], msg.value);
        totalReceivedEth = checkedReceivedEth;
        totalSupply = safeAdd(totalSupply, tokens);
        balances[msg.sender] += tokens;  // safeAdd not needed; bad semantics to use here
        
        // Send the ETH to Vibehub Creators
        ethFundDeposit.transfer(msg.value);

        // Log the creation of this tokens
        LogCreateVIBEX(msg.sender, tokens);
    }


    /// @dev Returns the current token price
    function getCurrentTokenPrice()
    private
    constant
    returns (uint256 currentPrice)
    {
        for(var i = 0; i < deadlines.length; i++)
            if(now<=deadlines[i])
                return prices[i];
        return prices[prices.length-1];//should never be returned, but to be sure to not divide by 0
    }


    /// @dev Redeems VIBEs and records the Vibehub address of the sender
    function redeemTokens()
    external
    isRedeeming
    {
        uint256 vibeVal = balances[msg.sender];
        require(vibeVal >= TOKEN_MIN); // At least TOKEN_MIN tokens have to be redeemed

        // Move the tokens of the caller to Vibehub's address
        //if (!super.transfer(ethFundDeposit, vibeVal)) throw;
        balances[msg.sender]=0;
        
        uint256 exchangeRate = ((160200000* 10**decimals)/totalSupply);
        uint256 numTokens = safeMult(exchangeRate, vibeVal); // Extra safe
        if(!tokenExchange.transferFrom(tokenAccountAddress, msg.sender, numTokens)) throw;

        // Log the redeeming of this tokens
        LogRedeemVIBE(msg.sender, numTokens, vibeVal, exchangeRate);
    }




    /// @dev Ends the fundraising period and sends the ETH to the ethFundDeposit wallet
    function finalize()
    external
    isFundraising
    minimumReached
    onlyOwner // Only the owner of the ethFundDeposit address can finalize the contract
    {
        require(now > endDate || totalReceivedEth >= ETH_RECEIVED_CAP); // Only allow to finalize the contract before the ending block if we already reached any of the caps

        // Move the contract to Finalized state
        state = ContractState.Finalized;
        savedState = ContractState.Finalized;
    }


    /// @dev Starts the redeeming period
    function startRedeeming()
    external
    isFinalized // The redeeming period can only be started after the contract is finalized
    onlyOwner   // Only the owner of the ethFundDeposit address can start the redeeming period
    {
        // Move the contract to Redeeming state
        state = ContractState.Redeeming;
        savedState = ContractState.Redeeming;
    }


    /// @dev Pauses the contract
    function pause()
    external
    notPaused   // Prevent the contract getting stuck in the Paused state
    onlyOwner   // Only the owner of the ethFundDeposit address can pause the contract
    {
        // Move the contract to Paused state
        savedState = state;
        state = ContractState.Paused;
    }


    /// @dev Proceeds with the contract
    function proceed()
    external
    isPaused
    onlyOwner   // Only the owner of the ethFundDeposit address can proceed with the contract
    {
        // Move the contract to the previous state
        state = savedState;
    }

}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ETH_RECEIVED_MIN","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":false,"inputs":[],"name":"proceed","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenExchange","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalReceivedEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MIN_ETH_TRANS","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ethFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"deadlines","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenAccountAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"prices","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ETH_RECEIVED_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"startRedeeming","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_MIN","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"redeemTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenExchangeAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogCreateVIBEX","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_value2","type":"uint256"},{"indexed":false,"name":"_value3","type":"uint256"}],"name":"LogRedeemVIBE","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"}]

606060405273fc1ccdca6b4670516504409341a31e444ff6f43f600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e8ff5c9c75deb346acac493c463c8950be03dfba600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073fc1ccdca6b4670516504409341a31e444ff6f43f600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550635987ad806007556359c4527f60085560a06040519081016040528063599b73ff63ffffffff1681526020016359a4ae7f63ffffffff1681526020016359af3a7f63ffffffff1681526020016359b874ff63ffffffff1681526020016359c4527f63ffffffff1681525060099060056200017f9291906200029c565b5060a060405190810160405280608260ff168152602001607860ff168152602001606e60ff168152602001606960ff168152602001606460ff16815250600e906005620001ce929190620002e9565b5060006013553415620001e057600080fd5b5b6000600660146101000a81548160ff021916908360038111156200020157fe5b02179055506000600660156101000a81548160ff021916908360038111156200022657fe5b0217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600080819055505b6200035b565b8260058101928215620002d6579160200282015b82811115620002d5578251829063ffffffff16905591602001919060010190620002b0565b5b509050620002e5919062000333565b5090565b826005810192821562000320579160200282015b828111156200031f578251829060ff16905591602001919060010190620002fd565b5b5090506200032f919062000333565b5090565b6200035891905b80821115620003545760008160009055506001016200033a565b5090565b90565b611d25806200036b6000396000f30060606040523615610168576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610401578063095ea7b3146104905780630b97bc86146104ea578063168213491461051357806318160ddd1461053c57806323b872dd146105655780632a33fec6146105de578063313ce567146105f35780634bb278f31461061c578063636f61591461063157806370a08231146106865780637801fc3e146106d35780638456cb59146106fc57806395d89b41146107115780639add2ad9146107a0578063a81c3bdf146107c9578063a9059cbb1461081e578063b025cc4514610878578063b0c2ff43146108af578063bc31c1c114610904578063c19d93fb1461093b578063c24a0f8b14610972578063d8e307401461099b578063daf8f438146109c4578063dd62ed3e146109d9578063e74799b414610a45578063e9a9c50c14610a6e578063ef80ff1814610a83575b6103ff5b6000806000600381111561017c57fe5b600660149054906101000a900460ff16600381111561019757fe5b1415156101a357600080fd5b60075442101515156101b457600080fd5b60085442111515156101c557600080fd5b6000341115156101d457600080fd5b6012600a0a601902341080156101fe5750600960006005811015156101f557fe5b0160005b505442105b1561020857600080fd5b61021460135434610ad8565b91506012600a0a6201c13802821115151561022e57600080fd5b61023f3461023a610b03565b610b84565b90506012600a0a600102811015151561025757600080fd5b6102a0601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205434610ad8565b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816013819055506102f660005482610ad8565b60008190555080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156103ab57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff118e465c37f708fda2fc09fd64d9bc3d88eaa6ecee2b8affc42a21d837e9b2d826040518082815260200191505060405180910390a25b5b5050565b005b341561040c57600080fd5b610414610bb8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104555780820151818401525b602081019050610439565b50505050905090810190601f1680156104825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049b57600080fd5b6104d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bf1565b604051808215151515815260200191505060405180910390f35b34156104f557600080fd5b6104fd610cfd565b6040518082815260200191505060405180910390f35b341561051e57600080fd5b610526610d03565b6040518082815260200191505060405180910390f35b341561054757600080fd5b61054f610d08565b6040518082815260200191505060405180910390f35b341561057057600080fd5b6105c4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d0e565b604051808215151515815260200191505060405180910390f35b34156105e957600080fd5b6105f1610d73565b005b34156105fe57600080fd5b610606610e39565b6040518082815260200191505060405180910390f35b341561062757600080fd5b61062f610e3e565b005b341561063c57600080fd5b610644610f54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561069157600080fd5b6106bd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f7a565b6040518082815260200191505060405180910390f35b34156106de57600080fd5b6106e6610fc4565b6040518082815260200191505060405180910390f35b341561070757600080fd5b61070f610fca565b005b341561071c57600080fd5b6107246110b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107655780820151818401525b602081019050610749565b50505050905090810190601f1680156107925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107ab57600080fd5b6107b36110ee565b6040518082815260200191505060405180910390f35b34156107d457600080fd5b6107dc6110f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561082957600080fd5b61085e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061111f565b604051808215151515815260200191505060405180910390f35b341561088357600080fd5b6108996004808035906020019091905050611182565b6040518082815260200191505060405180910390f35b34156108ba57600080fd5b6108c261119d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561090f57600080fd5b61092560048080359060200190919050506111c3565b6040518082815260200191505060405180910390f35b341561094657600080fd5b61094e6111de565b6040518082600381111561095e57fe5b60ff16815260200191505060405180910390f35b341561097d57600080fd5b6109856111f1565b6040518082815260200191505060405180910390f35b34156109a657600080fd5b6109ae6111f7565b6040518082815260200191505060405180910390f35b34156109cf57600080fd5b6109d7611204565b005b34156109e457600080fd5b610a2f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112e1565b6040518082815260200191505060405180910390f35b3415610a5057600080fd5b610a58611382565b6040518082815260200191505060405180910390f35b3415610a7957600080fd5b610a8161138d565b005b3415610a8e57600080fd5b610a96611637565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000808284019050838110158015610af05750828110155b1515610af857fe5b8091505b5092915050565b600080600090505b60058160ff161015610b645760098160ff16600581101515610b2957fe5b0160005b505442111515610b5657600e8160ff16600581101515610b4957fe5b0160005b50549150610b80565b5b8080600101915050610b0b565b600e6001600503600581101515610b7757fe5b0160005b505491505b5090565b60008082840290506000841480610ba55750828482811515610ba257fe5b04145b1515610bad57fe5b8091505b5092915050565b6040805190810160405280601481526020017f56494245582045786368616e676520546f6b656e00000000000000000000000081525081565b60006002600460208202016000369050141515610c0a57fe5b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a3600191505b5b5092915050565b60075481565b600081565b60005481565b600060016003811115610d1d57fe5b600660149054906101000a900460ff166003811115610d3857fe5b141515610d4457600080fd5b6003600460208202016000369050141515610d5b57fe5b610d6685858561165d565b91505b5b505b9392505050565b600380811115610d7f57fe5b600660149054906101000a900460ff166003811115610d9a57fe5b141515610da657600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e0257600080fd5b600660159054906101000a900460ff16600660146101000a81548160ff02191690836003811115610e2f57fe5b02179055505b5b5b565b601281565b60006003811115610e4b57fe5b600660149054906101000a900460ff166003811115610e6657fe5b141515610e7257600080fd5b600060135410151515610e8457600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ee057600080fd5b600854421180610efb57506012600a0a6201c1380260135410155b1515610f0657600080fd5b6001600660146101000a81548160ff02191690836003811115610f2557fe5b02179055506001600660156101000a81548160ff02191690836003811115610f4957fe5b02179055505b5b5b5b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60135481565b600380811115610fd657fe5b600660149054906101000a900460ff166003811115610ff157fe5b14151515610ffe57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561105a57600080fd5b600660149054906101000a900460ff16600660156101000a81548160ff0219169083600381111561108757fe5b02179055506003600660146101000a81548160ff021916908360038111156110ab57fe5b02179055505b5b5b565b6040805190810160405280600581526020017f564942455800000000000000000000000000000000000000000000000000000081525081565b6012600a0a60190281565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001600381111561112e57fe5b600660149054906101000a900460ff16600381111561114957fe5b14151561115557600080fd5b600260046020820201600036905014151561116c57fe5b6111768484611a63565b91505b5b505b92915050565b60098160058110151561119157fe5b0160005b915090505481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e816005811015156111d257fe5b0160005b915090505481565b600660149054906101000a900460ff1681565b60085481565b6012600a0a6201c1380281565b6001600381111561121157fe5b600660149054906101000a900460ff16600381111561122c57fe5b14151561123857600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561129457600080fd5b6002600660146101000a81548160ff021916908360038111156112b357fe5b02179055506002600660156101000a81548160ff021916908360038111156112d757fe5b02179055505b5b5b565b600060026004602082020160003690501415156112fa57fe5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505b5b5092915050565b6012600a0a60010281565b60008060006002600381111561139f57fe5b600660149054906101000a900460ff1660038111156113ba57fe5b1415156113c657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506012600a0a600102831015151561141e57600080fd5b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000546012600a0a63098c75400281151561147a57fe5b0491506114878284610b84565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156115ac57600080fd5b6102c65a03f115156115bd57600080fd5b5050506040518051905015156115d257600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fe10a70b73b47d86341b35883123542b08cbc1229229ed31eb0c6b1dabef0595182858560405180848152602001838152602001828152602001935050505060405180910390a25b5b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561172a575081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156117365750600082115b80156117c15750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15611a525761180f600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610ad8565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061189b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611cda565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611964600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611cda565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611a5c565b60009050611a5c565b5b9392505050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611ab45750600082115b8015611b3f5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15611cca57611b8d600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611cda565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c19600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610ad8565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611cd4565b60009050611cd4565b5b92915050565b600080828410151515611ce957fe5b82840390508091505b50929150505600a165627a7a7230582040ac40c7978b09dae12e32c5f0418285b19e5e475362667db3b28cac0b4141460029

Deployed Bytecode

0x60606040523615610168576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610401578063095ea7b3146104905780630b97bc86146104ea578063168213491461051357806318160ddd1461053c57806323b872dd146105655780632a33fec6146105de578063313ce567146105f35780634bb278f31461061c578063636f61591461063157806370a08231146106865780637801fc3e146106d35780638456cb59146106fc57806395d89b41146107115780639add2ad9146107a0578063a81c3bdf146107c9578063a9059cbb1461081e578063b025cc4514610878578063b0c2ff43146108af578063bc31c1c114610904578063c19d93fb1461093b578063c24a0f8b14610972578063d8e307401461099b578063daf8f438146109c4578063dd62ed3e146109d9578063e74799b414610a45578063e9a9c50c14610a6e578063ef80ff1814610a83575b6103ff5b6000806000600381111561017c57fe5b600660149054906101000a900460ff16600381111561019757fe5b1415156101a357600080fd5b60075442101515156101b457600080fd5b60085442111515156101c557600080fd5b6000341115156101d457600080fd5b6012600a0a601902341080156101fe5750600960006005811015156101f557fe5b0160005b505442105b1561020857600080fd5b61021460135434610ad8565b91506012600a0a6201c13802821115151561022e57600080fd5b61023f3461023a610b03565b610b84565b90506012600a0a600102811015151561025757600080fd5b6102a0601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205434610ad8565b601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816013819055506102f660005482610ad8565b60008190555080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156103ab57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff118e465c37f708fda2fc09fd64d9bc3d88eaa6ecee2b8affc42a21d837e9b2d826040518082815260200191505060405180910390a25b5b5050565b005b341561040c57600080fd5b610414610bb8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104555780820151818401525b602081019050610439565b50505050905090810190601f1680156104825780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049b57600080fd5b6104d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bf1565b604051808215151515815260200191505060405180910390f35b34156104f557600080fd5b6104fd610cfd565b6040518082815260200191505060405180910390f35b341561051e57600080fd5b610526610d03565b6040518082815260200191505060405180910390f35b341561054757600080fd5b61054f610d08565b6040518082815260200191505060405180910390f35b341561057057600080fd5b6105c4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d0e565b604051808215151515815260200191505060405180910390f35b34156105e957600080fd5b6105f1610d73565b005b34156105fe57600080fd5b610606610e39565b6040518082815260200191505060405180910390f35b341561062757600080fd5b61062f610e3e565b005b341561063c57600080fd5b610644610f54565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561069157600080fd5b6106bd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f7a565b6040518082815260200191505060405180910390f35b34156106de57600080fd5b6106e6610fc4565b6040518082815260200191505060405180910390f35b341561070757600080fd5b61070f610fca565b005b341561071c57600080fd5b6107246110b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107655780820151818401525b602081019050610749565b50505050905090810190601f1680156107925780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107ab57600080fd5b6107b36110ee565b6040518082815260200191505060405180910390f35b34156107d457600080fd5b6107dc6110f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561082957600080fd5b61085e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061111f565b604051808215151515815260200191505060405180910390f35b341561088357600080fd5b6108996004808035906020019091905050611182565b6040518082815260200191505060405180910390f35b34156108ba57600080fd5b6108c261119d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561090f57600080fd5b61092560048080359060200190919050506111c3565b6040518082815260200191505060405180910390f35b341561094657600080fd5b61094e6111de565b6040518082600381111561095e57fe5b60ff16815260200191505060405180910390f35b341561097d57600080fd5b6109856111f1565b6040518082815260200191505060405180910390f35b34156109a657600080fd5b6109ae6111f7565b6040518082815260200191505060405180910390f35b34156109cf57600080fd5b6109d7611204565b005b34156109e457600080fd5b610a2f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112e1565b6040518082815260200191505060405180910390f35b3415610a5057600080fd5b610a58611382565b6040518082815260200191505060405180910390f35b3415610a7957600080fd5b610a8161138d565b005b3415610a8e57600080fd5b610a96611637565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000808284019050838110158015610af05750828110155b1515610af857fe5b8091505b5092915050565b600080600090505b60058160ff161015610b645760098160ff16600581101515610b2957fe5b0160005b505442111515610b5657600e8160ff16600581101515610b4957fe5b0160005b50549150610b80565b5b8080600101915050610b0b565b600e6001600503600581101515610b7757fe5b0160005b505491505b5090565b60008082840290506000841480610ba55750828482811515610ba257fe5b04145b1515610bad57fe5b8091505b5092915050565b6040805190810160405280601481526020017f56494245582045786368616e676520546f6b656e00000000000000000000000081525081565b60006002600460208202016000369050141515610c0a57fe5b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a3600191505b5b5092915050565b60075481565b600081565b60005481565b600060016003811115610d1d57fe5b600660149054906101000a900460ff166003811115610d3857fe5b141515610d4457600080fd5b6003600460208202016000369050141515610d5b57fe5b610d6685858561165d565b91505b5b505b9392505050565b600380811115610d7f57fe5b600660149054906101000a900460ff166003811115610d9a57fe5b141515610da657600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e0257600080fd5b600660159054906101000a900460ff16600660146101000a81548160ff02191690836003811115610e2f57fe5b02179055505b5b5b565b601281565b60006003811115610e4b57fe5b600660149054906101000a900460ff166003811115610e6657fe5b141515610e7257600080fd5b600060135410151515610e8457600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ee057600080fd5b600854421180610efb57506012600a0a6201c1380260135410155b1515610f0657600080fd5b6001600660146101000a81548160ff02191690836003811115610f2557fe5b02179055506001600660156101000a81548160ff02191690836003811115610f4957fe5b02179055505b5b5b5b565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60135481565b600380811115610fd657fe5b600660149054906101000a900460ff166003811115610ff157fe5b14151515610ffe57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561105a57600080fd5b600660149054906101000a900460ff16600660156101000a81548160ff0219169083600381111561108757fe5b02179055506003600660146101000a81548160ff021916908360038111156110ab57fe5b02179055505b5b5b565b6040805190810160405280600581526020017f564942455800000000000000000000000000000000000000000000000000000081525081565b6012600a0a60190281565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001600381111561112e57fe5b600660149054906101000a900460ff16600381111561114957fe5b14151561115557600080fd5b600260046020820201600036905014151561116c57fe5b6111768484611a63565b91505b5b505b92915050565b60098160058110151561119157fe5b0160005b915090505481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e816005811015156111d257fe5b0160005b915090505481565b600660149054906101000a900460ff1681565b60085481565b6012600a0a6201c1380281565b6001600381111561121157fe5b600660149054906101000a900460ff16600381111561122c57fe5b14151561123857600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561129457600080fd5b6002600660146101000a81548160ff021916908360038111156112b357fe5b02179055506002600660156101000a81548160ff021916908360038111156112d757fe5b02179055505b5b5b565b600060026004602082020160003690501415156112fa57fe5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505b5b5092915050565b6012600a0a60010281565b60008060006002600381111561139f57fe5b600660149054906101000a900460ff1660038111156113ba57fe5b1415156113c657600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205492506012600a0a600102831015151561141e57600080fd5b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000546012600a0a63098c75400281151561147a57fe5b0491506114878284610b84565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633846000604051602001526040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156115ac57600080fd5b6102c65a03f115156115bd57600080fd5b5050506040518051905015156115d257600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fe10a70b73b47d86341b35883123542b08cbc1229229ed31eb0c6b1dabef0595182858560405180848152602001838152602001828152602001935050505060405180910390a25b5b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561172a575081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156117365750600082115b80156117c15750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15611a525761180f600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610ad8565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061189b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611cda565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611964600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611cda565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611a5c565b60009050611a5c565b5b9392505050565b600081600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611ab45750600082115b8015611b3f5750600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15611cca57611b8d600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611cda565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c19600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483610ad8565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050611cd4565b60009050611cd4565b5b92915050565b600080828410151515611ce957fe5b82840390508091505b50929150505600a165627a7a7230582040ac40c7978b09dae12e32c5f0418285b19e5e475362667db3b28cac0b4141460029

Swarm Source

bzzr://40ac40c7978b09dae12e32c5f0418285b19e5e475362667db3b28cac0b414146

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.