Contract 0xA181b8c9f6b43B8252c6c9826Cf5feba362B542e

 

Contract Overview

Balance:
0.001358080579447714 Ether

EtherValue:
$2.42 (@ $1,780.72/ETH)

Token:
 
Txn Hash
Method
Block
From
To
Value
0x84e1bf538e3a18319dcd6de3406aa4433418680f2079b10239de3e8f9ffe188bPurchase134155272021-10-14 9:26:18298 days 19 hrs ago0xd865697a2acbbdf280edd19d81fa1d9a4885a15e IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.02263467 Ether0.00671291 62.232128
0xfd7b8eece124435805e414e456c28a60ac783c31adc2a989e1b0f9ea9c56df4dPurchase131008962021-08-26 12:08:59347 days 16 hrs ago0x388e07d4fc7f3e2c825e6cb1ff46447764798b24 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0 Ether0.01102673 90.24477244
0x7811a19816b42c7c1f5d588a3ec751d3a024daa790fb4c0946f5e35ffbf40230Payout55096002018-04-26 14:38:001565 days 14 hrs ago0xdf937b071199dafdb3b96b09533e286809b803aa IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0 Ether0.000062362
0xac5d39c6fa4af257426f27989f46fada3f47ada561d2cab9c4e340b147e906f9Purchase53118672018-03-24 7:36:071598 days 21 hrs agoENS Name takutaku.eth IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.01163829 Ether0.000203852
0x7ecc02e95f4711104ee0616a0200ae4c7b6c2e4c525d0fb5703714ef132e2ae5Dissolve52950872018-03-21 12:19:211601 days 16 hrs ago0xa7703dd6599f9c107d7b6c4396be54fc4fe54f52 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0 Ether0.000049772.1
0x48c778df30c31b229398720147852f406c7aaf65b000463942e180f98e578ba9Purchase52886752018-03-20 10:18:271602 days 18 hrs ago0xfcb59556bdc2007ec0e27bad33a8f7be38a9043d IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.21901215 Ether0.000173852
0x321dbac8c85bea2fb44f7273df547d17194d6b64a2dde63ea76c78a9c00534ebPurchase52886082018-03-20 10:01:251602 days 18 hrs ago0x1abd70ab0e355f7ab77bc5848a691e42c19cfc11 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.47385565 Ether0.000173852
0x28b33323ecac3250bcb68e9769531553d8eaec6b5c8eb3ee370c93d8a389dbcbPurchase52830032018-03-19 11:23:431603 days 17 hrs ago0xca0f6445d0f4522186a3c25cd79c7cddac283431 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.10346571 Ether0.000086921
0xb264dab6621a1f1598f776056ce7d442f6ae13ca9a9f52e61c25912a9a48fc3fPurchase52829692018-03-19 11:15:051603 days 17 hrs ago0x9c40c33264393f116a4f6a456427af3ec4b202d0 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.04915888 Ether0.000173852
0xef3bde80dac760793244fde4ed7f7003c30ffd1b1bf0f84c4cb1078ccff1ffabPurchase52829632018-03-19 11:14:201603 days 17 hrs ago0x7bdd03729e4017562340ff92afd7abd806af86c6 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.21901215 Ether0.000173852
0x4f6e291e2fc286f63ed0d98c8580464180ffe67cae7de575d54c3f27d50d6ee6Purchase52828522018-03-19 10:47:581603 days 18 hrs ago0x134c5eba2060fb330d198f06b889acf1a434708b IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.21901215 Ether0.000071921
0x962c4493a33ef94172b74200afd745583a78f3241d4347e08a1a1951ac2e8ebePurchase52828282018-03-19 10:44:011603 days 18 hrs ago0xbaf858afacb610af6714fea32c9bb85ae5b4bb69 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.47385565 Ether0.000173852
0xa488070ba0961906da867d4956c585aae617856278258e2007a8be0adfae3b3aPurchase52827752018-03-19 10:31:511603 days 18 hrs ago0xfa71b3183ee00bf2734c6ca01747315f6c12592b IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.99692692 Ether0.000086921
0x53704cdc0d9460eb16c115985b7ae938e2eeef9cc66e067b2d14fa03c88422dePurchase52827062018-03-19 10:15:171603 days 18 hrs ago0x5315a64729449ac7d53bf20686e721ed1a06abcf IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.21901215 Ether0.000203852
0xf45253c9fbd3780e0abaf3e8426900b2dea284ff9bb02b48681ff785cb56baa0Purchase52824572018-03-19 9:13:471603 days 19 hrs ago0xe00942bf8b2b2b0ee89c94e8674ec2d006cab89e IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.10346571 Ether0.000173852
0x7b2440322de4dc04a6b6b9332b92b38415926f509c0bf4f7516621a32e759a9aPurchase52824572018-03-19 9:13:471603 days 19 hrs ago0x01c42ae4a47e301131fc1ba43213b29d005c7ebc IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.47385565 Ether0.000173852
0x0f3b47f152f8d6170cad913a6235bdc63a62ba2ad761ce288541e0036d1aa0c3Purchase52824532018-03-19 9:12:521603 days 19 hrs ago0xdeb6395d1e020fbac661e2b638f88d8642e31036 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.04915888 Ether0.000173852
0xf879eb5f9b29a197f1f8c6205f2b68829df32df0b883bf98e7b7ed22dafe3dadPurchase52823692018-03-19 8:55:041603 days 20 hrs ago0xc07a75d83b49aec0153bac880040546e3b4bd8b5 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.10346571 Ether0.000173852
0x740ba0f610621785dc826df7ee2f1ae96c25625b0c15d9450c13a6f3ed57a312Purchase52823122018-03-19 8:43:141603 days 20 hrs ago0x7a229042c107f5776f665f85c0140e16943c3154 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.98792692 Ether0.000173852
0xf7be3b5e6b283286ba4b55f7b39cddc347b67cf70dbc18008a1db84a6de52838Purchase52822802018-03-19 8:36:031603 days 20 hrs ago0x691d0a53a5b660bcd7b37b4dbe4e4406aae7fcbd IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.46485565 Ether0.000086921
0x405969ede7591e9fdcb41b5ae3acee2693dc42d8c868b356ea2253361772f840Purchase52818902018-03-19 6:57:091603 days 22 hrs ago0x232289536e47a97dbab4816d77dc37c8677905df IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.98792692 Ether0.000173852
0xa9768ab56985c6d7bec65f54aeac796c631721065e80bb8f7ed0fb8c161166adPurchase52818832018-03-19 6:54:021603 days 22 hrs ago0xb5b6c3ae60a54804c442f4055da40b3c437b4fc1 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.21901215 Ether0.000143852
0x867ab4e0c6f804935a5467fdd88d826a0bc2f468958979c26b4bd42c6de0ff77Purchase52800402018-03-18 23:32:381604 days 5 hrs ago0x44de60dfdd09c95a370206fd291d86237c06c435 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.02363467 Ether0.000174536
0x07d472b38b51bfad032643d6cf2ccb8adcb516df5617e94ac9348e6e007f9f0dPurchase52800392018-03-18 23:32:201604 days 5 hrs ago0x44de60dfdd09c95a370206fd291d86237c06c435 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.01163829 Ether0.0005817820
0x14139149283eb93e80dfb9d5fb3e35c6df89d27ae5d8b325de0af925d1c45b9ePurchase52800392018-03-18 23:32:201604 days 5 hrs ago0x44de60dfdd09c95a370206fd291d86237c06c435 IN  0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0.01163829 Ether0.000116354
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x84e1bf538e3a18319dcd6de3406aa4433418680f2079b10239de3e8f9ffe188b134155272021-10-14 9:26:18298 days 19 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xd865697a2acbbdf280edd19d81fa1d9a4885a15e0 Ether
0x84e1bf538e3a18319dcd6de3406aa4433418680f2079b10239de3e8f9ffe188b134155272021-10-14 9:26:18298 days 19 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x02e05008c9a035e527c419e7f134e18cc2330a1a0.02127659 Ether
0xfd7b8eece124435805e414e456c28a60ac783c31adc2a989e1b0f9ea9c56df4d131008962021-08-26 12:08:59347 days 16 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x388e07d4fc7f3e2c825e6cb1ff46447764798b240 Ether
0x7811a19816b42c7c1f5d588a3ec751d3a024daa790fb4c0946f5e35ffbf4023055096002018-04-26 14:38:001565 days 14 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xdf937b071199dafdb3b96b09533e286809b803aa17.11458268 Ether
0xac5d39c6fa4af257426f27989f46fada3f47ada561d2cab9c4e340b147e906f953118672018-03-24 7:36:071598 days 21 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542eENS Name takutaku.eth0.00099999 Ether
0xac5d39c6fa4af257426f27989f46fada3f47ada561d2cab9c4e340b147e906f953118672018-03-24 7:36:071598 days 21 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x02e05008c9a035e527c419e7f134e18cc2330a1a0.00999999 Ether
0x48c778df30c31b229398720147852f406c7aaf65b000463942e180f98e578ba952886752018-03-20 10:18:271602 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xfcb59556bdc2007ec0e27bad33a8f7be38a9043d0.00099999 Ether
0x48c778df30c31b229398720147852f406c7aaf65b000463942e180f98e578ba952886752018-03-20 10:18:271602 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xc07a75d83b49aec0153bac880040546e3b4bd8b50.20493142 Ether
0x321dbac8c85bea2fb44f7273df547d17194d6b64a2dde63ea76c78a9c00534eb52886082018-03-20 10:01:251602 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x1abd70ab0e355f7ab77bc5848a691e42c19cfc110.00999999 Ether
0x321dbac8c85bea2fb44f7273df547d17194d6b64a2dde63ea76c78a9c00534eb52886082018-03-20 10:01:251602 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x134c5eba2060fb330d198f06b889acf1a434708b0.43602431 Ether
0x28b33323ecac3250bcb68e9769531553d8eaec6b5c8eb3ee370c93d8a389dbcb52830032018-03-19 11:23:431603 days 17 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xca0f6445d0f4522186a3c25cd79c7cddac2834310.001 Ether
0x28b33323ecac3250bcb68e9769531553d8eaec6b5c8eb3ee370c93d8a389dbcb52830032018-03-19 11:23:431603 days 17 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x9c40c33264393f116a4f6a456427af3ec4b202d00.09631777 Ether
0xb264dab6621a1f1598f776056ce7d442f6ae13ca9a9f52e61c25912a9a48fc3f52829692018-03-19 11:15:051603 days 17 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x9c40c33264393f116a4f6a456427af3ec4b202d00.00099999 Ether
0xb264dab6621a1f1598f776056ce7d442f6ae13ca9a9f52e61c25912a9a48fc3f52829692018-03-19 11:15:051603 days 17 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x3bbab9494c32253f0b41c7358de1cd1672bf03190.04526935 Ether
0xef3bde80dac760793244fde4ed7f7003c30ffd1b1bf0f84c4cb1078ccff1ffab52829632018-03-19 11:14:201603 days 17 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x7bdd03729e4017562340ff92afd7abd806af86c60.00099999 Ether
0xef3bde80dac760793244fde4ed7f7003c30ffd1b1bf0f84c4cb1078ccff1ffab52829632018-03-19 11:14:201603 days 17 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xff9fa2d10c3167df8f35eb0a5132c4fe08431a810.20493142 Ether
0x4f6e291e2fc286f63ed0d98c8580464180ffe67cae7de575d54c3f27d50d6ee652828522018-03-19 10:47:581603 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x134c5eba2060fb330d198f06b889acf1a434708b0.00099999 Ether
0x4f6e291e2fc286f63ed0d98c8580464180ffe67cae7de575d54c3f27d50d6ee652828522018-03-19 10:47:581603 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x7bdd03729e4017562340ff92afd7abd806af86c60.20493142 Ether
0x962c4493a33ef94172b74200afd745583a78f3241d4347e08a1a1951ac2e8ebe52828282018-03-19 10:44:011603 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xbaf858afacb610af6714fea32c9bb85ae5b4bb690.00999999 Ether
0x962c4493a33ef94172b74200afd745583a78f3241d4347e08a1a1951ac2e8ebe52828282018-03-19 10:44:011603 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xfcb59556bdc2007ec0e27bad33a8f7be38a9043d0.43602431 Ether
0xa488070ba0961906da867d4956c585aae617856278258e2007a8be0adfae3b3a52827752018-03-19 10:31:511603 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xfa71b3183ee00bf2734c6ca01747315f6c12592b0.00999999 Ether
0xa488070ba0961906da867d4956c585aae617856278258e2007a8be0adfae3b3a52827752018-03-19 10:31:511603 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x7c9ba834c764d43ec25894a7f2bb3eedb5cdcbc80.92771131 Ether
0x53704cdc0d9460eb16c115985b7ae938e2eeef9cc66e067b2d14fa03c88422de52827062018-03-19 10:15:171603 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0x5315a64729449ac7d53bf20686e721ed1a06abcf0.00099999 Ether
0x53704cdc0d9460eb16c115985b7ae938e2eeef9cc66e067b2d14fa03c88422de52827062018-03-19 10:15:171603 days 18 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xe00942bf8b2b2b0ee89c94e8674ec2d006cab89e0.20493142 Ether
0xf45253c9fbd3780e0abaf3e8426900b2dea284ff9bb02b48681ff785cb56baa052824572018-03-19 9:13:471603 days 19 hrs ago 0xa181b8c9f6b43b8252c6c9826cf5feba362b542e0xe00942bf8b2b2b0ee89c94e8674ec2d006cab89e0.001 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CryptoStamps

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

