Contract 0xee609fe292128cad03b786dbb9bc2634ccdbe7fc

 

TxHash Block Age From To Value [TxFee]
0x486da9e650ba36045095dde9a422823ff8ad10b972e5993747ba97b6771ccfee(pending)1 day 7 hrs ago0xd779f520f421e81b0d57278586d981f0ea4020b9  IN  0xee609fe292128cad03b786dbb9bc2634ccdbe7fc0 Ether(Pending)
0xff0cfa8a190a448a7434ddeaec87999bd21943bdd7b258524974eb4d7961a5eb722530311 hrs 42 mins ago0x48d8ad7a659d07ce88addafd7d5beeb74cc00bed  IN   PoSToken0 Ether0.000144026
0xa5d8d77b1c31c405d56f596f5364342b50b254fbfc34661d18a80a0d714feb26722442416 hrs 53 mins ago0x5c2e5324a63234035d04cc0e3e7e84b1acae5152  IN   PoSToken0 Ether0.000504091
0x0a8ec87135d04179a00ad2f148afb4d18bf1835fb9be5681e69b7ba8f4470544722434817 hrs 13 mins ago0xdb20b53318bb30ab68899041b2c89f03d57dfa0a  IN   PoSToken0 Ether0.000431694
0xa990ce010589e9c173bded347aee81859f2366d2c6b652f566fb51cdfcdc226271994436 days 14 hrs ago0xf3e65b769892dfd904c14fb90b6508debc4695ff  IN   PoSToken0 Ether0.000388108
0x3df8ffc9696a4ce0024a04f724fe424731efacf880ab8994f28c126110d8f96171852289 days 11 hrs ago0x808c367cb8e7c6f90a05cd73567ad44aae929e53  IN   PoSToken0 Ether0.000072013
0x2ae487c6e736324dd92947016fb44c6afd1e974dd3bde0ce435add7bcc2fcb4f715983214 days 16 hrs ago0x699f1eb016382d55dd887f0334bb572d34f1f372  IN   PoSToken0 Ether0.001558513
0x66f35aa68b0b286f0b7ef1e6a1233b0cc40828a85bbb12d1166b1e8607111ba9715976114 days 16 hrs ago0x9976712d1e2d7b4fe505c26fc4e2a558e962e69f  IN   PoSToken0 Ether0.000306855
0x4c524689c58c1c0433777e95e52fcea5509192bc1d0c60ff39f1d47878418dd3715024616 days 15 hrs ago0xde9a6aab82f1e3ecca2603110d2409e5c63d2850  IN   PoSToken0 Ether0.000380888
0x178b836557952545d20e74c17b9432911c36933c0bf5a4065fb51b862b0909e6715020516 days 15 hrs ago0xde9a6aab82f1e3ecca2603110d2409e5c63d2850  IN   PoSToken0 Ether0.000121072
0x4dd941e4e957c62eab6a0c6a55bc0e19854bf8d665f748f9507cdd01f195b4ab715019616 days 15 hrs ago0xde9a6aab82f1e3ecca2603110d2409e5c63d2850  IN   PoSToken0 Ether0.000380888
0x2d2672a6bc7b36bcad9dc55a04db5248b1b732625ba333701fdfd83d0769904a714843916 days 23 hrs ago0x6e66d3d2be1ff82c2ee7f5d3218799e38794f012  IN   PoSToken0 Ether0.00130113
0xca77594f1396862d66509615320b5fdee50007b4e2368b5f51c79a02cfbda832714836217 days 12 mins ago0x2427bf25ea22598949755c95c3d28fe772b87bde  IN   PoSToken0 Ether0.003578685
0x575ad220cfac985ad5f782d032d13dccad31239b436917ebd45c78172e816431713794919 days 3 hrs ago0x6570010aa3d9c456c1e5a9b3323914f902911ad8  IN   PoSToken0 Ether0.000429774
0x20372dbe3df91364334d3f507fe3249b2013d8cfaee1f931b598a4025148f9c6713409419 days 22 hrs ago0x15215b71dcbf01bdbb9afe144262498b775cdf34  IN   PoSToken0 Ether0.000211872
0x2f9ee187ee9cbdb5b13c970a9353eb84b912386f361d7eb75334c674f5043fec712612721 days 11 hrs ago0xdb20b53318bb30ab68899041b2c89f03d57dfa0a  IN   PoSToken0 Ether0.000143898
0x397042734d37e81f5ff2e77e8622a4e3570133bb0e954de01586b0830fc70023711773223 days 3 hrs ago0x808c367cb8e7c6f90a05cd73567ad44aae929e53  IN   PoSToken0 Ether0.000216654
0xc54ee87e57e3520a49013900df9dcedb6fffc85eccdbb24e8ed42b07305980e7711652123 days 9 hrs ago0xb448d8915b9a91f5c0d3b9dbe74b18fa8da31dba  IN   PoSToken0 Ether0.000307047
0xaf2bacd4bd25f763980536579e9f61e98c2d32b97170a9a96dbab700c0581be3711577523 days 12 hrs ago0xd40cf492ac4ae5975e9f1961daa291cf0314d43b  IN   PoSToken0 Ether0.000224182
0xd7abfbdca8cbf7b86e423653fd8055003ce2933e651c80eef3edecea24b8c6c7710287326 days 1 hr ago0x1c808b2e9b65134e1a4743cd2a1bd66d08261509  IN   PoSToken0 Ether0.00112155
0x15cf82aa01416fcc07653ab9a45ad202a3a8c7db21831cbe42fa00ceee635316708730128 days 21 hrs ago0xaed27a228c51feb958401597ad5871a21b534e57  IN   PoSToken0 Ether0.000144442
0xf5313e3bf4d7c02dfe92ed426be95c01a6b7dcfc72443065b17b72fd06c84bab708499629 days 7 hrs ago0xa89cbcec297b68280beb2aad8867196cf5e8b055  IN   PoSToken0 Ether0.00057229
0xd520ad631d36d381904c26b6bc7bca1bc48bb2f82576c8dbf69f3e1dfe69678d708231229 days 18 hrs ago0x63c998c65d783610a7d3db44d5456cc29ff02770  IN   PoSToken0 Ether0.000223926
0xc195ac8f165b6ca71228032fc65119b46e6d8e91d9e91530ba57678e8eb1085b707231131 days 13 hrs ago0x48d8ad7a659d07ce88addafd7d5beeb74cc00bed  IN   PoSToken0 Ether0.000144026
0x2ae17510618502964ab2627d49c04dfa3eb737ef253a58f6ace3effb013c6329706861832 days 5 hrs ago0x6e3d94fef0964b7110c69b50950860c0da26868f  IN   PoSToken0 Ether0.00035917
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Contract Name: PoSToken
Compiler Version: v0.4.13+commit.fb4cb1a
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.11;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal constant returns (uint256) {
        uint256 c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal constant returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;


    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    function Ownable() {
        owner = msg.sender;
    }


    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }


    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) onlyOwner {
        require(newOwner != address(0));
        owner = newOwner;
    }

}


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) constant returns (uint256);
    function transfer(address to, uint256 value) returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) returns (bool);
    function approve(address spender, uint256 value) returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}


