Contract 0x5314dD28dE3F215647B64CcB3701E6098A80d080

 
 
Txn Hash
Method
Block
From
To
Value
0x8895d4966f4a2b9444d33f4ed22a318a6edbd210911c8ed3a165e9f1f5bb2df2Transfer84659222019-09-01 18:28:211071 days 3 hrs ago0xdbcbf69866baff8777e5b37aba518fb057aca197 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0801 wei0.000021041
0x65cb56dbe75b688258de3b8ddb2fa000e83c5799c1e00ca03eba7af0b519a263Unset Is Buy By ...70602782019-01-13 17:29:161302 days 4 hrs ago0x05993dd6781f96cd75f61a709468a0759575e86a IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000191664.6
0x066d41e1fab0f08b45985931fe175b8932e729256a50659cfd5ad84f6ef28080Unset Is Rent By...70602782019-01-13 17:29:161302 days 4 hrs ago0xbd99b2f0b40fec080f0d9a3ebff318c9f2a4cff4 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000125764.6
0x650d30e72d5e306c92fe4f9d07e1b4524e6e105fc52fd613001d9d5cd1778215Set Is Rent By A...70529562019-01-12 9:49:321303 days 11 hrs ago0xbd99b2f0b40fec080f0d9a3ebff318c9f2a4cff4 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000070731.1
0x8848a9b024da4984a629a532e739bc4cc118bfba69dfc5bdfed40301eec6be61Set Is Rent By A...70529322019-01-12 9:43:071303 days 11 hrs ago0x05993dd6781f96cd75f61a709468a0759575e86a IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.00005431.1
0xa4693cac03baf29fa31883c615ba6f17a23e29271071f1da7ec224d45f2204aeSet Is Buy By At...70479602019-01-11 12:23:391304 days 9 hrs ago0xf82207d50305ac08c01a28323768a65fda50c31e IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000085811.5
0x080cd8f02bb858cb7f93f4d459dfdf4296a48060635b2e09e7a1e4965f1728f1Unset Is Rent By...70471132019-01-11 8:45:211304 days 12 hrs ago0x070e0c2c7c17c418d2d517bb02a908336d6359a6 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000084682
0x0339a2de9aeee3f2507017294f88ac4b737932b52b5883e278fee00a87675e9dUnset Is Rent By...70469882019-01-11 8:11:461304 days 13 hrs ago0xbd99b2f0b40fec080f0d9a3ebff318c9f2a4cff4 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000084753.1
0x468f22491797e6ddddb525d355e2d7a66d9debb976ee11bc8ab8696951d0cccbUnset Is Rent By...70469872019-01-11 8:11:331304 days 13 hrs ago0x05993dd6781f96cd75f61a709468a0759575e86a IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000148193.5
0x814300d96e63a361ce9289b6eac653f1d561a76c822ba718071ab1cf863c763cReceive Bonus70433072019-01-10 16:22:311305 days 5 hrs ago0x64d0ea4fc60f27e74f1a70aa6f39d403bbe56793 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000885944
0x712ba051f6eea9ce8019fcf8ee523d6e217ccbe057c825cfc7237f95e6475783Unset Is Buy By ...70427842019-01-10 14:07:351305 days 7 hrs ago0x070e0c2c7c17c418d2d517bb02a908336d6359a6 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000045831.1
0xeb2d1ac630ea0027bc0c41eb9102efaa0d5b567ce78492391ca5610bf4c37a4dSet Is Buy By At...70419092019-01-10 10:29:441305 days 11 hrs ago0xf82207d50305ac08c01a28323768a65fda50c31e IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000143022.5
0x2a54efd943141190943875059a8103ac6bbc0334c6b0f5626a771b47f5168c0eSet Is Rent By A...70414032019-01-10 8:13:281305 days 13 hrs ago0x05993dd6781f96cd75f61a709468a0759575e86a IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000128732
0x057151865e624449be1edea4166bf3f9648054ace7c2874e99491fb634ba6628Set Is Rent By A...70414032019-01-10 8:13:281305 days 13 hrs ago0xbd99b2f0b40fec080f0d9a3ebff318c9f2a4cff4 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000128732
0x31661104e8f6b0e8c4fedd72ac3648df46a62645a06457578ed0fe1b2416f2cbSet Is Buy By At...70378842019-01-09 16:59:501306 days 4 hrs ago0xf82207d50305ac08c01a28323768a65fda50c31e IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000062921.1
0x03de88ee02edff3f0b3137e5bb4951a6956bd0cf2c16d537059d6697c4cbeae0Unset Is Rent By...70365432019-01-09 11:10:551306 days 10 hrs ago0x070e0c2c7c17c418d2d517bb02a908336d6359a6 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.00005081.2
0x4881282378d44c48f0da46088bd0a02cf8ef1fe732cfb0b469ed1a9fc59559d5Unset Is Rent By...70360792019-01-09 9:08:011306 days 12 hrs ago0xbd99b2f0b40fec080f0d9a3ebff318c9f2a4cff4 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000035541.3
0x88f80a4f4a3e1deefa89aca5214acc4d1cc881f8d02b31a43439a75b6eac5b25Set Is Rent By A...70360672019-01-09 9:05:241306 days 12 hrs ago0x18bb18dcaa24a3b475c31e8c47a01fd9cf5f829c IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000083671.3
0xde36b424b6b25d0a366c726f62d97b564b6f50894f8f72c510293a8ba0d6ad45Set Is Rent By A...70360672019-01-09 9:05:241306 days 12 hrs ago0x05993dd6781f96cd75f61a709468a0759575e86a IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000083761.3
0x4d69309f6b3ab393fa9e851e971ef9702e8894684b2ec275c0f34640e5d17114Auto Rent By Ato...70341972019-01-09 1:14:351306 days 20 hrs ago0x1b8e15229f052b42c1bdff4a7d131fa600447972 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800.001 Ether0.000316751
0xa458b9aedd14592e2aebb4f5c4db3c4d7d76b51bd5e65487234d8b355c4fa61bBuy By Atom70340592019-01-09 0:32:441306 days 21 hrs ago0x1b8e15229f052b42c1bdff4a7d131fa600447972 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800.0015 Ether0.00008331
0x991097f260f1554883968264d758e283330aaa6552899f3e76340f515b052499Auto Rent By Ato...70338732019-01-08 23:47:581306 days 21 hrs ago0x1b8e15229f052b42c1bdff4a7d131fa600447972 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800.001 Ether0.000316751
0x2263d8bf9da05a025cc6d4bbbcbcc8c44a9dae0690fe42106c73cc2b37fc0e1dBuy By Atom70338342019-01-08 23:40:521306 days 21 hrs ago0x1b8e15229f052b42c1bdff4a7d131fa600447972 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800.0005 Ether0.00008331
0x0950e98c5237a1a99cb8d568b7be2a504e6461bb6170f4ac08cf459582b3aeedEvolve By Atom70337882019-01-08 23:25:581306 days 22 hrs ago0x1b8e15229f052b42c1bdff4a7d131fa600447972 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800 Ether0.000050641
0x127b66c2284e8eceb16141b41b12e2ac5b3379d18f7bf1dfcbabeb2c041ef4c4Auto Rent By Ato...70337752019-01-08 23:22:141306 days 22 hrs ago0x1b8e15229f052b42c1bdff4a7d131fa600447972 IN  0x5314dd28de3f215647b64ccb3701e6098a80d0800.001 Ether0.000301811
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x4d69309f6b3ab393fa9e851e971ef9702e8894684b2ec275c0f34640e5d1711470341972019-01-09 1:14:351306 days 20 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0xa458b9aedd14592e2aebb4f5c4db3c4d7d76b51bd5e65487234d8b355c4fa61b70340592019-01-09 0:32:441306 days 21 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800x070e0c2c7c17c418d2d517bb02a908336d6359a60.0015 Ether
0x991097f260f1554883968264d758e283330aaa6552899f3e76340f515b05249970338732019-01-08 23:47:581306 days 21 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0x2263d8bf9da05a025cc6d4bbbcbcc8c44a9dae0690fe42106c73cc2b37fc0e1d70338342019-01-08 23:40:521306 days 21 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800xf82207d50305ac08c01a28323768a65fda50c31e0.0005 Ether
0x127b66c2284e8eceb16141b41b12e2ac5b3379d18f7bf1dfcbabeb2c041ef4c470337752019-01-08 23:22:141306 days 22 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0x1b4bcc40c781ba85207eab42d8433dea1753e7f36e31a68eb3d56de4c6ca8f0970334682019-01-08 22:07:291306 days 23 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0x1b4bcc40c781ba85207eab42d8433dea1753e7f36e31a68eb3d56de4c6ca8f0970334682019-01-08 22:07:291306 days 23 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800x18bb18dcaa24a3b475c31e8c47a01fd9cf5f829c0.001 Ether
0xe4715cb788e86e044093ab39517106453b2389f39e6fe306728b0178f65311f670308402019-01-08 10:47:521307 days 10 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0x59426310ea705fc67edeb832260a1001f534aeea1c55e9062d44ffef5f2eba7e70307422019-01-08 10:21:101307 days 11 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0x59426310ea705fc67edeb832260a1001f534aeea1c55e9062d44ffef5f2eba7e70307422019-01-08 10:21:101307 days 11 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800x05993dd6781f96cd75f61a709468a0759575e86a0.0015 Ether
0xe3e7409e110f7852e45afb3b0442a0c33bfc8f2092e47bc9fe33c9084f5bf2b870307142019-01-08 10:13:141307 days 11 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0xe3e7409e110f7852e45afb3b0442a0c33bfc8f2092e47bc9fe33c9084f5bf2b870307142019-01-08 10:13:141307 days 11 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800x18bb18dcaa24a3b475c31e8c47a01fd9cf5f829c0.0009 Ether
0xee937de0c8003fc84a172fcd274ca1fee6851ee3cf2a8e8c88d160799d318e8b70249392019-01-07 9:30:381308 days 12 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0xee937de0c8003fc84a172fcd274ca1fee6851ee3cf2a8e8c88d160799d318e8b70249392019-01-07 9:30:381308 days 12 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800x05993dd6781f96cd75f61a709468a0759575e86a0.001 Ether
0xfb996db31da43bf751416e4d1b4a1514b609171b21942cc2296e1bdc240f45c570025632019-01-03 9:18:571312 days 12 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080ENS Name lodaddy.gimmethe.eth0.007 Ether
0x6c49511f6f6fcc7dff68912918cf1e89153e6299e7d11db0bce24812ceef41bb69891722019-01-01 2:09:531314 days 19 hrs ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0x0480fef56975b0389b8e7de2677c98231859da4bd95e84cdf1e4827f9e1b233c69757972018-12-29 20:05:591317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0x0480fef56975b0389b8e7de2677c98231859da4bd95e84cdf1e4827f9e1b233c69757972018-12-29 20:05:591317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800x18bb18dcaa24a3b475c31e8c47a01fd9cf5f829c0.0009 Ether
0xa9b27c4100601ad3aed1cffd1edeaf5af6de1685fa43e1854c77775f4ce68fb669757842018-12-29 20:01:301317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d080 CryptoAtoms0.001 Ether
0xe03984583b58108d4877466bac981062e5d56af30988c7c497617128a64c3b9c69757772018-12-29 19:58:351317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d080CryptoAtoms: Deployer0.008 Ether
0x1eb1f021a7b1bfd5f47506468a80991d4478ec8256776acdb7b7f8b1db3595a669757712018-12-29 19:56:231317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800x1f43ce90a924224518ee7dd998f492f185ddfe770.002 Ether
0x097297378af5c437f7a35773e5f842412c7aa867d5ff2bbcf126bb453a175e5869757582018-12-29 19:53:351317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d080CryptoAtoms: Deployer0.007 Ether
0xdeb87d2218a2c1a144317f47303643db5524452436690ea715b3d08899d7d24069757112018-12-29 19:43:261317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d0800x1f43ce90a924224518ee7dd998f492f185ddfe770.002 Ether
0x2f12562f844c2f12ec4459a874acf283f92307fea33d290fcb733fcaa529cf6769757042018-12-29 19:41:561317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d080CryptoAtoms: Deployer0.007 Ether
0x489200b82618f84d74b6d55d52783405f03711a8c70eb8bc7b5bd04afa63e9d069756852018-12-29 19:38:061317 days 1 hr ago 0x5314dd28de3f215647b64ccb3701e6098a80d080CryptoAtoms: Deployer0.007 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CryptoAtomsLogic

