ETH Price: $3,028.09 (+4.32%)

Token

MANDALA EXCHANGE TOKEN (MDX)
 

Overview

Max Total Supply

400,000,000 MDX

Holders

3,376 (0.00%)

Market

Price

$0.00 @ 0.000000 ETH

Onchain Market Cap

$428,656.00

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000000000001 MDX

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

OVERVIEW

Mandala is a digital asset trading platform with the various liquidity pool dedicated for users to trade cryptocurrency in a secure compliant manner.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MandalaToken

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 4 of 8: MandalaToken.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;

import './MintableToken.sol';
import './SafeMath.sol';

contract MandalaToken is MintableToken {

    using SafeMath for uint256;
    string public constant name = "MANDALA EXCHANGE TOKEN";
    string public constant   symbol = "MDX";
    uint public constant   decimals = 18;
    bool public  TRANSFERS_ALLOWED = true;
    uint256 public constant MAX_TOTAL_SUPPLY = 400000000 * (10 **18);

    event Burn(address indexed burner, uint256 value);

    function burnFrom(uint256 _value, address victim) public onlyOwner canMint {
        require( victim != address(0), "Error - victim address can not equal zero address");
        balances[victim] = balances[victim].sub(_value);
        totalSupply_ = totalSupply().sub(_value);

        emit Burn(victim, _value);
    }

    function burn(uint256 _value) public onlyOwner {

        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply_ = totalSupply().sub(_value);

        emit Burn(msg.sender, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public override returns (bool) {
        require(TRANSFERS_ALLOWED || msg.sender == owner, "Error - Transfers Not Allowed");

        return super.transferFrom(_from, _to, _value);
    }


    function mint(address _to, uint256 _amount) onlyOwner canMint public override returns (bool) {
        require(totalSupply_.add(_amount) <= MAX_TOTAL_SUPPLY, "Error - Max Total Supply Exceeded");

        return super.mint(_to, _amount);
    }


    function transfer(address _to, uint256 _value) public override returns (bool){
        require(TRANSFERS_ALLOWED || msg.sender == owner, "Error - Transfers Not Allowed");

        return super.transfer(_to, _value);
    }

    function stopTransfers() public onlyOwner {
        TRANSFERS_ALLOWED = false;
    }

    function resumeTransfers() public onlyOwner {
        TRANSFERS_ALLOWED = true;
    }

}

File 1 of 8: BasicToken.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;


import "./ERC20Basic.sol";
import "./SafeMath.sol";


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) public balances;

  uint256 public totalSupply_;

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

  /**
  * @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 override returns (bool) {
    require(_to != address(0));

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }


  function balanceOf(address _owner) public override view returns (uint256 balance) {
    return balances[_owner];
  }

}


File 2 of 8: ERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;

import "./ERC20Basic.sol";


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
abstract contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public virtual view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public virtual returns (bool);
  function approve(address spender, uint256 value) public virtual returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 3 of 8: ERC20Basic.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
abstract contract ERC20Basic {
  function totalSupply() public virtual view returns (uint256);
  function balanceOf(address who) public virtual view returns (uint256);
  function transfer(address to, uint256 value) public virtual returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

File 5 of 8: MintableToken.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;

import "./StandardToken.sol";
import "./Ownable.sol";


/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 */
contract MintableToken is StandardToken, Ownable {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;


  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount) onlyOwner canMint public virtual returns (bool) {
    require( _to != address(0), "Error - To address can not equal zero address");
    
    totalSupply_ = totalSupply_.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    emit Mint(_to, _amount);
    emit Transfer(address(0), _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() onlyOwner canMint public returns (bool) {
    mintingFinished = true;
    emit MintFinished();
    return true;
  }
}

File 6 of 8: Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0), "Error - New Address Can Not Be Equal To The Zero Address");
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

File 7 of 8: SafeMath.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;


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

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    require(c / a == b, "Error Message - Bad Math");
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    require(b != 0, "Error Message - Bad Math");
    return c;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a, "Error Message - Bad Math");
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a, "Error Message - Bad Math");
    return c;
  }
}

File 8 of 8: StandardToken.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;

