Contract Overview
Balance: 0 Ether
Transactions: 19526 txns
 Latest 25 txns From a total of 19526 Transactions

TxHash Age From To Value [TxFee]
0xdfe7e7b3fe3a3c032515e6a3b257c6f4e01f5e938d3f8f64778bee7ede80f22c2 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xf34daa3e49b31e2c66a9b6cf5efba24bced3485f79b3c0cc0df5a55c75e225fc3 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x814483687872481383364d29060bebabaa97aed619ae56f8c73623afbb0850893 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xe5bc670a5855ec76e8190f2050f539f98387b8092c81edfaf6496eccb7e15f1723 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x4a47f57d52fc992f4eb678dc487e45d75be52a2be1af64d57a313e2684f8fe8b23 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xde783ad37aa923620a4a2cd220b3020e2655ccc2aea3da8560a454d28344547b23 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x380e0595e72af4559f8528230e99e294bdff622647d204b9e5427c05b35d250c33 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x9e56a5cfacf03b3a3ee8e5458e2a3539e822ffefacfdd766679dc8f1bba639df33 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xd756500328e75562934f5d48b59f73ca960527397acefd7939654449cfcc5be333 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x8824abeec64abb868ac61cfadef2bc4a226ecfee2c9fb34bf0340e5747b0acbc43 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x6e69574b255cd4fced9aafbf4739c443ab4240581286550374abbf9b1f8f6c6143 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x133e6f4bbeb6dbe0e0cad55e2914fb7b17b503bf24219c5d982da971ab8ac1a543 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xa35f4636caa3d3e6e8588170fda70070d15381b3e2addfd15253550440f9e1a252 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xe8343f8228d3802647cfacbee47903bb92221f2d447d403bdec7fe9d4668ad0b53 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x2c7129c6bbce9119ae4c2ee5a0b7caa24f99fbb2935c80dc980fb23fe7ea6e8353 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xdc551fae6a72c2d6626f8fa4e687d4e927837341a909af1d8c4728caf66a3ac41 hr 3 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xd61ec9d5f54ed09fd458a2572f36d2040379370cf2d962e2d785e9b7976bef3c1 hr 3 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x638c1a45ceab683ac1d51ec92b2686b047d973d92a1baee33df4d5b57adbaefb1 hr 3 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xf3577e05404f135d9cb0cad67354e410ff391adeb23456bb0c58de71457c4a8f1 hr 12 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xae314263ccab058dc7290779f24b0d52040945c7b6c653a3810af8a5f34b6a421 hr 13 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x7caf3ad9c9cb2f50f186287c00600ca94b5f4b5192c46ddfdd2633997898a6e81 hr 13 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xa42d915111128c756024f17b64177c3a01a7a673f3476156f914ab0d2946dbbd1 hr 13 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x4d5dbc8748425e6930d197f4bc48e5f8687c9953cdc21380a211f94f0fa064641 hr 22 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0x4798f7194be487193b48021dd6c8432278b26bceaa880951a77c4a763d0c07811 hr 23 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
0xa743cf45f5e88c78177ae26ce21d0f3193f5fbf599a16642a65b64cdc5abbbe71 hr 23 mins ago0xe95afb83d7c74cef2852fe786d1e175523ce0a78  IN   0x20d390eec3fae63301a5319bccfa875aa7a011970 Ether0.000025964
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: IostPowerLocker
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.24;

