Token Reserve Rights

 

Overview [ERC-20]

Max Total Supply:
100,000,000,000 RSR

Holders:
50,767 (0.00%)

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

OVERVIEW

Reserve Rights token contract has migrated to 0x320623b8e4ff03373931769a31fc52a4e78b5d70.

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ReserveRightsToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-05-17
*/

pragma solidity ^0.4.24;

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
interface IERC20 {
  function totalSupply() external view returns (uint256);

  function balanceOf(address who) external view returns (uint256);

  function allowance(address owner, address spender)
    external view returns (uint256);

  function transfer(address to, uint256 value) external returns (bool);

  function approve(address spender, uint256 value)
    external returns (bool);

  function transferFrom(address from, address to, uint256 value)
    external returns (bool);

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

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, reverts on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b > 0); // Solidity only automatically asserts 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 Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    uint256 c = a - b;

    return c;
  }

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

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 * Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract ERC20 is IERC20 {
  using SafeMath for uint256;

  mapping (address => uint256) private _balances;

  mapping (address => mapping (address => uint256)) private _allowed;

  uint256 private _totalSupply;

  /**
  * @dev Total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return _totalSupply;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param owner The address to query the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address owner) public view returns (uint256) {
    return _balances[owner];
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param owner address The address which owns the funds.
   * @param spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(
    address owner,
    address spender
   )
    public
    view
    returns (uint256)
  {
    return _allowed[owner][spender];
  }

  /**
  * @dev Transfer token for a specified address
  * @param to The address to transfer to.
  * @param value The amount to be transferred.
  */
  function transfer(address to, uint256 value) public returns (bool) {
    _transfer(msg.sender, to, value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param spender The address which will spend the funds.
   * @param value The amount of tokens to be spent.
   */
  function approve(address spender, uint256 value) public returns (bool) {
    require(spender != address(0));

    _allowed[msg.sender][spender] = value;
    emit Approval(msg.sender, spender, value);
    return true;
  }

  /**
   * @dev Transfer tokens from one address to another
   * @param from address The address which you want to send tokens from
   * @param to address The address which you want to transfer to
   * @param value uint256 the amount of tokens to be transferred
   */
  function transferFrom(
    address from,
    address to,
    uint256 value
  )
    public
    returns (bool)
  {
    require(value <= _allowed[from][msg.sender]);

    _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
    _transfer(from, to, value);
    return true;
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed_[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param spender The address which will spend the funds.
   * @param addedValue The amount of tokens to increase the allowance by.
   */
  function increaseAllowance(
    address spender,
    uint256 addedValue
  )
    public
    returns (bool)
  {
    require(spender != address(0));

    _allowed[msg.sender][spender] = (
      _allowed[msg.sender][spender].add(addedValue));
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed_[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param spender The address which will spend the funds.
   * @param subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseAllowance(
    address spender,
    uint256 subtractedValue
  )
    public
    returns (bool)
  {
    require(spender != address(0));

    _allowed[msg.sender][spender] = (
      _allowed[msg.sender][spender].sub(subtractedValue));
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
    return true;
  }

  /**
  * @dev Transfer token for a specified addresses
  * @param from The address to transfer from.
  * @param to The address to transfer to.
  * @param value The amount to be transferred.
  */
  function _transfer(address from, address to, uint256 value) internal {
    require(value <= _balances[from]);
    require(to != address(0));

    _balances[from] = _balances[from].sub(value);
    _balances[to] = _balances[to].add(value);
    emit Transfer(from, to, value);
  }

  /**
   * @dev Internal function that mints an amount of the token and assigns it to
   * an account. This encapsulates the modification of balances such that the
   * proper events are emitted.
   * @param account The account that will receive the created tokens.
   * @param value The amount that will be created.
   */
  function _mint(address account, uint256 value) internal {
    require(account != 0);
    _totalSupply = _totalSupply.add(value);
    _balances[account] = _balances[account].add(value);
    emit Transfer(address(0), account, value);
  }

  /**
   * @dev Internal function that burns an amount of the token of a given
   * account.
   * @param account The account whose tokens will be burnt.
   * @param value The amount that will be burnt.
   */
  function _burn(address account, uint256 value) internal {
    require(account != 0);
    require(value <= _balances[account]);

    _totalSupply = _totalSupply.sub(value);
    _balances[account] = _balances[account].sub(value);
    emit Transfer(account, address(0), value);
  }

  /**
   * @dev Internal function that burns an amount of the token of a given
   * account, deducting from the sender's allowance for said account. Uses the
   * internal burn function.
   * @param account The account whose tokens will be burnt.
   * @param value The amount that will be burnt.
   */
  function _burnFrom(address account, uint256 value) internal {
    require(value <= _allowed[account][msg.sender]);

    // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted,
    // this function needs to emit an event with the updated approval.
    _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(
      value);
    _burn(account, value);
  }
}

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
  struct Role {
    mapping (address => bool) bearer;
  }

  /**
   * @dev give an account access to this role
   */
  function add(Role storage role, address account) internal {
    require(account != address(0));
    require(!has(role, account));

    role.bearer[account] = true;
  }

  /**
   * @dev remove an account's access to this role
   */
  function remove(Role storage role, address account) internal {
    require(account != address(0));
    require(has(role, account));

    role.bearer[account] = false;
  }

  /**
   * @dev check if an account has this role
   * @return bool
   */
  function has(Role storage role, address account)
    internal
    view
    returns (bool)
  {
    require(account != address(0));
    return role.bearer[account];
  }
}

contract PauserRole {
  using Roles for Roles.Role;

  event PauserAdded(address indexed account);
  event PauserRemoved(address indexed account);

  Roles.Role private pausers;

  constructor() internal {
    _addPauser(msg.sender);
  }

  modifier onlyPauser() {
    require(isPauser(msg.sender));
    _;
  }

  function isPauser(address account) public view returns (bool) {
    return pausers.has(account);
  }

  function addPauser(address account) public onlyPauser {
    _addPauser(account);
  }

  function renouncePauser() public {
    _removePauser(msg.sender);
  }

  function _addPauser(address account) internal {
    pausers.add(account);
    emit PauserAdded(account);
  }

  function _removePauser(address account) internal {
    pausers.remove(account);
    emit PauserRemoved(account);
  }
}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is PauserRole {
  event Paused(address account);
  event Unpaused(address account);

  bool private _paused;

  constructor() internal {
    _paused = false;
  }

  /**
   * @return true if the contract is paused, false otherwise.
   */
  function paused() public view returns(bool) {
    return _paused;
  }

  /**
   * @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() public onlyPauser whenNotPaused {
    _paused = true;
    emit Paused(msg.sender);
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() public onlyPauser whenPaused {
    _paused = false;
    emit Unpaused(msg.sender);
  }
}

/**
 * @title Pausable token
 * @dev ERC20 modified with pausable transfers.
 **/
contract ERC20Pausable is ERC20, Pausable {

  function transfer(
    address to,
    uint256 value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.transfer(to, value);
  }

  function transferFrom(
    address from,
    address to,
    uint256 value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.transferFrom(from, to, value);
  }

  function approve(
    address spender,
    uint256 value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.approve(spender, value);
  }

  function increaseAllowance(
    address spender,
    uint addedValue
  )
    public
    whenNotPaused
    returns (bool success)
  {
    return super.increaseAllowance(spender, addedValue);
  }

  function decreaseAllowance(
    address spender,
    uint subtractedValue
  )
    public
    whenNotPaused
    returns (bool success)
  {
    return super.decreaseAllowance(spender, subtractedValue);
  }
}


contract ReserveRightsToken is ERC20Pausable {
  string public name = "Reserve Rights";
  string public symbol = "RSR";
  uint8 public decimals = 18;

  // Tokens belonging to Reserve team members and early investors are locked until network launch.
  mapping (address => bool) public reserveTeamMemberOrEarlyInvestor;
  event AccountLocked(address indexed lockedAccount);

  // Hard-coded addresses from the previous deployment, which should be locked and contain token allocations. 
  address[] previousAddresses = [
    0x8ad9c8ebe26eadab9251b8fc36cd06a1ec399a7f,
    0xb268c230720d16c69a61cbee24731e3b2a3330a1,
    0x082705fabf49bd30de8f0222821f6d940713b89d,
    0xc3aa4ced5dea58a3d1ca76e507515c79ca1e4436,
    0x66f25f036eb4463d8a45c6594a325f9e89baa6db,
    0x9e454fe7d8e087fcac4ec8c40562de781004477e,
    0x4fcc7ca22680aed155f981eeb13089383d624aa9,
    0x5a66650e5345d76eb8136ea1490cbcce1c08072e,
    0x698a10b5d0972bffea306ba5950bd74d2af3c7ca,
    0xdf437625216cca3d7148e18d09f4aab0d47c763b,
    0x24b4a6847ccb32972de40170c02fda121ddc6a30,
    0x8d29a24f91df381feb4ee7f05405d3fb888c643e,
    0x5a7350d95b9e644dcab4bc642707f43a361bf628,
    0xfc2e9a5cd1bb9b3953ffa7e6ddf0c0447eb95f11,
    0x3ac7a6c3a2ff08613b611485f795d07e785cbb95,
    0x47fc47cbcc5217740905e16c4c953b2f247369d2,
    0xd282337950ac6e936d0f0ebaaff1ffc3de79f3d5,
    0xde59cd3aa43a2bf863723662b31906660c7d12b6,
    0x5f84660cabb98f7b7764cd1ae2553442da91984e,
    0xefbaaf73fc22f70785515c1e2be3d5ba2fb8e9b0,
    0x63c5ffb388d83477a15eb940cfa23991ca0b30f0,
    0x14f018cce044f9d3fb1e1644db6f2fab70f6e3cb,
    0xbe30069d27a250f90c2ee5507bcaca5f868265f7,
    0xcfef27288bedcd587a1ed6e86a996c8c5b01d7c1,
    0x5f57bbccc7ffa4c46864b5ed999a271bc36bb0ce,
    0xbae85de9858375706dde5907c8c9c6ee22b19212,
    0x5cf4bbb0ff093f3c725abec32fba8f34e4e98af1,
    0xcb2d434bf72d3cd43d0c368493971183640ffe99,
    0x02fc8e99401b970c265480140721b28bb3af85ab,
    0xe7ad11517d7254f6a0758cee932bffa328002dd0,
    0x6b39195c164d693d3b6518b70d99877d4f7c87ef,
    0xc59119d8e4d129890036a108aed9d9fe94db1ba9,
    0xd28661e4c75d177d9c1f3c8b821902c1abd103a6,
    0xba385610025b1ea8091ae3e4a2e98913e2691ff7,
    0xcd74834b8f3f71d2e82c6240ae0291c563785356,
    0x657a127639b9e0ccccfbe795a8e394d5ca158526
  ];

  constructor(address previousContract, address reservePrimaryWallet) public {
    IERC20 previousToken = IERC20(previousContract);

    _mint(reservePrimaryWallet, previousToken.balanceOf(reservePrimaryWallet));

    for (uint i = 0; i < previousAddresses.length; i++) {
      reserveTeamMemberOrEarlyInvestor[previousAddresses[i]] = true;
      _mint(previousAddresses[i], previousToken.balanceOf(previousAddresses[i]));
      emit AccountLocked(previousAddresses[i]);
    }
  }

  function transfer(address to, uint256 value) public returns (bool) {
    // Tokens belonging to Reserve team members and early investors are locked until network launch.
    require(!reserveTeamMemberOrEarlyInvestor[msg.sender]);
    return super.transfer(to, value);
  }

  function transferFrom(address from, address to, uint256 value) public returns (bool) {
    // Tokens belonging to Reserve team members and early investors are locked until network launch.
    require(!reserveTeamMemberOrEarlyInvestor[from]);
    return super.transferFrom(from, to, value);
  }

  /// This function is intended to be used only by Reserve team members and investors.
  /// You can call it yourself, but you almost certainly don’t want to.
  /// Anyone who calls this function will cause their own tokens to be subject to
  /// a long lockup. Reserve team members and some investors do this to commit
  /// ourselves to not dumping tokens early. If you are not a Reserve team member
  /// or investor, you don’t need to limit yourself in this way.
  ///
  /// THIS FUNCTION LOCKS YOUR TOKENS. ONLY USE IT IF YOU KNOW WHAT YOU ARE DOING.
  function lockMyTokensForever(string consent) public returns (bool) {
    require(keccak256(abi.encodePacked(consent)) == keccak256(abi.encodePacked(
      "I understand that I am locking my account forever, or at least until the next token upgrade."
    )));
    reserveTeamMemberOrEarlyInvestor[msg.sender] = true;
    emit AccountLocked(msg.sender);
  }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"consent","type":"string"}],"name":"lockMyTokensForever","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","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":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"reserveTeamMemberOrEarlyInvestor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"previousContract","type":"address"},{"name":"reservePrimaryWallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"lockedAccount","type":"address"}],"name":"AccountLocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","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"}]

60c0604052600e60808190527f526573657276652052696768747300000000000000000000000000000000000060a090815262000040916005919062000890565b506040805180820190915260038082527f52535200000000000000000000000000000000000000000000000000000000006020909201918252620000879160069162000890565b506007805460ff191660121790556040805161048081018252738ad9c8ebe26eadab9251b8fc36cd06a1ec399a7f815273b268c230720d16c69a61cbee24731e3b2a3330a1602082015273082705fabf49bd30de8f0222821f6d940713b89d9181019190915273c3aa4ced5dea58a3d1ca76e507515c79ca1e443660608201527366f25f036eb4463d8a45c6594a325f9e89baa6db6080820152739e454fe7d8e087fcac4ec8c40562de781004477e60a0820152734fcc7ca22680aed155f981eeb13089383d624aa960c0820152735a66650e5345d76eb8136ea1490cbcce1c08072e60e082015273698a10b5d0972bffea306ba5950bd74d2af3c7ca61010082015273df437625216cca3d7148e18d09f4aab0d47c763b6101208201527324b4a6847ccb32972de40170c02fda121ddc6a30610140820152738d29a24f91df381feb4ee7f05405d3fb888c643e610160820152735a7350d95b9e644dcab4bc642707f43a361bf62861018082015273fc2e9a5cd1bb9b3953ffa7e6ddf0c0447eb95f116101a0820152733ac7a6c3a2ff08613b611485f795d07e785cbb956101c08201527347fc47cbcc5217740905e16c4c953b2f247369d26101e082015273d282337950ac6e936d0f0ebaaff1ffc3de79f3d561020082015273de59cd3aa43a2bf863723662b31906660c7d12b6610220820152735f84660cabb98f7b7764cd1ae2553442da91984e61024082015273efbaaf73fc22f70785515c1e2be3d5ba2fb8e9b06102608201527363c5ffb388d83477a15eb940cfa23991ca0b30f06102808201527314f018cce044f9d3fb1e1644db6f2fab70f6e3cb6102a082015273be30069d27a250f90c2ee5507bcaca5f868265f76102c082015273cfef27288bedcd587a1ed6e86a996c8c5b01d7c16102e0820152735f57bbccc7ffa4c46864b5ed999a271bc36bb0ce61030082015273bae85de9858375706dde5907c8c9c6ee22b19212610320820152735cf4bbb0ff093f3c725abec32fba8f34e4e98af161034082015273cb2d434bf72d3cd43d0c368493971183640ffe996103608201527302fc8e99401b970c265480140721b28bb3af85ab61038082015273e7ad11517d7254f6a0758cee932bffa328002dd06103a0820152736b39195c164d693d3b6518b70d99877d4f7c87ef6103c082015273c59119d8e4d129890036a108aed9d9fe94db1ba96103e082015273d28661e4c75d177d9c1f3c8b821902c1abd103a661040082015273ba385610025b1ea8091ae3e4a2e98913e2691ff761042082015273cd74834b8f3f71d2e82c6240ae0291c56378535661044082015273657a127639b9e0ccccfbe795a8e394d5ca1585266104608201526200047390600990602462000915565b503480156200048157600080fd5b5060405160408062001b48833981016040528051602090910151600080620004b233640100000000620006d2810204565b6004805460ff19168155604080517f70a08231000000000000000000000000000000000000000000000000000000008152600160a060020a038087169382019390935290518694506200056b928692908616916370a08231916024808201926020929091908290030181600087803b1580156200052e57600080fd5b505af115801562000543573d6000803e3d6000fd5b505050506040513d60208110156200055a57600080fd5b505164010000000062000724810204565b5060005b600954811015620006c8576001600860006009848154811015156200059057fe5b600091825260208083209190910154600160a060020a031683528201929092526040019020805460ff19169115159190911790556009805462000673919083908110620005d957fe5b60009182526020909120015460098054600160a060020a03928316928616916370a0823191869081106200060957fe5b6000918252602080832090910154604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8716028152600160a060020a0390921660048301525160248083019491928390030190829087803b1580156200052e57600080fd5b60098054829081106200068257fe5b6000918252602082200154604051600160a060020a03909116917f78be06d07afe380e04d6deeba0f33c892db454f303fb739d9b768987a5ec6aca91a26001016200056f565b50505050620009c2565b620006ed60038264010000000062000f64620007e382021704565b604051600160a060020a038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600160a060020a03821615156200073a57600080fd5b60025462000757908264010000000062000ece6200083e82021704565b600255600160a060020a0382166000908152602081905260409020546200078d908264010000000062000ece6200083e82021704565b600160a060020a0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600160a060020a0381161515620007f957600080fd5b6200080e828264010000000062000858810204565b156200081957600080fd5b600160a060020a0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200085157600080fd5b9392505050565b6000600160a060020a03821615156200087057600080fd5b50600160a060020a03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620008d357805160ff191683800117855562000903565b8280016001018555821562000903579182015b8281111562000903578251825591602001919060010190620008e6565b50620009119291506200097b565b5090565b8280548282559060005260206000209081019282156200096d579160200282015b828111156200096d5782518254600160a060020a031916600160a060020a0390911617825560209092019160019091019062000936565b50620009119291506200099b565b6200099891905b8082111562000911576000815560010162000982565b90565b6200099891905b8082111562000911578054600160a060020a0319168155600101620009a2565b61117680620009d26000396000f3006080604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166303ff0fec811461010b57806306fdde0314610178578063095ea7b31461020257806318160ddd1461023357806323b872dd1461025a578063313ce5671461029157806339509351146102bc5780633f4ba83a146102ed57806346fbf68e146103045780635c975abb146103325780636ef8d66d1461034757806370a082311461035c57806382dc1ec41461038a5780638456cb59146103b857806391cdccec146103cd57806395d89b41146103fb578063a457c2d714610410578063a9059cbb14610441578063dd62ed3e14610472575b600080fd5b34801561011757600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526101649436949293602493928401919081908401838280828437509497506104a69650505050505050565b604080519115158252519081900360200190f35b34801561018457600080fd5b5061018d610739565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c75781810151838201526020016101af565b50505050905090810190601f1680156101f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020e57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166024356107e5565b34801561023f57600080fd5b50610248610809565b60408051918252519081900360200190f35b34801561026657600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff6004358116906024351660443561080f565b34801561029d57600080fd5b506102a6610855565b6040805160ff9092168252519081900360200190f35b3480156102c857600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff6004351660243561085e565b3480156102f957600080fd5b5061030261087b565b005b34801561031057600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166108fd565b34801561033e57600080fd5b50610164610916565b34801561035357600080fd5b5061030261091f565b34801561036857600080fd5b5061024873ffffffffffffffffffffffffffffffffffffffff6004351661092a565b34801561039657600080fd5b5061030273ffffffffffffffffffffffffffffffffffffffff60043516610952565b3480156103c457600080fd5b50610302610972565b3480156103d957600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff600435166109f6565b34801561040757600080fd5b5061018d610a0b565b34801561041c57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff60043516602435610a84565b34801561044d57600080fd5b5061016473ffffffffffffffffffffffffffffffffffffffff60043516602435610aa1565b34801561047e57600080fd5b5061024873ffffffffffffffffffffffffffffffffffffffff60043581169060243516610ac8565b600060405160200180807f4920756e6465727374616e642074686174204920616d206c6f636b696e67206d81526020017f79206163636f756e7420666f72657665722c206f72206174206c65617374207581526020017f6e74696c20746865206e65787420746f6b656e20757067726164652e00000000815250605c0190506040516020818303038152906040526040518082805190602001908083835b6020831061058157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610544565b51815160209384036101000a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01801990921691161790526040519190930181900381208751909550879450908301928392508401908083835b6020831061061857805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016105db565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040526040518082805190602001908083835b6020831061069957805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161065c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019161415156106d657600080fd5b3360008181526008602052604080822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055517f78be06d07afe380e04d6deeba0f33c892db454f303fb739d9b768987a5ec6aca9190a2919050565b6005805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107dd5780601f106107b2576101008083540402835291602001916107dd565b820191906000526020600020905b8154815290600101906020018083116107c057829003601f168201915b505050505081565b60045460009060ff16156107f857600080fd5b6108028383610b00565b9392505050565b60025490565b73ffffffffffffffffffffffffffffffffffffffff831660009081526008602052604081205460ff161561084257600080fd5b61084d848484610b98565b949350505050565b60075460ff1681565b60045460009060ff161561087157600080fd5b6108028383610bb6565b610884336108fd565b151561088f57600080fd5b60045460ff1615156108a057600080fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b600061091060038363ffffffff610c8d16565b92915050565b60045460ff1690565b61092833610cde565b565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b61095b336108fd565b151561096657600080fd5b61096f81610d33565b50565b61097b336108fd565b151561098657600080fd5b60045460ff161561099657600080fd5b600480547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b60086020526000908152604090205460ff1681565b6006805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107dd5780601f106107b2576101008083540402835291602001916107dd565b60045460009060ff1615610a9757600080fd5b6108028383610d88565b3360009081526008602052604081205460ff1615610abe57600080fd5b6108028383610ded565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b600073ffffffffffffffffffffffffffffffffffffffff83161515610b2457600080fd5b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60045460009060ff1615610bab57600080fd5b61084d848484610e0a565b600073ffffffffffffffffffffffffffffffffffffffff83161515610bda57600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610c1b908363ffffffff610ece16565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600073ffffffffffffffffffffffffffffffffffffffff82161515610cb157600080fd5b5073ffffffffffffffffffffffffffffffffffffffff166000908152602091909152604090205460ff1690565b610cef60038263ffffffff610ee016565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b610d4460038263ffffffff610f6416565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b600073ffffffffffffffffffffffffffffffffffffffff83161515610dac57600080fd5b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902054610c1b908363ffffffff610fea16565b60045460009060ff1615610e0057600080fd5b6108028383611001565b73ffffffffffffffffffffffffffffffffffffffff83166000908152600160209081526040808320338452909152812054821115610e4757600080fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338452909152902054610e88908363ffffffff610fea16565b73ffffffffffffffffffffffffffffffffffffffff85166000908152600160209081526040808320338452909152902055610ec4848484611017565b5060019392505050565b60008282018381101561080257600080fd5b73ffffffffffffffffffffffffffffffffffffffff81161515610f0257600080fd5b610f0c8282610c8d565b1515610f1757600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b73ffffffffffffffffffffffffffffffffffffffff81161515610f8657600080fd5b610f908282610c8d565b15610f9a57600080fd5b73ffffffffffffffffffffffffffffffffffffffff1660009081526020919091526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b60008083831115610ffa57600080fd5b5050900390565b600061100e338484611017565b50600192915050565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481111561104957600080fd5b73ffffffffffffffffffffffffffffffffffffffff8216151561106b57600080fd5b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020546110a1908263ffffffff610fea16565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822093909355908416815220546110e3908263ffffffff610ece16565b73ffffffffffffffffffffffffffffffffffffffff8084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35050505600a165627a7a72305820c0d53ccd20cfefd077b56e38eda2288a4b78d4f7e506527797d19f665aa3c3f70029000000000000000000000000c2646eda7c2d4bf131561141c1d5696c4f01eb53000000000000000000000000fa3bd0b2ac6e63f16d16d7e449418837a8a3ae27

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

000000000000000000000000c2646eda7c2d4bf131561141c1d5696c4f01eb53000000000000000000000000fa3bd0b2ac6e63f16d16d7e449418837a8a3ae27

-----Decoded View---------------
Arg [0] : previousContract (address): 0xc2646eda7c2d4bf131561141c1d5696c4f01eb53
Arg [1] : reservePrimaryWallet (address): 0xfa3bd0b2ac6e63f16d16d7e449418837a8a3ae27

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c2646eda7c2d4bf131561141c1d5696c4f01eb53
Arg [1] : 000000000000000000000000fa3bd0b2ac6e63f16d16d7e449418837a8a3ae27


Deployed ByteCode Sourcemap

13648:4313:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17597:361;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17597:361:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17597:361:0;;-1:-1:-1;17597:361:0;;-1:-1:-1;;;;;;;17597:361:0;;;;;;;;;;;;;;;;;;;13698:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13698:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13698:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13046:167;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13046:167:0;;;;;;;;;3091:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3091:85:0;;;;;;;;;;;;;;;;;;;;16726:297;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16726:297:0;;;;;;;;;;;;;;13773:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13773:26:0;;;;;;;;;;;;;;;;;;;;;;;13219:202;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13219:202:0;;;;;;;;;12433:108;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12433:108:0;;;;;;10848:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10848:102:0;;;;;;;11755:71;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11755:71:0;;;;11048;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11048:71:0;;;;3380:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3380:100:0;;;;;;;10956:86;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10956:86:0;;;;;;;12240:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12240:106:0;;;;13906:65;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13906:65:0;;;;;;;13740:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13740:28:0;;;;13427:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13427:212:0;;;;;;;;;16445:275;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16445:275:0;;;;;;;;;3805:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3805:159:0;;;;;;;;;;;;17597:361;17658:4;17729:126;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17729:126:0;;;17719:137;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;246:30;;311:9;;295:26;;;340:21;;377:20;365:33;;17719:137:0;;;;;;;;;;;17689:25;;17719:137;;-1:-1:-1;17689:25:0;;-1:-1:-1;17689:25:0;;;;;;-1:-1:-1;17689:25:0;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17689:25:0;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;17689:25:0;;;17679:36;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;139:12;;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;17679:36:0;;;;;;;;;;;;;;;;:177;;;;17671:186;;;;;;;;17897:10;17864:44;;;;:32;:44;;;;;;:51;;;;17911:4;17864:51;;;17927:25;;;17864:44;17927:25;17597:361;;;:::o;13698:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13046:167::-;11973:7;;13155:4;;11973:7;;11972:8;11964:17;;;;;;13178:29;13192:7;13201:5;13178:13;:29::i;:::-;13171:36;13046:167;-1:-1:-1;;;13046:167:0:o;3091:85::-;3158:12;;3091:85;:::o;16726:297::-;16929:38;;;16805:4;16929:38;;;:32;:38;;;;;;;;16928:39;16920:48;;;;;;16982:35;17001:4;17007:2;17011:5;16982:18;:35::i;:::-;16975:42;16726:297;-1:-1:-1;;;;16726:297:0:o;13773:26::-;;;;;;:::o;13219:202::-;11973:7;;13340:12;;11973:7;;11972:8;11964:17;;;;;;13371:44;13395:7;13404:10;13371:23;:44::i;12433:108::-;10807:20;10816:10;10807:8;:20::i;:::-;10799:29;;;;;;;;12134:7;;;;12126:16;;;;;;;;12488:7;:15;;;;;;12515:20;;;12524:10;12515:20;;;;;;;;;;;;;12433:108::o;10848:102::-;10904:4;10924:20;:7;10936;10924:20;:11;:20;:::i;:::-;10917:27;10848:102;-1:-1:-1;;10848:102:0:o;11755:71::-;11813:7;;;;11755:71;:::o;11048:::-;11088:25;11102:10;11088:13;:25::i;:::-;11048:71::o;3380:100::-;3458:16;;3435:7;3458:16;;;;;;;;;;;;3380:100::o;10956:86::-;10807:20;10816:10;10807:8;:20::i;:::-;10799:29;;;;;;;;11017:19;11028:7;11017:10;:19::i;:::-;10956:86;:::o;12240:106::-;10807:20;10816:10;10807:8;:20::i;:::-;10799:29;;;;;;;;11973:7;;;;11972:8;11964:17;;;;;;12296:7;:14;;;;12306:4;12296:14;;;12322:18;;;12329:10;12322:18;;;;;;;;;;;;;12240:106::o;13906:65::-;;;;;;;;;;;;;;;:::o;13740:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13427:212;11973:7;;13553:12;;11973:7;;11972:8;11964:17;;;;;;13584:49;13608:7;13617:15;13584:23;:49::i;16445:275::-;16663:10;16506:4;16630:44;;;:32;:44;;;;;;;;16629:45;16621:54;;;;;;16689:25;16704:2;16708:5;16689:14;:25::i;3805:159::-;3934:15;;;;3908:7;3934:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;3805:159::o;4880:226::-;4945:4;4966:21;;;;;4958:30;;;;;;5006:10;4997:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;;;:37;;;5046:36;;;;;;;4997:29;;5006:10;5046:36;;;;;;;;;;;-1:-1:-1;5096:4:0;4880:226;;;;:::o;12848:192::-;11973:7;;12976:4;;11973:7;;11972:8;11964:17;;;;;;12999:35;13018:4;13024:2;13028:5;12999:18;:35::i;6149:343::-;6254:4;6278:21;;;;;6270:30;;;;;;6359:10;6350:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;:45;;6384:10;6350:45;:33;:45;:::i;:::-;6318:10;6309:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;;;:87;;;6408:60;;;;;;6309:29;;6408:60;;;;;;;;;;;-1:-1:-1;6482:4:0;6149:343;;;;:::o;10337:173::-;10424:4;10448:21;;;;;10440:30;;;;;;-1:-1:-1;10484:20:0;;:11;:20;;;;;;;;;;;;;;;10337:173::o;11242:119::-;11298:23;:7;11313;11298:23;:14;:23;:::i;:::-;11333:22;;;;;;;;;;;11242:119;:::o;11125:111::-;11178:20;:7;11190;11178:20;:11;:20;:::i;:::-;11210;;;;;;;;;;;11125:111;:::o;6959:353::-;7069:4;7093:21;;;;;7085:30;;;;;;7174:10;7165:20;;;;:8;:20;;;;;;;;;:29;;;;;;;;;;:50;;7199:15;7165:50;:33;:50;:::i;12683:159::-;11973:7;;12788:4;;11973:7;;11972:8;11964:17;;;;;;12811:25;12826:2;12830:5;12811:14;:25::i;5386:301::-;5528:14;;;5495:4;5528:14;;;:8;:14;;;;;;;;5543:10;5528:26;;;;;;;;5519:35;;;5511:44;;;;;;5593:14;;;;;;;:8;:14;;;;;;;;5608:10;5593:26;;;;;;;;:37;;5624:5;5593:37;:30;:37;:::i;:::-;5564:14;;;;;;;:8;:14;;;;;;;;5579:10;5564:26;;;;;;;:66;5637:26;5573:4;5653:2;5657:5;5637:9;:26::i;:::-;-1:-1:-1;5677:4:0;5386:301;;;;;:::o;2121:136::-;2179:7;2207:5;;;2227:6;;;;2219:15;;;;;10078:175;10154:21;;;;;10146:30;;;;;;10191:18;10195:4;10201:7;10191:3;:18::i;:::-;10183:27;;;;;;;;10219:20;;10242:5;10219:20;;;;;;;;;;;:28;;;;;;10078:175::o;9835:172::-;9908:21;;;;;9900:30;;;;;;9946:18;9950:4;9956:7;9946:3;:18::i;:::-;9945:19;9937:28;;;;;;9974:20;;:11;:20;;;;;;;;;;;:27;;;;9997:4;9974:27;;;9835:172::o;1917:136::-;1975:7;;1999:6;;;;1991:15;;;;;;-1:-1:-1;;2025:5:0;;;1917:136::o;4123:130::-;4184:4;4197:32;4207:10;4219:2;4223:5;4197:9;:32::i;:::-;-1:-1:-1;4243:4:0;4123:130;;;;:::o;7520:284::-;7613:15;;;:9;:15;;;;;;;;;;;7604:24;;;7596:33;;;;;;7644:16;;;;;7636:25;;;;;;7688:15;;;:9;:15;;;;;;;;;;;:26;;7708:5;7688:26;:19;:26;:::i;:::-;7670:15;;;;:9;:15;;;;;;;;;;;:44;;;;7737:13;;;;;;;:24;;7755:5;7737:24;:17;:24;:::i;:::-;7721:13;;;;:9;:13;;;;;;;;;;;;:40;;;;7773:25;;;;;;;7721:13;;7773:25;;;;;;;;;;;;;7520:284;;;:::o

Swarm Source

bzzr://c0d53ccd20cfefd077b56e38eda2288a4b78d4f7e506527797d19f665aa3c3f7

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.