Sponsored Link:   Etheal: CES Las Vegas 2nd place winner Bonus decreasing - in 3 hours
 Latest 25 txns from a total Of 22604 transactions (+3 PendingTxns)

TxHash Age From To Value [TxFee]
0x0f48da221a74870418c45a2c83c2430ea8a91bac82d14d41ef9723693aa9e50f(pending)0xe639c7f3038b481cfb4e8ccadb244e25e7bdfcc5  IN  0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether(pending)
0x18609540ec41ee77cef0d2a01ce617933c526aa37840f1c51e5f091f9eef1d4f(pending)0x2dcf41c8f36ee4eef511cca219b8360504f6f9a7  IN  0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether(pending)
0xc8ac79aa305fbb40e30fabcadfc7c901c1fb92702e230e4a01b9077b8d754e73(pending)0x229748c17556e8ebbb47ef3584673ca484eae909  IN  0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether(pending)
0x43d88ce4df130ce9d23f0e12d57f29c0a5191e969373fbc91b7219f0ea37b065 31 secs ago0x69aae7a2969d5ef1a6521ed2f2cc68b9d16360b3  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.0000322256
0xf4c00a06f8ed1e6b43d1d97173503829b2dd78b0e04767e23e76010b621fa77c2 mins ago0x39a4b72ca79469a210836cbea6c8630e8a76a9d4  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300.035 Ether0.000146082
0xd3700a2a7dd31fc5fbff17c362c4e920a530e37a075bb5bbd5deefb70d3ba4947 mins ago0x39a4b72ca79469a210836cbea6c8630e8a76a9d4  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300.09 Ether0.000136882
0x0e072adff3a1709b4f9cadb4944cc84cc53a6f67fa35d2aba40008654d4530f59 mins ago0x39a4b72ca79469a210836cbea6c8630e8a76a9d4  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300.075 Ether0.000165515
0x22a37b3cce5d83b7053af0ae5e034e69939381e95fee85046d8d7bf9a0ef2a1611 mins ago0x39a4b72ca79469a210836cbea6c8630e8a76a9d4  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300.099 Ether0.000205666
0x0f5cef51adc63e47a0d617269adee307a86f97e4e72761d91165e02397616db013 mins ago0xa7d6655c178ab755b2cc5cb5b05bdef262d9833e  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.000108053
0x5582c81632cc31718188c165c9c402216dacbd18bc8ada8d3daec7b516b8739e17 mins ago0x20ca0d6fe51d06946f5cc90f9f4f297d398dd6db  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.000163995
0x473dc31b6c2de84cec74c35ed19e9fcfb97c7640dd1fa043043568ff932070f822 mins ago0x219d56f04eb1d15422d0ef307946b90cb479faee  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.00011098558
0x1399acb424355652962a8d9bd9a938ebcf74bfec508498866f465539227e45bf26 mins ago0xcd7123e83b321916fce9a70830818604671f1a32  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.000095275
0x3cf47b277d9853eef9534ccf7171aa935419a90cc6d3df106e57853d6d261bf31 hr 29 mins ago0x798fa50a44155df9bf72b36ba22f5c2ace19fdfe  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.0001188583
0x89c8f668d5f04e1bc92b54780bc6a6c934cd2c5d858c362582df2f22ad8a9ce31 hr 34 mins ago0x798fa50a44155df9bf72b36ba22f5c2ace19fdfe  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300.05 Ether0.00033093
0x1b4cb57d99e93bc72c92e479dfc43a9d2917328ea3980618df8df035c84c6bd91 hr 41 mins ago0x8e5d30f161ba3ebb09dc3c1f06515656af34baa1  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.00012709639
0x43ce9574653a9a0fb9a4b4eb45f48848274f8a1a7f36e631a9613e8745f4bb2c1 hr 48 mins ago0x69aae7a2969d5ef1a6521ed2f2cc68b9d16360b3  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.0001404491
0x8601f9e0ba36c656c7ba45b5c3de309018882c956b9831b088e2c842b48616d61 hr 53 mins ago0x8e5d30f161ba3ebb09dc3c1f06515656af34baa1  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.00009898505
0x5f109f80d6864cdb8b0217da6b20aea78941c84d1fe90fd02cca2cccfaca40ff1 hr 53 mins ago0x69aae7a2969d5ef1a6521ed2f2cc68b9d16360b3  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.0000322608
0xc80785268e9e662dca9944ed072ff3ecb42bce3afa8f1479b7deb9164a49df7e2 hrs 4 mins ago0xc345a41f85e1871ae8e92d61c7105899b194b223  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.000113325
0x1ca2ea45f97ddbe2a22b36581900c6b9db653fea31fcb5f93897c2ec4d96c2d92 hrs 15 mins ago0x7c6640cca331ea4e114140beff9fa96776728fda  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.0000263727
0x9082b23372e1fa550badeaa93f3c1d931aee1de67ddf118dcb4915838abb45e62 hrs 17 mins ago0x924df537c2e6ef6ea5401d676ba9956441dcc13b  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.0000263952
0x8b86c7ed0cf0b0ff8ecd7da4d4004480fc9f829611c8ed2c09c4ef90b52b338b2 hrs 17 mins ago0x924df537c2e6ef6ea5401d676ba9956441dcc13b  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.0000286227
0x5030d540e8d30af3ab73e70737955e90e28ec1b289a65d38e1cbbaf16985d69b2 hrs 38 mins ago0x02f7d4a989dc50aae5ee89f3e435199bdf4695d6  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.00012423303
0xf922ecff22a5df3c50d100baf31e388953247d275c31b064fcb73f1cf32ec5142 hrs 41 mins ago0x02f7d4a989dc50aae5ee89f3e435199bdf4695d6  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300.99 Ether0.00016771151
0x64807ce4da94cfe7e1d76b1897654164d9e05ec16649e255e332241e39bd41b53 hrs 53 mins ago0x915a92877b3fac787d8ea785af571cf7db4e7dfe  IN   0x4ba72f0f8dad13709ee28a992869e79d0fe470300 Ether0.000178945
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0xf4c00a06f8ed1e6b43d1d97173503829b2dd78b0e04767e23e76010b621fa77c58489862 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300xe874335efdc088f9223a9beaa2dc34587b4a4a450.03465 Ether
0xd3700a2a7dd31fc5fbff17c362c4e920a530e37a075bb5bbd5deefb70d3ba49458489607 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300xc3652e4afeaffd50602386878aa5d176a40b64570.0891 Ether
0x0e072adff3a1709b4f9cadb4944cc84cc53a6f67fa35d2aba40008654d4530f558489549 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x51c18217fd5cd24bff32f272eff9f2cac6a0dd320.07425 Ether
0x22a37b3cce5d83b7053af0ae5e034e69939381e95fee85046d8d7bf9a0ef2a16584894811 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x41690aad51712800a604bae93914e0cce51911fc0.09801 Ether
0x89c8f668d5f04e1bc92b54780bc6a6c934cd2c5d858c362582df2f22ad8a9ce358485871 hr 34 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x4786cff09a1a5e11a098ff60e1dddf2fb122b1650.0495 Ether
0xf922ecff22a5df3c50d100baf31e388953247d275c31b064fcb73f1cf32ec51458483182 hrs 41 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x573d436afedb64da5af22dfffe72ebddc3df44220.9801 Ether
0xba4c1be44d75e41948c24c64a6a8deae473059441621b5499a397fe338380caf58478914 hrs 27 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x165b440662b38c8c2d2af9fca313d3af3f4798510.02673 Ether
0x5f7498ecc3472b2fd2bb261d3f386bfcd3aa1399493a204557be13273f2cc54758472017 hrs 8 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x95567c6502625ae5a8f4027aff27221a39c5feab0.00495 Ether
0x05ae1f7629807a20c1f9b6ed8188198051a92aa48167c083bbba77cfdc87df9c58471157 hrs 33 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x82f45b68d11762499d2542c30a7ad3a05074a9ad0.003465 Ether
0xb23b96a55ebd8f361e168b0da586db5cff9ec328abb98d79fedefe47842cc22a584616611 hrs 27 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300xd4908d5ea93ca0eb383f1c409cdbeed788b23dd90.001881 Ether
0xa6e2895dc806d8bb92121404182bd4fb338923a85b6a182ee331d81131cff4b5584598712 hrs 13 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x467a11fdb01e14a3d0a4073941436422a93384f50.0891 Ether
0x12a523cec541a7389815898c64e02bc1c7020a6913ad5a5372a3f1a5e0f814cf584595812 hrs 21 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300xa694b9151ddaa05efb50a635b585256aa382a0cf0.05742 Ether
0x1d5663206e951dda974f6eb6e958ac58674bf2b4828a0b2914ffcb350a62786e584594412 hrs 23 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x9ef11095a73a923d7c51ea019f4ca351df9ef0a40.0495 Ether
0x6b9c17382a6f4891a3f2e5527cf2d53f9918ac6debfa58038f2a64e79070b8b9584594212 hrs 24 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x9ef11095a73a923d7c51ea019f4ca351df9ef0a40.099 Ether
0xe8f2986b581cf6f34522745ce022becb2f18a97deefe758db5df696ed419656c584593912 hrs 24 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x9ef11095a73a923d7c51ea019f4ca351df9ef0a40.099 Ether
0xf24dd7da7ff56ff03f9eafe6830b6a0669b1f0eb687cf14d2865d3aab7c41e70584548614 hrs 18 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x3806a6de812f1710bcedb451aab274bd7133b3560.00792 Ether
0xa696897fdff50a76dc04e439595f04c2ac7c543b992f986b782e4d6d3cacc5c6584494616 hrs 35 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x51c18217fd5cd24bff32f272eff9f2cac6a0dd320.07326 Ether
0xb8aa1381217c95874aa7742cad1903e90ff4e36742dc261795ae81d1135c9bad584414119 hrs 48 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300xbf29f265c98cec7665a1b869b157ce869839b1ba0.1485 Ether
0x4d78b64f3f7edc0222dc0d65d6dc80da3bf6d8c68e918f1a53d5773d43c0e67a584408220 hrs 3 mins ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300xe7965443d2c1b65530deb22b519de326b92a718d0.0792 Ether
0x52d7130bdeaa07216e0a133957022f07bb60f2be27533f4d814041ef9be299b458423001 day 3 hrs ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x2c502311dd88ecb3710a43a165624509342fb9a90.00396 Ether
0x1247dcbb907d331d5b5d0533f21d9b1e749eff3f9cffb943f35cea8812e7b78b58414051 day 6 hrs ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x4786cff09a1a5e11a098ff60e1dddf2fb122b1650.0495 Ether
0x2379fcbe9302816182599e63c99aee432dc4149dfc7f641dbc55037a40a0aed758413461 day 6 hrs ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x3b3aebb6e6b193c3c520328d0ac6e29ccffd3a480.08316 Ether
0x5ad4f377ebba8749d4785eec28006a79e9b271b6fcadef547eeb350f02f062f558413451 day 6 hrs ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x02f7d4a989dc50aae5ee89f3e435199bdf4695d60.1386 Ether
0x14076f45aae86ff1bf1a50c8127faaf64a60b7f866be04f212cc1c923a0efdb458413331 day 7 hrs ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300xf8856124ea157d6f26472e38224ee6744ad13af30.1188 Ether
0x0b96a1bc39f5636f26b8d8794f38c88ed435f472cc1ecc93ad6bfe2e33009c9058413331 day 7 hrs ago0x4ba72f0f8dad13709ee28a992869e79d0fe470300x9a81d4da7d0147f0163e4ecf95f67678c40a26a50.07029 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: EtheremonTrade
Compiler Version: v0.4.19+commit.c4cbbb05
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.16;

