ETH Price: $2,967.14 (-1.51%)
Gas: 3 Gwei

Token

bonsAI Network (BNSAI)
 

Overview

Max Total Supply

10,000,000 BNSAI

Holders

150 (0.00%)

Market

Price

$0.00 @ 0.000001 ETH (-0.50%)

Onchain Market Cap

$20,565.60

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
119,313.102382059861410008 BNSAI

Value
$245.37 ( ~0.0826959034705395 Eth) [1.1931%]
0x310e0565b3d000ca4bb4c81cb548f132a35a053d
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

bonsAI is a hybrid AI platform that combines blockchain and distributed computing, enabling developers to rent GPUs, integrate AI models, and create dApps within the DePIN network.

Market

Volume (24H):$8.56
Market Capitalization:$0.00
Circulating Supply:0.00 BNSAI
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume
1
Uniswap V2 (Ethereum)
0X401E6D25C2991824299AA5DBE67C82486A64381D-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2$0.0021
0.0000007 Eth
$8.59
4,163.412 0X401E6D25C2991824299AA5DBE67C82486A64381D
100.0000%

Contract Source Code Verified (Exact Match)

Contract Name:
bonsAI

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-04-16
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.25;

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

interface IERC20 {
    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
    );
}

contract Ownable {
    address private _owner;

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

    constructor () {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(isOwner());
        _;
    }

    function isOwner() private view returns (bool) {
        return msg.sender == _owner;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
}


interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract bonsAI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "bonsAI Network";
    string private constant _symbol = "BNSAI";
    uint256 private constant _totalSupply = 10_000_000 * 10**18;
    uint256 public minSwap = 10_000 * 10**18;
    uint256 public maxWalletlimit = 160_000 * 10**18; // 1.6%
    uint256 public maxTxLimit = 160_000 * 10**18; // 1.6%
    uint8 private constant _decimals = 18;
    uint256 MarketingBuytax = 3;
    uint256 MarketingSelltax = 3;
    uint256 DevBuyTax = 2;
    uint256 DevSellTax = 2;
    uint256 public TotalBuyTax;
    uint256 public TotalSellTax;
    address payable public MarketingandDevWallet;

    IUniswapV2Router02 public immutable uniswapV2Router;
    address public immutable uniswapV2Pair;
    address immutable WETH;
    
    uint8 private inSwapAndLiquify;

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        
        TotalBuyTax = MarketingBuytax + DevBuyTax;
        TotalSellTax = MarketingSelltax + DevSellTax;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        MarketingandDevWallet = payable(0xc392C4d82410F63dF10A5c6A6606707DA4d682D9);

        
        _isExcludedFromFees[MarketingandDevWallet] = true;
        _isExcludedFromFees[msg.sender] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[address(uniswapV2Router)] = true;

        _balance[msg.sender] = _totalSupply;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function ExcludeFromFees(address holder, bool exempt) external onlyOwner {
        _isExcludedFromFees[holder] = exempt;
    }

    function ChangeTax(uint256 newTotalBuyTax, uint256 newTotalSellTax) external onlyOwner {
        require(newTotalBuyTax <= 5, "Must keep fees at 10% or less");
        require(newTotalSellTax <= 5, "Must keep fees at 10% or less");
        TotalBuyTax = newTotalBuyTax;
        TotalSellTax = newTotalSellTax;
    }

    function RemoveLimits() external onlyOwner {
        maxWalletlimit = _totalSupply;
        maxTxLimit = _totalSupply;
    }
    
    function ChangeMinSwap(uint256 NewMinSwapAmount) external onlyOwner {
        minSwap = NewMinSwapAmount * 10**18;
    }

    function ChangeMarketingandDevWalletAddress(address newAddress) external onlyOwner() {
        MarketingandDevWallet = payable(newAddress);
    }

    function clearStuckETHBalance() external onlyOwner {
        (bool success,) = payable(msg.sender).call{value: address(this).balance}("");
        require(success);
    }

    function clearStuckToken() external onlyOwner {
        _transfer(address(this), msg.sender, balanceOf(address(this)));
    }


    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");

        uint256 _tax;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            _tax = 0;
        } else {

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                require(balanceOf(to).add(amount) <= maxWalletlimit);
                require(amount <= maxTxLimit, "Buy transfer amount exceeds the maxTxLimit.");
                _tax = TotalBuyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            MarketingandDevWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = TotalSellTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

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":"newAddress","type":"address"}],"name":"ChangeMarketingandDevWalletAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"NewMinSwapAmount","type":"uint256"}],"name":"ChangeMinSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newTotalBuyTax","type":"uint256"},{"internalType":"uint256","name":"newTotalSellTax","type":"uint256"}],"name":"ChangeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"ExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"MarketingandDevWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RemoveLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"TotalBuyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TotalSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":[],"name":"clearStuckETHBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxTxLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletlimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e060405269021e19e0c9bab24000006001556921e19e0c9bab240000006002556921e19e0c9bab24000000600355600360045560036005556002600655600260075534801561004d575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156100df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101039190610327565b6001600160a01b031660c05260065460045461011f9190610354565b6008556007546005546101329190610354565b6009819055506080516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610176573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061019a9190610327565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303815f875af11580156101e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020c9190610327565b6001600160a01b0390811660a052600a80546001600160a01b03191673c392c4d82410f63df10a5c6a6606707da4d682d9179055600d60209081527f2bc1961f5d62720cf31433e2fb6d52f9d392646a3280c5f03d9b7697c5a74a4d805460ff199081166001908117909255335f818152604080822080548516861790553082528082208054851686179055608051909616815285812080549093169093179091558152600b909152206a084595161401484a00000090556102cb3390565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a00000060405161031a91815260200190565b60405180910390a3610379565b5f60208284031215610337575f80fd5b81516001600160a01b038116811461034d575f80fd5b9392505050565b8082018082111561037357634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c0516112a26103b85f395f610cef01525f818161030d01528181610b440152610c2101525f818161022b0152610d4901526112a25ff3fe608060405260043610610198575f3560e01c806374233c06116100e7578063b44b89d211610087578063db5c801011610062578063db5c8010146104c2578063dd62ed3e146104d6578063f1b91d4b1461051a578063f2fde38b1461052f575f80fd5b8063b44b89d214610470578063ce9a0a8f1461048f578063d85a2828146104ae575f80fd5b80638da5cb5b116100c25780638da5cb5b146103e957806395d89b41146104055780639d8f770614610432578063a9059cbb14610451575f80fd5b806374233c06146103a05780638036d590146103bf57806389e40cf9146103d4575f80fd5b8063313ce5671161015257806356cd40e71161012d57806356cd40e71461032f57806359cd90311461034357806370a0823114610358578063715018a61461038c575f80fd5b8063313ce567146102cc57806345307dc8146102e757806349bd5a5e146102fc575f80fd5b806306fdde03146101a3578063095ea7b3146101eb5780631694505e1461021a57806318160ddd1461026557806323b872dd1461028c5780632f6bc9e7146102ab575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b5060408051808201909152600e81526d626f6e734149204e6574776f726b60901b60208201525b6040516101e2919061100c565b60405180910390f35b3480156101f6575f80fd5b5061020a61020536600461105c565b61054e565b60405190151581526020016101e2565b348015610225575f80fd5b5061024d7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e2565b348015610270575f80fd5b506a084595161401484a0000005b6040519081526020016101e2565b348015610297575f80fd5b5061020a6102a6366004611084565b610564565b3480156102b6575f80fd5b506102ca6102c53660046110bd565b6105b4565b005b3480156102d7575f80fd5b50604051601281526020016101e2565b3480156102f2575f80fd5b5061027e60085481565b348015610307575f80fd5b5061024d7f000000000000000000000000000000000000000000000000000000000000000081565b34801561033a575f80fd5b506102ca61067b565b34801561034e575f80fd5b5061027e60015481565b348015610363575f80fd5b5061027e6103723660046110dd565b6001600160a01b03165f908152600b602052604090205490565b348015610397575f80fd5b506102ca6106a6565b3480156103ab575f80fd5b506102ca6103ba3660046110f6565b610703565b3480156103ca575f80fd5b5061027e60035481565b3480156103df575f80fd5b5061027e60025481565b3480156103f4575f80fd5b505f546001600160a01b031661024d565b348015610410575f80fd5b50604080518082019091526005815264424e53414960d81b60208201526101d5565b34801561043d575f80fd5b506102ca61044c36600461110d565b610730565b34801561045c575f80fd5b5061020a61046b36600461105c565b61076f565b34801561047b575f80fd5b50600a5461024d906001600160a01b031681565b34801561049a575f80fd5b506102ca6104a93660046110dd565b61077b565b3480156104b9575f80fd5b506102ca6107b2565b3480156104cd575f80fd5b506102ca6107e4565b3480156104e1575f80fd5b5061027e6104f0366004611146565b6001600160a01b039182165f908152600c6020908152604080832093909416825291909152205490565b348015610525575f80fd5b5061027e60095481565b34801561053a575f80fd5b506102ca6105493660046110dd565b61084d565b5f61055a33848461086b565b5060015b92915050565b5f61057084848461098e565b6001600160a01b0384165f908152600c60209081526040808320338085529252909120546105aa9186916105a590869061118b565b61086b565b5060019392505050565b5f546001600160a01b031633146105c9575f80fd5b600582111561061f5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b60058111156106705760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610616565b600891909155600955565b5f546001600160a01b03163314610690575f80fd5b6a084595161401484a0000006002819055600355565b5f546001600160a01b031633146106bb575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610718575f80fd5b61072a81670de0b6b3a764000061119e565b60015550565b5f546001600160a01b03163314610745575f80fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f61055a33848461098e565b5f546001600160a01b03163314610790575f80fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146107c7575f80fd5b305f818152600b60205260409020546107e29190339061098e565b565b5f546001600160a01b031633146107f9575f80fd5b6040515f90339047908381818185875af1925050503d805f8114610838576040519150601f19603f3d011682016040523d82523d5f602084013e61083d565b606091505b505090508061084a575f80fd5b50565b5f546001600160a01b03163314610862575f80fd5b61084a81610f3c565b6001600160a01b0383166108cd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610616565b6001600160a01b03821661092e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610616565b6001600160a01b038381165f818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109f25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610616565b633b9aca008111610a385760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610616565b6001600160a01b0383165f908152600d602052604081205460ff1680610a7557506001600160a01b0383165f908152600d602052604090205460ff165b15610a8157505f610dd1565b600a54600160a01b900460ff16600103610b42576001600160a01b0384165f908152600b602052604081208054849290610abc90849061118b565b90915550506001600160a01b0383165f908152600b602052604081208054849290610ae89084906111b5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b3491815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610c1f57600254610ba683610ba0866001600160a01b03165f908152600b602052604090205490565b90610fa7565b1115610bb0575f80fd5b600354821115610c165760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b6064820152608401610616565b50600854610dd1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610dce57305f908152600b602052604090205460015481118015610c825750600a54600160a01b900460ff16155b15610dc457600a805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ccd57610ccd6111c8565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610d2157610d216111c8565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b81527f000000000000000000000000000000000000000000000000000000000000000083169263791ac94792610d889287925f92889291169042906004016111dc565b5f604051808303815f87803b158015610d9f575f80fd5b505af1158015610db1573d5f803e3d5ffd5b5050600a805460ff60a01b191690555050505b5050600954610dd1565b505f5b8015610f0f575f6064610de4838561119e565b610dee919061124d565b90505f610dfb828561118b565b6001600160a01b0387165f908152600b6020526040812080549293508692909190610e2790849061118b565b90915550506001600160a01b0385165f908152600b602052604081208054839290610e539084906111b5565b9091555050305f908152600b602052604081208054849290610e769084906111b5565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f0091815260200190565b60405180910390a35050610f36565b6001600160a01b0384165f908152600b602052604081208054849290610abc90849061118b565b50505050565b6001600160a01b038116610f4e575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80610fb383856111b5565b9050838110156110055760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610616565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611057575f80fd5b919050565b5f806040838503121561106d575f80fd5b61107683611041565b946020939093013593505050565b5f805f60608486031215611096575f80fd5b61109f84611041565b92506110ad60208501611041565b9150604084013590509250925092565b5f80604083850312156110ce575f80fd5b50508035926020909101359150565b5f602082840312156110ed575f80fd5b61100582611041565b5f60208284031215611106575f80fd5b5035919050565b5f806040838503121561111e575f80fd5b61112783611041565b91506020830135801515811461113b575f80fd5b809150509250929050565b5f8060408385031215611157575f80fd5b61116083611041565b915061116e60208401611041565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561055e5761055e611177565b808202811582820484141761055e5761055e611177565b8082018082111561055e5761055e611177565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561122c5784516001600160a01b031683529383019391830191600101611207565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261126757634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212203062b72523dd99fbc0426fe04265c2f2507d2ce6363dd517daf6aded342e0bb564736f6c63430008190033

