Token Gold Tether

 

Overview [ERC-20]

Max Total Supply:
0 XAUt

Holders:
325 (0.00%)

Transfers:
-

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

OVERVIEW

Token migration announcement. XAUt token contract has migrated to 0x68749665ff8d2d112fa859aa293f07a622782f38.

# Exchange Pair Price  24H Volume % Volume
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TetherToken

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-01-08
*/

pragma solidity ^0.5.2;

/*

    2020 Tether Token - tether.to
    Deployed by Will Harborne
    
*/

/**
 * @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 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 private _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 () internal {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
     * @return the address of the owner.
     */
    function owner() public view returns (address) {
        return _owner;
    }

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

    /**
     * @return true if `msg.sender` is the owner of the contract.
     */
    function isOwner() public view returns (bool) {
        return msg.sender == _owner;
    }

    /**
     * @dev Allows the current owner to relinquish control of the contract.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     * @notice Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
     * @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 {
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


/**
 * @title ERC20 interface
 * @dev see https://eips.ethereum.org/EIPS/eip-20
 */
interface IERC20 {
    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);

    function totalSupply() external view returns (uint256);

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

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

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

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

/**
 * @title SafeMath
 * @dev Unsigned math operations with safety checks that revert on error
 */
library SafeMath {
    /**
     * @dev Multiplies two unsigned integers, 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 unsigned integers truncating the quotient, reverts on division by zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 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 unsigned integers, 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 unsigned integers, 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 unsigned integers 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://eips.ethereum.org/EIPS/eip-20
 * Originally based on code by FirstBlood:
 * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 *
 * This implementation emits additional Approval events, allowing applications to reconstruct the allowance status for
 * all accounts just by listening to said events. Note that this isn't required by the specification, and other
 * compliant implementations may not do it.
 */
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 A 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 to 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) {
        _approve(msg.sender, spender, value);
        return true;
    }

    /**
     * @dev Transfer tokens from one address to another.
     * Note that while this function emits an Approval event, this is not required as per the specification,
     * and other compliant implementations may not emit the event.
     * @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) {
        _transfer(from, to, value);
        _approve(from, msg.sender, _allowed[from][msg.sender].sub(value));
        return true;
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     * approve should be called when _allowed[msg.sender][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
     * Emits an Approval event.
     * @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) {
        _approve(msg.sender, spender, _allowed[msg.sender][spender].add(addedValue));
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     * approve should be called when _allowed[msg.sender][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
     * Emits an Approval event.
     * @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) {
        _approve(msg.sender, spender, _allowed[msg.sender][spender].sub(subtractedValue));
        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(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 != address(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 != address(0));

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

    /**
     * @dev Approve an address to spend another addresses' tokens.
     * @param owner The address that owns the tokens.
     * @param spender The address that will spend the tokens.
     * @param value The number of tokens that can be spent.
     */
    function _approve(address owner, address spender, uint256 value) internal {
        require(spender != address(0));
        require(owner != address(0));

        _allowed[owner][spender] = value;
        emit Approval(owner, spender, 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.
     * Emits an Approval event (reflecting the reduced allowance).
     * @param account The account whose tokens will be burnt.
     * @param value The amount that will be burnt.
     */
    function _burnFrom(address account, uint256 value) internal {
        _burn(account, value);
        _approve(account, msg.sender, _allowed[account][msg.sender].sub(value));
    }
}

contract UpgradedStandardToken is ERC20 {
    // those methods are called by the legacy contract
    // and they must ensure msg.sender to be the contract address
    uint public _totalSupply;
    function transferByLegacy(address from, address to, uint value) public returns (bool);
    function transferFromByLegacy(address sender, address from, address spender, uint value) public returns (bool);
    function approveByLegacy(address from, address spender, uint value) public returns (bool);
    function increaseApprovalByLegacy(address from, address spender, uint addedValue) public returns (bool);
    function decreaseApprovalByLegacy(address from, address spender, uint subtractedValue) public returns (bool);
}

contract BlackList is Ownable {

    /////// Getter to allow the same blacklist to be used also by other contracts (including upgraded Tether) ///////
    function getBlackListStatus(address _maker) external view returns (bool) {
        return isBlackListed[_maker];
    }

    mapping (address => bool) public isBlackListed;

    function addBlackList (address _evilUser) public onlyOwner {
        isBlackListed[_evilUser] = true;
        emit AddedBlackList(_evilUser);
    }

    function removeBlackList (address _clearedUser) public onlyOwner {
        isBlackListed[_clearedUser] = false;
        emit RemovedBlackList(_clearedUser);
    }

    event AddedBlackList(address indexed _user);

    event RemovedBlackList(address indexed _user);

}

contract StandardTokenWithFees is ERC20, Ownable {

  // Additional variables for use if transaction fees ever became necessary
  uint256 public basisPointsRate = 0;
  uint256 public maximumFee = 0;
  uint256 constant MAX_SETTABLE_BASIS_POINTS = 20;
  uint256 constant MAX_SETTABLE_FEE = 50;

  string public name;
  string public symbol;
  uint8 public decimals;

  uint public constant MAX_UINT = 2**256 - 1;

  function calcFee(uint _value) internal view returns (uint) {
    uint fee = (_value.mul(basisPointsRate)).div(10000);
    if (fee > maximumFee) {
        fee = maximumFee;
    }
    return fee;
  }

  function transfer(address _to, uint _value) public returns (bool) {
    uint fee = calcFee(_value);
    uint sendAmount = _value.sub(fee);

    super.transfer(_to, sendAmount);
    if (fee > 0) {
      super.transfer(owner(), fee);
    }
  }

  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balanceOf(_from));
    require(_value <= allowance(_from, msg.sender));

    uint fee = calcFee(_value);
    uint sendAmount = _value.sub(fee);

    _transfer(_from, _to, sendAmount);
    if (allowance(_from, msg.sender) < MAX_UINT) {
        _approve(_from, msg.sender, allowance(_from, msg.sender).sub(_value));
    }
    if (fee > 0) {
        _transfer(_from, owner(), fee);
    }
    return true;
  }

  function setParams(uint newBasisPoints, uint newMaxFee) public onlyOwner {
      // Ensure transparency by hardcoding limit beyond which fees can never be added
      require(newBasisPoints < MAX_SETTABLE_BASIS_POINTS);
      require(newMaxFee < MAX_SETTABLE_FEE);

      basisPointsRate = newBasisPoints;
      maximumFee = newMaxFee.mul(uint(10)**decimals);

      emit Params(basisPointsRate, maximumFee);
  }

  // Called if contract ever adds fees
  event Params(uint feeBasisPoints, uint maxFee);

}