// copyright contact@Etheremon.com

contract SafeMath {

    /* function assert(bool assertion) internal { */
    /*   if (!assertion) { */
    /*     throw; */
    /*   } */
    /* }      // assert no longer needed once solidity is on 0.4.10 */

    function safeAdd(uint256 x, uint256 y) pure internal returns(uint256) {
      uint256 z = x + y;
      assert((z >= x) && (z >= y));
      return z;
    }

    function safeSubtract(uint256 x, uint256 y) pure internal returns(uint256) {
      assert(x >= y);
      uint256 z = x - y;
      return z;
    }

    function safeMult(uint256 x, uint256 y) pure internal returns(uint256) {
      uint256 z = x * y;
      assert((x == 0)||(z/x == y));
      return z;
    }

}

contract BasicAccessControl {
    address public owner;
    // address[] public moderators;
    uint16 public totalModerators = 0;
    mapping (address => bool) public moderators;
    bool public isMaintaining = true;

    function BasicAccessControl() public {
        owner = msg.sender;
    }

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

    modifier onlyModerators() {
        require(msg.sender == owner || moderators[msg.sender] == true);
        _;
    }

    modifier isActive {
        require(!isMaintaining);
        _;
    }

    function ChangeOwner(address _newOwner) onlyOwner public {
        if (_newOwner != address(0)) {
            owner = _newOwner;
        }
    }


    function AddModerator(address _newModerator) onlyOwner public {
        if (moderators[_newModerator] == false) {
            moderators[_newModerator] = true;
            totalModerators += 1;
        }
    }
    
    function RemoveModerator(address _oldModerator) onlyOwner public {
        if (moderators[_oldModerator] == true) {
            moderators[_oldModerator] = false;
            totalModerators -= 1;
        }
    }

    function UpdateMaintaining(bool _isMaintaining) onlyOwner public {
        isMaintaining = _isMaintaining;
    }
}

contract EtheremonEnum {

    enum ResultCode {
        SUCCESS,
        ERROR_CLASS_NOT_FOUND,
        ERROR_LOW_BALANCE,
        ERROR_SEND_FAIL,
        ERROR_NOT_TRAINER,
        ERROR_NOT_ENOUGH_MONEY,
        ERROR_INVALID_AMOUNT,
        ERROR_OBJ_NOT_FOUND,
        ERROR_OBJ_INVALID_OWNERSHIP
    }
    
    enum ArrayType {
        CLASS_TYPE,
        STAT_STEP,
        STAT_START,
        STAT_BASE,
        OBJ_SKILL
    }
}

contract EtheremonDataBase is EtheremonEnum, BasicAccessControl, SafeMath {
    
    uint64 public totalMonster;
    uint32 public totalClass;
    
    // write
    function addElementToArrayType(ArrayType _type, uint64 _id, uint8 _value) onlyModerators public returns(uint);
    function removeElementOfArrayType(ArrayType _type, uint64 _id, uint8 _value) onlyModerators public returns(uint);
    function setMonsterClass(uint32 _classId, uint256 _price, uint256 _returnPrice, bool _catchable) onlyModerators public returns(uint32);
    function addMonsterObj(uint32 _classId, address _trainer, string _name) onlyModerators public returns(uint64);
    function setMonsterObj(uint64 _objId, string _name, uint32 _exp, uint32 _createIndex, uint32 _lastClaimIndex) onlyModerators public;
    function increaseMonsterExp(uint64 _objId, uint32 amount) onlyModerators public;
    function decreaseMonsterExp(uint64 _objId, uint32 amount) onlyModerators public;
    function removeMonsterIdMapping(address _trainer, uint64 _monsterId) onlyModerators public;
    function addMonsterIdMapping(address _trainer, uint64 _monsterId) onlyModerators public;
    function clearMonsterReturnBalance(uint64 _monsterId) onlyModerators public returns(uint256 amount);
    function collectAllReturnBalance(address _trainer) onlyModerators public returns(uint256 amount);
    function transferMonster(address _from, address _to, uint64 _monsterId) onlyModerators public returns(ResultCode);
    function addExtraBalance(address _trainer, uint256 _amount) onlyModerators public returns(uint256);
    function deductExtraBalance(address _trainer, uint256 _amount) onlyModerators public returns(uint256);
    function setExtraBalance(address _trainer, uint256 _amount) onlyModerators public;
    
    // read
    function getSizeArrayType(ArrayType _type, uint64 _id) constant public returns(uint);
    function getElementInArrayType(ArrayType _type, uint64 _id, uint _index) constant public returns(uint8);
    function getMonsterClass(uint32 _classId) constant public returns(uint32 classId, uint256 price, uint256 returnPrice, uint32 total, bool catchable);
    function getMonsterObj(uint64 _objId) constant public returns(uint64 objId, uint32 classId, address trainer, uint32 exp, uint32 createIndex, uint32 lastClaimIndex, uint createTime);
    function getMonsterName(uint64 _objId) constant public returns(string name);
    function getExtraBalance(address _trainer) constant public returns(uint256);
    function getMonsterDexSize(address _trainer) constant public returns(uint);
    function getMonsterObjId(address _trainer, uint index) constant public returns(uint64);
    function getExpectedBalance(address _trainer) constant public returns(uint256);
    function getMonsterReturn(uint64 _objId) constant public returns(uint256 current, uint256 total);
}

interface EtheremonBattleInterface {
    function isOnBattle(uint64 _objId) constant external returns(bool) ;
    function getMonsterCP(uint64 _objId) constant external returns(uint64);
}