Deployed Bytecode

0x608060405260043610610198575f3560e01c806374233c06116100e7578063b44b89d211610087578063db5c801011610062578063db5c8010146104c2578063dd62ed3e146104d6578063f1b91d4b1461051a578063f2fde38b1461052f575f80fd5b8063b44b89d214610470578063ce9a0a8f1461048f578063d85a2828146104ae575f80fd5b80638da5cb5b116100c25780638da5cb5b146103e957806395d89b41146104055780639d8f770614610432578063a9059cbb14610451575f80fd5b806374233c06146103a05780638036d590146103bf57806389e40cf9146103d4575f80fd5b8063313ce5671161015257806356cd40e71161012d57806356cd40e71461032f57806359cd90311461034357806370a0823114610358578063715018a61461038c575f80fd5b8063313ce567146102cc57806345307dc8146102e757806349bd5a5e146102fc575f80fd5b806306fdde03146101a3578063095ea7b3146101eb5780631694505e1461021a57806318160ddd1461026557806323b872dd1461028c5780632f6bc9e7146102ab575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b5060408051808201909152600e81526d626f6e734149204e6574776f726b60901b60208201525b6040516101e2919061100c565b60405180910390f35b3480156101f6575f80fd5b5061020a61020536600461105c565b61054e565b60405190151581526020016101e2565b348015610225575f80fd5b5061024d7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b0390911681526020016101e2565b348015610270575f80fd5b506a084595161401484a0000005b6040519081526020016101e2565b348015610297575f80fd5b5061020a6102a6366004611084565b610564565b3480156102b6575f80fd5b506102ca6102c53660046110bd565b6105b4565b005b3480156102d7575f80fd5b50604051601281526020016101e2565b3480156102f2575f80fd5b5061027e60085481565b348015610307575f80fd5b5061024d7f000000000000000000000000269642991b63d4f980a406dbd746ae7d92e0742481565b34801561033a575f80fd5b506102ca61067b565b34801561034e575f80fd5b5061027e60015481565b348015610363575f80fd5b5061027e6103723660046110dd565b6001600160a01b03165f908152600b602052604090205490565b348015610397575f80fd5b506102ca6106a6565b3480156103ab575f80fd5b506102ca6103ba3660046110f6565b610703565b3480156103ca575f80fd5b5061027e60035481565b3480156103df575f80fd5b5061027e60025481565b3480156103f4575f80fd5b505f546001600160a01b031661024d565b348015610410575f80fd5b50604080518082019091526005815264424e53414960d81b60208201526101d5565b34801561043d575f80fd5b506102ca61044c36600461110d565b610730565b34801561045c575f80fd5b5061020a61046b36600461105c565b61076f565b34801561047b575f80fd5b50600a5461024d906001600160a01b031681565b34801561049a575f80fd5b506102ca6104a93660046110dd565b61077b565b3480156104b9575f80fd5b506102ca6107b2565b3480156104cd575f80fd5b506102ca6107e4565b3480156104e1575f80fd5b5061027e6104f0366004611146565b6001600160a01b039182165f908152600c6020908152604080832093909416825291909152205490565b348015610525575f80fd5b5061027e60095481565b34801561053a575f80fd5b506102ca6105493660046110dd565b61084d565b5f61055a33848461086b565b5060015b92915050565b5f61057084848461098e565b6001600160a01b0384165f908152600c60209081526040808320338085529252909120546105aa9186916105a590869061118b565b61086b565b5060019392505050565b5f546001600160a01b031633146105c9575f80fd5b600582111561061f5760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c65737300000060448201526064015b60405180910390fd5b60058111156106705760405162461bcd60e51b815260206004820152601d60248201527f4d757374206b656570206665657320617420313025206f72206c6573730000006044820152606401610616565b600891909155600955565b5f546001600160a01b03163314610690575f80fd5b6a084595161401484a0000006002819055600355565b5f546001600160a01b031633146106bb575f80fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610718575f80fd5b61072a81670de0b6b3a764000061119e565b60015550565b5f546001600160a01b03163314610745575f80fd5b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b5f61055a33848461098e565b5f546001600160a01b03163314610790575f80fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b031633146107c7575f80fd5b305f818152600b60205260409020546107e29190339061098e565b565b5f546001600160a01b031633146107f9575f80fd5b6040515f90339047908381818185875af1925050503d805f8114610838576040519150601f19603f3d011682016040523d82523d5f602084013e61083d565b606091505b505090508061084a575f80fd5b50565b5f546001600160a01b03163314610862575f80fd5b61084a81610f3c565b6001600160a01b0383166108cd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610616565b6001600160a01b03821661092e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610616565b6001600160a01b038381165f818152600c602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109f25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610616565b633b9aca008111610a385760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610616565b6001600160a01b0383165f908152600d602052604081205460ff1680610a7557506001600160a01b0383165f908152600d602052604090205460ff165b15610a8157505f610dd1565b600a54600160a01b900460ff16600103610b42576001600160a01b0384165f908152600b602052604081208054849290610abc90849061118b565b90915550506001600160a01b0383165f908152600b602052604081208054849290610ae89084906111b5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b3491815260200190565b60405180910390a350505050565b7f000000000000000000000000269642991b63d4f980a406dbd746ae7d92e074246001600160a01b0316846001600160a01b031603610c1f57600254610ba683610ba0866001600160a01b03165f908152600b602052604090205490565b90610fa7565b1115610bb0575f80fd5b600354821115610c165760405162461bcd60e51b815260206004820152602b60248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526a36b0bc2a3c2634b6b4ba1760a91b6064820152608401610616565b50600854610dd1565b7f000000000000000000000000269642991b63d4f980a406dbd746ae7d92e074246001600160a01b0316836001600160a01b031603610dce57305f908152600b602052604090205460015481118015610c825750600a54600160a01b900460ff16155b15610dc457600a805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610ccd57610ccd6111c8565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610d2157610d216111c8565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d83169263791ac94792610d889287925f92889291169042906004016111dc565b5f604051808303815f87803b158015610d9f575f80fd5b505af1158015610db1573d5f803e3d5ffd5b5050600a805460ff60a01b191690555050505b5050600954610dd1565b505f5b8015610f0f575f6064610de4838561119e565b610dee919061124d565b90505f610dfb828561118b565b6001600160a01b0387165f908152600b6020526040812080549293508692909190610e2790849061118b565b90915550506001600160a01b0385165f908152600b602052604081208054839290610e539084906111b5565b9091555050305f908152600b602052604081208054849290610e769084906111b5565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f0091815260200190565b60405180910390a35050610f36565b6001600160a01b0384165f908152600b602052604081208054849290610abc90849061118b565b50505050565b6001600160a01b038116610f4e575f80fd5b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f80610fb383856111b5565b9050838110156110055760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610616565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114611057575f80fd5b919050565b5f806040838503121561106d575f80fd5b61107683611041565b946020939093013593505050565b5f805f60608486031215611096575f80fd5b61109f84611041565b92506110ad60208501611041565b9150604084013590509250925092565b5f80604083850312156110ce575f80fd5b50508035926020909101359150565b5f602082840312156110ed575f80fd5b61100582611041565b5f60208284031215611106575f80fd5b5035919050565b5f806040838503121561111e575f80fd5b61112783611041565b91506020830135801515811461113b575f80fd5b809150509250929050565b5f8060408385031215611157575f80fd5b61116083611041565b915061116e60208401611041565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561055e5761055e611177565b808202811582820484141761055e5761055e611177565b8082018082111561055e5761055e611177565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561122c5784516001600160a01b031683529383019391830191600101611207565b50506001600160a01b03969096166060850152505050608001529392505050565b5f8261126757634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212203062b72523dd99fbc0426fe04265c2f2507d2ce6363dd517daf6aded342e0bb564736f6c63430008190033

