ETH Price: $3,389.91 (-1.53%)
Gas: 2 Gwei

Token

Spyro (SPYRO)
 

Overview

Max Total Supply

1,000,000,000,000 SPYRO

Holders

1,658

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
8,739,434.509557780909872661 SPYRO

Value
$0.00
0xc2361c784048c9f6cbb4b53acb583120bf9570f4
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Spyro

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 1000 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-02-06
*/

// Sources flattened with hardhat v2.18.0 https://hardhat.org

// SPDX-License-Identifier: MIT

pragma solidity 0.8.23;

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

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

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

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

    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
    );
}

interface IERC20MetadataSimple is IERC20Simple {
    function name() external view returns (string memory);

    function symbol() external view returns (string memory);

    function decimals() external view returns (uint8);
}

abstract contract ContextSimple {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract ERC20Simple is ContextSimple, IERC20Simple, IERC20MetadataSimple {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(
        address account
    ) public view virtual override returns (uint256) {
        return _balances[account];
    }

    function transfer(
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(
        address owner,
        address spender
    ) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(
        address spender,
        uint256 amount
    ) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        if (currentAllowance != type(uint256).max) {
            require(
                currentAllowance >= amount,
                "ERC20Stake: transfer amount exceeds allowance"
            );
            unchecked {
                _approve(sender, _msgSender(), currentAllowance - amount);
            }
        }

        _transfer(sender, recipient, amount);

        return true;
    }

    function increaseAllowance(
        address spender,
        uint256 addedValue
    ) public virtual returns (bool) {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + addedValue
        );
        return true;
    }

    function decreaseAllowance(
        address spender,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(
            currentAllowance >= subtractedValue,
            "ERC20Stake: decreased allowance below zero"
        );
        unchecked {
            _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20Stake: transfer from the zero address");
        require(recipient != address(0), "ERC20Stake: transfer to the zero address");

        _beforeTokenTransfer(sender, recipient, amount);

        uint256 senderBalance = _balances[sender];
        require(
            senderBalance >= amount,
            "ERC20Stake: transfer amount exceeds balance"
        );
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);

        _afterTokenTransfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20Stake: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20Stake: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20Stake: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);

        _afterTokenTransfer(account, address(0), amount);
    }

    function burn(uint256 amount) public virtual {
        require(_msgSender() != address(0), "ERC20Stake: burn from the zero address");
        require(amount > 0, "ERC20Stake: burn amount exceeds balance");
        require(_balances[_msgSender()] >= amount, "ERC20Stake: burn amount exceeds balance");
        _burn(_msgSender(), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        require(owner != address(0), "ERC20Stake: approve from the zero address");
        require(spender != address(0), "ERC20Stake: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

abstract contract OwnableSimple is ContextSimple {
    address private _owner;

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "OwnableStake: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "OwnableStake: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Spyro is ERC20Simple, OwnableSimple {
    bool public paused = false;

    constructor() ERC20Simple("Spyro","SPYRO") {
        transferOwnership(0x82b3CeA682daA1276d187Ec35c91c6A76daE2309);
        _mint(owner(), 1_000_000_000_000 * (10 ** 18));
        
    }

    function pause(bool state) public onlyOwner {
        paused = state;
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual override {
        require(!paused, "ERC20Stake: token transfer while paused");
        super._beforeTokenTransfer(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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"},{"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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","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":"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":[{"internalType":"bool","name":"state","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","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"}]

60806040526005805460ff60a01b191690553480156200001d575f80fd5b5060405180604001604052806005815260200164537079726f60d81b81525060405180604001604052806005815260200164535059524f60d81b81525081600390816200006b91906200045c565b5060046200007a82826200045c565b5050505f6200008e6200011960201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250905f905f80516020620015a1833981519152908290a350620000e87382b3cea682daa1276d187ec35c91c6a76dae23096200011d565b62000113620000ff6005546001600160a01b031690565b6c0c9f2c9cd04674edea4000000062000240565b6200054e565b3390565b6005546001600160a01b031633146200018b5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b60648201526084015b60405180910390fd5b6001600160a01b038116620001f75760405162461bcd60e51b815260206004820152602b60248201527f4f776e61626c655374616b653a206e6577206f776e657220697320746865207a60448201526a65726f206164647265737360a81b606482015260840162000182565b6005546040516001600160a01b038084169216905f80516020620015a1833981519152905f90a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038216620002a45760405162461bcd60e51b8152602060048201526024808201527f45524332305374616b653a206d696e7420746f20746865207a65726f206164646044820152637265737360e01b606482015260840162000182565b620002b15f83836200033b565b8060025f828254620002c4919062000528565b90915550506001600160a01b0382165f9081526020819052604081208054839290620002f290849062000528565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600554600160a01b900460ff1615620003a75760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20746f6b656e207472616e73666572207768696c65604482015266081c185d5cd95960ca1b606482015260840162000182565b620003ba8383836001600160e01b038416565b505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620003e857607f821691505b6020821081036200040757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620003ba57805f5260205f20601f840160051c81016020851015620004345750805b601f840160051c820191505b8181101562000455575f815560010162000440565b5050505050565b81516001600160401b03811115620004785762000478620003bf565b6200049081620004898454620003d3565b846200040d565b602080601f831160018114620004c6575f8415620004ae5750858301515b5f19600386901b1c1916600185901b17855562000520565b5f85815260208120601f198616915b82811015620004f657888601518255948401946001909101908401620004d5565b50858210156200051457878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b808201808211156200054857634e487b7160e01b5f52601160045260245ffd5b92915050565b611045806200055c5f395ff3fe608060405234801561000f575f80fd5b5060043610610115575f3560e01c80635c975abb116100ad57806395d89b411161007d578063a9059cbb11610063578063a9059cbb14610243578063dd62ed3e14610256578063f2fde38b1461028e575f80fd5b806395d89b4114610228578063a457c2d714610230575f80fd5b80635c975abb146101c957806370a08231146101dd578063715018a6146102055780638da5cb5b1461020d575f80fd5b806323b872dd116100e857806323b872dd14610181578063313ce5671461019457806339509351146101a357806342966c68146101b6575f80fd5b806302329a291461011957806306fdde031461012e578063095ea7b31461014c57806318160ddd1461016f575b5f80fd5b61012c610127366004610e4e565b6102a1565b005b610136610347565b6040516101439190610e74565b60405180910390f35b61015f61015a366004610edb565b6103d7565b6040519015158152602001610143565b6002545b604051908152602001610143565b61015f61018f366004610f03565b6103ed565b60405160128152602001610143565b61015f6101b1366004610edb565b6104b1565b61012c6101c4366004610f3c565b6104ec565b60055461015f90600160a01b900460ff1681565b6101736101eb366004610f53565b6001600160a01b03165f9081526020819052604090205490565b61012c610622565b6005546040516001600160a01b039091168152602001610143565b6101366106e0565b61015f61023e366004610edb565b6106ef565b61015f610251366004610edb565b61079f565b610173610264366004610f6c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61012c61029c366004610f53565b6107ab565b6005546001600160a01b0316331461030e5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b60648201526084015b60405180910390fd5b60058054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606003805461035690610f9d565b80601f016020809104026020016040519081016040528092919081815260200182805461038290610f9d565b80156103cd5780601f106103a4576101008083540402835291602001916103cd565b820191905f5260205f20905b8154815290600101906020018083116103b057829003601f168201915b5050505050905090565b5f6103e33384846108f7565b5060015b92915050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f19811461049b578281101561048e5760405162461bcd60e51b815260206004820152602d60248201527f45524332305374616b653a207472616e7366657220616d6f756e74206578636560448201527f65647320616c6c6f77616e6365000000000000000000000000000000000000006064820152608401610305565b61049b85338584036108f7565b6104a6858585610a50565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916103e39185906104e7908690610fe9565b6108f7565b336105485760405162461bcd60e51b815260206004820152602660248201527f45524332305374616b653a206275726e2066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610305565b5f81116105a75760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b335f908152602081905260409020548111156106155760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b61061f3382610c71565b50565b6005546001600160a01b0316331461068a5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b6064820152608401610305565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b60606004805461035690610f9d565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156107885760405162461bcd60e51b815260206004820152602a60248201527f45524332305374616b653a2064656372656173656420616c6c6f77616e63652060448201527f62656c6f77207a65726f000000000000000000000000000000000000000000006064820152608401610305565b61079533858584036108f7565b5060019392505050565b5f6103e3338484610a50565b6005546001600160a01b031633146108135760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b6064820152608401610305565b6001600160a01b03811661088f5760405162461bcd60e51b815260206004820152602b60248201527f4f776e61626c655374616b653a206e6577206f776e657220697320746865207a60448201527f65726f20616464726573730000000000000000000000000000000000000000006064820152608401610305565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0383166109735760405162461bcd60e51b815260206004820152602960248201527f45524332305374616b653a20617070726f76652066726f6d20746865207a657260448201527f6f206164647265737300000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b0382166109ef5760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20617070726f766520746f20746865207a65726f2060448201527f61646472657373000000000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610acc5760405162461bcd60e51b815260206004820152602a60248201527f45524332305374616b653a207472616e736665722066726f6d20746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038216610b485760405162461bcd60e51b815260206004820152602860248201527f45524332305374616b653a207472616e7366657220746f20746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610305565b610b53838383610dc9565b6001600160a01b0383165f9081526020819052604090205481811015610be15760405162461bcd60e51b815260206004820152602b60248201527f45524332305374616b653a207472616e7366657220616d6f756e74206578636560448201527f6564732062616c616e63650000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610c17908490610fe9565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6391815260200190565b60405180910390a350505050565b6001600160a01b038216610cd65760405162461bcd60e51b815260206004820152602660248201527f45524332305374616b653a206275726e2066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610305565b610ce1825f83610dc9565b6001600160a01b0382165f9081526020819052604090205481811015610d595760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b6001600160a01b0383165f908152602081905260408120838303905560028054849290610d87908490610ffc565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610a43565b600554600160a01b900460ff1615610e495760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20746f6b656e207472616e73666572207768696c6560448201527f20706175736564000000000000000000000000000000000000000000000000006064820152608401610305565b505050565b5f60208284031215610e5e575f80fd5b81358015158114610e6d575f80fd5b9392505050565b5f602080835283518060208501525f5b81811015610ea057858101830151858201604001528201610e84565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ed6575f80fd5b919050565b5f8060408385031215610eec575f80fd5b610ef583610ec0565b946020939093013593505050565b5f805f60608486031215610f15575f80fd5b610f1e84610ec0565b9250610f2c60208501610ec0565b9150604084013590509250925092565b5f60208284031215610f4c575f80fd5b5035919050565b5f60208284031215610f63575f80fd5b610e6d82610ec0565b5f8060408385031215610f7d575f80fd5b610f8683610ec0565b9150610f9460208401610ec0565b90509250929050565b600181811c90821680610fb157607f821691505b602082108103610fcf57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103e7576103e7610fd5565b818103818111156103e7576103e7610fd556fea264697066735822122036575823465540cb1277c31fc2caf8a9189293837511e06209ac0d70400a979364736f6c634300081700338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610115575f3560e01c80635c975abb116100ad57806395d89b411161007d578063a9059cbb11610063578063a9059cbb14610243578063dd62ed3e14610256578063f2fde38b1461028e575f80fd5b806395d89b4114610228578063a457c2d714610230575f80fd5b80635c975abb146101c957806370a08231146101dd578063715018a6146102055780638da5cb5b1461020d575f80fd5b806323b872dd116100e857806323b872dd14610181578063313ce5671461019457806339509351146101a357806342966c68146101b6575f80fd5b806302329a291461011957806306fdde031461012e578063095ea7b31461014c57806318160ddd1461016f575b5f80fd5b61012c610127366004610e4e565b6102a1565b005b610136610347565b6040516101439190610e74565b60405180910390f35b61015f61015a366004610edb565b6103d7565b6040519015158152602001610143565b6002545b604051908152602001610143565b61015f61018f366004610f03565b6103ed565b60405160128152602001610143565b61015f6101b1366004610edb565b6104b1565b61012c6101c4366004610f3c565b6104ec565b60055461015f90600160a01b900460ff1681565b6101736101eb366004610f53565b6001600160a01b03165f9081526020819052604090205490565b61012c610622565b6005546040516001600160a01b039091168152602001610143565b6101366106e0565b61015f61023e366004610edb565b6106ef565b61015f610251366004610edb565b61079f565b610173610264366004610f6c565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b61012c61029c366004610f53565b6107ab565b6005546001600160a01b0316331461030e5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b60648201526084015b60405180910390fd5b60058054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606003805461035690610f9d565b80601f016020809104026020016040519081016040528092919081815260200182805461038290610f9d565b80156103cd5780601f106103a4576101008083540402835291602001916103cd565b820191905f5260205f20905b8154815290600101906020018083116103b057829003601f168201915b5050505050905090565b5f6103e33384846108f7565b5060015b92915050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f19811461049b578281101561048e5760405162461bcd60e51b815260206004820152602d60248201527f45524332305374616b653a207472616e7366657220616d6f756e74206578636560448201527f65647320616c6c6f77616e6365000000000000000000000000000000000000006064820152608401610305565b61049b85338584036108f7565b6104a6858585610a50565b506001949350505050565b335f8181526001602090815260408083206001600160a01b038716845290915281205490916103e39185906104e7908690610fe9565b6108f7565b336105485760405162461bcd60e51b815260206004820152602660248201527f45524332305374616b653a206275726e2066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610305565b5f81116105a75760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b335f908152602081905260409020548111156106155760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b61061f3382610c71565b50565b6005546001600160a01b0316331461068a5760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b6064820152608401610305565b6005546040515f916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805473ffffffffffffffffffffffffffffffffffffffff19169055565b60606004805461035690610f9d565b335f9081526001602090815260408083206001600160a01b0386168452909152812054828110156107885760405162461bcd60e51b815260206004820152602a60248201527f45524332305374616b653a2064656372656173656420616c6c6f77616e63652060448201527f62656c6f77207a65726f000000000000000000000000000000000000000000006064820152608401610305565b61079533858584036108f7565b5060019392505050565b5f6103e3338484610a50565b6005546001600160a01b031633146108135760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c655374616b653a2063616c6c6572206973206e6f74207468652060448201526437bbb732b960d91b6064820152608401610305565b6001600160a01b03811661088f5760405162461bcd60e51b815260206004820152602b60248201527f4f776e61626c655374616b653a206e6577206f776e657220697320746865207a60448201527f65726f20616464726573730000000000000000000000000000000000000000006064820152608401610305565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a36005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b0383166109735760405162461bcd60e51b815260206004820152602960248201527f45524332305374616b653a20617070726f76652066726f6d20746865207a657260448201527f6f206164647265737300000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b0382166109ef5760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20617070726f766520746f20746865207a65726f2060448201527f61646472657373000000000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610acc5760405162461bcd60e51b815260206004820152602a60248201527f45524332305374616b653a207472616e736665722066726f6d20746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038216610b485760405162461bcd60e51b815260206004820152602860248201527f45524332305374616b653a207472616e7366657220746f20746865207a65726f60448201527f20616464726573730000000000000000000000000000000000000000000000006064820152608401610305565b610b53838383610dc9565b6001600160a01b0383165f9081526020819052604090205481811015610be15760405162461bcd60e51b815260206004820152602b60248201527f45524332305374616b653a207472616e7366657220616d6f756e74206578636560448201527f6564732062616c616e63650000000000000000000000000000000000000000006064820152608401610305565b6001600160a01b038085165f90815260208190526040808220858503905591851681529081208054849290610c17908490610fe9565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c6391815260200190565b60405180910390a350505050565b6001600160a01b038216610cd65760405162461bcd60e51b815260206004820152602660248201527f45524332305374616b653a206275726e2066726f6d20746865207a65726f206160448201526564647265737360d01b6064820152608401610305565b610ce1825f83610dc9565b6001600160a01b0382165f9081526020819052604090205481811015610d595760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a206275726e20616d6f756e7420657863656564732060448201526662616c616e636560c81b6064820152608401610305565b6001600160a01b0383165f908152602081905260408120838303905560028054849290610d87908490610ffc565b90915550506040518281525f906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610a43565b600554600160a01b900460ff1615610e495760405162461bcd60e51b815260206004820152602760248201527f45524332305374616b653a20746f6b656e207472616e73666572207768696c6560448201527f20706175736564000000000000000000000000000000000000000000000000006064820152608401610305565b505050565b5f60208284031215610e5e575f80fd5b81358015158114610e6d575f80fd5b9392505050565b5f602080835283518060208501525f5b81811015610ea057858101830151858201604001528201610e84565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610ed6575f80fd5b919050565b5f8060408385031215610eec575f80fd5b610ef583610ec0565b946020939093013593505050565b5f805f60608486031215610f15575f80fd5b610f1e84610ec0565b9250610f2c60208501610ec0565b9150604084013590509250925092565b5f60208284031215610f4c575f80fd5b5035919050565b5f60208284031215610f63575f80fd5b610e6d82610ec0565b5f8060408385031215610f7d575f80fd5b610f8683610ec0565b9150610f9460208401610ec0565b90509250929050565b600181811c90821680610fb157607f821691505b602082108103610fcf57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b808201808211156103e7576103e7610fd5565b818103818111156103e7576103e7610fd556fea264697066735822122036575823465540cb1277c31fc2caf8a9189293837511e06209ac0d70400a979364736f6c63430008170033

Deployed Bytecode Sourcemap

8462:638:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8747:77;;;;;;:::i;:::-;;:::i;:::-;;1994:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2974:194;;;;;;:::i;:::-;;:::i;:::-;;;1470:14:1;;1463:22;1445:41;;1433:2;1418:18;2974:194:0;1305:187:1;2315:108:0;2403:12;;2315:108;;;1643:25:1;;;1631:2;1616:18;2315:108:0;1497:177:1;3176:627:0;;;;;;:::i;:::-;;:::i;2214:93::-;;;2297:2;2154:36:1;;2142:2;2127:18;2214:93:0;2012:184:1;3811:290:0;;;;;;:::i;:::-;;:::i;6411:348::-;;;;;;:::i;:::-;;:::i;8514:26::-;;;;;-1:-1:-1;;;8514:26:0;;;;;;2431:143;;;;;;:::i;:::-;-1:-1:-1;;;;;2548:18:0;2521:7;2548:18;;;;;;;;;;;;2431:143;8013:148;;;:::i;7794:79::-;7859:6;;7794:79;;-1:-1:-1;;;;;7859:6:0;;;2723:74:1;;2711:2;2696:18;7794:79:0;2577:226:1;2102:104:0;;;:::i;4109:480::-;;;;;;:::i;:::-;;:::i;2582:200::-;;;;;;:::i;:::-;;:::i;2790:176::-;;;;;;:::i;:::-;-1:-1:-1;;;;;2931:18:0;;;2904:7;2931:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;2790:176;8169:286;;;;;;:::i;:::-;;:::i;8747:77::-;7921:6;;-1:-1:-1;;;;;7921:6:0;1296:10;7921:22;7913:72;;;;-1:-1:-1;;;7913:72:0;;3275:2:1;7913:72:0;;;3257:21:1;3314:2;3294:18;;;3287:30;3353:34;3333:18;;;3326:62;-1:-1:-1;;;3404:18:1;;;3397:35;3449:19;;7913:72:0;;;;;;;;;8802:6:::1;:14:::0;;;::::1;;-1:-1:-1::0;;;8802:14:0::1;::::0;;;::::1;::::0;;;::::1;::::0;;8747:77::o;1994:100::-;2048:13;2081:5;2074:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1994:100;:::o;2974:194::-;3082:4;3099:39;1296:10;3122:7;3131:6;3099:8;:39::i;:::-;-1:-1:-1;3156:4:0;2974:194;;;;;:::o;3176:627::-;-1:-1:-1;;;;;3360:19:0;;3316:4;3360:19;;;:11;:19;;;;;;;;1296:10;3360:33;;;;;;;;-1:-1:-1;;3408:37:0;;3404:319;;3508:6;3488:16;:26;;3462:133;;;;-1:-1:-1;;;3462:133:0;;4123:2:1;3462:133:0;;;4105:21:1;4162:2;4142:18;;;4135:30;4201:34;4181:18;;;4174:62;4272:15;4252:18;;;4245:43;4305:19;;3462:133:0;3921:409:1;3462:133:0;3639:57;3648:6;1296:10;3689:6;3670:16;:25;3639:8;:57::i;:::-;3735:36;3745:6;3753:9;3764:6;3735:9;:36::i;:::-;-1:-1:-1;3791:4:0;;3176:627;-1:-1:-1;;;;3176:627:0:o;3811:290::-;1296:10;3924:4;4013:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4013:34:0;;;;;;;;;;3924:4;;3941:130;;3991:7;;4013:47;;4050:10;;4013:47;:::i;:::-;3941:8;:130::i;6411:348::-;1296:10;6467:77;;;;-1:-1:-1;;;6467:77:0;;4856:2:1;6467:77:0;;;4838:21:1;4895:2;4875:18;;;4868:30;4934:34;4914:18;;;4907:62;-1:-1:-1;;;4985:18:1;;;4978:36;5031:19;;6467:77:0;4654:402:1;6467:77:0;6572:1;6563:6;:10;6555:62;;;;-1:-1:-1;;;6555:62:0;;5263:2:1;6555:62:0;;;5245:21:1;5302:2;5282:18;;;5275:30;5341:34;5321:18;;;5314:62;-1:-1:-1;;;5392:18:1;;;5385:37;5439:19;;6555:62:0;5061:403:1;6555:62:0;1296:10;6636:9;:23;;;;;;;;;;;:33;-1:-1:-1;6636:33:0;6628:85;;;;-1:-1:-1;;;6628:85:0;;5263:2:1;6628:85:0;;;5245:21:1;5302:2;5282:18;;;5275:30;5341:34;5321:18;;;5314:62;-1:-1:-1;;;5392:18:1;;;5385:37;5439:19;;6628:85:0;5061:403:1;6628:85:0;6724:27;1296:10;6744:6;6724:5;:27::i;:::-;6411:348;:::o;8013:148::-;7921:6;;-1:-1:-1;;;;;7921:6:0;1296:10;7921:22;7913:72;;;;-1:-1:-1;;;7913:72:0;;3275:2:1;7913:72:0;;;3257:21:1;3314:2;3294:18;;;3287:30;3353:34;3333:18;;;3326:62;-1:-1:-1;;;3404:18:1;;;3397:35;3449:19;;7913:72:0;3073:401:1;7913:72:0;8104:6:::1;::::0;8083:40:::1;::::0;8120:1:::1;::::0;-1:-1:-1;;;;;8104:6:0::1;::::0;8083:40:::1;::::0;8120:1;;8083:40:::1;8134:6;:19:::0;;-1:-1:-1;;8134:19:0::1;::::0;;8013:148::o;2102:104::-;2158:13;2191:7;2184:14;;;;;:::i;4109:480::-;1296:10;4227:4;4271:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;4271:34:0;;;;;;;;;;4338:35;;;;4316:127;;;;-1:-1:-1;;;4316:127:0;;5671:2:1;4316:127:0;;;5653:21:1;5710:2;5690:18;;;5683:30;5749:34;5729:18;;;5722:62;5820:12;5800:18;;;5793:40;5850:19;;4316:127:0;5469:406:1;4316:127:0;4479:67;1296:10;4502:7;4530:15;4511:16;:34;4479:8;:67::i;:::-;-1:-1:-1;4577:4:0;;4109:480;-1:-1:-1;;;4109:480:0:o;2582:200::-;2693:4;2710:42;1296:10;2734:9;2745:6;2710:9;:42::i;8169:286::-;7921:6;;-1:-1:-1;;;;;7921:6:0;1296:10;7921:22;7913:72;;;;-1:-1:-1;;;7913:72:0;;3275:2:1;7913:72:0;;;3257:21:1;3314:2;3294:18;;;3287:30;3353:34;3333:18;;;3326:62;-1:-1:-1;;;3404:18:1;;;3397:35;3449:19;;7913:72:0;3073:401:1;7913:72:0;-1:-1:-1;;;;;8272:22:0;::::1;8250:115;;;::::0;-1:-1:-1;;;8250:115:0;;6082:2:1;8250:115:0::1;::::0;::::1;6064:21:1::0;6121:2;6101:18;;;6094:30;6160:34;6140:18;;;6133:62;6231:13;6211:18;;;6204:41;6262:19;;8250:115:0::1;5880:407:1::0;8250:115:0::1;8402:6;::::0;8381:38:::1;::::0;-1:-1:-1;;;;;8381:38:0;;::::1;::::0;8402:6:::1;::::0;8381:38:::1;::::0;8402:6:::1;::::0;8381:38:::1;8430:6;:17:::0;;-1:-1:-1;;8430:17:0::1;-1:-1:-1::0;;;;;8430:17:0;;;::::1;::::0;;;::::1;::::0;;8169:286::o;6767:390::-;-1:-1:-1;;;;;6903:19:0;;6895:73;;;;-1:-1:-1;;;6895:73:0;;6494:2:1;6895:73:0;;;6476:21:1;6533:2;6513:18;;;6506:30;6572:34;6552:18;;;6545:62;6643:11;6623:18;;;6616:39;6672:19;;6895:73:0;6292:405:1;6895:73:0;-1:-1:-1;;;;;6987:21:0;;6979:73;;;;-1:-1:-1;;;6979:73:0;;6904:2:1;6979:73:0;;;6886:21:1;6943:2;6923:18;;;6916:30;6982:34;6962:18;;;6955:62;7053:9;7033:18;;;7026:37;7080:19;;6979:73:0;6702:403:1;6979:73:0;-1:-1:-1;;;;;7065:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7117:32;;1643:25:1;;;7117:32:0;;1616:18:1;7117:32:0;;;;;;;;6767:390;;;:::o;4597:785::-;-1:-1:-1;;;;;4737:20:0;;4729:75;;;;-1:-1:-1;;;4729:75:0;;7312:2:1;4729:75:0;;;7294:21:1;7351:2;7331:18;;;7324:30;7390:34;7370:18;;;7363:62;7461:12;7441:18;;;7434:40;7491:19;;4729:75:0;7110:406:1;4729:75:0;-1:-1:-1;;;;;4823:23:0;;4815:76;;;;-1:-1:-1;;;4815:76:0;;7723:2:1;4815:76:0;;;7705:21:1;7762:2;7742:18;;;7735:30;7801:34;7781:18;;;7774:62;7872:10;7852:18;;;7845:38;7900:19;;4815:76:0;7521:404:1;4815:76:0;4904:47;4925:6;4933:9;4944:6;4904:20;:47::i;:::-;-1:-1:-1;;;;;4988:17:0;;4964:21;4988:17;;;;;;;;;;;5038:23;;;;5016:116;;;;-1:-1:-1;;;5016:116:0;;8132:2:1;5016:116:0;;;8114:21:1;8171:2;8151:18;;;8144:30;8210:34;8190:18;;;8183:62;8281:13;8261:18;;;8254:41;8312:19;;5016:116:0;7930:407:1;5016:116:0;-1:-1:-1;;;;;5168:17:0;;;:9;:17;;;;;;;;;;;5188:22;;;5168:42;;5232:20;;;;;;;;:30;;5204:6;;5168:9;5232:30;;5204:6;;5232:30;:::i;:::-;;;;;;;;5297:9;-1:-1:-1;;;;;5280:35:0;5289:6;-1:-1:-1;;;;;5280:35:0;;5308:6;5280:35;;;;1643:25:1;;1631:2;1616:18;;1497:177;5280:35:0;;;;;;;;4718:664;4597:785;;;:::o;5802:601::-;-1:-1:-1;;;;;5886:21:0;;5878:72;;;;-1:-1:-1;;;5878:72:0;;4856:2:1;5878:72:0;;;4838:21:1;4895:2;4875:18;;;4868:30;4934:34;4914:18;;;4907:62;-1:-1:-1;;;4985:18:1;;;4978:36;5031:19;;5878:72:0;4654:402:1;5878:72:0;5963:49;5984:7;6001:1;6005:6;5963:20;:49::i;:::-;-1:-1:-1;;;;;6050:18:0;;6025:22;6050:18;;;;;;;;;;;6087:24;;;;6079:76;;;;-1:-1:-1;;;6079:76:0;;5263:2:1;6079:76:0;;;5245:21:1;5302:2;5282:18;;;5275:30;5341:34;5321:18;;;5314:62;-1:-1:-1;;;5392:18:1;;;5385:37;5439:19;;6079:76:0;5061:403:1;6079:76:0;-1:-1:-1;;;;;6191:18:0;;:9;:18;;;;;;;;;;6212:23;;;6191:44;;6257:12;:22;;6229:6;;6191:9;6257:22;;6229:6;;6257:22;:::i;:::-;;;;-1:-1:-1;;6297:37:0;;1643:25:1;;;6323:1:0;;-1:-1:-1;;;;;6297:37:0;;;;;1631:2:1;1616:18;6297:37:0;1497:177:1;8832:265:0;8984:6;;-1:-1:-1;;;8984:6:0;;;;8983:7;8975:59;;;;-1:-1:-1;;;8975:59:0;;8677:2:1;8975:59:0;;;8659:21:1;8716:2;8696:18;;;8689:30;8755:34;8735:18;;;8728:62;8826:9;8806:18;;;8799:37;8853:19;;8975:59:0;8475:403:1;8975:59:0;5867:536;5802:601;;:::o;14:273:1:-;70:6;123:2;111:9;102:7;98:23;94:32;91:52;;;139:1;136;129:12;91:52;178:9;165:23;231:5;224:13;217:21;210:5;207:32;197:60;;253:1;250;243:12;197:60;276:5;14:273;-1:-1:-1;;;14:273:1:o;292:548::-;404:4;433:2;462;451:9;444:21;494:6;488:13;537:6;532:2;521:9;517:18;510:34;562:1;572:140;586:6;583:1;580:13;572:140;;;681:14;;;677:23;;671:30;647:17;;;666:2;643:26;636:66;601:10;;572:140;;;576:3;761:1;756:2;747:6;736:9;732:22;728:31;721:42;831:2;824;820:7;815:2;807:6;803:15;799:29;788:9;784:45;780:54;772:62;;;;292:548;;;;:::o;845:196::-;913:20;;-1:-1:-1;;;;;962:54:1;;952:65;;942:93;;1031:1;1028;1021:12;942:93;845:196;;;:::o;1046:254::-;1114:6;1122;1175:2;1163:9;1154:7;1150:23;1146:32;1143:52;;;1191:1;1188;1181:12;1143:52;1214:29;1233:9;1214:29;:::i;:::-;1204:39;1290:2;1275:18;;;;1262:32;;-1:-1:-1;;;1046:254:1:o;1679:328::-;1756:6;1764;1772;1825:2;1813:9;1804:7;1800:23;1796:32;1793:52;;;1841:1;1838;1831:12;1793:52;1864:29;1883:9;1864:29;:::i;:::-;1854:39;;1912:38;1946:2;1935:9;1931:18;1912:38;:::i;:::-;1902:48;;1997:2;1986:9;1982:18;1969:32;1959:42;;1679:328;;;;;:::o;2201:180::-;2260:6;2313:2;2301:9;2292:7;2288:23;2284:32;2281:52;;;2329:1;2326;2319:12;2281:52;-1:-1:-1;2352:23:1;;2201:180;-1:-1:-1;2201:180:1:o;2386:186::-;2445:6;2498:2;2486:9;2477:7;2473:23;2469:32;2466:52;;;2514:1;2511;2504:12;2466:52;2537:29;2556:9;2537:29;:::i;2808:260::-;2876:6;2884;2937:2;2925:9;2916:7;2912:23;2908:32;2905:52;;;2953:1;2950;2943:12;2905:52;2976:29;2995:9;2976:29;:::i;:::-;2966:39;;3024:38;3058:2;3047:9;3043:18;3024:38;:::i;:::-;3014:48;;2808:260;;;;;:::o;3479:437::-;3558:1;3554:12;;;;3601;;;3622:61;;3676:4;3668:6;3664:17;3654:27;;3622:61;3729:2;3721:6;3718:14;3698:18;3695:38;3692:218;;-1:-1:-1;;;3763:1:1;3756:88;3867:4;3864:1;3857:15;3895:4;3892:1;3885:15;3692:218;;3479:437;;;:::o;4335:184::-;-1:-1:-1;;;4384:1:1;4377:88;4484:4;4481:1;4474:15;4508:4;4505:1;4498:15;4524:125;4589:9;;;4610:10;;;4607:36;;;4623:18;;:::i;8342:128::-;8409:9;;;8430:11;;;8427:37;;;8444:18;;:::i

Swarm Source

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