Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 11 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x9abc74120e13e7d2b46cfe8d6796da317e65658cat txn 0x889528617f2b35fd9a51278b29a3f1fd1be27b6310bbc836de8c4c327cc50779
 Latest 11 txns

TxHash Age From To Value [TxFee]
0x9c824df294c81141cf78edf01c371a32f1da15fae78228218f8260cf50a5707f474 days 10 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.001183917
0x3633a642c25272cfa451f82c877a275b07e0af1a7d40990c0277a49af6a83816476 days 4 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.00253
0x02516787278ff87e724151cd9d9dc068add90ca93d1d9f1aeb1bf682a8aa9fa6476 days 4 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.00112682
0x5ac68957af83a2071d18f5ffc68f345af192340376a43adba7486983012705a4586 days 6 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.005739016
0xe2c176c15851fe664cac4a77136a10fd4de86c906a5b35509df681aa9b41bbad586 days 7 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.002278739
0x3ac52f25c723b9e8b5e5b377a953b4596fb16595d27c37b006fadcfdd61aecc4586 days 7 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.002247497
0x712baf37e67ecfdf0412f4dee8d0af5eec3c8b60f789716d40749ac5669861ff586 days 7 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.002216255
0xf3856392f94e19eee6043ce72869b31782bb5f54423455de6cca9325b4f0ab62586 days 7 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.002185013
0x871d59b831539e2d35a9a84e06707b9b664ca8859b24861ebce07d3a0044c217586 days 7 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.002768771
0x033b16e1ce82981fb2b731c2d4a0f389df715bb3de9a4515ef8ba8369f4c67e7586 days 7 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN   0x859e7e76caede3b642fc84862809f60c055cb7310 Ether0.001916709
0x889528617f2b35fd9a51278b29a3f1fd1be27b6310bbc836de8c4c327cc50779586 days 7 hrs ago0x9abc74120e13e7d2b46cfe8d6796da317e65658c  IN    Contract Creation0 Ether0.1093576
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Name: StarbaseEarlyPurchaseAmendment
Compiler Text: v0.4.7+commit.822622cf
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.7;
/// @title EarlyPurchase contract - Keep track of purchased amount by Early Purchasers
/// @author Starbase PTE. LTD. - <[email protected]>
contract AbstractStarbaseCrowdsale {
    function startDate() constant returns (uint256 startDate) {}
}

