ETH Price: $2,675.43 (+1.24%)

Contract

0xB28A3dD24036151c819c6D401f7A222D9Aa3671b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Ownersh...52466092018-03-13 7:07:272526 days ago1520924847IN
0xB28A3dD2...D9Aa3671b
0 ETH0.000123634
Adopt Axies52456282018-03-13 3:05:002526 days ago1520910300IN
0xB28A3dD2...D9Aa3671b
0.2168 ETH0.0014646919
Adopt Axies52404772018-03-12 5:58:182527 days ago1520834298IN
0xB28A3dD2...D9Aa3671b
0.2264 ETH0.000281554
Adopt Axies52380052018-03-11 20:03:402527 days ago1520798620IN
0xB28A3dD2...D9Aa3671b
0.2284 ETH0.000139992
Adopt Axies52357482018-03-11 10:59:232528 days ago1520765963IN
0xB28A3dD2...D9Aa3671b
0.214 ETH0.00038746
Adopt Axies52313152018-03-10 16:40:342529 days ago1520700034IN
0xB28A3dD2...D9Aa3671b
0.216 ETH0.000139992
Adopt Axies52311192018-03-10 15:56:572529 days ago1520697417IN
0xB28A3dD2...D9Aa3671b
0.4508 ETH0.000194294
Adopt Axies52311162018-03-10 15:55:492529 days ago1520697349IN
0xB28A3dD2...D9Aa3671b
0.4228 ETH0.000199144.1
Adopt Axies52311052018-03-10 15:53:422529 days ago1520697222IN
0xB28A3dD2...D9Aa3671b
0.426 ETH0.000194294
Adopt Axies52275972018-03-10 1:35:312529 days ago1520645731IN
0xB28A3dD2...D9Aa3671b
0.2132 ETH0.000193382.1
Adopt Axies52252192018-03-09 16:02:202530 days ago1520611340IN
0xB28A3dD2...D9Aa3671b
0.6732 ETH0.0012770220
Adopt Axies52252172018-03-09 16:01:472530 days ago1520611307IN
0xB28A3dD2...D9Aa3671b
0.636 ETH0.00025544
Adopt Axies52252122018-03-09 16:00:402530 days ago1520611240IN
0xB28A3dD2...D9Aa3671b
0.63 ETH0.00025544
Adopt Axies52173372018-03-08 7:47:252531 days ago1520495245IN
0xB28A3dD2...D9Aa3671b
0.226 ETH0.001399920
Adopt Axies52057842018-03-06 8:50:382533 days ago1520326238IN
0xB28A3dD2...D9Aa3671b
0.2116 ETH0.0012417820
Adopt Axies52057742018-03-06 8:48:262533 days ago1520326106IN
0xB28A3dD2...D9Aa3671b
0.6504 ETH0.003674220
Adopt Axies52051582018-03-06 6:14:022533 days ago1520316842IN
0xB28A3dD2...D9Aa3671b
0.4476 ETH0.000119342
Adopt Axies52051532018-03-06 6:13:212533 days ago1520316801IN
0xB28A3dD2...D9Aa3671b
0.672 ETH0.000155292
Adopt Axies52051312018-03-06 6:07:232533 days ago1520316443IN
0xB28A3dD2...D9Aa3671b
0.222 ETH0.000148792
Adopt Axies52051282018-03-06 6:07:012533 days ago1520316421IN
0xB28A3dD2...D9Aa3671b
0.6672 ETH0.000125292
Adopt Axies52051102018-03-06 6:02:302533 days ago1520316150IN
0xB28A3dD2...D9Aa3671b
0.2216 ETH0.000154172
Adopt Axies52045582018-03-06 3:45:272533 days ago1520307927IN
0xB28A3dD2...D9Aa3671b
0.6452 ETH0.0022280620
Adopt Axies51959032018-03-04 16:33:492535 days ago1520181229IN
0xB28A3dD2...D9Aa3671b
0.22 ETH0.00016883
Adopt Axies51958892018-03-04 16:29:572535 days ago1520180997IN
0xB28A3dD2...D9Aa3671b
0.22 ETH0.00021383
Adopt Axies51947112018-03-04 11:42:312535 days ago1520163751IN
0xB28A3dD2...D9Aa3671b
0.22 ETH0.0015417820
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
53027912018-03-22 19:05:352516 days ago1521745535
0xB28A3dD2...D9Aa3671b
29.0648 ETH
52456282018-03-13 3:05:002526 days ago1520910300
0xB28A3dD2...D9Aa3671b
0.0024 ETH
52380052018-03-11 20:03:402527 days ago1520798620
0xB28A3dD2...D9Aa3671b
0.0024 ETH
52313152018-03-10 16:40:342529 days ago1520700034
0xB28A3dD2...D9Aa3671b
0.0024 ETH
52275972018-03-10 1:35:312529 days ago1520645731
0xB28A3dD2...D9Aa3671b
0.0024 ETH
52173372018-03-08 7:47:252531 days ago1520495245
0xB28A3dD2...D9Aa3671b
0.0024 ETH
52057842018-03-06 8:50:382533 days ago1520326238
0xB28A3dD2...D9Aa3671b
0.0024 ETH
52057742018-03-06 8:48:262533 days ago1520326106
0xB28A3dD2...D9Aa3671b
0.0072 ETH
52051582018-03-06 6:14:022533 days ago1520316842
0xB28A3dD2...D9Aa3671b
0.0024 ETH
52051532018-03-06 6:13:212533 days ago1520316801
0xB28A3dD2...D9Aa3671b
0.0072 ETH
52051312018-03-06 6:07:232533 days ago1520316443
0xB28A3dD2...D9Aa3671b
0.0012 ETH
52051282018-03-06 6:07:012533 days ago1520316421
0xB28A3dD2...D9Aa3671b
0.0072 ETH
52051102018-03-06 6:02:302533 days ago1520316150
0xB28A3dD2...D9Aa3671b
0.0024 ETH
52045582018-03-06 3:45:272533 days ago1520307927
0xB28A3dD2...D9Aa3671b
0.0072 ETH
51959032018-03-04 16:33:492535 days ago1520181229
0xB28A3dD2...D9Aa3671b
0.0016 ETH
51958892018-03-04 16:29:572535 days ago1520180997
0xB28A3dD2...D9Aa3671b
0.002 ETH
51947112018-03-04 11:42:312535 days ago1520163751
0xB28A3dD2...D9Aa3671b
0.0024 ETH
51926032018-03-04 3:04:112535 days ago1520132651
0xB28A3dD2...D9Aa3671b
0.0048 ETH
51861222018-03-03 0:55:192536 days ago1520038519
0xB28A3dD2...D9Aa3671b
0.0024 ETH
51840362018-03-02 16:35:252537 days ago1520008525
0xB28A3dD2...D9Aa3671b
0.0024 ETH
51823512018-03-02 9:42:452537 days ago1519983765
0xB28A3dD2...D9Aa3671b
0.0072 ETH
51823382018-03-02 9:39:222537 days ago1519983562
0xB28A3dD2...D9Aa3671b
0.0048 ETH
51761632018-03-01 8:18:532538 days ago1519892333
0xB28A3dD2...D9Aa3671b
0.0024 ETH
51757172018-03-01 6:21:352538 days ago1519885295
0xB28A3dD2...D9Aa3671b
0.0024 ETH
51745822018-03-01 1:46:322538 days ago1519868792
0xB28A3dD2...D9Aa3671b
0.0048 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AxiePresale

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-02-18
*/

