ETH Price: $3,257.47 (-2.48%)

Contract

0x9A376e31f1947c468Ca904b4307c8970667e0EC2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Add Moderator89241112019-11-13 3:16:561826 days ago1573615016IN
0x9A376e31...0667e0EC2
0 ETH0.0009913220
Remove Item Lend...62383062018-08-30 2:57:282267 days ago1535597848IN
0x9A376e31...0667e0EC2
0 ETH0.000093564
Remove Item Lend...62382992018-08-30 2:55:342267 days ago1535597734IN
0x9A376e31...0667e0EC2
0 ETH0.000093564
Remove Borrowing...62382892018-08-30 2:53:422267 days ago1535597622IN
0x9A376e31...0667e0EC2
0 ETH0.00016234
Remove Borrowing...62382862018-08-30 2:52:572267 days ago1535597577IN
0x9A376e31...0667e0EC2
0 ETH0.00016234
Add Moderator62348812018-08-29 13:29:232267 days ago1535549363IN
0x9A376e31...0667e0EC2
0 ETH0.000198264
Add Moderator62347912018-08-29 13:07:012267 days ago1535548021IN
0x9A376e31...0667e0EC2
0 ETH0.000198264
Add Moderator62343612018-08-29 11:13:322267 days ago1535541212IN
0x9A376e31...0667e0EC2
0 ETH0.000198264
Add Moderator62342632018-08-29 10:50:292267 days ago1535539829IN
0x9A376e31...0667e0EC2
0 ETH0.000198264
0x6060604062342322018-08-29 10:42:482267 days ago1535539368IN
 Create: EtheremonTradeData
0 ETH0.005410974

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtheremonTradeData

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.16;

// copyright [email protected]

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 = false;

    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) ;
}

interface EtheremonMonsterNFTInterface {
   function triggerTransferEvent(address _from, address _to, uint _tokenId) external;
   function getMonsterCP(uint64 _monsterId) constant external returns(uint cp);
}