Deployed Bytecode Sourcemap

2723:7486:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4686:83;;;;;;;;;;-1:-1:-1;4756:5:0;;;;;;;;;;;;-1:-1:-1;;;4756:5:0;;;;4686:83;;;;;;;:::i;:::-;;;;;;;;5596:193;;;;;;;;;;-1:-1:-1;5596:193:0;;;;;:::i;:::-;;:::i;:::-;;;1039:14:1;;1032:22;1014:41;;1002:2;987:18;5596:193:0;874:187:1;3441:51:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1256:32:1;;;1238:51;;1226:2;1211:18;3441:51:0;1066:229:1;4963:100:0;;;;;;;;;;-1:-1:-1;2956:19:0;4963:100;;;1446:25:1;;;1434:2;1419:18;4963:100:0;1300:177:1;5797:350:0;;;;;;;;;;-1:-1:-1;5797:350:0;;;;;:::i;:::-;;:::i;6672:320::-;;;;;;;;;;-1:-1:-1;6672:320:0;;;;;:::i;:::-;;:::i;:::-;;4872:83;;;;;;;;;;-1:-1:-1;4872:83:0;;3186:2;2210:36:1;;2198:2;2183:18;4872:83:0;2068:184:1;3321:26:0;;;;;;;;;;;;;;;;3499:38;;;;;;;;;;;;;;;7000:127;;;;;;;;;;;;;:::i;2982:40::-;;;;;;;;;;;;;;;;5071:118;;;;;;;;;;-1:-1:-1;5071:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5164:17:0;5137:7;5164:17;;;:8;:17;;;;;;;5071:118;1530:140;;;;;;;;;;;;;:::i;7139:122::-;;;;;;;;;;-1:-1:-1;7139:122:0;;;;;:::i;:::-;;:::i;3092:44::-;;;;;;;;;;;;;;;;3029:48;;;;;;;;;;;;;;;;1264:79;;;;;;;;;;-1:-1:-1;1302:7:0;1329:6;-1:-1:-1;;;;;1329:6:0;1264:79;;4777:87;;;;;;;;;;-1:-1:-1;4849:7:0;;;;;;;;;;;;-1:-1:-1;;;4849:7:0;;;;4777:87;;6536:128;;;;;;;;;;-1:-1:-1;6536:128:0;;;;;:::i;:::-;;:::i;5197:199::-;;;;;;;;;;-1:-1:-1;5197:199:0;;;;;:::i;:::-;;:::i;3388:44::-;;;;;;;;;;-1:-1:-1;3388:44:0;;;;-1:-1:-1;;;;;3388:44:0;;;7269:147;;;;;;;;;;-1:-1:-1;7269:147:0;;;;;:::i;:::-;;:::i;7605:127::-;;;;;;;;;;;;;:::i;7424:173::-;;;;;;;;;;;;;:::i;5404:184::-;;;;;;;;;;-1:-1:-1;5404:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;5553:18:0;;;5521:7;5553:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5404:184;3354:27;;;;;;;;;;;;;;;;1678:109;;;;;;;;;;-1:-1:-1;1678:109:0;;;;;:::i;:::-;;:::i;5596:193::-;5698:4;5720:39;173:10;5743:7;5752:6;5720:8;:39::i;:::-;-1:-1:-1;5777:4:0;5596:193;;;;;:::o;5797:350::-;5929:4;5946:36;5956:6;5964:9;5975:6;5946:9;:36::i;:::-;-1:-1:-1;;;;;6064:19:0;;;;;;:11;:19;;;;;;;;173:10;6064:33;;;;;;;;;5993:124;;6016:6;;6064:42;;6100:6;;6064:42;:::i;:::-;5993:8;:124::i;:::-;-1:-1:-1;6135:4:0;5797:350;;;;;:::o;6672:320::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;6796:1:::1;6778:14;:19;;6770:61;;;::::0;-1:-1:-1;;;6770:61:0;;4149:2:1;6770:61:0::1;::::0;::::1;4131:21:1::0;4188:2;4168:18;;;4161:30;4227:31;4207:18;;;4200:59;4276:18;;6770:61:0::1;;;;;;;;;6869:1;6850:15;:20;;6842:62;;;::::0;-1:-1:-1;;;6842:62:0;;4149:2:1;6842:62:0::1;::::0;::::1;4131:21:1::0;4188:2;4168:18;;;4161:30;4227:31;4207:18;;;4200:59;4276:18;;6842:62:0::1;3947:353:1::0;6842:62:0::1;6915:11;:28:::0;;;;6954:12:::1;:30:::0;6672:320::o;7000:127::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;2956:19:::1;7054:14;:29:::0;;;7094:10:::1;:25:::0;7000:127::o;1530:140::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;1629:1:::1;1613:6:::0;;1592:40:::1;::::0;-1:-1:-1;;;;;1613:6:0;;::::1;::::0;1592:40:::1;::::0;1629:1;;1592:40:::1;1660:1;1643:19:::0;;-1:-1:-1;;;;;;1643:19:0::1;::::0;;1530:140::o;7139:122::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;7228:25:::1;:16:::0;7247:6:::1;7228:25;:::i;:::-;7218:7;:35:::0;-1:-1:-1;7139:122:0:o;6536:128::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;-1:-1:-1;;;;;6620:27:0;;;::::1;;::::0;;;:19:::1;:27;::::0;;;;:36;;-1:-1:-1;;6620:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;6536:128::o;5197:199::-;5302:4;5324:42;173:10;5348:9;5359:6;5324:9;:42::i;7269:147::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;7365:21:::1;:43:::0;;-1:-1:-1;;;;;;7365:43:0::1;-1:-1:-1::0;;;;;7365:43:0;;;::::1;::::0;;;::::1;::::0;;7269:147::o;7605:127::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;7680:4:::1;5137:7:::0;5164:17;;;:8;:17;;;;;;7662:62:::1;::::0;7680:4;7687:10:::1;::::0;7662:9:::1;:62::i;:::-;7605:127::o:0;7424:173::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;7504:58:::1;::::0;7487:12:::1;::::0;7512:10:::1;::::0;7536:21:::1;::::0;7487:12;7504:58;7487:12;7504:58;7536:21;7512:10;7504:58:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7486:76;;;7581:7;7573:16;;;::::0;::::1;;7475:122;7424:173::o:0;1678:109::-;1470:4;1508:6;-1:-1:-1;;;;;1508:6:0;1494:10;:20;1383:18;;;;;;1751:28:::1;1770:8;1751:18;:28::i;6155:369::-:0;-1:-1:-1;;;;;6282:19:0;;6274:68;;;;-1:-1:-1;;;6274:68:0;;4890:2:1;6274:68:0;;;4872:21:1;4929:2;4909:18;;;4902:30;4968:34;4948:18;;;4941:62;-1:-1:-1;;;5019:18:1;;;5012:34;5063:19;;6274:68:0;4688:400:1;6274:68:0;-1:-1:-1;;;;;6361:21:0;;6353:68;;;;-1:-1:-1;;;6353:68:0;;5295:2:1;6353:68:0;;;5277:21:1;5334:2;5314:18;;;5307:30;5373:34;5353:18;;;5346:62;-1:-1:-1;;;5424:18:1;;;5417:32;5466:19;;6353:68:0;5093:398:1;6353:68:0;-1:-1:-1;;;;;6432:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6484:32;;1446:25:1;;;6484:32:0;;1419:18:1;6484:32:0;;;;;;;6155:369;;;:::o;7742:2427::-;-1:-1:-1;;;;;7864:18:0;;7856:68;;;;-1:-1:-1;;;7856:68:0;;5698:2:1;7856:68:0;;;5680:21:1;5737:2;5717:18;;;5710:30;5776:34;5756:18;;;5749:62;-1:-1:-1;;;5827:18:1;;;5820:35;5872:19;;7856:68:0;5496:401:1;7856:68:0;7952:3;7943:6;:12;7935:41;;;;-1:-1:-1;;;7935:41:0;;6104:2:1;7935:41:0;;;6086:21:1;6143:2;6123:18;;;6116:30;-1:-1:-1;;;6162:18:1;;;6155:46;6218:18;;7935:41:0;5902:340:1;7935:41:0;-1:-1:-1;;;;;8016:25:0;;7989:12;8016:25;;;:19;:25;;;;;;;;;:52;;-1:-1:-1;;;;;;8045:23:0;;;;;;:19;:23;;;;;;;;8016:52;8012:1500;;;-1:-1:-1;8092:1:0;8012:1500;;;8132:16;;-1:-1:-1;;;8132:16:0;;;;8152:1;8132:21;8128:239;;-1:-1:-1;;;;;8209:14:0;;;;;;:8;:14;;;;;:24;;8227:6;;8209:14;:24;;8227:6;;8209:24;:::i;:::-;;;;-1:-1:-1;;;;;;;8252:12:0;;;;;;:8;:12;;;;;:22;;8268:6;;8252:12;:22;;8268:6;;8252:22;:::i;:::-;;;;;;;;8315:2;-1:-1:-1;;;;;8300:26:0;8309:4;-1:-1:-1;;;;;8300:26:0;;8319:6;8300:26;;;;1446:25:1;;1434:2;1419:18;;1300:177;8300:26:0;;;;;;;;8345:7;7742:2427;;;:::o;8128:239::-;8395:13;-1:-1:-1;;;;;8387:21:0;:4;-1:-1:-1;;;;;8387:21:0;;8383:1118;;8466:14;;8437:25;8455:6;8437:13;8447:2;-1:-1:-1;;;;;5164:17:0;5137:7;5164:17;;;:8;:17;;;;;;;5071:118;8437:13;:17;;:25::i;:::-;:43;;8429:52;;;;;;8518:10;;8508:6;:20;;8500:76;;;;-1:-1:-1;;;8500:76:0;;6579:2:1;8500:76:0;;;6561:21:1;6618:2;6598:18;;;6591:30;6657:34;6637:18;;;6630:62;-1:-1:-1;;;6708:18:1;;;6701:41;6759:19;;8500:76:0;6377:407:1;8500:76:0;-1:-1:-1;8602:11:0;;8383:1118;;;8645:13;-1:-1:-1;;;;;8639:19:0;:2;-1:-1:-1;;;;;8639:19:0;;8635:866;;8719:4;8679:20;8702:23;;;:8;:23;;;;;;8763:7;;8748:22;;:47;;;;-1:-1:-1;8774:16:0;;-1:-1:-1;;;8774:16:0;;;;:21;8748:47;8744:655;;;8820:16;:20;;-1:-1:-1;;;;8820:20:0;-1:-1:-1;;;8820:20:0;;;8887:16;;;8901:1;8887:16;;;;;;;;-1:-1:-1;;8887:16:0;;;;;;;;;;-1:-1:-1;8887:16:0;8863:40;;8944:4;8926;8931:1;8926:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;8926:23:0;;;-1:-1:-1;;;;;8926:23:0;;;;;8982:4;8972;8977:1;8972:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8972:14:0;;;:7;;;;;;;;;:14;9242:21;;9009:327;;-1:-1:-1;;;9009:327:0;;:15;:92;;;;;:327;;9132:12;;9175:1;;9207:4;;9242:21;;;9294:15;;9009:327;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9359:16:0;:20;;-1:-1:-1;;;;9359:20:0;;;-1:-1:-1;;;8744:655:0;-1:-1:-1;;9424:12:0;;8635:866;;;-1:-1:-1;9484:1:0;8635:866;9573:9;;9569:593;;9627:17;9665:3;9648:13;9657:4;9648:6;:13;:::i;:::-;9647:21;;;;:::i;:::-;9627:41;-1:-1:-1;9683:22:0;9708:18;9627:41;9708:6;:18;:::i;:::-;-1:-1:-1;;;;;9743:14:0;;;;;;:8;:14;;;;;:24;;9683:43;;-1:-1:-1;9761:6:0;;9743:14;;;:24;;9761:6;;9743:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9782:12:0;;;;;;:8;:12;;;;;:30;;9798:14;;9782:12;:30;;9798:14;;9782:30;:::i;:::-;;;;-1:-1:-1;;9844:4:0;9827:23;;;;:8;:23;;;;;:36;;9854:9;;9827:23;:36;;9854:9;;9827:36;:::i;:::-;;;;-1:-1:-1;;9883:40:0;;1446:25:1;;;9906:4:0;;-1:-1:-1;;;;;9883:40:0;;;;;1434:2:1;1419:18;9883:40:0;;;;;;;9958:2;-1:-1:-1;;;;;9943:34:0;9952:4;-1:-1:-1;;;;;9943:34:0;;9962:14;9943:34;;;;1446:25:1;;1434:2;1419:18;;1300:177;9943:34:0;;;;;;;;9584:405;;9569:593;;;-1:-1:-1;;;;;10041:14:0;;;;;;:8;:14;;;;;:24;;10059:6;;10041:14;:24;;10059:6;;10041:24;:::i;9569:593::-;7845:2324;7742:2427;;;:::o;1795:187::-;-1:-1:-1;;;;;1869:22:0;;1861:31;;;;;;1929:6;;;1908:38;;-1:-1:-1;;;;;1908:38:0;;;;1929:6;;;1908:38;;;1957:6;:17;;-1:-1:-1;;;;;;1957:17:0;-1:-1:-1;;;;;1957:17:0;;;;;;;;;;1795:187::o;2015:181::-;2073:7;;2105:5;2109:1;2105;:5;:::i;:::-;2093:17;;2134:1;2129;:6;;2121:46;;;;-1:-1:-1;;;2121:46:0;;8470:2:1;2121:46:0;;;8452:21:1;8509:2;8489:18;;;8482:30;8548:29;8528:18;;;8521:57;8595:18;;2121:46:0;8268:351:1;2121:46:0;2187:1;2015:181;-1:-1:-1;;;2015:181:0:o;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:173::-;505:20;;-1:-1:-1;;;;;554:31:1;;544:42;;534:70;;600:1;597;590:12;534:70;437:173;;;:::o;615:254::-;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;859:2;844:18;;;;831:32;;-1:-1:-1;;;615:254:1:o;1482:328::-;1559:6;1567;1575;1628:2;1616:9;1607:7;1603:23;1599:32;1596:52;;;1644:1;1641;1634:12;1596:52;1667:29;1686:9;1667:29;:::i;:::-;1657:39;;1715:38;1749:2;1738:9;1734:18;1715:38;:::i;:::-;1705:48;;1800:2;1789:9;1785:18;1772:32;1762:42;;1482:328;;;;;:::o;1815:248::-;1883:6;1891;1944:2;1932:9;1923:7;1919:23;1915:32;1912:52;;;1960:1;1957;1950:12;1912:52;-1:-1:-1;;1983:23:1;;;2053:2;2038:18;;;2025:32;;-1:-1:-1;1815:248:1:o;2465:186::-;2524:6;2577:2;2565:9;2556:7;2552:23;2548:32;2545:52;;;2593:1;2590;2583:12;2545:52;2616:29;2635:9;2616:29;:::i;2656:180::-;2715:6;2768:2;2756:9;2747:7;2743:23;2739:32;2736:52;;;2784:1;2781;2774:12;2736:52;-1:-1:-1;2807:23:1;;2656:180;-1:-1:-1;2656:180:1:o;2841:347::-;2906:6;2914;2967:2;2955:9;2946:7;2942:23;2938:32;2935:52;;;2983:1;2980;2973:12;2935:52;3006:29;3025:9;3006:29;:::i;:::-;2996:39;;3085:2;3074:9;3070:18;3057:32;3132:5;3125:13;3118:21;3111:5;3108:32;3098:60;;3154:1;3151;3144:12;3098:60;3177:5;3167:15;;;2841:347;;;;;:::o;3417:260::-;3485:6;3493;3546:2;3534:9;3525:7;3521:23;3517:32;3514:52;;;3562:1;3559;3552:12;3514:52;3585:29;3604:9;3585:29;:::i;:::-;3575:39;;3633:38;3667:2;3656:9;3652:18;3633:38;:::i;:::-;3623:48;;3417:260;;;;;:::o;3682:127::-;3743:10;3738:3;3734:20;3731:1;3724:31;3774:4;3771:1;3764:15;3798:4;3795:1;3788:15;3814:128;3881:9;;;3902:11;;;3899:37;;;3916:18;;:::i;4305:168::-;4378:9;;;4409;;4426:15;;;4420:22;;4406:37;4396:71;;4447:18;;:::i;6247:125::-;6312:9;;;6333:10;;;6330:36;;;6346:18;;:::i;6921:127::-;6982:10;6977:3;6973:20;6970:1;6963:31;7013:4;7010:1;7003:15;7037:4;7034:1;7027:15;7053:988;7323:4;7371:3;7360:9;7356:19;7402:6;7391:9;7384:25;7428:2;7466:6;7461:2;7450:9;7446:18;7439:34;7509:3;7504:2;7493:9;7489:18;7482:31;7533:6;7568;7562:13;7599:6;7591;7584:22;7637:3;7626:9;7622:19;7615:26;;7676:2;7668:6;7664:15;7650:29;;7697:1;7707:195;7721:6;7718:1;7715:13;7707:195;;;7786:13;;-1:-1:-1;;;;;7782:39:1;7770:52;;7877:15;;;;7842:12;;;;7818:1;7736:9;7707:195;;;-1:-1:-1;;;;;;;7958:32:1;;;;7953:2;7938:18;;7931:60;-1:-1:-1;;;8022:3:1;8007:19;8000:35;7919:3;7053:988;-1:-1:-1;;;7053:988:1:o;8046:217::-;8086:1;8112;8102:132;;8156:10;8151:3;8147:20;8144:1;8137:31;8191:4;8188:1;8181:15;8219:4;8216:1;8209:15;8102:132;-1:-1:-1;8248:9:1;;8046:217::o

Swarm Source

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