pragma solidity ^0.4.19;

// File: zeppelin-solidity/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() public {
    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) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

// File: zeppelin-solidity/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-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
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;
  }
}

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

/**
 * @title Contracts that should not own Ether
 * @author Remco Bloemen <remco@2π.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() public 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/AxiePresale.sol

contract AxiePresale is HasNoEther, Pausable {
  using SafeMath for uint256;

  // No Axies can be adopted after this end date: Friday, March 16, 2018 11:59:59 PM GMT.
  uint256 constant public PRESALE_END_TIMESTAMP = 1521244799;

  uint8 constant public CLASS_BEAST = 0;
  uint8 constant public CLASS_AQUATIC = 2;
  uint8 constant public CLASS_PLANT = 4;

  uint256 constant public INITIAL_PRICE_INCREMENT = 1600 szabo; // 0.0016 Ether
  uint256 constant public INITIAL_PRICE = INITIAL_PRICE_INCREMENT;
  uint256 constant public REF_CREDITS_PER_AXIE = 5;

  mapping (uint8 => uint256) public currentPrices;
  mapping (uint8 => uint256) public priceIncrements;

  mapping (uint8 => uint256) public totalAxiesAdopted;
  mapping (address => mapping (uint8 => uint256)) public axiesAdopted;

  mapping (address => uint256) public referralCredits;
  mapping (address => uint256) public axiesRewarded;
  uint256 public totalAxiesRewarded;

  event AxiesAdopted(
    address indexed adopter,
    uint8 indexed clazz,
    uint256 quantity,
    address indexed referrer
  );

  event AxiesRewarded(address indexed receiver, uint256 quantity);

  event AdoptedAxiesRedeemed(address indexed receiver, uint8 indexed clazz, uint256 quantity);
  event RewardedAxiesRedeemed(address indexed receiver, uint256 quantity);

  function AxiePresale() public {
    priceIncrements[CLASS_BEAST] = priceIncrements[CLASS_AQUATIC] = //
      priceIncrements[CLASS_PLANT] = INITIAL_PRICE_INCREMENT;

    currentPrices[CLASS_BEAST] = currentPrices[CLASS_AQUATIC] = //
      currentPrices[CLASS_PLANT] = INITIAL_PRICE;
  }

  function axiesPrice(
    uint256 beastQuantity,
    uint256 aquaticQuantity,
    uint256 plantQuantity
  )
    public
    view
    returns (uint256 totalPrice)
  {
    uint256 price;

    (price,,) = _axiesPrice(CLASS_BEAST, beastQuantity);
    totalPrice = totalPrice.add(price);

    (price,,) = _axiesPrice(CLASS_AQUATIC, aquaticQuantity);
    totalPrice = totalPrice.add(price);

    (price,,) = _axiesPrice(CLASS_PLANT, plantQuantity);
    totalPrice = totalPrice.add(price);
  }

  function adoptAxies(
    uint256 beastQuantity,
    uint256 aquaticQuantity,
    uint256 plantQuantity,
    address referrer
  )
    public
    payable
    whenNotPaused
  {
    require(now <= PRESALE_END_TIMESTAMP);

    require(beastQuantity <= 3);
    require(aquaticQuantity <= 3);
    require(plantQuantity <= 3);

    address adopter = msg.sender;
    address actualReferrer = 0x0;

    // An adopter cannot be his/her own referrer.
    if (referrer != adopter) {
      actualReferrer = referrer;
    }

    uint256 value = msg.value;
    uint256 price;

    if (beastQuantity > 0) {
      price = _adoptAxies(
        adopter,
        CLASS_BEAST,
        beastQuantity,
        actualReferrer
      );

      require(value >= price);
      value -= price;
    }

    if (aquaticQuantity > 0) {
      price = _adoptAxies(
        adopter,
        CLASS_AQUATIC,
        aquaticQuantity,
        actualReferrer
      );

      require(value >= price);
      value -= price;
    }

    if (plantQuantity > 0) {
      price = _adoptAxies(
        adopter,
        CLASS_PLANT,
        plantQuantity,
        actualReferrer
      );

      require(value >= price);
      value -= price;
    }

    msg.sender.transfer(value);

    // The current referral is ignored if the referrer's address is 0x0.
    if (actualReferrer != 0x0) {
      uint256 numCredit = referralCredits[actualReferrer]
        .add(beastQuantity)
        .add(aquaticQuantity)
        .add(plantQuantity);

      uint256 numReward = numCredit / REF_CREDITS_PER_AXIE;

      if (numReward > 0) {
        referralCredits[actualReferrer] = numCredit % REF_CREDITS_PER_AXIE;
        axiesRewarded[actualReferrer] = axiesRewarded[actualReferrer].add(numReward);
        totalAxiesRewarded = totalAxiesRewarded.add(numReward);
        AxiesRewarded(actualReferrer, numReward);
      } else {
        referralCredits[actualReferrer] = numCredit;
      }
    }
  }

  function redeemAdoptedAxies(
    address receiver,
    uint256 beastQuantity,
    uint256 aquaticQuantity,
    uint256 plantQuantity
  )
    public
    onlyOwner
    returns (
      uint256 /* remainingBeastQuantity */,
      uint256 /* remainingAquaticQuantity */,
      uint256 /* remainingPlantQuantity */
    )
  {
    return (
      _redeemAdoptedAxies(receiver, CLASS_BEAST, beastQuantity),
      _redeemAdoptedAxies(receiver, CLASS_AQUATIC, aquaticQuantity),
      _redeemAdoptedAxies(receiver, CLASS_PLANT, plantQuantity)
    );
  }

  function redeemRewardedAxies(
    address receiver,
    uint256 quantity
  )
    public
    onlyOwner
    returns (uint256 remainingQuantity)
  {
    remainingQuantity = axiesRewarded[receiver] = axiesRewarded[receiver].sub(quantity);

    if (quantity > 0) {
      // This requires that rewarded Axies are always included in the total
      // to make sure overflow won't happen.
      totalAxiesRewarded -= quantity;

      RewardedAxiesRedeemed(receiver, quantity);
    }
  }

  /**
   * @dev Calculate price of Axies from the same class.
   * @param clazz The class of Axies.
   * @param quantity Number of Axies to be calculated.
   */
  function _axiesPrice(
    uint8 clazz,
    uint256 quantity
  )
    private
    view
    returns (uint256 totalPrice, uint256 priceIncrement, uint256 currentPrice)
  {
    priceIncrement = priceIncrements[clazz];
    currentPrice = currentPrices[clazz];

    uint256 nextPrice;

    for (uint256 i = 0; i < quantity; i++) {
      totalPrice = totalPrice.add(currentPrice);
      nextPrice = currentPrice.add(priceIncrement);

      if (nextPrice / 100 finney != currentPrice / 100 finney) {
        priceIncrement >>= 1;
      }

      currentPrice = nextPrice;
    }
  }

  /**
   * @dev Adopt some Axies from the same class.
   * @param adopter Address of the adopter.
   * @param clazz The class of adopted Axies.
   * @param quantity Number of Axies to be adopted, this should be positive.
   * @param referrer Address of the referrer.
   */
  function _adoptAxies(
    address adopter,
    uint8 clazz,
    uint256 quantity,
    address referrer
  )
    private
    returns (uint256 totalPrice)
  {
    (totalPrice, priceIncrements[clazz], currentPrices[clazz]) = _axiesPrice(clazz, quantity);

    axiesAdopted[adopter][clazz] = axiesAdopted[adopter][clazz].add(quantity);
    totalAxiesAdopted[clazz] = totalAxiesAdopted[clazz].add(quantity);

    AxiesAdopted(
      adopter,
      clazz,
      quantity,
      referrer
    );
  }

  /**
   * @dev Redeem adopted Axies from the same class.
   * @param receiver Address of the receiver.
   * @param clazz The class of adopted Axies.
   * @param quantity Number of adopted Axies to be redeemed.
   */
  function _redeemAdoptedAxies(
    address receiver,
    uint8 clazz,
    uint256 quantity
  )
    private
    returns (uint256 remainingQuantity)
  {
    remainingQuantity = axiesAdopted[receiver][clazz] = axiesAdopted[receiver][clazz].sub(quantity);

    if (quantity > 0) {
      // This requires that adopted Axies are always included in the total
      // to make sure overflow won't happen.
      totalAxiesAdopted[clazz] -= quantity;

      AdoptedAxiesRedeemed(receiver, clazz, quantity);
    }
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"totalAxiesAdopted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beastQuantity","type":"uint256"},{"name":"aquaticQuantity","type":"uint256"},{"name":"plantQuantity","type":"uint256"},{"name":"referrer","type":"address"}],"name":"adoptAxies","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint8"}],"name":"axiesAdopted","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_PRICE_INCREMENT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"CLASS_BEAST","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"referralCredits","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_PRICE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CLASS_PLANT","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"beastQuantity","type":"uint256"},{"name":"aquaticQuantity","type":"uint256"},{"name":"plantQuantity","type":"uint256"}],"name":"axiesPrice","outputs":[{"name":"totalPrice","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"currentPrices","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRESALE_END_TIMESTAMP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reclaimEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"REF_CREDITS_PER_AXIE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"beastQuantity","type":"uint256"},{"name":"aquaticQuantity","type":"uint256"},{"name":"plantQuantity","type":"uint256"}],"name":"redeemAdoptedAxies","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"CLASS_AQUATIC","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"priceIncrements","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receiver","type":"address"},{"name":"quantity","type":"uint256"}],"name":"redeemRewardedAxies","outputs":[{"name":"remainingQuantity","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"axiesRewarded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalAxiesRewarded","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"adopter","type":"address"},{"indexed":true,"name":"clazz","type":"uint8"},{"indexed":false,"name":"quantity","type":"uint256"},{"indexed":true,"name":"referrer","type":"address"}],"name":"AxiesAdopted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"quantity","type":"uint256"}],"name":"AxiesRewarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":true,"name":"clazz","type":"uint8"},{"indexed":false,"name":"quantity","type":"uint256"}],"name":"AdoptedAxiesRedeemed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"receiver","type":"address"},{"indexed":false,"name":"quantity","type":"uint256"}],"name":"RewardedAxiesRedeemed","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"}]