contract EtheremonTrade is EtheremonEnum, BasicAccessControl, SafeMath {
    
    uint8 constant public GEN0_NO = 24;

    struct MonsterClassAcc {
        uint32 classId;
        uint256 price;
        uint256 returnPrice;
        uint32 total;
        bool catchable;
    }

    struct MonsterObjAcc {
        uint64 monsterId;
        uint32 classId;
        address trainer;
        string name;
        uint32 exp;
        uint32 createIndex;
        uint32 lastClaimIndex;
        uint createTime;
    }
    
    // Gen0 has return price & no longer can be caught when this contract is deployed
    struct Gen0Config {
        uint32 classId;
        uint256 originalPrice;
        uint256 returnPrice;
        uint32 total; // total caught (not count those from eggs)
    }
    
    struct BorrowItem {
        uint index;
        address owner;
        address borrower;
        uint256 price;
        bool lent;
        uint releaseTime;
    }
    
    struct SellingItem {
        uint index;
        uint256 price;
    }
    
    struct SoldItem {
        uint64 objId;
        uint256 price;
        uint time;
    }
    
    // data contract
    address public dataContract;
    address public battleContract;
    mapping(uint32 => Gen0Config) public gen0Config;
    
    // for selling
    mapping(uint64 => SellingItem) public sellingDict;
    uint32 public totalSellingItem;
    uint64[] public sellingList;
    
    // for borrowing
    mapping(uint64 => BorrowItem) public borrowingDict;
    uint32 public totalBorrowingItem;
    uint64[] public borrowingList;
    
    mapping(address => uint64[]) public lendingList;
    mapping(address => SoldItem[]) public soldList;
    
    // trading fee
    uint16 public tradingFeePercentage = 1;
    uint8 public maxLendingItem = 10;
    
    modifier requireDataContract {
        require(dataContract != address(0));
        _;
    }
    
    modifier requireBattleContract {
        require(battleContract != address(0));
        _;
    }
    
    // event
    event EventPlaceSellOrder(address indexed seller, uint64 objId);
    event EventBuyItem(address indexed buyer, uint64 objId);
    event EventOfferBorrowingItem(address indexed lender, uint64 objId);
    event EventAcceptBorrowItem(address indexed borrower, uint64 objId);
    event EventGetBackItem(address indexed owner, uint64 objId);
    event EventFreeTransferItem(address indexed sender, address indexed receiver, uint64 objId);
    event EventRelease(address indexed trainer, uint64 objId);
    
    // constructor
    function EtheremonTrade(address _dataContract, address _battleContract) public {
        dataContract = _dataContract;
        battleContract = _battleContract;
    }
    
     // admin & moderators
    function setOriginalPriceGen0() onlyModerators public {
        gen0Config[1] = Gen0Config(1, 0.3 ether, 0.003 ether, 374);
        gen0Config[2] = Gen0Config(2, 0.3 ether, 0.003 ether, 408);
        gen0Config[3] = Gen0Config(3, 0.3 ether, 0.003 ether, 373);
        gen0Config[4] = Gen0Config(4, 0.2 ether, 0.002 ether, 437);
        gen0Config[5] = Gen0Config(5, 0.1 ether, 0.001 ether, 497);
        gen0Config[6] = Gen0Config(6, 0.3 ether, 0.003 ether, 380); 
        gen0Config[7] = Gen0Config(7, 0.2 ether, 0.002 ether, 345);
        gen0Config[8] = Gen0Config(8, 0.1 ether, 0.001 ether, 518); 
        gen0Config[9] = Gen0Config(9, 0.1 ether, 0.001 ether, 447);
        gen0Config[10] = Gen0Config(10, 0.2 ether, 0.002 ether, 380); 
        gen0Config[11] = Gen0Config(11, 0.2 ether, 0.002 ether, 354);
        gen0Config[12] = Gen0Config(12, 0.2 ether, 0.002 ether, 346);
        gen0Config[13] = Gen0Config(13, 0.2 ether, 0.002 ether, 351); 
        gen0Config[14] = Gen0Config(14, 0.2 ether, 0.002 ether, 338);
        gen0Config[15] = Gen0Config(15, 0.2 ether, 0.002 ether, 341);
        gen0Config[16] = Gen0Config(16, 0.35 ether, 0.0035 ether, 384);
        gen0Config[17] = Gen0Config(17, 1 ether, 0.01 ether, 305); 
        gen0Config[18] = Gen0Config(18, 0.1 ether, 0.001 ether, 427);
        gen0Config[19] = Gen0Config(19, 1 ether, 0.01 ether, 304);
        gen0Config[20] = Gen0Config(20, 0.4 ether, 0.05 ether, 82);
        gen0Config[21] = Gen0Config(21, 1, 1, 123);
        gen0Config[22] = Gen0Config(22, 0.2 ether, 0.001 ether, 468);
        gen0Config[23] = Gen0Config(23, 0.5 ether, 0.0025 ether, 302);
        gen0Config[24] = Gen0Config(24, 1 ether, 0.005 ether, 195);
    }
    
    function setContract(address _dataContract, address _battleContract) onlyModerators public {
        dataContract = _dataContract;
        battleContract = _battleContract;
    }
    
    function updateConfig(uint16 _fee, uint8 _maxLendingItem) onlyModerators public {
        tradingFeePercentage = _fee;
        maxLendingItem = _maxLendingItem;
    }
    
    function withdrawEther(address _sendTo, uint _amount) onlyModerators public {
        // no user money is kept in this contract, only trasaction fee
        if (_amount > this.balance) {
            revert();
        }
        _sendTo.transfer(_amount);
    }
    
    
    // helper
    function removeSellingItem(uint64 _itemId) private {
        SellingItem storage item = sellingDict[_itemId];
        if (item.index == 0)
            return;
        
        if (item.index <= sellingList.length) {
            // Move an existing element into the vacated key slot.
            sellingDict[sellingList[sellingList.length-1]].index = item.index;
            sellingList[item.index-1] = sellingList[sellingList.length-1];
            sellingList.length -= 1;
            delete sellingDict[_itemId];
        }
    }
    
    function addSellingItem(uint64 _itemId, uint256 _price) private {
        SellingItem storage item = sellingDict[_itemId];
        item.price = _price;
        
        if (item.index == 0) {
            item.index = ++sellingList.length;
            sellingList[item.index - 1] = _itemId;
        }
    }

    function removeBorrowingItem(uint64 _itemId) private {
        BorrowItem storage item = borrowingDict[_itemId];
        if (item.index == 0)
            return;
        
        if (item.index <= borrowingList.length) {
            // Move an existing element into the vacated key slot.
            borrowingDict[borrowingList[borrowingList.length-1]].index = item.index;
            borrowingList[item.index-1] = borrowingList[borrowingList.length-1];
            borrowingList.length -= 1;
            delete borrowingDict[_itemId];
        }
    }

    function addBorrowingItem(address _owner, uint64 _itemId, uint256 _price, uint _releaseTime) private {
        BorrowItem storage item = borrowingDict[_itemId];
        item.owner = _owner;
        item.borrower = address(0);
        item.price = _price;
        item.lent = false;
        item.releaseTime = _releaseTime;
        
        if (item.index == 0) {
            item.index = ++borrowingList.length;
            borrowingList[item.index - 1] = _itemId;
        }
    }
    
    function transferMonster(address _to, uint64 _objId) private {
        EtheremonDataBase data = EtheremonDataBase(dataContract);

        MonsterObjAcc memory obj;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, obj.createIndex, obj.lastClaimIndex, obj.createTime) = data.getMonsterObj(_objId);

        // clear balance for gen 0
        if (obj.classId <= GEN0_NO) {
            Gen0Config storage gen0 = gen0Config[obj.classId];
            if (gen0.classId == obj.classId) {
                if (obj.lastClaimIndex < gen0.total) {
                    uint32 gap = uint32(safeSubtract(gen0.total, obj.lastClaimIndex));
                    if (gap > 0) {
                        data.addExtraBalance(obj.trainer, safeMult(gap, gen0.returnPrice));
                        // reset total (accept name is cleared :( )
                        data.setMonsterObj(obj.monsterId, " name me ", obj.exp, obj.createIndex, gen0.total);
                    }
                }
            }
        }
        
        // transfer owner
        data.removeMonsterIdMapping(obj.trainer, _objId);
        data.addMonsterIdMapping(_to, _objId);
    }
    
    function addItemLendingList(address _trainer, uint64 _objId) private {
        if (_trainer != address(0)) {
            uint64[] storage objList = lendingList[_trainer];
            for (uint index = 0; index < objList.length; index++) {
                if (objList[index] == _objId) {
                    return;
                }
            }
            objList.push(_objId);
        }
    }
    
    function removeItemLendingList(address _trainer, uint64 _objId) private {
        uint foundIndex = 0;
        uint64[] storage objList = lendingList[_trainer];
        for (; foundIndex < objList.length; foundIndex++) {
            if (objList[foundIndex] == _objId) {
                break;
            }
        }
        if (foundIndex < objList.length) {
            objList[foundIndex] = objList[objList.length-1];
            delete objList[objList.length-1];
            objList.length--;
        }
    }
    
    // public
    function placeSellOrder(uint64 _objId, uint256 _price) requireDataContract requireBattleContract isActive external {
        if (_price == 0)
            revert();
        // not on borrowing
        BorrowItem storage item = borrowingDict[_objId];
        if (item.index > 0)
            revert();
        // not on battle 
        EtheremonBattleInterface battle = EtheremonBattleInterface(battleContract);
        if (battle.isOnBattle(_objId))
            revert();
        
        // check ownership
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        uint32 _ = 0;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, _, _, obj.createTime) = data.getMonsterObj(_objId);
        
        if (obj.monsterId != _objId) {
            revert();
        }
        
        if (obj.trainer != msg.sender) {
            revert();
        }
        
        // on selling, then just update price
        if (sellingDict[_objId].index > 0){
            sellingDict[_objId].price = _price;
        } else {
            addSellingItem(_objId, _price);
        }
        EventPlaceSellOrder(msg.sender, _objId);
    }
    
    function removeSellOrder(uint64 _objId) requireDataContract requireBattleContract isActive external {
        if (sellingDict[_objId].index == 0)
            revert();
        
        // check ownership
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        uint32 _ = 0;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, _, _, obj.createTime) = data.getMonsterObj(_objId);
        
        if (obj.monsterId != _objId) {
            revert();
        }
        
        if (obj.trainer != msg.sender) {
            revert();
        }
        
        removeSellingItem(_objId);
    }
    
    function buyItem(uint64 _objId) requireDataContract requireBattleContract isActive external payable {
        // check item is valid to sell 
        uint256 requestPrice = sellingDict[_objId].price;
        if (requestPrice == 0 || msg.value != requestPrice) {
            revert();
        }
        
        // check obj
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        uint32 _ = 0;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, _, _, obj.createTime) = data.getMonsterObj(_objId);
        if (obj.monsterId != _objId) {
            revert();
        }
        // can not buy from yourself
        if (obj.trainer == msg.sender) {
            revert();
        }
        
        address oldTrainer = obj.trainer;
        uint256 fee = requestPrice * tradingFeePercentage / 100;
        removeSellingItem(_objId);
        transferMonster(msg.sender, _objId);
        oldTrainer.transfer(safeSubtract(requestPrice, fee));
        
        SoldItem memory soldItem = SoldItem(_objId, requestPrice, block.timestamp);
        soldList[oldTrainer].push(soldItem);
        EventBuyItem(msg.sender, _objId);
    }
    
    function offerBorrowingItem(uint64 _objId, uint256 _price, uint _releaseTime) requireDataContract requireBattleContract isActive external {
        // make sure it is not on sale 
        if (sellingDict[_objId].price > 0 || _price == 0)
            revert();
        // not on lent
        BorrowItem storage item = borrowingDict[_objId];
        if (item.lent == true)
            revert();
        // not on battle 
        EtheremonBattleInterface battle = EtheremonBattleInterface(battleContract);
        if (battle.isOnBattle(_objId))
            revert();
        
        
        // check ownership
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        uint32 _ = 0;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, _, _, obj.createTime) = data.getMonsterObj(_objId);
        
        if (obj.monsterId != _objId) {
            revert();
        }
        
        if (obj.trainer != msg.sender) {
            revert();
        }
        
        if (item.index > 0) {
            // update info 
            item.price = _price;
            item.releaseTime = _releaseTime;
        } else {
            addBorrowingItem(msg.sender, _objId, _price, _releaseTime);
        }
        EventOfferBorrowingItem(msg.sender, _objId);
    }
    
    function removeBorrowingOfferItem(uint64 _objId) requireDataContract requireBattleContract isActive external {
        BorrowItem storage item = borrowingDict[_objId];
        if (item.index == 0)
            revert();
        
        if (item.owner != msg.sender)
            revert();
        if (item.lent == true)
            revert();
        
        removeBorrowingItem(_objId);
    }
    
    function borrowItem(uint64 _objId) requireDataContract requireBattleContract isActive external payable {
        BorrowItem storage item = borrowingDict[_objId];
        if (item.index == 0)
            revert();
        if (item.lent == true)
            revert();
        uint256 itemPrice = item.price;
        if (itemPrice != msg.value)
            revert();
        

        // check obj
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        uint32 _ = 0;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, _, _, obj.createTime) = data.getMonsterObj(_objId);
        if (obj.monsterId != _objId) {
            revert();
        }
        // can not borrow from yourself
        if (obj.trainer == msg.sender) {
            revert();
        }
        
        uint256 fee = itemPrice * tradingFeePercentage / 100;
        item.borrower = msg.sender;
        item.releaseTime += block.timestamp;
        item.lent = true;
        address oldOwner = obj.trainer;
        transferMonster(msg.sender, _objId);
        oldOwner.transfer(safeSubtract(itemPrice, fee));
        addItemLendingList(oldOwner, _objId);
        EventAcceptBorrowItem(msg.sender, _objId);
    }
    
    function getBackLendingItem(uint64 _objId) requireDataContract requireBattleContract isActive external {
        BorrowItem storage item = borrowingDict[_objId];
        if (item.index == 0)
            revert();
        if (item.lent == false)
            revert();
        if (item.releaseTime > block.timestamp)
            revert();
        
        if (msg.sender != item.owner)
            revert();
        
        removeBorrowingItem(_objId);
        transferMonster(msg.sender, _objId);
        removeItemLendingList(msg.sender, _objId);
        EventGetBackItem(msg.sender, _objId);
    }
    
    function freeTransferItem(uint64 _objId, address _receiver) requireDataContract requireBattleContract external {
        // make sure it is not on sale 
        if (sellingDict[_objId].price > 0)
            revert();
        // not on borrowing
        BorrowItem storage item = borrowingDict[_objId];
        if (item.index > 0)
            revert();
        // not on battle 
        EtheremonBattleInterface battle = EtheremonBattleInterface(battleContract);
        if (battle.isOnBattle(_objId))
            revert();
        
        // check ownership
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        uint32 _ = 0;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, _, _, obj.createTime) = data.getMonsterObj(_objId);
        
        if (obj.monsterId != _objId) {
            revert();
        }
        
        if (obj.trainer != msg.sender) {
            revert();
        }
        
        transferMonster(_receiver, _objId);
        EventFreeTransferItem(msg.sender, _receiver, _objId);
    }
    
    function release(uint64 _objId) requireDataContract requireBattleContract external {
        // make sure it is not on sale 
        if (sellingDict[_objId].price > 0)
            revert();
        // not on borrowing
        BorrowItem storage item = borrowingDict[_objId];
        if (item.index > 0)
            revert();
        // not on battle 
        EtheremonBattleInterface battle = EtheremonBattleInterface(battleContract);
        if (battle.isOnBattle(_objId))
            revert();
        
        // check ownership
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        uint32 _ = 0;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, _, _, obj.createTime) = data.getMonsterObj(_objId);
        
        // can not release gen 0
        if (obj.classId <= GEN0_NO) {
            revert();
        }
        
        if (obj.monsterId != _objId) {
            revert();
        }
        
        if (obj.trainer != msg.sender) {
            revert();
        }
        
        data.removeMonsterIdMapping(msg.sender, _objId);
        EventRelease(msg.sender, _objId);
    }
    
    // read access
    
    function getBasicObjInfo(uint64 _objId) constant public returns(uint32, address, uint32, uint32){
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, obj.createIndex, obj.lastClaimIndex, obj.createTime) = data.getMonsterObj(_objId);
        return (obj.classId, obj.trainer, obj.exp, obj.createIndex);
    }
    
    function getBasicObjInfoWithBp(uint64 _objId) constant public returns(uint32, uint32, uint32, uint64) {
        EtheremonDataBase data = EtheremonDataBase(dataContract);
        MonsterObjAcc memory obj;
        (obj.monsterId, obj.classId, obj.trainer, obj.exp, obj.createIndex, obj.lastClaimIndex, obj.createTime) = data.getMonsterObj(_objId);
        EtheremonBattleInterface battle = EtheremonBattleInterface(battleContract);
        uint64 bp = battle.getMonsterCP(_objId);
        return (obj.classId, obj.exp, obj.createIndex, bp);
    }
    
    function getTotalSellingItem() constant external returns(uint) {
        return sellingList.length;
    }

    function getSellingItem(uint _index) constant external returns(uint64 objId, uint32 classId, uint32 exp, uint64 bp, address trainer, uint createIndex, uint256 price) {
        objId = sellingList[_index];
        if (objId > 0) {
            (classId, trainer, exp, createIndex) = getBasicObjInfo(objId);
            EtheremonBattleInterface battle = EtheremonBattleInterface(battleContract);
            bp = battle.getMonsterCP(objId);
            price = sellingDict[objId].price;
        }
    }
    
    function getSellingItemByObjId(uint64 _objId) constant external returns(uint32 classId, uint32 exp, uint64 bp, address trainer, uint createIndex, uint256 price) {
        price = sellingDict[_objId].price;
        if (price > 0) {
            (classId, trainer, exp, createIndex) = getBasicObjInfo(_objId);
            EtheremonBattleInterface battle = EtheremonBattleInterface(battleContract);
            bp = battle.getMonsterCP(_objId);
        }
    }

    function getTotalBorrowingItem() constant external returns(uint) {
        return borrowingList.length;
    }

    function getBorrowingItem(uint _index) constant external returns(uint64 objId, address owner, address borrower, 
        uint256 price, bool lent, uint releaseTime, uint32 classId, uint32 exp, uint32 createIndex, uint64 bp) {
        objId = borrowingList[_index];
        BorrowItem storage item = borrowingDict[objId];
        owner = item.owner;
        borrower = item.borrower;
        price = item.price;
        lent = item.lent;
        releaseTime = item.releaseTime;
        
        (classId, exp, createIndex, bp) = getBasicObjInfoWithBp(objId);
    }
    
    function getBorrowingItemByObjId(uint64 _objId) constant external returns(uint index, address owner, address borrower, 
        uint256 price, bool lent, uint releaseTime, uint32 classId, uint32 exp, uint32 createIndex, uint64 bp) {
        BorrowItem storage item = borrowingDict[_objId];
        index = item.index;
        owner = item.owner;
        borrower = item.borrower;
        price = item.price;
        lent = item.lent;
        releaseTime = item.releaseTime;
        
        (classId, exp, createIndex, bp) = getBasicObjInfoWithBp(_objId);
    }
    
    function getSoldItemLength(address _trainer) constant external returns(uint) {
        return soldList[_trainer].length;
    }
    
    function getSoldItem(address _trainer, uint _index) constant external returns(uint64 objId, uint32 classId, uint32 exp, uint64 bp, address currentOwner, 
        uint createIndex, uint256 price, uint time) {
        if (_index > soldList[_trainer].length)
            return;
        SoldItem memory soldItem = soldList[_trainer][_index];
        objId = soldItem.objId;
        price = soldItem.price;
        time = soldItem.time;
        if (objId > 0) {
            (classId, currentOwner, exp, createIndex) = getBasicObjInfo(objId);
            EtheremonBattleInterface battle = EtheremonBattleInterface(battleContract);
            bp = battle.getMonsterCP(objId);
        }
    }
    
    function getLendingItemLength(address _trainer) constant external returns(uint) {
        return lendingList[_trainer].length;
    }
    
    function getLendingItemInfo(address _trainer, uint _index) constant external returns(uint64 objId, address owner, address borrower, 
        uint256 price, bool lent, uint releaseTime, uint32 classId, uint32 exp, uint32 createIndex, uint64 bp) {
        if (_index > lendingList[_trainer].length)
            return;
        objId = lendingList[_trainer][_index];
        BorrowItem storage item = borrowingDict[objId];
        owner = item.owner;
        borrower = item.borrower;
        price = item.price;
        lent = item.lent;
        releaseTime = item.releaseTime;
        
        (classId, exp, createIndex, bp) = getBasicObjInfoWithBp(objId);
    }
    
    function getTradingInfo(uint64 _objId) constant external returns(uint256 sellingPrice, uint256 lendingPrice, bool lent, uint releaseTime) {
        sellingPrice = sellingDict[_objId].price;
        BorrowItem storage item = borrowingDict[_objId];
        lendingPrice = item.price;
        lent = item.lent;
        releaseTime = item.releaseTime;
    }
    
    function isOnTrading(uint64 _objId) constant external returns(bool) {
        return (sellingDict[_objId].price > 0 || borrowingDict[_objId].owner != address(0));
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"getTotalBorrowingItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getTradingInfo","outputs":[{"name":"sellingPrice","type":"uint256"},{"name":"lendingPrice","type":"uint256"},{"name":"lent","type":"bool"},{"name":"releaseTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"},{"name":"_receiver","type":"address"}],"name":"freeTransferItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint64"}],"name":"sellingDict","outputs":[{"name":"index","type":"uint256"},{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dataContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"gen0Config","outputs":[{"name":"classId","type":"uint32"},{"name":"originalPrice","type":"uint256"},{"name":"returnPrice","type":"uint256"},{"name":"total","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getSellingItemByObjId","outputs":[{"name":"classId","type":"uint32"},{"name":"exp","type":"uint32"},{"name":"bp","type":"uint64"},{"name":"trainer","type":"address"},{"name":"createIndex","type":"uint256"},{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"moderators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxLendingItem","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_dataContract","type":"address"},{"name":"_battleContract","type":"address"}],"name":"setContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"},{"name":"_price","type":"uint256"},{"name":"_releaseTime","type":"uint256"}],"name":"offerBorrowingItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getSoldItemLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"}],"name":"release","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"battleContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"},{"name":"_index","type":"uint256"}],"name":"getSoldItem","outputs":[{"name":"objId","type":"uint64"},{"name":"classId","type":"uint32"},{"name":"exp","type":"uint32"},{"name":"bp","type":"uint64"},{"name":"currentOwner","type":"address"},{"name":"createIndex","type":"uint256"},{"name":"price","type":"uint256"},{"name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_isMaintaining","type":"bool"}],"name":"UpdateMaintaining","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getBackLendingItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getBorrowingItemByObjId","outputs":[{"name":"index","type":"uint256"},{"name":"owner","type":"address"},{"name":"borrower","type":"address"},{"name":"price","type":"uint256"},{"name":"lent","type":"bool"},{"name":"releaseTime","type":"uint256"},{"name":"classId","type":"uint32"},{"name":"exp","type":"uint32"},{"name":"createIndex","type":"uint32"},{"name":"bp","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalBorrowingItem","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint64"}],"name":"borrowingDict","outputs":[{"name":"index","type":"uint256"},{"name":"owner","type":"address"},{"name":"borrower","type":"address"},{"name":"price","type":"uint256"},{"name":"lent","type":"bool"},{"name":"releaseTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sendTo","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getBasicObjInfo","outputs":[{"name":"","type":"uint32"},{"name":"","type":"address"},{"name":"","type":"uint32"},{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"}],"name":"removeBorrowingOfferItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getTotalSellingItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setOriginalPriceGen0","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_fee","type":"uint16"},{"name":"_maxLendingItem","type":"uint8"}],"name":"updateConfig","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"GEN0_NO","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"getBasicObjInfoWithBp","outputs":[{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint32"},{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getSellingItem","outputs":[{"name":"objId","type":"uint64"},{"name":"classId","type":"uint32"},{"name":"exp","type":"uint32"},{"name":"bp","type":"uint64"},{"name":"trainer","type":"address"},{"name":"createIndex","type":"uint256"},{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sellingList","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint64"}],"name":"isOnTrading","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"},{"name":"_index","type":"uint256"}],"name":"getLendingItemInfo","outputs":[{"name":"objId","type":"uint64"},{"name":"owner","type":"address"},{"name":"borrower","type":"address"},{"name":"price","type":"uint256"},{"name":"lent","type":"bool"},{"name":"releaseTime","type":"uint256"},{"name":"classId","type":"uint32"},{"name":"exp","type":"uint32"},{"name":"createIndex","type":"uint32"},{"name":"bp","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tradingFeePercentage","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"borrowingList","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_oldModerator","type":"address"}],"name":"RemoveModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"soldList","outputs":[{"name":"objId","type":"uint64"},{"name":"price","type":"uint256"},{"name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"},{"name":"_price","type":"uint256"}],"name":"placeSellOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getLendingItemLength","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"}],"name":"buyItem","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalSellingItem","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"}],"name":"removeSellOrder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lendingList","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_objId","type":"uint64"}],"name":"borrowItem","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"isMaintaining","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"ChangeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getBorrowingItem","outputs":[{"name":"objId","type":"uint64"},{"name":"owner","type":"address"},{"name":"borrower","type":"address"},{"name":"price","type":"uint256"},{"name":"lent","type":"bool"},{"name":"releaseTime","type":"uint256"},{"name":"classId","type":"uint32"},{"name":"exp","type":"uint32"},{"name":"createIndex","type":"uint32"},{"name":"bp","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_dataContract","type":"address"},{"name":"_battleContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"seller","type":"address"},{"indexed":false,"name":"objId","type":"uint64"}],"name":"EventPlaceSellOrder","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"objId","type":"uint64"}],"name":"EventBuyItem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lender","type":"address"},{"indexed":false,"name":"objId","type":"uint64"}],"name":"EventOfferBorrowingItem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"borrower","type":"address"},{"indexed":false,"name":"objId","type":"uint64"}],"name":"EventAcceptBorrowItem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"objId","type":"uint64"}],"name":"EventGetBackItem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"objId","type":"uint64"}],"name":"EventFreeTransferItem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"trainer","type":"address"},{"indexed":false,"name":"objId","type":"uint64"}],"name":"EventRelease","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000805460a060020a61ffff02191690556002805460ff19166001908117909155600d805461ffff191690911762ff00001916620a0000179055341561004957600080fd5b604051604080614bd8833981016040528080519190602001805160008054600160a060020a03338116600160a060020a031992831617909255600280549683166101000261010060a860020a03199097169690961790955560038054919092169416939093179092555050614b15806100c36000396000f3006060604052600436106102365763ffffffff60e060020a600035041662203385811461023b57806304150e8f1461026057806306228e95146102ae5780630796f67c146102db5780630d668818146103125780630daf4151146103415780630e5aaffc1461038e57806314d0f1ba1461040257806326a4c847146104355780632bf6e0a51461045e5780633010f03c146104835780633462001b146104a857806341fbbc31146104c7578063423b1ca3146104e657806347ae73ee146104f957806348ef5aa81461057f5780634eb4fe80146105975780634efb023e146105b65780634f99a96e146105e05780634fdf64ce14610675578063517403f5146106a1578063522f681514610705578063554792fd146107275780635e6df25c14610781578063654470fc146107a057806366ba2670146107b35780636c81fd6d146107c657806370187a19146107e557806373d65c001461080557806376c29bf5146108185780638426a452146108725780638da5cb5b146108e4578063999ec0a0146108f7578063a847a71c14610929578063ad4e39f314610948578063b2356ad4146109e3578063b58c87ba146109f6578063b85d627514610a0c578063baaa73b514610a2b578063c2b303d014610a83578063c734375414610aa5578063d6f551e414610ac4578063d7c39cc614610ad8578063e16e0f8414610aeb578063e88dfc6714610b0a578063e9b6d67114610b2c578063ee4e441614610b40578063f285329214610b53578063faa5369d14610b72575b600080fd5b341561024657600080fd5b61024e610b88565b60405190815260200160405180910390f35b341561026b57600080fd5b61027f6001604060020a0360043516610b8f565b604051808581526020018481526020018315151515815260200182815260200194505050505060405180910390f35b34156102b957600080fd5b6102d96001604060020a0360043516600160a060020a0360243516610bd0565b005b34156102e657600080fd5b6102fa6001604060020a0360043516610e5c565b60405191825260208201526040908101905180910390f35b341561031d57600080fd5b610325610e75565b604051600160a060020a03909116815260200160405180910390f35b341561034c57600080fd5b61035d63ffffffff60043516610e89565b60405163ffffffff948516815260208101939093526040808401929092529092166060820152608001905180910390f35b341561039957600080fd5b6103ad6001604060020a0360043516610eb8565b60405163ffffffff96871681529490951660208501526001604060020a03909216604080850191909152600160a060020a039091166060840152608083019190915260a082019290925260c001905180910390f35b341561040d57600080fd5b610421600160a060020a0360043516610f82565b604051901515815260200160405180910390f35b341561044057600080fd5b610448610f97565b60405160ff909116815260200160405180910390f35b341561046957600080fd5b6102d9600160a060020a0360043581169060243516610fa6565b341561048e57600080fd5b6102d96001604060020a036004351660243560443561103e565b34156104b357600080fd5b61024e600160a060020a0360043516611304565b34156104d257600080fd5b6102d96001604060020a036004351661131f565b34156104f157600080fd5b610325611625565b341561050457600080fd5b61051b600160a060020a0360043516602435611634565b6040516001604060020a03988916815263ffffffff978816602082015295909616604080870191909152939096166060850152600160a060020a03909116608084015260a083015260c082019390935260e081019190915261010001905180910390f35b341561058a57600080fd5b6102d96004351515611798565b34156105a257600080fd5b6102d96001604060020a03600435166117c6565b34156105c157600080fd5b6105c96118db565b60405161ffff909116815260200160405180910390f35b34156105eb57600080fd5b6105ff6001604060020a03600435166118fd565b604051998a52600160a060020a0398891660208b0152969097166040808a01919091526060890195909552921515608088015260a087019190915263ffffffff90811660c087015290811660e08601529092166101008401526001604060020a0316610120830152610140909101905180910390f35b341561068057600080fd5b610688611976565b60405163ffffffff909116815260200160405180910390f35b34156106ac57600080fd5b6106c06001604060020a0360043516611982565b604051958652600160a060020a039485166020870152929093166040808601919091526060850191909152911515608084015260a083015260c0909101905180910390f35b341561071057600080fd5b6102d9600160a060020a03600435166024356119c8565b341561073257600080fd5b6107466001604060020a0360043516611a5a565b60405163ffffffff9485168152600160a060020a03909316602084015290831660408084019190915292166060820152608001905180910390f35b341561078c57600080fd5b6102d96001604060020a0360043516611b71565b34156107ab57600080fd5b61024e611c1a565b34156107be57600080fd5b6102d9611c20565b34156107d157600080fd5b6102d9600160a060020a0360043516612cea565b34156107f057600080fd5b6102d961ffff6004351660ff60243516612d94565b341561081057600080fd5b610448612e07565b341561082357600080fd5b6108376001604060020a0360043516612e0c565b60405163ffffffff9485168152928416602084015292166040808301919091526001604060020a039092166060820152608001905180910390f35b341561087d57600080fd5b610888600435612f9d565b6040516001604060020a03978816815263ffffffff968716602082015294909516604080860191909152929095166060840152600160a060020a0316608083015260a082019390935260c081019190915260e001905180910390f35b34156108ef57600080fd5b6103256130b3565b341561090257600080fd5b61090d6004356130c2565b6040516001604060020a03909116815260200160405180910390f35b341561093457600080fd5b6104216001604060020a03600435166130fd565b341561095357600080fd5b61096a600160a060020a0360043516602435613150565b6040516001604060020a039a8b168152600160a060020a03998a166020820152979098166040808901919091526060880196909652931515608087015260a086019290925263ffffffff90811660c086015290811660e08501521661010083015291909216610120830152610140909101905180910390f35b34156109ee57600080fd5b6105c9613286565b3415610a0157600080fd5b61090d600435613290565b3415610a1757600080fd5b6102d9600160a060020a036004351661329e565b3415610a3657600080fd5b610a4d600160a060020a0360043516602435613348565b60405180846001604060020a03166001604060020a03168152602001838152602001828152602001935050505060405180910390f35b3415610a8e57600080fd5b6102d96001604060020a0360043516602435613393565b3415610ab057600080fd5b61024e600160a060020a036004351661364c565b6102d96001604060020a0360043516613667565b3415610ae357600080fd5b610688613959565b3415610af657600080fd5b6102d96001604060020a0360043516613965565b3415610b1557600080fd5b61090d600160a060020a0360043516602435613afd565b6102d96001604060020a0360043516613b48565b3415610b4b57600080fd5b610421613e02565b3415610b5e57600080fd5b6102d9600160a060020a0360043516613e0b565b3415610b7d57600080fd5b61096a600435613e62565b600a545b90565b6001604060020a031660009081526005602081815260408084206001015460089092529092206003810154600482015491909201549293919260ff90911691565b6000806000610bdd6149ba565b6002546000906101009004600160a060020a03161515610bfc57600080fd5b600354600160a060020a03161515610c1357600080fd5b6001604060020a0387166000908152600560205260408120600101541115610c3a57600080fd5b6001604060020a038716600090815260086020526040812080549096501115610c6257600080fd5b600354600160a060020a03169350836335f097f38860006040516020015260405160e060020a63ffffffff84160281526001604060020a039091166004820152602401602060405180830381600087803b1515610cbe57600080fd5b6102c65a03f11515610ccf57600080fd5b5050506040518051905015610ce357600080fd5b506002546101009004600160a060020a031691506000826307202460888360405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b1515610d4657600080fd5b6102c65a03f11515610d5757600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08a0152505063ffffffff9182166080880152600160a060020a0390921660408701529190911660208501526001604060020a0391821684529150871682516001604060020a031614610dd657600080fd5b33600160a060020a03168260400151600160a060020a031614610df857600080fd5b610e028688613f33565b85600160a060020a031633600160a060020a03167fc1a01a90251d073f6f2b5d848f0e5dc2aca9b0a6743ed79946e599ad6d546528896040516001604060020a03909116815260200160405180910390a350505050505050565b6005602052600090815260409020805460019091015482565b6002546101009004600160a060020a031681565b600460205260009081526040902080546001820154600283015460039093015463ffffffff9283169391921684565b6001604060020a03811660009081526005602052604081206001015481908190819081908180821115610f7857610eee88611a5a565b600354939a5090985090955063ffffffff169350600160a060020a0316905080630672859b8960006040516020015260405160e060020a63ffffffff84160281526001604060020a039091166004820152602401602060405180830381600087803b1515610f5b57600080fd5b6102c65a03f11515610f6c57600080fd5b50505060405180519550505b5091939550919395565b60016020526000908152604090205460ff1681565b600d5462010000900460ff1681565b60005433600160a060020a0390811691161480610fe15750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515610fec57600080fd5b6002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03948516021790556003805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b600080600061104b6149ba565b6002546000906101009004600160a060020a0316151561106a57600080fd5b600354600160a060020a0316151561108157600080fd5b60025460ff161561109157600080fd5b6001604060020a03881660009081526005602052604081206001015411806110b7575086155b156110c157600080fd5b6001604060020a0388166000908152600860205260409020600481015490955060ff161515600114156110f357600080fd5b600354600160a060020a03169350836335f097f38960006040516020015260405160e060020a63ffffffff84160281526001604060020a039091166004820152602401602060405180830381600087803b151561114f57600080fd5b6102c65a03f1151561116057600080fd5b505050604051805190501561117457600080fd5b506002546101009004600160a060020a031691506000826307202460898360405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b15156111d757600080fd5b6102c65a03f115156111e857600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08a0152505063ffffffff9182166080880152600160a060020a0390921660408701529190911660208501526001604060020a0391821684529150881682516001604060020a03161461126757600080fd5b33600160a060020a03168260400151600160a060020a03161461128957600080fd5b845460009011156112a75760038501879055600585018690556112b3565b6112b333898989614300565b33600160a060020a03167fa67dda40b2486d90a85433ceabe8a464671ead8938ef7eb33e11b0fb828f6694896040516001604060020a03909116815260200160405180910390a25050505050505050565b600160a060020a03166000908152600c602052604090205490565b600080600061132c6149ba565b6002546000906101009004600160a060020a0316151561134b57600080fd5b600354600160a060020a0316151561136257600080fd5b6001604060020a038616600090815260056020526040812060010154111561138957600080fd5b6001604060020a0386166000908152600860205260408120805490965011156113b157600080fd5b600354600160a060020a03169350836335f097f38760006040516020015260405160e060020a63ffffffff84160281526001604060020a039091166004820152602401602060405180830381600087803b151561140d57600080fd5b6102c65a03f1151561141e57600080fd5b505050604051805190501561143257600080fd5b506002546101009004600160a060020a031691506000826307202460878360405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b151561149557600080fd5b6102c65a03f115156114a657600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08a0152505063ffffffff9182166080880152600160a060020a03909216604087015291909116602085019081526001604060020a03909216845291506018905163ffffffff161161152457600080fd5b6001604060020a03861682516001604060020a03161461154357600080fd5b33600160a060020a03168260400151600160a060020a03161461156557600080fd5b82600160a060020a03166360c6ccb2338860405160e060020a63ffffffff8516028152600160a060020a0390921660048301526001604060020a03166024820152604401600060405180830381600087803b15156115c257600080fd5b6102c65a03f115156115d357600080fd5b50505033600160a060020a03167fa19af89a96cde439cbd1ad5d955155f57449dd15808b36397d6684e430825e56876040516001604060020a03909116815260200160405180910390a2505050505050565b600354600160a060020a031681565b600080600080600080600080611648614a06565b600160a060020a038b166000908152600c60205260408120548b111561166d57611789565b600160a060020a038c166000908152600c6020526040902080548c90811061169157fe5b90600052602060002090600302016060604051908101604090815282546001604060020a031682526001830154602083015260029092015491810191909152915081519950816020015193508160400151925060008a6001604060020a03161115611789576116ff8a611a5a565b600354939c50909a5090975063ffffffff169550600160a060020a0316905080630672859b8b60006040516020015260405160e060020a63ffffffff84160281526001604060020a039091166004820152602401602060405180830381600087803b151561176c57600080fd5b6102c65a03f1151561177d57600080fd5b50505060405180519750505b50509295985092959890939650565b60005433600160a060020a039081169116146117b357600080fd5b6002805460ff1916911515919091179055565b6002546000906101009004600160a060020a031615156117e557600080fd5b600354600160a060020a031615156117fc57600080fd5b60025460ff161561180c57600080fd5b506001604060020a03811660009081526008602052604090208054151561183257600080fd5b600481015460ff16151561184557600080fd5b428160050154111561185657600080fd5b600181015433600160a060020a0390811691161461187357600080fd5b61187c826143db565b6118863383613f33565b611890338361455e565b33600160a060020a03167fa46e3c6c83db41772890d273b010c0afddf1a1e6abce28b37e5d7eb80964f4bd836040516001604060020a03909116815260200160405180910390a25050565b60005474010000000000000000000000000000000000000000900461ffff1681565b6001604060020a03811660009081526008602052604081208054600182015460028301546003840154600485015460058601549496600160a060020a03948516969390941694919360ff9091169281908190819061195a8c612e0c565b9d9f9c9e509a9c999b989a979991989097965090945092505050565b60095463ffffffff1681565b6008602052600090815260409020805460018201546002830154600384015460048501546005909501549394600160a060020a03938416949390921692909160ff169086565b60005433600160a060020a0390811691161480611a035750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515611a0e57600080fd5b30600160a060020a031631811115611a2557600080fd5b600160a060020a03821681156108fc0282604051600060405180830381858888f193505050501515611a5657600080fd5b5050565b6000806000806000611a6a6149ba565b6002546101009004600160a060020a0316915081630720246088600060405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b1515611acb57600080fd5b6102c65a03f11515611adc57600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08901525063ffffffff90811660c088015290811660a08701529081166080860152600160a060020a03909116604085015216602083019081526001604060020a03909116825251816040015182608001518360a00151955095509550955050509193509193565b6002546000906101009004600160a060020a03161515611b9057600080fd5b600354600160a060020a03161515611ba757600080fd5b60025460ff1615611bb757600080fd5b506001604060020a038116600090815260086020526040902080541515611bdd57600080fd5b600181015433600160a060020a03908116911614611bfa57600080fd5b600481015460ff16151560011415611c1157600080fd5b611a56826143db565b60075490565b60005433600160a060020a0390811691161480611c5b5750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515611c6657600080fd5b608060405190810160409081526001808352670429d069189e0000602080850191909152660aa87bee538000928401929092526101766060840152600052600490527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe058151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff90921691909117905550608060405190810160409081526002808352670429d069189e0000602080850191909152660aa87bee538000928401929092526101986060840152600052600490527f91da3fd0782e51c6b3986e9e672fd566868e71f3dbc2d6c2cd6fbb3e361af2a78151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff90921691909117905550608060405190810160409081526003808352670429d069189e0000602080850191909152660aa87bee538000928401929092526101756060840152600052600490527f2e174c10e159ea99b867ce3205125c24a42d128804e4070ed6fcc8cc98166aa08151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff909216919091179055506080604051908101604090815260048083526702c68af0bb14000060208085019190915266071afd498d0000928401929092526101b56060840152600081905290527f1a1e6821cde7d0159c0d293177871e09677b4e42307c7db3ba94f8648a5a050f8151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600580835267016345785d8a000060208085019190915266038d7ea4c68000928401929092526101f16060840152600052600490527f04cde762ef08b6b6c5ded8e8c4c0b3f4e5c9ad7342c88fcc93681b4588b73f058151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff90921691909117905550608060405190810160409081526006808352670429d069189e0000602080850191909152660aa87bee5380009284019290925261017c6060840152600052600490527fc59312466997bb42aaaf719ece141047820e6b34531e1670dc1852a453648f0f8151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff909216919091179055506080604051908101604090815260078083526702c68af0bb14000060208085019190915266071afd498d0000928401929092526101596060840152600052600490527fbeb3bad75134cb432e5707980e3245c52c5998a1125ee30f2f0dbf3925b1e5518151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600880835267016345785d8a000060208085019190915266038d7ea4c68000928401929092526102066060840152600052600490527f2645749a946633740611cfc8178319f0958659d6922e4bf7e3a08b44789f53a48151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600980835267016345785d8a000060208085019190915266038d7ea4c68000928401929092526101bf6060840152600052600490527f4ad5a04d53b5856f318545bb721f67d3f6d0a5a999f25eec7e20eaeb4c47b9338151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600a8083526702c68af0bb14000060208085019190915266071afd498d00009284019290925261017c6060840152600052600490527f5c6b02db8b672415ffad906d7ccee10bd53dbad7d0b29e2bc0e50c93d5f310938151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600b8083526702c68af0bb14000060208085019190915266071afd498d0000928401929092526101626060840152600052600490527f0c1469ad586d86b6976c45826d7ae56d76ee516e37a2bccffbe904b74dbae7ea8151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600c8083526702c68af0bb14000060208085019190915266071afd498d00009284019290925261015a6060840152600052600490527f140aabff1a85df08546c9a350c79ae18341bde4a2cef5d2fd460885c0128ce268151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600d8083526702c68af0bb14000060208085019190915266071afd498d00009284019290925261015f6060840152600052600490527fa5022b2bfd144bf9103d80168549b5df7c72ab60bd51bf71a02a08d844853b4a8151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600e8083526702c68af0bb14000060208085019190915266071afd498d0000928401929092526101526060840152600052600490527feb3e677499e881fe1bdbc344a49c412138038a9f40883b6dc68f713aab4835238151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152600f8083526702c68af0bb14000060208085019190915266071afd498d0000928401929092526101556060840152600052600490527f66b61daf77b854ca6ba000a8d4b340eafcdb71b6583753b4af89fceb54988fff8151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff909216919091179055506080604051908101604090815260108083526704db732547630000602080850191909152660c6f3b40b6c000928401929092526101806060840152600052600490527f4a597304b2df0a7a7b428b3c24c35ba6373aabebf9972387f5610f74a01b21bd8151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff90921691909117905550608060405190810160409081526011808352670de0b6b3a7640000602080850191909152662386f26fc10000928401929092526101316060840152600052600490527fac375bcb880242328180c23d4a918023a12a7caf7cf12b8c4074e4a3f39900a08151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152601280835267016345785d8a000060208085019190915266038d7ea4c68000928401929092526101ab6060840152600052600490527f7f6fa3f34639ea1891363ca773619dbd5f652d7ab50411111dde2f57e3ae13ad8151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff90921691909117905550608060405190810160409081526013808352670de0b6b3a7640000602080850191909152662386f26fc10000928401929092526101306060840152600052600490527f9bbf2ad10217b6212df1939350a047a69b6887b770020d3fa8c328c0653ee9878151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff9092169190911790555060806040519081016040908152601480835267058d15e17628000060208085019190915266b1a2bc2ec500009284019290925260526060840152600052600490527ff7deed9399d719bf61dcb1322c056a03a885c275ab093673b0cc182b84bea0618151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff909216919091179055506080604051908101604090815260158083526001602080850182905292840152607b6060840152600052600490527f1bb30a1647f6f6723cb3a88838ce0319afabe51263fc466f2f669a7a24ad88c68151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff909216919091179055506080604051908101604090815260168083526702c68af0bb14000060208085019190915266038d7ea4c68000928401929092526101d46060840152600052600490527f87e655ef16e4075af30c6a90c2b439f7dcd2d83a606dafadaee10cffaf9181328151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff909216919091179055506080604051908101604090815260178083526706f05b59d3b200006020808501919091526608e1bc9bf040009284019290925261012e6060840152600052600490527fff624574ceefb6578b3887a7448cf2ca4d120002f646987b0a9b9ad3f6dc2c108151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff90921691909117905550608060405190810160409081526018808352670de0b6b3a76400006020808501919091526611c37937e080009284019290925260c36060840152600052600490527f1ac66383b86984a837d32661c9fdda480194de6e2dbd3891e29fadcb763a62da8151815463ffffffff191663ffffffff9190911617815560208201518160010155604082015181600201556060820151600391909101805463ffffffff191663ffffffff90921691909117905550565b60005433600160a060020a03908116911614612d0557600080fd5b600160a060020a03811660009081526001602052604090205460ff161515612d9157600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b60005433600160a060020a0390811691161480612dcf5750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515612dda57600080fd5b600d805460ff909216620100000262ff00001961ffff90941661ffff199093169290921792909216179055565b601881565b6000806000806000612e1c6149ba565b6002546101009004600160a060020a031691506000808363072024608a8360405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b1515612e7f57600080fd5b6102c65a03f11515612e9057600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08b01525063ffffffff90811660c08a015290811660a08901529081166080880152600160a060020a03918216604080890191909152921660208701526001604060020a03909216855260035490911692508290630672859b908b90600090516020015260405160e060020a63ffffffff84160281526001604060020a039091166004820152602401602060405180830381600087803b1515612f5f57600080fd5b6102c65a03f11515612f7057600080fd5b5050506040518051915050602083015183608001518460a00151919b909a50909850909650945050505050565b600080600080600080600080600789815481101515612fb857fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a031697506000886001604060020a031611156130a757612ffe88611a5a565b600354939a5090985090955063ffffffff169350600160a060020a0316905080630672859b8960006040516020015260405160e060020a63ffffffff84160281526001604060020a039091166004820152602401602060405180830381600087803b151561306b57600080fd5b6102c65a03f1151561307c57600080fd5b50505060405180516001604060020a038a166000908152600560205260409020600101549096509250505b50919395979092949650565b600054600160a060020a031681565b60078054829081106130d057fe5b9060005260206000209060049182820401919006600802915054906101000a90046001604060020a031681565b6001604060020a0381166000908152600560205260408120600101548190118061314a57506001604060020a038216600090815260086020526040902060010154600160a060020a031615155b92915050565b6000806000806000806000806000806000600b60008e600160a060020a0316600160a060020a03168152602001908152602001600020805490508c111561319657613276565b600160a060020a038d166000908152600b6020526040902080548d9081106131ba57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03169a50600860008c6001604060020a03166001604060020a0316815260200190815260200160002090508060010160009054906101000a9004600160a060020a031699508060020160009054906101000a9004600160a060020a03169850806003015497508060040160009054906101000a900460ff1696508060050154955061326b8b612e0c565b929750909550935091505b509295989b9194979a5092959850565b600d5461ffff1681565b600a8054829081106130d057fe5b60005433600160a060020a039081169116146132b957600080fd5b600160a060020a03811660009081526001602081905260409091205460ff1615151415612d9157600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b600c6020528160005260406000208181548110151561336357fe5b60009182526020909120600390910201805460018201546002909201546001604060020a03909116935090915083565b60008060006133a06149ba565b6002546000906101009004600160a060020a031615156133bf57600080fd5b600354600160a060020a031615156133d657600080fd5b60025460ff16156133e657600080fd5b8515156133f257600080fd5b6001604060020a03871660009081526008602052604081208054909650111561341a57600080fd5b600354600160a060020a03169350836335f097f38860006040516020015260405160e060020a63ffffffff84160281526001604060020a039091166004820152602401602060405180830381600087803b151561347657600080fd5b6102c65a03f1151561348757600080fd5b505050604051805190501561349b57600080fd5b506002546101009004600160a060020a031691506000826307202460888360405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b15156134fe57600080fd5b6102c65a03f1151561350f57600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08a0152505063ffffffff9182166080880152600160a060020a0390921660408701529190911660208501526001604060020a0391821684529150871682516001604060020a03161461358e57600080fd5b33600160a060020a03168260400151600160a060020a0316146135b057600080fd5b6001604060020a03871660009081526005602052604081205411156135f2576001604060020a03871660009081526005602052604090206001018690556135fc565b6135fc87876146bf565b33600160a060020a03167feb7043a06aaf528eb4562cb77682ccaa8efe8ac7b6759947feaf9f77a16aa10e886040516001604060020a03909116815260200160405180910390a250505050505050565b600160a060020a03166000908152600b602052604090205490565b6000806136726149ba565b600080600061367f614a06565b6002546101009004600160a060020a0316151561369b57600080fd5b600354600160a060020a031615156136b257600080fd5b60025460ff16156136c257600080fd5b6001604060020a03881660009081526005602052604090206001015496508615806136ed5750863414155b156136f757600080fd5b6002546101009004600160a060020a0316955060009350856307202460898660405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b151561375b57600080fd5b6102c65a03f1151561376c57600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08d0152505063ffffffff91821660808b0152600160a060020a0390921660408a01529190911660208801526001604060020a0391821687529450881685516001604060020a0316146137eb57600080fd5b33600160a060020a03168560400151600160a060020a0316141561380e57600080fd5b8460400151600d5490935060649061ffff16880204915061382e8861474d565b6138383389613f33565b82600160a060020a03166108fc61384f8985614890565b9081150290604051600060405180830381858888f19350505050151561387457600080fd5b606060405190810160409081526001604060020a038a16825260208083018a90524282840152600160a060020a0386166000908152600c90915220805491925090600181016138c38382614a26565b600092835260209092208391600302018151815467ffffffffffffffff19166001604060020a0391909116178155602082015181600101556040820151816002015550505033600160a060020a03167fbfa4ed7e68cf0c080716886ff4468113df6b425ef79ac4911a1f264202dce424896040516001604060020a03909116815260200160405180910390a25050505050505050565b60065463ffffffff1681565b600061396f6149ba565b6002546000906101009004600160a060020a0316151561398e57600080fd5b600354600160a060020a031615156139a557600080fd5b60025460ff16156139b557600080fd5b6001604060020a03841660009081526005602052604090205415156139d957600080fd5b506002546101009004600160a060020a031691506000826307202460858360405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b1515613a3c57600080fd5b6102c65a03f11515613a4d57600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08a0152505063ffffffff9182166080880152600160a060020a0390921660408701529190911660208501526001604060020a0391821684529150841682516001604060020a031614613acc57600080fd5b33600160a060020a03168260400151600160a060020a031614613aee57600080fd5b613af78461474d565b50505050565b600b60205281600052604060002081815481101515613b1857fe5b9060005260206000209060049182820401919006600802915091509054906101000a90046001604060020a031681565b6000806000613b556149ba565b600254600090819081906101009004600160a060020a03161515613b7857600080fd5b600354600160a060020a03161515613b8f57600080fd5b60025460ff1615613b9f57600080fd5b6001604060020a038816600090815260086020526040902080549097501515613bc757600080fd5b600487015460ff16151560011415613bde57600080fd5b60038701549550348614613bf157600080fd5b6002546101009004600160a060020a0316945060009250846307202460898560405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b1515613c5557600080fd5b6102c65a03f11515613c6657600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08c0152505063ffffffff91821660808a0152600160a060020a0390921660408901529190911660208701526001604060020a0391821686529350881684516001604060020a031614613ce557600080fd5b33600160a060020a03168460400151600160a060020a03161415613d0857600080fd5b600d5460649061ffff16870260028901805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03161790556005890180544201905560048901805460ff1916600117905504915060408401519050613d6b3389613f33565b80600160a060020a03166108fc613d828885614890565b9081150290604051600060405180830381858888f193505050501515613da757600080fd5b613db181896148a4565b33600160a060020a03167fec9485c094547f7e3de5ae91993db798d626a05c7561391e1dc7129aec0c0e21896040516001604060020a03909116815260200160405180910390a25050505050505050565b60025460ff1681565b60005433600160a060020a03908116911614613e2657600080fd5b600160a060020a03811615612d915760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000806000806000806000806000806000600a8c815481101515613e8257fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03169a50600860008c6001604060020a03166001604060020a0316815260200190815260200160002090508060010160009054906101000a9004600160a060020a031699508060020160009054906101000a9004600160a060020a03169850806003015497508060040160009054906101000a900460ff1696508060050154955061195a8b612e0c565b6000613f3d6149ba565b6002546101009004600160a060020a03169150600080836307202460868360405160e0015260405160e060020a63ffffffff84160281526001604060020a03909116600482015260240160e060405180830381600087803b1515613fa057600080fd5b6102c65a03f11515613fb157600080fd5b505050604051805190602001805190602001805190602001805190602001805190602001805190602001805160e08b01525063ffffffff90811660c08a015290811660a08901529081166080880152600160a060020a03909116604087015216602085019081526001604060020a0390911684526018905163ffffffff16116142125760046000846020015163ffffffff1663ffffffff16815260200190815260200160002091508260200151825463ffffffff9081169116141561421257600382015463ffffffff1660c084015163ffffffff1610156142125760038201546140ab9063ffffffff1660c085015163ffffffff16614890565b905060008163ffffffff1611156142125783600160a060020a03166389b2050b84604001516140e48463ffffffff16866002015461498f565b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561413057600080fd5b6102c65a03f1151561414157600080fd5b50505060405180515050600160a060020a0384166332666a31845185608001518660a00151600387015463ffffffff1660405163ffffffff86811660e060020a0282526001604060020a0395909516600482015292841660448401529083166064830152909116608482015260a06024820152600960a48201527f206e616d65206d6520000000000000000000000000000000000000000000000060c482015260e401600060405180830381600087803b15156141fd57600080fd5b6102c65a03f1151561420e57600080fd5b5050505b83600160a060020a03166360c6ccb284604001518760405160e060020a63ffffffff8516028152600160a060020a0390921660048301526001604060020a03166024820152604401600060405180830381600087803b151561427357600080fd5b6102c65a03f1151561428457600080fd5b50505083600160a060020a0316639248019e878760405160e060020a63ffffffff8516028152600160a060020a0390921660048301526001604060020a03166024820152604401600060405180830381600087803b15156142e457600080fd5b6102c65a03f115156142f557600080fd5b505050505050505050565b6001604060020a0383166000908152600860205260409020600181018054600160a060020a03871673ffffffffffffffffffffffffffffffffffffffff199182161790915560028201805490911690556003810183905560048101805460ff1916905560058101829055805415156143d457600a8054600101906143849082614a52565b808255600a805486926000190190811061439a57fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055505b5050505050565b6001604060020a03811660009081526008602052604090208054151561440057611a56565b600a54815411611a56578054600a8054600891600091600019810190811061442457fe5b6000918252602080832060048084049091015492066008026101000a9091046001604060020a03168352820192909252604001902055600a8054600019810190811061446c57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a0316600a60018360000154038154811015156144ab57fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055506001600a818180549050039150816144fc9190614a52565b50506001604060020a0316600090815260086020526040812081815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915560028201805490911690556003810182905560048101805460ff1916905560050155565b600160a060020a0382166000908152600b602052604081205b80548210156145e057826001604060020a0316818381548110151561459857fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03166001604060020a031614156145d5576145e0565b600190910190614577565b8054821015613af7578054819060001981019081106145fb57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a0316818381548110151561463257fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a0316021790555080600182805490500381548110151561468057fe5b90600052602060002090600491828204019190066008026101000a8154906001604060020a030219169055808054809190600190036143d49190614a52565b6001604060020a038216600090815260056020526040902060018101829055805415156147485760078054600101906146f89082614a52565b8082556007805485926000190190811061470e57fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a031602179055505b505050565b6001604060020a03811660009081526005602052604090208054151561477257611a56565b600754815411611a5657805460078054600591600091600019810190811061479657fe5b6000918252602080832060048084049091015492066008026101000a9091046001604060020a031683528201929092526040019020556007805460001981019081106147de57fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03166007600183600001540381548110151561481d57fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550600160078181805490500391508161486e9190614a52565b50506001604060020a0316600090815260056020526040812081815560010155565b6000808284101561489d57fe5b5050900390565b600080600160a060020a03841615613af7575050600160a060020a0382166000908152600b60205260408120905b815481101561493857826001604060020a031682828154811015156148f357fe5b90600052602060002090600491828204019190066008029054906101000a90046001604060020a03166001604060020a0316141561493057613af7565b6001016148d2565b815482906001810161494a8382614a52565b916000526020600020906004918282040191900660080285909190916101000a8154816001604060020a0302191690836001604060020a031602179055505050505050565b60008282028315806149ab57508284828115156149a857fe5b04145b15156149b357fe5b9392505050565b610100604051908101604090815260008083526020830181905290820152606081016149e4614a86565b8152600060208201819052604082018190526060820181905260809091015290565b606060405190810160409081526000808352602083018190529082015290565b815481835581811511614748576003028160030283600052602060002091820191016147489190614a98565b8154818355818115116147485760030160049004816003016004900483600052602060002091820191016147489190614acf565b60206040519081016040526000815290565b610b8c91905b80821115614acb57805467ffffffffffffffff191681556000600182018190556002820155600301614a9e565b5090565b610b8c91905b80821115614acb5760008155600101614ad55600a165627a7a7230582073bb2bd72813d7046e86d3c077137127791d6f12c219717e2b389720d91d31850029000000000000000000000000abc1c404424bdf24c19a5cc5ef8f47781d18eb3e0000000000000000000000000000000000000000000000000000000000000000

    Constructor Arguments (ABI-encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000abc1c404424bdf24c19a5cc5ef8f47781d18eb3e0000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Found 2 constructor arguments :
Arg [0] : 000000000000000000000000abc1c404424bdf24c19a5cc5ef8f47781d18eb3e
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://73bb2bd72813d7046e86d3c077137127791d6f12c219717e2b389720d91d3185

 

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.