ETH Price: $3,440.55 (-1.06%)
Gas: 2 Gwei

Token

Assistive Reality ARX (ARX)
 

Overview

Max Total Supply

318,000,000 ARX

Holders

80

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
250,000 ARX

Value
$0.00
0x1abc8b1a20019955fa2f4d2dab0b4a20d4b5a959
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ARXToken

Compiler Version
v0.4.13+commit.fb4cb1a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-09-25
*/

pragma solidity ^0.4.13;
// -------------------------------------------------
// 0.4.13+commit.0fb4cb1a
// [Assistive Reality ARX token ERC20 contract]
// [Contact [email protected] for any queries]
// [Join us in changing the world]
// [aronline.io]
// -------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/issues/20
// -------------------------------------------------
// Security reviews completed 24/09/17 [passed OK]
// Functional reviews completed 24/09/17 [passed OK]
// Final code revision and regression test cycle complete 25/09/17 [passed OK]
// -------------------------------------------------

contract safeMath {
  function safeMul(uint256 a, uint256 b) internal returns (uint256) {
      uint256 c = a * b;
      safeAssert(a == 0 || c / a == b);
      return c;
  }

  function safeDiv(uint256 a, uint256 b) internal returns (uint256) {
      safeAssert(b > 0);
      uint256 c = a / b;
      safeAssert(a == b * c + a % b);
      return c;
  }

  function safeSub(uint256 a, uint256 b) internal returns (uint256) {
      safeAssert(b <= a);
      return a - b;
  }

  function safeAdd(uint256 a, uint256 b) internal returns (uint256) {
      uint256 c = a + b;
      safeAssert(c>=a && c>=b);
      return c;
  }

  function safeAssert(bool assertion) internal {
      if (!assertion) revert();
  }
}

contract ERC20Interface is safeMath {
  function balanceOf(address _owner) constant returns (uint256 balance);
  function transfer(address _to, uint256 _value) returns (bool success);
  function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
  function approve(address _spender, uint256 _value) returns (bool success);
  function increaseApproval (address _spender, uint _addedValue) returns (bool success);
  function decreaseApproval (address _spender, uint _subtractedValue) returns (bool success);
  function allowance(address _owner, address _spender) constant returns (uint256 remaining);
  event Buy(address indexed _sender, uint256 _eth, uint256 _ARX);
  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

contract ARXToken is safeMath, ERC20Interface {
  // token setup variables
  string  public constant standard              = "ARX";
  string  public constant name                  = "Assistive Reality ARX";
  string  public constant symbol                = "ARX";
  uint8   public constant decimals              = 18;                             // matched to wei for practicality
  uint256 public constant totalSupply           = 318000000000000000000000000;    // 318000000000000000000000000 million + 18 decimals (presale maximum capped + ICO maximum capped + foundation 10%) static supply

  // token mappings
  mapping (address => uint256) balances;
  mapping (address => mapping (address => uint256)) allowed;

  // ERC20 standard token possible events, matched to ICO and preSale contracts
  event Buy(address indexed _sender, uint256 _eth, uint256 _ARX);
  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);

  // ERC20 token balanceOf query function
  function balanceOf(address _owner) constant returns (uint256 balance) {
      return balances[_owner];
  }

  // ERC20 token transfer function with additional safety
  function transfer(address _to, uint256 _amount) returns (bool success) {
      require(!(_to == 0x0));
      if ((balances[msg.sender] >= _amount)
      && (_amount > 0)
      && ((safeAdd(balances[_to],_amount) > balances[_to]))) {
          balances[msg.sender] = safeSub(balances[msg.sender], _amount);
          balances[_to] = safeAdd(balances[_to], _amount);
          Transfer(msg.sender, _to, _amount);
          return true;
      } else {
          return false;
      }
  }

  // ERC20 token transferFrom function with additional safety
  function transferFrom(
      address _from,
      address _to,
      uint256 _amount) returns (bool success) {
      require(!(_to == 0x0));
      if ((balances[_from] >= _amount)
      && (allowed[_from][msg.sender] >= _amount)
      && (_amount > 0)
      && (safeAdd(balances[_to],_amount) > balances[_to])) {
          balances[_from] = safeSub(balances[_from], _amount);
          allowed[_from][msg.sender] = safeSub((allowed[_from][msg.sender]),_amount);
          balances[_to] = safeAdd(balances[_to], _amount);
          Transfer(_from, _to, _amount);
          return true;
      } else {
          return false;
      }
  }

  // ERC20 allow _spender to withdraw, multiple times, up to the _value amount
  function approve(address _spender, uint256 _amount) returns (bool success) {
      //Fix for known double-spend https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM/edit#
      //Input must either set allow amount to 0, or have 0 already set, to workaround issue

      require((_amount == 0) || (allowed[msg.sender][_spender] == 0));
      allowed[msg.sender][_spender] = _amount;
      Approval(msg.sender, _spender, _amount);
      return true;
  }

  // ERC20 return allowance for given owner spender pair
  function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
      return allowed[_owner][_spender];
  }

  // ERC20 Updated increase approval process (to prevent double-spend attack but remove need to zero allowance before setting)
  function increaseApproval (address _spender, uint _addedValue) returns (bool success) {
      allowed[msg.sender][_spender] = safeAdd(allowed[msg.sender][_spender],_addedValue);

      // report new approval amount
      Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
      return true;
  }

  // ERC20 Updated decrease approval process (to prevent double-spend attack but remove need to zero allowance before setting)
  function decreaseApproval (address _spender, uint _subtractedValue) returns (bool success) {
      uint oldValue = allowed[msg.sender][_spender];

      if (_subtractedValue > oldValue) {
        allowed[msg.sender][_spender] = 0;
      } else {
        allowed[msg.sender][_spender] = safeSub(oldValue,_subtractedValue);
      }

      // report new approval amount
      Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
      return true;
  }

  // ERC20 Standard default function to assign initial supply variables and send balance to creator for distribution to ARX presale and ICO contract
  function ARXToken() {
      balances[msg.sender] = totalSupply;
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"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,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_sender","type":"address"},{"indexed":false,"name":"_eth","type":"uint256"},{"indexed":false,"name":"_ARX","type":"uint256"}],"name":"Buy","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