/**
 * @title PoSTokenStandard
 * @dev the interface of PoSTokenStandard
 */
contract PoSTokenStandard {
    uint256 public stakeStartTime;
    uint256 public stakeMinAge;
    uint256 public stakeMaxAge;
    function mint() returns (bool);
    function coinAge() constant returns (uint256);
    function annualInterest() constant returns (uint256);
    event Mint(address indexed _address, uint _reward);
}


contract PoSToken is ERC20,PoSTokenStandard,Ownable {
    using SafeMath for uint256;

    string public name = "PoSToken";
    string public symbol = "POS";
    uint public decimals = 18;

    uint public chainStartTime; //chain start time
    uint public chainStartBlockNumber; //chain start block number
    uint public stakeStartTime; //stake start time
    uint public stakeMinAge = 3 days; // minimum age for coin age: 3D
    uint public stakeMaxAge = 90 days; // stake age of full weight: 90D
    uint public maxMintProofOfStake = 10**17; // default 10% annual interest

    uint public totalSupply;
    uint public maxTotalSupply;
    uint public totalInitialSupply;

    struct transferInStruct{
    uint128 amount;
    uint64 time;
    }

    mapping(address => uint256) balances;
    mapping(address => mapping (address => uint256)) allowed;
    mapping(address => transferInStruct[]) transferIns;

    event Burn(address indexed burner, uint256 value);

    /**
     * @dev Fix for the ERC20 short address attack.
     */
    modifier onlyPayloadSize(uint size) {
        require(msg.data.length >= size + 4);
        _;
    }

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

    function PoSToken() {
        maxTotalSupply = 10**25; // 10 Mil.
        totalInitialSupply = 10**24; // 1 Mil.

        chainStartTime = now;
        chainStartBlockNumber = block.number;

        balances[msg.sender] = totalInitialSupply;
        totalSupply = totalInitialSupply;
    }

    function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) returns (bool) {
        if(msg.sender == _to) return mint();
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        uint64 _now = uint64(now);
        transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now));
        transferIns[_to].push(transferInStruct(uint128(_value),_now));
        return true;
    }

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

    function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(3 * 32) returns (bool) {
        require(_to != address(0));

        var _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require (_value <= _allowance);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        Transfer(_from, _to, _value);
        if(transferIns[_from].length > 0) delete transferIns[_from];
        uint64 _now = uint64(now);
        transferIns[_from].push(transferInStruct(uint128(balances[_from]),_now));
        transferIns[_to].push(transferInStruct(uint128(_value),_now));
        return true;
    }

    function approve(address _spender, uint256 _value) returns (bool) {
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

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

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

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

        Mint(msg.sender, reward);
        return true;
    }

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

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

    function annualInterest() constant returns(uint interest) {
        uint _now = now;
        interest = maxMintProofOfStake;
        if((_now.sub(stakeStartTime)).div(1 years) == 0) {
            interest = (770 * maxMintProofOfStake).div(100);
        } else if((_now.sub(stakeStartTime)).div(1 years) == 1){
            interest = (435 * maxMintProofOfStake).div(100);
        }
    }

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

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

        uint interest = maxMintProofOfStake;
        // Due to the high interest rate for the first two years, compounding should be taken into account.
        // Effective annual interest rate = (1 + (nominal rate / number of compounding periods)) ^ (number of compounding periods) - 1
        if((_now.sub(stakeStartTime)).div(1 years) == 0) {
            // 1st year effective annual interest rate is 100% when we select the stakeMaxAge (90 days) as the compounding period.
            interest = (770 * maxMintProofOfStake).div(100);
        } else if((_now.sub(stakeStartTime)).div(1 years) == 1){
            // 2nd year effective annual interest rate is 50%
            interest = (435 * maxMintProofOfStake).div(100);
        }

        return (_coinAge * interest).div(365 * (10**decimals));
    }

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

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

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

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

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

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

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

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

        Burn(msg.sender, _value);
    }

    /* Batch token transfer. Used by contract creator to distribute initial tokens to holders */
    function batchTransfer(address[] _recipients, uint[] _values) onlyOwner returns (bool) {
        require( _recipients.length > 0 && _recipients.length == _values.length);

        uint total = 0;
        for(uint i = 0; i < _values.length; i++){
            total = total.add(_values[i]);
        }
        require(total <= balances[msg.sender]);

        uint64 _now = uint64(now);
        for(uint j = 0; j < _recipients.length; j++){
            balances[_recipients[j]] = balances[_recipients[j]].add(_values[j]);
            transferIns[_recipients[j]].push(transferInStruct(uint128(_values[j]),_now));
            Transfer(msg.sender, _recipients[j], _values[j]);
        }

        balances[msg.sender] = balances[msg.sender].sub(total);
        if(transferIns[msg.sender].length > 0) delete transferIns[msg.sender];
        if(balances[msg.sender] > 0) transferIns[msg.sender].push(transferInStruct(uint128(balances[msg.sender]),_now));

        return true;
    }
}