60606040526000805460a060020a60ff0219169055341561001f57600080fd5b60008054600160a060020a03191633600160a060020a0316179055341561004557600080fd5b6605af3107a400007fee60d0579bcffd98e668647d59fec1ff86a7fb340ce572e844f234ae73a6918f8190557f679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c8190557fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b81905560016020527fedc95719e9a3b28dd8e80877cb5880a9be7de1a13fc8b05e7999683b6b5676438190557fd9d16d34ffb15ba3a3d852f0d403e2ce1d691fb54de27ac87cd2f993f3ec330f819055600080527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4955610d2b8061013b6000396000f30060606040526004361061013d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663093e58ba811461014a5780630c636091146101755780631ee87a741461019257806325b10186146101b75780633f4ba83a146101ca5780634939ce85146101dd5780634d82d262146102065780635c975abb146102255780637c5e2795146101b757806380e183a31461024c5780638456cb591461025f578063852c061a146102725780638da5cb5b1461028e578063939d1706146102bd57806399110d3c146102d65780639f727c27146102e9578063a6df0344146102fc578063bfce8cbf1461030f578063c3cd99961461035b578063c8a5a7931461036e578063d2b1569e14610387578063ebe97986146103a9578063f2fde38b146103c8578063f3436873146103e7575b341561014857600080fd5b005b341561015557600080fd5b61016360ff600435166103fa565b60405190815260200160405180910390f35b610148600435602435604435600160a060020a036064351661040c565b341561019d57600080fd5b610163600160a060020a036004351660ff60243516610668565b34156101c257600080fd5b610163610685565b34156101d557600080fd5b610148610690565b34156101e857600080fd5b6101f061070f565b60405160ff909116815260200160405180910390f35b341561021157600080fd5b610163600160a060020a0360043516610714565b341561023057600080fd5b610238610726565b604051901515815260200160405180910390f35b341561025757600080fd5b6101f0610736565b341561026a57600080fd5b61014861073b565b341561027d57600080fd5b6101636004356024356044356107bf565b341561029957600080fd5b6102a1610832565b604051600160a060020a03909116815260200160405180910390f35b34156102c857600080fd5b61016360ff60043516610841565b34156102e157600080fd5b610163610853565b34156102f457600080fd5b61014861085b565b341561030757600080fd5b6101636108ae565b341561031a57600080fd5b610337600160a060020a03600435166024356044356064356108b3565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561036657600080fd5b6101f0610907565b341561037957600080fd5b61016360ff6004351661090c565b341561039257600080fd5b610163600160a060020a036004351660243561091e565b34156103b457600080fd5b610163600160a060020a03600435166109d5565b34156103d357600080fd5b610148600160a060020a03600435166109e7565b34156103f257600080fd5b610163610a82565b60036020526000908152604090205481565b600080600080600080600060149054906101000a900460ff1615151561043157600080fd5b635aac5a7f42111561044257600080fd5b60038a111561045057600080fd5b600389111561045e57600080fd5b600388111561046c57600080fd5b33955060009450600160a060020a038781169087161461048a578694505b34935060008a11156104b8576104a38660008c88610a88565b9250828410156104b257600080fd5b82840393505b60008911156104e3576104ce8660028b88610a88565b9250828410156104dd57600080fd5b82840393505b600088111561050e576104f98660048a88610a88565b92508284101561050857600080fd5b82840393505b600160a060020a03331684156108fc0285604051600060405180830381858888f19350505050151561053f57600080fd5b600160a060020a0385161561065c57600160a060020a03851660009081526005602052604090205461058d908990610581908c9082908f63ffffffff610b8816565b9063ffffffff610b8816565b91505060058104600081111561064057600160a060020a0385166000908152600560208181526040808420928606909255600690529020546105cf9082610b88565b600160a060020a0386166000908152600660205260409020556007546105fb908263ffffffff610b8816565b600755600160a060020a0385167fd10165fd5b921c47fdb2555c3f7acdb72b54e3dc98d8bba85b66980434d58bb88260405190815260200160405180910390a261065c565b600160a060020a03851660009081526005602052604090208290555b50505050505050505050565b600460209081526000928352604080842090915290825290205481565b6605af3107a4000081565b60005433600160a060020a039081169116146106ab57600080fd5b60005460a060020a900460ff1615156106c357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600081565b60056020526000908152604090205481565b60005460a060020a900460ff1681565b600481565b60005433600160a060020a0390811691161461075657600080fd5b60005460a060020a900460ff161561076d57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000806107cd600086610b9e565b509091506107e39050828263ffffffff610b8816565b91506107f0600285610b9e565b509091506108069050828263ffffffff610b8816565b9150610813600484610b9e565b509091506108299050828263ffffffff610b8816565b95945050505050565b600054600160a060020a031681565b60016020526000908152604090205481565b635aac5a7f81565b60005433600160a060020a0390811691161461087657600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156108ac57fe5b565b600581565b600080548190819033600160a060020a039081169116146108d357600080fd5b6108df87600088610c23565b6108eb88600288610c23565b6108f789600488610c23565b9250925092509450945094915050565b600281565b60026020526000908152604090205481565b6000805433600160a060020a0390811691161461093a57600080fd5b600160a060020a038316600090815260066020526040902054610963908363ffffffff610ced16565b600160a060020a03841660009081526006602052604081208290559091508211156109cf57600780548390039055600160a060020a0383167fb5a9210266fef3e55f37dd4e8763305bf6c5a16e234d4a3cea91dc7d0ecfc3bc8360405190815260200160405180910390a25b92915050565b60066020526000908152604090205481565b60005433600160a060020a03908116911614610a0257600080fd5b600160a060020a0381161515610a1757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b6000610a948484610b9e565b60ff87166000818152600260209081526040808320600183528184209590955594909355600160a060020a038a1681526004835283812091815291522054909150610ae5908463ffffffff610b8816565b600160a060020a038616600090815260046020908152604080832060ff89168452825280832093909355600390522054610b25908463ffffffff610b8816565b60ff85166000818152600360205260409081902092909255600160a060020a0380851692908816907f4cca885907a1439610e4a3c6c07208e98c0cf27fab65301fe20bad2d0cd7145d9087905190815260200160405180910390a4949350505050565b600082820183811015610b9757fe5b9392505050565b60ff8216600090815260026020908152604080832054600190925282205482805b85811015610c1a57610bd7858463ffffffff610b8816565b9450610be9838563ffffffff610b8816565b915067016345785d8a0000830467016345785d8a0000830414610c0d576002909304925b9091508190600101610bbf565b50509250925092565b600160a060020a038316600090815260046020908152604080832060ff86168452909152812054610c5a908363ffffffff610ced16565b600160a060020a038516600090815260046020908152604080832060ff881684529091528120829055909150821115610b975760ff83166000818152600360205260409081902080548590039055600160a060020a038616907fce0806d48b62bb7ef7be6dad40d4b45c9a58267ef45bf528cdbb8810db3da73e9085905190815260200160405180910390a39392505050565b600082821115610cf957fe5b509003905600a165627a7a72305820c2cb04b1f50390457faab2570dbc60b2dad694c2d3299b7d8f1a7c1de02417240029