6060604052341561000f57600080fd5b5b600160a060020a03331660009081526020819052604090206b01070b1e8ae28f2dfe00000090555b5b610adb806100486000396000f300606060405236156100b75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100bc578063095ea7b31461014757806318160ddd1461017d57806323b872dd146101a2578063313ce567146101de5780635a3b7e4214610207578063661884631461029257806370a08231146102c857806395d89b4114610207578063a9059cbb14610384578063d73dd623146103ba578063dd62ed3e146103f0575b600080fd5b34156100c757600080fd5b6100cf610427565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610169600160a060020a036004351660243561045e565b604051901515815260200160405180910390f35b341561018857600080fd5b610190610505565b60405190815260200160405180910390f35b34156101ad57600080fd5b610169600160a060020a0360043581169060243516604435610515565b604051901515815260200160405180910390f35b34156101e957600080fd5b6101f16106c1565b60405160ff909116815260200160405180910390f35b341561021257600080fd5b6100cf6106c6565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029d57600080fd5b610169600160a060020a03600435166024356106fd565b604051901515815260200160405180910390f35b34156102d357600080fd5b610190600160a060020a03600435166107f3565b60405190815260200160405180910390f35b341561021257600080fd5b6100cf6106c6565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561038f57600080fd5b610169600160a060020a0360043516602435610849565b604051901515815260200160405180910390f35b34156103c557600080fd5b610169600160a060020a0360043516602435610992565b604051901515815260200160405180910390f35b34156103fb57600080fd5b610190600160a060020a0360043581169060243516610a31565b60405190815260200160405180910390f35b60408051908101604052601581527f417373697374697665205265616c697479204152580000000000000000000000602082015281565b60008115806104905750600160a060020a03338116600090815260016020908152604080832093871683529290522054155b151561049b57600080fd5b600160a060020a03338116600081815260016020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6b01070b1e8ae28f2dfe00000081565b6000600160a060020a038316151561052c57600080fd5b600160a060020a03841660009081526020819052604090205482901080159061057c5750600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010155b80156105885750600082115b80156105b45750600160a060020a0383166000908152602081905260409020546105b28184610a5e565b115b156106b557600160a060020a0384166000908152602081905260409020546105dc9083610a86565b600160a060020a0380861660009081526020818152604080832094909455600181528382203390931682529190915220546106179083610a86565b600160a060020a038086166000908152600160209081526040808320338516845282528083209490945591861681529081905220546106569083610a5e565b600160a060020a03808516600081815260208190526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060016106b9565b5060005b5b9392505050565b601281565b60408051908101604052600381527f4152580000000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a0333811660009081526001602090815260408083209386168352929052908120548083111561075a57600160a060020a03338116600090815260016020908152604080832093881683529290529081205561078b565b6107648184610a86565b600160a060020a033381166000908152600160209081526040808320938916835292905220555b600160a060020a0333811660008181526001602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152602081905260409020545b919050565b60408051908101604052600381527f4152580000000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a038316151561086057600080fd5b600160a060020a0333166000908152602081905260409020548290108015906108895750600082115b80156108b55750600160a060020a0383166000908152602081905260409020546108b38184610a5e565b115b1561098357600160a060020a0333166000908152602081905260409020546108dd9083610a86565b600160a060020a03338116600090815260208190526040808220939093559085168152205461090c9083610a5e565b60008085600160a060020a0316600160a060020a031681526020019081526020016000208190555082600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060016104ff565b5060006104ff565b5b92915050565b600160a060020a0333811660009081526001602090815260408083209386168352929052908120546109c49083610a5e565b600160a060020a0333811660008181526001602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b6000828201610a7b848210801590610a765750838210155b610a9f565b8091505b5092915050565b6000610a9483831115610a9f565b508082035b92915050565b801515610aab57600080fd5b5b505600a165627a7a72305820a43a60d2a58a13d1da07e7e013584a5bf2285b1453c56cf43a12e3b21d5688af0029

