Contract 0x5f03B7561e62eFDAb8B2fB740D83630D4D2710D7

 
Txn Hash Method
Block
From
To
Value
0x2c6b3931d0495b28db58dfb458765c73213886146bd8fd2399757d6b448133c2Apply And Lock S...50206612018-02-03 2:25:131331 days 22 hrs agoBlockbits: Deployer IN  0x5f03b7561e62efdab8b2fb740d83630d4d2710d70 Ether0.0002975510
0x2ad7a5a63923dae4986b7c1df7e41f96a018a24f4984217b3a521fd6ff7929a2Set Initial Appl...50153432018-02-02 4:48:521332 days 20 hrs agoBlockbits: Deployer IN  0x5f03b7561e62efdab8b2fb740d83630d4d2710d70 Ether0.0004421310
0x3ab4b675fe4199cae1d828df0bfa7c48abaa5d1168a1ebe44fcae2a09ccf8ba90x6060604050151472018-02-02 4:01:121332 days 21 hrs agoBlockbits: Deployer IN  Create: ListingContract0 Ether0.0131316310
[ Download CSV Export 
View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ListingContract

Compiler Version
v0.4.17+commit.bdeb9e52

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-02
*/

pragma solidity ^0.4.17;

/*

 * source       https://github.com/blockbitsio/

 * @name        Application Entity Generic Contract
 * @package     BlockBitsIO
 * @author      Micky Socaci <[email protected]>

    Used for the ABI interface when assets need to call Application Entity.

    This is required, otherwise we end up loading the assets themselves when we load the ApplicationEntity contract
    and end up in a loop
*/



contract ApplicationEntityABI {

    address public ProposalsEntity;
    address public FundingEntity;
    address public MilestonesEntity;
    address public MeetingsEntity;
    address public BountyManagerEntity;
    address public TokenManagerEntity;
    address public ListingContractEntity;
    address public FundingManagerEntity;
    address public NewsContractEntity;

    bool public _initialized = false;
    bool public _locked = false;
    uint8 public CurrentEntityState;
    uint8 public AssetCollectionNum;
    address public GatewayInterfaceAddress;
    address public deployerAddress;
    address testAddressAllowUpgradeFrom;
    mapping (bytes32 => uint8) public EntityStates;
    mapping (bytes32 => address) public AssetCollection;
    mapping (uint8 => bytes32) public AssetCollectionIdToName;
    mapping (bytes32 => uint256) public BylawsUint256;
    mapping (bytes32 => bytes32) public BylawsBytes32;

    function ApplicationEntity() public;
    function getEntityState(bytes32 name) public view returns (uint8);
    function linkToGateway( address _GatewayInterfaceAddress, bytes32 _sourceCodeUrl ) external;
    function setUpgradeState(uint8 state) public ;
    function addAssetProposals(address _assetAddresses) external;
    function addAssetFunding(address _assetAddresses) external;
    function addAssetMilestones(address _assetAddresses) external;
    function addAssetMeetings(address _assetAddresses) external;
    function addAssetBountyManager(address _assetAddresses) external;
    function addAssetTokenManager(address _assetAddresses) external;
    function addAssetFundingManager(address _assetAddresses) external;
    function addAssetListingContract(address _assetAddresses) external;
    function addAssetNewsContract(address _assetAddresses) external;
    function getAssetAddressByName(bytes32 _name) public view returns (address);
    function setBylawUint256(bytes32 name, uint256 value) public;
    function getBylawUint256(bytes32 name) public view returns (uint256);
    function setBylawBytes32(bytes32 name, bytes32 value) public;
    function getBylawBytes32(bytes32 name) public view returns (bytes32);
    function initialize() external returns (bool);
    function getParentAddress() external view returns(address);
    function createCodeUpgradeProposal( address _newAddress, bytes32 _sourceCodeUrl ) external returns (uint256);
    function acceptCodeUpgradeProposal(address _newAddress) external;
    function initializeAssetsToThisApplication() external returns (bool);
    function transferAssetsToNewApplication(address _newAddress) external returns (bool);
    function lock() external returns (bool);
    function canInitiateCodeUpgrade(address _sender) public view returns(bool);
    function doStateChanges() public;
    function hasRequiredStateChanges() public view returns (bool);
    function anyAssetHasChanges() public view returns (bool);
    function extendedAnyAssetHasChanges() internal view returns (bool);
    function getRequiredStateChanges() public view returns (uint8, uint8);
    function getTimestamp() view public returns (uint256);

}

/*

 * source       https://github.com/blockbitsio/

 * @name        Application Asset Contract
 * @package     BlockBitsIO
 * @author      Micky Socaci <[email protected]>

 Any contract inheriting this will be usable as an Asset in the Application Entity

*/




contract ApplicationAsset {

    event EventAppAssetOwnerSet(bytes32 indexed _name, address indexed _owner);
    event EventRunBeforeInit(bytes32 indexed _name);
    event EventRunBeforeApplyingSettings(bytes32 indexed _name);


    mapping (bytes32 => uint8) public EntityStates;
    mapping (bytes32 => uint8) public RecordStates;
    uint8 public CurrentEntityState;

    event EventEntityProcessor(bytes32 indexed _assetName, uint8 indexed _current, uint8 indexed _required);
    event DebugEntityRequiredChanges( bytes32 _assetName, uint8 indexed _current, uint8 indexed _required );

    bytes32 public assetName;

    /* Asset records */
    uint8 public RecordNum = 0;

    /* Asset initialised or not */
    bool public _initialized = false;

    /* Asset settings present or not */
    bool public _settingsApplied = false;

    /* Asset owner ( ApplicationEntity address ) */
    address public owner = address(0x0) ;
    address public deployerAddress;

    function ApplicationAsset() public {
        deployerAddress = msg.sender;
    }

    function setInitialApplicationAddress(address _ownerAddress) public onlyDeployer requireNotInitialised {
        owner = _ownerAddress;
    }

    function setInitialOwnerAndName(bytes32 _name) external
        requireNotInitialised
        onlyOwner
        returns (bool)
    {
        // init states
        setAssetStates();
        assetName = _name;
        // set initial state
        CurrentEntityState = getEntityState("NEW");
        runBeforeInitialization();
        _initialized = true;
        EventAppAssetOwnerSet(_name, owner);
        return true;
    }

    function setAssetStates() internal {
        // Asset States
        EntityStates["__IGNORED__"]     = 0;
        EntityStates["NEW"]             = 1;
        // Funding Stage States
        RecordStates["__IGNORED__"]     = 0;
    }

    function getRecordState(bytes32 name) public view returns (uint8) {
        return RecordStates[name];
    }

    function getEntityState(bytes32 name) public view returns (uint8) {
        return EntityStates[name];
    }

    function runBeforeInitialization() internal requireNotInitialised  {
        EventRunBeforeInit(assetName);
    }

    function applyAndLockSettings()
        public
        onlyDeployer
        requireInitialised
        requireSettingsNotApplied
        returns(bool)
    {
        runBeforeApplyingSettings();
        _settingsApplied = true;
        return true;
    }

    function runBeforeApplyingSettings() internal requireInitialised requireSettingsNotApplied  {
        EventRunBeforeApplyingSettings(assetName);
    }

    function transferToNewOwner(address _newOwner) public requireInitialised onlyOwner returns (bool) {
        require(owner != address(0x0) && _newOwner != address(0x0));
        owner = _newOwner;
        EventAppAssetOwnerSet(assetName, owner);
        return true;
    }

    function getApplicationAssetAddressByName(bytes32 _name)
        public
        view
        returns(address)
    {
        address asset = ApplicationEntityABI(owner).getAssetAddressByName(_name);
        if( asset != address(0x0) ) {
            return asset;
        } else {
            revert();
        }
    }

    function getApplicationState() public view returns (uint8) {
        return ApplicationEntityABI(owner).CurrentEntityState();
    }

    function getApplicationEntityState(bytes32 name) public view returns (uint8) {
        return ApplicationEntityABI(owner).getEntityState(name);
    }

    function getAppBylawUint256(bytes32 name) public view requireInitialised returns (uint256) {
        ApplicationEntityABI CurrentApp = ApplicationEntityABI(owner);
        return CurrentApp.getBylawUint256(name);
    }

    function getAppBylawBytes32(bytes32 name) public view requireInitialised returns (bytes32) {
        ApplicationEntityABI CurrentApp = ApplicationEntityABI(owner);
        return CurrentApp.getBylawBytes32(name);
    }

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

    modifier onlyApplicationEntity() {
        require(msg.sender == owner);
        _;
    }

    modifier requireInitialised() {
        require(_initialized == true);
        _;
    }

    modifier requireNotInitialised() {
        require(_initialized == false);
        _;
    }

    modifier requireSettingsApplied() {
        require(_settingsApplied == true);
        _;
    }

    modifier requireSettingsNotApplied() {
        require(_settingsApplied == false);
        _;
    }

    modifier onlyDeployer() {
        require(msg.sender == deployerAddress);
        _;
    }

    modifier onlyAsset(bytes32 _name) {
        address AssetAddress = getApplicationAssetAddressByName(_name);
        require( msg.sender == AssetAddress);
        _;
    }

    function getTimestamp() view public returns (uint256) {
        return now;
    }


}

/*

 * source       https://github.com/blockbitsio/

 * @name        Listing Contract ABI
 * @package     BlockBitsIO
 * @author      Micky Socaci <[email protected]>

 Contains the Listing Contract
 - used by the platform to find child campaigns
 - used by mobile application to retrieve News Items

*/






contract ListingContract is ApplicationAsset {

    address public managerAddress;

    // child items
    struct item {
        bytes32 name;
        address itemAddress;
        bool    status;
        uint256 index;
    }

    mapping ( uint256 => item ) public items;
    uint256 public itemNum = 0;

    event EventNewChildItem(bytes32 _name, address _address, uint256 _index);

    function ListingContract() ApplicationAsset() public {

    }

    // deployer address, sets the address who is allowed to add entries, in order to avoid a code upgrade at first milestone.
    function setManagerAddress(address _manager) public onlyDeployer {
        managerAddress = _manager;
    }

    function addItem(bytes32 _name, address _address) public requireInitialised {
        require(msg.sender == owner || msg.sender == managerAddress); // only application

        item storage child = items[++itemNum];
        child.name = _name;
        child.itemAddress = _address;
        child.status = true;
        child.index = itemNum;

        EventNewChildItem( _name, _address, itemNum);
    }

    /*
    * Get current News Contract address
    *
    * @return       address NewsContractEntity
    */
    function getNewsContractAddress(uint256 _childId) external view returns (address) {
        item memory child = items[_childId];
        if(child.itemAddress != address(0x0)) {
            ApplicationEntityABI ChildApp = ApplicationEntityABI(child.itemAddress);
            return ChildApp.NewsContractEntity();
        } else {
            revert();
        }
    }

    function canBeDelisted(uint256 _childId) public view returns (bool) {

        item memory child = items[_childId];
        if(child.status == true) {
            ApplicationEntityABI ChildApp = ApplicationEntityABI(child.itemAddress);
            if(
                ChildApp.CurrentEntityState() == ChildApp.getEntityState("WAITING") ||
                ChildApp.CurrentEntityState() == ChildApp.getEntityState("NEW"))
            {
                return true;
            }
        }
        return ;
    }

    function getChildStatus( uint256 _childId ) public view returns (bool) {
        item memory child = items[_childId];
        return child.status;
    }

    // update so that this checks the child status, and only delists IF funding has not started yet.
    function delistChild( uint256 _childId ) public onlyAsset("Proposals") requireInitialised {
        require(canBeDelisted(_childId) == true );

        item storage child = items[_childId];
            child.status = false;
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_childId","type":"uint256"}],"name":"getChildStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"name","type":"bytes32"}],"name":"getRecordState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_manager","type":"address"}],"name":"setManagerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"RecordNum","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"RecordStates","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"EntityStates","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getApplicationState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CurrentEntityState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferToNewOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_childId","type":"uint256"}],"name":"getNewsContractAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"bytes32"}],"name":"getApplicationAssetAddressByName","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"bytes32"},{"name":"_address","type":"address"}],"name":"addItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_childId","type":"uint256"}],"name":"delistChild","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"applyAndLockSettings","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"bytes32"}],"name":"setInitialOwnerAndName","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_ownerAddress","type":"address"}],"name":"setInitialApplicationAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"items","outputs":[{"name":"name","type":"bytes32"},{"name":"itemAddress","type":"address"},{"name":"status","type":"bool"},{"name":"index","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"assetName","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"managerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_settingsApplied","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"name","type":"bytes32"}],"name":"getAppBylawBytes32","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"name","type":"bytes32"}],"name":"getEntityState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"itemNum","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"name","type":"bytes32"}],"name":"getAppBylawUint256","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_childId","type":"uint256"}],"name":"canBeDelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"deployerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"name","type":"bytes32"}],"name":"getApplicationEntityState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"bytes32"},{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_index","type":"uint256"}],"name":"EventNewChildItem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_name","type":"bytes32"},{"indexed":true,"name":"_owner","type":"address"}],"name":"EventAppAssetOwnerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_name","type":"bytes32"}],"name":"EventRunBeforeInit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_name","type":"bytes32"}],"name":"EventRunBeforeApplyingSettings","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_assetName","type":"bytes32"},{"indexed":true,"name":"_current","type":"uint8"},{"indexed":true,"name":"_required","type":"uint8"}],"name":"EventEntityProcessor","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_assetName","type":"bytes32"},{"indexed":true,"name":"_current","type":"uint8"},{"indexed":true,"name":"_required","type":"uint8"}],"name":"DebugEntityRequiredChanges","type":"event"}]