Contract ABI
[{"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":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"coinAge","outputs":[{"name":"myCoinAge","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":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"timestamp","type":"uint256"}],"name":"ownerSetStakeStartTime","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxTotalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getBlockNumber","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"chainStartTime","outputs":[{"name":"","type":"uint256"}],"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":"stakeStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_recipients","type":"address[]"},{"name":"_values","type":"uint256[]"}],"name":"batchTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"ownerBurnToken","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalInitialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"annualInterest","outputs":[{"name":"interest","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stakeMinAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"chainStartBlockNumber","outputs":[{"name":"","type":"uint256"}],"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":"stakeMaxAge","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"maxMintProofOfStake","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_reward","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

Contract Creation Code
606060405260408051908101604052600881527f506f53546f6b656e000000000000000000000000000000000000000000000000602082015260059080516200004d9291602001906200012d565b5060408051908101604052600381527f504f53000000000000000000000000000000000000000000000000000000000060208201526006908051620000979291602001906200012d565b5060126007556203f480600b556276a700600c5567016345785d8a0000600d553415620000c357600080fd5b5b5b60048054600160a060020a03191633600160a060020a03161790555b6a084595161401484a000000600f5569d3c21bcecceda100000060108190554260085543600955600160a060020a0333166000908152601160205260409020819055600e555b620001d7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017057805160ff1916838001178555620001a0565b82800160010185558215620001a0579182015b82811115620001a057825182559160200191906001019062000183565b5b50620001af929150620001b3565b5090565b620001d491905b80821115620001af5760008155600101620001ba565b5090565b90565b611bee80620001e76000396000f300606060405236156101515763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610156578063095ea7b3146101e15780631249c58b1461021757806318160ddd1461023e5780631e1b13c01461026357806323b872dd146102885780632a9edf6f146102c45780632ab4d052146102dc578063313ce5671461030157806342cbb15c146103265780635b054f9b1461034b57806370a08231146103705780637419f190146103a157806388d695b2146103c65780638da5cb5b1461046957806390762a8b1461049857806395d89b41146104b05780639fd4da401461053b578063a9059cbb14610560578063b2552fc414610596578063cbd8877e146105bb578063cd474b04146105e0578063dd62ed3e14610605578063e1c3bac61461063c578063f2bb5ce114610661578063f2fde38b14610686575b600080fd5b341561016157600080fd5b6101696106a7565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101a65780820151818401525b60200161018d565b50505050905090810190601f1680156101d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ec57600080fd5b610203600160a060020a0360043516602435610745565b604051901515815260200160405180910390f35b341561022257600080fd5b6102036107ec565b604051901515815260200160405180910390f35b341561024957600080fd5b6102516109e7565b60405190815260200160405180910390f35b341561026e57600080fd5b6102516109ed565b60405190815260200160405180910390f35b341561029357600080fd5b610203600160a060020a03600435811690602435166044356109ff565b604051901515815260200160405180910390f35b34156102cf57600080fd5b6102da600435610cf9565b005b34156102e757600080fd5b610251610d3e565b60405190815260200160405180910390f35b341561030c57600080fd5b610251610d44565b60405190815260200160405180910390f35b341561033157600080fd5b610251610d4a565b60405190815260200160405180910390f35b341561035657600080fd5b610251610d67565b60405190815260200160405180910390f35b341561037b57600080fd5b610251600160a060020a0360043516610d6d565b60405190815260200160405180910390f35b34156103ac57600080fd5b610251610d8c565b60405190815260200160405180910390f35b34156103d157600080fd5b610203600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610d9295505050505050565b604051901515815260200160405180910390f35b341561047457600080fd5b61047c6111b0565b604051600160a060020a03909116815260200160405180910390f35b34156104a357600080fd5b6102da6004356111bf565b005b34156104bb57600080fd5b61016961138d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101a65780820151818401525b60200161018d565b50505050905090810190601f1680156101d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561054657600080fd5b61025161142b565b60405190815260200160405180910390f35b341561056b57600080fd5b610203600160a060020a0360043516602435611431565b604051901515815260200160405180910390f35b34156105a157600080fd5b6102516116e9565b60405190815260200160405180910390f35b34156105c657600080fd5b61025161178f565b60405190815260200160405180910390f35b34156105eb57600080fd5b610251611795565b60405190815260200160405180910390f35b341561061057600080fd5b610251600160a060020a036004358116906024351661179b565b60405190815260200160405180910390f35b341561064757600080fd5b6102516117c8565b60405190815260200160405180910390f35b341561066c57600080fd5b6102516117ce565b60405190815260200160405180910390f35b341561069157600080fd5b6102da600160a060020a03600435166117d4565b005b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b505050505081565b60008115806107775750600160a060020a03338116600090815260126020908152604080832093871683529290522054155b151561078257600080fd5b600160a060020a03338116600081815260126020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600080600f54600e5410151561080157600080fd5b600160a060020a0333166000908152601160205260408120541161082857600091506109e2565b600160a060020a0333166000908152601360205260408120541161084f57600091506109e2565b61085833611831565b90506000811161086b57600091506109e2565b600e5461087e908263ffffffff61193f16565b600e55600160a060020a0333166000908152601160205260409020546108aa908263ffffffff61193f16565b600160a060020a033316600090815260116020908152604080832093909355601390529081206108d991611b1a565b600160a060020a03331660009081526013602052604090208054600181016109018382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a033316600090815260116020908152919020546001608060020a0316825267ffffffffffffffff421690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555050600160a060020a0333167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405190815260200160405180910390a2600191505b5b5090565b600e5481565b60006109f93342611959565b90505b90565b6000808060606064361015610a1357600080fd5b600160a060020a0386161515610a2857600080fd5b600160a060020a03808816600081815260126020908152604080832033909516835293815283822054928252601190529190912054909350610a70908663ffffffff611ae716565b600160a060020a038089166000908152601160205260408082209390935590881681522054610aa5908663ffffffff61193f16565b600160a060020a038716600090815260116020526040902055610ace838663ffffffff611ae716565b600160a060020a03808916600081815260126020908152604080832033861684529091529081902093909355908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9088905190815260200160405180910390a3600160a060020a0387166000908152601360205260408120541115610b7157600160a060020a0387166000908152601360205260408120610b7191611b1a565b5b600160a060020a0387166000908152601360205260409020805442935060018101610b9d8382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a038c16600090815260116020908152919020546001608060020a0316825267ffffffffffffffff871690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555050600160a060020a0386166000908152601360205260409020805460018101610c648382611b3c565b916000526020600020900160005b604080519081016040526001608060020a038916815267ffffffffffffffff86166020820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555060019450505b5b5050509392505050565b60045433600160a060020a03908116911614610d1457600080fd5b6000600a5411158015610d2957506008548110155b1515610d3457600080fd5b600a8190555b5b50565b600f5481565b60075481565b60006109f960095443611ae790919063ffffffff16565b90505b90565b60085481565b600160a060020a0381166000908152601160205260409020545b919050565b600a5481565b600454600090819081908190819033600160a060020a03908116911614610db857600080fd5b60008751118015610dca575085518751145b1515610dd557600080fd5b60009350600092505b8551831015610e1b57610e0d868481518110610df657fe5b90602001906020020151859063ffffffff61193f16565b93505b600190920191610dde565b600160a060020a033316600090815260116020526040902054841115610e4057600080fd5b5042905060005b865181101561104157610ea9868281518110610e5f57fe5b90602001906020020151601160008a8581518110610e7957fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff61193f16565b60116000898481518110610eb957fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000208190555060136000888381518110610ef757fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460018101610f2a8382611b3c565b916000526020600020900160005b60408051908101604052808a8681518110610f4f57fe5b906020019060200201516001608060020a0316815267ffffffffffffffff8716602090910152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba3833981519152909116179055508790508181518110610fd357fe5b90602001906020020151600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88848151811061101d57fe5b9060200190602002015160405190815260200160405180910390a35b600101610e47565b600160a060020a03331660009081526011602052604090205461106a908563ffffffff611ae716565b600160a060020a033316600090815260116020908152604080832093909355601390529081205411156110b857600160a060020a03331660009081526013602052604081206110b891611b1a565b5b600160a060020a03331660009081526011602052604081205411156111a057600160a060020a03331660009081526013602052604090208054600181016111008382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a033316600090815260116020908152919020546001608060020a0316825267ffffffffffffffff871690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba383398151915290911617905550505b600194505b5b5050505092915050565b600454600160a060020a031681565b60045433600160a060020a039081169116146111da57600080fd5b600081116111e757600080fd5b600160a060020a033316600090815260116020526040902054611210908263ffffffff611ae716565b600160a060020a0333166000908152601160209081526040808320939093556013905290812061123f91611b1a565b600160a060020a03331660009081526013602052604090208054600181016112678382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a033316600090815260116020908152919020546001608060020a0316825267ffffffffffffffff421690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555050600e54611319908263ffffffff611ae716565b600e5560105461132f908263ffffffff611ae716565b601055600f5461134890600a830263ffffffff611ae716565b600f55600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a25b5b50565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b505050505081565b60105481565b6000806040604436101561144457600080fd5b84600160a060020a031633600160a060020a0316141561146d576114666107ec565b92506116e0565b600160a060020a033316600090815260116020526040902054611496908563ffffffff611ae716565b600160a060020a0333811660009081526011602052604080822093909355908716815220546114cb908563ffffffff61193f16565b600160a060020a0380871660008181526011602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9087905190815260200160405180910390a3600160a060020a033316600090815260136020526040812054111561156357600160a060020a033316600090815260136020526040812061156391611b1a565b5b600160a060020a033316600090815260136020526040902080544293506001810161158f8382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a033316600090815260116020908152919020546001608060020a0316825267ffffffffffffffff871690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555050600160a060020a03851660009081526013602052604090208054600181016116568382611b3c565b916000526020600020900160005b604080519081016040526001608060020a038816815267ffffffffffffffff86166020820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555060019350505b5b505092915050565b600d54600a544290611718906301e133809061170c90849063ffffffff611ae716565b9063ffffffff611afe16565b151561173d57600d546117369061030202606463ffffffff611afe16565b91506109e2565b6117666301e1338061170c600a5484611ae790919063ffffffff16565b9063ffffffff611afe16565b600114156109e257600d54611786906101b302606463ffffffff611afe16565b91505b5b5b5090565b600b5481565b60095481565b600160a060020a038083166000908152601260209081526040808320938516835292905220545b92915050565b600c5481565b600d5481565b60045433600160a060020a039081169116146117ef57600080fd5b600160a060020a038116151561180457600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080600080600a54421015801561184b57506000600a54115b151561185657600080fd5b4292506118638584611959565b9150600082116118765760009350611937565b600d5490506118a46301e1338061170c600a5486611ae790919063ffffffff16565b9063ffffffff611afe16565b15156118c957600d546118c29061030202606463ffffffff611afe16565b9050611915565b6118f26301e1338061170c600a5486611ae790919063ffffffff16565b9063ffffffff611afe16565b6001141561191557600d54611912906101b302606463ffffffff611afe16565b90505b5b611934600754600a0a61016d02828402611afe90919063ffffffff16565b93505b505050919050565b60008282018381101561194e57fe5b8091505b5092915050565b600160a060020a0382166000908152601360205260408120548190819081901161198657600092506116e0565b600091505b600160a060020a0385166000908152601360205260409020548210156116e057600b54600160a060020a038616600090815260136020526040902080546119ff929190859081106119d857fe5b906000526020600020900160005b5054608060020a900467ffffffffffffffff169061193f565b841015611a0b57611ad3565b600160a060020a03851660009081526013602052604090208054611a5c919084908110611a3457fe5b906000526020600020900160005b50548590608060020a900467ffffffffffffffff16611ae7565b9050600c54811115611a6d5750600c545b611ad0611a83826201518063ffffffff611afe16565b600160a060020a0387166000908152601360205260409020805485908110611aa757fe5b906000526020600020900160005b505485916001608060020a039091160263ffffffff61193f16565b92505b60019091019061198b565b5b505092915050565b600082821115611af357fe5b508082035b92915050565b6000808284811515611b0c57fe5b0490508091505b5092915050565b5080546000825590600052602060002090810190610d3a9190611b66565b5b50565b815481835581811511611b6057600083815260209020611b60918101908301611b66565b5b505050565b6109fc91905b808211156109e257805477ffffffffffffffffffffffffffffffffffffffffffffffff19168155600101611b6c565b5090565b905600ffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffa165627a7a72305820589444c858e657735d12b990cfe876a4ff9b7b9a2c69dc3e266ece871238dbcc0029


   Swarm Source:
bzzr://589444c858e657735d12b990cfe876a4ff9b7b9a2c69dc3e266ece871238dbcc
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.