Compiler Version
v0.4.24-nightly.2018.5.16+commit.7f965c86

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.19;

contract ADM312 {

  address public COO;
  address public CTO;
  address public CFO;
  address private coreAddress;
  address public logicAddress;
  address public superAddress;

  modifier onlyAdmin() {
    require(msg.sender == COO || msg.sender == CTO || msg.sender == CFO);
    _;
  }
  
  modifier onlyContract() {
    require(msg.sender == coreAddress || msg.sender == logicAddress || msg.sender == superAddress);
    _;
  }
    
  modifier onlyContractAdmin() {
    require(msg.sender == coreAddress || msg.sender == logicAddress || msg.sender == superAddress || msg.sender == COO || msg.sender == CTO || msg.sender == CFO);
     _;
  }
  
  function transferAdmin(address _newAdminAddress1, address _newAdminAddress2) public onlyAdmin {
    if(msg.sender == COO)
    {
        CTO = _newAdminAddress1;
        CFO = _newAdminAddress2;
    }
    if(msg.sender == CTO)
    {
        COO = _newAdminAddress1;
        CFO = _newAdminAddress2;
    }
    if(msg.sender == CFO)
    {
        COO = _newAdminAddress1;
        CTO = _newAdminAddress2;
    }
  }
  
  function transferContract(address _newCoreAddress, address _newLogicAddress, address _newSuperAddress) external onlyAdmin {
    coreAddress  = _newCoreAddress;
    logicAddress = _newLogicAddress;
    superAddress = _newSuperAddress;
    SetCoreInterface(_newLogicAddress).setCoreContract(_newCoreAddress);
    SetCoreInterface(_newSuperAddress).setCoreContract(_newCoreAddress);
  }


}

