Latest 25 transactions from a total of 30552 transactions
(+2 PendingTxns)

TxHash Age From To Value [TxFee]
0xe6d5c0845cc9ed63a2ac09c514d096af3f3fd9146db8fc6614caba40ba47eb7a(pending)0xd95399ccea853837c5fc5194e2f045cb8ccb674e  IN  0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether(Pending)
0x25ee74a602184b04f39c546f0d99706d10ab9beae5afbbd7d99b146c39eba68f(pending)0x70780f585bb210a270c2b32703b13e78e20993e4  IN  0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether(Pending)
0xe5611df206277236824cd876bf39cb13d4742834413f6d72d95acaf48782a13113 mins ago0x29d86fc15cd40f1c8e6d853c159c480d8674740f  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0005715873
0x70599d080ea9b9a4d4fd2305c78f545422fb8855a08febd16883d8f883a43a1715 mins ago0xd95399ccea853837c5fc5194e2f045cb8ccb674e  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0005711905
0xadc2e5549cb65f5de7269d20b60bcc0adfba1da32e6fc097ab7aeeb1a88a0feb18 mins ago0xd95399ccea853837c5fc5194e2f045cb8ccb674e  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0005715873
0xfca2424b3a08dfef74da8f14c1065fcc3e615fd66f4a0b59d16af4756be9d31c19 mins ago0x29d86fc15cd40f1c8e6d853c159c480d8674740f  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0002581556
0xa5f18f043ca408e7fd65541141de4c4ed2ce072c9af46fb313cc6fe7c7111eeb22 mins ago0x4cda119c7bec1685bb39ebcf9e4be4252670a754  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0005715873
0x414ef3b07a76c612e21bd631c3c6243712af24941321ace8982f213d1d5a5c6429 mins ago0xab3009dbb3c9a5694ed818cf0d159e069dd55107  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0006269022
0x3cc780020a8ee057abf5ed3a3dd8e55fb95464f82a15dce472ad18e0683d9e1029 mins ago0xab3009dbb3c9a5694ed818cf0d159e069dd55107  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.000737532
0xe8e6ff3bb7941ed43a782295bdd6986b5dd70475d720edc154a449749b0c04f731 mins ago0xab3009dbb3c9a5694ed818cf0d159e069dd55107  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.000553149
0x899b5324d2179f31d1211f6a3da4b64054775bf949b89691f09b2c1972ff64c736 mins ago0xd95399ccea853837c5fc5194e2f045cb8ccb674e  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0006453405
0x646037930bad8949c6dd0a141ca3ec6a14c14a43ba3198dc4615cbbcd11af84b37 mins ago0x9e315e9701908501f6dc68a2af6e28a20c75d970  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0013270968
0xfa8319d877511f0321c8430b4ad330fa0ce3deafef00173df5505b5be366ec3543 mins ago0x29d86fc15cd40f1c8e6d853c159c480d8674740f  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0005898208
0x454493d94eeeda58543307693db966b91731aa2eb432de7c2381042e0d7e529757 mins ago0x9e315e9701908501f6dc68a2af6e28a20c75d970  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0005077884
0x8a397b8ac007c815a919856b2701bc1152e8acf9d0ad076e52b3c28b95a2ccbc1 hr 1 min ago0x7405fe24003a50e4f4117d35e9b5a9f5e512fede  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e21.25 Ether0.0001850016
0x2dfae114016aba9d550f7a6477cc99c341c44e22d1531617f85668bc8044ef2f1 hr 5 mins ago0xbfbaecbc4266e8fcc52c6d1ef5e987932dccbc5f  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.027 Ether0.0002114304
0x74320a1dc45b362c84e96dbb270f1c330ce2e684809211a8409fd97811ca13ed1 hr 13 mins ago0xe377c60f052f37703358b7f3bc6ea79aef5554f5  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.029 Ether0.0001850016
0xb2b1d99dda3dfb7f951ea33df491bf7422ea07e757a30c57bdb104b6ac5afdc71 hr 16 mins ago0xdd6f24fb2206f16a908f79f72173a1c711c035fe  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.03 Ether0.0006076347
0x032b8060058b035550c415518023af18cb82a3c9813f1d67a96e6cde023eac521 hr 32 mins ago0x5385315883542b1cff7d668519844d87ed000a68  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.026856358024691 Ether0.0001969002
0x64143d2ccb56dffd15eedc4dba80d66ada63f9da5b6d848e5a5297cc3746ed531 hr 38 mins ago0x5385315883542b1cff7d668519844d87ed000a68  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.026 Ether0.0001938112
0xa727f82211634e66cc3edcfae1cdcf7ddfebd8a3bb75d66502b225cd213e507e2 hrs 15 mins ago0x246819f4bd184bdac1521155390c180afeb6be6b  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.050277777777777 Ether0.0004778547
0x7c140338c2eb20af9928469da233d5c16a7a0ad82baa4580d27e418ec482c3dd2 hrs 32 mins ago0x110f5169eaa698d2e309b60134468e2ec4e4f84b  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.077005594135802 Ether0.0004781862
0x752a14d2026226128adb5127635a5ef4063f154ce0a3bcadbf6de356ccfd679f2 hrs 35 mins ago0x110f5169eaa698d2e309b60134468e2ec4e4f84b  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.060092592592592 Ether0.0004778547
0xb637f95ab88dd25c2be8792a86d4439ed88d998761d6716acc2affb695eb8bda2 hrs 36 mins ago0xbe5e8486d33974bf4a07c8ac483d754b84d918d0  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20 Ether0.0009397005
0x608613b74971ccf869510e0573ab64251673d0a1c9ed8d72bcce8df56036f9792 hrs 40 mins ago0x5385315883542b1cff7d668519844d87ed000a68  IN   0xf4985070ce32b6b1994329df787d1acc9a2dd9e20.025427233796296 Ether0.0004781862
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0x8a397b8ac007c815a919856b2701bc1152e8acf9d0ad076e52b3c28b95a2ccbc71187881 hr 1 min ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x53ede7cae3eb6a7d11429fe589c0278c9acbe21a1.196875 Ether
0x2dfae114016aba9d550f7a6477cc99c341c44e22d1531617f85668bc8044ef2f71187711 hr 5 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20xd95399ccea853837c5fc5194e2f045cb8ccb674e0.0258525 Ether
0x74320a1dc45b362c84e96dbb270f1c330ce2e684809211a8409fd97811ca13ed71187461 hr 13 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20xd95399ccea853837c5fc5194e2f045cb8ccb674e0.0277675 Ether
0xb2b1d99dda3dfb7f951ea33df491bf7422ea07e757a30c57bdb104b6ac5afdc771187351 hr 16 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x18ad111b2584b55093b5b4cbce9374c3a0e8cfed0.028725 Ether
0x032b8060058b035550c415518023af18cb82a3c9813f1d67a96e6cde023eac5271186831 hr 32 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x5385315883542b1cff7d668519844d87ed000a680.000039753086419753 Ether
0x032b8060058b035550c415518023af18cb82a3c9813f1d67a96e6cde023eac5271186831 hr 32 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x312e4826a495a707d64c9c96f5eab7d24ee23e4f0.025676899228395062 Ether
0x64143d2ccb56dffd15eedc4dba80d66ada63f9da5b6d848e5a5297cc3746ed5371186631 hr 38 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20xd95399ccea853837c5fc5194e2f045cb8ccb674e0.024895 Ether
0xa727f82211634e66cc3edcfae1cdcf7ddfebd8a3bb75d66502b225cd213e507e71185332 hrs 15 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x246819f4bd184bdac1521155390c180afeb6be6b0.000277777777777777 Ether
0xa727f82211634e66cc3edcfae1cdcf7ddfebd8a3bb75d66502b225cd213e507e71185332 hrs 15 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x15cabad1f726aa1a7d0c49e7fa3ce0d8db9bcd650.047875 Ether
0x7c140338c2eb20af9928469da233d5c16a7a0ad82baa4580d27e418ec482c3dd71184682 hrs 32 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x110f5169eaa698d2e309b60134468e2ec4e4f84b0.000124999999999999 Ether
0x7c140338c2eb20af9928469da233d5c16a7a0ad82baa4580d27e418ec482c3dd71184682 hrs 32 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x7405fe24003a50e4f4117d35e9b5a9f5e512fede0.073613168885030866 Ether
0x752a14d2026226128adb5127635a5ef4063f154ce0a3bcadbf6de356ccfd679f71184622 hrs 35 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x110f5169eaa698d2e309b60134468e2ec4e4f84b0.000092592592592592 Ether
0x752a14d2026226128adb5127635a5ef4063f154ce0a3bcadbf6de356ccfd679f71184622 hrs 35 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20xb68fcd74aa0e14e5bf30efc60ca0fb48a430be900.05745 Ether
0x608613b74971ccf869510e0573ab64251673d0a1c9ed8d72bcce8df56036f97971184432 hrs 40 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x5385315883542b1cff7d668519844d87ed000a680.00005412037037037 Ether
0x608613b74971ccf869510e0573ab64251673d0a1c9ed8d72bcce8df56036f97971184432 hrs 40 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x312e4826a495a707d64c9c96f5eab7d24ee23e4f0.024294756105324075 Ether
0x78823b33b7bf44c27ca8e8244cf3f0d513505639f89b03bfcabdc4493793a27171184152 hrs 52 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x29d86fc15cd40f1c8e6d853c159c480d8674740f0.000347222222222222 Ether
0x78823b33b7bf44c27ca8e8244cf3f0d513505639f89b03bfcabdc4493793a27171184152 hrs 52 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x3945476e477de76d53b4833a46c806ef3d72b21e0.047875 Ether
0x176e526ca73c7554ccf8fe22f388258d70715a12952093442160c0bacc760e6471184012 hrs 56 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20xd95399ccea853837c5fc5194e2f045cb8ccb674e0.024895 Ether
0xa65625f2a1e755309fc2052f7c3d24d353a78d267cfbb92047cce4fa3d36439d71184012 hrs 56 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x3945476e477de76d53b4833a46c806ef3d72b21e0.1196875 Ether
0x741a1c70334765e4f06f26f70a4b6b010c262539a473a29cb7d5536700e3089d71183932 hrs 59 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20xd95399ccea853837c5fc5194e2f045cb8ccb674e0.0220225 Ether
0xd8082204120cbe4f2d58d0c0cd533b6f20efbe484da00b219d154b173d4a55ff71183913 hrs ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x29d86fc15cd40f1c8e6d853c159c480d8674740f0.000069444444444444 Ether
0xd8082204120cbe4f2d58d0c0cd533b6f20efbe484da00b219d154b173d4a55ff71183913 hrs ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x15cabad1f726aa1a7d0c49e7fa3ce0d8db9bcd650.047875 Ether
0xd5f18c874f3402ad7c7b1caf49801ba3775152f8f552d5ef1c9f2f126bd21b7471183063 hrs 24 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20xfc92f989d0882acdb4c9f263d6283064be2fcf500.000001785261288687 Ether
0xd5f18c874f3402ad7c7b1caf49801ba3775152f8f552d5ef1c9f2f126bd21b7471183063 hrs 24 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20x110f5169eaa698d2e309b60134468e2ec4e4f84b0.19155901182775241 Ether
0xca91fbade21dbcf95dd1ae6d00b5ab767d83e872eb60de212130cb3d000ff37b71183053 hrs 24 mins ago0xf4985070ce32b6b1994329df787d1acc9a2dd9e20xbc7de2b767fa97ea9d5ebc05a8d0c8557dcabd7b0.000208333333333333 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: AxieClockAuction
Compiler Text: v0.4.19+commit.c4cbbb05
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.19;