pragma solidity ^0.4.18; // solhint-disable-line




contract ERC721 {
  // Required methods
  function approve(address _to, uint256 _tokenId) public;
  function balanceOf(address _owner) public view returns (uint256 balance);
  function implementsERC721() public pure returns (bool);
  function ownerOf(uint256 _tokenId) public view returns (address addr);
  function takeOwnership(uint256 _tokenId) public;
  function totalSupply() public view returns (uint256 total);
  function transferFrom(address _from, address _to, uint256 _tokenId) public;
  function transfer(address _to, uint256 _tokenId) public;

  event Transfer(address indexed from, address indexed to, uint256 tokenId);
  event Approval(address indexed owner, address indexed approved, uint256 tokenId);
  event Dissolved(address  owner, uint256 tokenId);
  event TransferDissolved(address indexed from, address indexed to, uint256 tokenId);
  
}


contract CryptoStamps is ERC721 {

  
  /*** EVENTS ***/

  
  /// @dev The Birth event is fired whenever a new stamp is created.
  event stampBirth(uint256 tokenId,  address owner);

  /// @dev The TokenSold event is fired whenever a stamp is sold.
  event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner);

  /// @dev Transfer event as defined in current draft of ERC721. 
  ///  ownership is assigned, including births.
  event Transfer(address from, address to, uint256 tokenId);



  
  /*** CONSTANTS ***/


  /// @notice Name and symbol of the non fungible token, as defined in ERC721.
  string public constant NAME = "CryptoStamps"; // 
  string public constant SYMBOL = "CS"; // 
  
  // @dev firstStepLimit for the change in rate of price increase
  uint256 private firstStepLimit =  1.28 ether;
  


  
  
  /*** STORAGE ***/



  /// @dev A mapping from stamp IDs to the address that owns them. All stamps have
  ///  some valid owner address.
  mapping (uint256 => address) public stampIndexToOwner;
  

  // @dev A mapping from owner address to count of stamps that address owns.
  //  Used internally inside balanceOf() to resolve ownership count.
  mapping (address => uint256) private ownershipTokenCount;

  /// @dev A mapping from stamp IDs to an address that has been approved to call
  ///  transferFrom(). Each stamp can only have one approved address for transfer
  ///  at any time. A zero value means no approval is outstanding.
  mapping (uint256 => address) public stampIndexToApproved;

  // @dev A mapping from stamp IDs to the price of the token.
  mapping (uint256 => uint256) private stampIndexToPrice;
  
  
  
  //@dev A mapping from stamp IDs to the number of transactions that the stamp has gone through. 
  mapping(uint256 => uint256) public stampIndextotransactions;
  
  //@dev To calculate the total ethers transacted in the game.
  uint256 public totaletherstransacted;

  //@dev To calculate the total transactions in the game.
  uint256 public totaltransactions;
  
  //@dev To calculate the total stamps created.
  uint256 public stampCreatedCount;
  
  
  

 /*** STORAGE FOR DISSOLVED ***/
 
 
 //@dev A mapping from stamp IDs to their dissolved status.
  //Initially all values are set to false by default
  mapping (uint256 => bool) public stampIndextodissolved;
 
 
 //@dev A mapping from dissolved stamp IDs to their approval status.
  //Initially all values are set to false by default
 mapping (uint256 => address) public dissolvedIndexToApproved;
 
  
  
  
  /*** DATATYPES ***/
  
  struct Stamp {
    uint256 birthtime;
  }
  
  

  Stamp[] private stamps;

 
 
 
 
  
  
  
  /*** ACCESS MODIFIERS ***/
  
  /// @dev Access modifier for CEO-only functionality
  
  
  // The addresses of the accounts (or contracts) that can execute actions within each roles.
  address public ceoAddress;
  address public cooAddress;
  bool private paused;
  
  modifier onlyCEO() {
    require(msg.sender == ceoAddress);
    _;
  }

  /// @dev Access modifier for COO-only functionality
  modifier onlyCOO() {
    require(msg.sender == cooAddress);
    _;
  }

  /// Access modifier for contract owner only functionality
  modifier onlyCLevel() {
    require(
      msg.sender == ceoAddress ||
      msg.sender == cooAddress
    );
    _;
  }

  
  /// @dev Assigns a new address to act as the CEO. Only available to the current CEO.
  /// @param _newCEO The address of the new CEO
  
  function setCEO(address _newCEO) public onlyCEO {
    require(_newCEO != address(0));

    ceoAddress = _newCEO;
  }

 
 
  /// @dev Assigns a new address to act as the COO. Only available to the current COO.
  /// @param _newCOO The address of the new COO
  
  function setCOO(address _newCOO) public onlyCEO {
    require(_newCOO != address(0));

    cooAddress = _newCOO;
  }
  
  
  
  /*** CONSTRUCTOR ***/
  function CryptoStamps() public {
    ceoAddress = msg.sender;
    cooAddress = msg.sender;
    paused = false;
  }

  
  
  
  
  /*** PUBLIC FUNCTIONS ***/
  /// @notice Grant another address the right to transfer stamp via takeOwnership() and transferFrom().
  
  ///  clear all approvals.
  
  /// @dev Required for ERC-721 compliance.
  
  
  //@dev to pause and unpause the contract in emergency situations
  function pausecontract() public onlyCLevel
  {
      paused = true;
  }
  
  
  
  function unpausecontract() public onlyCEO
  {
      paused = false;
      
  }
  
  
  
  function approve(
    address _to,
    uint256 _tokenId
  ) public {
    // Caller must own token.
    require(paused == false);
    require(_owns(msg.sender, _tokenId));

    stampIndexToApproved[_tokenId] = _to;

    Approval(msg.sender, _to, _tokenId);
  }

  
  
  /// For querying balance of a particular account
  /// @param _owner The address for balance query
  /// @dev Required for ERC-721 compliance.
  
  
  
  
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return ownershipTokenCount[_owner];
  }

  
  
  //@dev To create a stamp.
  function createStamp(address _owner,  uint256 _price) public onlyCOO {
    
    require(paused == false);
    address stampOwner = _owner;
    if (stampOwner == address(0)) {
      stampOwner = cooAddress;
    }

    require(_price >= 0);

    stampCreatedCount++;
    _createStamp( stampOwner, _price);
  }

  
 
  //@dev To get stamp information
  
  function getStamp(uint256 _tokenId) public view returns (
    uint256 birthtimestamp,
    uint256 sellingPrice,
    address owner
  ) {
    Stamp storage stamp = stamps[_tokenId];
    birthtimestamp = stamp.birthtime;
    sellingPrice = stampIndexToPrice[_tokenId];
    owner = stampIndexToOwner[_tokenId];
  }

  
  
  
  function implementsERC721() public pure returns (bool) {
    return true;
  }

  
  
  /// @dev Required for ERC-721 compliance.
  
  
  
  
  function name() public pure returns (string) {
    return NAME;
  }

  
  
  /// For querying owner of stamp
  /// @param _tokenId The tokenID for owner inquiry
  /// @dev Required for ERC-721 compliance.
  
  
  
  function ownerOf(uint256 _tokenId)
    public
    view
    returns (address owner)
  {
    owner = stampIndexToOwner[_tokenId];
    require(owner != address(0));
  }

  
  
  //@dev To payout to an address
  
  function payout(address _to) public onlyCLevel {
    _payout(_to);
  }
  
  
  
  
  
  
  //@ To set the cut received by smart contract
  uint256 private cut;
  
  
  
  
  function setcut(uint256 cutowner) onlyCEO public returns(uint256)
  { 
      cut = cutowner;
      return(cut);
      
  }

  
  
  
  
  // Allows someone to send ether and obtain the token
  
  function purchase(uint256 _tokenId) public payable {
    address oldOwner = stampIndexToOwner[_tokenId];
    address newOwner = msg.sender;
    require(stampIndextodissolved[_tokenId] == false);
    require(paused == false);
    uint256 sellingPrice = stampIndexToPrice[_tokenId];
    totaletherstransacted = totaletherstransacted + sellingPrice;

    // Making sure token owner is not sending to self
    require(oldOwner != newOwner);

    // Safety check to prevent against an unexpected 0x0 default.
    require(_addressNotNull(newOwner));

    // Making sure sent amount is greater than or equal to the sellingPrice
    require(msg.value >= sellingPrice);

    uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, cut), 100));
    uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice);

    // Update prices
    if (sellingPrice < firstStepLimit) {
      // first stage
      stampIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 200), cut);
    } 
    else {
      
      stampIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 125), cut);
    }

    _transfer(oldOwner, newOwner, _tokenId);

    // Pay previous tokenOwner if owner is not contract
    if (oldOwner != address(this)) {
      oldOwner.transfer(payment); //(1-0.06)
    }

    TokenSold(_tokenId, sellingPrice, stampIndexToPrice[_tokenId], oldOwner, newOwner);

    msg.sender.transfer(purchaseExcess);
  }

  
  
  
  //@dev To get price of a stamp
  function priceOf(uint256 _tokenId) public view returns (uint256 price) {
    return stampIndexToPrice[_tokenId];
  }

  
  
  //@dev To get the next price of a stamp
  function nextpriceOf(uint256 _tokenId) public view returns (uint256 price) {
    uint256 currentsellingPrice = stampIndexToPrice[_tokenId];
    
    if (currentsellingPrice < firstStepLimit) {
      // first stage
      return SafeMath.div(SafeMath.mul(currentsellingPrice, 200), cut);
    } 
    else {
      
      return SafeMath.div(SafeMath.mul(currentsellingPrice, 125), cut);
    }
    
  }

  
  
  
  
  
  /// @dev Required for ERC-721 compliance.
  
  
  function symbol() public pure returns (string) {
    return SYMBOL;
  }

  
  /// @notice Allow pre-approved user to take ownership of a token
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  
  
  function takeOwnership(uint256 _tokenId) public {
    address newOwner = msg.sender;
    address oldOwner = stampIndexToOwner[_tokenId];
    require(paused == false);
    // Safety check to prevent against an unexpected 0x0 default.
    require(_addressNotNull(newOwner));

    // Making sure transfer is approved
    require(_approved(newOwner, _tokenId));

    _transfer(oldOwner, newOwner, _tokenId);
  }

  
  
  
  /// @param _owner The owner of the stamp
  /// @dev This method MUST NEVER be called by smart contract code. First, it's fairly
  ///  expensive (it walks the entire Stamps array looking for stamps belonging to owner),
  ///  but it also returns a dynamic array, which is only supported for web3 calls, and
  ///  not contract-to-contract calls.
  
  
  
  function tokensOfOwner(address _owner) public view returns(uint256[] ownerTokens) {
    uint256 tokenCount = balanceOf(_owner);
    if (tokenCount == 0) {
        // Return an empty array
      return new uint256[](0);
    } else {
      uint256[] memory result = new uint256[](tokenCount);
      uint256 totalStamps = totalSupply();
      uint256 resultIndex = 0;

      uint256 stampId;
      for (stampId = 0; stampId <= totalStamps; stampId++) {
        if (stampIndexToOwner[stampId] == _owner) {
          result[resultIndex] = stampId;
          resultIndex++;
        }
      }
      return result;
    }
  }

  
  
  /// For querying totalSupply of token
  /// @dev Required for ERC-721 compliance.
  
  
  
  function totalSupply() public view returns (uint256 total) {
    return stamps.length;
  }

  /// Owner initates the transfer of the token to another account
  /// @param _to The address for the token to be transferred to.
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  
  
  
  function transfer(
    address _to,
    uint256 _tokenId
  ) public {
    require(_owns(msg.sender, _tokenId));
    require(_addressNotNull(_to));
    require(paused == false);

    _transfer(msg.sender, _to, _tokenId);
  }

  /// Third-party initiates transfer of token from address _from to address _to
  /// @param _from The address for the token to be transferred from.
  /// @param _to The address for the token to be transferred to.
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  
  
  
  function transferFrom(
    address _from,
    address _to,
    uint256 _tokenId
  ) public {
    require(_owns(_from, _tokenId));
    require(_approved(_to, _tokenId));
    require(_addressNotNull(_to));

    _transfer(_from, _to, _tokenId);
  }
  
  
  //@dev To set the number in which the stamp gets dissolved into.
  uint256 private num;
  
  
  
  function setnumber(uint256 number) onlyCEO public returns(uint256)
  {
      num = number;
      return num;
  }
  
  
  //@dev To set the price at which dissolution starts.
   uint256 private priceatdissolution;
  
  
  
  function setdissolveprice(uint256 number) onlyCEO public returns(uint256)
  {
      priceatdissolution = number;
      return priceatdissolution;
  }
  
  
  //@ To set the address to which dissolved stamp is sent.
  address private addressatdissolution;
  
  
  
  function setdissolveaddress(address dissolveaddress) onlyCEO public returns(address)
  {
      addressatdissolution = dissolveaddress;
      return addressatdissolution;
  }
  
  
  //@dev for emergency purposes
  function controlstampdissolution(bool control,uint256 _tokenId) onlyCEO public
  {
      stampIndextodissolved[_tokenId] = control;
      
  }
  
  
  //@dev Dissolve function which mines new stamps.
  function dissolve(uint256 _tokenId) public
  {   require(paused == false);
      require(stampIndexToOwner[_tokenId] == msg.sender);
      require(priceOf(_tokenId)>= priceatdissolution );
      require(stampIndextodissolved[_tokenId] == false);
      address reciever = stampIndexToOwner[_tokenId];
      
      uint256 price = priceOf(_tokenId);
      uint256 newprice = SafeMath.div(price,num);
      
      approve(addressatdissolution, _tokenId);
      transfer(addressatdissolution,_tokenId);
      stampIndextodissolved[_tokenId] = true;
      
      uint256 i;
      for(i = 0; i<num; i++)
      {
      _createStamp( reciever, newprice);
          
      }
      Dissolved(msg.sender,_tokenId);
    
  }
  
 //@dev The contract which is used to interact with dissolved stamps.
 address private dissolvedcontract; 
 
 
 
 
 /*** PUBLIC FUNCTIONS FOR DISSOLVED STAMPS ***/
 
 
 function setdissolvedcontract(address dissolvedaddress) onlyCEO public returns(address)
 {
     
     dissolvedcontract = dissolvedaddress;
     return dissolvedcontract;
 }
 
 //@dev To transfer dissolved stamp. Requires the contract assigned for dissolution management to send message.
 function transferdissolvedFrom(
    address _from,
    address _to,
    uint256 _tokenId
  ) public {
    require(_owns(_from, _tokenId));
    require(_addressNotNull(_to));
    require(msg.sender == dissolvedcontract);

    _transferdissolved(_from, _to, _tokenId);
  }
  
  


  
  
  
  
  
  /*** PRIVATE FUNCTIONS ***/
  /// Safety check on _to address to prevent against an unexpected 0x0 default.
  function _addressNotNull(address _to) private pure returns (bool) {
    return _to != address(0);
  }

  
  
  /// For checking approval of transfer for address _to
  
  
  
  function _approved(address _to, uint256 _tokenId) private view returns (bool) {
    return stampIndexToApproved[_tokenId] == _to;
  }

  
  /// For creating Stamp
  
  
  function _createStamp(address _owner, uint256 _price) private {
    Stamp memory _stamp = Stamp({
      birthtime: now
    });
    uint256 newStampId = stamps.push(_stamp) - 1;

    // It's probably never going to happen, 4 billion tokens are A LOT, but
    // let's just be 100% sure we never let this happen.
    require(newStampId == uint256(uint32(newStampId)));

    stampBirth(newStampId, _owner);

    stampIndexToPrice[newStampId] = _price;

    // This will assign ownership, and also emit the Transfer event as
    // per ERC721 draft
    _transfer(address(0), _owner, newStampId);
  }

  
  
  /// Check for token ownership
  
  
  
  function _owns(address claimant, uint256 _tokenId) private view returns (bool) {
    return claimant == stampIndexToOwner[_tokenId];
  }

  
  
  /// For paying out balance on contract
  
  
  
  function _payout(address _to) private {
    if (_to == address(0)) {
      ceoAddress.transfer(this.balance);
    } else {
      _to.transfer(this.balance);
    }
  }

  
  
  
  /// @dev Assigns ownership of a specific Stamp to an address.
  
  
  
  function _transfer(address _from, address _to, uint256 _tokenId) private {
   
    require(paused == false);
    ownershipTokenCount[_to]++;
    stampIndextotransactions[_tokenId] = stampIndextotransactions[_tokenId] + 1;
    totaltransactions++;
    //transfer ownership
    stampIndexToOwner[_tokenId] = _to;
    

    // When creating new stamps _from is 0x0, but we can't account that address.
    if (_from != address(0)) {
      ownershipTokenCount[_from]--;
      // clear any previously approved ownership exchange
      delete stampIndexToApproved[_tokenId];
    }

    // Emit the transfer event.
    Transfer(_from, _to, _tokenId);
  }
  
  
  