contract ERC721 {
    
  event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);
  event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId);

  function totalSupply() public view returns (uint256 total);
  function balanceOf(address _owner) public view returns (uint256 balance);
  function ownerOf(uint256 _tokenId) public view returns (address owner);
  function transfer(address _to, uint256 _tokenId) public;
  function approve(address _to, uint256 _tokenId) public;
  function takeOwnership(uint256 _tokenId) public;
  
}

contract SetCoreInterface {
   function setCoreContract(address _neWCoreAddress) external; 
}

contract CaData is ADM312, ERC721 {
    
    function CaData() public {
        COO = msg.sender;
        CTO = msg.sender;
        CFO = msg.sender;
        createCustomAtom(0,0,4,0,0,0,0);
    }
    
    function kill() external
	{
	    require(msg.sender == COO);
		selfdestruct(msg.sender);
	}
    
    function() public payable{}
    
    uint public randNonce  = 0;
    
    struct Atom 
    {
      uint64   dna;
      uint8    gen;
      uint8    lev;
      uint8    cool;
      uint32   sons;
      uint64   fath;
	  uint64   moth;
	  uint128  isRent;
	  uint128  isBuy;
	  uint32   isReady;
    }
    
    Atom[] public atoms;
    
    mapping (uint64  => bool) public dnaExist;
    mapping (address => bool) public bonusReceived;
    mapping (address => uint) public ownerAtomsCount;
    mapping (uint => address) public atomOwner;
    
    event NewWithdraw(address sender, uint balance);
    
    function createCustomAtom(uint64 _dna, uint8 _gen, uint8 _lev, uint8 _cool, uint128 _isRent, uint128 _isBuy, uint32 _isReady) public onlyAdmin {
        require(dnaExist[_dna]==false && _cool+_lev>=4);
        Atom memory newAtom = Atom(_dna, _gen, _lev, _cool, 0, 2**50, 2**50, _isRent, _isBuy, _isReady);
        uint id = atoms.push(newAtom) - 1;
        atomOwner[id] = msg.sender;
        ownerAtomsCount[msg.sender]++;
        dnaExist[_dna] = true;
    }
    
    function withdrawBalance() public payable onlyAdmin {
		NewWithdraw(msg.sender, address(this).balance);
        CFO.transfer(address(this).balance);
    }
        
    function incRandNonce() external onlyContract {
        randNonce++;
    }
    
    function setDnaExist(uint64 _dna, bool _newDnaLocking) external onlyContractAdmin {
        dnaExist[_dna] = _newDnaLocking;
    }
    
    function setBonusReceived(address _add, bool _newBonusLocking) external onlyContractAdmin {
        bonusReceived[_add] = _newBonusLocking;
    }
    
    function setOwnerAtomsCount(address _owner, uint _newCount) external onlyContract {
        ownerAtomsCount[_owner] = _newCount;
    }
    
    function setAtomOwner(uint _atomId, address _owner) external onlyContract {
        atomOwner[_atomId] = _owner;
    }
        
    function pushAtom(uint64 _dna, uint8 _gen, uint8 _lev, uint8 _cool, uint32 _sons, uint64 _fathId, uint64 _mothId, uint128 _isRent, uint128 _isBuy, uint32 _isReady) external onlyContract returns (uint id) {
        Atom memory newAtom = Atom(_dna, _gen, _lev, _cool, _sons, _fathId, _mothId, _isRent, _isBuy, _isReady);
        id = atoms.push(newAtom) -1;
    }
	
	function setAtomDna(uint _atomId, uint64 _dna) external onlyAdmin {
        atoms[_atomId].dna = _dna;
    }
	
	function setAtomGen(uint _atomId, uint8 _gen) external onlyAdmin {
        atoms[_atomId].gen = _gen;
    }
    
    function setAtomLev(uint _atomId, uint8 _lev) external onlyContract {
        atoms[_atomId].lev = _lev;
    }
    
    function setAtomCool(uint _atomId, uint8 _cool) external onlyContract {
        atoms[_atomId].cool = _cool;
    }
    
    function setAtomSons(uint _atomId, uint32 _sons) external onlyContract {
        atoms[_atomId].sons = _sons;
    }
    
    function setAtomFath(uint _atomId, uint64 _fath) external onlyContract {
        atoms[_atomId].fath = _fath;
    }
    
    function setAtomMoth(uint _atomId, uint64 _moth) external onlyContract {
        atoms[_atomId].moth = _moth;
    }
    
    function setAtomIsRent(uint _atomId, uint128 _isRent) external onlyContract {
        atoms[_atomId].isRent = _isRent;
    }
    
    function setAtomIsBuy(uint _atomId, uint128 _isBuy) external onlyContract {
        atoms[_atomId].isBuy = _isBuy;
    }
    
    function setAtomIsReady(uint _atomId, uint32 _isReady) external onlyContractAdmin {
        atoms[_atomId].isReady = _isReady;
    }
    
    //ERC721
    
    mapping (uint => address) tokenApprovals;
    
    function totalSupply() public view returns (uint256 total){
  	    return atoms.length;
  	}
  	
  	function balanceOf(address _owner) public view returns (uint256 balance) {
        return ownerAtomsCount[_owner];
    }
    
    function ownerOf(uint256 _tokenId) public view returns (address owner) {
        return atomOwner[_tokenId];
    }
      
    function _transfer(address _from, address _to, uint256 _tokenId) private {
        atoms[_tokenId].isBuy  = 0;
        atoms[_tokenId].isRent = 0;
        ownerAtomsCount[_to]++;
        ownerAtomsCount[_from]--;
        atomOwner[_tokenId] = _to;
        Transfer(_from, _to, _tokenId);
    }
  
    function transfer(address _to, uint256 _tokenId) public {
        require(msg.sender == atomOwner[_tokenId]);
        _transfer(msg.sender, _to, _tokenId);
    }
    
    function approve(address _to, uint256 _tokenId) public {
        require(msg.sender == atomOwner[_tokenId]);
        tokenApprovals[_tokenId] = _to;
        Approval(msg.sender, _to, _tokenId);
    }
    
    function takeOwnership(uint256 _tokenId) public {
        require(tokenApprovals[_tokenId] == msg.sender);
        _transfer(ownerOf(_tokenId), msg.sender, _tokenId);
    }
    
}