Deployed Bytecode

0x60606040526004361061013d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663093e58ba811461014a5780630c636091146101755780631ee87a741461019257806325b10186146101b75780633f4ba83a146101ca5780634939ce85146101dd5780634d82d262146102065780635c975abb146102255780637c5e2795146101b757806380e183a31461024c5780638456cb591461025f578063852c061a146102725780638da5cb5b1461028e578063939d1706146102bd57806399110d3c146102d65780639f727c27146102e9578063a6df0344146102fc578063bfce8cbf1461030f578063c3cd99961461035b578063c8a5a7931461036e578063d2b1569e14610387578063ebe97986146103a9578063f2fde38b146103c8578063f3436873146103e7575b341561014857600080fd5b005b341561015557600080fd5b61016360ff600435166103fa565b60405190815260200160405180910390f35b610148600435602435604435600160a060020a036064351661040c565b341561019d57600080fd5b610163600160a060020a036004351660ff60243516610668565b34156101c257600080fd5b610163610685565b34156101d557600080fd5b610148610690565b34156101e857600080fd5b6101f061070f565b60405160ff909116815260200160405180910390f35b341561021157600080fd5b610163600160a060020a0360043516610714565b341561023057600080fd5b610238610726565b604051901515815260200160405180910390f35b341561025757600080fd5b6101f0610736565b341561026a57600080fd5b61014861073b565b341561027d57600080fd5b6101636004356024356044356107bf565b341561029957600080fd5b6102a1610832565b604051600160a060020a03909116815260200160405180910390f35b34156102c857600080fd5b61016360ff60043516610841565b34156102e157600080fd5b610163610853565b34156102f457600080fd5b61014861085b565b341561030757600080fd5b6101636108ae565b341561031a57600080fd5b610337600160a060020a03600435166024356044356064356108b3565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561036657600080fd5b6101f0610907565b341561037957600080fd5b61016360ff6004351661090c565b341561039257600080fd5b610163600160a060020a036004351660243561091e565b34156103b457600080fd5b610163600160a060020a03600435166109d5565b34156103d357600080fd5b610148600160a060020a03600435166109e7565b34156103f257600080fd5b610163610a82565b60036020526000908152604090205481565b600080600080600080600060149054906101000a900460ff1615151561043157600080fd5b635aac5a7f42111561044257600080fd5b60038a111561045057600080fd5b600389111561045e57600080fd5b600388111561046c57600080fd5b33955060009450600160a060020a038781169087161461048a578694505b34935060008a11156104b8576104a38660008c88610a88565b9250828410156104b257600080fd5b82840393505b60008911156104e3576104ce8660028b88610a88565b9250828410156104dd57600080fd5b82840393505b600088111561050e576104f98660048a88610a88565b92508284101561050857600080fd5b82840393505b600160a060020a03331684156108fc0285604051600060405180830381858888f19350505050151561053f57600080fd5b600160a060020a0385161561065c57600160a060020a03851660009081526005602052604090205461058d908990610581908c9082908f63ffffffff610b8816565b9063ffffffff610b8816565b91505060058104600081111561064057600160a060020a0385166000908152600560208181526040808420928606909255600690529020546105cf9082610b88565b600160a060020a0386166000908152600660205260409020556007546105fb908263ffffffff610b8816565b600755600160a060020a0385167fd10165fd5b921c47fdb2555c3f7acdb72b54e3dc98d8bba85b66980434d58bb88260405190815260200160405180910390a261065c565b600160a060020a03851660009081526005602052604090208290555b50505050505050505050565b600460209081526000928352604080842090915290825290205481565b6605af3107a4000081565b60005433600160a060020a039081169116146106ab57600080fd5b60005460a060020a900460ff1615156106c357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600081565b60056020526000908152604090205481565b60005460a060020a900460ff1681565b600481565b60005433600160a060020a0390811691161461075657600080fd5b60005460a060020a900460ff161561076d57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b6000806107cd600086610b9e565b509091506107e39050828263ffffffff610b8816565b91506107f0600285610b9e565b509091506108069050828263ffffffff610b8816565b9150610813600484610b9e565b509091506108299050828263ffffffff610b8816565b95945050505050565b600054600160a060020a031681565b60016020526000908152604090205481565b635aac5a7f81565b60005433600160a060020a0390811691161461087657600080fd5b600054600160a060020a039081169030163180156108fc0290604051600060405180830381858888f1935050505015156108ac57fe5b565b600581565b600080548190819033600160a060020a039081169116146108d357600080fd5b6108df87600088610c23565b6108eb88600288610c23565b6108f789600488610c23565b9250925092509450945094915050565b600281565b60026020526000908152604090205481565b6000805433600160a060020a0390811691161461093a57600080fd5b600160a060020a038316600090815260066020526040902054610963908363ffffffff610ced16565b600160a060020a03841660009081526006602052604081208290559091508211156109cf57600780548390039055600160a060020a0383167fb5a9210266fef3e55f37dd4e8763305bf6c5a16e234d4a3cea91dc7d0ecfc3bc8360405190815260200160405180910390a25b92915050565b60066020526000908152604090205481565b60005433600160a060020a03908116911614610a0257600080fd5b600160a060020a0381161515610a1757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b6000610a948484610b9e565b60ff87166000818152600260209081526040808320600183528184209590955594909355600160a060020a038a1681526004835283812091815291522054909150610ae5908463ffffffff610b8816565b600160a060020a038616600090815260046020908152604080832060ff89168452825280832093909355600390522054610b25908463ffffffff610b8816565b60ff85166000818152600360205260409081902092909255600160a060020a0380851692908816907f4cca885907a1439610e4a3c6c07208e98c0cf27fab65301fe20bad2d0cd7145d9087905190815260200160405180910390a4949350505050565b600082820183811015610b9757fe5b9392505050565b60ff8216600090815260026020908152604080832054600190925282205482805b85811015610c1a57610bd7858463ffffffff610b8816565b9450610be9838563ffffffff610b8816565b915067016345785d8a0000830467016345785d8a0000830414610c0d576002909304925b9091508190600101610bbf565b50509250925092565b600160a060020a038316600090815260046020908152604080832060ff86168452909152812054610c5a908363ffffffff610ced16565b600160a060020a038516600090815260046020908152604080832060ff881684529091528120829055909150821115610b975760ff83166000818152600360205260409081902080548590039055600160a060020a038616907fce0806d48b62bb7ef7be6dad40d4b45c9a58267ef45bf528cdbb8810db3da73e9085905190815260200160405180910390a39392505050565b600082821115610cf957fe5b509003905600a165627a7a72305820c2cb04b1f50390457faab2570dbc60b2dad694c2d3299b7d8f1a7c1de02417240029

Swarm Source

bzzr://c2cb04b1f50390457faab2570dbc60b2dad694c2d3299b7d8f1a7c1de0241724

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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