// File: contracts/erc/erc721/IERC721Base.sol

/// @title ERC-721 Non-Fungible Token Standard
/// @dev See https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md
///  Note: the ERC-165 identifier for this interface is 0x6466353c
interface IERC721Base /* is IERC165  */ {
  /// @dev This emits when ownership of any NFT changes by any mechanism.
  ///  This event emits when NFTs are created (`from` == 0) and destroyed
  ///  (`to` == 0). Exception: during contract creation, any number of NFTs
  ///  may be created and assigned without emitting Transfer. At the time of
  ///  any transfer, the approved address for that NFT (if any) is reset to none.
  event Transfer(address indexed _from, address indexed _to, uint256 _tokenId);

  /// @dev This emits when the approved address for an NFT is changed or
  ///  reaffirmed. The zero address indicates there is no approved address.
  ///  When a Transfer event emits, this also indicates that the approved
  ///  address for that NFT (if any) is reset to none.
  event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId);

  /// @dev This emits when an operator is enabled or disabled for an owner.
  ///  The operator can manage all NFTs of the owner.
  event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);

  /// @notice Count all NFTs assigned to an owner
  /// @dev NFTs assigned to the zero address are considered invalid, and this
  ///  function throws for queries about the zero address.
  /// @param _owner An address for whom to query the balance
  /// @return The number of NFTs owned by `_owner`, possibly zero
  function balanceOf(address _owner) external view returns (uint256);

  /// @notice Find the owner of an NFT
  /// @param _tokenId The identifier for an NFT
  /// @dev NFTs assigned to zero address are considered invalid, and queries
  ///  about them do throw.
  /// @return The address of the owner of the NFT
  function ownerOf(uint256 _tokenId) external view returns (address);

  /// @notice Transfers the ownership of an NFT from one address to another address
  /// @dev Throws unless `msg.sender` is the current owner, an authorized
  ///  operator, or the approved address for this NFT. Throws if `_from` is
  ///  not the current owner. Throws if `_to` is the zero address. Throws if
  ///  `_tokenId` is not a valid NFT. When transfer is complete, this function
  ///  checks if `_to` is a smart contract (code size > 0). If so, it calls
  ///  `onERC721Received` on `_to` and throws if the return value is not
  ///  `bytes4(keccak256("onERC721Received(address,uint256,bytes)"))`.
  /// @param _from The current owner of the NFT
  /// @param _to The new owner
  /// @param _tokenId The NFT to transfer
  /// @param _data Additional data with no specified format, sent in call to `_to`
  // solium-disable-next-line arg-overflow
  function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes _data) external payable;

  /// @notice Transfers the ownership of an NFT from one address to another address
  /// @dev This works identically to the other function with an extra data parameter,
  ///  except this function just sets data to []
  /// @param _from The current owner of the NFT
  /// @param _to The new owner
  /// @param _tokenId The NFT to transfer
  function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;

  /// @notice Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE
  ///  TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE
  ///  THEY MAY BE PERMANENTLY LOST
  /// @dev Throws unless `msg.sender` is the current owner, an authorized
  ///  operator, or the approved address for this NFT. Throws if `_from` is
  ///  not the current owner. Throws if `_to` is the zero address. Throws if
  ///  `_tokenId` is not a valid NFT.
  /// @param _from The current owner of the NFT
  /// @param _to The new owner
  /// @param _tokenId The NFT to transfer
  function transferFrom(address _from, address _to, uint256 _tokenId) external payable;

  /// @notice Set or reaffirm the approved address for an NFT
  /// @dev The zero address indicates there is no approved address.
  /// @dev Throws unless `msg.sender` is the current NFT owner, or an authorized
  ///  operator of the current owner.
  /// @param _approved The new approved NFT controller
  /// @param _tokenId The NFT to approve
  function approve(address _approved, uint256 _tokenId) external payable;

  /// @notice Enable or disable approval for a third party ("operator") to manage
  ///  all your asset.
  /// @dev Emits the ApprovalForAll event
  /// @param _operator Address to add to the set of authorized operators.
  /// @param _approved True if the operators is approved, false to revoke approval
  function setApprovalForAll(address _operator, bool _approved) external;

  /// @notice Get the approved address for a single NFT
  /// @dev Throws if `_tokenId` is not a valid NFT
  /// @param _tokenId The NFT to find the approved address for
  /// @return The approved address for this NFT, or the zero address if there is none
  function getApproved(uint256 _tokenId) external view returns (address);

  /// @notice Query if an address is an authorized operator for another address
  /// @param _owner The address that owns the NFTs
  /// @param _operator The address that acts on behalf of the owner
  /// @return True if `_operator` is an approved operator for `_owner`, false otherwise
  function isApprovedForAll(address _owner, address _operator) external view returns (bool);
}

