ETH Price: $2,657.03 (+2.02%)

Token

Hermes (HMX)
 

Overview

Max Total Supply

14,817,935.630461542307923986 HMX

Holders

447 (0.00%)

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH (-3.33%)

Onchain Market Cap

$5,186.87

Circulating Supply Market Cap

$29,014.00

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Hermes DAO is a decentralized fund for investments in crypto assets managed by Hermes DAO Parliament and the community.

Market

Volume (24H):$67.39
Market Capitalization:$29,014.00
Circulating Supply:82,813,654.00 HMX
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MasterToken

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Apache-2.0 license

Contract Source Code (Solidity Multiple files format)

File 6 of 7: MasterToken.sol
// SPDX-License-Identifier: Apache License 2.0

pragma solidity 0.8.17;

import "./ERC20Detailed.sol";
import "./ERC20Burnable.sol";
import "./Ownable.sol";

contract MasterToken is ERC20Burnable, ERC20Detailed, Ownable {
    bytes32 public _sidechainAssetId;

    /**
     * @dev Constructor that gives the specified address all of existing tokens.
     */
    constructor(
        string memory name,
        string memory symbol,
        uint8 decimals,
        address beneficiary,
        uint256 supply,
        bytes32 sidechainAssetId
    ) ERC20Detailed(name, symbol, decimals) {
        _sidechainAssetId = sidechainAssetId;
        _mint(beneficiary, supply);
    }

    fallback() external {
        revert();
    }

    function mintTokens(address beneficiary, uint256 amount) public onlyOwner {
        _mint(beneficiary, amount);
    }
}

File 1 of 7: Address.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.5.0) (utils/Address.sol)

pragma solidity 0.8.17;

/**
 * @dev Collection of functions related to the address type
 */
