Sponsored Link:   COVESTING - EU-based digital asset exchange. Aggregated liquidity. Algorithmic & Copy-trading features. 24/7 support. Get access!
 Latest 25 txns from a total Of 21535 transactions (+2 PendingTxns)
View All

TxHash Age From To Value [TxFee]
0xb3b67474ccd3ba375c2b0698d1df5538873ab205990bf2e1aab9302160b76647(pending)0x50be462b77eaf614e59dee278e56224f3448f1b9  IN  0xee609fe292128cad03b786dbb9bc2634ccdbe7fc0 Ether(pending)
0xbb37e42adac4e18202fd7fecead6134398a0c465088b9967b02988dfd775b915(pending)0x28cfb43fb570f895a51a1190800372334cb3f301  IN  0xee609fe292128cad03b786dbb9bc2634ccdbe7fc0 Ether(pending)
0x8642893df70651b716f81feb78f5c88d96e3d6f17000e6b16bf4e5fb138320153 hrs 25 mins ago0xeb40c06cd87514a2a8a4f290822b4ee6a8abc586  IN   PoSToken0 Ether0.00027592
0x7763c86dffaead446bdd8108928aa0b5fcec0b77884c7e4c3ac592462317655a7 hrs 17 mins ago0xba382bdfffd77331feb4c81222c8bab3f01ebe57  IN   PoSToken0 Ether0.000025521
0x8f25497b2d5651700dd4c47e148f27a1c922ad92b9ab8b5e335b2bb1fc8a7e289 hrs 1 min ago0x3889c0704c4cff191a4471e0d036cd45bbec430c  IN   PoSToken0 Ether0.000046075
0xa8f73370f65c445a66f6bf652ff85baf73c7be9ab52436eeb652a5103d772dd79 hrs 14 mins ago0xba382bdfffd77331feb4c81222c8bab3f01ebe57  IN   PoSToken0 Ether0.000071219
0x4420ff248aab6955597106854849223c0fcb6f47b28bf72a29c6b6a9f47adca11 day 20 hrs ago0x51ec49876fd0f9e4bf72998fb24cd82e05802fbb  IN   PoSToken0 Ether0.000071475
0x41d6ab69787378cdefef26818f07b862f11c364e9639845908af548090284a2a1 day 21 hrs ago0xab0302f8d666ace6f7faacbabc7766bdaeebcc97  IN   PoSToken0 Ether0.001911
0x5b2c0ba736f9f7b369506101920c8926ade1896d7d2ba0cbff910325ddf7946e2 days 1 hr ago0xe5712d1dff0f400f3e9f13c15d74326396fc635b  IN   PoSToken0 Ether0.00013796
0x3a3d130900963686f79ad13b50d97a3c400112046f86584a51ff6e7ee75aa2fe2 days 1 hr ago0xe354a30ccfdda55148ea472ad4a0835c08ca3e8c  IN   PoSToken0 Ether0.000358015
0x39f8eb5f0aa56aaa910548421f2b468548ce2fc2b5c5b725087cfe3e8a0145a12 days 18 hrs ago0xf0e02bad9b0d9bf5b64b19752fd018073cc60e72  IN   PoSToken0 Ether0.00006898
0x20a315c1f1e58d0e1f33a09bb0b499d6b69c74a76e0a3824cb5a6704e88cb5e42 days 23 hrs ago0x9b30193e9fd80d45e773a4915db42d52f4615ce5  IN   PoSToken0 Ether0.00217239
0x7339c7b42298da9b59db6f89cd5a730cf3aac9828e2c9601638c7b2e9d8a3cd12 days 23 hrs ago0xbb09c39c664b19d12e36adf74963e11f00ce0804  IN   PoSToken0 Ether0.000092543
0x0d40979d22f181cc6d320d41986c1bac507b2a1cfe76202b01da4a1546aefe0e2 days 23 hrs ago0x1367bb4756a4637659dcb2cb6269b66819b08867  IN   PoSToken0 Ether0.00019431
0x3aba254ba1ad0284e74c01283175c620838f40c211e2175d85917b3c3164eaf33 days 3 hrs ago0x9b30193e9fd80d45e773a4915db42d52f4615ce5  IN   PoSToken0 Ether0.00246273
0x7d1559dd7315900fa8deff5c9416236b0a0e03cafd2237fb63166cfe933f00cf3 days 4 hrs ago0xa08e2b8232fa5802eef08f15865534cdc84b2967  IN   PoSToken0 Ether0.000224182
0xbf768032dd0458f731fca68722699673313d89d696dbc8c93d4daa17fba0c1653 days 5 hrs ago0x8aa6c866404226975543687ba507bdc0ade2681c  IN   PoSToken0 Ether0.000142438
0xbec62e3985db90d638bde8c4d396e307f7d5bddd1d5a084419e311034a6bf4703 days 9 hrs ago0x1de0ff221a62c5a292f2818f27671c10c5fe9b68  IN   PoSToken0 Ether0.00144858
0x6b35137073e277185c26d48238424f819f2794e6b3fd5216f2478d03243d53703 days 15 hrs ago0x9d366723c5ed08fd92955b93b47c2de3510b3454  IN   PoSToken0 Ether0.00246081
0x0ab45460a98d75a9ae29bac25f5da38264935b5be5d8b60cff649294b99bee583 days 15 hrs ago0xd0f34065fb082637f3dc3f3a10eaf979d7bc34d2  IN   PoSToken0 Ether0.004009841
0x9be111c34cdf395c8ef34f170bf6de2bc13098a9a68f5ba84898cc5e71190eb43 days 21 hrs ago0x1e48372be2e07fc185369306e3a025651963530a  IN   PoSToken0 Ether0.000071424
0xe0e3953054735fb48806c7fb20c6a8a924ae6e3b892b8894bb481bf3330bb9e34 days 6 hrs ago0x1367bb4756a4637659dcb2cb6269b66819b08867  IN   PoSToken0 Ether0.00013796
0x0234d71ca71c5445282bedc7119d6817892bc6703c384030ae788e2d3c602a7e4 days 18 hrs ago0x754358698f65b69717da638d31b877fb1579ed76  IN   PoSToken0 Ether0.000069185
0x8e76d4bafefe1620d98d1d9cc9db84f48f9eb79a7aca290dd52245cb24cf438e4 days 19 hrs ago0x91c8a7b00d6a2899909c3f7a0bc896f1463c7648  IN   PoSToken0 Ether0.00013837
0x3164be94b1cd320b83d8760aac8e563797d9bb7c9e1bde2d668e148ff53c1bac5 days 4 hrs ago0x6570010aa3d9c456c1e5a9b3323914f902911ad8  IN   PoSToken0 Ether0.000427314
[ 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 ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity) Solidity compiler bugs.

