ETH Price: $3,478.07 (+0.88%)

Token

Ara Token (ARA)
 

Overview

Max Total Supply

1,000,000,000 ARA

Holders

4,955 (0.00%)

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$305,280.00

Circulating Supply Market Cap

$224,832.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
3.026551918527234137 ARA

Value
$0.00 ( ~0 Eth) [0.0000%]
0xf41aa3fe161e497eeece2f272fb3fea5370482f4
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Ara directly connects creators and fans, enabling distribution and payment without platform fees and limits.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
AraProxy

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2019-01-30
*/

pragma solidity ^0.4.24;

/**
 * @title AraProxy
 * @dev Gives the possibility to delegate any call to a foreign implementation.
 */
contract AraProxy {

  bytes32 private constant registryPosition_ = keccak256("io.ara.proxy.registry");
  bytes32 private constant implementationPosition_ = keccak256("io.ara.proxy.implementation");

  modifier restricted() {
    bytes32 registryPosition = registryPosition_;
    address registryAddress;
    assembly {
      registryAddress := sload(registryPosition)
    }
    require(
      msg.sender == registryAddress,
      "Only the AraRegistry can upgrade this proxy."
    );
    _;
  }

  /**
  * @dev the constructor sets the AraRegistry address
  */
  constructor(address _registryAddress, address _implementationAddress) public {
    bytes32 registryPosition = registryPosition_;
    bytes32 implementationPosition = implementationPosition_;
    assembly {
      sstore(registryPosition, _registryAddress)
      sstore(implementationPosition, _implementationAddress)
    }
  }

  function setImplementation(address _newImplementation) public restricted {
    require(_newImplementation != address(0));
    bytes32 implementationPosition = implementationPosition_;
    assembly {
      sstore(implementationPosition, _newImplementation)
    }
  }

  /**
  * @dev Fallback function allowing to perform a delegatecall to the given implementation.
  * This function will return whatever the implementation call returns
  */
  function () payable public {
    bytes32 implementationPosition = implementationPosition_;
    address _impl;
    assembly {
      _impl := sload(implementationPosition)
    }

    assembly {
      let ptr := mload(0x40)
      calldatacopy(ptr, 0, calldatasize)
      let result := delegatecall(gas, _impl, ptr, calldatasize, 0, 0)
      let size := returndatasize
      returndatacopy(ptr, 0, size)

      switch result
      case 0 { revert(ptr, size) }
      default { return(ptr, size) }
    }
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_newImplementation","type":"address"}],"name":"setImplementation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registryAddress","type":"address"},{"name":"_implementationAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]

608060405234801561001057600080fd5b50604051604080610366833981018060405281019080805190602001909291908051906020019092919050505060008060405180807f696f2e6172612e70726f78792e7265676973747279000000000000000000000081525060150190506040518091039020915060405180807f696f2e6172612e70726f78792e696d706c656d656e746174696f6e0000000000815250601b019050604051809103902090508382558281555050505061029d806100c96000396000f300608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063d784d426146100a7575b60008060405180807f696f2e6172612e70726f78792e696d706c656d656e746174696f6e0000000000815250601b019050604051809103902091508154905060405136600082376000803683855af43d806000843e81600081146100a3578184f35b8184fd5b3480156100b357600080fd5b506100e8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100ea565b005b600080600060405180807f696f2e6172612e70726f78792e72656769737472790000000000000000000000815250601501905060405180910390209150815490508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4f6e6c79207468652041726152656769737472792063616e207570677261646581526020017f20746869732070726f78792e000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561023057600080fd5b60405180807f696f2e6172612e70726f78792e696d706c656d656e746174696f6e0000000000815250601b01905060405180910390209250838355505050505600a165627a7a7230582005642ac97894b238b61c8ffa819c5dc691441cccd53318629232345ba3846b4a0029000000000000000000000000f8314584346fc84e96b36113784f6b562e5b01af000000000000000000000000b8ca408aff631b65021850cd7ebf8eac7f3c0312

Deployed Bytecode

0x608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063d784d426146100a7575b60008060405180807f696f2e6172612e70726f78792e696d706c656d656e746174696f6e0000000000815250601b019050604051809103902091508154905060405136600082376000803683855af43d806000843e81600081146100a3578184f35b8184fd5b3480156100b357600080fd5b506100e8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506100ea565b005b600080600060405180807f696f2e6172612e70726f78792e72656769737472790000000000000000000000815250601501905060405180910390209150815490508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156101f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602c8152602001807f4f6e6c79207468652041726152656769737472792063616e207570677261646581526020017f20746869732070726f78792e000000000000000000000000000000000000000081525060400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561023057600080fd5b60405180807f696f2e6172612e70726f78792e696d706c656d656e746174696f6e0000000000815250601b01905060405180910390209250838355505050505600a165627a7a7230582005642ac97894b238b61c8ffa819c5dc691441cccd53318629232345ba3846b4a0029

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

000000000000000000000000f8314584346fc84e96b36113784f6b562e5b01af000000000000000000000000B8ca408AfF631b65021850cD7eBf8EAC7f3c0312

-----Decoded View---------------
Arg [0] : _registryAddress (address): 0xf8314584346fc84E96b36113784f6B562E5B01af
Arg [1] : _implementationAddress (address): 0xB8ca408AfF631b65021850cD7eBf8EAC7f3c0312

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000f8314584346fc84e96b36113784f6b562e5b01af
Arg [1] : 000000000000000000000000B8ca408AfF631b65021850cD7eBf8EAC7f3c0312


Swarm Source

bzzr://05642ac97894b238b61c8ffa819c5dc691441cccd53318629232345ba3846b4a
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.