library Address {
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     *
     * [IMPORTANT]
     * ====
     * You shouldn't rely on `isContract` to protect against flash loan attacks!
     *
     * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets
     * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract
     * constructor.
     * ====
     */
    function isContract(address account) internal view returns (bool) {
        // This method relies on extcodesize/address.code.length, which returns 0
        // for contracts in construction, since the code is only stored at the end
        // of the constructor execution.

        return account.code.length > 0;
    }

    /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
    function sendValue(address payable recipient, uint256 amount) internal {
        require(
            address(this).balance >= amount,
            "Address: insufficient balance"
        );

        (bool success, ) = recipient.call{value: amount}("");
        require(
            success,
            "Address: unable to send value, recipient may have reverted"
        );
    }

    /**
     * @dev Performs a Solidity function call using a low level `call`. A
     * plain `call` is an unsafe replacement for a function call: use this
     * function instead.
     *
     * If `target` reverts with a revert reason, it is bubbled up by this
     * function (like regular Solidity function calls).
     *
     * Returns the raw returned data. To convert to the expected return value,
     * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].
     *
     * Requirements:
     *
     * - `target` must be a contract.
     * - calling `target` with `data` must not revert.
     *
     * _Available since v3.1._
     */
    function functionCall(address target, bytes memory data)
        internal
        returns (bytes memory)
    {
        return functionCall(target, data, "Address: low-level call failed");
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
     * `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value
    ) internal returns (bytes memory) {
        return
            functionCallWithValue(
                target,
                data,
                value,
                "Address: low-level call with value failed"
            );
    }

    /**
     * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
     * with `errorMessage` as a fallback revert reason when `target` reverts.
     *
     * _Available since v3.1._
     */
    function functionCallWithValue(
        address target,
        bytes memory data,
        uint256 value,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(
            address(this).balance >= value,
            "Address: insufficient balance for call"
        );
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{value: value}(
            data
        );
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(address target, bytes memory data)
        internal
        view
        returns (bytes memory)
    {
        return
            functionStaticCall(
                target,
                data,
                "Address: low-level static call failed"
            );
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a static call.
     *
     * _Available since v3.3._
     */
    function functionStaticCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");

        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(address target, bytes memory data)
        internal
        returns (bytes memory)
    {
        return
            functionDelegateCall(
                target,
                data,
                "Address: low-level delegate call failed"
            );
    }

    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
     * but performing a delegate call.
     *
     * _Available since v3.4._
     */
    function functionDelegateCall(
        address target,
        bytes memory data,
        string memory errorMessage
    ) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");

        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }

    /**
     * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the
     * revert reason using the provided one.
     *
     * _Available since v4.3._
     */
    function verifyCallResult(
        bool success,
        bytes memory returndata,
        string memory errorMessage
    ) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            // Look for revert reason and bubble it up if present
            if (returndata.length > 0) {
                // The easiest way to bubble the revert reason is using memory via assembly

                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

File 2 of 7: ERC20.sol
// SPDX-License-Identifier: Apache 2.0

pragma solidity 0.8.17;

import "./IERC20.sol";

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 * Originally based on code by FirstBlood:
 * https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 *
 * 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 {
    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 override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev Gets the balance of the specified address.
     * @param owner The address to query the balance of.
     * @return An uint256 representing the amount owned by the passed address.
     */
    function balanceOf(address owner) public view override 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
        override
        returns (uint256)
    {
        return _allowed[owner][spender];
    }

    /**
     * @dev Transfer token for a specified address
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     */
    function transfer(address to, uint256 value)
        public
        override
        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
        override
        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 override returns (bool) {
        _transfer(from, to, value);
        _approve(from, msg.sender, _allowed[from][msg.sender] - value);
        return true;
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     * approve should be called when allowed_[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * 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] + addedValue
        );
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     * approve should be called when allowed_[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * 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] - 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] - value;
        _balances[to] = _balances[to] + 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 + value;
        _balances[account] = _balances[account] + 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 - value;
        _balances[account] = _balances[account] - 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] - value);
    }
}

File 3 of 7: ERC20Burnable.sol
// SPDX-License-Identifier: Apache 2.0

pragma solidity 0.8.17;

import "./ERC20.sol";

/**
 * @title Burnable Token
 * @dev Token that can be irreversibly burned (destroyed).
 */
contract ERC20Burnable is ERC20 {
    /**
     * @dev Burns a specific amount of tokens.
     * @param value The amount of token to be burned.
     */
    function burn(uint256 value) public {
        _burn(msg.sender, value);
    }

    /**
     * @dev Burns a specific amount of tokens from the target address and decrements allowance
     * @param from address The address which you want to send tokens from
     * @param value uint256 The amount of token to be burned
     */
    function burnFrom(address from, uint256 value) public {
        _burnFrom(from, value);
    }
}

File 4 of 7: ERC20Detailed.sol
// SPDX-License-Identifier: Apache 2.0

pragma solidity 0.8.17;

import "./IERC20.sol";

/**
 * @title ERC20Detailed token
 * @dev The decimals are only for visualization purposes.
 * All the operations are done using the smallest and indivisible token unit,
 * just as on Ethereum all the operations are done in wei.
 */
abstract contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    constructor(
        string memory name_,
        string memory symbol_,
        uint8 decimals_
    ) {
        _name = name_;
        _symbol = symbol_;
        _decimals = decimals_;
    }

    /**
     * @return the name of the token.
     */
    function name() public view returns (string memory) {
        return _name;
    }

    /**
     * @return the symbol of the token.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @return the number of decimals of the token.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

File 5 of 7: IERC20.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;

interface IERC20 {
    function totalSupply() external view returns (uint256);

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

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

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

File 7 of 7: Ownable.sol
// SPDX-License-Identifier: Apache License 2.0

pragma solidity 0.8.17;

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
abstract 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() {
        _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(), "Not owner");
        _;
    }

    /**
     * @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.
     * @notice Renouncing to ownership will leave the contract without an owner.
     * It will not be possible to call the functions with the `onlyOwner`
     * modifier anymore.
     */
    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;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint8","name":"decimals","type":"uint8"},{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"bytes32","name":"sidechainAssetId","type":"bytes32"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"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"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"_sidechainAssetId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"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":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"beneficiary","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintTokens","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","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":[{"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"}]

60806040523480156200001157600080fd5b5060405162000f3938038062000f39833981016040819052620000349162000238565b85858560036200004584826200037f565b5060046200005483826200037f565b5060058054336101009081026001600160a81b031990921660ff9094169390931717908190556040519190046001600160a01b03169250600091507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36006819055620000c58383620000d1565b50505050505062000473565b6001600160a01b038216620000e557600080fd5b80600254620000f591906200044b565b6002556001600160a01b0382166000908152602081905260409020546200011e9082906200044b565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200019b57600080fd5b81516001600160401b0380821115620001b857620001b862000173565b604051601f8301601f19908116603f01168101908282118183101715620001e357620001e362000173565b816040528381526020925086838588010111156200020057600080fd5b600091505b8382101562000224578582018301518183018401529082019062000205565b600093810190920192909252949350505050565b60008060008060008060c087890312156200025257600080fd5b86516001600160401b03808211156200026a57600080fd5b620002788a838b0162000189565b975060208901519150808211156200028f57600080fd5b506200029e89828a0162000189565b955050604087015160ff81168114620002b657600080fd5b60608801519094506001600160a01b0381168114620002d457600080fd5b809350506080870151915060a087015190509295509295509295565b600181811c908216806200030557607f821691505b6020821081036200032657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200037a57600081815260208120601f850160051c81016020861015620003555750805b601f850160051c820191505b81811015620003765782815560010162000361565b5050505b505050565b81516001600160401b038111156200039b576200039b62000173565b620003b381620003ac8454620002f0565b846200032c565b602080601f831160018114620003eb5760008415620003d25750858301515b600019600386901b1c1916600185901b17855562000376565b600085815260208120601f198616915b828110156200041c57888601518255948401946001909101908401620003fb565b50858210156200043b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200046d57634e487b7160e01b600052601160045260246000fd5b92915050565b610ab680620004836000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806379cc6790116100ad578063a9059cbb11610071578063a9059cbb14610269578063dd62ed3e1461027c578063f0dda65c146102b5578063f2fde38b146102c8578063fcec35a9146102db57600080fd5b806379cc6790146101fa5780638da5cb5b1461020d5780638f32d59b1461023657806395d89b411461024e578063a457c2d71461025657600080fd5b8063313ce567116100f4578063313ce5671461018c57806339509351146101a157806342966c68146101b457806370a08231146101c9578063715018a6146101f257600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016757806323b872dd14610179575b600080fd5b61012e6102e4565b60405161013b91906108a9565b60405180910390f35b610157610152366004610913565b610376565b604051901515815260200161013b565b6002545b60405190815260200161013b565b61015761018736600461093d565b61038d565b60055460405160ff909116815260200161013b565b6101576101af366004610913565b6103df565b6101c76101c2366004610979565b610416565b005b61016b6101d7366004610992565b6001600160a01b031660009081526020819052604090205490565b6101c7610423565b6101c7610208366004610913565b6104ab565b60055461010090046001600160a01b03166040516001600160a01b03909116815260200161013b565b60055461010090046001600160a01b03163314610157565b61012e6104b9565b610157610264366004610913565b6104c8565b610157610277366004610913565b6104ff565b61016b61028a3660046109b4565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101c76102c3366004610913565b61050c565b6101c76102d6366004610992565b610545565b61016b60065481565b6060600380546102f3906109e7565b80601f016020809104026020016040519081016040528092919081815260200182805461031f906109e7565b801561036c5780601f106103415761010080835404028352916020019161036c565b820191906000526020600020905b81548152906001019060200180831161034f57829003601f168201915b5050505050905090565b600061038333848461057d565b5060015b92915050565b600061039a848484610605565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546103d59186916103d0908690610a37565b61057d565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103839185906103d0908690610a4a565b61042033826106bd565b50565b60055461010090046001600160a01b0316331461045b5760405162461bcd60e51b815260040161045290610a5d565b60405180910390fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6104b58282610759565b5050565b6060600480546102f3906109e7565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103839185906103d0908690610a37565b6000610383338484610605565b60055461010090046001600160a01b0316331461053b5760405162461bcd60e51b815260040161045290610a5d565b6104b58282610799565b60055461010090046001600160a01b031633146105745760405162461bcd60e51b815260040161045290610a5d565b6104208161082f565b6001600160a01b03821661059057600080fd5b6001600160a01b0383166105a357600080fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821661061857600080fd5b6001600160a01b03831660009081526020819052604090205461063c908290610a37565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461066c908290610a4a565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105f8565b6001600160a01b0382166106d057600080fd5b806002546106de9190610a37565b6002556001600160a01b038216600090815260208190526040902054610705908290610a37565b6001600160a01b03831660008181526020818152604080832094909455925184815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b61076382826106bd565b6001600160a01b0382166000908152600160209081526040808320338085529252909120546104b59184916103d0908590610a37565b6001600160a01b0382166107ac57600080fd5b806002546107ba9190610a4a565b6002556001600160a01b0382166000908152602081905260409020546107e1908290610a4a565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161074d565b6001600160a01b03811661084257600080fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600060208083528351808285015260005b818110156108d6578581018301518582016040015282016108ba565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461090e57600080fd5b919050565b6000806040838503121561092657600080fd5b61092f836108f7565b946020939093013593505050565b60008060006060848603121561095257600080fd5b61095b846108f7565b9250610969602085016108f7565b9150604084013590509250925092565b60006020828403121561098b57600080fd5b5035919050565b6000602082840312156109a457600080fd5b6109ad826108f7565b9392505050565b600080604083850312156109c757600080fd5b6109d0836108f7565b91506109de602084016108f7565b90509250929050565b600181811c908216806109fb57607f821691505b602082108103610a1b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038757610387610a21565b8082018082111561038757610387610a21565b6020808252600990820152682737ba1037bbb732b960b91b60408201526060019056fea2646970667358221220d96a4ac2182a8d03954d54f90ad66e15291264e94cc7145800b0056a32cd4d4564736f6c6343000811003300000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000313416870a4da6f12505a550b67bb73c8e21d5d30000000000000000000000000000000000000000000000000000000000000000002d4e9e03f192cc33b128319a049f353db98fbf4d98f717fd0b7f66a046214200000000000000000000000000000000000000000000000000000000000000064865726d657300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003484d580000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806379cc6790116100ad578063a9059cbb11610071578063a9059cbb14610269578063dd62ed3e1461027c578063f0dda65c146102b5578063f2fde38b146102c8578063fcec35a9146102db57600080fd5b806379cc6790146101fa5780638da5cb5b1461020d5780638f32d59b1461023657806395d89b411461024e578063a457c2d71461025657600080fd5b8063313ce567116100f4578063313ce5671461018c57806339509351146101a157806342966c68146101b457806370a08231146101c9578063715018a6146101f257600080fd5b806306fdde0314610126578063095ea7b31461014457806318160ddd1461016757806323b872dd14610179575b600080fd5b61012e6102e4565b60405161013b91906108a9565b60405180910390f35b610157610152366004610913565b610376565b604051901515815260200161013b565b6002545b60405190815260200161013b565b61015761018736600461093d565b61038d565b60055460405160ff909116815260200161013b565b6101576101af366004610913565b6103df565b6101c76101c2366004610979565b610416565b005b61016b6101d7366004610992565b6001600160a01b031660009081526020819052604090205490565b6101c7610423565b6101c7610208366004610913565b6104ab565b60055461010090046001600160a01b03166040516001600160a01b03909116815260200161013b565b60055461010090046001600160a01b03163314610157565b61012e6104b9565b610157610264366004610913565b6104c8565b610157610277366004610913565b6104ff565b61016b61028a3660046109b4565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101c76102c3366004610913565b61050c565b6101c76102d6366004610992565b610545565b61016b60065481565b6060600380546102f3906109e7565b80601f016020809104026020016040519081016040528092919081815260200182805461031f906109e7565b801561036c5780601f106103415761010080835404028352916020019161036c565b820191906000526020600020905b81548152906001019060200180831161034f57829003601f168201915b5050505050905090565b600061038333848461057d565b5060015b92915050565b600061039a848484610605565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546103d59186916103d0908690610a37565b61057d565b5060019392505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103839185906103d0908690610a4a565b61042033826106bd565b50565b60055461010090046001600160a01b0316331461045b5760405162461bcd60e51b815260040161045290610a5d565b60405180910390fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6104b58282610759565b5050565b6060600480546102f3906109e7565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916103839185906103d0908690610a37565b6000610383338484610605565b60055461010090046001600160a01b0316331461053b5760405162461bcd60e51b815260040161045290610a5d565b6104b58282610799565b60055461010090046001600160a01b031633146105745760405162461bcd60e51b815260040161045290610a5d565b6104208161082f565b6001600160a01b03821661059057600080fd5b6001600160a01b0383166105a357600080fd5b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03821661061857600080fd5b6001600160a01b03831660009081526020819052604090205461063c908290610a37565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461066c908290610a4a565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105f8565b6001600160a01b0382166106d057600080fd5b806002546106de9190610a37565b6002556001600160a01b038216600090815260208190526040902054610705908290610a37565b6001600160a01b03831660008181526020818152604080832094909455925184815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b61076382826106bd565b6001600160a01b0382166000908152600160209081526040808320338085529252909120546104b59184916103d0908590610a37565b6001600160a01b0382166107ac57600080fd5b806002546107ba9190610a4a565b6002556001600160a01b0382166000908152602081905260409020546107e1908290610a4a565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910161074d565b6001600160a01b03811661084257600080fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600060208083528351808285015260005b818110156108d6578581018301518582016040015282016108ba565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461090e57600080fd5b919050565b6000806040838503121561092657600080fd5b61092f836108f7565b946020939093013593505050565b60008060006060848603121561095257600080fd5b61095b846108f7565b9250610969602085016108f7565b9150604084013590509250925092565b60006020828403121561098b57600080fd5b5035919050565b6000602082840312156109a457600080fd5b6109ad826108f7565b9392505050565b600080604083850312156109c757600080fd5b6109d0836108f7565b91506109de602084016108f7565b90509250929050565b600181811c908216806109fb57607f821691505b602082108103610a1b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561038757610387610a21565b8082018082111561038757610387610a21565b6020808252600990820152682737ba1037bbb732b960b91b60408201526060019056fea2646970667358221220d96a4ac2182a8d03954d54f90ad66e15291264e94cc7145800b0056a32cd4d4564736f6c63430008110033

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

00000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000012000000000000000000000000313416870a4da6f12505a550b67bb73c8e21d5d30000000000000000000000000000000000000000000000000000000000000000002d4e9e03f192cc33b128319a049f353db98fbf4d98f717fd0b7f66a046214200000000000000000000000000000000000000000000000000000000000000064865726d657300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003484d580000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): Hermes
Arg [1] : symbol (string): HMX
Arg [2] : decimals (uint8): 18
Arg [3] : beneficiary (address): 0x313416870A4da6F12505a550B67bB73c8E21D5d3
Arg [4] : supply (uint256): 0
Arg [5] : sidechainAssetId (bytes32): 0x002d4e9e03f192cc33b128319a049f353db98fbf4d98f717fd0b7f66a0462142

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000313416870a4da6f12505a550b67bb73c8e21d5d3
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 002d4e9e03f192cc33b128319a049f353db98fbf4d98f717fd0b7f66a0462142
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [7] : 4865726d65730000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [9] : 484d580000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

166:719:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;739:8;;;166:719;;;;;;;;;;;;;;;;;;;;;;;;;;739:8;;;166:719;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;739:8;;;166:719;;;;;;;;;;;;;;;;;;;;;;739:8;;;735:83:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2894:189:1;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:7;;1162:22;1144:41;;1132:2;1117:18;2894:189:1;1004:187:7;936:100:1;1016:12;;936:100;;;1342:25:7;;;1330:2;1315:18;936:100:1;1196:177:7;3556:268:1;;;;;;:::i;:::-;;:::i;1051:83:3:-;1117:9;;1051:83;;1117:9;;;;1853:36:7;;1841:2;1826:18;1051:83:3;1711:184:7;4339:273:1;;;;;;:::i;:::-;;:::i;350:79:2:-;;;;;;:::i;:::-;;:::i;:::-;;1256:115:1;;;;;;:::i;:::-;-1:-1:-1;;;;;1347:16:1;1320:7;1347:16;;;;;;;;;;;;1256:115;1483:140:6;;;:::i;688:95:2:-;;;;;;:::i;:::-;;:::i;757:79:6:-;822:6;;;;;-1:-1:-1;;;;;822:6:6;757:79;;-1:-1:-1;;;;;2440:32:7;;;2422:51;;2410:2;2395:18;757:79:6;2276:203:7;1105:92:6;1183:6;;;;;-1:-1:-1;;;;;1183:6:6;1169:10;:20;1105:92;;885:87:3;;;:::i;5132:283:1:-;;;;;;:::i;:::-;;:::i;2066:181::-;;;;;;:::i;:::-;;:::i;1710:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1859:15:1;;;1827:7;1859:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;1710:181;763:119:5;;;;;;:::i;:::-;;:::i;1800:109:6:-;;;;;;:::i;:::-;;:::i;235:32:5:-;;;;;;735:83:3;772:13;805:5;798:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;735:83;:::o;2894:189:1:-;2995:4;3017:36;3026:10;3038:7;3047:5;3017:8;:36::i;:::-;-1:-1:-1;3071:4:1;2894:189;;;;;:::o;3556:268::-;3678:4;3695:26;3705:4;3711:2;3715:5;3695:9;:26::i;:::-;-1:-1:-1;;;;;3759:14:1;;;;;;:8;:14;;;;;;;;3747:10;3759:26;;;;;;;;;3732:62;;3741:4;;3759:34;;3788:5;;3759:34;:::i;:::-;3732:8;:62::i;:::-;-1:-1:-1;3812:4:1;3556:268;;;;;:::o;4339:273::-;4482:10;4437:4;4529:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;4529:29:1;;;;;;;;;;4437:4;;4459:123;;4507:7;;4529:42;;4561:10;;4529:42;:::i;350:79:2:-;397:24;403:10;415:5;397;:24::i;:::-;350:79;:::o;1483:140:6:-;1183:6;;;;;-1:-1:-1;;;;;1183:6:6;1169:10;:20;961:31;;;;-1:-1:-1;;;961:31:6;;;;;;;:::i;:::-;;;;;;;;;1566:6:::1;::::0;1545:40:::1;::::0;1582:1:::1;::::0;1566:6:::1;::::0;::::1;-1:-1:-1::0;;;;;1566:6:6::1;::::0;1545:40:::1;::::0;1582:1;;1545:40:::1;1596:6;:19:::0;;-1:-1:-1;;;;;;1596:19:6::1;::::0;;1483:140::o;688:95:2:-;753:22;763:4;769:5;753:9;:22::i;:::-;688:95;;:::o;885:87:3:-;924:13;957:7;950:14;;;;;:::i;5132:283:1:-;5280:10;5235:4;5327:20;;;:8;:20;;;;;;;;-1:-1:-1;;;;;5327:29:1;;;;;;;;;;5235:4;;5257:128;;5305:7;;5327:47;;5359:15;;5327:47;:::i;2066:181::-;2163:4;2185:32;2195:10;2207:2;2211:5;2185:9;:32::i;763:119:5:-;1183:6:6;;;;;-1:-1:-1;;;;;1183:6:6;1169:10;:20;961:31;;;;-1:-1:-1;;;961:31:6;;;;;;;:::i;:::-;848:26:5::1;854:11;867:6;848:5;:26::i;1800:109:6:-:0;1183:6;;;;;-1:-1:-1;;;;;1183:6:6;1169:10;:20;961:31;;;;-1:-1:-1;;;961:31:6;;;;;;;:::i;:::-;1873:28:::1;1892:8;1873:18;:28::i;7317:288:1:-:0;-1:-1:-1;;;;;7444:21:1;;7436:30;;;;;;-1:-1:-1;;;;;7485:19:1;;7477:28;;;;;;-1:-1:-1;;;;;7518:15:1;;;;;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;:32;;;7566:31;;1342:25:7;;;7566:31:1;;1315:18:7;7566:31:1;;;;;;;;7317:288;;;:::o;5642:290::-;-1:-1:-1;;;;;5764:16:1;;5756:25;;;;;;-1:-1:-1;;;;;5812:15:1;;:9;:15;;;;;;;;;;;:23;;5830:5;;5812:23;:::i;:::-;-1:-1:-1;;;;;5794:15:1;;;:9;:15;;;;;;;;;;;:41;;;;5862:13;;;;;;;:21;;5878:5;;5862:21;:::i;:::-;-1:-1:-1;;;;;5846:13:1;;;:9;:13;;;;;;;;;;;;:37;;;;5899:25;1342::7;;;5846:13:1;;5899:25;;;;;;1315:18:7;5899:25:1;1196:177:7;6781:263:1;-1:-1:-1;;;;;6856:21:1;;6848:30;;;;;;6921:5;6906:12;;:20;;;;:::i;:::-;6891:12;:35;-1:-1:-1;;;;;6958:18:1;;:9;:18;;;;;;;;;;;:26;;6979:5;;6958:26;:::i;:::-;-1:-1:-1;;;;;6937:18:1;;:9;:18;;;;;;;;;;;:47;;;;7000:36;;1342:25:7;;;6937:9:1;;7000:36;;1315:18:7;7000:36:1;;;;;;;;6781:263;;:::o;8004:179::-;8075:21;8081:7;8090:5;8075;:21::i;:::-;-1:-1:-1;;;;;8137:17:1;;;;;;:8;:17;;;;;;;;8125:10;8137:29;;;;;;;;;8107:68;;8116:7;;8137:37;;8169:5;;8137:37;:::i;6284:263::-;-1:-1:-1;;;;;6359:21:1;;6351:30;;;;;;6424:5;6409:12;;:20;;;;:::i;:::-;6394:12;:35;-1:-1:-1;;;;;6461:18:1;;:9;:18;;;;;;;;;;;:26;;6482:5;;6461:26;:::i;:::-;-1:-1:-1;;;;;6440:18:1;;:9;:18;;;;;;;;;;;:47;;;;6503:36;;1342:25:7;;;6440:18:1;;:9;;6503:36;;1315:18:7;6503:36:1;1196:177:7;2059:187:6;-1:-1:-1;;;;;2133:22:6;;2125:31;;;;;;2193:6;;2172:38;;-1:-1:-1;;;;;2172:38:6;;;;2193:6;;;;;2172:38;;;;;2221:6;:17;;-1:-1:-1;;;;;2221:17:6;;;;;-1:-1:-1;;;;;;2221:17:6;;;;;;;;;2059:187::o;14:548:7:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:7;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:7:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:180::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;-1:-1:-1;2051:23:7;;1900:180;-1:-1:-1;1900:180:7:o;2085:186::-;2144:6;2197:2;2185:9;2176:7;2172:23;2168:32;2165:52;;;2213:1;2210;2203:12;2165:52;2236:29;2255:9;2236:29;:::i;:::-;2226:39;2085:186;-1:-1:-1;;;2085:186:7:o;2484:260::-;2552:6;2560;2613:2;2601:9;2592:7;2588:23;2584:32;2581:52;;;2629:1;2626;2619:12;2581:52;2652:29;2671:9;2652:29;:::i;:::-;2642:39;;2700:38;2734:2;2723:9;2719:18;2700:38;:::i;:::-;2690:48;;2484:260;;;;;:::o;2931:380::-;3010:1;3006:12;;;;3053;;;3074:61;;3128:4;3120:6;3116:17;3106:27;;3074:61;3181:2;3173:6;3170:14;3150:18;3147:38;3144:161;;3227:10;3222:3;3218:20;3215:1;3208:31;3262:4;3259:1;3252:15;3290:4;3287:1;3280:15;3144:161;;2931:380;;;:::o;3316:127::-;3377:10;3372:3;3368:20;3365:1;3358:31;3408:4;3405:1;3398:15;3432:4;3429:1;3422:15;3448:128;3515:9;;;3536:11;;;3533:37;;;3550:18;;:::i;3581:125::-;3646:9;;;3667:10;;;3664:36;;;3680:18;;:::i;3711:332::-;3913:2;3895:21;;;3952:1;3932:18;;;3925:29;-1:-1:-1;;;3985:2:7;3970:18;;3963:39;4034:2;4019:18;;3711:332::o

Swarm Source

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