import "./BasicToken.sol";
import "./ERC20.sol";


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal allowed;


  /**
   * @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 virtual override returns (bool) {
    require(_to != address(0), "Error - To Address Can Not Be Equal To The Zero Address");
    require( _from != address(0), "Error - Spender Can Not Be Equal To Zero Address");

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit  Transfer(_from, _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:
   * @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 override returns (bool) {
    require( _spender != address(0), "Error - Spender Can Not Be Equal To Zero Address");
    allowed[msg.sender][_spender] = _value;
    emit  Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @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 override view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @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)
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    require( _spender != address(0), "Error - Spender address can not equal zero address");
    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)
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    require( _spender != address(0), "Error - Spender address can not equal zero address");
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].sub(_subtractedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }
}


Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"MAX_TOTAL_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFERS_ALLOWED","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"address","name":"victim","type":"address"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finishMinting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"resumeTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stopTransfers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600360146101000a81548160ff0219169083151502179055506001600360156101000a81548160ff02191690831515021790555034801561004657600080fd5b5033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061242f806100976000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c357806395d89b411161007c57806395d89b41146105d2578063a9059cbb14610655578063c77a16ed146106b9578063d73dd623146106c3578063dd62ed3e14610727578063f2fde38b1461079f57610158565b806370a08231146104ae57806375a75ba9146105065780637adac0e6146105265780637d64bcb4146105305780638a56f3ee146105505780638da5cb5b1461059e57610158565b8063313ce56711610115578063313ce5671461035e578063324536eb1461037c57806333039d3d1461039a57806340c10f19146103b857806342966c681461041c578063661884631461044a57610158565b806305d2035b1461015d57806306fdde031461017d578063095ea7b31461020057806318160ddd1461026457806323b872dd1461028257806327e235e314610306575b600080fd5b6101656107e3565b60405180821515815260200191505060405180910390f35b6101856107f6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c55780820151818401526020810190506101aa565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024c6004803603604081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061082f565b60405180821515815260200191505060405180910390f35b61026c6109a6565b6040518082815260200191505060405180910390f35b6102ee6004803603606081101561029857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109b0565b60405180821515815260200191505060405180910390f35b6103486004803603602081101561031c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa0565b6040518082815260200191505060405180910390f35b610366610ab8565b6040518082815260200191505060405180910390f35b610384610abd565b6040518082815260200191505060405180910390f35b6103a2610ac3565b6040518082815260200191505060405180910390f35b610404600480360360408110156103ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad3565b60405180821515815260200191505060405180910390f35b6104486004803603602081101561043257600080fd5b8101908080359060200190929190505050610bd4565b005b6104966004803603604081101561046057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d32565b60405180821515815260200191505060405180910390f35b6104f0600480360360208110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fb3565b6040518082815260200191505060405180910390f35b61050e610ffb565b60405180821515815260200191505060405180910390f35b61052e61100e565b005b610538611085565b60405180821515815260200191505060405180910390f35b61059c6004803603604081101561056657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611149565b005b6105a6611348565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105da61136e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561061a5780820151818401526020810190506105ff565b50505050905090810190601f1680156106475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106a16004803603604081101561066b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113a7565b60405180821515815260200191505060405180910390f35b6106c1611495565b005b61070f600480360360408110156106d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061150c565b60405180821515815260200191505060405180910390f35b6107896004803603604081101561073d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061178d565b6040518082815260200191505060405180910390f35b6107e1600480360360208110156107b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611814565b005b600360149054906101000a900460ff1681565b6040518060400160405280601681526020017f4d414e44414c412045584348414e474520544f4b454e0000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806123776030913960400191505060405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b6000600360159054906101000a900460ff1680610a1a5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4572726f72202d205472616e7366657273204e6f7420416c6c6f77656400000081525060200191505060405180910390fd5b610a978484846119b4565b90509392505050565b60006020528060005260406000206000915090505481565b601281565b60015481565b6b014adf4b7320334b9000000081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2f57600080fd5b600360149054906101000a900460ff1615610b4957600080fd5b6b014adf4b7320334b90000000610b6b83600154611d6690919063ffffffff16565b1115610bc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806123d96021913960400191505060405180910390fd5b610bcc8383611dee565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2e57600080fd5b610c7f816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cdb81610ccd6109a6565b61205690919063ffffffff16565b6001819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610db9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806123a76032913960400191505060405180910390fd5b610e4882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360159054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461106857600080fd5b6000600360156101000a81548160ff021916908315150217905550565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e157600080fd5b600360149054906101000a900460ff16156110fb57600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111a357600080fd5b600360149054906101000a900460ff16156111bd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611243576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806122aa6031913960400191505060405180910390fd5b611294826000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112f0826112e26109a6565b61205690919063ffffffff16565b6001819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f4d4458000000000000000000000000000000000000000000000000000000000081525081565b6000600360159054906101000a900460ff16806114115750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4572726f72202d205472616e7366657273204e6f7420416c6c6f77656400000081525060200191505060405180910390fd5b61148d83836120d9565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ef57600080fd5b6001600360156101000a81548160ff021916908315150217905550565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806123a76032913960400191505060405180910390fd5b61162282600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461186e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806123126038913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806122db6037913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806123776030913960400191505060405180910390fd5b611b12826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080828401905083811015611de4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4572726f72204d657373616765202d20426164204d617468000000000000000081525060200191505060405180910390fd5b8091505092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e4a57600080fd5b600360149054906101000a900460ff1615611e6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061234a602d913960400191505060405180910390fd5b611eff82600154611d6690919063ffffffff16565b600181905550611f56826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000828211156120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4572726f72204d657373616765202d20426164204d617468000000000000000081525060200191505060405180910390fd5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561211457600080fd5b612165826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121f8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509291505056fe4572726f72202d2076696374696d20616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d20546f20416464726573732043616e204e6f7420426520457175616c20546f20546865205a65726f20416464726573734572726f72202d204e657720416464726573732043616e204e6f7420426520457175616c20546f20546865205a65726f20416464726573734572726f72202d20546f20616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d205370656e6465722043616e204e6f7420426520457175616c20546f205a65726f20416464726573734572726f72202d205370656e64657220616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d204d617820546f74616c20537570706c79204578636565646564a26469706673582212203254a6329b9687cf32e33e9520f9583e30ff980c03d0d85300c5f9c55ac5903564736f6c634300060c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c357806395d89b411161007c57806395d89b41146105d2578063a9059cbb14610655578063c77a16ed146106b9578063d73dd623146106c3578063dd62ed3e14610727578063f2fde38b1461079f57610158565b806370a08231146104ae57806375a75ba9146105065780637adac0e6146105265780637d64bcb4146105305780638a56f3ee146105505780638da5cb5b1461059e57610158565b8063313ce56711610115578063313ce5671461035e578063324536eb1461037c57806333039d3d1461039a57806340c10f19146103b857806342966c681461041c578063661884631461044a57610158565b806305d2035b1461015d57806306fdde031461017d578063095ea7b31461020057806318160ddd1461026457806323b872dd1461028257806327e235e314610306575b600080fd5b6101656107e3565b60405180821515815260200191505060405180910390f35b6101856107f6565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c55780820151818401526020810190506101aa565b50505050905090810190601f1680156101f25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024c6004803603604081101561021657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061082f565b60405180821515815260200191505060405180910390f35b61026c6109a6565b6040518082815260200191505060405180910390f35b6102ee6004803603606081101561029857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109b0565b60405180821515815260200191505060405180910390f35b6103486004803603602081101561031c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610aa0565b6040518082815260200191505060405180910390f35b610366610ab8565b6040518082815260200191505060405180910390f35b610384610abd565b6040518082815260200191505060405180910390f35b6103a2610ac3565b6040518082815260200191505060405180910390f35b610404600480360360408110156103ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ad3565b60405180821515815260200191505060405180910390f35b6104486004803603602081101561043257600080fd5b8101908080359060200190929190505050610bd4565b005b6104966004803603604081101561046057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d32565b60405180821515815260200191505060405180910390f35b6104f0600480360360208110156104c457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fb3565b6040518082815260200191505060405180910390f35b61050e610ffb565b60405180821515815260200191505060405180910390f35b61052e61100e565b005b610538611085565b60405180821515815260200191505060405180910390f35b61059c6004803603604081101561056657600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611149565b005b6105a6611348565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105da61136e565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561061a5780820151818401526020810190506105ff565b50505050905090810190601f1680156106475780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6106a16004803603604081101561066b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506113a7565b60405180821515815260200191505060405180910390f35b6106c1611495565b005b61070f600480360360408110156106d957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061150c565b60405180821515815260200191505060405180910390f35b6107896004803603604081101561073d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061178d565b6040518082815260200191505060405180910390f35b6107e1600480360360208110156107b557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611814565b005b600360149054906101000a900460ff1681565b6040518060400160405280601681526020017f4d414e44414c412045584348414e474520544f4b454e0000000000000000000081525081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806123776030913960400191505060405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b6000600360159054906101000a900460ff1680610a1a5750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610a8c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4572726f72202d205472616e7366657273204e6f7420416c6c6f77656400000081525060200191505060405180910390fd5b610a978484846119b4565b90509392505050565b60006020528060005260406000206000915090505481565b601281565b60015481565b6b014adf4b7320334b9000000081565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b2f57600080fd5b600360149054906101000a900460ff1615610b4957600080fd5b6b014adf4b7320334b90000000610b6b83600154611d6690919063ffffffff16565b1115610bc2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806123d96021913960400191505060405180910390fd5b610bcc8383611dee565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c2e57600080fd5b610c7f816000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cdb81610ccd6109a6565b61205690919063ffffffff16565b6001819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610db9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806123a76032913960400191505060405180910390fd5b610e4882600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600360159054906101000a900460ff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461106857600080fd5b6000600360156101000a81548160ff021916908315150217905550565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110e157600080fd5b600360149054906101000a900460ff16156110fb57600080fd5b6001600360146101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146111a357600080fd5b600360149054906101000a900460ff16156111bd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611243576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001806122aa6031913960400191505060405180910390fd5b611294826000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112f0826112e26109a6565b61205690919063ffffffff16565b6001819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600381526020017f4d4458000000000000000000000000000000000000000000000000000000000081525081565b6000600360159054906101000a900460ff16806114115750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4572726f72202d205472616e7366657273204e6f7420416c6c6f77656400000081525060200191505060405180910390fd5b61148d83836120d9565b905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114ef57600080fd5b6001600360156101000a81548160ff021916908315150217905550565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611593576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001806123a76032913960400191505060405180910390fd5b61162282600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461186e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001806123126038913960400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a3b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260378152602001806122db6037913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611ac1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260308152602001806123776030913960400191505060405180910390fd5b611b12826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ba5826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7682600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080828401905083811015611de4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4572726f72204d657373616765202d20426164204d617468000000000000000081525060200191505060405180910390fd5b8091505092915050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611e4a57600080fd5b600360149054906101000a900460ff1615611e6457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611eea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d81526020018061234a602d913960400191505060405180910390fd5b611eff82600154611d6690919063ffffffff16565b600181905550611f56826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000828211156120ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f4572726f72204d657373616765202d20426164204d617468000000000000000081525060200191505060405180910390fd5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561211457600080fd5b612165826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461205690919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121f8826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d6690919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509291505056fe4572726f72202d2076696374696d20616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d20546f20416464726573732043616e204e6f7420426520457175616c20546f20546865205a65726f20416464726573734572726f72202d204e657720416464726573732043616e204e6f7420426520457175616c20546f20546865205a65726f20416464726573734572726f72202d20546f20616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d205370656e6465722043616e204e6f7420426520457175616c20546f205a65726f20416464726573734572726f72202d205370656e64657220616464726573732063616e206e6f7420657175616c207a65726f20616464726573734572726f72202d204d617820546f74616c20537570706c79204578636565646564a26469706673582212203254a6329b9687cf32e33e9520f9583e30ff980c03d0d85300c5f9c55ac5903564736f6c634300060c0033

Deployed Bytecode Sourcemap

113:1849:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;339:35:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;191:54:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1663:288:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;407:92:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1048:252:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;271:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;296:36:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;319:27:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;381:64:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1307:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;832:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3616:364:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1006:116:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;338:37:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1784:84;;;:::i;:::-;;1161:140:4;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;508:318:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;269:20:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;251:39:3;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1557:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;1874:85;;;:::i;:::-;;2830:354:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2270:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;858:234:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;339:35:4;;;;;;;;;;;;;:::o;191:54:3:-;;;;;;;;;;;;;;;;;;;:::o;1663:288:7:-;1739:4;1780:1;1760:22;;:8;:22;;;;1751:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1873:6;1841:7;:19;1849:10;1841:19;;;;;;;;;;;;;;;:29;1861:8;1841:29;;;;;;;;;;;;;;;:38;;;;1912:8;1891:38;;1900:10;1891:38;;;1922:6;1891:38;;;;;;;;;;;;;;;;;;1942:4;1935:11;;1663:288;;;;:::o;407:92:0:-;460:7;482:12;;475:19;;407:92;:::o;1048:252:3:-;1139:4;1163:17;;;;;;;;;;;:40;;;;1198:5;;;;;;;;;;;1184:19;;:10;:19;;;1163:40;1155:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1255:38;1274:5;1281:3;1286:6;1255:18;:38::i;:::-;1248:45;;1048:252;;;;;:::o;271:43:0:-;;;;;;;;;;;;;;;;;:::o;296:36:3:-;330:2;296:36;:::o;319:27:0:-;;;;:::o;381:64:3:-;424:21;381:64;:::o;1307:243::-;1394:4;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;414:15:4::1;;;;;;;;;;;413:16;405:25;;;::::0;::::1;;424:21:3::2;1418:25;1435:7;1418:12;;:16;;:25;;;;:::i;:::-;:45;;1410:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1519:24;1530:3;1535:7;1519:10;:24::i;:::-;1512:31;;1307:243:::0;;;;:::o;832:210::-;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;913:32:3::1;938:6;913:8;:20:::0;922:10:::1;913:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;890:8;:20:::0;899:10:::1;890:20;;;;;;;;;;;;;;;:55;;;;970:25;988:6;970:13;:11;:13::i;:::-;:17;;:25;;;;:::i;:::-;955:12;:40;;;;1016:10;1011:24;;;1028:6;1011:24;;;;;;;;;;;;;;;;;;832:210:::0;:::o;3616:364:7:-;3699:4;3740:1;3720:22;;:8;:22;;;;3711:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3835:51;3869:16;3835:7;:19;3843:10;3835:19;;;;;;;;;;;;;;;:29;3855:8;3835:29;;;;;;;;;;;;;;;;:33;;:51;;;;:::i;:::-;3803:7;:19;3811:10;3803:19;;;;;;;;;;;;;;;:29;3823:8;3803:29;;;;;;;;;;;;;;;:83;;;;3918:8;3897:61;;3906:10;3897:61;;;3928:7;:19;3936:10;3928:19;;;;;;;;;;;;;;;:29;3948:8;3928:29;;;;;;;;;;;;;;;;3897:61;;;;;;;;;;;;;;;;;;3971:4;3964:11;;3616:364;;;;:::o;1006:116:0:-;1071:15;1101:8;:16;1110:6;1101:16;;;;;;;;;;;;;;;;1094:23;;1006:116;;;:::o;338:37:3:-;;;;;;;;;;;;;:::o;1784:84::-;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;1856:5:3::1;1836:17;;:25;;;;;;;;;;;;;;;;;;1784:84::o:0;1161:140:4:-;1220:4;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;414:15:4::1;;;;;;;;;;;413:16;405:25;;;::::0;::::1;;1250:4:::2;1232:15;;:22;;;;;;;;;;;;;;;;;;1265:14;;;;;;;;;;1292:4;1285:11;;1161:140:::0;:::o;508:318:3:-;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;414:15:4::1;;;;;;;;;;;413:16;405:25;;;::::0;::::1;;620:1:3::2;602:20;;:6;:20;;;;593:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;705:28;726:6;705:8;:16:::0;714:6:::2;705:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;686:8;:16:::0;695:6:::2;686:16;;;;;;;;;;;;;;;:47;;;;758:25;776:6;758:13;:11;:13::i;:::-;:17;;:25;;;;:::i;:::-;743:12;:40;;;;804:6;799:20;;;812:6;799:20;;;;;;;;;;;;;;;;;;508:318:::0;;:::o;269:20:5:-;;;;;;;;;;;;;:::o;251:39:3:-;;;;;;;;;;;;;;;;;;;:::o;1557:221::-;1629:4;1652:17;;;;;;;;;;;:40;;;;1687:5;;;;;;;;;;;1673:19;;:10;:19;;;1652:40;1644:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1744:27;1759:3;1764:6;1744:14;:27::i;:::-;1737:34;;1557:221;;;;:::o;1874:85::-;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;1948:4:3::1;1928:17;;:24;;;;;;;;;;;;;;;;;;1874:85::o:0;2830:354:7:-;2908:4;2949:1;2929:22;;:8;:22;;;;2920:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3044:46;3078:11;3044:7;:19;3052:10;3044:19;;;;;;;;;;;;;;;:29;3064:8;3044:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;3012:7;:19;3020:10;3012:19;;;;;;;;;;;;;;;:29;3032:8;3012:29;;;;;;;;;;;;;;;:78;;;;3122:8;3101:61;;3110:10;3101:61;;;3132:7;:19;3140:10;3132:19;;;;;;;;;;;;;;;:29;3152:8;3132:29;;;;;;;;;;;;;;;;3101:61;;;;;;;;;;;;;;;;;;3175:4;3168:11;;2830:354;;;;:::o;2270:135::-;2353:7;2375;:15;2383:6;2375:15;;;;;;;;;;;;;;;:25;2391:8;2375:25;;;;;;;;;;;;;;;;2368:32;;2270:135;;;;:::o;858:234:5:-;679:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;954:1:::1;934:22;;:8;:22;;;;926:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1056:8;1028:37;;1049:5;;;;;;;;;;;1028:37;;;;;;;;;;;;1079:8;1071:5;;:16;;;;;;;;;;;;;;;;;;858:234:::0;:::o;594:517:7:-;693:4;728:1;713:17;;:3;:17;;;;705:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;822:1;805:19;;:5;:19;;;;796:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;902:27;922:6;902:8;:15;911:5;902:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;884:8;:15;893:5;884:15;;;;;;;;;;;;;;;:45;;;;951:25;969:6;951:8;:13;960:3;951:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;935:8;:13;944:3;935:13;;;;;;;;;;;;;;;:41;;;;1011:38;1042:6;1011:7;:14;1019:5;1011:14;;;;;;;;;;;;;;;:26;1026:10;1011:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;982:7;:14;990:5;982:14;;;;;;;;;;;;;;;:26;997:10;982:26;;;;;;;;;;;;;;;:67;;;;1077:3;1061:28;;1070:5;1061:28;;;1082:6;1061:28;;;;;;;;;;;;;;;;;;1102:4;1095:11;;594:517;;;;;:::o;1146:158:6:-;1204:7;1219:9;1235:1;1231;:5;1219:17;;1255:1;1250;:6;;1242:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:1;1291:8;;;1146:158;;;;:::o;678:369:4:-;764:4;679:5:5;;;;;;;;;;;665:19;;:10;:19;;;657:28;;;;;;414:15:4::1;;;;;;;;;;;413:16;405:25;;;::::0;::::1;;800:1:::2;785:17;;:3;:17;;;;776:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;878:25;895:7;878:12;;:16;;:25;;;;:::i;:::-;863:12;:40;;;;925:26;943:7;925:8;:13:::0;934:3:::2;925:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;909:8;:13:::0;918:3:::2;909:13;;;;;;;;;;;;;;;:42;;;;967:3;962:18;;;972:7;962:18;;;;;;;;;;;;;;;;;;1012:3;991:34;;1008:1;991:34;;;1017:7;991:34;;;;;;;;;;;;;;;;;;1038:4;1031:11;;678:369:::0;;;;:::o;945:139:6:-;1003:7;1031:1;1026;:6;;1018:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1078:1;1074;:5;1067:12;;945:139;;;;:::o;653:348:0:-;725:4;760:1;745:17;;:3;:17;;;;737:26;;;;;;856:32;881:6;856:8;:20;865:10;856:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;833:8;:20;842:10;833:20;;;;;;;;;;;;;;;:55;;;;910:25;928:6;910:8;:13;919:3;910:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;894:8;:13;903:3;894:13;;;;;;;;;;;;;;;:41;;;;967:3;946:33;;955:10;946:33;;;972:6;946:33;;;;;;;;;;;;;;;;;;992:4;985:11;;653:348;;;;:::o

Swarm Source

ipfs://3254a6329b9687cf32e33e9520f9583e30ff980c03d0d85300c5f9c55ac59035
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.