contract ERC20Basic {
    function totalSupply() public view returns (uint256);

    function balanceOf(address who) public view returns (uint256);

    function transfer(address to, uint256 value) public returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender)
    public view returns (uint256);

    function transferFrom(address from, address to, uint256 value)
    public returns (bool);

    function approve(address spender, uint256 value) public returns (bool);

    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
        // Gas optimization: this is cheaper than asserting 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

        c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    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 a / b;
    }

    /**
    * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
        c = a + b;
        assert(c >= a);
        return c;
    }
}

contract IostPowerLocker {

    ERC20 internal iost;
    address internal manager;
    uint256 public totalLockedTokens;
    // to calculate every user's dividend 
    uint256 public dividendPerToken;
    // user get extra bonus from the pot every month according to his score
    uint256 public pot;
    // save the contract creation date to calculate earlybird lock
    uint256 public creationDate;

    // accumulate the bonus of the referral
    mapping(address => uint256) internal referralLedger;
    // A user can lock many times
    mapping(address => LockInfo[]) internal usersLockInfos;
    // keep precision on calculations
    uint256 constant internal magnitude = 2 ** 64;

    enum LockState {undefined, locked, redeemed}

    uint256 constant internal intervalThreeMonth = 90 days;
    uint256 constant internal intervalSixMonth = 180 days;
    uint256 constant internal intervalNineMonth = 270 days;
    uint256 constant internal intervalTwelveMonth = 360 days;

    uint256 constant internal aheadRedeemWindows = 2 days;
    uint256 constant internal normalRedeemWindows = 2 weeks;

    using SafeMath for uint;

    struct LockInfo {
        LockState state; // the lock state
        uint256 principal; // the amount of locked tokens
        uint256 undeservedDividend; // the buyer does not deserve dividend on his current lock
        uint256 cut; // user must pay community building fee and distribute 2% to referral or pot on each lock
        uint256 startDate; // the time lock happened
    }

    event onRedeem(
        address owner,
        uint256 index,
        uint256 principal,
        uint256 tax,
        uint256 dividend,
        uint256 total
    );

    event onLock (
        address owner,
        uint256 index,
        uint256 principal,
        uint256 cut,
        uint256 startDate
    );

    event onDividePot(
        address beneficiary,
        uint256 amount
    );

    constructor(address _iost) public {
        iost = ERC20(_iost);
        creationDate = now;
        manager = msg.sender;
    }

    modifier onlyManager() {
        require(msg.sender == manager);
        _;
    }

    function lock(uint256 _incomingTokens, address _referral) external {
        require(_referral != msg.sender);
        uint tokensPerLot = 10000 ether;
        require(_incomingTokens >= tokensPerLot);
        uint numberOfLots = _incomingTokens.div(tokensPerLot);
        uint lockedTokens = numberOfLots.mul(tokensPerLot);
        require(iost.transferFrom(msg.sender, address(this), lockedTokens));
        uint fee = numberOfLots.mul(_communityBuildingFeePerLot());
        LockInfo memory info = LockInfo(LockState.locked, lockedTokens, 0, fee, now);
        if (0 != totalLockedTokens) {
            uint increasedDividendPerToken = fee.mul(magnitude).div(totalLockedTokens);
            dividendPerToken = dividendPerToken.add(increasedDividendPerToken);
        }

        // buyer not deserve dividends this moment
        info.undeservedDividend = lockedTokens.mul(dividendPerToken);

        uint payToReferralOrPotPerLot = 200 ether;
        uint payout = numberOfLots.mul(payToReferralOrPotPerLot);
        info.cut = info.cut.add(payout);

        //referral should lock his token, otherwise donate tokens to drive pot
        if (_referral != address(0) && userLockedSize(_referral) > 0) {
            //add to referral
            referralLedger[_referral] = referralLedger[_referral].add(payout);
        } else {
            // if no referral, add to pot
            pot = pot.add(payout);
        }

        totalLockedTokens = totalLockedTokens.add(lockedTokens);
        usersLockInfos[msg.sender].push(info);

        emit onLock(msg.sender, usersLockInfos[msg.sender].length - 1, lockedTokens, info.cut, now);
    }

    function redeem(uint _index) public {
        LockInfo[] storage userLockInfos = usersLockInfos[msg.sender];
        require(_index <= userLockInfos.length.sub(1));
        LockInfo storage info = userLockInfos[_index];
        require(info.state == LockState.locked);
        uint referBonusOfThisLock = _calculateReferBonus(msg.sender, info, userLockInfos);
        referralLedger[msg.sender] = referralLedger[msg.sender].sub(referBonusOfThisLock);

        info.state = LockState.redeemed;

        uint ownedDividend = _dividendFromLockInfo(info);

        uint ownedAmount = info.principal.sub(info.cut).add(ownedDividend).add(referBonusOfThisLock);

        uint tax = _calculateTax(now.sub(info.startDate));
        uint maxProfit = _calculateMaxProfit(now.sub(info.startDate));

        uint leastOwnedAmount = info.principal.mul(9000 + maxProfit).div(10000);
        if (ownedAmount < leastOwnedAmount) {
            ownedAmount = leastOwnedAmount;
        }

        uint taxAmount = info.principal.mul(tax).div(1000);
        if (ownedAmount > info.principal) {
            uint profitTax = ownedAmount.sub(info.principal).mul(15).div(100);
            taxAmount = taxAmount.add(profitTax);
        }
        ownedAmount = ownedAmount.sub(taxAmount);
        // update total locked tokens on redeem
        totalLockedTokens = totalLockedTokens.sub(info.principal);
        // update per locked dividends if tax is not zero
        if (taxAmount != 0 && totalLockedTokens != 0) {
            uint increment = (taxAmount.mul(magnitude)).div(totalLockedTokens);
            dividendPerToken = dividendPerToken.add(increment);
        }

        require(iost.transfer(msg.sender, ownedAmount));
        emit onRedeem(msg.sender, _index, info.principal, taxAmount, ownedDividend, ownedAmount);
    }

    function exit() external {
        LockInfo[] memory infos = usersLockInfos[msg.sender];
        for (uint i = 0; i < infos.length; i++) {
            if (infos[i].state == LockState.locked) {
                redeem(i);
            }
        }
    }

    // recharge to pot
    function rechargePot(uint256 _amount) external {
        require(_amount > 0);
        require(iost.transferFrom(msg.sender, address(this), _amount));
        pot = pot.add(_amount);
    }

    // only manager can divide pot
    function dividePot(address _beneficiary, uint256 _amount) external onlyManager {
        require(_beneficiary != address(0));
        require(_amount <= pot);
        pot = pot.sub(_amount);
        require(iost.transfer(_beneficiary, _amount));
        emit onDividePot(_beneficiary, _amount);
    }

    function userLockedSize(address _customerAddress) public view returns (uint) {
        return usersLockInfos[_customerAddress].length;
    }

    function getUserLockInfo(address _customerAddress, uint _index) external view
    returns (uint8 state, uint256 principal, uint256 lockedTokens, uint256 dividend, uint256 referBonus, uint256 startDate) {
        LockInfo[] memory infos = usersLockInfos[_customerAddress];
        LockInfo memory info = infos[_index];
        state = uint8(info.state);
        principal = info.principal;
        lockedTokens = info.principal.sub(info.cut);
        referBonus = _calculateReferBonus(_customerAddress, info, infos);
        dividend = _dividendFromLockInfo(info);
        startDate = info.startDate;
    }

    function _dividendFromLockInfo(LockInfo _info) private view returns (uint) {
        //when no dividend
        if (dividendPerToken == 0) {
            return 0;
        }
        return _info.principal.mul(dividendPerToken).sub(_info.undeservedDividend).div(magnitude);
    }

    function _calculateTax(uint _interval) private pure returns (uint) {
        uint tax = 150;
        if (_interval >= intervalThreeMonth && _interval <= intervalThreeMonth + aheadRedeemWindows) {
            tax = 99;
        } else if (_interval >= intervalSixMonth && _interval <= intervalSixMonth + aheadRedeemWindows) {
            tax = 49;
        } else if (_interval >= intervalNineMonth && _interval <= intervalNineMonth + aheadRedeemWindows) {
            tax = 19;
        } else if (_interval >= intervalTwelveMonth && _interval <= intervalTwelveMonth + normalRedeemWindows) {
            tax = 0;
        }
        return tax;
    }

    function _calculateMaxProfit(uint _interval) private pure returns (uint) {
        uint maxProfit = 0;
        if (_interval >= intervalSixMonth && _interval <= intervalSixMonth + aheadRedeemWindows) {
            maxProfit = 1000;
        } else if (_interval >= intervalNineMonth && _interval <= intervalNineMonth + aheadRedeemWindows) {
            maxProfit = 1375;
        } else if (_interval >= intervalTwelveMonth && _interval <= intervalTwelveMonth + normalRedeemWindows) {
            maxProfit = 1500;
        }
        return maxProfit;
    }

    function _calculateReferBonus(address _customerAddress, LockInfo _info, LockInfo[] _infos) private view returns (uint) {
        uint principal = 0;
        for (uint i = 0; i < _infos.length; i++) {
            if (_infos[i].state == LockState.locked) {
                principal = principal.add(_infos[i].principal);
            }
        }

        uint referBonusOfThisLock = referralLedger[_customerAddress].mul(_info.principal).div(principal);
        return referBonusOfThisLock;
    }

    //users must pay community building fee
    function _communityBuildingFeePerLot() private view returns (uint) {
        uint fee = 800 ether;
        uint time = now.sub(creationDate);
        if (time <= 12 hours && totalLockedTokens < 20000000 ether) {
            fee = 100 ether;
        } else if (time <= 24 hours && totalLockedTokens < 50000000 ether) {
            fee = 300 ether;
        } else if (time <= 72 hours && totalLockedTokens < 100000000 ether) {
            fee = 600 ether;
        }
        return fee;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"creationDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pot","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_incomingTokens","type":"uint256"},{"name":"_referral","type":"address"}],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dividendPerToken","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"rechargePot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"},{"name":"_index","type":"uint256"}],"name":"getUserLockInfo","outputs":[{"name":"state","type":"uint8"},{"name":"principal","type":"uint256"},{"name":"lockedTokens","type":"uint256"},{"name":"dividend","type":"uint256"},{"name":"referBonus","type":"uint256"},{"name":"startDate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"userLockedSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_amount","type":"uint256"}],"name":"dividePot","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_index","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalLockedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_iost","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"principal","type":"uint256"},{"indexed":false,"name":"tax","type":"uint256"},{"indexed":false,"name":"dividend","type":"uint256"},{"indexed":false,"name":"total","type":"uint256"}],"name":"onRedeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"index","type":"uint256"},{"indexed":false,"name":"principal","type":"uint256"},{"indexed":false,"name":"cut","type":"uint256"},{"indexed":false,"name":"startDate","type":"uint256"}],"name":"onLock","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"onDividePot","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405234801561001057600080fd5b50604051602080611b8a83398101806040528101908080519060200190929190505050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055504260058190555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611abf806100cb6000396000f3006080604052600436106100af576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305b34410146100b45780634ba2363a146100df57806366dfbfb41461010a57806377ec0feb146101575780638e589dcb146101825780639e930e80146101af578063aab4127814610239578063d019361c14610290578063db006a75146102dd578063e9fad8ee1461030a578063f5c476f914610321575b600080fd5b3480156100c057600080fd5b506100c961034c565b6040518082815260200191505060405180910390f35b3480156100eb57600080fd5b506100f4610352565b6040518082815260200191505060405180910390f35b34801561011657600080fd5b5061015560048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610358565b005b34801561016357600080fd5b5061016c6108e8565b6040518082815260200191505060405180910390f35b34801561018e57600080fd5b506101ad600480360381019080803590602001909291905050506108ee565b005b3480156101bb57600080fd5b506101fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a59565b604051808760ff1660ff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b34801561024557600080fd5b5061027a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bd4565b6040518082815260200191505060405180910390f35b34801561029c57600080fd5b506102db600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c20565b005b3480156102e957600080fd5b5061030860048036038101908080359060200190929190505050610e5d565b005b34801561031657600080fd5b5061031f6114fa565b005b34801561032d57600080fd5b5061033661164e565b6040518082815260200191505060405180910390f35b60055481565b60045481565b600080600080610366611a58565b60008060003373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141515156103a657600080fd5b69021e19e0c9bab24000009750878a101515156103c257600080fd5b6103d5888b61165490919063ffffffff16565b96506103ea888861166a90919063ffffffff16565b95506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330896040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156104e457600080fd5b505af11580156104f8573d6000803e3d6000fd5b505050506040513d602081101561050e57600080fd5b8101908080519060200190929190505050151561052a57600080fd5b6105446105356116a2565b8861166a90919063ffffffff16565b945060a0604051908101604052806001600281111561055f57fe5b81526020018781526020016000815260200186815260200142815250935060025460001415156105d7576105b96002546105ab680100000000000000008861166a90919063ffffffff16565b61165490919063ffffffff16565b92506105d08360035461176e90919063ffffffff16565b6003819055505b6105ec6003548761166a90919063ffffffff16565b846040018181525050680ad78ebc5ac62000009150610614828861166a90919063ffffffff16565b905061062d81856060015161176e90919063ffffffff16565b846060018181525050600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161415801561067b575060006106798a610bd4565b115b1561071a576106d281600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461176e90919063ffffffff16565b600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610736565b61072f8160045461176e90919063ffffffff16565b6004819055505b61074b8660025461176e90919063ffffffff16565b600281905550600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020849080600181540180825580915050906001820390600052602060002090600502016000909192909190915060008201518160000160006101000a81548160ff021916908360028111156107e057fe5b0217905550602082015181600101556040820151816002015560608201518160030155608082015181600401555050507f352aaaf62f906d9f0b7ccde8ac2eea61c1438b7fca2014bafa832b4bc57d933c336001600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490500388876060015142604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381526020018281526020019550505050505060405180910390a150505050505050505050565b60035481565b6000811115156108fd57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1580156109f557600080fd5b505af1158015610a09573d6000803e3d6000fd5b505050506040513d6020811015610a1f57600080fd5b81019080805190602001909291905050501515610a3b57600080fd5b610a508160045461176e90919063ffffffff16565b60048190555050565b6000806000806000806060610a6c611a58565b600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b82821015610b53578382906000526020600020906005020160a060405190810160405290816000820160009054906101000a900460ff166002811115610b0d57fe5b6002811115610b1857fe5b815260200160018201548152602001600282015481526020016003820154815260200160048201548152505081526020019060010190610acb565b5050505091508189815181101515610b6757fe5b90602001906020020151905080600001516002811115610b8357fe5b975080602001519650610ba78160600151826020015161178a90919063ffffffff16565b9550610bb48a82846117a3565b9350610bbf816118aa565b94508060800151925050509295509295509295565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610cb857600080fd5b6004548111151515610cc957600080fd5b610cde8160045461178a90919063ffffffff16565b6004819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610da857600080fd5b505af1158015610dbc573d6000803e3d6000fd5b505050506040513d6020811015610dd257600080fd5b81019080805190602001909291905050501515610dee57600080fd5b7fc91a396979a36470a5d521af1dedea3b60b7d70a358bbf62f5a248867d7fbda58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b6000806000806000806000806000806000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209a50610ec760018c8054905061178a90919063ffffffff16565b8c11151515610ed557600080fd5b8a8c815481101515610ee357fe5b9060005260206000209060050201995060016002811115610f0057fe5b8a60000160009054906101000a900460ff166002811115610f1d57fe5b141515610f2957600080fd5b611041338b60a060405190810160405290816000820160009054906101000a900460ff166002811115610f5857fe5b6002811115610f6357fe5b81526020016001820154815260200160028201548152602001600382015481526020016004820154815250508d805480602002602001604051908101604052809291908181526020016000905b82821015611038578382906000526020600020906005020160a060405190810160405290816000820160009054906101000a900460ff166002811115610ff257fe5b6002811115610ffd57fe5b815260200160018201548152602001600282015481526020016003820154815260200160048201548152505081526020019060010190610fb0565b505050506117a3565b985061109589600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461178a90919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060028a60000160006101000a81548160ff021916908360028111156110f957fe5b02179055506111688a60a060405190810160405290816000820160009054906101000a900460ff16600281111561112c57fe5b600281111561113757fe5b81526020016001820154815260200160028201548152602001600382015481526020016004820154815250506118aa565b97506111a98961119b8a61118d8e600301548f6001015461178a90919063ffffffff16565b61176e90919063ffffffff16565b61176e90919063ffffffff16565b96506111ca6111c58b600401544261178a90919063ffffffff16565b611911565b95506111eb6111e68b600401544261178a90919063ffffffff16565b6119c8565b945061121c61271061120e87612328018d6001015461166a90919063ffffffff16565b61165490919063ffffffff16565b93508387101561122a578396505b6112556103e8611247888d6001015461166a90919063ffffffff16565b61165490919063ffffffff16565b925089600101548711156112b8576112a06064611292600f6112848e600101548c61178a90919063ffffffff16565b61166a90919063ffffffff16565b61165490919063ffffffff16565b91506112b5828461176e90919063ffffffff16565b92505b6112cb838861178a90919063ffffffff16565b96506112e68a6001015460025461178a90919063ffffffff16565b600281905550600083141580156113005750600060025414155b1561135357611335600254611327680100000000000000008661166a90919063ffffffff16565b61165490919063ffffffff16565b905061134c8160035461176e90919063ffffffff16565b6003819055505b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33896040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561141757600080fd5b505af115801561142b573d6000803e3d6000fd5b505050506040513d602081101561144157600080fd5b8101908080519060200190929190505050151561145d57600080fd5b7f46d6b13e420b85f169b3452241894c8c67605305ea4bd3b05853f37fa1a1b525338d8c60010154868c8c604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a1505050505050505050505050565b60606000600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020016000905b828210156115e5578382906000526020600020906005020160a060405190810160405290816000820160009054906101000a900460ff16600281111561159f57fe5b60028111156115aa57fe5b81526020016001820154815260200160028201548152602001600382015481526020016004820154815250508152602001906001019061155d565b505050509150600090505b815181101561164a576001600281111561160657fe5b828281518110151561161457fe5b9060200190602002015160000151600281111561162d57fe5b141561163d5761163c81610e5d565b5b80806001019150506115f0565b5050565b60025481565b6000818381151561166157fe5b04905092915050565b60008083141561167d576000905061169c565b818302905081838281151561168e57fe5b0414151561169857fe5b8090505b92915050565b6000806000682b5e3af16b1880000091506116c86005544261178a90919063ffffffff16565b905061a8c081111580156116e857506a108b2a2c28029094000000600254105b156116fe5768056bc75e2d631000009150611766565b62015180811115801561171d57506a295be96e64066972000000600254105b1561173357681043561a88293000009150611765565b6203f480811115801561175257506a52b7d2dcc80cd2e4000000600254105b1561176457682086ac35105260000091505b5b5b819250505090565b6000818301905082811015151561178157fe5b80905092915050565b600082821115151561179857fe5b818303905092915050565b60008060008060009250600091505b845182101561183357600160028111156117c857fe5b85838151811015156117d657fe5b906020019060200201516000015160028111156117ef57fe5b141561182657611823858381518110151561180657fe5b90602001906020020151602001518461176e90919063ffffffff16565b92505b81806001019250506117b2565b61189b8361188d8860200151600660008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461166a90919063ffffffff16565b61165490919063ffffffff16565b90508093505050509392505050565b60008060035414156118bf576000905061190c565b611909680100000000000000006118fb84604001516118ed600354876020015161166a90919063ffffffff16565b61178a90919063ffffffff16565b61165490919063ffffffff16565b90505b919050565b600080609690506276a700831015801561193357506202a3006276a700018311155b1561194157606390506119bf565b62ed4e00831015801561195c57506202a30062ed4e00018311155b1561196a57603190506119be565b630163f500831015801561198757506202a300630163f500018311155b1561199557601390506119bd565b6301da9c0083101580156119b25750621275006301da9c00018311155b156119bc57600090505b5b5b5b80915050919050565b6000806000905062ed4e0083101580156119ea57506202a30062ed4e00018311155b156119f9576103e89050611a4f565b630163f5008310158015611a1657506202a300630163f500018311155b15611a255761055f9050611a4e565b6301da9c008310158015611a425750621275006301da9c00018311155b15611a4d576105dc90505b5b5b80915050919050565b60a06040519081016040528060006002811115611a7157fe5b81526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820bb6a698295e36160a8d72d58db17cf80670be739d68da0ac3e6424ce5398e351002900000000000000000000000000130197c5c1602926541974191090e52363d740

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000130197c5c1602926541974191090e52363d740

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000130197c5c1602926541974191090e52363d740


   Swarm Source:
bzzr://bb6a698295e36160a8d72d58db17cf80670be739d68da0ac3e6424ce5398e351

 

View All
Block Age transaction Difficulty Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward