ETH Price: $3,154.71 (+5.87%)
Gas: 5 Gwei

Token

IDEX Membership (IDXM)
 

Overview

Max Total Supply

2,000 IDXM

Holders

1,591 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

IDXM grants holders the ability to reduce their trading fees, increase their trading rewards, or a mixture of both.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
IDXM

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-01-17
*/

pragma solidity ^0.4.19;

/**
 * @title IDXM Contract. IDEX Membership Token contract.
 *
 * @author Ray Pulver, [email protected]
 */

interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }

contract SafeMath {
  function safeMul(uint256 a, uint256 b) returns (uint256) {
    uint256 c = a * b;
    require(a == 0 || c / a == b);
    return c;
  }
  function safeSub(uint256 a, uint256 b) returns (uint256) {
    require(b <= a);
    return a - b;
  }
  function safeAdd(uint256 a, uint256 b) returns (uint256) {
    uint c = a + b;
    require(c >= a && c >= b);
    return c;
  }
}

contract Owned {
  address public owner;
  function Owned() {
    owner = msg.sender;
  }
  function setOwner(address _owner) returns (bool success) {
    owner = _owner;
    return true;
  }
  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }
}

contract IDXM is Owned, SafeMath {
  uint8 public decimals = 8;
  bytes32 public standard = 'Token 0.1';
  bytes32 public name = 'IDEX Membership';
  bytes32 public symbol = 'IDXM';
  uint256 public totalSupply;

  event Approval(address indexed from, address indexed spender, uint256 amount);

  mapping (address => uint256) public balanceOf;
  mapping (address => mapping (address => uint256)) public allowance;

  event Transfer(address indexed from, address indexed to, uint256 value);

  uint256 public baseFeeDivisor;
  uint256 public feeDivisor;
  uint256 public singleIDXMQty;

  function () external {
    throw;
  }

  uint8 public feeDecimals = 8;

  struct Validity {
    uint256 last;
    uint256 ts;
  }

  mapping (address => Validity) public validAfter;
  uint256 public mustHoldFor = 604800;
  mapping (address => uint256) public exportFee;

  /**
   * Constructor.
   *
   */
  function IDXM() {
    totalSupply = 200000000000;
    balanceOf[msg.sender] = totalSupply;
    exportFee[0x00000000000000000000000000000000000000ff] = 100000000;
    precalculate();
  }

  bool public balancesLocked = false;

  function uploadBalances(address[] addresses, uint256[] balances) onlyOwner {
    require(!balancesLocked);
    require(addresses.length == balances.length);
    uint256 sum;
    for (uint256 i = 0; i < uint256(addresses.length); i++) {
      sum = safeAdd(sum, safeSub(balances[i], balanceOf[addresses[i]]));
      balanceOf[addresses[i]] = balances[i];
    }
    balanceOf[owner] = safeSub(balanceOf[owner], sum);
  }

  function lockBalances() onlyOwner {
    balancesLocked = true;
  }

  /**
   * @notice Transfer `_amount` from `msg.sender.address()` to `_to`.
   *
   * @param _to Address that will receive.
   * @param _amount Amount to be transferred.
   */
  function transfer(address _to, uint256 _amount) returns (bool success) {
    require(!locked);
    require(balanceOf[msg.sender] >= _amount);
    require(balanceOf[_to] + _amount >= balanceOf[_to]);
    balanceOf[msg.sender] -= _amount;
    uint256 preBalance = balanceOf[_to];
    balanceOf[_to] += _amount;
    bool alreadyMax = preBalance >= singleIDXMQty;
    if (!alreadyMax) {
      if (now >= validAfter[_to].ts + mustHoldFor) validAfter[_to].last = preBalance;
      validAfter[_to].ts = now;
    }
    if (validAfter[msg.sender].last > balanceOf[msg.sender]) validAfter[msg.sender].last = balanceOf[msg.sender];
    Transfer(msg.sender, _to, _amount);
    return true;
  }

  /**
   * @notice Transfer `_amount` from `_from` to `_to`.
   *
   * @param _from Origin address
   * @param _to Address that will receive
   * @param _amount Amount to be transferred.
   * @return result of the method call
   */
  function transferFrom(address _from, address _to, uint256 _amount) returns (bool success) {
    require(!locked);
    require(balanceOf[_from] >= _amount);
    require(balanceOf[_to] + _amount >= balanceOf[_to]);
    require(_amount <= allowance[_from][msg.sender]);
    balanceOf[_from] -= _amount;
    uint256 preBalance = balanceOf[_to];
    balanceOf[_to] += _amount;
    allowance[_from][msg.sender] -= _amount;
    bool alreadyMax = preBalance >= singleIDXMQty;
    if (!alreadyMax) {
      if (now >= validAfter[_to].ts + mustHoldFor) validAfter[_to].last = preBalance;
      validAfter[_to].ts = now;
    }
    if (validAfter[_from].last > balanceOf[_from]) validAfter[_from].last = balanceOf[_from];
    Transfer(_from, _to, _amount);
    return true;
  }

  /**
   * @notice Approve spender `_spender` to transfer `_amount` from `msg.sender.address()`
   *
   * @param _spender Address that receives the cheque
   * @param _amount Amount on the cheque
   * @param _extraData Consequential contract to be executed by spender in same transcation.
   * @return result of the method call
   */
  function approveAndCall(address _spender, uint256 _amount, bytes _extraData) returns (bool success) {
    tokenRecipient spender = tokenRecipient(_spender);
    if (approve(_spender, _amount)) {
      spender.receiveApproval(msg.sender, _amount, this, _extraData);
      return true;
    }
  }

  /**
   * @notice Approve spender `_spender` to transfer `_amount` from `msg.sender.address()`
   *
   * @param _spender Address that receives the cheque
   * @param _amount Amount on the cheque
   * @return result of the method call
   */
  function approve(address _spender, uint256 _amount) returns (bool success) {
    require(!locked);
    allowance[msg.sender][_spender] = _amount;
    Approval(msg.sender, _spender, _amount);
    return true;
  }

  function setExportFee(address addr, uint256 fee) onlyOwner {
    require(addr != 0x00000000000000000000000000000000000000ff);
    exportFee[addr] = fee;
  }

  function setHoldingPeriod(uint256 ts) onlyOwner {
    mustHoldFor = ts;
  }


  /* --------------- fee calculation method ---------------- */

  /**
   * @notice 'Returns the fee for a transfer from `from` to `to` on an amount `amount`.
   *
   * Fee's consist of a possible
   *    - import fee on transfers to an address
   *    - export fee on transfers from an address
   * IDXM ownership on an address
   *    - reduces fee on a transfer from this address to an import fee-ed address
   *    - reduces the fee on a transfer to this address from an export fee-ed address
   * IDXM discount does not work for addresses that have an import fee or export fee set up against them.
   *
   * IDXM discount goes up to 100%
   *
   * @param from From address
   * @param to To address
   * @param amount Amount for which fee needs to be calculated.
   *
   */
  function feeFor(address from, address to, uint256 amount) constant external returns (uint256 value) {
    uint256 fee = exportFee[from];
    if (fee == 0) return 0;
    uint256 amountHeld;
    if (balanceOf[to] != 0) {
      if (validAfter[to].ts + mustHoldFor < now) amountHeld = balanceOf[to];
      else amountHeld = validAfter[to].last;
      if (amountHeld >= singleIDXMQty) return 0;
      return amount*fee*(singleIDXMQty - amountHeld) / feeDivisor;
    } else return amount*fee / baseFeeDivisor;
  }
  
  bool public locked = true;

  function unlockToken() onlyOwner {
    locked = false;
  }

  function precalculate() internal returns (bool success) {
    baseFeeDivisor = pow10(1, feeDecimals);
    feeDivisor = pow10(1, feeDecimals + decimals);
    singleIDXMQty = pow10(1, decimals);
  }
  function div10(uint256 a, uint8 b) internal returns (uint256 result) {
    for (uint8 i = 0; i < b; i++) {
      a /= 10;
    }
    return a;
  }
  function pow10(uint256 a, uint8 b) internal returns (uint256 result) {
    for (uint8 i = 0; i < b; i++) {
      a *= 10;
    }
    return a;
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"}],"name":"setOwner","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unlockToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"balancesLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"validAfter","outputs":[{"name":"last","type":"uint256"},{"name":"ts","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"lockBalances","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeDivisor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeSub","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"fee","type":"uint256"}],"name":"setExportFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"singleIDXMQty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"name":"feeFor","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeDecimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeMul","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"ts","type":"uint256"}],"name":"setHoldingPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"exportFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"balances","type":"uint256[]"}],"name":"uploadBalances","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"mustHoldFor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"a","type":"uint256"},{"name":"b","type":"uint256"}],"name":"safeAdd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"baseFeeDivisor","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":"from","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

6060604052600080547408000000000000000000000000000000000000000060a060020a60ff02199091161790557f546f6b656e20302e3100000000000000000000000000000000000000000000006001557f49444558204d656d6265727368697000000000000000000000000000000000006002557f4944584d00000000000000000000000000000000000000000000000000000000600355600a805460ff1916600817905562093a80600c55600e805461ffff19166101001790553415620000c857600080fd5b60008054600160a060020a03191633600160a060020a03169081178255642e90edd000600481905590825260056020908152604083209190915560ff909152600d90526305f5e1007fcf8d29a3f16b3ab66da162b3f3965b9f01138b7abe69a488909ea1c71fe636d6556200014a64010000000062000151810262000f881704565b5062000229565b600a54600090620001769060019060ff1664010000000062001005620001fe82021704565b600755600054600a54620001bb9160019160ff90811674010000000000000000000000000000000000000000909204160164010000000062001005620001fe82021704565b600855600054620001f89060019074010000000000000000000000000000000000000000900460ff16640100000000620001fe8102620010051704565b60095590565b6000805b8260ff168160ff1610156200022157600a939093029260010162000202565b509192915050565b61105a80620002396000396000f30060606040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461019a578063095ea7b3146101bf57806313af4035146101f557806318160ddd1461021457806318a24b5b1461022757806323b872dd1461023c578063313ce56714610264578063542802601461028d57806354af0d4c146102a05780635a3b7e42146102d7578063690d3750146102ea57806370a08231146102fd5780638da5cb5b1461031c57806395d89b411461034b5780639a36f9321461035e578063a293d1e814610371578063a4502cb81461038a578063a9059cbb146103ac578063aa8675d1146103ce578063c5096a69146103e1578063cae9ca5114610409578063cc0f17861461046e578063cf30901214610481578063d05c78da14610494578063d148288f146104ad578063d5c2e382146104c3578063d8b4e580146104e2578063dd62ed3e14610571578063e5791c3e14610596578063e6cb9013146105a9578063fd0cfa91146105c2575b341561019557600080fd5b600080fd5b34156101a557600080fd5b6101ad6105d5565b60405190815260200160405180910390f35b34156101ca57600080fd5b6101e1600160a060020a03600435166024356105db565b604051901515815260200160405180910390f35b341561020057600080fd5b6101e1600160a060020a036004351661065c565b341561021f57600080fd5b6101ad61068d565b341561023257600080fd5b61023a610693565b005b341561024757600080fd5b6101e1600160a060020a03600435811690602435166044356106bb565b341561026f57600080fd5b6102776108bd565b60405160ff909116815260200160405180910390f35b341561029857600080fd5b6101e16108de565b34156102ab57600080fd5b6102bf600160a060020a03600435166108e7565b60405191825260208201526040908101905180910390f35b34156102e257600080fd5b6101ad610900565b34156102f557600080fd5b61023a610906565b341561030857600080fd5b6101ad600160a060020a0360043516610930565b341561032757600080fd5b61032f610942565b604051600160a060020a03909116815260200160405180910390f35b341561035657600080fd5b6101ad610951565b341561036957600080fd5b6101ad610957565b341561037c57600080fd5b6101ad60043560243561095d565b341561039557600080fd5b61023a600160a060020a0360043516602435610972565b34156103b757600080fd5b6101e1600160a060020a03600435166024356109c0565b34156103d957600080fd5b6101ad610b6a565b34156103ec57600080fd5b6101ad600160a060020a0360043581169060243516604435610b70565b341561041457600080fd5b6101e160048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c5895505050505050565b341561047957600080fd5b610277610d8a565b341561048c57600080fd5b6101e1610d93565b341561049f57600080fd5b6101ad600435602435610da1565b34156104b857600080fd5b61023a600435610dcf565b34156104ce57600080fd5b6101ad600160a060020a0360043516610def565b34156104ed57600080fd5b61023a600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610e0195505050505050565b341561057c57600080fd5b6101ad600160a060020a0360043581169060243516610f42565b34156105a157600080fd5b6101ad610f5f565b34156105b457600080fd5b6101ad600435602435610f65565b34156105cd57600080fd5b6101ad610f82565b60025481565b600e54600090610100900460ff16156105f357600080fd5b600160a060020a03338116600081815260066020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60045481565b60005433600160a060020a039081169116146106ae57600080fd5b600e805461ff0019169055565b600e5460009081908190610100900460ff16156106d757600080fd5b600160a060020a038616600090815260056020526040902054849010156106fd57600080fd5b600160a060020a038516600090815260056020526040902054848101101561072457600080fd5b600160a060020a038087166000908152600660209081526040808320339094168352929052205484111561075757600080fd5b5050600160a060020a03808516600081815260056020908152604080832080548890039055878516835280832080548089019091559383526006825280832033909516835293905291909120805484900390556009548110158061081757600c54600160a060020a0386166000908152600b60205260409020600101540142106107f757600160a060020a0385166000908152600b602052604090208290555b600160a060020a0385166000908152600b60205260409020426001909101555b600160a060020a038616600090815260056020908152604080832054600b90925290912054111561086857600160a060020a038616600090815260056020908152604080832054600b909252909120555b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600192505b50509392505050565b60005474010000000000000000000000000000000000000000900460ff1681565b600e5460ff1681565b600b602052600090815260409020805460019091015482565b60015481565b60005433600160a060020a0390811691161461092157600080fd5b600e805460ff19166001179055565b60056020526000908152604090205481565b600054600160a060020a031681565b60035481565b60085481565b60008282111561096c57600080fd5b50900390565b60005433600160a060020a0390811691161461098d57600080fd5b60ff600160a060020a03831614156109a457600080fd5b600160a060020a039091166000908152600d6020526040902055565b600e5460009081908190610100900460ff16156109dc57600080fd5b600160a060020a03331660009081526005602052604090205484901015610a0257600080fd5b600160a060020a0385166000908152600560205260409020548481011015610a2957600080fd5b5050600160a060020a0333811660009081526005602052604080822080548690039055918516815220805480840190915560095481101580610ac757600c54600160a060020a0386166000908152600b6020526040902060010154014210610aa757600160a060020a0385166000908152600b602052604090208290555b600160a060020a0385166000908152600b60205260409020426001909101555b600160a060020a033316600090815260056020908152604080832054600b909252909120541115610b1857600160a060020a033316600090815260056020908152604080832054600b909252909120555b84600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3506001949350505050565b60095481565b600160a060020a0383166000908152600d602052604081205481811515610b9a57600092506108b4565b600160a060020a03851660009081526005602052604090205415610c4957600c54600160a060020a0386166000908152600b60205260409020600101544291011015610bff5750600160a060020a038416600090815260056020526040902054610c1a565b50600160a060020a0384166000908152600b60205260409020545b6009548110610c2c57600092506108b4565b600854816009540383860202811515610c4157fe5b0492506108b4565b600754828502811515610c4157fe5b600083610c6581856105db565b15610d825780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d1b578082015183820152602001610d03565b50505050905090810190601f168015610d485780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610d6957600080fd5b6102c65a03f11515610d7a57600080fd5b505050600191505b509392505050565b600a5460ff1681565b600e54610100900460ff1681565b6000828202831580610dbd5750828482811515610dba57fe5b04145b1515610dc857600080fd5b9392505050565b60005433600160a060020a03908116911614610dea57600080fd5b600c55565b600d6020526000908152604090205481565b60008054819033600160a060020a03908116911614610e1f57600080fd5b600e5460ff1615610e2f57600080fd5b8251845114610e3d57600080fd5b5060005b8351811015610f0057610eac82610ea7858481518110610e5d57fe5b9060200190602002015160056000898781518110610e7757fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205461095d565b610f65565b9150828181518110610eba57fe5b9060200190602002015160056000868481518110610ed457fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055600101610e41565b60008054600160a060020a0316815260056020526040902054610f23908361095d565b60008054600160a060020a031681526005602052604090205550505050565b600660209081526000928352604080842090915290825290205481565b600c5481565b6000828201838110801590610dbd575082811015610dc857600080fd5b60075481565b600a54600090610f9d9060019060ff16611005565b600755600054600a54610fd29160019160ff908116740100000000000000000000000000000000000000009092041601611005565b600855600054610fff9060019074010000000000000000000000000000000000000000900460ff16611005565b60095590565b6000805b8260ff168160ff16101561102657600a9390930292600101611009565b5091929150505600a165627a7a723058204227a2c7dc88966b19f381595b1f6cbe0bc5a477ac23f81d377b0b4867806b440029

Deployed Bytecode

0x60606040526004361061018a5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461019a578063095ea7b3146101bf57806313af4035146101f557806318160ddd1461021457806318a24b5b1461022757806323b872dd1461023c578063313ce56714610264578063542802601461028d57806354af0d4c146102a05780635a3b7e42146102d7578063690d3750146102ea57806370a08231146102fd5780638da5cb5b1461031c57806395d89b411461034b5780639a36f9321461035e578063a293d1e814610371578063a4502cb81461038a578063a9059cbb146103ac578063aa8675d1146103ce578063c5096a69146103e1578063cae9ca5114610409578063cc0f17861461046e578063cf30901214610481578063d05c78da14610494578063d148288f146104ad578063d5c2e382146104c3578063d8b4e580146104e2578063dd62ed3e14610571578063e5791c3e14610596578063e6cb9013146105a9578063fd0cfa91146105c2575b341561019557600080fd5b600080fd5b34156101a557600080fd5b6101ad6105d5565b60405190815260200160405180910390f35b34156101ca57600080fd5b6101e1600160a060020a03600435166024356105db565b604051901515815260200160405180910390f35b341561020057600080fd5b6101e1600160a060020a036004351661065c565b341561021f57600080fd5b6101ad61068d565b341561023257600080fd5b61023a610693565b005b341561024757600080fd5b6101e1600160a060020a03600435811690602435166044356106bb565b341561026f57600080fd5b6102776108bd565b60405160ff909116815260200160405180910390f35b341561029857600080fd5b6101e16108de565b34156102ab57600080fd5b6102bf600160a060020a03600435166108e7565b60405191825260208201526040908101905180910390f35b34156102e257600080fd5b6101ad610900565b34156102f557600080fd5b61023a610906565b341561030857600080fd5b6101ad600160a060020a0360043516610930565b341561032757600080fd5b61032f610942565b604051600160a060020a03909116815260200160405180910390f35b341561035657600080fd5b6101ad610951565b341561036957600080fd5b6101ad610957565b341561037c57600080fd5b6101ad60043560243561095d565b341561039557600080fd5b61023a600160a060020a0360043516602435610972565b34156103b757600080fd5b6101e1600160a060020a03600435166024356109c0565b34156103d957600080fd5b6101ad610b6a565b34156103ec57600080fd5b6101ad600160a060020a0360043581169060243516604435610b70565b341561041457600080fd5b6101e160048035600160a060020a03169060248035919060649060443590810190830135806020601f82018190048102016040519081016040528181529291906020840183838082843750949650610c5895505050505050565b341561047957600080fd5b610277610d8a565b341561048c57600080fd5b6101e1610d93565b341561049f57600080fd5b6101ad600435602435610da1565b34156104b857600080fd5b61023a600435610dcf565b34156104ce57600080fd5b6101ad600160a060020a0360043516610def565b34156104ed57600080fd5b61023a600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610e0195505050505050565b341561057c57600080fd5b6101ad600160a060020a0360043581169060243516610f42565b34156105a157600080fd5b6101ad610f5f565b34156105b457600080fd5b6101ad600435602435610f65565b34156105cd57600080fd5b6101ad610f82565b60025481565b600e54600090610100900460ff16156105f357600080fd5b600160a060020a03338116600081815260066020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff199091161790556001919050565b60045481565b60005433600160a060020a039081169116146106ae57600080fd5b600e805461ff0019169055565b600e5460009081908190610100900460ff16156106d757600080fd5b600160a060020a038616600090815260056020526040902054849010156106fd57600080fd5b600160a060020a038516600090815260056020526040902054848101101561072457600080fd5b600160a060020a038087166000908152600660209081526040808320339094168352929052205484111561075757600080fd5b5050600160a060020a03808516600081815260056020908152604080832080548890039055878516835280832080548089019091559383526006825280832033909516835293905291909120805484900390556009548110158061081757600c54600160a060020a0386166000908152600b60205260409020600101540142106107f757600160a060020a0385166000908152600b602052604090208290555b600160a060020a0385166000908152600b60205260409020426001909101555b600160a060020a038616600090815260056020908152604080832054600b90925290912054111561086857600160a060020a038616600090815260056020908152604080832054600b909252909120555b84600160a060020a031686600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3600192505b50509392505050565b60005474010000000000000000000000000000000000000000900460ff1681565b600e5460ff1681565b600b602052600090815260409020805460019091015482565b60015481565b60005433600160a060020a0390811691161461092157600080fd5b600e805460ff19166001179055565b60056020526000908152604090205481565b600054600160a060020a031681565b60035481565b60085481565b60008282111561096c57600080fd5b50900390565b60005433600160a060020a0390811691161461098d57600080fd5b60ff600160a060020a03831614156109a457600080fd5b600160a060020a039091166000908152600d6020526040902055565b600e5460009081908190610100900460ff16156109dc57600080fd5b600160a060020a03331660009081526005602052604090205484901015610a0257600080fd5b600160a060020a0385166000908152600560205260409020548481011015610a2957600080fd5b5050600160a060020a0333811660009081526005602052604080822080548690039055918516815220805480840190915560095481101580610ac757600c54600160a060020a0386166000908152600b6020526040902060010154014210610aa757600160a060020a0385166000908152600b602052604090208290555b600160a060020a0385166000908152600b60205260409020426001909101555b600160a060020a033316600090815260056020908152604080832054600b909252909120541115610b1857600160a060020a033316600090815260056020908152604080832054600b909252909120555b84600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405190815260200160405180910390a3506001949350505050565b60095481565b600160a060020a0383166000908152600d602052604081205481811515610b9a57600092506108b4565b600160a060020a03851660009081526005602052604090205415610c4957600c54600160a060020a0386166000908152600b60205260409020600101544291011015610bff5750600160a060020a038416600090815260056020526040902054610c1a565b50600160a060020a0384166000908152600b60205260409020545b6009548110610c2c57600092506108b4565b600854816009540383860202811515610c4157fe5b0492506108b4565b600754828502811515610c4157fe5b600083610c6581856105db565b15610d825780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d1b578082015183820152602001610d03565b50505050905090810190601f168015610d485780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610d6957600080fd5b6102c65a03f11515610d7a57600080fd5b505050600191505b509392505050565b600a5460ff1681565b600e54610100900460ff1681565b6000828202831580610dbd5750828482811515610dba57fe5b04145b1515610dc857600080fd5b9392505050565b60005433600160a060020a03908116911614610dea57600080fd5b600c55565b600d6020526000908152604090205481565b60008054819033600160a060020a03908116911614610e1f57600080fd5b600e5460ff1615610e2f57600080fd5b8251845114610e3d57600080fd5b5060005b8351811015610f0057610eac82610ea7858481518110610e5d57fe5b9060200190602002015160056000898781518110610e7757fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205461095d565b610f65565b9150828181518110610eba57fe5b9060200190602002015160056000868481518110610ed457fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055600101610e41565b60008054600160a060020a0316815260056020526040902054610f23908361095d565b60008054600160a060020a031681526005602052604090205550505050565b600660209081526000928352604080842090915290825290205481565b600c5481565b6000828201838110801590610dbd575082811015610dc857600080fd5b60075481565b600a54600090610f9d9060019060ff16611005565b600755600054600a54610fd29160019160ff908116740100000000000000000000000000000000000000009092041601611005565b600855600054610fff9060019074010000000000000000000000000000000000000000900460ff16611005565b60095590565b6000805b8260ff168160ff16101561102657600a9390930292600101611009565b5091929150505600a165627a7a723058204227a2c7dc88966b19f381595b1f6cbe0bc5a477ac23f81d377b0b4867806b440029

Swarm Source

bzzr://4227a2c7dc88966b19f381595b1f6cbe0bc5a477ac23f81d377b0b4867806b44
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.