Contract Source Code Verified (Exact match)
Contract Name: PoSToken
Compiler Version: v0.4.13+commit.fb4cb1a
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

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 Switch To Opcodes View
606060405260408051908101604052600881527f506f53546f6b656e000000000000000000000000000000000000000000000000602082015260059080516200004d9291602001906200012d565b5060408051908101604052600381527f504f53000000000000000000000000000000000000000000000000000000000060208201526006908051620000979291602001906200012d565b5060126007556203f480600b556276a700600c5567016345785d8a0000600d553415620000c357600080fd5b5b5b60048054600160a060020a03191633600160a060020a03161790555b6a084595161401484a000000600f5569d3c21bcecceda100000060108190554260085543600955600160a060020a0333166000908152601160205260409020819055600e555b620001d7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017057805160ff1916838001178555620001a0565b82800160010185558215620001a0579182015b82811115620001a057825182559160200191906001019062000183565b5b50620001af929150620001b3565b5090565b620001d491905b80821115620001af5760008155600101620001ba565b5090565b90565b611bee80620001e76000396000f300606060405236156101515763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610156578063095ea7b3146101e15780631249c58b1461021757806318160ddd1461023e5780631e1b13c01461026357806323b872dd146102885780632a9edf6f146102c45780632ab4d052146102dc578063313ce5671461030157806342cbb15c146103265780635b054f9b1461034b57806370a08231146103705780637419f190146103a157806388d695b2146103c65780638da5cb5b1461046957806390762a8b1461049857806395d89b41146104b05780639fd4da401461053b578063a9059cbb14610560578063b2552fc414610596578063cbd8877e146105bb578063cd474b04146105e0578063dd62ed3e14610605578063e1c3bac61461063c578063f2bb5ce114610661578063f2fde38b14610686575b600080fd5b341561016157600080fd5b6101696106a7565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101a65780820151818401525b60200161018d565b50505050905090810190601f1680156101d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101ec57600080fd5b610203600160a060020a0360043516602435610745565b604051901515815260200160405180910390f35b341561022257600080fd5b6102036107ec565b604051901515815260200160405180910390f35b341561024957600080fd5b6102516109e7565b60405190815260200160405180910390f35b341561026e57600080fd5b6102516109ed565b60405190815260200160405180910390f35b341561029357600080fd5b610203600160a060020a03600435811690602435166044356109ff565b604051901515815260200160405180910390f35b34156102cf57600080fd5b6102da600435610cf9565b005b34156102e757600080fd5b610251610d3e565b60405190815260200160405180910390f35b341561030c57600080fd5b610251610d44565b60405190815260200160405180910390f35b341561033157600080fd5b610251610d4a565b60405190815260200160405180910390f35b341561035657600080fd5b610251610d67565b60405190815260200160405180910390f35b341561037b57600080fd5b610251600160a060020a0360043516610d6d565b60405190815260200160405180910390f35b34156103ac57600080fd5b610251610d8c565b60405190815260200160405180910390f35b34156103d157600080fd5b610203600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610d9295505050505050565b604051901515815260200160405180910390f35b341561047457600080fd5b61047c6111b0565b604051600160a060020a03909116815260200160405180910390f35b34156104a357600080fd5b6102da6004356111bf565b005b34156104bb57600080fd5b61016961138d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101a65780820151818401525b60200161018d565b50505050905090810190601f1680156101d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561054657600080fd5b61025161142b565b60405190815260200160405180910390f35b341561056b57600080fd5b610203600160a060020a0360043516602435611431565b604051901515815260200160405180910390f35b34156105a157600080fd5b6102516116e9565b60405190815260200160405180910390f35b34156105c657600080fd5b61025161178f565b60405190815260200160405180910390f35b34156105eb57600080fd5b610251611795565b60405190815260200160405180910390f35b341561061057600080fd5b610251600160a060020a036004358116906024351661179b565b60405190815260200160405180910390f35b341561064757600080fd5b6102516117c8565b60405190815260200160405180910390f35b341561066c57600080fd5b6102516117ce565b60405190815260200160405180910390f35b341561069157600080fd5b6102da600160a060020a03600435166117d4565b005b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b505050505081565b60008115806107775750600160a060020a03338116600090815260126020908152604080832093871683529290522054155b151561078257600080fd5b600160a060020a03338116600081815260126020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600080600f54600e5410151561080157600080fd5b600160a060020a0333166000908152601160205260408120541161082857600091506109e2565b600160a060020a0333166000908152601360205260408120541161084f57600091506109e2565b61085833611831565b90506000811161086b57600091506109e2565b600e5461087e908263ffffffff61193f16565b600e55600160a060020a0333166000908152601160205260409020546108aa908263ffffffff61193f16565b600160a060020a033316600090815260116020908152604080832093909355601390529081206108d991611b1a565b600160a060020a03331660009081526013602052604090208054600181016109018382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a033316600090815260116020908152919020546001608060020a0316825267ffffffffffffffff421690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555050600160a060020a0333167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858260405190815260200160405180910390a2600191505b5b5090565b600e5481565b60006109f93342611959565b90505b90565b6000808060606064361015610a1357600080fd5b600160a060020a0386161515610a2857600080fd5b600160a060020a03808816600081815260126020908152604080832033909516835293815283822054928252601190529190912054909350610a70908663ffffffff611ae716565b600160a060020a038089166000908152601160205260408082209390935590881681522054610aa5908663ffffffff61193f16565b600160a060020a038716600090815260116020526040902055610ace838663ffffffff611ae716565b600160a060020a03808916600081815260126020908152604080832033861684529091529081902093909355908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9088905190815260200160405180910390a3600160a060020a0387166000908152601360205260408120541115610b7157600160a060020a0387166000908152601360205260408120610b7191611b1a565b5b600160a060020a0387166000908152601360205260409020805442935060018101610b9d8382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a038c16600090815260116020908152919020546001608060020a0316825267ffffffffffffffff871690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555050600160a060020a0386166000908152601360205260409020805460018101610c648382611b3c565b916000526020600020900160005b604080519081016040526001608060020a038916815267ffffffffffffffff86166020820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555060019450505b5b5050509392505050565b60045433600160a060020a03908116911614610d1457600080fd5b6000600a5411158015610d2957506008548110155b1515610d3457600080fd5b600a8190555b5b50565b600f5481565b60075481565b60006109f960095443611ae790919063ffffffff16565b90505b90565b60085481565b600160a060020a0381166000908152601160205260409020545b919050565b600a5481565b600454600090819081908190819033600160a060020a03908116911614610db857600080fd5b60008751118015610dca575085518751145b1515610dd557600080fd5b60009350600092505b8551831015610e1b57610e0d868481518110610df657fe5b90602001906020020151859063ffffffff61193f16565b93505b600190920191610dde565b600160a060020a033316600090815260116020526040902054841115610e4057600080fd5b5042905060005b865181101561104157610ea9868281518110610e5f57fe5b90602001906020020151601160008a8581518110610e7957fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff61193f16565b60116000898481518110610eb957fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000208190555060136000888381518110610ef757fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460018101610f2a8382611b3c565b916000526020600020900160005b60408051908101604052808a8681518110610f4f57fe5b906020019060200201516001608060020a0316815267ffffffffffffffff8716602090910152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba3833981519152909116179055508790508181518110610fd357fe5b90602001906020020151600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88848151811061101d57fe5b9060200190602002015160405190815260200160405180910390a35b600101610e47565b600160a060020a03331660009081526011602052604090205461106a908563ffffffff611ae716565b600160a060020a033316600090815260116020908152604080832093909355601390529081205411156110b857600160a060020a03331660009081526013602052604081206110b891611b1a565b5b600160a060020a03331660009081526011602052604081205411156111a057600160a060020a03331660009081526013602052604090208054600181016111008382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a033316600090815260116020908152919020546001608060020a0316825267ffffffffffffffff871690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba383398151915290911617905550505b600194505b5b5050505092915050565b600454600160a060020a031681565b60045433600160a060020a039081169116146111da57600080fd5b600081116111e757600080fd5b600160a060020a033316600090815260116020526040902054611210908263ffffffff611ae716565b600160a060020a0333166000908152601160209081526040808320939093556013905290812061123f91611b1a565b600160a060020a03331660009081526013602052604090208054600181016112678382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a033316600090815260116020908152919020546001608060020a0316825267ffffffffffffffff421690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555050600e54611319908263ffffffff611ae716565b600e5560105461132f908263ffffffff611ae716565b601055600f5461134890600a830263ffffffff611ae716565b600f55600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a25b5b50565b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561073d5780601f106107125761010080835404028352916020019161073d565b820191906000526020600020905b81548152906001019060200180831161072057829003601f168201915b505050505081565b60105481565b6000806040604436101561144457600080fd5b84600160a060020a031633600160a060020a0316141561146d576114666107ec565b92506116e0565b600160a060020a033316600090815260116020526040902054611496908563ffffffff611ae716565b600160a060020a0333811660009081526011602052604080822093909355908716815220546114cb908563ffffffff61193f16565b600160a060020a0380871660008181526011602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9087905190815260200160405180910390a3600160a060020a033316600090815260136020526040812054111561156357600160a060020a033316600090815260136020526040812061156391611b1a565b5b600160a060020a033316600090815260136020526040902080544293506001810161158f8382611b3c565b916000526020600020900160005b604080519081016040908152600160a060020a033316600090815260116020908152919020546001608060020a0316825267ffffffffffffffff871690820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555050600160a060020a03851660009081526013602052604090208054600181016116568382611b3c565b916000526020600020900160005b604080519081016040526001608060020a038816815267ffffffffffffffff86166020820152919050815181546001608060020a0319166001608060020a03919091161781556020820151815467ffffffffffffffff91909116608060020a02600080516020611ba38339815191529091161790555060019350505b5b505092915050565b600d54600a544290611718906301e133809061170c90849063ffffffff611ae716565b9063ffffffff611afe16565b151561173d57600d546117369061030202606463ffffffff611afe16565b91506109e2565b6117666301e1338061170c600a5484611ae790919063ffffffff16565b9063ffffffff611afe16565b600114156109e257600d54611786906101b302606463ffffffff611afe16565b91505b5b5b5090565b600b5481565b60095481565b600160a060020a038083166000908152601260209081526040808320938516835292905220545b92915050565b600c5481565b600d5481565b60045433600160a060020a039081169116146117ef57600080fd5b600160a060020a038116151561180457600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080600080600a54421015801561184b57506000600a54115b151561185657600080fd5b4292506118638584611959565b9150600082116118765760009350611937565b600d5490506118a46301e1338061170c600a5486611ae790919063ffffffff16565b9063ffffffff611afe16565b15156118c957600d546118c29061030202606463ffffffff611afe16565b9050611915565b6118f26301e1338061170c600a5486611ae790919063ffffffff16565b9063ffffffff611afe16565b6001141561191557600d54611912906101b302606463ffffffff611afe16565b90505b5b611934600754600a0a61016d02828402611afe90919063ffffffff16565b93505b505050919050565b60008282018381101561194e57fe5b8091505b5092915050565b600160a060020a0382166000908152601360205260408120548190819081901161198657600092506116e0565b600091505b600160a060020a0385166000908152601360205260409020548210156116e057600b54600160a060020a038616600090815260136020526040902080546119ff929190859081106119d857fe5b906000526020600020900160005b5054608060020a900467ffffffffffffffff169061193f565b841015611a0b57611ad3565b600160a060020a03851660009081526013602052604090208054611a5c919084908110611a3457fe5b906000526020600020900160005b50548590608060020a900467ffffffffffffffff16611ae7565b9050600c54811115611a6d5750600c545b611ad0611a83826201518063ffffffff611afe16565b600160a060020a0387166000908152601360205260409020805485908110611aa757fe5b906000526020600020900160005b505485916001608060020a039091160263ffffffff61193f16565b92505b60019091019061198b565b5b505092915050565b600082821115611af357fe5b508082035b92915050565b6000808284811515611b0c57fe5b0490508091505b5092915050565b5080546000825590600052602060002090810190610d3a9190611b66565b5b50565b815481835581811511611b6057600083815260209020611b60918101908301611b66565b5b505050565b6109fc91905b808211156109e257805477ffffffffffffffffffffffffffffffffffffffffffffffff19168155600101611b6c565b5090565b905600ffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffa165627a7a72305820589444c858e657735d12b990cfe876a4ff9b7b9a2c69dc3e266ece871238dbcc0029

   Swarm Source:
bzzr://589444c858e657735d12b990cfe876a4ff9b7b9a2c69dc3e266ece871238dbcc

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.