Deployed Bytecode

0x606060405236156100b75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100bc578063095ea7b31461014757806318160ddd1461017d57806323b872dd146101a2578063313ce567146101de5780635a3b7e4214610207578063661884631461029257806370a08231146102c857806395d89b4114610207578063a9059cbb14610384578063d73dd623146103ba578063dd62ed3e146103f0575b600080fd5b34156100c757600080fd5b6100cf610427565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015257600080fd5b610169600160a060020a036004351660243561045e565b604051901515815260200160405180910390f35b341561018857600080fd5b610190610505565b60405190815260200160405180910390f35b34156101ad57600080fd5b610169600160a060020a0360043581169060243516604435610515565b604051901515815260200160405180910390f35b34156101e957600080fd5b6101f16106c1565b60405160ff909116815260200160405180910390f35b341561021257600080fd5b6100cf6106c6565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561029d57600080fd5b610169600160a060020a03600435166024356106fd565b604051901515815260200160405180910390f35b34156102d357600080fd5b610190600160a060020a03600435166107f3565b60405190815260200160405180910390f35b341561021257600080fd5b6100cf6106c6565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561010c5780820151818401525b6020016100f3565b50505050905090810190601f1680156101395780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561038f57600080fd5b610169600160a060020a0360043516602435610849565b604051901515815260200160405180910390f35b34156103c557600080fd5b610169600160a060020a0360043516602435610992565b604051901515815260200160405180910390f35b34156103fb57600080fd5b610190600160a060020a0360043581169060243516610a31565b60405190815260200160405180910390f35b60408051908101604052601581527f417373697374697665205265616c697479204152580000000000000000000000602082015281565b60008115806104905750600160a060020a03338116600090815260016020908152604080832093871683529290522054155b151561049b57600080fd5b600160a060020a03338116600081815260016020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6b01070b1e8ae28f2dfe00000081565b6000600160a060020a038316151561052c57600080fd5b600160a060020a03841660009081526020819052604090205482901080159061057c5750600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010155b80156105885750600082115b80156105b45750600160a060020a0383166000908152602081905260409020546105b28184610a5e565b115b156106b557600160a060020a0384166000908152602081905260409020546105dc9083610a86565b600160a060020a0380861660009081526020818152604080832094909455600181528382203390931682529190915220546106179083610a86565b600160a060020a038086166000908152600160209081526040808320338516845282528083209490945591861681529081905220546106569083610a5e565b600160a060020a03808516600081815260208190526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060016106b9565b5060005b5b9392505050565b601281565b60408051908101604052600381527f4152580000000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a0333811660009081526001602090815260408083209386168352929052908120548083111561075a57600160a060020a03338116600090815260016020908152604080832093881683529290529081205561078b565b6107648184610a86565b600160a060020a033381166000908152600160209081526040808320938916835292905220555b600160a060020a0333811660008181526001602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152602081905260409020545b919050565b60408051908101604052600381527f4152580000000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a038316151561086057600080fd5b600160a060020a0333166000908152602081905260409020548290108015906108895750600082115b80156108b55750600160a060020a0383166000908152602081905260409020546108b38184610a5e565b115b1561098357600160a060020a0333166000908152602081905260409020546108dd9083610a86565b600160a060020a03338116600090815260208190526040808220939093559085168152205461090c9083610a5e565b60008085600160a060020a0316600160a060020a031681526020019081526020016000208190555082600160a060020a031633600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060016104ff565b5060006104ff565b5b92915050565b600160a060020a0333811660009081526001602090815260408083209386168352929052908120546109c49083610a5e565b600160a060020a0333811660008181526001602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b6000828201610a7b848210801590610a765750838210155b610a9f565b8091505b5092915050565b6000610a9483831115610a9f565b508082035b92915050565b801515610aab57600080fd5b5b505600a165627a7a72305820a43a60d2a58a13d1da07e7e013584a5bf2285b1453c56cf43a12e3b21d5688af0029

Swarm Source

bzzr://a43a60d2a58a13d1da07e7e013584a5bf2285b1453c56cf43a12e3b21d5688af
Loading...
Loading
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.