// File: zeppelin/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

// File: zeppelin/contracts/lifecycle/Pausable.sol

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    Unpause();
  }
}

// File: zeppelin/contracts/ownership/HasNoEther.sol

/**
 * @title Contracts that should not own Ether
 * @author Remco Bloemen <[email protected]π.com>
 * @dev This tries to block incoming ether to prevent accidental loss of Ether. Should Ether end up
 * in the contract, it will allow the owner to reclaim this ether.
 * @notice Ether can still be send to this contract by:
 * calling functions labeled `payable`
 * `selfdestruct(contract_address)`
 * mining directly to the contract address
*/
contract HasNoEther is Ownable {

  /**
  * @dev Constructor that rejects incoming Ether
  * @dev The `payable` flag is added so we can access `msg.value` without compiler warning. If we
  * leave out payable, then Solidity will allow inheriting contracts to implement a payable
  * constructor. By doing it this way we prevent a payable constructor from working. Alternatively
  * we could use assembly to access msg.value.
  */
  function HasNoEther() payable {
    require(msg.value == 0);
  }

  /**
   * @dev Disallows direct send by settings a default function without the `payable` flag.
   */
  function() external {
  }

  /**
   * @dev Transfer all Ether held by the contract to the owner.
   */
  function reclaimEther() external onlyOwner {
    assert(owner.send(this.balance));
  }
}