contract StarbaseEarlyPurchase {
    /*
     *  Constants
     */
    string public constant PURCHASE_AMOUNT_UNIT = 'CNY';    // Chinese Yuan
    string public constant PURCHASE_AMOUNT_RATE_REFERENCE = 'http://www.xe.com/currencytables/';
    uint public constant PURCHASE_AMOUNT_CAP = 9000000;

    /*
     *  Types
     */
    struct EarlyPurchase {
        address purchaser;
        uint amount;        // CNY based amount
        uint purchasedAt;   // timestamp
    }

    /*
     *  External contracts
     */
    AbstractStarbaseCrowdsale public starbaseCrowdsale;

    /*
     *  Storage
     */
    address public owner;
    EarlyPurchase[] public earlyPurchases;
    uint public earlyPurchaseClosedAt;

    /*
     *  Modifiers
     */
    modifier noEther() {
        if (msg.value > 0) {
            throw;
        }
        _;
    }

    modifier onlyOwner() {
        if (msg.sender != owner) {
            throw;
        }
        _;
    }

    modifier onlyBeforeCrowdsale() {
        if (address(starbaseCrowdsale) != 0 &&
            starbaseCrowdsale.startDate() > 0)
        {
            throw;
        }
        _;
    }

    modifier onlyEarlyPurchaseTerm() {
        if (earlyPurchaseClosedAt > 0) {
            throw;
        }
        _;
    }

    /*
     *  Contract functions
     */
    /// @dev Returns early purchased amount by purchaser's address
    /// @param purchaser Purchaser address
    function purchasedAmountBy(address purchaser)
        external
        constant
        noEther
        returns (uint amount)
    {
        for (uint i; i < earlyPurchases.length; i++) {
            if (earlyPurchases[i].purchaser == purchaser) {
                amount += earlyPurchases[i].amount;
            }
        }
    }

    /// @dev Returns total amount of raised funds by Early Purchasers
    function totalAmountOfEarlyPurchases()
        constant
        noEther
        returns (uint totalAmount)
    {
        for (uint i; i < earlyPurchases.length; i++) {
            totalAmount += earlyPurchases[i].amount;
        }
    }

    /// @dev Returns number of early purchases
    function numberOfEarlyPurchases()
        external
        constant
        noEther
        returns (uint)
    {
        return earlyPurchases.length;
    }

    /// @dev Append an early purchase log
    /// @param purchaser Purchaser address
    /// @param amount Purchase amount
    /// @param purchasedAt Timestamp of purchased date
    function appendEarlyPurchase(address purchaser, uint amount, uint purchasedAt)
        external
        noEther
        onlyOwner
        onlyBeforeCrowdsale
        onlyEarlyPurchaseTerm
        returns (bool)
    {
        if (amount == 0 ||
            totalAmountOfEarlyPurchases() + amount > PURCHASE_AMOUNT_CAP)
        {
            return false;
        }

        if (purchasedAt == 0 || purchasedAt > now) {
            throw;
        }

        earlyPurchases.push(EarlyPurchase(purchaser, amount, purchasedAt));
        return true;
    }

    /// @dev Close early purchase term
    function closeEarlyPurchase()
        external
        noEther
        onlyOwner
        returns (bool)
    {
        earlyPurchaseClosedAt = now;
    }

    /// @dev Setup function sets external contract's address
    /// @param starbaseCrowdsaleAddress Token address
    function setup(address starbaseCrowdsaleAddress)
        external
        noEther
        onlyOwner
        returns (bool)
    {
        if (address(starbaseCrowdsale) == 0) {
            starbaseCrowdsale = AbstractStarbaseCrowdsale(starbaseCrowdsaleAddress);
            return true;
        }
        return false;
    }

    /// @dev Contract constructor function
    function StarbaseEarlyPurchase() noEther {
        owner = msg.sender;
    }

    /// @dev Fallback function always fails
    function () {
        throw;
    }
}