contract EtheremonTradeData is BasicAccessControl {
    struct BorrowItem {
        uint index;
        address owner;
        address borrower;
        uint price;
        bool lent;
        uint releaseTime;
        uint createTime;
    }
    
    struct SellingItem {
        uint index;
        uint price;
        uint createTime;
    }

    mapping(uint => SellingItem) public sellingDict; // monster id => item
    uint[] public sellingList; // monster id
    
    mapping(uint => BorrowItem) public borrowingDict;
    uint[] public borrowingList;

    mapping(address => uint[]) public lendingList;
    
    function removeSellingItem(uint _itemId) onlyModerators external {
        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(uint _itemId, uint _price, uint _createTime) onlyModerators external {
        SellingItem storage item = sellingDict[_itemId];
        item.price = _price;
        item.createTime = _createTime;
        
        if (item.index == 0) {
            item.index = ++sellingList.length;
            sellingList[item.index - 1] = _itemId;
        }
    }
    
    function removeBorrowingItem(uint _itemId) onlyModerators external {
        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, uint _itemId, uint _price, address _borrower, bool _lent, uint _releaseTime, uint _createTime) onlyModerators external {
        BorrowItem storage item = borrowingDict[_itemId];
        item.owner = _owner;
        item.borrower = _borrower;
        item.price = _price;
        item.lent = _lent;
        item.releaseTime = _releaseTime;
        item.createTime = _createTime;
        
        if (item.index == 0) {
            item.index = ++borrowingList.length;
            borrowingList[item.index - 1] = _itemId;
        }
    }
    
    function addItemLendingList(address _trainer, uint _objId) onlyModerators external {
        lendingList[_trainer].push(_objId);
    }
    
    function removeItemLendingList(address _trainer, uint _objId) onlyModerators external {
        uint foundIndex = 0;
        uint[] 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--;
        }
    }

    // read access
    function isOnBorrow(uint _objId) constant external returns(bool) {
        return (borrowingDict[_objId].index > 0);
    }
    
    function isOnSell(uint _objId) constant external returns(bool) {
        return (sellingDict[_objId].index > 0);
    }
    
    function isOnLent(uint _objId) constant external returns(bool) {
        return borrowingDict[_objId].lent;
    }
    
    function getSellPrice(uint _objId) constant external returns(uint) {
        return sellingDict[_objId].price;
    }
    
    function isOnTrade(uint _objId) constant external returns(bool) {
        return ((borrowingDict[_objId].index > 0) || (sellingDict[_objId].index > 0)); 
    }
    
    function getBorrowBasicInfo(uint _objId) constant external returns(address owner, bool lent) {
        BorrowItem storage borrowItem = borrowingDict[_objId];
        return (borrowItem.owner, borrowItem.lent);
    }
    
    function getBorrowInfo(uint _objId) constant external returns(uint index, address owner, address borrower, uint price, bool lent, uint createTime, uint releaseTime) {
        BorrowItem storage borrowItem = borrowingDict[_objId];
        return (borrowItem.index, borrowItem.owner, borrowItem.borrower, borrowItem.price, borrowItem.lent, borrowItem.createTime, borrowItem.releaseTime);
    }
    
    function getSellInfo(uint _objId) constant external returns(uint index, uint price, uint createTime) {
        SellingItem storage item = sellingDict[_objId];
        return (item.index, item.price, item.createTime);
    }
    
    function getTotalSellingItem() constant external returns(uint) {
        return sellingList.length;
    }
    
    function getTotalBorrowingItem() constant external returns(uint) {
        return borrowingList.length;
    }
    
    function getTotalLendingItem(address _trainer) constant external returns(uint) {
        return lendingList[_trainer].length;
    }
    
    function getSellingInfoByIndex(uint _index) constant external returns(uint objId, uint price, uint createTime) {
        objId = sellingList[_index];
        SellingItem storage item = sellingDict[objId];
        price = item.price;
        createTime = item.createTime;
    }
    
    function getBorrowInfoByIndex(uint _index) constant external returns(uint objId, address owner, address borrower, uint price, bool lent, uint createTime, uint releaseTime) {
        objId = borrowingList[_index];
        BorrowItem storage borrowItem = borrowingDict[objId];
        return (objId, borrowItem.owner, borrowItem.borrower, borrowItem.price, borrowItem.lent, borrowItem.createTime, borrowItem.releaseTime);
    }
    
    function getLendingObjId(address _trainer, uint _index) constant external returns(uint) {
        return lendingList[_trainer][_index];
    }
    
    function getLendingInfo(address _trainer, uint _index) constant external returns(uint objId, address owner, address borrower, uint price, bool lent, uint createTime, uint releaseTime) {
        objId = lendingList[_trainer][_index];
        BorrowItem storage borrowItem = borrowingDict[objId];
        return (objId, borrowItem.owner, borrowItem.borrower, borrowItem.price, borrowItem.lent, borrowItem.createTime, borrowItem.releaseTime);
    }
    
    function getTradingInfo(uint _objId) constant external returns(uint sellingPrice, uint lendingPrice, bool lent, uint releaseTime, address owner, address borrower) {
        SellingItem storage item = sellingDict[_objId];
        sellingPrice = item.price;
        BorrowItem storage borrowItem = borrowingDict[_objId];
        lendingPrice = borrowItem.price;
        lent = borrowItem.lent;
        releaseTime = borrowItem.releaseTime;
        owner = borrowItem.owner;
        borrower = borrower;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"getTotalBorrowingItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_itemId","type":"uint256"}],"name":"removeSellingItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint256"}],"name":"getBorrowInfo","outputs":[{"name":"index","type":"uint256"},{"name":"owner","type":"address"},{"name":"borrower","type":"address"},{"name":"price","type":"uint256"},{"name":"lent","type":"bool"},{"name":"createTime","type":"uint256"},{"name":"releaseTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"}],"name":"getTotalLendingItem","outputs":[{"name":"","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":"","type":"uint256"}],"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"},{"name":"createTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sellingDict","outputs":[{"name":"index","type":"uint256"},{"name":"price","type":"uint256"},{"name":"createTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_itemId","type":"uint256"}],"name":"removeBorrowingItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint256"}],"name":"isOnLent","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getSellingInfoByIndex","outputs":[{"name":"objId","type":"uint256"},{"name":"price","type":"uint256"},{"name":"createTime","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":true,"inputs":[{"name":"_trainer","type":"address"},{"name":"_index","type":"uint256"}],"name":"getLendingInfo","outputs":[{"name":"objId","type":"uint256"},{"name":"owner","type":"address"},{"name":"borrower","type":"address"},{"name":"price","type":"uint256"},{"name":"lent","type":"bool"},{"name":"createTime","type":"uint256"},{"name":"releaseTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalModerators","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_objId","type":"uint256"}],"name":"addItemLendingList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint256"}],"name":"isOnSell","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getTotalSellingItem","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newModerator","type":"address"}],"name":"AddModerator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_trainer","type":"address"},{"name":"_objId","type":"uint256"}],"name":"removeItemLendingList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_trainer","type":"address"},{"name":"_index","type":"uint256"}],"name":"getLendingObjId","outputs":[{"name":"","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":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint256"}],"name":"isOnBorrow","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"getBorrowInfoByIndex","outputs":[{"name":"objId","type":"uint256"},{"name":"owner","type":"address"},{"name":"borrower","type":"address"},{"name":"price","type":"uint256"},{"name":"lent","type":"bool"},{"name":"createTime","type":"uint256"},{"name":"releaseTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_itemId","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_borrower","type":"address"},{"name":"_lent","type":"bool"},{"name":"_releaseTime","type":"uint256"},{"name":"_createTime","type":"uint256"}],"name":"addBorrowingItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"borrowingList","outputs":[{"name":"","type":"uint256"}],"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":"_objId","type":"uint256"}],"name":"getSellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint256"}],"name":"getTradingInfo","outputs":[{"name":"sellingPrice","type":"uint256"},{"name":"lendingPrice","type":"uint256"},{"name":"lent","type":"bool"},{"name":"releaseTime","type":"uint256"},{"name":"owner","type":"address"},{"name":"borrower","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint256"}],"name":"getBorrowBasicInfo","outputs":[{"name":"owner","type":"address"},{"name":"lent","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"lendingList","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint256"}],"name":"getSellInfo","outputs":[{"name":"index","type":"uint256"},{"name":"price","type":"uint256"},{"name":"createTime","type":"uint256"}],"payable":false,"stateMutability":"view","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":false,"inputs":[{"name":"_itemId","type":"uint256"},{"name":"_price","type":"uint256"},{"name":"_createTime","type":"uint256"}],"name":"addSellingItem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_objId","type":"uint256"}],"name":"isOnTrade","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}]