// File: contracts/marketplace/AxieClockAuction.sol

/// @title Clock auction for non-fungible tokens.
contract AxieClockAuction is HasNoEther, Pausable {

  // Represents an auction on an NFT
  struct Auction {
    // Current owner of NFT
    address seller;
    // Price (in wei) at beginning of auction
    uint128 startingPrice;
    // Price (in wei) at end of auction
    uint128 endingPrice;
    // Duration (in seconds) of auction
    uint64 duration;
    // Time when auction started
    // NOTE: 0 if this auction has been concluded
    uint64 startedAt;
  }

  // Cut owner takes on each auction, measured in basis points (1/100 of a percent).
  // Values 0-10,000 map to 0%-100%
  uint256 public ownerCut;

  // Map from token ID to their corresponding auction.
  mapping (address => mapping (uint256 => Auction)) public auctions;

  event AuctionCreated(
    address indexed _nftAddress,
    uint256 indexed _tokenId,
    uint256 _startingPrice,
    uint256 _endingPrice,
    uint256 _duration,
    address _seller
  );

  event AuctionSuccessful(
    address indexed _nftAddress,
    uint256 indexed _tokenId,
    uint256 _totalPrice,
    address _winner
  );

  event AuctionCancelled(
    address indexed _nftAddress,
    uint256 indexed _tokenId
  );

  /// @dev Constructor creates a reference to the NFT ownership contract
  ///  and verifies the owner cut is in the valid range.
  /// @param _ownerCut - percent cut the owner takes on each auction, must be
  ///  between 0-10,000.
  function AxieClockAuction(uint256 _ownerCut) public {
    require(_ownerCut <= 10000);
    ownerCut = _ownerCut;
  }

  /// @dev DON'T give me your money.
  function () external {}

  // Modifiers to check that inputs can be safely stored with a certain
  // number of bits. We use constants and multiple modifiers to save gas.
  modifier canBeStoredWith64Bits(uint256 _value) {
    require(_value <= 18446744073709551615);
    _;
  }

  modifier canBeStoredWith128Bits(uint256 _value) {
    require(_value < 340282366920938463463374607431768211455);
    _;
  }

  /// @dev Returns auction info for an NFT on auction.
  /// @param _nftAddress - Address of the NFT.
  /// @param _tokenId - ID of NFT on auction.
  function getAuction(
    address _nftAddress,
    uint256 _tokenId
  )
    external
    view
    returns (
      address seller,
      uint256 startingPrice,
      uint256 endingPrice,
      uint256 duration,
      uint256 startedAt
    )
  {
    Auction storage _auction = auctions[_nftAddress][_tokenId];
    require(_isOnAuction(_auction));
    return (
      _auction.seller,
      _auction.startingPrice,
      _auction.endingPrice,
      _auction.duration,
      _auction.startedAt
    );
  }

  /// @dev Returns the current price of an auction.
  /// @param _nftAddress - Address of the NFT.
  /// @param _tokenId - ID of the token price we are checking.
  function getCurrentPrice(
    address _nftAddress,
    uint256 _tokenId
  )
    external
    view
    returns (uint256)
  {
    Auction storage _auction = auctions[_nftAddress][_tokenId];
    require(_isOnAuction(_auction));
    return _getCurrentPrice(_auction);
  }

  /// @dev Creates and begins a new auction.
  /// @param _nftAddress - address of a deployed contract implementing
  ///  the Nonfungible Interface.
  /// @param _tokenId - ID of token to auction, sender must be owner.
  /// @param _startingPrice - Price of item (in wei) at beginning of auction.
  /// @param _endingPrice - Price of item (in wei) at end of auction.
  /// @param _duration - Length of time to move between starting
  ///  price and ending price (in seconds).
  function createAuction(
    address _nftAddress,
    uint256 _tokenId,
    uint256 _startingPrice,
    uint256 _endingPrice,
    uint256 _duration
  )
    external
    whenNotPaused
    canBeStoredWith128Bits(_startingPrice)
    canBeStoredWith128Bits(_endingPrice)
    canBeStoredWith64Bits(_duration)
  {
    address _seller = msg.sender;
    require(_owns(_nftAddress, _seller, _tokenId));
    _escrow(_nftAddress, _seller, _tokenId);
    Auction memory _auction = Auction(
      _seller,
      uint128(_startingPrice),
      uint128(_endingPrice),
      uint64(_duration),
      uint64(now)
    );
    _addAuction(_nftAddress, _tokenId, _auction, _seller);
  }

  /// @dev Bids on an open auction, completing the auction and transferring
  ///  ownership of the NFT if enough Ether is supplied.
  /// @param _nftAddress - address of a deployed contract implementing
  ///  the Nonfungible Interface.
  /// @param _tokenId - ID of token to bid on.
  function bid(
    address _nftAddress,
    uint256 _tokenId
  )
    external
    payable
    whenNotPaused
  {
    // _bid will throw if the bid or funds transfer fails
    _bid(_nftAddress, _tokenId, msg.value);
    _transfer(_nftAddress, msg.sender, _tokenId);
  }

  /// @dev Cancels an auction that hasn't been won yet.
  ///  Returns the NFT to original owner.
  /// @notice This is a state-modifying function that can
  ///  be called while the contract is paused.
  /// @param _nftAddress - Address of the NFT.
  /// @param _tokenId - ID of token on auction
  function cancelAuction(address _nftAddress, uint256 _tokenId) external {
    Auction storage _auction = auctions[_nftAddress][_tokenId];
    require(_isOnAuction(_auction));
    require(msg.sender == _auction.seller);
    _cancelAuction(_nftAddress, _tokenId, _auction.seller);
  }

  /// @dev Cancels an auction when the contract is paused.
  ///  Only the owner may do this, and NFTs are returned to
  ///  the seller. This should only be used in emergencies.
  /// @param _nftAddress - Address of the NFT.
  /// @param _tokenId - ID of the NFT on auction to cancel.
  function cancelAuctionWhenPaused(
    address _nftAddress,
    uint256 _tokenId
  )
    external
    whenPaused
    onlyOwner
  {
    Auction storage _auction = auctions[_nftAddress][_tokenId];
    require(_isOnAuction(_auction));
    _cancelAuction(_nftAddress, _tokenId, _auction.seller);
  }

  /// @dev Returns true if the NFT is on auction.
  /// @param _auction - Auction to check.
  function _isOnAuction(Auction storage _auction) internal view returns (bool) {
    return (_auction.startedAt > 0);
  }

  /// @dev Gets the NFT object from an address, validating that implementsERC721 is true.
  /// @param _nftAddress - Address of the NFT.
  function _getNftContract(address _nftAddress) internal pure returns (IERC721Base) {
    IERC721Base candidateContract = IERC721Base(_nftAddress);
    // require(candidateContract.implementsERC721());
    return candidateContract;
  }

  /// @dev Returns current price of an NFT on auction. Broken into two
  ///  functions (this one, that computes the duration from the auction
  ///  structure, and the other that does the price computation) so we
  ///  can easily test that the price computation works correctly.
  function _getCurrentPrice(
    Auction storage _auction
  )
    internal
    view
    returns (uint256)
  {
    uint256 _secondsPassed = 0;

    // A bit of insurance against negative values (or wraparound).
    // Probably not necessary (since Ethereum guarantees that the
    // now variable doesn't ever go backwards).
    if (now > _auction.startedAt) {
      _secondsPassed = now - _auction.startedAt;
    }

    return _computeCurrentPrice(
      _auction.startingPrice,
      _auction.endingPrice,
      _auction.duration,
      _secondsPassed
    );
  }

  /// @dev Computes the current price of an auction. Factored out
  ///  from _currentPrice so we can run extensive unit tests.
  ///  When testing, make this function external and turn on
  ///  `Current price computation` test suite.
  function _computeCurrentPrice(
    uint256 _startingPrice,
    uint256 _endingPrice,
    uint256 _duration,
    uint256 _secondsPassed
  )
    internal
    pure
    returns (uint256)
  {
    // NOTE: We don't use SafeMath (or similar) in this function because
    //  all of our external functions carefully cap the maximum values for
    //  time (at 64-bits) and currency (at 128-bits). _duration is
    //  also known to be non-zero (see the require() statement in
    //  _addAuction())
    if (_secondsPassed >= _duration) {
      // We've reached the end of the dynamic pricing portion
      // of the auction, just return the end price.
      return _endingPrice;
    } else {
      // Starting price can be higher than ending price (and often is!), so
      // this delta can be negative.
      int256 _totalPriceChange = int256(_endingPrice) - int256(_startingPrice);

      // This multiplication can't overflow, _secondsPassed will easily fit within
      // 64-bits, and _totalPriceChange will easily fit within 128-bits, their product
      // will always fit within 256-bits.
      int256 _currentPriceChange = _totalPriceChange * int256(_secondsPassed) / int256(_duration);

      // _currentPriceChange can be negative, but if so, will have a magnitude
      // less that _startingPrice. Thus, this result will always end up positive.
      int256 _currentPrice = int256(_startingPrice) + _currentPriceChange;

      return uint256(_currentPrice);
    }
  }

  /// @dev Returns true if the claimant owns the token.
  /// @param _nftAddress - The address of the NFT.
  /// @param _claimant - Address claiming to own the token.
  /// @param _tokenId - ID of token whose ownership to verify.
  function _owns(address _nftAddress, address _claimant, uint256 _tokenId) private view returns (bool) {
    IERC721Base _nftContract = _getNftContract(_nftAddress);
    return (_nftContract.ownerOf(_tokenId) == _claimant);
  }

  /// @dev Adds an auction to the list of open auctions. Also fires the
  ///  AuctionCreated event.
  /// @param _tokenId The ID of the token to be put on auction.
  /// @param _auction Auction to add.
  function _addAuction(
    address _nftAddress,
    uint256 _tokenId,
    Auction _auction,
    address _seller
  ) internal {
    // Require that all auctions have a duration of
    // at least one minute. (Keeps our math from getting hairy!)
    require(_auction.duration >= 1 minutes);

    auctions[_nftAddress][_tokenId] = _auction;

    AuctionCreated(
      _nftAddress,
      _tokenId,
      uint256(_auction.startingPrice),
      uint256(_auction.endingPrice),
      uint256(_auction.duration),
      _seller
    );
  }

  /// @dev Removes an auction from the list of open auctions.
  /// @param _tokenId - ID of NFT on auction.
  function _removeAuction(address _nftAddress, uint256 _tokenId) internal {
    delete auctions[_nftAddress][_tokenId];
  }

  /// @dev Cancels an auction unconditionally.
  function _cancelAuction(address _nftAddress, uint256 _tokenId, address _seller) internal {
    _removeAuction(_nftAddress, _tokenId);
    _transfer(_nftAddress, _seller, _tokenId);
    AuctionCancelled(_nftAddress, _tokenId);
  }

  /// @dev Escrows the NFT, assigning ownership to this contract.
  /// Throws if the escrow fails.
  /// @param _nftAddress - The address of the NFT.
  /// @param _owner - Current owner address of token to escrow.
  /// @param _tokenId - ID of token whose approval to verify.
  function _escrow(address _nftAddress, address _owner, uint256 _tokenId) private {
    IERC721Base _nftContract = _getNftContract(_nftAddress);

    // It will throw if transfer fails
    _nftContract.transferFrom(_owner, this, _tokenId);
  }

  /// @dev Transfers an NFT owned by this contract to another address.
  /// Returns true if the transfer succeeds.
  /// @param _nftAddress - The address of the NFT.
  /// @param _receiver - Address to transfer NFT to.
  /// @param _tokenId - ID of token to transfer.
  function _transfer(address _nftAddress, address _receiver, uint256 _tokenId) internal {
    IERC721Base _nftContract = _getNftContract(_nftAddress);

    // It will throw if transfer fails
    _nftContract.transferFrom(this, _receiver, _tokenId);
  }

  /// @dev Computes owner's cut of a sale.
  /// @param _price - Sale price of NFT.
  function _computeCut(uint256 _price) internal view returns (uint256) {
    // NOTE: We don't use SafeMath (or similar) in this function because
    //  all of our entry functions carefully cap the maximum values for
    //  currency (at 128-bits), and ownerCut <= 10000 (see the require()
    //  statement in the ClockAuction constructor). The result of this
    //  function is always guaranteed to be <= _price.
    return _price * ownerCut / 10000;
  }

  /// @dev Computes the price and transfers winnings.
  /// Does NOT transfer ownership of token.
  function _bid(
    address _nftAddress,
    uint256 _tokenId,
    uint256 _bidAmount
  )
    internal
    returns (uint256)
  {
    // Get a reference to the auction struct
    Auction storage _auction = auctions[_nftAddress][_tokenId];

    // Explicitly check that this auction is currently live.
    // (Because of how Ethereum mappings work, we can't just count
    // on the lookup above failing. An invalid _tokenId will just
    // return an auction object that is all zeros.)
    require(_isOnAuction(_auction));

    // Check that the incoming bid is higher than the current
    // price
    uint256 _price = _getCurrentPrice(_auction);
    require(_bidAmount >= _price);

    // Grab a reference to the seller before the auction struct
    // gets deleted.
    address _seller = _auction.seller;

    // The bid is good! Remove the auction before sending the fees
    // to the sender so we can't have a reentrancy attack.
    _removeAuction(_nftAddress, _tokenId);

    // Transfer proceeds to seller (if there are any!)
    if (_price > 0) {
      //  Calculate the auctioneer's cut.
      // (NOTE: _computeCut() is guaranteed to return a
      //  value <= price, so this subtraction can't go negative.)
      uint256 _auctioneerCut = _computeCut(_price);
      uint256 _sellerProceeds = _price - _auctioneerCut;

      // NOTE: Doing a transfer() in the middle of a complex
      // method like this is generally discouraged because of
      // reentrancy attacks and DoS attacks if the seller is
      // a contract with an invalid fallback function. We explicitly
      // guard against reentrancy attacks by removing the auction
      // before calling transfer(), and the only thing the seller
      // can DoS is the sale of their own asset! (And if it's an
      // accident, they can call cancelAuction(). )
      _seller.transfer(_sellerProceeds);
    }

    if (_bidAmount > _price) {
      // Calculate any excess funds included with the bid. If the excess
      // is anything worth worrying about, transfer it back to bidder.
      // NOTE: We checked above that the bid amount is greater than or
      // equal to the price so this cannot underflow.
      uint256 _bidExcess = _bidAmount - _price;

      // Return the funds. Similar to the previous transfer, this is
      // not susceptible to a re-entry attack because the auction is
      // removed before any transfers occur.
      msg.sender.transfer(_bidExcess);
    }

    // Tell the world!
    AuctionSuccessful(_nftAddress, _tokenId, _price, msg.sender);

    return _price;
  }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_nftAddress","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"cancelAuctionWhenPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"auctions","outputs":[{"name":"seller","type":"address"},{"name":"startingPrice","type":"uint128"},{"name":"endingPrice","type":"uint128"},{"name":"duration","type":"uint64"},{"name":"startedAt","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nftAddress","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"bid","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_nftAddress","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"getCurrentPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_nftAddress","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"getAuction","outputs":[{"name":"seller","type":"address"},{"name":"startingPrice","type":"uint256"},{"name":"endingPrice","type":"uint256"},{"name":"duration","type":"uint256"},{"name":"startedAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ownerCut","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_nftAddress","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"cancelAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_nftAddress","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_startingPrice","type":"uint256"},{"name":"_endingPrice","type":"uint256"},{"name":"_duration","type":"uint256"}],"name":"createAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"reclaimEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_ownerCut","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_nftAddress","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"},{"indexed":false,"name":"_startingPrice","type":"uint256"},{"indexed":false,"name":"_endingPrice","type":"uint256"},{"indexed":false,"name":"_duration","type":"uint256"},{"indexed":false,"name":"_seller","type":"address"}],"name":"AuctionCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_nftAddress","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"},{"indexed":false,"name":"_totalPrice","type":"uint256"},{"indexed":false,"name":"_winner","type":"address"}],"name":"AuctionSuccessful","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_nftAddress","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"}],"name":"AuctionCancelled","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000805460a060020a60ff0219169055341561001f57600080fd5b604051602080610fa48339810160405280805160008054600160a060020a03191633600160a060020a0316179055915050341561005b57600080fd5b61271081111561006a57600080fd5b600155610f288061007c6000396000f3006060604052600436106100b65763ffffffff60e060020a6000350416631ae6b6ee81146100c35780633f4ba83a146100e557806344f91c1e146100f857806359d667a51461016c5780635c975abb146101835780636c54df52146101aa578063762a66a2146101de57806383b5ff8b1461023b5780638456cb591461024e578063859b97fe146102615780638da5cb5b14610283578063961c9ae4146102b25780639f727c27146102dd578063f2fde38b146102f0575b34156100c157600080fd5b005b34156100ce57600080fd5b6100c1600160a060020a036004351660243561030f565b34156100f057600080fd5b6100c1610398565b341561010357600080fd5b61011a600160a060020a0360043516602435610417565b604051600160a060020a0390951685526001608060020a0393841660208601529190921660408085019190915267ffffffffffffffff92831660608501529116608083015260a0909101905180910390f35b6100c1600160a060020a0360043516602435610487565b341561018e57600080fd5b6101966104b9565b604051901515815260200160405180910390f35b34156101b557600080fd5b6101cc600160a060020a03600435166024356104c9565b60405190815260200160405180910390f35b34156101e957600080fd5b610200600160a060020a0360043516602435610511565b604051600160a060020a03909516855260208501939093526040808501929092526060840152608083019190915260a0909101905180910390f35b341561024657600080fd5b6101cc6105b4565b341561025957600080fd5b6100c16105ba565b341561026c57600080fd5b6100c1600160a060020a036004351660243561063e565b341561028e57600080fd5b61029661068f565b604051600160a060020a03909116815260200160405180910390f35b34156102bd57600080fd5b6100c1600160a060020a036004351660243560443560643560843561069e565b34156102e857600080fd5b6100c1610792565b34156102fb57600080fd5b6100c1600160a060020a03600435166107e5565b6000805460a060020a900460ff16151561032857600080fd5b60005433600160a060020a0390811691161461034357600080fd5b50600160a060020a0382166000908152600260209081526040808320848452909152902061037081610880565b151561037b57600080fd5b80546103939084908490600160a060020a03166108a1565b505050565b60005433600160a060020a039081169116146103b357600080fd5b60005460a060020a900460ff1615156103cb57600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b60026020818152600093845260408085209091529183529120805460018201549190920154600160a060020a03909216916001608060020a03808316927001000000000000000000000000000000009004169067ffffffffffffffff808216916801000000000000000090041685565b60005460a060020a900460ff161561049e57600080fd5b6104a98282346108f2565b506104b5823383610a40565b5050565b60005460a060020a900460ff1681565b600160a060020a038216600090815260026020908152604080832084845290915281206104f581610880565b151561050057600080fd5b61050981610ac8565b949350505050565b600160a060020a03821660009081526002602090815260408083208484529091528120819081908190819061054581610880565b151561055057600080fd5b80546001820154600290920154600160a060020a03909116996001608060020a038084169a50700100000000000000000000000000000000909304909216975067ffffffffffffffff80821697506801000000000000000090910416945092505050565b60015481565b60005433600160a060020a039081169116146105d557600080fd5b60005460a060020a900460ff16156105ec57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600160a060020a0382166000908152600260209081526040808320848452909152902061066a81610880565b151561067557600080fd5b805433600160a060020a0390811691161461037b57600080fd5b600054600160a060020a031681565b60006106a8610ece565b60005460a060020a900460ff16156106bf57600080fd5b846001608060020a0381106106d357600080fd5b846001608060020a0381106106e757600080fd5b8467ffffffffffffffff8111156106fd57600080fd5b33945061070b8a868b610b56565b151561071657600080fd5b6107218a868b610bec565b60a06040519081016040528086600160a060020a03168152602001896001608060020a03168152602001886001608060020a031681526020018767ffffffffffffffff1681526020014267ffffffffffffffff1681525093506107868a8a8688610c5a565b50505050505050505050565b60005433600160a060020a039081169116146107ad57600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156107e357fe5b565b60005433600160a060020a0390811691161461080057600080fd5b600160a060020a038116151561081557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6002015460006801000000000000000090910467ffffffffffffffff161190565b6108ab8383610e20565b6108b6838284610a40565b8183600160a060020a03167f018b64b6242d32aa550e95d78985b938d71af5b3f10827b0683f55da1639304860405160405180910390a3505050565b600160a060020a03831660009081526002602090815260408083208584529091528120818080808061092386610880565b151561092e57600080fd5b61093786610ac8565b94508488101561094657600080fd5b8554600160a060020a0316935061095d8a8a610e20565b60008511156109a75761096f85610e82565b92508285039150600160a060020a03841682156108fc0283604051600060405180830381858888f1935050505015156109a757600080fd5b848811156109e45750838703600160a060020a03331681156108fc0282604051600060405180830381858888f1935050505015156109e457600080fd5b888a600160a060020a03167f6c00bb44a64da29b6a73920d50ff280237d277bda3e1f3cdf4e24392e6839efe8733604051918252600160a060020a031660208201526040908101905180910390a3509298975050505050505050565b6000610a4b84610e8e565b905080600160a060020a03166323b872dd30858560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b1515610aae57600080fd5b6102c65a03f11515610abf57600080fd5b50505050505050565b6002810154600090819068010000000000000000900467ffffffffffffffff16421115610b0e5750600282015468010000000000000000900467ffffffffffffffff1642035b60018301546002840154610b4f916001608060020a0380821692700100000000000000000000000000000000909204169067ffffffffffffffff1684610e91565b9392505050565b600080610b6285610e8e565b905083600160a060020a031681600160a060020a0316636352211e8560006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b1515610bbd57600080fd5b6102c65a03f11515610bce57600080fd5b50505060405180519050600160a060020a0316149150509392505050565b6000610bf784610e8e565b905080600160a060020a03166323b872dd84308560405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401600060405180830381600087803b1515610aae57600080fd5b603c826060015167ffffffffffffffff161015610c7657600080fd5b600160a060020a0384166000908152600260209081526040808320868452909152902082908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001820180546fffffffffffffffffffffffffffffffff19166001608060020a039290921691909117905560408201516001820180546001608060020a03928316700100000000000000000000000000000000029216919091179055606082015160028201805467ffffffffffffffff191667ffffffffffffffff9290921691909117905560808201516002909101805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff0000000000000000199092169190911790555082600160a060020a0385167febc6e332a2c695c53d77b2922a18bcf3ab024549f5f2bfa67e0875ec29d59d4660208501516001608060020a031685604001516001608060020a0316866060015167ffffffffffffffff16866040519384526020840192909252604080840191909152600160a060020a0390911660608301526080909101905180910390a350505050565b600160a060020a039091166000908152600260208181526040808420948452939052918120805473ffffffffffffffffffffffffffffffffffffffff1916815560018101919091550180546fffffffffffffffffffffffffffffffff19169055565b60015461271091020490565b90565b6000808080858510610ea557869350610ec3565b878703925085858402811515610eb757fe5b05915081880190508093505b505050949350505050565b60a06040519081016040908152600080835260208301819052908201819052606082018190526080820152905600a165627a7a723058202006b21bd123c97e5aa47d69d98a066c6ac130a7125f23df9c9e6a98a3d99de1002900000000000000000000000000000000000000000000000000000000000001a9

    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000001a9

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000001a9


   Swarm Source:
bzzr://2006b21bd123c97e5aa47d69d98a066c6ac130a7125f23df9c9e6a98a3d99de1

 

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