/*** PRIVATE FUNCTIONS FOR DISSOLVED STAMPS***/  
  
  
  
  //@ To transfer a dissolved stamp.
  function _transferdissolved(address _from, address _to, uint256 _tokenId) private {
    
    require(stampIndextodissolved[_tokenId] == true);
    require(paused == false);
    ownershipTokenCount[_to]++;
    stampIndextotransactions[_tokenId] = stampIndextotransactions[_tokenId] + 1;
    //transfer ownership
    stampIndexToOwner[_tokenId] = _to;
    totaltransactions++;
    

    // When creating new stamp _from is 0x0, but we can't account that address.
    if (_from != address(0)) {
      ownershipTokenCount[_from]--;
      // clear any previously approved ownership exchange
      
    }

    // Emit the transfer event.
    TransferDissolved(_from, _to, _tokenId);
  }
  
  
  
}



library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"payout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"stampIndextodissolved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferdissolvedFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"stampIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCEO","type":"address"}],"name":"setCEO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCOO","type":"address"}],"name":"setCOO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpausecontract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"nextpriceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"dissolvedIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"cutowner","type":"uint256"}],"name":"setcut","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"name":"ownerTokens","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"stampIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"control","type":"bool"},{"name":"_tokenId","type":"uint256"}],"name":"controlstampdissolution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"number","type":"uint256"}],"name":"setnumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stampCreatedCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pausecontract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cooAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dissolvedaddress","type":"address"}],"name":"setdissolvedcontract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getStamp","outputs":[{"name":"birthtimestamp","type":"uint256"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dissolveaddress","type":"address"}],"name":"setdissolveaddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"stampIndextotransactions","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totaltransactions","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"number","type":"uint256"}],"name":"setdissolveprice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"dissolve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totaletherstransacted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"}],"name":"createStamp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"owner","type":"address"}],"name":"stampBirth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Dissolved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"TransferDissolved","type":"event"}]