6060604052600080546002805460ff19169055600160a060020a033316600160b060020a03199091161790556112c48061003a6000396000f3006060604052600436106101b55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166220338581146101ba578063067002ce146101df5780630e137368146101f75780631008a2a51461025957806314d0f1ba14610278578063207a70b3146102ab57806326cd0888146102c157806329da3b4d146102fb5780633a060bc914610311578063488f1e431461032757806348ef5aa81461033d5780634afd8a19146103555780634efb023e1461037757806350048174146103a1578063542c8f37146103c3578063654470fc146103d95780636c81fd6d146103ec578063770c6bde1461040b5780637d3266351461042d5780638da5cb5b1461044f578063999ec0a01461047e5780639cbb165e146104945780639e5b241a146104aa578063a18e0ce4146104c0578063b58c87ba146104f8578063b85d62751461050e578063ba730e531461052d578063cc4999ea14610543578063e40906ed1461059f578063e88dfc67146105d9578063e9bc63f7146105fb578063ee4e441614610611578063f285329214610624578063f797ac0e14610643578063ff510ad81461065f575b600080fd5b34156101c557600080fd5b6101cd610675565b60405190815260200160405180910390f35b34156101ea57600080fd5b6101f560043561067c565b005b341561020257600080fd5b61020d600435610794565b604051968752600160a060020a0395861660208801529390941660408087019190915260608601929092521515608085015260a084019290925260c083015260e0909101905180910390f35b341561026457600080fd5b6101cd600160a060020a03600435166107e4565b341561028357600080fd5b610297600160a060020a03600435166107ff565b604051901515815260200160405180910390f35b34156102b657600080fd5b61020d600435610814565b34156102cc57600080fd5b6102d7600435610862565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561030657600080fd5b6101f5600435610883565b341561031c57600080fd5b6102976004356109da565b341561033257600080fd5b6102d76004356109f2565b341561034857600080fd5b6101f56004351515610a3b565b341561036057600080fd5b61020d600160a060020a0360043516602435610a69565b341561038257600080fd5b61038a610b13565b60405161ffff909116815260200160405180910390f35b34156103ac57600080fd5b6101f5600160a060020a0360043516602435610b35565b34156103ce57600080fd5b610297600435610bb3565b34156103e457600080fd5b6101cd610bc6565b34156103f757600080fd5b6101f5600160a060020a0360043516610bcc565b341561041657600080fd5b6101f5600160a060020a0360043516602435610c76565b341561043857600080fd5b6101cd600160a060020a0360043516602435610d8a565b341561045a57600080fd5b610462610dc2565b604051600160a060020a03909116815260200160405180910390f35b341561048957600080fd5b6101cd600435610dd1565b341561049f57600080fd5b610297600435610df0565b34156104b557600080fd5b61020d600435610e03565b34156104cb57600080fd5b6101f5600160a060020a03600435811690602435906044359060643516608435151560a43560c435610e82565b341561050357600080fd5b6101cd600435610f89565b341561051957600080fd5b6101f5600160a060020a0360043516610f97565b341561053857600080fd5b6101cd600435611041565b341561054e57600080fd5b610559600435611056565b60405195865260208601949094529115156040808601919091526060850191909152600160a060020a039182166080850152911660a083015260c0909101905180910390f35b34156105aa57600080fd5b6105b56004356110a2565b604051600160a060020a039092168252151560208201526040908101905180910390f35b34156105e457600080fd5b6101cd600160a060020a03600435166024356110cf565b341561060657600080fd5b6102d76004356110fd565b341561061c57600080fd5b61029761111c565b341561062f57600080fd5b6101f5600160a060020a0360043516611125565b341561064e57600080fd5b6101f560043560243560443561117c565b341561066a57600080fd5b610297600435611222565b6006545b90565b6000805433600160a060020a03908116911614806106b85750600160a060020a03331660009081526001602081905260409091205460ff161515145b15156106c357600080fd5b506000818152600360205260409020805415156106df57610790565b60045481541161079057805460048054600391600091600019810190811061070357fe5b6000918252602080832090910154835282019290925260400190205560048054600019810190811061073157fe5b9060005260206000209001546004600183600001540381548110151561075357fe5b6000918252602090912001556004805460001901906107729082611251565b50600082815260036020526040812081815560018101829055600201555b5050565b600090815260056020819052604090912080546001820154600283015460038401546004850154600686015495909601549396600160a060020a03938416969390921694909360ff909316929091565b600160a060020a031660009081526007602052604090205490565b60016020526000908152604090205460ff1681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006909501549395600160a060020a03938416959290931693909260ff16919087565b60036020526000908152604090208054600182015460029092015490919083565b6000805433600160a060020a03908116911614806108bf5750600160a060020a03331660009081526001602081905260409091205460ff161515145b15156108ca57600080fd5b506000818152600560205260409020805415156108e657610790565b60065481541161079057805460068054600591600091600019810190811061090a57fe5b6000918252602080832090910154835282019290925260400190205560068054600019810190811061093857fe5b9060005260206000209001546006600183600001540381548110151561095a57fe5b6000918252602090912001556006805460001901906109799082611251565b50506000908152600560208190526040822082815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915560028201805490911690556003810183905560048101805460ff1916905590810182905560060155565b60009081526005602052604090206004015460ff1690565b600080600080600485815481101515610a0757fe5b6000918252602080832090910154808352600390915260409091206001810154600290910154919790965090945092505050565b60005433600160a060020a03908116911614610a5657600080fd5b6002805460ff1916911515919091179055565b600080600080600080600080600760008b600160a060020a0316600160a060020a0316815260200190815260200160002089815481101515610aa757fe5b600091825260208083209091015480835260059182905260409092206001810154600282015460038301546004840154600685015495850154969e50600160a060020a039384169d50919092169a5090985060ff16965090945090925090505092959891949750929550565b60005474010000000000000000000000000000000000000000900461ffff1681565b60005433600160a060020a0390811691161480610b705750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515610b7b57600080fd5b600160a060020a0382166000908152600760205260409020805460018101610ba38382611251565b5060009182526020909120015550565b6000908152600360205260408120541190565b60045490565b60005433600160a060020a03908116911614610be757600080fd5b600160a060020a03811660009081526001602052604090205460ff161515610c7357600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b60008054819033600160a060020a0390811691161480610cb45750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515610cbf57600080fd5b5050600160a060020a03821660009081526007602052604081205b8054821015610d1457828183815481101515610cf257fe5b9060005260206000209001541415610d0957610d14565b600190910190610cda565b8054821015610d8457805481906000198101908110610d2f57fe5b9060005260206000209001548183815481101515610d4957fe5b600091825260209091200155805481906000198101908110610d6757fe5b60009182526020822001558054610d82826000198301611251565b505b50505050565b600160a060020a0382166000908152600760205260408120805483908110610dae57fe5b906000526020600020900154905092915050565b600054600160a060020a031681565b6004805482908110610ddf57fe5b600091825260209091200154905081565b6000908152600560205260408120541190565b600080600080600080600080600689815481101515610e1e57fe5b6000918252602080832091909101548083526005918290526040909220600181015460028201546003830154600484015460068501549490950154959f600160a060020a039384169f50929091169c509a5060ff9092169850965090945092505050565b6000805433600160a060020a0390811691161480610ebe5750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515610ec957600080fd5b506000868152600560208190526040909120600181018054600160a060020a03808c1673ffffffffffffffffffffffffffffffffffffffff1992831617909255600283018054928916929091169190911790556003810187905560048101805486151560ff199091161790559081018390556006810182905580541515610f7f576006805460010190610f5c9082611251565b80825560068054899260001901908110610f7257fe5b6000918252602090912001555b5050505050505050565b6006805482908110610ddf57fe5b60005433600160a060020a03908116911614610fb257600080fd5b600160a060020a03811660009081526001602081905260409091205460ff1615151415610c7357600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b60009081526003602052604090206001015490565b60009081526003602081815260408084206001908101546005938490529185209384015460048501549385015494909101549195909460ff9093169392600160a060020a039092169190565b60009081526005602052604090206001810154600490910154600160a060020a039091169160ff90911690565b6007602052816000526040600020818154811015156110ea57fe5b6000918252602090912001549150829050565b6000908152600360205260409020805460018201546002909201549092565b60025460ff1681565b60005433600160a060020a0390811691161461114057600080fd5b600160a060020a03811615610c735760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000805433600160a060020a03908116911614806111b85750600160a060020a03331660009081526001602081905260409091205460ff161515145b15156111c357600080fd5b506000838152600360205260409020600181018390556002810182905580541515610d845760048054600101906111fa9082611251565b8082556004805486926000190190811061121057fe5b60009182526020909120015550505050565b6000818152600560205260408120548190118061124b5750600082815260036020526040812054115b92915050565b8154818355818115116112755760008381526020902061127591810190830161127a565b505050565b61067991905b808211156112945760008155600101611280565b50905600a165627a7a72305820bff0bcdd3f73c744023897ea0d5a4d5df8bacab4e2fc092351148939fb05af1e0029