contract CaCoreInterface {
    function createCombinedAtom(uint, uint) external returns (uint);
    function createRandomAtom() external returns (uint);
}

contract CryptoAtomsLogic{
    
    address public CaDataAddress = 0x9b3554E6FC4F81531F6D43b611258bd1058ef6D5;
    CaData public CaDataContract = CaData(CaDataAddress);
    CaCoreInterface private CaCoreContract;
    
    bool public pauseMode = false;
    bool public bonusMode  = true;
    
    uint128   public newAtomFee = 1 finney;
    
    uint8[4]  public levelupValues  = [0, 
                                       2, 
                                       6, 
                                       12];

    event NewSetRent(address sender, uint atom);
    event NewSetBuy(address sender, uint atom);
    event NewUnsetRent(address sender, uint atom);
    event NewUnsetBuy(address sender, uint atom);
    event NewAutoRentAtom(address sender, uint atom);
    event NewRentAtom(address sender, uint atom, address receiver, uint amount);
    event NewBuyAtom(address sender, uint atom, address receiver, uint amount);
    event NewEvolveAtom(address sender, uint atom);
    event NewBonusAtom(address sender, uint atom);
    
    function() public payable{}
    
    function kill() external
	{
	    require(msg.sender == CaDataContract.CTO());
		selfdestruct(msg.sender); 
	}
	
	modifier onlyAdmin() {
      require(msg.sender == CaDataContract.COO() || msg.sender == CaDataContract.CFO() || msg.sender == CaDataContract.CTO());
      _;
     }
	
	modifier onlyActive() {
        require(pauseMode == false);
        _;
    }
    
    modifier onlyOwnerOf(uint _atomId, bool _flag) {
        require((msg.sender == CaDataContract.atomOwner(_atomId)) == _flag);
        _;
    }
    
    modifier onlyRenting(uint _atomId, bool _flag) {
        uint128 isRent;
        (,,,,,,,isRent,,) = CaDataContract.atoms(_atomId);
        require((isRent > 0) == _flag);
        _;
    }
    
    modifier onlyBuying(uint _atomId, bool _flag) {
        uint128 isBuy;
        (,,,,,,,,isBuy,) = CaDataContract.atoms(_atomId);
        require((isBuy > 0) == _flag);
        _;
    }
    
    modifier onlyReady(uint _atomId) {
        uint32 isReady;
        (,,,,,,,,,isReady) = CaDataContract.atoms(_atomId);
        require(isReady <= now);
        _;
    }
    
    modifier beDifferent(uint _atomId1, uint _atomId2) {
        require(_atomId1 != _atomId2);
        _;
    }
    
    function setCoreContract(address _neWCoreAddress) external {
        require(msg.sender == CaDataAddress);
        CaCoreContract = CaCoreInterface(_neWCoreAddress);
    }
    
    function setPauseMode(bool _newPauseMode) external onlyAdmin {
        pauseMode = _newPauseMode;
    }
    
    function setGiftMode(bool _newBonusMode) external onlyAdmin {
        bonusMode = _newBonusMode;
    }
    
    function setFee(uint128 _newFee) external onlyAdmin {
        newAtomFee = _newFee;
    }
    
    function setLevelup(uint8[4] _newLevelup) external onlyAdmin {
        levelupValues = _newLevelup;
    }
    
    function setIsRentByAtom(uint _atomId, uint128 _fee) external onlyActive onlyOwnerOf(_atomId,true) onlyRenting(_atomId, false) onlyReady(_atomId) {
	    require(_fee > 0);
	    CaDataContract.setAtomIsRent(_atomId,_fee);
	    NewSetRent(msg.sender,_atomId);
  	}
  	
  	function setIsBuyByAtom(uint _atomId, uint128 _fee) external onlyActive onlyOwnerOf(_atomId,true) onlyBuying(_atomId, false){
	    require(_fee > 0);
	    CaDataContract.setAtomIsBuy(_atomId,_fee);
	    NewSetBuy(msg.sender,_atomId);
  	}
  	
  	function unsetIsRentByAtom(uint _atomId) external onlyActive onlyOwnerOf(_atomId, true) onlyRenting(_atomId, true){
	    CaDataContract.setAtomIsRent(_atomId,0);
	    NewUnsetRent(msg.sender,_atomId);
  	}
  	
  	function unsetIsBuyByAtom(uint _atomId) external onlyActive onlyOwnerOf(_atomId, true) onlyBuying(_atomId, true){
	    CaDataContract.setAtomIsBuy(_atomId,0);
	    NewUnsetBuy(msg.sender,_atomId);
  	}
  	
  	function autoRentByAtom(uint _atomId, uint _ownedId) external payable onlyActive beDifferent(_atomId, _ownedId) onlyOwnerOf(_atomId, true) onlyOwnerOf(_ownedId,true) onlyReady(_atomId) onlyReady(_ownedId)  {
        require(newAtomFee == msg.value);
        CaDataAddress.transfer(newAtomFee);
        uint id = CaCoreContract.createCombinedAtom(_atomId,_ownedId);
        NewAutoRentAtom(msg.sender,id);
  	}
  	
  	 function rentByAtom(uint _atomId, uint _ownedId) external payable onlyActive beDifferent(_atomId, _ownedId) onlyOwnerOf(_ownedId, true) onlyRenting(_atomId, true) onlyReady(_ownedId) {
	    address owner = CaDataContract.atomOwner(_atomId);
	    uint128 isRent;
        (,,,,,,,isRent,,) = CaDataContract.atoms(_atomId);
	    require(isRent + newAtomFee == msg.value);
	    owner.transfer(isRent);
	    CaDataAddress.transfer(newAtomFee);
        uint id = CaCoreContract.createCombinedAtom(_atomId,_ownedId);
        NewRentAtom(msg.sender,id,owner,isRent);
  	}
  	
  	function buyByAtom(uint _atomId) external payable onlyActive onlyOwnerOf(_atomId, false) onlyBuying(_atomId, true) {
  	    address owner = CaDataContract.atomOwner(_atomId);
  	    uint128 isBuy;
        (,,,,,,,,isBuy,) = CaDataContract.atoms(_atomId);
	    require(isBuy == msg.value);
	    owner.transfer(isBuy);
        CaDataContract.setAtomIsBuy(_atomId,0);
        CaDataContract.setAtomIsRent(_atomId,0);
        CaDataContract.setOwnerAtomsCount(msg.sender,CaDataContract.ownerAtomsCount(msg.sender)+1);
        CaDataContract.setOwnerAtomsCount(owner,CaDataContract.ownerAtomsCount(owner)-1);
        CaDataContract.setAtomOwner(_atomId,msg.sender);
        NewBuyAtom(msg.sender,_atomId,owner,isBuy);
  	}
  	
  	function evolveByAtom(uint _atomId) external onlyActive onlyOwnerOf(_atomId, true) {
  	    uint8 lev;
  	    uint8 cool;
  	    uint32 sons;
  	    (,,lev,cool,sons,,,,,) = CaDataContract.atoms(_atomId);
  	    require(lev < 4 && sons >= levelupValues[lev]);
  	    CaDataContract.setAtomLev(_atomId,lev+1);
  	    CaDataContract.setAtomCool(_atomId,cool-1);
        NewEvolveAtom(msg.sender,_atomId);
  	}
  	
  	function receiveBonus() onlyActive external {
  	    require(bonusMode == true && CaDataContract.bonusReceived(msg.sender) == false);
  	    CaDataContract.setBonusReceived(msg.sender,true);
        uint id = CaCoreContract.createRandomAtom();
        NewBonusAtom(msg.sender,id);
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_atomId","type":"uint256"}],"name":"evolveByAtom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pauseMode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"receiveBonus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_atomId","type":"uint256"},{"name":"_ownedId","type":"uint256"}],"name":"rentByAtom","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newFee","type":"uint128"}],"name":"setFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_atomId","type":"uint256"},{"name":"_fee","type":"uint128"}],"name":"setIsRentByAtom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_atomId","type":"uint256"},{"name":"_ownedId","type":"uint256"}],"name":"autoRentByAtom","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"kill","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_atomId","type":"uint256"},{"name":"_fee","type":"uint128"}],"name":"setIsBuyByAtom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bonusMode","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CaDataContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CaDataAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newLevelup","type":"uint8[4]"}],"name":"setLevelup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_atomId","type":"uint256"}],"name":"unsetIsBuyByAtom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_neWCoreAddress","type":"address"}],"name":"setCoreContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newBonusMode","type":"bool"}],"name":"setGiftMode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"levelupValues","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newPauseMode","type":"bool"}],"name":"setPauseMode","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_atomId","type":"uint256"}],"name":"buyByAtom","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"newAtomFee","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_atomId","type":"uint256"}],"name":"unsetIsRentByAtom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"}],"name":"NewSetRent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"}],"name":"NewSetBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"}],"name":"NewUnsetRent","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"}],"name":"NewUnsetBuy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"}],"name":"NewAutoRentAtom","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"},{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"NewRentAtom","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"},{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"NewBuyAtom","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"}],"name":"NewEvolveAtom","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"atom","type":"uint256"}],"name":"NewBonusAtom","type":"event"}]