60606040526711c37937e0800000600055341561001b57600080fd5b33600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600d60146101000a81548160ff021916908315150217905550612c64806100c76000396000f3006060604052600436106101f9576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101fe578063095ea7b31461028c5780630a0f8168146102ce5780630b7e9c44146103235780631051db341461035c5780631259c00d1461038957806316da1d50146103c457806318160ddd146104255780631a365f2b1461044e57806323b872dd146104b157806327d7874c146105125780632ba73c151461054b5780634ec8a8ff146105845780636352211e1461059957806370a08231146105fc578063766d2c3b146106495780637cead212146106805780637e15e9ef146106e35780638462151c1461071a57806389d6d69d146107a857806395d89b411461080b5780639fc3e53a14610899578063a3f4df7e146108c7578063a632a2e514610955578063a9059cbb1461098c578063ac3fc432146109ce578063af6337fd146109f7578063b047fb5014610a0c578063b08510a314610a61578063b2e6ceeb14610ada578063b9186d7d14610afd578063d2064e2f14610b34578063d61a452414610ba5578063dde107c214610c1e578063e9bc959814610c55578063ea317f6d14610c7e578063efef39a114610cb5578063f76f8d7814610ccd578063f90b2bfe14610d5b578063fd04a90214610d7e578063ff1e28a414610da7575b600080fd5b341561020957600080fd5b610211610de9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610251578082015181840152602081019050610236565b50505050905090810190601f16801561027e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029757600080fd5b6102cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e2c565b005b34156102d957600080fd5b6102e1610f1e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561032e57600080fd5b61035a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f44565b005b341561036757600080fd5b61036f611004565b604051808215151515815260200191505060405180910390f35b341561039457600080fd5b6103aa600480803590602001909190505061100d565b604051808215151515815260200191505060405180910390f35b34156103cf57600080fd5b610423600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061102d565b005b341561043057600080fd5b6104386110c2565b6040518082815260200191505060405180910390f35b341561045957600080fd5b61046f60048080359060200190919050506110cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104bc57600080fd5b610510600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611102565b005b341561051d57600080fd5b610549600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611150565b005b341561055657600080fd5b610582600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061122c565b005b341561058f57600080fd5b610597611308565b005b34156105a457600080fd5b6105ba6004808035906020019091905050611381565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561060757600080fd5b610633600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506113fa565b6040518082815260200191505060405180910390f35b341561065457600080fd5b61066a6004808035906020019091905050611443565b6040518082815260200191505060405180910390f35b341561068b57600080fd5b6106a160048080359060200190919050506114a2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106ee57600080fd5b61070460048080359060200190919050506114d5565b6040518082815260200191505060405180910390f35b341561072557600080fd5b610751600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611544565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610794578082015181840152602081019050610779565b505050509050019250505060405180910390f35b34156107b357600080fd5b6107c9600480803590602001909190505061167b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561081657600080fd5b61081e6116ae565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561085e578082015181840152602081019050610843565b50505050905090810190601f16801561088b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156108a457600080fd5b6108c5600480803515159060200190919080359060200190919050506116f1565b005b34156108d257600080fd5b6108da61177c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561091a5780820151818401526020810190506108ff565b50505050905090810190601f1680156109475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561096057600080fd5b61097660048080359060200190919050506117b5565b6040518082815260200191505060405180910390f35b341561099757600080fd5b6109cc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611824565b005b34156109d957600080fd5b6109e161187e565b6040518082815260200191505060405180910390f35b3415610a0257600080fd5b610a0a611884565b005b3415610a1757600080fd5b610a1f611955565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a6c57600080fd5b610a98600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061197b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610ae557600080fd5b610afb6004808035906020019091905050611a44565b005b3415610b0857600080fd5b610b1e6004808035906020019091905050611adb565b6040518082815260200191505060405180910390f35b3415610b3f57600080fd5b610b556004808035906020019091905050611af8565b604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390f35b3415610bb057600080fd5b610bdc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611b75565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c2957600080fd5b610c3f6004808035906020019091905050611c3e565b6040518082815260200191505060405180910390f35b3415610c6057600080fd5b610c68611c56565b6040518082815260200191505060405180910390f35b3415610c8957600080fd5b610c9f6004808035906020019091905050611c5c565b6040518082815260200191505060405180910390f35b610ccb6004808035906020019091905050611ccb565b005b3415610cd857600080fd5b610ce0611ff9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d20578082015181840152602081019050610d05565b50505050905090810190601f168015610d4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610d6657600080fd5b610d7c6004808035906020019091905050612032565b005b3415610d8957600080fd5b610d9161227e565b6040518082815260200191505060405180910390f35b3415610db257600080fd5b610de7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612284565b005b610df1612ba9565b6040805190810160405280600c81526020017f43727970746f5374616d70730000000000000000000000000000000000000000815250905090565b60001515600d60149054906101000a900460ff161515141515610e4e57600080fd5b610e583382612393565b1515610e6357600080fd5b816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610fed5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ff857600080fd5b611001816123ff565b50565b60006001905090565b60096020528060005260406000206000915054906101000a900460ff1681565b6110378382612393565b151561104257600080fd5b61104b8261250d565b151561105657600080fd5b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110b257600080fd5b6110bd838383612546565b505050565b6000600b80549050905090565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61110c8382612393565b151561111757600080fd5b611121828261276d565b151561112c57600080fd5b6111358261250d565b151561114057600080fd5b61114b8383836127d9565b505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ac57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111e857600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561128857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156112c457600080fd5b80600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561136457600080fd5b6000600d60146101000a81548160ff021916908315150217905550565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113f557600080fd5b919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600460008481526020019081526020016000205490506000548110156114835761147c6114748260c8612a3d565b600e54612a78565b915061149c565b61149961149182607d612a3d565b600e54612a78565b91505b50919050565b600a6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561153357600080fd5b81600e81905550600e549050919050565b61154c612bbd565b6000611556612bbd565b6000806000611564876113fa565b9450600085141561159657600060405180591061157e5750595b90808252806020026020018201604052509550611671565b846040518059106115a45750595b908082528060200260200182016040525093506115bf6110c2565b925060009150600090505b828111151561166d578673ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116605780848381518110151561164957fe5b906020019060200201818152505081806001019250505b80806001019150506115ca565b8395505b5050505050919050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6116b6612ba9565b6040805190810160405280600281526020017f4353000000000000000000000000000000000000000000000000000000000000815250905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561174d57600080fd5b816009600083815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6040805190810160405280600c81526020017f43727970746f5374616d7073000000000000000000000000000000000000000081525081565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561181357600080fd5b81600f81905550600f549050919050565b61182e3382612393565b151561183957600080fd5b6118428261250d565b151561184d57600080fd5b60001515600d60149054906101000a900460ff16151514151561186f57600080fd5b61187a3383836127d9565b5050565b60085481565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061192d5750600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561193857600080fd5b6001600d60146101000a81548160ff021916908315150217905550565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119d957600080fd5b81601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000803391506001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060001515600d60149054906101000a900460ff161515141515611aa257600080fd5b611aab8261250d565b1515611ab657600080fd5b611ac0828461276d565b1515611acb57600080fd5b611ad68183856127d9565b505050565b600060046000838152602001908152602001600020549050919050565b600080600080600b85815481101515611b0d57fe5b9060005260206000209001905080600001549350600460008681526020019081526020016000205492506001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bd357600080fd5b81601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60056020528060005260406000206000915090505481565b60075481565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cba57600080fd5b816010819055506010549050919050565b60008060008060006001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600015156009600088815260200190815260200160002060009054906101000a900460ff161515141515611d3f57600080fd5b60001515600d60149054906101000a900460ff161515141515611d6157600080fd5b6004600087815260200190815260200160002054925082600654016006819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611dbd57600080fd5b611dc68461250d565b1515611dd157600080fd5b823410151515611de057600080fd5b611df6611def84600e54612a3d565b6064612a78565b9150611e023484612a93565b9050600054831015611e4057611e24611e1c8460c8612a3d565b600e54612a78565b6004600088815260200190815260200160002081905550611e6e565b611e56611e4e84607d612a3d565b600e54612a78565b60046000888152602001908152602001600020819055505b611e798585886127d9565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515611eef578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611eee57600080fd5b5b7f366e81d6675b75f581d1b7b428bc717efb1fa8b4bb542c1d26e15a1bc770baad8684600460008a8152602001908152602001600020548888604051808681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611ff157600080fd5b505050505050565b6040805190810160405280600281526020017f435300000000000000000000000000000000000000000000000000000000000081525081565b60008060008060001515600d60149054906101000a900460ff16151514151561205a57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166001600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156120c757600080fd5b6010546120d386611adb565b101515156120e057600080fd5b600015156009600087815260200190815260200160002060009054906101000a900460ff16151514151561211357600080fd5b6001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935061215285611adb565b925061216083600f54612a78565b915061218e601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686610e2c565b6121ba601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611824565b60016009600087815260200190815260200160002060006101000a81548160ff021916908315150217905550600090505b600f5481101561220c576121ff8483612aac565b80806001019150506121eb565b7f129a1a37d679d74a7f8d9195e2631d0d7b8d2b66378e886c62e3fff8bbc5fb5c3386604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050505050565b60065481565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156122e257600080fd5b60001515600d60149054906101000a900460ff16151514151561230457600080fd5b829050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561236257600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b6000821015151561237257600080fd5b60086000815480929190600101919050555061238e8183612aac565b505050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124b257600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156124ad57600080fd5b61250a565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561250957600080fd5b5b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600115156009600083815260200190815260200160002060009054906101000a900460ff16151514151561257957600080fd5b60001515600d60149054906101000a900460ff16151514151561259b57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050555060016005600083815260200190815260200160002054016005600083815260200190815260200160002081905550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760008154809291906001019190505550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561270357600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f279616fe922aaba6d9d399511c5ab3220a22455d2b3a970dcc395981e97d97c0836040518082815260200191505060405180910390a3505050565b60008273ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60001515600d60149054906101000a900460ff1615151415156127fb57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600101919050555060016005600083815260200190815260200160002054016005600083815260200190815260200160002081905550600760008154809291906001019190505550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561299957600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506003600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b6000806000841415612a525760009150612a71565b8284029050828482811515612a6357fe5b04141515612a6d57fe5b8091505b5092915050565b6000808284811515612a8657fe5b0490508091505092915050565b6000828211151515612aa157fe5b818303905092915050565b612ab4612bd1565b60006020604051908101604052804281525091506001600b8054806001018281612ade9190612be5565b916000526020600020900160008590919091506000820151816000015550500390508063ffffffff1681141515612b1457600080fd5b7fd3e00f4b0273236b47634ed9ddd3096ae6bb94d572d60c6ee8f7ddbb1493184e8185604051808381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1826004600083815260200190815260200160002081905550612ba3600085836127d9565b50505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b815481835581811511612c0c57818360005260206000209182019101612c0b9190612c11565b5b505050565b612c3591905b80821115612c315760008082016000905550600101612c17565b5090565b905600a165627a7a7230582019899bfb17e185c389368261f2da51f8b3e2582333ecce2bf0a6e5862baa8a3c0029

Swarm Source

bzzr://19899bfb17e185c389368261f2da51f8b3e2582333ecce2bf0a6e5862baa8a3c
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.