contract StarbaseEarlyPurchaseAmendment {
    /*
     *  Events
     */
    event EarlyPurchaseInvalidated(uint epIdx);
    event EarlyPurchaseAmended(uint epIdx);

    /*
     *  External contracts
     */
    AbstractStarbaseCrowdsale public starbaseCrowdsale;
    StarbaseEarlyPurchase public starbaseEarlyPurchase;

    /*
     *  Storage
     */
    address public owner;
    uint[] public invalidEarlyPurchaseIndexes;
    uint[] public amendedEarlyPurchaseIndexes;
    mapping (uint => StarbaseEarlyPurchase.EarlyPurchase) public amendedEarlyPurchases;

    /*
     *  Modifiers
     */
    modifier noEther() {
        if (msg.value > 0) {
            throw;
        }
        _;
    }

    modifier onlyOwner() {
        if (msg.sender != owner) {
            throw;
        }
        _;
    }

    modifier onlyBeforeCrowdsale() {
        if (address(starbaseCrowdsale) != 0 &&
            starbaseCrowdsale.startDate() > 0)
        {
            throw;
        }
        _;
    }

    modifier onlyEarlyPurchasesLoaded() {
        if (address(starbaseEarlyPurchase) == 0) {
            throw;
        }
        _;
    }

    /*
     *  Contract functions are compatible with original ones
     */
    /// @dev Returns an early purchase record
    /// @param earlyPurchaseIndex Index number of an early purchase
    function earlyPurchases(uint earlyPurchaseIndex)
        external
        constant
        onlyEarlyPurchasesLoaded
        returns (address purchaser, uint amount, uint purchasedAt)
    {
        return starbaseEarlyPurchase.earlyPurchases(earlyPurchaseIndex);
    }

    /// @dev Returns early purchased amount by purchaser's address
    /// @param purchaser Purchaser address
    function purchasedAmountBy(address purchaser)
        external
        constant
        noEther
        returns (uint amount)
    {
        StarbaseEarlyPurchase.EarlyPurchase[] memory normalizedEP =
            normalizedEarlyPurchases();
        for (uint i; i < normalizedEP.length; i++) {
            if (normalizedEP[i].purchaser == purchaser) {
                amount += normalizedEP[i].amount;
            }
        }
    }

    /// @dev Returns total amount of raised funds by Early Purchasers
    function totalAmountOfEarlyPurchases()
        constant
        noEther
        returns (uint totalAmount)
    {
        StarbaseEarlyPurchase.EarlyPurchase[] memory normalizedEP =
            normalizedEarlyPurchases();
        for (uint i; i < normalizedEP.length; i++) {
            totalAmount += normalizedEP[i].amount;
        }
    }

    /// @dev Returns number of early purchases
    function numberOfEarlyPurchases()
        external
        constant
        noEther
        returns (uint)
    {
        return normalizedEarlyPurchases().length;
    }

    /// @dev Setup function sets external contract's address
    /// @param starbaseCrowdsaleAddress Token address
    function setup(address starbaseCrowdsaleAddress)
        external
        noEther
        onlyOwner
        returns (bool)
    {
        if (address(starbaseCrowdsale) == 0) {
            starbaseCrowdsale = AbstractStarbaseCrowdsale(starbaseCrowdsaleAddress);
            return true;
        }
        return false;
    }

    /*
     *  Contract functions
     */
    function invalidateEarlyPurchase(uint earlyPurchaseIndex)
        external
        noEther
        onlyOwner
        onlyEarlyPurchasesLoaded
        onlyBeforeCrowdsale
        returns (bool)
    {
        if (numberOfRawEarlyPurchases() <= earlyPurchaseIndex) {
            throw;  // Array Index Out of Bounds Exception
        }

        for (uint i; i < invalidEarlyPurchaseIndexes.length; i++) {
            if (invalidEarlyPurchaseIndexes[i] == earlyPurchaseIndex) {
                throw;  // disallow duplicated invalidation
            }
        }

        invalidEarlyPurchaseIndexes.push(earlyPurchaseIndex);
        EarlyPurchaseInvalidated(earlyPurchaseIndex);
        return true;
    }

    function isInvalidEarlyPurchase(uint earlyPurchaseIndex)
        constant
        noEther
        returns (bool)
    {
        if (numberOfRawEarlyPurchases() <= earlyPurchaseIndex) {
            throw;  // Array Index Out of Bounds Exception
        }

        for (uint i; i < invalidEarlyPurchaseIndexes.length; i++) {
            if (invalidEarlyPurchaseIndexes[i] == earlyPurchaseIndex) {
                return true;
            }
        }
        return false;
    }

    function amendEarlyPurchase(uint earlyPurchaseIndex, address purchaser, uint amount, uint purchasedAt)
        external
        noEther
        onlyOwner
        onlyEarlyPurchasesLoaded
        onlyBeforeCrowdsale
        returns (bool)
    {
        if (purchasedAt == 0 || purchasedAt > now) {
            throw;
        }

        if (numberOfRawEarlyPurchases() <= earlyPurchaseIndex) {
            throw;  // Array Index Out of Bounds Exception
        }

        if (isInvalidEarlyPurchase(earlyPurchaseIndex)) {
            throw;  // Invalid early purchase cannot be amended
        }

        if (!isAmendedEarlyPurchase(earlyPurchaseIndex)) {
            amendedEarlyPurchaseIndexes.push(earlyPurchaseIndex);
        }

        amendedEarlyPurchases[earlyPurchaseIndex] =
            StarbaseEarlyPurchase.EarlyPurchase(purchaser, amount, purchasedAt);
        EarlyPurchaseAmended(earlyPurchaseIndex);
        return true;
    }

    function isAmendedEarlyPurchase(uint earlyPurchaseIndex)
        constant
        noEther
        returns (bool)
    {
        if (numberOfRawEarlyPurchases() <= earlyPurchaseIndex) {
            throw;  // Array Index Out of Bounds Exception
        }

        for (uint i; i < amendedEarlyPurchaseIndexes.length; i++) {
            if (amendedEarlyPurchaseIndexes[i] == earlyPurchaseIndex) {
                return true;
            }
        }
        return false;
    }

    function loadStarbaseEarlyPurchases(address starbaseEarlyPurchaseAddress)
        external
        noEther
        onlyOwner
        onlyBeforeCrowdsale
        returns (bool)
    {
        if (starbaseEarlyPurchaseAddress == 0 ||
            address(starbaseEarlyPurchase) != 0)
        {
            throw;
        }

        starbaseEarlyPurchase = StarbaseEarlyPurchase(starbaseEarlyPurchaseAddress);
        if (starbaseEarlyPurchase.earlyPurchaseClosedAt() == 0) {
            throw;   // the early purchase must be closed
        }
        return true;
    }

    /// @dev Contract constructor function
    function StarbaseEarlyPurchaseAmendment() noEther {
        owner = msg.sender;
    }

    /// @dev Fallback function always fails
    function () {
        throw;
    }

    /**
     * Internal functions
     */
    function normalizedEarlyPurchases()
        constant
        internal
        returns (StarbaseEarlyPurchase.EarlyPurchase[] normalizedEP)
    {
        uint rawEPCount = numberOfRawEarlyPurchases();
        normalizedEP = new StarbaseEarlyPurchase.EarlyPurchase[](
            rawEPCount - invalidEarlyPurchaseIndexes.length);

        uint normalizedIdx;
        for (uint i; i < rawEPCount; i++) {
            if (isInvalidEarlyPurchase(i)) {
                continue;   // invalid early purchase should be ignored
            }

            StarbaseEarlyPurchase.EarlyPurchase memory ep;
            if (isAmendedEarlyPurchase(i)) {
                ep = amendedEarlyPurchases[i];  // amended early purchase should take a priority
            } else {
                ep = getEarlyPurchase(i);
            }

            normalizedEP[normalizedIdx] = ep;
            normalizedIdx++;
        }
    }

    function getEarlyPurchase(uint earlyPurchaseIndex)
        internal
        constant
        onlyEarlyPurchasesLoaded
        returns (StarbaseEarlyPurchase.EarlyPurchase)
    {
        var (purchaser, amount, purchasedAt) =
            starbaseEarlyPurchase.earlyPurchases(earlyPurchaseIndex);
        return StarbaseEarlyPurchase.EarlyPurchase(purchaser, amount, purchasedAt);
    }

    function numberOfRawEarlyPurchases()
        internal
        constant
        onlyEarlyPurchasesLoaded
        returns (uint)
    {
        return starbaseEarlyPurchase.numberOfEarlyPurchases();
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"earlyPurchaseIndex","type":"uint256"}],"name":"isAmendedEarlyPurchase","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"earlyPurchaseIndex","type":"uint256"}],"name":"earlyPurchases","outputs":[{"name":"purchaser","type":"address"},{"name":"amount","type":"uint256"},{"name":"purchasedAt","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"starbaseEarlyPurchase","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"numberOfEarlyPurchases","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"amendedEarlyPurchases","outputs":[{"name":"purchaser","type":"address"},{"name":"amount","type":"uint256"},{"name":"purchasedAt","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"invalidEarlyPurchaseIndexes","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"purchaser","type":"address"}],"name":"purchasedAmountBy","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"earlyPurchaseIndex","type":"uint256"}],"name":"isInvalidEarlyPurchase","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"starbaseCrowdsaleAddress","type":"address"}],"name":"setup","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"earlyPurchaseIndex","type":"uint256"}],"name":"invalidateEarlyPurchase","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"earlyPurchaseIndex","type":"uint256"},{"name":"purchaser","type":"address"},{"name":"amount","type":"uint256"},{"name":"purchasedAt","type":"uint256"}],"name":"amendEarlyPurchase","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"starbaseEarlyPurchaseAddress","type":"address"}],"name":"loadStarbaseEarlyPurchases","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"starbaseCrowdsale","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalAmountOfEarlyPurchases","outputs":[{"name":"totalAmount","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"amendedEarlyPurchaseIndexes","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":false,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"epIdx","type":"uint256"}],"name":"EarlyPurchaseInvalidated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"epIdx","type":"uint256"}],"name":"EarlyPurchaseAmended","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405234610000575b600034111561001857610000565b60028054600160a060020a03191633600160a060020a03161790555b5b5b610f13806100456000396000f300606060405236156100ca5763ffffffff60e060020a6000350416631eafe00c81146100dc5780632288fad61461010057806336cfe3eb146101385780633f5174df146101615780633f8af40c14610180578063510e23eb146101b85780635aa3d2b0146101da5780635b9283e71461020557806366d3820314610229578063754e1e8e1461025657806384035e071461027a57806388760a18146102b057806389ede784146102dd5780638da5cb5b14610306578063d7a14a051461032f578063f3c648501461034e575b34610000576100da5b610000565b565b005b34610000576100ec600435610370565b604080519115158252519081900360200190f35b34610000576101106004356103e1565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b346100005761014561047e565b60408051600160a060020a039092168252519081900360200190f35b346100005761016e61048d565b60408051918252519081900360200190f35b34610000576101106004356104ad565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b346100005761016e6004356104d8565b60408051918252519081900360200190f35b346100005761016e600160a060020a03600435166104f9565b60408051918252519081900360200190f35b34610000576100ec60043561058f565b604080519115158252519081900360200190f35b34610000576100ec600160a060020a0360043516610600565b604080519115158252519081900360200190f35b34610000576100ec60043561066b565b604080519115158252519081900360200190f35b34610000576100ec600435600160a060020a0360243516604435606435610817565b604080519115158252519081900360200190f35b34610000576100ec600160a060020a0360043516610a15565b604080519115158252519081900360200190f35b3461000057610145610b87565b60408051600160a060020a039092168252519081900360200190f35b3461000057610145610b96565b60408051600160a060020a039092168252519081900360200190f35b346100005761016e610ba5565b60408051918252519081900360200190f35b346100005761016e600435610c09565b60408051918252519081900360200190f35b60006000600034111561038257610000565b8261038b610c2a565b1161039557610000565b5b6004548110156103d55782600482815481101561000057906000526020600020900160005b505414156103cc57600191506103da565b5b600101610395565b600091505b5b50919050565b60015460009081908190600160a060020a031615156103ff57610000565b6001546040805160006060918201819052825160e160020a6311447d6b028152600481018990529251600160a060020a0390941693632288fad69360248082019493918390030190829087803b156100005760325a03f1156100005750506040805180516020820151919092015191955093509150505b5b9193909250565b600154600160a060020a031681565b6000600034111561049d57610000565b6104a5610cbd565b5190505b5b90565b600560205260009081526040902080546001820154600290920154600160a060020a03909116919083565b600381815481101561000057906000526020600020900160005b5054905081565b600060206040519081016040528060008152506000600034111561051c57610000565b610524610cbd565b91505b81518110156105865783600160a060020a031682828151811015610000576020908102909101015151600160a060020a0316141561057d5781818151811015610000579060200190602002015160200151830192505b5b600101610527565b5b5b5050919050565b6000600060003411156105a157610000565b826105aa610c2a565b116105b457610000565b5b6003548110156103d55782600382815481101561000057906000526020600020900160005b505414156105eb57600191506103da565b5b6001016105b4565b600091505b5b50919050565b6000600034111561061057610000565b60025433600160a060020a0390811691161461062b57610000565b600054600160a060020a03161515610660575060008054600160a060020a031916600160a060020a0383161790556001610664565b5060005b5b5b919050565b60006000600034111561067d57610000565b60025433600160a060020a0390811691161461069857610000565b600154600160a060020a031615156106af57610000565b600054600160a060020a031615801590610723575060008054604080516020908101849052815160e160020a6305cbde430281529151600160a060020a0390931692630b97bc8692600480820193929182900301818787803b156100005760325a03f1156100005750505060405180519050115b1561072d57610000565b82610736610c2a565b1161074057610000565b5b60035481101561077c5782600382815481101561000057906000526020600020900160005b5054141561077357610000565b5b600101610740565b600380548060010182818154818355818115116107be576000838152602090206107be9181019083015b808211156107ba57600081556001016107a6565b5090565b5b505050916000526020600020900160005b50849055506040805184815290517f531e1ee0a2b57b38b227f4a75c6ed415c02db228357793f95c677d9dccf52dcf9181900360200190a1600191505b5b5b5b5b50919050565b6000600034111561082757610000565b60025433600160a060020a0390811691161461084257610000565b600154600160a060020a0316151561085957610000565b600054600160a060020a0316158015906108cd575060008054604080516020908101849052815160e160020a6305cbde430281529151600160a060020a0390931692630b97bc8692600480820193929182900301818787803b156100005760325a03f1156100005750505060405180519050115b156108d757610000565b8115806108e357504282115b156108ed57610000565b846108f6610c2a565b1161090057610000565b6109098561058f565b1561091357610000565b61091c85610370565b151561097c5760048054806001018281815481835581811511610964576000838152602090206109649181019083015b808211156107ba57600081556001016107a6565b5090565b5b505050916000526020600020900160005b50869055505b60408051606081018252600160a060020a038681168252602080830187815283850187815260008b81526005845286902094518554600160a060020a03191694169390931784555160018401559051600290920191909155815187815291517fc8a4e001b89cd2bda0b99c5ef2f5578815539e0b1a2765563aa2262a764823ce9281900390910190a15060015b5b5b5b5b949350505050565b60006000341115610a2557610000565b60025433600160a060020a03908116911614610a4057610000565b600054600160a060020a031615801590610ab4575060008054604080516020908101849052815160e160020a6305cbde430281529151600160a060020a0390931692630b97bc8692600480820193929182900301818787803b156100005760325a03f1156100005750505060405180519050115b15610abe57610000565b600160a060020a0382161580610ade5750600154600160a060020a031615155b15610ae857610000565b60018054600160a060020a031916600160a060020a038481169190911791829055604080516000602091820181905282517f25bae118000000000000000000000000000000000000000000000000000000008152925194909316936325bae118936004808501948390030190829087803b156100005760325a03f1156100005750506040515115159050610b7b57610000565b5060015b5b5b5b919050565b600054600160a060020a031681565b600254600160a060020a031681565b6000602060405190810160405280600081525060006000341115610bc857610000565b610bd0610cbd565b91505b8151811015610c025781818151811015610000579060200190602002015160200151830192505b600101610bd3565b5b5b505090565b600481815481101561000057906000526020600020900160005b5054905081565b600154600090600160a060020a03161515610c4457610000565b600154604080516000602091820181905282517f3f5174df0000000000000000000000000000000000000000000000000000000081529251600160a060020a0390941693633f5174df9360048082019493918390030190829087803b156100005760325a03f115610000575050604051519150505b5b90565b60206040519081016040528060008152506000600060006060604051908101604052806000600160a060020a03168152602001600081526020016000815250610d04610c2a565b600354604051919550850390805910610d1a5750595b908082528060200260200182016040528015610d6257816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181610d355790505b5094505b83821015610e0757610d778261058f565b15610d8157610dfc565b610d8a82610370565b15610dd3575060008181526005602090815260409182902082516060810184528154600160a060020a031681526001820154928101929092526002015491810191909152610ddf565b610ddc82610e0f565b90505b808584815181101561000057602090810290910101526001909201915b600190910190610d66565b5b5050505090565b6040805160608101825260008082526020820181905291810182905260015490919081908190600160a060020a03161515610e4957610000565b6001546040805160006060918201819052825160e160020a6311447d6b028152600481018a90529251600160a060020a0390941693632288fad69360248082019493918390030190829087803b156100005760325a03f115610000575050604080518051602082018051838501805160608601909652600160a060020a03841685529181905290849052919750955093509150505b5b5050509190505600a165627a7a723058209ed0dafa85d0e004672fc9555651615d4818d48dc63205648bb5e575abafcead0029

   Swarm Source:
bzzr://9ed0dafa85d0e004672fc9555651615d4818d48dc63205648bb5e575abafcead

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.