6080604052739b3554e6fc4f81531f6d43b611258bd1058ef6d56000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260146101000a81548160ff0219169083151502179055506001600260156101000a81548160ff02191690831515021790555066038d7ea4c68000600360006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550608060405190810160405280600060ff168152602001600260ff168152602001600660ff168152602001600c60ff1681525060049060046200017492919062000189565b503480156200018257600080fd5b506200025d565b826004601f01602090048101928215620002175791602002820160005b83821115620001e657835183826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302620001a6565b8015620002155782816101000a81549060ff0219169055600101602081600001049283019260010302620001e6565b505b5090506200022691906200022a565b5090565b6200025a91905b808211156200025657600081816101000a81549060ff02191690555060010162000231565b5090565b90565b614bce806200026d6000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630e47c2591461011f578063229b04bf1461014c578063305074511461017b5780633154d790146101925780633687f24a146101bc57806339e65b46146101fb578063415c75931461024457806341c0e1b51461026e57806342bd0959146102855780634a574d18146102ce5780636432e3cd146102fd578063703f5e8a14610354578063b79ec028146103ab578063bee4bbeb146103d8578063c626669314610405578063d12892e414610448578063e47ca0cc14610477578063eab2d378146104be578063edc48941146104ed578063fa314c671461050d578063fa8ad6b91461055c575b005b34801561012b57600080fd5b5061014a60048036038101908080359060200190929190505050610589565b005b34801561015857600080fd5b50610161610a48565b604051808215151515815260200191505060405180910390f35b34801561018757600080fd5b50610190610a5b565b005b6101ba6004803603810190808035906020019092919080359060200190929190505050610dba565b005b3480156101c857600080fd5b506101f960048036038101908080356fffffffffffffffffffffffffffffffff169060200190929190505050611703565b005b34801561020757600080fd5b506102426004803603810190808035906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050611a25565b005b61026c6004803603810190808035906020019092919080359060200190929190505050611fc6565b005b34801561027a57600080fd5b50610283612730565b005b34801561029157600080fd5b506102cc6004803603810190808035906020019092919080356fffffffffffffffffffffffffffffffff169060200190929190505050612843565b005b3480156102da57600080fd5b506102e3612c69565b604051808215151515815260200191505060405180910390f35b34801561030957600080fd5b50610312612c7c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561036057600080fd5b50610369612ca2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103b757600080fd5b506103d660048036038101908080608001909192919290505050612cc7565b005b3480156103e457600080fd5b5061040360048036038101908080359060200190929190505050612fc2565b005b34801561041157600080fd5b50610446600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506133b6565b005b34801561045457600080fd5b50610475600480360381019080803515159060200190929190505050613455565b005b34801561048357600080fd5b506104a260048036038101908080359060200190929190505050613758565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104ca57600080fd5b506104eb600480360381019080803515159060200190929190505050613781565b005b61050b60048036038101908080359060200190929190505050613a84565b005b34801561051957600080fd5b506105226146c0565b60405180826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561056857600080fd5b50610587600480360381019080803590602001909291905050506146e2565b005b6000806000801515600260149054906101000a900460ff1615151415156105af57600080fd5b836001801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561064657600080fd5b505af115801561065a573d6000803e3d6000fd5b505050506040513d602081101561067057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151415156106bd57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e876040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b15801561074f57600080fd5b505af1158015610763573d6000803e3d6000fd5b505050506040513d61014081101561077a57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293509091925090915090505080955081965082975050505060048560ff16108015610856575060048560ff1660048110151561083357fe5b602091828204019190069054906101000a900460ff1660ff168363ffffffff1610155b151561086157600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16632630d97d87600188016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260ff1660ff16815260200192505050600060405180830381600087803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663eda8669e87600187036040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260ff1660ff16815260200192505050600060405180830381600087803b1580156109bd57600080fd5b505af11580156109d1573d6000803e3d6000fd5b505050507fe5520077d3d24ee27b5f26122d839e7bbdbecefcac227087f3728a4ed11e078c3387604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050505050565b600260149054906101000a900460ff1681565b6000801515600260149054906101000a900460ff161515141515610a7e57600080fd5b60011515600260159054906101000a900460ff161515148015610b9c575060001515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166363f44d1e336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610b5d57600080fd5b505af1158015610b71573d6000803e3d6000fd5b505050506040513d6020811015610b8757600080fd5b81019080805190602001909291905050501515145b1515610ba757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b766b5623360016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b158015610c7157600080fd5b505af1158015610c85573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aa17973c6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015610d0f57600080fd5b505af1158015610d23573d6000803e3d6000fd5b505050506040513d6020811015610d3957600080fd5b810190808051906020019092919050505090507fda0adaa8dfeb4052820b529451b61cfe96665f75b1ee637b7329007b702500553382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000806000801515600260149054906101000a900460ff161515141515610de057600080fd5b8484808214151515610df157600080fd5b856001801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015610e8857600080fd5b505af1158015610e9c573d6000803e3d6000fd5b505050506040513d6020811015610eb257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515141515610eff57600080fd5b8860016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505050506040513d610140811015610fc157600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250905050809150508115156000826fffffffffffffffffffffffffffffffff1611151514151561108b57600080fd5b8a6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505050506040513d61014081101561114b57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150905080915050428163ffffffff161115151561120557600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f8f6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561129657600080fd5b505af11580156112aa573d6000803e3d6000fd5b505050506040513d60208110156112c057600080fd5b81019080805190602001909291905050509b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e8f6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b15801561136557600080fd5b505af1158015611379573d6000803e3d6000fd5b505050506040513d61014081101561139057600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250905050809b505034600360009054906101000a90046fffffffffffffffffffffffffffffffff168c016fffffffffffffffffffffffffffffffff1614151561147357600080fd5b8b73ffffffffffffffffffffffffffffffffffffffff166108fc8c6fffffffffffffffffffffffffffffffff169081150290604051600060405180830381858888f193505050501580156114cb573d6000803e3d6000fd5b506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600360009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169081150290604051600060405180830381858888f19350505050158015611563573d6000803e3d6000fd5b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a94857dc8f8f6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b1580156115fd57600080fd5b505af1158015611611573d6000803e3d6000fd5b505050506040513d602081101561162757600080fd5b810190808051906020019092919050505099507f766f150b7c725aaec5aa24efd3fb6e1809dbed9d3f18121b896df8660e1491a1338b8e8e604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a15050505050505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1b27e6b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561178957600080fd5b505af115801561179d573d6000803e3d6000fd5b505050506040513d60208110156117b357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118e85750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166330d500bf6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561187e57600080fd5b505af1158015611892573d6000803e3d6000fd5b505050506040513d60208110156118a857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806119de5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d01bdec6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561197457600080fd5b505af1158015611988573d6000803e3d6000fd5b505050506040513d602081101561199e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156119e957600080fd5b80600360006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555050565b60001515600260149054906101000a900460ff161515141515611a4757600080fd5b816001801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015611ade57600080fd5b505af1158015611af2573d6000803e3d6000fd5b505050506040513d6020811015611b0857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515141515611b5557600080fd5b83600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b158015611beb57600080fd5b505af1158015611bff573d6000803e3d6000fd5b505050506040513d610140811015611c1657600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250905050809150508115156000826fffffffffffffffffffffffffffffffff16111515141515611ce057600080fd5b866000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b158015611d7557600080fd5b505af1158015611d89573d6000803e3d6000fd5b505050506040513d610140811015611da057600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150905080915050428163ffffffff1611151515611e5a57600080fd5b6000886fffffffffffffffffffffffffffffffff16111515611e7b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f630a4688a8a6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015611f3857600080fd5b505af1158015611f4c573d6000803e3d6000fd5b505050507fc5805a8a7bae10c57af842e8a49367d39281e79cb06384ec68082ffa3b3c019d338a604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050505050505050565b6000801515600260149054906101000a900460ff161515141515611fe957600080fd5b8282808214151515611ffa57600080fd5b846001801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561209157600080fd5b505af11580156120a5573d6000803e3d6000fd5b505050506040513d60208110156120bb57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151514151561210857600080fd5b856001801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561219f57600080fd5b505af11580156121b3573d6000803e3d6000fd5b505050506040513d60208110156121c957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151514151561221657600080fd5b886000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b1580156122ab57600080fd5b505af11580156122bf573d6000803e3d6000fd5b505050506040513d6101408110156122d657600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150905080915050428163ffffffff161115151561239057600080fd5b896000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b15801561242557600080fd5b505af1158015612439573d6000803e3d6000fd5b505050506040513d61014081101561245057600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150905080915050428163ffffffff161115151561250a57600080fd5b34600360009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1614151561254857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc600360009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169081150290604051600060405180830381858888f193505050501580156125df573d6000803e3d6000fd5b50600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a94857dc8e8e6040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182815260200192505050602060405180830381600087803b15801561267957600080fd5b505af115801561268d573d6000803e3d6000fd5b505050506040513d60208110156126a357600080fd5b81019080805190602001909291905050509a507fdb3af7d2d2fe2463b2e0f05ad9c9fec05c5aa2fbc2157b624bbf9d9cf077b288338c604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050505050505050505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d01bdec6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156127b657600080fd5b505af11580156127ca573d6000803e3d6000fd5b505050506040513d60208110156127e057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561282a57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60001515600260149054906101000a900460ff16151514151561286557600080fd5b816001801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1580156128fc57600080fd5b505af1158015612910573d6000803e3d6000fd5b505050506040513d602081101561292657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151514151561297357600080fd5b83600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b158015612a0957600080fd5b505af1158015612a1d573d6000803e3d6000fd5b505050506040513d610140811015612a3457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915050809150508115156000826fffffffffffffffffffffffffffffffff16111515141515612aff57600080fd5b6000866fffffffffffffffffffffffffffffffff16111515612b2057600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634135459088886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015612bdd57600080fd5b505af1158015612bf1573d6000803e3d6000fd5b505050507fdb2698bc0ae2654fcbe619b2dac7a87ed481b08369b9211683197dbaaf132e473388604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150505050505050565b600260159054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1b27e6b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612d4d57600080fd5b505af1158015612d61573d6000803e3d6000fd5b505050506040513d6020811015612d7757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480612eac5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166330d500bf6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612e4257600080fd5b505af1158015612e56573d6000803e3d6000fd5b505050506040513d6020811015612e6c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80612fa25750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d01bdec6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b158015612f3857600080fd5b505af1158015612f4c573d6000803e3d6000fd5b505050506040513d6020811015612f6257600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515612fad57600080fd5b806004906004612fbe929190614ad5565b5050565b60001515600260149054906101000a900460ff161515141515612fe457600080fd5b806001801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561307b57600080fd5b505af115801561308f573d6000803e3d6000fd5b505050506040513d60208110156130a557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415151415156130f257600080fd5b8260016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b15801561318957600080fd5b505af115801561319d573d6000803e3d6000fd5b505050506040513d6101408110156131b457600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915050809150508115156000826fffffffffffffffffffffffffffffffff1611151514151561327f57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663413545908760006040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826fffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561332b57600080fd5b505af115801561333f573d6000803e3d6000fd5b505050507fc09c64c36775ff55cedf8560992a57cf8542467f64d971469bc5e0dc05742f503387604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561341157600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1b27e6b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156134db57600080fd5b505af11580156134ef573d6000803e3d6000fd5b505050506040513d602081101561350557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061363a5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166330d500bf6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156135d057600080fd5b505af11580156135e4573d6000803e3d6000fd5b505050506040513d60208110156135fa57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806137305750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d01bdec6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156136c657600080fd5b505af11580156136da573d6000803e3d6000fd5b505050506040513d60208110156136f057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561373b57600080fd5b80600260156101000a81548160ff02191690831515021790555050565b60048160048110151561376757fe5b60209182820401919006915054906101000a900460ff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e1b27e6b6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561380757600080fd5b505af115801561381b573d6000803e3d6000fd5b505050506040513d602081101561383157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806139665750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166330d500bf6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156138fc57600080fd5b505af1158015613910573d6000803e3d6000fd5b505050506040513d602081101561392657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80613a5c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633d01bdec6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156139f257600080fd5b505af1158015613a06573d6000803e3d6000fd5b505050506040513d6020811015613a1c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515613a6757600080fd5b80600260146101000a81548160ff02191690831515021790555050565b60008060001515600260149054906101000a900460ff161515141515613aa957600080fd5b826000801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015613b4057600080fd5b505af1158015613b54573d6000803e3d6000fd5b505050506040513d6020811015613b6a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515141515613bb757600080fd5b8460016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b158015613c4e57600080fd5b505af1158015613c62573d6000803e3d6000fd5b505050506040513d610140811015613c7957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509091929394959697985090919293949596975090919293949596509091929394955090919293945090919293509091925090915050809150508115156000826fffffffffffffffffffffffffffffffff16111515141515613d4457600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f896040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b158015613dd557600080fd5b505af1158015613de9573d6000803e3d6000fd5b505050506040513d6020811015613dff57600080fd5b81019080805190602001909291905050509650600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e896040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b158015613ea457600080fd5b505af1158015613eb8573d6000803e3d6000fd5b505050506040513d610140811015613ecf57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250909150508096505034866fffffffffffffffffffffffffffffffff16141515613f9357600080fd5b8673ffffffffffffffffffffffffffffffffffffffff166108fc876fffffffffffffffffffffffffffffffff169081150290604051600060405180830381858888f19350505050158015613feb573d6000803e3d6000fd5b50600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663413545908960006040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826fffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561409857600080fd5b505af11580156140ac573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f630a4688960006040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826fffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b15801561415c57600080fd5b505af1158015614170573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cf91bf23360018060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663efbd63a9336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561427157600080fd5b505af1158015614285573d6000803e3d6000fd5b505050506040513d602081101561429b57600080fd5b8101908080519060200190929190505050016040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561433257600080fd5b505af1158015614346573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631cf91bf28860018060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663efbd63a98c6040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15801561444757600080fd5b505af115801561445b573d6000803e3d6000fd5b505050506040513d602081101561447157600080fd5b8101908080519060200190929190505050036040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561450857600080fd5b505af115801561451c573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166335d1f86989336040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b1580156145e557600080fd5b505af11580156145f9573d6000803e3d6000fd5b505050507f4ae2dfacbc099a4028850d9f0642800230074c6a182fbb3e5303a0ca6506e4aa33898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001826fffffffffffffffffffffffffffffffff16815260200194505050505060405180910390a15050505050505050565b600360009054906101000a90046fffffffffffffffffffffffffffffffff1681565b60001515600260149054906101000a900460ff16151514151561470457600080fd5b806001801515600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635b92292f846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15801561479b57600080fd5b505af11580156147af573d6000803e3d6000fd5b505050506040513d60208110156147c557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151514151561481257600080fd5b8260016000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f315a94e846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505061014060405180830381600087803b1580156148a957600080fd5b505af11580156148bd573d6000803e3d6000fd5b505050506040513d6101408110156148d457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505090919293949596979850909192939495969750909192939495965090919293949550909192939450909192935090919250905050809150508115156000826fffffffffffffffffffffffffffffffff1611151514151561499e57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f630a4688760006040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826fffffffffffffffffffffffffffffffff16815260200192505050600060405180830381600087803b158015614a4a57600080fd5b505af1158015614a5e573d6000803e3d6000fd5b505050507f9cace4224e735a468a16db4de6d276ab6f96088fab8b9e32c5d769d0544606f23387604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1505050505050565b826004601f01602090048101928215614b615791602002820160005b83821115614b3257833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302614af1565b8015614b5f5782816101000a81549060ff0219169055600101602081600001049283019260010302614b32565b505b509050614b6e9190614b72565b5090565b614b9f91905b80821115614b9b57600081816101000a81549060ff021916905550600101614b78565b5090565b905600a165627a7a7230582070ed6447d8e269dd7c0fd406bcabd8d6dedc424a68886d532323821c279286090029

Swarm Source

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

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.