Deployed Bytecode

0x6060604052600436106101b55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166220338581146101ba578063067002ce146101df5780630e137368146101f75780631008a2a51461025957806314d0f1ba14610278578063207a70b3146102ab57806326cd0888146102c157806329da3b4d146102fb5780633a060bc914610311578063488f1e431461032757806348ef5aa81461033d5780634afd8a19146103555780634efb023e1461037757806350048174146103a1578063542c8f37146103c3578063654470fc146103d95780636c81fd6d146103ec578063770c6bde1461040b5780637d3266351461042d5780638da5cb5b1461044f578063999ec0a01461047e5780639cbb165e146104945780639e5b241a146104aa578063a18e0ce4146104c0578063b58c87ba146104f8578063b85d62751461050e578063ba730e531461052d578063cc4999ea14610543578063e40906ed1461059f578063e88dfc67146105d9578063e9bc63f7146105fb578063ee4e441614610611578063f285329214610624578063f797ac0e14610643578063ff510ad81461065f575b600080fd5b34156101c557600080fd5b6101cd610675565b60405190815260200160405180910390f35b34156101ea57600080fd5b6101f560043561067c565b005b341561020257600080fd5b61020d600435610794565b604051968752600160a060020a0395861660208801529390941660408087019190915260608601929092521515608085015260a084019290925260c083015260e0909101905180910390f35b341561026457600080fd5b6101cd600160a060020a03600435166107e4565b341561028357600080fd5b610297600160a060020a03600435166107ff565b604051901515815260200160405180910390f35b34156102b657600080fd5b61020d600435610814565b34156102cc57600080fd5b6102d7600435610862565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561030657600080fd5b6101f5600435610883565b341561031c57600080fd5b6102976004356109da565b341561033257600080fd5b6102d76004356109f2565b341561034857600080fd5b6101f56004351515610a3b565b341561036057600080fd5b61020d600160a060020a0360043516602435610a69565b341561038257600080fd5b61038a610b13565b60405161ffff909116815260200160405180910390f35b34156103ac57600080fd5b6101f5600160a060020a0360043516602435610b35565b34156103ce57600080fd5b610297600435610bb3565b34156103e457600080fd5b6101cd610bc6565b34156103f757600080fd5b6101f5600160a060020a0360043516610bcc565b341561041657600080fd5b6101f5600160a060020a0360043516602435610c76565b341561043857600080fd5b6101cd600160a060020a0360043516602435610d8a565b341561045a57600080fd5b610462610dc2565b604051600160a060020a03909116815260200160405180910390f35b341561048957600080fd5b6101cd600435610dd1565b341561049f57600080fd5b610297600435610df0565b34156104b557600080fd5b61020d600435610e03565b34156104cb57600080fd5b6101f5600160a060020a03600435811690602435906044359060643516608435151560a43560c435610e82565b341561050357600080fd5b6101cd600435610f89565b341561051957600080fd5b6101f5600160a060020a0360043516610f97565b341561053857600080fd5b6101cd600435611041565b341561054e57600080fd5b610559600435611056565b60405195865260208601949094529115156040808601919091526060850191909152600160a060020a039182166080850152911660a083015260c0909101905180910390f35b34156105aa57600080fd5b6105b56004356110a2565b604051600160a060020a039092168252151560208201526040908101905180910390f35b34156105e457600080fd5b6101cd600160a060020a03600435166024356110cf565b341561060657600080fd5b6102d76004356110fd565b341561061c57600080fd5b61029761111c565b341561062f57600080fd5b6101f5600160a060020a0360043516611125565b341561064e57600080fd5b6101f560043560243560443561117c565b341561066a57600080fd5b610297600435611222565b6006545b90565b6000805433600160a060020a03908116911614806106b85750600160a060020a03331660009081526001602081905260409091205460ff161515145b15156106c357600080fd5b506000818152600360205260409020805415156106df57610790565b60045481541161079057805460048054600391600091600019810190811061070357fe5b6000918252602080832090910154835282019290925260400190205560048054600019810190811061073157fe5b9060005260206000209001546004600183600001540381548110151561075357fe5b6000918252602090912001556004805460001901906107729082611251565b50600082815260036020526040812081815560018101829055600201555b5050565b600090815260056020819052604090912080546001820154600283015460038401546004850154600686015495909601549396600160a060020a03938416969390921694909360ff909316929091565b600160a060020a031660009081526007602052604090205490565b60016020526000908152604090205460ff1681565b600560208190526000918252604090912080546001820154600283015460038401546004850154958501546006909501549395600160a060020a03938416959290931693909260ff16919087565b60036020526000908152604090208054600182015460029092015490919083565b6000805433600160a060020a03908116911614806108bf5750600160a060020a03331660009081526001602081905260409091205460ff161515145b15156108ca57600080fd5b506000818152600560205260409020805415156108e657610790565b60065481541161079057805460068054600591600091600019810190811061090a57fe5b6000918252602080832090910154835282019290925260400190205560068054600019810190811061093857fe5b9060005260206000209001546006600183600001540381548110151561095a57fe5b6000918252602090912001556006805460001901906109799082611251565b50506000908152600560208190526040822082815560018101805473ffffffffffffffffffffffffffffffffffffffff1990811690915560028201805490911690556003810183905560048101805460ff1916905590810182905560060155565b60009081526005602052604090206004015460ff1690565b600080600080600485815481101515610a0757fe5b6000918252602080832090910154808352600390915260409091206001810154600290910154919790965090945092505050565b60005433600160a060020a03908116911614610a5657600080fd5b6002805460ff1916911515919091179055565b600080600080600080600080600760008b600160a060020a0316600160a060020a0316815260200190815260200160002089815481101515610aa757fe5b600091825260208083209091015480835260059182905260409092206001810154600282015460038301546004840154600685015495850154969e50600160a060020a039384169d50919092169a5090985060ff16965090945090925090505092959891949750929550565b60005474010000000000000000000000000000000000000000900461ffff1681565b60005433600160a060020a0390811691161480610b705750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515610b7b57600080fd5b600160a060020a0382166000908152600760205260409020805460018101610ba38382611251565b5060009182526020909120015550565b6000908152600360205260408120541190565b60045490565b60005433600160a060020a03908116911614610be757600080fd5b600160a060020a03811660009081526001602052604090205460ff161515610c7357600160a060020a03811660009081526001602081905260408220805460ff191682179055815461ffff7401000000000000000000000000000000000000000080830482169093011690910275ffff0000000000000000000000000000000000000000199091161790555b50565b60008054819033600160a060020a0390811691161480610cb45750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515610cbf57600080fd5b5050600160a060020a03821660009081526007602052604081205b8054821015610d1457828183815481101515610cf257fe5b9060005260206000209001541415610d0957610d14565b600190910190610cda565b8054821015610d8457805481906000198101908110610d2f57fe5b9060005260206000209001548183815481101515610d4957fe5b600091825260209091200155805481906000198101908110610d6757fe5b60009182526020822001558054610d82826000198301611251565b505b50505050565b600160a060020a0382166000908152600760205260408120805483908110610dae57fe5b906000526020600020900154905092915050565b600054600160a060020a031681565b6004805482908110610ddf57fe5b600091825260209091200154905081565b6000908152600560205260408120541190565b600080600080600080600080600689815481101515610e1e57fe5b6000918252602080832091909101548083526005918290526040909220600181015460028201546003830154600484015460068501549490950154959f600160a060020a039384169f50929091169c509a5060ff9092169850965090945092505050565b6000805433600160a060020a0390811691161480610ebe5750600160a060020a03331660009081526001602081905260409091205460ff161515145b1515610ec957600080fd5b506000868152600560208190526040909120600181018054600160a060020a03808c1673ffffffffffffffffffffffffffffffffffffffff1992831617909255600283018054928916929091169190911790556003810187905560048101805486151560ff199091161790559081018390556006810182905580541515610f7f576006805460010190610f5c9082611251565b80825560068054899260001901908110610f7257fe5b6000918252602090912001555b5050505050505050565b6006805482908110610ddf57fe5b60005433600160a060020a03908116911614610fb257600080fd5b600160a060020a03811660009081526001602081905260409091205460ff1615151415610c7357600160a060020a03166000908152600160205260408120805460ff19169055805475ffff0000000000000000000000000000000000000000198116740100000000000000000000000000000000000000009182900461ffff9081166000190116909102179055565b60009081526003602052604090206001015490565b60009081526003602081815260408084206001908101546005938490529185209384015460048501549385015494909101549195909460ff9093169392600160a060020a039092169190565b60009081526005602052604090206001810154600490910154600160a060020a039091169160ff90911690565b6007602052816000526040600020818154811015156110ea57fe5b6000918252602090912001549150829050565b6000908152600360205260409020805460018201546002909201549092565b60025460ff1681565b60005433600160a060020a0390811691161461114057600080fd5b600160a060020a03811615610c735760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000805433600160a060020a03908116911614806111b85750600160a060020a03331660009081526001602081905260409091205460ff161515145b15156111c357600080fd5b506000838152600360205260409020600181018390556002810182905580541515610d845760048054600101906111fa9082611251565b8082556004805486926000190190811061121057fe5b60009182526020909120015550505050565b6000818152600560205260408120548190118061124b5750600082815260036020526040812054115b92915050565b8154818355818115116112755760008381526020902061127591810190830161127a565b505050565b61067991905b808211156112945760008155600101611280565b50905600a165627a7a72305820bff0bcdd3f73c744023897ea0d5a4d5df8bacab4e2fc092351148939fb05af1e0029

Swarm Source

bzzr://bff0bcdd3f73c744023897ea0d5a4d5df8bacab4e2fc092351148939fb05af1e

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.