606060405260048054600160b860020a03191690556000600855341561002457600080fd5b60058054600160a060020a03191633600160a060020a031617905561122b8061004e6000396000f300606060405236156101645763ffffffff60e060020a60003504166309958e4c8114610169578063188ec356146101935780631af86866146101b85780633072cf60146101e457806341431908146101f75780634a1a650d1461021857806362e2f9941461022b5780636d0a11c31461024157806370c0f689146102575780637278d6231461026a5780637372e9be1461027d57806376435a5f1461029c5780637c5c7845146102ce57806388927166146102e45780638da5cb5b1461030657806392e75d5114610319578063af6538611461032f578063b84e183a14610342578063bc9121cf14610358578063bfb231d214610377578063c9230c5d146103c3578063cf73a1bc146103d6578063ddb9769c146103e9578063df077c74146103fc578063e490c51314610412578063eaf2a5ef14610428578063ed031ae31461043b578063ed27aaa514610451578063efdee94f14610467578063f01b1dc11461047a575b600080fd5b341561017457600080fd5b61017f600435610490565b604051901515815260200160405180910390f35b341561019e57600080fd5b6101a66104f8565b60405190815260200160405180910390f35b34156101c357600080fd5b6101ce6004356104fc565b60405160ff909116815260200160405180910390f35b34156101ef57600080fd5b61017f610511565b341561020257600080fd5b610216600160a060020a036004351661051f565b005b341561022357600080fd5b6101ce610569565b341561023657600080fd5b6101ce600435610572565b341561024c57600080fd5b6101ce600435610587565b341561026257600080fd5b6101ce61059c565b341561027557600080fd5b6101ce61060c565b341561028857600080fd5b61017f600160a060020a0360043516610615565b34156102a757600080fd5b6102b26004356106fb565b604051600160a060020a03909116815260200160405180910390f35b34156102d957600080fd5b6102b26004356107df565b34156102ef57600080fd5b610216600435600160a060020a036024351661086e565b341561031157600080fd5b6102b2610991565b341561032457600080fd5b6102166004356109a7565b341561033a57600080fd5b61017f610a5a565b341561034d57600080fd5b61017f600435610ac7565b341561036357600080fd5b610216600160a060020a0360043516610baa565b341561038257600080fd5b61038d600435610c13565b604051938452600160a060020a039092166020840152151560408084019190915260608301919091526080909101905180910390f35b34156103ce57600080fd5b6101a6610c4a565b34156103e157600080fd5b6102b2610c50565b34156103f457600080fd5b61017f610c5f565b341561040757600080fd5b6101a6600435610c6e565b341561041d57600080fd5b6101ce600435610d08565b341561043357600080fd5b6101a6610d1d565b341561044657600080fd5b6101a6600435610d23565b341561045c57600080fd5b61017f600435610d9c565b341561047257600080fd5b6102b2610ffe565b341561048557600080fd5b6101ce60043561100d565b600061049a6111d8565b6000838152600760205260409081902090608090519081016040908152825482526001830154600160a060020a038116602084015260a060020a900460ff161515908201908152600290920154606082015291505191505b50919050565b4290565b60009081526001602052604090205460ff1690565b600454610100900460ff1681565b60055433600160a060020a0390811691161461053a57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045460ff1681565b60016020526000908152604090205460ff1681565b60006020819052908152604090205460ff1681565b60045460009063010000009004600160a060020a0316637278d62382604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156105ed57600080fd5b6102c65a03f115156105fe57600080fd5b505050604051805191505090565b60025460ff1681565b60045460009060ff61010090910416151560011461063257600080fd5b60045433600160a060020a039081166301000000909204161461065457600080fd5b60045463010000009004600160a060020a03161580159061067d5750600160a060020a03821615155b151561068857600080fd5b6004805476ffffffffffffffffffffffffffffffffffffffff00000019166301000000600160a060020a0385811682029290921792839055600354920416907f6f7b0a882e7ac0b47fcdb9814cfdaef1622128fa5d29e3318c730c3a5301e8c460405160405180910390a3506001919050565b60006107056111d8565b60008381526007602052604080822090608090519081016040908152825482526001830154600160a060020a0381166020840190815260a060020a90910460ff161515918301919091526002909201546060820152925060009051600160a060020a031614610164578160200151905080600160a060020a031663e8be2e8e6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156107bb57600080fd5b6102c65a03f115156107cc57600080fd5b50505060405180519350505b5050919050565b600454600090819063010000009004600160a060020a031663689216c784836040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561083b57600080fd5b6102c65a03f1151561084c57600080fd5b5050506040518051915050600160a060020a03811615610164578091506104f2565b60045460009060ff61010090910416151560011461088b57600080fd5b60045433600160a060020a0390811663010000009092041614806108bd575060065433600160a060020a039081169116145b15156108c857600080fd5b5060088054600190810180835560009081526007602052604090819020858155918201805460a060020a73ffffffffffffffffffffffffffffffffffffffff19909116600160a060020a0387161774ff0000000000000000000000000000000000000000191617905591546002820181905590917f53f4d24b92ac558fb058a8131a5aa32279088a39e953ad9905f621f4cd3d8cb991859185919051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a1505050565b60045463010000009004600160a060020a031681565b60007f50726f706f73616c73000000000000000000000000000000000000000000000060006109d5826107df565b905080600160a060020a031633600160a060020a03161415156109f757600080fd5b60045460ff610100909104161515600114610a1157600080fd5b610a1a84610d9c565b1515600114610a2857600080fd5b5050506000908152600760205260409020600101805474ff000000000000000000000000000000000000000019169055565b60055460009033600160a060020a03908116911614610a7857600080fd5b60045460ff610100909104161515600114610a9257600080fd5b60045462010000900460ff1615610aa857600080fd5b610ab0611087565b506004805462ff0000191662010000179055600190565b600454600090610100900460ff1615610adf57600080fd5b60045433600160a060020a0390811663010000009092041614610b0157600080fd5b610b096110e8565b6003829055610b377f4e45570000000000000000000000000000000000000000000000000000000000610d08565b6002805460ff191660ff92909216919091179055610b53611192565b6004805461ff0019166101001790819055600160a060020a03630100000090910416827f6f7b0a882e7ac0b47fcdb9814cfdaef1622128fa5d29e3318c730c3a5301e8c460405160405180910390a3506001919050565b60055433600160a060020a03908116911614610bc557600080fd5b600454610100900460ff1615610bda57600080fd5b60048054600160a060020a0390921663010000000276ffffffffffffffffffffffffffffffffffffffff00000019909216919091179055565b6007602052600090815260409020805460018201546002909201549091600160a060020a0381169160a060020a90910460ff169084565b60035481565b600654600160a060020a031681565b60045462010000900460ff1681565b600454600090819060ff610100909104161515600114610c8d57600080fd5b5060045463010000009004600160a060020a03168063ee44da7e8460006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610ce757600080fd5b6102c65a03f11515610cf857600080fd5b5050506040518051949350505050565b60009081526020819052604090205460ff1690565b60085481565b600454600090819060ff610100909104161515600114610d4257600080fd5b5060045463010000009004600160a060020a03168063b44ce8938460006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610ce757600080fd5b6000610da66111d8565b60008381526007602052604080822090608090519081016040908152825482526001830154600160a060020a038116602084015260a060020a900460ff16151590820190815260029092015460608201529250511515600114156107d8578160200151905080600160a060020a031663e490c51360006040516020015260405160e060020a63ffffffff83160281527f57414954494e47000000000000000000000000000000000000000000000000006004820152602401602060405180830381600087803b1515610e7757600080fd5b6102c65a03f11515610e8857600080fd5b5050506040518051905060ff1681600160a060020a0316637278d6236000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610edb57600080fd5b6102c65a03f11515610eec57600080fd5b5050506040518051905060ff161480610ff0575080600160a060020a031663e490c51360006040516020015260405160e060020a63ffffffff83160281527f4e455700000000000000000000000000000000000000000000000000000000006004820152602401602060405180830381600087803b1515610f6c57600080fd5b6102c65a03f11515610f7d57600080fd5b5050506040518051905060ff1681600160a060020a0316637278d6236000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fd057600080fd5b6102c65a03f11515610fe157600080fd5b5050506040518051905060ff16145b156107d857600192506107d8565b600554600160a060020a031681565b60045460009063010000009004600160a060020a031663e490c51383836040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561106757600080fd5b6102c65a03f1151561107857600080fd5b50505060405180519392505050565b60045460ff6101009091041615156001146110a157600080fd5b60045462010000900460ff16156110b757600080fd5b6003547fce50d83c2c178553c51fe8a83d1af61967b308e4ae48086d6526816b465e2f4960405160405180910390a2565b7f82aa092d4c801429a1fff0e42bdcbb41efc63176230d4f4542b13200afb562e8805460ff199081169091557f26c6da47b1522bc44b5826073c13ff8f683a2d7bcb3e45f089817656015efae98054821660019081179091557f5f5f49474e4f5245445f5f0000000000000000000000000000000000000000006000526020527fe4f12cd7531d4b60d6f694b938f9d161e42f7945d6c7e248621b398180482b7280549091169055565b600454610100900460ff16156111a757600080fd5b6003547f6bec69c1d4de72551859e2a42d5f8b4bbb7e6cde7f27a338ad426e098257dfba60405160405180910390a2565b608060405190810160409081526000808352602083018190529082018190526060820152905600a165627a7a72305820de8a282976ac8d73d6a84cf2ee9fcf3ae1000b5fd39091fd7df86bdf73e449670029

Swarm Source

bzzr://de8a282976ac8d73d6a84cf2ee9fcf3ae1000b5fd39091fd7df86bdf73e44967
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.