contract TetherToken is Pausable, StandardTokenWithFees, BlackList {

    address public upgradedAddress;
    bool public deprecated;

    //  The contract can be initialized with a number of tokens
    //  All the tokens are deposited to the owner address
    //
    // @param _balance Initial supply of the contract
    // @param _name Token Name
    // @param _symbol Token symbol
    // @param _decimals Token decimals
    constructor (uint _initialSupply, string memory _name, string memory _symbol, uint8 _decimals) public {
        _mint(owner(), _initialSupply);
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        deprecated = false;
        emit Issue(_initialSupply);
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function transfer(address _to, uint _value) public whenNotPaused returns (bool) {
        require(!isBlackListed[msg.sender]);
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).transferByLegacy(msg.sender, _to, _value);
        } else {
            return super.transfer(_to, _value);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function transferFrom(address _from, address _to, uint _value) public whenNotPaused returns (bool) {
        require(!isBlackListed[_from]);
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).transferFromByLegacy(msg.sender, _from, _to, _value);
        } else {
            return super.transferFrom(_from, _to, _value);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function balanceOf(address who) public view returns (uint) {
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).balanceOf(who);
        } else {
            return super.balanceOf(who);
        }
    }

    // Allow checks of balance at time of deprecation
    function oldBalanceOf(address who) public view returns (uint) {
        if (deprecated) {
            return super.balanceOf(who);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function approve(address _spender, uint _value) public whenNotPaused returns (bool) {
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value);
        } else {
            return super.approve(_spender, _value);
        }
    }

    function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool) {
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).increaseApprovalByLegacy(msg.sender, _spender, _addedValue);
        } else {
            return super.increaseAllowance(_spender, _addedValue);
        }
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool) {
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).decreaseApprovalByLegacy(msg.sender, _spender, _subtractedValue);
        } else {
            return super.decreaseAllowance(_spender, _subtractedValue);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function allowance(address _owner, address _spender) public view returns (uint remaining) {
        if (deprecated) {
            return IERC20(upgradedAddress).allowance(_owner, _spender);
        } else {
            return super.allowance(_owner, _spender);
        }
    }

    // deprecate current contract in favour of a new one
    function deprecate(address _upgradedAddress) public onlyOwner {
        require(_upgradedAddress != address(0));
        deprecated = true;
        upgradedAddress = _upgradedAddress;
        emit Deprecate(_upgradedAddress);
    }

    // deprecate current contract if favour of a new one
    function totalSupply() public view returns (uint) {
        if (deprecated) {
            return IERC20(upgradedAddress).totalSupply();
        } else {
            return super.totalSupply();
        }
    }

    // Issue a new amount of tokens
    // these tokens are deposited into the owner address
    //
    // @param _amount Number of tokens to be issued
    function issue(uint amount) public onlyOwner {
        require(!deprecated);
        _mint(owner(), amount);
        emit Issue(amount);
    }

    // Redeem tokens.
    // These tokens are withdrawn from the owner address
    // if the balance must be enough to cover the redeem
    // or the call will fail.
    // @param _amount Number of tokens to be issued
    function redeem(uint amount) public onlyOwner {
        require(!deprecated);
        _burn(owner(), amount);
        emit Redeem(amount);
    }

    function destroyBlackFunds (address _blackListedUser) public onlyOwner {
        require(isBlackListed[_blackListedUser]);
        uint dirtyFunds = balanceOf(_blackListedUser);
        _burn(_blackListedUser, dirtyFunds);
        emit DestroyedBlackFunds(_blackListedUser, dirtyFunds);
    }

    event DestroyedBlackFunds(address indexed _blackListedUser, uint _balance);

    // Called when new token are issued
    event Issue(uint amount);

    // Called when tokens are redeemed
    event Redeem(uint amount);

    // Called when contract is deprecated
    event Deprecate(address newAddress);

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"uint256","name":"_initialSupply","type":"uint256"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"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":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_blackListedUser","type":"address"},{"indexed":false,"internalType":"uint256","name":"_balance","type":"uint256"}],"name":"DestroyedBlackFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Issue","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":false,"internalType":"uint256","name":"feeBasisPoints","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxFee","type":"uint256"}],"name":"Params","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_user","type":"address"}],"name":"RemovedBlackList","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"constant":true,"inputs":[],"name":"MAX_UINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"basisPointsRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_upgradedAddress","type":"address"}],"name":"deprecate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deprecated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_blackListedUser","type":"address"}],"name":"destroyBlackFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isPauser","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maximumFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"oldBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"newBasisPoints","type":"uint256"},{"internalType":"uint256","name":"newMaxFee","type":"uint256"}],"name":"setParams","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"upgradedAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}]

6080604052600060065560006007553480156200001b57600080fd5b5060405162001f2b38038062001f2b833981810160405260808110156200004157600080fd5b8151602083018051604051929492938301929190846401000000008211156200006957600080fd5b9083019060208201858111156200007f57600080fd5b82516401000000008111828201881017156200009a57600080fd5b82525081516020918201929091019080838360005b83811015620000c9578181015183820152602001620000af565b50505050905090810190601f168015620000f75780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011b57600080fd5b9083019060208201858111156200013157600080fd5b82516401000000008111828201881017156200014c57600080fd5b82525081516020918201929091019080838360005b838110156200017b57818101518382015260200162000161565b50505050905090810190601f168015620001a95780820380516001836020036101000a031916815260200191505b50604052602001519150620001c99050336001600160e01b03620002cc16565b6001805460ff19169055600580546001600160a01b0319163317908190556040516001600160a01b0391909116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a362000246620002366001600160e01b036200031e16565b856001600160e01b036200032e16565b82516200025b90600890602086019062000494565b5081516200027190600990602085019062000494565b50600a805460ff191660ff8316179055600c805460ff60a01b191690556040805185815290517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a916020908290030190a15050505062000536565b620002e7816000620003eb60201b620019351790919060201c565b6040516001600160a01b038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b6005546001600160a01b03165b90565b6001600160a01b0382166200034257600080fd5b6200035e816004546200044460201b620013ef1790919060201c565b6004556001600160a01b03821660009081526002602090815260409091205462000393918390620013ef62000444821b17901c565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b038116620003ff57600080fd5b6200041482826001600160e01b036200045e16565b156200041f57600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6000828201838110156200045757600080fd5b9392505050565b60006001600160a01b0382166200047457600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004d757805160ff191683800117855562000507565b8280016001018555821562000507579182015b8281111562000507578251825591602001919060010190620004ea565b506200051592915062000519565b5090565b6200032b91905b8082111562000515576000815560010162000520565b6119e580620005466000396000f3fe608060405234801561001057600080fd5b50600436106102325760003560e01c806382dc1ec411610130578063cc872b66116100b8578063e47d60601161007c578063e47d606014610651578063e4997dc514610677578063e5b5019a1461069d578063f2fde38b146106a5578063f3bdc228146106cb57610232565b8063cc872b66146105b5578063d73dd623146105d2578063db006a75146105fe578063dd62ed3e1461061b578063dd644f721461064957610232565b806395d89b41116100ff57806395d89b411461050c578063a457c2d714610514578063a9059cbb14610540578063b7a3446c1461056c578063c0324c771461059257610232565b806382dc1ec4146104ce5780638456cb59146104f45780638da5cb5b146104fc5780638f32d59b1461050457610232565b806335390714116101be5780635c975abb116101825780635c975abb14610464578063661884631461046c5780636ef8d66d1461049857806370a08231146104a0578063715018a6146104c657610232565b806335390714146103dc57806339509351146103e45780633f4ba83a1461041057806346fbf68e1461041857806359bf1abe1461043e57610232565b80630ecb93c0116102055780630ecb93c01461032457806318160ddd1461034a57806323b872dd1461036457806326976e3f1461039a578063313ce567146103be57610232565b806306fdde03146102375780630753c30c146102b4578063095ea7b3146102dc5780630e136b191461031c575b600080fd5b61023f6106f1565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610279578181015183820152602001610261565b50505050905090810190601f1680156102a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102da600480360360208110156102ca57600080fd5b50356001600160a01b031661077f565b005b610308600480360360408110156102f257600080fd5b506001600160a01b038135169060200135610806565b604080519115158252519081900360200190f35b6103086108cd565b6102da6004803603602081101561033a57600080fd5b50356001600160a01b03166108dd565b61035261093a565b60408051918252519081900360200190f35b6103086004803603606081101561037a57600080fd5b506001600160a01b038135811691602081013590911690604001356109de565b6103a2610ad5565b604080516001600160a01b039092168252519081900360200190f35b6103c6610ae4565b6040805160ff9092168252519081900360200190f35b610352610aed565b610308600480360360408110156103fa57600080fd5b506001600160a01b038135169060200135610af3565b6102da610b3d565b6103086004803603602081101561042e57600080fd5b50356001600160a01b0316610b9d565b6103086004803603602081101561045457600080fd5b50356001600160a01b0316610bb7565b610308610bd5565b6103086004803603604081101561048257600080fd5b506001600160a01b038135169060200135610bde565b6102da610c69565b610352600480360360208110156104b657600080fd5b50356001600160a01b0316610c74565b6102da610d19565b6102da600480360360208110156104e457600080fd5b50356001600160a01b0316610d74565b6102da610d92565b6103a2610df5565b610308610e04565b61023f610e15565b6103086004803603604081101561052a57600080fd5b506001600160a01b038135169060200135610e70565b6103086004803603604081101561055657600080fd5b506001600160a01b038135169060200135610eac565b6103526004803603602081101561058257600080fd5b50356001600160a01b0316610f54565b6102da600480360360408110156105a857600080fd5b5080359060200135610f72565b6102da600480360360208110156105cb57600080fd5b5035611004565b610308600480360360408110156105e857600080fd5b506001600160a01b038135169060200135611073565b6102da6004803603602081101561061457600080fd5b50356110fe565b6103526004803603604081101561063157600080fd5b506001600160a01b038135811691602001351661116d565b6103526111f5565b6103086004803603602081101561066757600080fd5b50356001600160a01b03166111fb565b6102da6004803603602081101561068d57600080fd5b50356001600160a01b0316611210565b61035261126a565b6102da600480360360208110156106bb57600080fd5b50356001600160a01b0316611270565b6102da600480360360208110156106e157600080fd5b50356001600160a01b031661128a565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107775780601f1061074c57610100808354040283529160200191610777565b820191906000526020600020905b81548152906001019060200180831161075a57829003601f168201915b505050505081565b610787610e04565b61079057600080fd5b6001600160a01b0381166107a357600080fd5b600c8054600160a01b60ff60a01b19909116176001600160a01b0319166001600160a01b03831690811790915560408051918252517fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e916020908290030190a150565b60015460009060ff161561081957600080fd5b600c54600160a01b900460ff16156108ba57600c546040805163aee92d3360e01b81523360048201526001600160a01b038681166024830152604482018690529151919092169163aee92d339160648083019260209291908290030181600087803b15801561088757600080fd5b505af115801561089b573d6000803e3d6000fd5b505050506040513d60208110156108b157600080fd5b505190506108c7565b6108c4838361131a565b90505b92915050565b600c54600160a01b900460ff1681565b6108e5610e04565b6108ee57600080fd5b6001600160a01b0381166000818152600b6020526040808220805460ff19166001179055517f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc9190a250565b600c54600090600160a01b900460ff16156109d057600c60009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561099d57600080fd5b505afa1580156109b1573d6000803e3d6000fd5b505050506040513d60208110156109c757600080fd5b505190506109db565b6109d8611327565b90505b90565b60015460009060ff16156109f157600080fd5b6001600160a01b0384166000908152600b602052604090205460ff1615610a1757600080fd5b600c54600160a01b900460ff1615610ac057600c5460408051638b477adb60e01b81523360048201526001600160a01b03878116602483015286811660448301526064820186905291519190921691638b477adb9160848083019260209291908290030181600087803b158015610a8d57600080fd5b505af1158015610aa1573d6000803e3d6000fd5b505050506040513d6020811015610ab757600080fd5b50519050610ace565b610acb84848461132d565b90505b9392505050565b600c546001600160a01b031681565b600a5460ff1681565b60075481565b3360008181526003602090815260408083206001600160a01b03871684529091528120549091610b34918590610b2f908663ffffffff6113ef16565b611401565b50600192915050565b610b4633610b9d565b610b4f57600080fd5b60015460ff16610b5e57600080fd5b6001805460ff191690556040805133815290517f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa9181900360200190a1565b6000610baf818363ffffffff61148916565b90505b919050565b6001600160a01b03166000908152600b602052604090205460ff1690565b60015460ff1690565b60015460009060ff1615610bf157600080fd5b600c54600160a01b900460ff1615610c5f57600c5460408051636001279f60e01b81523360048201526001600160a01b0386811660248301526044820186905291519190921691636001279f9160648083019260209291908290030181600087803b15801561088757600080fd5b6108c48383610e70565b610c72336114be565b565b600c54600090600160a01b900460ff1615610d0957600c54604080516370a0823160e01b81526001600160a01b038581166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610cd657600080fd5b505afa158015610cea573d6000803e3d6000fd5b505050506040513d6020811015610d0057600080fd5b50519050610bb2565b610d1282611506565b9050610bb2565b610d21610e04565b610d2a57600080fd5b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b610d7d33610b9d565b610d8657600080fd5b610d8f81611521565b50565b610d9b33610b9d565b610da457600080fd5b60015460ff1615610db457600080fd5b6001805460ff1916811790556040805133815290517f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2589181900360200190a1565b6005546001600160a01b031690565b6005546001600160a01b0316331490565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107775780601f1061074c57610100808354040283529160200191610777565b3360008181526003602090815260408083206001600160a01b03871684529091528120549091610b34918590610b2f908663ffffffff61156916565b60015460009060ff1615610ebf57600080fd5b336000908152600b602052604090205460ff1615610edc57600080fd5b600c54600160a01b900460ff1615610f4a57600c546040805163370c4c0560e11b81523360048201526001600160a01b0386811660248301526044820186905291519190921691636e18980a9160648083019260209291908290030181600087803b15801561088757600080fd5b6108c4838361157e565b600c54600090600160a01b900460ff1615610bb257610d1282611506565b610f7a610e04565b610f8357600080fd5b60148210610f9057600080fd5b60328110610f9d57600080fd5b6006829055600a8054610fbc91839160ff16900a63ffffffff6115cc16565b600781905560065460408051918252602082019290925281517fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e929181900390910190a15050565b61100c610e04565b61101557600080fd5b600c54600160a01b900460ff161561102c57600080fd5b61103d611037610df5565b826115f3565b6040805182815290517fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a9181900360200190a150565b60015460009060ff161561108657600080fd5b600c54600160a01b900460ff16156110f457600c546040805163a953815760e01b81523360048201526001600160a01b038681166024830152604482018690529151919092169163a95381579160648083019260209291908290030181600087803b15801561088757600080fd5b6108c48383610af3565b611106610e04565b61110f57600080fd5b600c54600160a01b900460ff161561112657600080fd5b611137611131610df5565b8261169d565b6040805182815290517f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a449181900360200190a150565b600c54600090600160a01b900460ff16156111eb57600c5460408051636eb1769f60e11b81526001600160a01b03868116600483015285811660248301529151919092169163dd62ed3e916044808301926020929190829003018186803b1580156111d757600080fd5b505afa15801561089b573d6000803e3d6000fd5b6108c48383611746565b60065481565b600b6020526000908152604090205460ff1681565b611218610e04565b61122157600080fd5b6001600160a01b0381166000818152600b6020526040808220805460ff19169055517fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9190a250565b60001981565b611278610e04565b61128157600080fd5b610d8f81611771565b611292610e04565b61129b57600080fd5b6001600160a01b0381166000908152600b602052604090205460ff166112c057600080fd5b60006112cb82610c74565b90506112d7828261169d565b6040805182815290516001600160a01b038416917f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6919081900360200190a25050565b6000610b34338484611401565b60045490565b60006001600160a01b03831661134257600080fd5b61134b84610c74565b82111561135757600080fd5b611361843361116d565b82111561136d57600080fd5b6000611378836117e0565b9050600061138c848363ffffffff61156916565b9050611399868683611820565b6000196113a6873361116d565b10156113cb576113cb8633610b2f876113bf8b3361116d565b9063ffffffff61156916565b81156113e3576113e3866113dd610df5565b84611820565b50600195945050505050565b6000828201838110156108c457600080fd5b6001600160a01b03821661141457600080fd5b6001600160a01b03831661142757600080fd5b6001600160a01b03808416600081815260036020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60006001600160a01b03821661149e57600080fd5b506001600160a01b03166000908152602091909152604090205460ff1690565b6114cf60008263ffffffff6118ed16565b6040516001600160a01b038216907fcd265ebaf09df2871cc7bd4133404a235ba12eff2041bb89d9c714a2621c7c7e90600090a250565b6001600160a01b031660009081526002602052604090205490565b61153260008263ffffffff61193516565b6040516001600160a01b038216907f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f890600090a250565b60008282111561157857600080fd5b50900390565b60008061158a836117e0565b9050600061159e848363ffffffff61156916565b90506115aa8582611981565b5081156115c4576115c26115bc610df5565b83611981565b505b505092915050565b6000826115db575060006108c7565b828202828482816115e857fe5b04146108c457600080fd5b6001600160a01b03821661160657600080fd5b600454611619908263ffffffff6113ef16565b6004556001600160a01b038216600090815260026020526040902054611645908263ffffffff6113ef16565b6001600160a01b03831660008181526002602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166116b057600080fd5b6004546116c3908263ffffffff61156916565b6004556001600160a01b0382166000908152600260205260409020546116ef908263ffffffff61156916565b6001600160a01b0383166000818152600260209081526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6001600160a01b03811661178457600080fd5b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b60008061180a6127106117fe600654866115cc90919063ffffffff16565b9063ffffffff61198e16565b9050600754811115610baf575060075492915050565b6001600160a01b03821661183357600080fd5b6001600160a01b03831660009081526002602052604090205461185c908263ffffffff61156916565b6001600160a01b038085166000908152600260205260408082209390935590841681522054611891908263ffffffff6113ef16565b6001600160a01b0380841660008181526002602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b03811661190057600080fd5b61190a8282611489565b61191357600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19169055565b6001600160a01b03811661194857600080fd5b6119528282611489565b1561195c57600080fd5b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b6000610b34338484611820565b600080821161199c57600080fd5b60008284816119a757fe5b0494935050505056fea265627a7a72315820721602efe7577962be32fc1d375c98bb19080213d17c3a79db5fd13dfaa36c5364736f6c634300050c00320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000b476f6c642054657468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045841557400000000000000000000000000000000000000000000000000000000

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

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000b476f6c642054657468657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000045841557400000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _initialSupply (uint256): 0
Arg [1] : _name (string): Gold Tether
Arg [2] : _symbol (string): XAUt
Arg [3] : _decimals (uint8): 6

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000b
Arg [5] : 476f6c6420546574686572000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 5841557400000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

19425:5552:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19425:5552:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17742:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;17742:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23144:236;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23144:236:0;-1:-1:-1;;;;;23144:236:0;;:::i;:::-;;21673:307;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21673:307:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;19538:22;;;:::i;17001:150::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17001:150:0;-1:-1:-1;;;;;17001:150:0;;:::i;23446:214::-;;;:::i;:::-;;;;;;;;;;;;;;;;20673:377;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20673:377:0;;;;;;;;;;;;;;;;;:::i;19501:30::-;;;:::i;:::-;;;;-1:-1:-1;;;;;19501:30:0;;;;;;;;;;;;;;17790:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17611:29;;;:::i;12253:203::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12253:203:0;;;;;;;;:::i;3170:118::-;;;:::i;1442:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1442:109:0;-1:-1:-1;;;;;1442:109:0;;:::i;16818:120::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16818:120:0;-1:-1:-1;;;;;16818:120:0;;:::i;2423:78::-;;;:::i;22346:365::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22346:365:0;;;;;;;;:::i;1659:77::-;;;:::i;21135:240::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21135:240:0;-1:-1:-1;;;;;21135:240:0;;:::i;4741:140::-;;;:::i;1559:92::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1559:92:0;-1:-1:-1;;;;;1559:92:0;;:::i;2959:116::-;;;:::i;3951:79::-;;;:::i;4286:92::-;;;:::i;17765:20::-;;;:::i;12987:213::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;12987:213:0;;;;;;;;:::i;20247:341::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;20247:341:0;;;;;;;;:::i;21438:150::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21438:150:0;-1:-1:-1;;;;;21438:150:0;;:::i;18902:421::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18902:421:0;;;;;;;:::i;23824:146::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23824:146:0;;:::i;21988:350::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;21988:350:0;;;;;;;;:::i;24201:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24201:148:0;;:::i;22796:282::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;22796:282:0;;;;;;;;;;:::i;17572:34::-;;;:::i;16946:46::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16946:46:0;-1:-1:-1;;;;;16946:46:0;;:::i;17159:165::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17159:165:0;-1:-1:-1;;;;;17159:165:0;;:::i;17818:42::-;;;:::i;5058:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5058:109:0;-1:-1:-1;;;;;5058:109:0;;:::i;24357:297::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24357:297:0;-1:-1:-1;;;;;24357:297:0;;:::i;17742:18::-;;;;;;;;;;;;;;;-1:-1:-1;;17742:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;23144:236::-;4163:9;:7;:9::i;:::-;4155:18;;;;;;-1:-1:-1;;;;;23225:30:0;;23217:39;;;;;;23267:10;:17;;-1:-1:-1;;;;;;;23267:17:0;;;;-1:-1:-1;;;;;;23295:34:0;-1:-1:-1;;;;;23295:34:0;;;;;;;;23345:27;;;;;;;;;;;;;;;;;23144:236;:::o;21673:307::-;2660:7;;21751:4;;2660:7;;2659:8;2651:17;;;;;;21772:10;;-1:-1:-1;;;21772:10:0;;;;21768:205;;;21828:15;;21806:84;;;-1:-1:-1;;;21806:84:0;;21861:10;21806:84;;;;-1:-1:-1;;;;;21806:84:0;;;;;;;;;;;;;;;21828:15;;;;;21806:54;;:84;;;;;;;;;;;;;;21828:15;;21806:84;;;5:2:-1;;;;30:1;27;20:12;5:2;21806:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21806:84:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21806:84:0;;-1:-1:-1;21799:91:0;;21768:205;21930:31;21944:8;21954:6;21930:13;:31::i;:::-;21923:38;;21768:205;21673:307;;;;:::o;19538:22::-;;;-1:-1:-1;;;19538:22:0;;;;;:::o;17001:150::-;4163:9;:7;:9::i;:::-;4155:18;;;;;;-1:-1:-1;;;;;17071:24:0;;;;;;:13;:24;;;;;;:31;;-1:-1:-1;;17071:31:0;17098:4;17071:31;;;17118:25;;;17071:24;17118:25;17001:150;:::o;23446:214::-;23511:10;;23490:4;;-1:-1:-1;;;23511:10:0;;;;23507:146;;;23552:15;;;;;;;;;-1:-1:-1;;;;;23552:15:0;-1:-1:-1;;;;;23545:35:0;;:37;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23545:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23545:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23545:37:0;;-1:-1:-1;23538:44:0;;23507:146;23622:19;:17;:19::i;:::-;23615:26;;23507:146;23446:214;:::o;20673:377::-;2660:7;;20766:4;;2660:7;;2659:8;2651:17;;;;;;-1:-1:-1;;;;;20792:20:0;;;;;;:13;:20;;;;;;;;20791:21;20783:30;;;;;;20828:10;;-1:-1:-1;;;20828:10:0;;;;20824:219;;;20884:15;;20862:91;;;-1:-1:-1;;;20862:91:0;;20922:10;20862:91;;;;-1:-1:-1;;;;;20862:91:0;;;;;;;;;;;;;;;;;;;;;;20884:15;;;;;20862:59;;:91;;;;;;;;;;;;;;20884:15;;20862:91;;;5:2:-1;;;;30:1;27;20:12;5:2;20862:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;20862:91:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;20862:91:0;;-1:-1:-1;20855:98:0;;20824:219;20993:38;21012:5;21019:3;21024:6;20993:18;:38::i;:::-;20986:45;;20824:219;20673:377;;;;;:::o;19501:30::-;;;-1:-1:-1;;;;;19501:30:0;;:::o;17790:21::-;;;;;;:::o;17611:29::-;;;;:::o;12253:203::-;12359:10;12333:4;12380:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;12380:29:0;;;;;;;;;;12333:4;;12350:76;;12371:7;;12380:45;;12414:10;12380:45;:33;:45;:::i;:::-;12350:8;:76::i;:::-;-1:-1:-1;12444:4:0;12253:203;;;;:::o;3170:118::-;1393:20;1402:10;1393:8;:20::i;:::-;1385:29;;;;;;2839:7;;;;2831:16;;;;;;3229:7;:15;;-1:-1:-1;;3229:15:0;;;3260:20;;;3269:10;3260:20;;;;;;;;;;;;;3170:118::o;1442:109::-;1498:4;1522:21;1498:4;1535:7;1522:21;:12;:21;:::i;:::-;1515:28;;1442:109;;;;:::o;16818:120::-;-1:-1:-1;;;;;16909:21:0;16885:4;16909:21;;;:13;:21;;;;;;;;;16818:120::o;2423:78::-;2486:7;;;;2423:78;:::o;22346:365::-;2660:7;;22443:4;;2660:7;;2659:8;2651:17;;;;;;22464:10;;-1:-1:-1;;;22464:10:0;;;;22460:244;;;22520:15;;22498:103;;;-1:-1:-1;;;22498:103:0;;22562:10;22498:103;;;;-1:-1:-1;;;;;22498:103:0;;;;;;;;;;;;;;;22520:15;;;;;22498:63;;:103;;;;;;;;;;;;;;22520:15;;22498:103;;;5:2:-1;;;;30:1;27;20:12;22460:244:0;22641:51;22665:8;22675:16;22641:23;:51::i;1659:77::-;1703:25;1717:10;1703:13;:25::i;:::-;1659:77::o;21135:240::-;21209:10;;21188:4;;-1:-1:-1;;;21209:10:0;;;;21205:163;;;21265:15;;21243:53;;;-1:-1:-1;;;21243:53:0;;-1:-1:-1;;;;;21243:53:0;;;;;;;;;21265:15;;;;;21243:48;;:53;;;;;;;;;;;;;;21265:15;21243:53;;;5:2:-1;;;;30:1;27;20:12;5:2;21243:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21243:53:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21243:53:0;;-1:-1:-1;21236:60:0;;21205:163;21336:20;21352:3;21336:15;:20::i;:::-;21329:27;;;;4741:140;4163:9;:7;:9::i;:::-;4155:18;;;;;;4824:6;;4803:40;;4840:1;;-1:-1:-1;;;;;4824:6:0;;4803:40;;4840:1;;4803:40;4854:6;:19;;-1:-1:-1;;;;;;4854:19:0;;;4741:140::o;1559:92::-;1393:20;1402:10;1393:8;:20::i;:::-;1385:29;;;;;;1624:19;1635:7;1624:10;:19::i;:::-;1559:92;:::o;2959:116::-;1393:20;1402:10;1393:8;:20::i;:::-;1385:29;;;;;;2660:7;;;;2659:8;2651:17;;;;;;3029:4;3019:14;;-1:-1:-1;;3019:14:0;;;;;3049:18;;;3056:10;3049:18;;;;;;;;;;;;;2959:116::o;3951:79::-;4016:6;;-1:-1:-1;;;;;4016:6:0;3951:79;:::o;4286:92::-;4364:6;;-1:-1:-1;;;;;4364:6:0;4350:10;:20;;4286:92::o;17765:20::-;;;;;;;;;;;;;;;-1:-1:-1;;17765:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12987:213;13098:10;13072:4;13119:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;13119:29:0;;;;;;;;;;13072:4;;13089:81;;13110:7;;13119:50;;13153:15;13119:50;:33;:50;:::i;20247:341::-;2660:7;;20321:4;;2660:7;;2659:8;2651:17;;;;;;20361:10;20347:25;;;;:13;:25;;;;;;;;20346:26;20338:35;;;;;;20388:10;;-1:-1:-1;;;20388:10:0;;;;20384:197;;;20444:15;;20422:80;;;-1:-1:-1;;;20422:80:0;;20478:10;20422:80;;;;-1:-1:-1;;;;;20422:80:0;;;;;;;;;;;;;;;20444:15;;;;;20422:55;;:80;;;;;;;;;;;;;;20444:15;;20422:80;;;5:2:-1;;;;30:1;27;20:12;20384:197:0;20542:27;20557:3;20562:6;20542:14;:27::i;21438:150::-;21515:10;;21494:4;;-1:-1:-1;;;21515:10:0;;;;21511:70;;;21549:20;21565:3;21549:15;:20::i;18902:421::-;4163:9;:7;:9::i;:::-;4155:18;;;;;;17690:2;19079:14;:42;19071:51;;;;;;17733:2;19139:9;:28;19131:37;;;;;;19179:15;:32;;;19257:8;;;19233:33;;:9;;19257:8;;19247:18;;19233:33;:13;:33;:::i;:::-;19220:10;:46;;;19289:15;;19282:35;;;;;;;;;;;;;;;;;;;;;;;;;;18902:421;;:::o;23824:146::-;4163:9;:7;:9::i;:::-;4155:18;;;;;;23889:10;;-1:-1:-1;;;23889:10:0;;;;23888:11;23880:20;;;;;;23911:22;23917:7;:5;:7::i;:::-;23926:6;23911:5;:22::i;:::-;23949:13;;;;;;;;;;;;;;;;;23824:146;:::o;21988:350::-;2660:7;;22080:4;;2660:7;;2659:8;2651:17;;;;;;22101:10;;-1:-1:-1;;;22101:10:0;;;;22097:234;;;22157:15;;22135:98;;;-1:-1:-1;;;22135:98:0;;22199:10;22135:98;;;;-1:-1:-1;;;;;22135:98:0;;;;;;;;;;;;;;;22157:15;;;;;22135:63;;:98;;;;;;;;;;;;;;22157:15;;22135:98;;;5:2:-1;;;;30:1;27;20:12;22097:234:0;22273:46;22297:8;22307:11;22273:23;:46::i;24201:148::-;4163:9;:7;:9::i;:::-;4155:18;;;;;;24267:10;;-1:-1:-1;;;24267:10:0;;;;24266:11;24258:20;;;;;;24289:22;24295:7;:5;:7::i;:::-;24304:6;24289:5;:22::i;:::-;24327:14;;;;;;;;;;;;;;;;;24201:148;:::o;22796:282::-;22901:10;;22870:14;;-1:-1:-1;;;22901:10:0;;;;22897:174;;;22942:15;;22935:51;;;-1:-1:-1;;;22935:51:0;;-1:-1:-1;;;;;22935:51:0;;;;;;;;;;;;;;;;22942:15;;;;;22935:33;;:51;;;;;;;;;;;;;;22942:15;22935:51;;;5:2:-1;;;;30:1;27;20:12;5:2;22935:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;22897:174:0;23026:33;23042:6;23050:8;23026:15;:33::i;17572:34::-;;;;:::o;16946:46::-;;;;;;;;;;;;;;;:::o;17159:165::-;4163:9;:7;:9::i;:::-;4155:18;;;;;;-1:-1:-1;;;;;17235:27:0;;17265:5;17235:27;;;:13;:27;;;;;;:35;;-1:-1:-1;;17235:35:0;;;17286:30;;;17265:5;17286:30;17159:165;:::o;17818:42::-;-1:-1:-1;;17818:42:0;:::o;5058:109::-;4163:9;:7;:9::i;:::-;4155:18;;;;;;5131:28;5150:8;5131:18;:28::i;24357:297::-;4163:9;:7;:9::i;:::-;4155:18;;;;;;-1:-1:-1;;;;;24447:31:0;;;;;;:13;:31;;;;;;;;24439:40;;;;;;24490:15;24508:27;24518:16;24508:9;:27::i;:::-;24490:45;;24546:35;24552:16;24570:10;24546:5;:35::i;:::-;24597:49;;;;;;;;-1:-1:-1;;;;;24597:49:0;;;;;;;;;;;;;4184:1;24357:297;:::o;10878:148::-;10943:4;10960:36;10969:10;10981:7;10990:5;10960:8;:36::i;9031:91::-;9102:12;;9031:91;:::o;18331:565::-;18413:4;-1:-1:-1;;;;;18434:17:0;;18426:26;;;;;;18477:16;18487:5;18477:9;:16::i;:::-;18467:6;:26;;18459:35;;;;;;18519:28;18529:5;18536:10;18519:9;:28::i;:::-;18509:6;:38;;18501:47;;;;;;18557:8;18568:15;18576:6;18568:7;:15::i;:::-;18557:26;-1:-1:-1;18590:15:0;18608;:6;18557:26;18608:15;:10;:15;:::i;:::-;18590:33;;18632;18642:5;18649:3;18654:10;18632:9;:33::i;:::-;-1:-1:-1;;18676:28:0;18686:5;18693:10;18676:9;:28::i;:::-;:39;18672:133;;;18728:69;18737:5;18744:10;18756:40;18789:6;18756:28;18766:5;18773:10;18756:9;:28::i;:::-;:32;:40;:32;:40;:::i;18728:69::-;18815:7;;18811:62;;18835:30;18845:5;18852:7;:5;:7::i;:::-;18861:3;18835:9;:30::i;:::-;-1:-1:-1;18886:4:0;;18331:565;-1:-1:-1;;;;;18331:565:0:o;7730:150::-;7788:7;7820:5;;;7844:6;;;;7836:15;;;;;15086:254;-1:-1:-1;;;;;15179:21:0;;15171:30;;;;;;-1:-1:-1;;;;;15220:19:0;;15212:28;;;;;;-1:-1:-1;;;;;15253:15:0;;;;;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;:32;;;15301:31;;;;;;;;;;;;;;;;;15086:254;;;:::o;905:165::-;977:4;-1:-1:-1;;;;;1002:21:0;;994:30;;;;;;-1:-1:-1;;;;;;1042:20:0;:11;:20;;;;;;;;;;;;;;;905:165::o;1874:130::-;1934:24;:8;1950:7;1934:24;:15;:24;:::i;:::-;1974:22;;-1:-1:-1;;;;;1974:22:0;;;;;;;;1874:130;:::o;9341:106::-;-1:-1:-1;;;;;9423:16:0;9396:7;9423:16;;;:9;:16;;;;;;;9341:106::o;1744:122::-;1801:21;:8;1814:7;1801:21;:12;:21;:::i;:::-;1838:20;;-1:-1:-1;;;;;1838:20:0;;;;;;;;1744:122;:::o;7492:150::-;7550:7;7583:1;7578;:6;;7570:15;;;;;;-1:-1:-1;7608:5:0;;;7492:150::o;18076:249::-;18136:4;18149:8;18160:15;18168:6;18160:7;:15::i;:::-;18149:26;-1:-1:-1;18182:15:0;18200;:6;18149:26;18200:15;:10;:15;:::i;:::-;18182:33;;18224:31;18239:3;18244:10;18224:14;:31::i;:::-;-1:-1:-1;18266:7:0;;18262:58;;18284:28;18299:7;:5;:7::i;:::-;18308:3;18284:14;:28::i;:::-;;18262:58;18076:249;;;;;;:::o;6483:433::-;6541:7;6785:6;6781:47;;-1:-1:-1;6815:1:0;6808:8;;6781:47;6852:5;;;6856:1;6852;:5;:1;6876:5;;;;;:10;6868:19;;;;;14041:269;-1:-1:-1;;;;;14116:21:0;;14108:30;;;;;;14166:12;;:23;;14183:5;14166:23;:16;:23;:::i;:::-;14151:12;:38;-1:-1:-1;;;;;14221:18:0;;;;;;:9;:18;;;;;;:29;;14244:5;14221:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;14200:18:0;;;;;;:9;:18;;;;;;;;:50;;;;14266:36;;;;;;;14200:18;;;;14266:36;;;;;;;;;;14041:269;;:::o;14544:::-;-1:-1:-1;;;;;14619:21:0;;14611:30;;;;;;14669:12;;:23;;14686:5;14669:23;:16;:23;:::i;:::-;14654:12;:38;-1:-1:-1;;;;;14724:18:0;;;;;;:9;:18;;;;;;:29;;14747:5;14724:29;:22;:29;:::i;:::-;-1:-1:-1;;;;;14703:18:0;;;;;;:9;:18;;;;;;;;:50;;;;14769:36;;;;;;;14703:18;;14769:36;;;;;;;;;;;14544:269;;:::o;9786:131::-;-1:-1:-1;;;;;9885:15:0;;;9858:7;9885:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;9786:131::o;5317:187::-;-1:-1:-1;;;;;5391:22:0;;5383:31;;;;;;5451:6;;5430:38;;-1:-1:-1;;;;;5430:38:0;;;;5451:6;;5430:38;;5451:6;;5430:38;5479:6;:17;;-1:-1:-1;;;;;;5479:17:0;-1:-1:-1;;;;;5479:17:0;;;;;;;;;;5317:187::o;17867:203::-;17920:4;17933:8;17944:40;17978:5;17945:27;17956:15;;17945:6;:10;;:27;;;;:::i;:::-;17944:33;:40;:33;:40;:::i;:::-;17933:51;;18001:10;;17995:3;:16;17991:57;;;-1:-1:-1;18030:10:0;;18061:3;17867:203;-1:-1:-1;;17867:203:0:o;13427:262::-;-1:-1:-1;;;;;13515:16:0;;13507:25;;;;;;-1:-1:-1;;;;;13563:15:0;;;;;;:9;:15;;;;;;:26;;13583:5;13563:26;:19;:26;:::i;:::-;-1:-1:-1;;;;;13545:15:0;;;;;;;:9;:15;;;;;;:44;;;;13616:13;;;;;;;:24;;13634:5;13616:24;:17;:24;:::i;:::-;-1:-1:-1;;;;;13600:13:0;;;;;;;:9;:13;;;;;;;;;:40;;;;13656:25;;;;;;;13600:13;;13656:25;;;;;;;;;;;;;13427:262;;;:::o;622:189::-;-1:-1:-1;;;;;702:21:0;;694:30;;;;;;743:18;747:4;753:7;743:3;:18::i;:::-;735:27;;;;;;-1:-1:-1;;;;;775:20:0;798:5;775:20;;;;;;;;;;;:28;;-1:-1:-1;;775:28:0;;;622:189::o;357:186::-;-1:-1:-1;;;;;434:21:0;;426:30;;;;;;476:18;480:4;486:7;476:3;:18::i;:::-;475:19;467:28;;;;;;-1:-1:-1;;;;;508:20:0;:11;:20;;;;;;;;;;;:27;;-1:-1:-1;;508:27:0;531:4;508:27;;;357:186::o;10091:140::-;10152:4;10169:32;10179:10;10191:2;10195:5;10169:9;:32::i;7051:303::-;7109:7;7208:1;7204;:5;7196:14;;;;;;7221:9;7237:1;7233;:5;;;;;;;7051:303;-1:-1:-1;;;;7051:303:0:o

Swarm Source

bzzr://721602efe7577962be32fc1d375c98bb19080213d17c3a79db5fd13dfaa36c53

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.