ETH Price: $2,653.99 (+1.24%)

Token

Grumble (GRUMBLE)
 

Overview

Max Total Supply

100,000,000,000,000 GRUMBLE

Holders

154

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0 GRUMBLE

Value
$0.00
0x316c41e1288a8bf94b221584bb5c0189714f4fa2
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:
Grumble

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Grumble.sol
/**
  ____  ____   __ __  ___ ___  ____   _        ___ 
 /    T|    \ |  T  T|   T   T|    \ | T      /  _]
Y   __j|  D  )|  |  || _   _ ||  o  )| |     /  [_ 
|  T  ||    / |  |  ||  \_/  ||     T| l___ Y    _]
|  l_ ||    \ |  :  ||   |   ||  O  ||     T|   [_ 
|     ||  .  Yl     ||   |   ||     ||     ||     T
l___,_jl__j\_j \__,_jl___j___jl_____jl_____jl_____j
                                                   

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.17;

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 is Context {
    address public _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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract ReentrancyGuard {
    uint256 private constant UNLOCKED = 1;
    uint256 private constant LOCKED = 2;

    uint256 private _status;

    constructor() {
        _status = UNLOCKED;
    }

    modifier nonReentrant() {
        require(_status != LOCKED, "ReentrancyGuard: reentrant call");
        _status = LOCKED;

        _;

        _status = UNLOCKED;
    }
}

contract Grumble is Context, IERC20, Ownable, ReentrancyGuard {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable public _taxWallet;


    uint256 public _tradingTax = 1;

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 100_000_000_000_000 * 10**_decimals;
    string private constant _name = "Grumble";
    string private constant _symbol = "GRUMBLE";

    uint256 public _taxSwap = 500_000_000_000 * 10**_decimals; //auto swap and liquify when contract holds .5% of supply

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool public tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

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

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

    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 transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        _approve(sender, _msgSender(), currentAllowance - 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 _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()) {
            if (to == uniswapV2Pair || from == uniswapV2Pair) {
                //tax on buy and sell
                if (!_isExcludedFromFee[to] && !_isExcludedFromFee[from]) {
                    taxAmount = (amount * _tradingTax) / 100;
                }

                // tax swap
                uint256 contractTokenBalance = balanceOf(address(this));
                if (
                    !inSwap &&
                    from != uniswapV2Pair &&
                    swapEnabled &&
                    contractTokenBalance > _taxSwap
                ) {
                    swapTokensForEth(_taxSwap);
                    uint256 contractETHBalance = address(this).balance;
                    if (contractETHBalance > 0) {
                        sendETHToFee(address(this).balance);
                    }
                }
            }
        }

        _balances[from] -= amount;
        _balances[to] += amount - taxAmount;
        emit Transfer(from, to, amount - taxAmount);

        if (taxAmount > 0) {
            _balances[address(this)] += taxAmount;
            emit Transfer(from, address(this), taxAmount);
        }
    }

    function swapTokensForEth(uint256 tokenAmount)
        private
        nonReentrant
        lockTheSwap
    {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // Make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

    function enableTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function setTaxWallet(address _Wallet) external onlyOwner {
        _taxWallet = payable(_Wallet);
    }

    receive() external payable {}
}

Settings
{
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

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":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradingTax","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_Wallet","type":"address"}],"name":"setTaxWallet","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":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260016006556012600a62000019919062000591565b64746a5288006200002b9190620005e2565b6007556000600960156101000a81548160ff0219169083151502179055506000600960166101000a81548160ff0219169083151502179055503480156200007157600080fd5b50600062000084620003c660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506001808190555062000139620003c660201b60201c565b600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a62000189919062000591565b655af3107a40006200019c9190620005e2565b60026000620001b0620003c660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060016004600062000204620003ce60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000337620003c660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a62000396919062000591565b655af3107a4000620003a99190620005e2565b604051620003b891906200063e565b60405180910390a36200065b565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000485578086048111156200045d576200045c620003f7565b5b60018516156200046d5780820291505b80810290506200047d8562000426565b94506200043d565b94509492505050565b600082620004a0576001905062000573565b81620004b0576000905062000573565b8160018114620004c95760028114620004d4576200050a565b600191505062000573565b60ff841115620004e957620004e8620003f7565b5b8360020a915084821115620005035762000502620003f7565b5b5062000573565b5060208310610133831016604e8410600b8410161715620005445782820a9050838111156200053e576200053d620003f7565b5b62000573565b62000553848484600162000433565b925090508184048111156200056d576200056c620003f7565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200059e826200057a565b9150620005ab8362000584565b9250620005da7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200048e565b905092915050565b6000620005ef826200057a565b9150620005fc836200057a565b92508282026200060c816200057a565b91508282048414831517620006265762000625620003f7565b5b5092915050565b62000638816200057a565b82525050565b60006020820190506200065560008301846200062d565b92915050565b61282b806200066b6000396000f3fe60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb14610356578063b2bdfa7b14610393578063dd62ed3e146103be578063ea414b28146103fb578063ffb54a991461042457610114565b8063715018a6146102d25780638a8c523c146102e95780638da5cb5b1461030057806395d89b411461032b57610114565b8063313ce567116100dc578063313ce567146101e957806334376f3b1461021457806369da89981461023f5780636f268a991461026a57806370a082311461029557610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61044f565b60405161013b9190611a65565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611b20565b61048c565b6040516101789190611b7b565b60405180910390f35b34801561018d57600080fd5b506101966104aa565b6040516101a39190611ba5565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce9190611bc0565b6104d0565b6040516101e09190611b7b565b60405180910390f35b3480156101f557600080fd5b506101fe6105d1565b60405161020b9190611c2f565b60405180910390f35b34801561022057600080fd5b506102296105da565b6040516102369190611ba5565b60405180910390f35b34801561024b57600080fd5b506102546105e0565b6040516102619190611ba5565b60405180910390f35b34801561027657600080fd5b5061027f6105e6565b60405161028c9190611c6b565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b79190611c86565b61060c565b6040516102c99190611ba5565b60405180910390f35b3480156102de57600080fd5b506102e7610655565b005b3480156102f557600080fd5b506102fe6107a8565b005b34801561030c57600080fd5b50610315610ce2565b6040516103229190611cc2565b60405180910390f35b34801561033757600080fd5b50610340610d0b565b60405161034d9190611a65565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190611b20565b610d48565b60405161038a9190611b7b565b60405180910390f35b34801561039f57600080fd5b506103a8610d66565b6040516103b59190611cc2565b60405180910390f35b3480156103ca57600080fd5b506103e560048036038101906103e09190611cdd565b610d8a565b6040516103f29190611ba5565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d9190611c86565b610e11565b005b34801561043057600080fd5b50610439610eea565b6040516104469190611b7b565b60405180910390f35b60606040518060400160405280600781526020017f4772756d626c6500000000000000000000000000000000000000000000000000815250905090565b60006104a0610499610efd565b8484610f05565b6001905092915050565b60006012600a6104ba9190611e7f565b655af3107a40006104cb9190611eca565b905090565b60006104dd8484846110ce565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610528610efd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f90611f7e565b60405180910390fd5b6105c5856105b4610efd565b85846105c09190611f9e565b610f05565b60019150509392505050565b60006012905090565b60075481565b60065481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61065d610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e19061201e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107b0610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461083d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108349061201e565b60405180910390fd5b600960149054906101000a900460ff161561088d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108849061208a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061092d30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6109179190611e7f565b655af3107a40006109289190611eca565b610f05565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109be91906120bf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6b91906120bf565b6040518363ffffffff1660e01b8152600401610a889291906120ec565b6020604051808303816000875af1158015610aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acb91906120bf565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b543061060c565b600080610b5f610ce2565b426040518863ffffffff1660e01b8152600401610b819695949392919061215a565b60606040518083038185885af1158015610b9f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bc491906121d0565b5050506001600960166101000a81548160ff0219169083151502179055506001600960146101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c9c929190612223565b6020604051808303816000875af1158015610cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdf9190612278565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4752554d424c4500000000000000000000000000000000000000000000000000815250905090565b6000610d5c610d55610efd565b84846110ce565b6001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e19610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9d9061201e565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b90612317565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda906123a9565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c19190611ba5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361113d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111349061243b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a3906124cd565b60405180910390fd5b600081116111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e69061255f565b60405180910390fd5b60006111f9610ce2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112675750611237610ce2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114aa57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113155750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156114a957600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113be5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113e0576064600654836113d39190611eca565b6113dd91906125ae565b90505b60006113eb3061060c565b9050600960159054906101000a900460ff161580156114585750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156114705750600960169054906101000a900460ff165b801561147d575060075481115b156114a75761148d60075461169c565b600047905060008111156114a5576114a447611969565b5b505b505b5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114f99190611f9e565b92505081905550808261150c9190611f9e565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155a91906125df565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856115bc9190611f9e565b6040516115c99190611ba5565b60405180910390a360008111156116965780600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461162991906125df565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161168d9190611ba5565b60405180910390a35b50505050565b6002600154036116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d89061265f565b60405180910390fd5b60026001819055506001600960156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156117215761172061267f565b5b60405190808252806020026020018201604052801561174f5781602001602082028036833780820191505090505b5090503081600081518110611767576117666126ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183291906120bf565b81600181518110611846576118456126ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118ad30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f05565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161191195949392919061279b565b600060405180830381600087803b15801561192b57600080fd5b505af115801561193f573d6000803e3d6000fd5b50505050506000600960156101000a81548160ff0219169083151502179055506001808190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119d1573d6000803e3d6000fd5b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a0f5780820151818401526020810190506119f4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a37826119d5565b611a4181856119e0565b9350611a518185602086016119f1565b611a5a81611a1b565b840191505092915050565b60006020820190508181036000830152611a7f8184611a2c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ab782611a8c565b9050919050565b611ac781611aac565b8114611ad257600080fd5b50565b600081359050611ae481611abe565b92915050565b6000819050919050565b611afd81611aea565b8114611b0857600080fd5b50565b600081359050611b1a81611af4565b92915050565b60008060408385031215611b3757611b36611a87565b5b6000611b4585828601611ad5565b9250506020611b5685828601611b0b565b9150509250929050565b60008115159050919050565b611b7581611b60565b82525050565b6000602082019050611b906000830184611b6c565b92915050565b611b9f81611aea565b82525050565b6000602082019050611bba6000830184611b96565b92915050565b600080600060608486031215611bd957611bd8611a87565b5b6000611be786828701611ad5565b9350506020611bf886828701611ad5565b9250506040611c0986828701611b0b565b9150509250925092565b600060ff82169050919050565b611c2981611c13565b82525050565b6000602082019050611c446000830184611c20565b92915050565b6000611c5582611a8c565b9050919050565b611c6581611c4a565b82525050565b6000602082019050611c806000830184611c5c565b92915050565b600060208284031215611c9c57611c9b611a87565b5b6000611caa84828501611ad5565b91505092915050565b611cbc81611aac565b82525050565b6000602082019050611cd76000830184611cb3565b92915050565b60008060408385031215611cf457611cf3611a87565b5b6000611d0285828601611ad5565b9250506020611d1385828601611ad5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611da357808604811115611d7f57611d7e611d1d565b5b6001851615611d8e5780820291505b8081029050611d9c85611d4c565b9450611d63565b94509492505050565b600082611dbc5760019050611e78565b81611dca5760009050611e78565b8160018114611de05760028114611dea57611e19565b6001915050611e78565b60ff841115611dfc57611dfb611d1d565b5b8360020a915084821115611e1357611e12611d1d565b5b50611e78565b5060208310610133831016604e8410600b8410161715611e4e5782820a905083811115611e4957611e48611d1d565b5b611e78565b611e5b8484846001611d59565b92509050818404811115611e7257611e71611d1d565b5b81810290505b9392505050565b6000611e8a82611aea565b9150611e9583611c13565b9250611ec27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611dac565b905092915050565b6000611ed582611aea565b9150611ee083611aea565b9250828202611eee81611aea565b91508282048414831517611f0557611f04611d1d565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611f686028836119e0565b9150611f7382611f0c565b604082019050919050565b60006020820190508181036000830152611f9781611f5b565b9050919050565b6000611fa982611aea565b9150611fb483611aea565b9250828203905081811115611fcc57611fcb611d1d565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120086020836119e0565b915061201382611fd2565b602082019050919050565b6000602082019050818103600083015261203781611ffb565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006120746017836119e0565b915061207f8261203e565b602082019050919050565b600060208201905081810360008301526120a381612067565b9050919050565b6000815190506120b981611abe565b92915050565b6000602082840312156120d5576120d4611a87565b5b60006120e3848285016120aa565b91505092915050565b60006040820190506121016000830185611cb3565b61210e6020830184611cb3565b9392505050565b6000819050919050565b6000819050919050565b600061214461213f61213a84612115565b61211f565b611aea565b9050919050565b61215481612129565b82525050565b600060c08201905061216f6000830189611cb3565b61217c6020830188611b96565b612189604083018761214b565b612196606083018661214b565b6121a36080830185611cb3565b6121b060a0830184611b96565b979650505050505050565b6000815190506121ca81611af4565b92915050565b6000806000606084860312156121e9576121e8611a87565b5b60006121f7868287016121bb565b9350506020612208868287016121bb565b9250506040612219868287016121bb565b9150509250925092565b60006040820190506122386000830185611cb3565b6122456020830184611b96565b9392505050565b61225581611b60565b811461226057600080fd5b50565b6000815190506122728161224c565b92915050565b60006020828403121561228e5761228d611a87565b5b600061229c84828501612263565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006123016024836119e0565b915061230c826122a5565b604082019050919050565b60006020820190508181036000830152612330816122f4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006123936022836119e0565b915061239e82612337565b604082019050919050565b600060208201905081810360008301526123c281612386565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124256025836119e0565b9150612430826123c9565b604082019050919050565b6000602082019050818103600083015261245481612418565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006124b76023836119e0565b91506124c28261245b565b604082019050919050565b600060208201905081810360008301526124e6816124aa565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006125496029836119e0565b9150612554826124ed565b604082019050919050565b600060208201905081810360008301526125788161253c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125b982611aea565b91506125c483611aea565b9250826125d4576125d361257f565b5b828204905092915050565b60006125ea82611aea565b91506125f583611aea565b925082820190508082111561260d5761260c611d1d565b5b92915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612649601f836119e0565b915061265482612613565b602082019050919050565b600060208201905081810360008301526126788161263c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61271281611aac565b82525050565b60006127248383612709565b60208301905092915050565b6000602082019050919050565b6000612748826126dd565b61275281856126e8565b935061275d836126f9565b8060005b8381101561278e5781516127758882612718565b975061278083612730565b925050600181019050612761565b5085935050505092915050565b600060a0820190506127b06000830188611b96565b6127bd602083018761214b565b81810360408301526127cf818661273d565b90506127de6060830185611cb3565b6127eb6080830184611b96565b969550505050505056fea2646970667358221220ec40f2850fb8109b5efb7de220dc6820c1bef0dd2f5c4cabd1d0233b34bbc9ec64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c8063715018a611610095578063a9059cbb11610064578063a9059cbb14610356578063b2bdfa7b14610393578063dd62ed3e146103be578063ea414b28146103fb578063ffb54a991461042457610114565b8063715018a6146102d25780638a8c523c146102e95780638da5cb5b1461030057806395d89b411461032b57610114565b8063313ce567116100dc578063313ce567146101e957806334376f3b1461021457806369da89981461023f5780636f268a991461026a57806370a082311461029557610114565b806306fdde0314610119578063095ea7b31461014457806318160ddd1461018157806323b872dd146101ac57610114565b3661011457005b600080fd5b34801561012557600080fd5b5061012e61044f565b60405161013b9190611a65565b60405180910390f35b34801561015057600080fd5b5061016b60048036038101906101669190611b20565b61048c565b6040516101789190611b7b565b60405180910390f35b34801561018d57600080fd5b506101966104aa565b6040516101a39190611ba5565b60405180910390f35b3480156101b857600080fd5b506101d360048036038101906101ce9190611bc0565b6104d0565b6040516101e09190611b7b565b60405180910390f35b3480156101f557600080fd5b506101fe6105d1565b60405161020b9190611c2f565b60405180910390f35b34801561022057600080fd5b506102296105da565b6040516102369190611ba5565b60405180910390f35b34801561024b57600080fd5b506102546105e0565b6040516102619190611ba5565b60405180910390f35b34801561027657600080fd5b5061027f6105e6565b60405161028c9190611c6b565b60405180910390f35b3480156102a157600080fd5b506102bc60048036038101906102b79190611c86565b61060c565b6040516102c99190611ba5565b60405180910390f35b3480156102de57600080fd5b506102e7610655565b005b3480156102f557600080fd5b506102fe6107a8565b005b34801561030c57600080fd5b50610315610ce2565b6040516103229190611cc2565b60405180910390f35b34801561033757600080fd5b50610340610d0b565b60405161034d9190611a65565b60405180910390f35b34801561036257600080fd5b5061037d60048036038101906103789190611b20565b610d48565b60405161038a9190611b7b565b60405180910390f35b34801561039f57600080fd5b506103a8610d66565b6040516103b59190611cc2565b60405180910390f35b3480156103ca57600080fd5b506103e560048036038101906103e09190611cdd565b610d8a565b6040516103f29190611ba5565b60405180910390f35b34801561040757600080fd5b50610422600480360381019061041d9190611c86565b610e11565b005b34801561043057600080fd5b50610439610eea565b6040516104469190611b7b565b60405180910390f35b60606040518060400160405280600781526020017f4772756d626c6500000000000000000000000000000000000000000000000000815250905090565b60006104a0610499610efd565b8484610f05565b6001905092915050565b60006012600a6104ba9190611e7f565b655af3107a40006104cb9190611eca565b905090565b60006104dd8484846110ce565b6000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610528610efd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156105a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161059f90611f7e565b60405180910390fd5b6105c5856105b4610efd565b85846105c09190611f9e565b610f05565b60019150509392505050565b60006012905090565b60075481565b60065481565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61065d610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e19061201e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107b0610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461083d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108349061201e565b60405180910390fd5b600960149054906101000a900460ff161561088d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108849061208a565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061092d30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6109179190611e7f565b655af3107a40006109289190611eca565b610f05565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561099a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109be91906120bf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6b91906120bf565b6040518363ffffffff1660e01b8152600401610a889291906120ec565b6020604051808303816000875af1158015610aa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acb91906120bf565b600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610b543061060c565b600080610b5f610ce2565b426040518863ffffffff1660e01b8152600401610b819695949392919061215a565b60606040518083038185885af1158015610b9f573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610bc491906121d0565b5050506001600960166101000a81548160ff0219169083151502179055506001600960146101000a81548160ff021916908315150217905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c9c929190612223565b6020604051808303816000875af1158015610cbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cdf9190612278565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f4752554d424c4500000000000000000000000000000000000000000000000000815250905090565b6000610d5c610d55610efd565b84846110ce565b6001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610e19610efd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ea6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9d9061201e565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600960149054906101000a900460ff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6b90612317565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fda906123a9565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110c19190611ba5565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361113d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111349061243b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a3906124cd565b60405180910390fd5b600081116111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e69061255f565b60405180910390fd5b60006111f9610ce2565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112675750611237610ce2565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156114aa57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806113155750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156114a957600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156113be5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156113e0576064600654836113d39190611eca565b6113dd91906125ae565b90505b60006113eb3061060c565b9050600960159054906101000a900460ff161580156114585750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156114705750600960169054906101000a900460ff165b801561147d575060075481115b156114a75761148d60075461169c565b600047905060008111156114a5576114a447611969565b5b505b505b5b81600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114f99190611f9e565b92505081905550808261150c9190611f9e565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461155a91906125df565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83856115bc9190611f9e565b6040516115c99190611ba5565b60405180910390a360008111156116965780600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461162991906125df565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161168d9190611ba5565b60405180910390a35b50505050565b6002600154036116e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d89061265f565b60405180910390fd5b60026001819055506001600960156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff8111156117215761172061267f565b5b60405190808252806020026020018201604052801561174f5781602001602082028036833780820191505090505b5090503081600081518110611767576117666126ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561180e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183291906120bf565b81600181518110611846576118456126ae565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118ad30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f05565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040161191195949392919061279b565b600060405180830381600087803b15801561192b57600080fd5b505af115801561193f573d6000803e3d6000fd5b50505050506000600960156101000a81548160ff0219169083151502179055506001808190555050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156119d1573d6000803e3d6000fd5b5050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611a0f5780820151818401526020810190506119f4565b60008484015250505050565b6000601f19601f8301169050919050565b6000611a37826119d5565b611a4181856119e0565b9350611a518185602086016119f1565b611a5a81611a1b565b840191505092915050565b60006020820190508181036000830152611a7f8184611a2c565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ab782611a8c565b9050919050565b611ac781611aac565b8114611ad257600080fd5b50565b600081359050611ae481611abe565b92915050565b6000819050919050565b611afd81611aea565b8114611b0857600080fd5b50565b600081359050611b1a81611af4565b92915050565b60008060408385031215611b3757611b36611a87565b5b6000611b4585828601611ad5565b9250506020611b5685828601611b0b565b9150509250929050565b60008115159050919050565b611b7581611b60565b82525050565b6000602082019050611b906000830184611b6c565b92915050565b611b9f81611aea565b82525050565b6000602082019050611bba6000830184611b96565b92915050565b600080600060608486031215611bd957611bd8611a87565b5b6000611be786828701611ad5565b9350506020611bf886828701611ad5565b9250506040611c0986828701611b0b565b9150509250925092565b600060ff82169050919050565b611c2981611c13565b82525050565b6000602082019050611c446000830184611c20565b92915050565b6000611c5582611a8c565b9050919050565b611c6581611c4a565b82525050565b6000602082019050611c806000830184611c5c565b92915050565b600060208284031215611c9c57611c9b611a87565b5b6000611caa84828501611ad5565b91505092915050565b611cbc81611aac565b82525050565b6000602082019050611cd76000830184611cb3565b92915050565b60008060408385031215611cf457611cf3611a87565b5b6000611d0285828601611ad5565b9250506020611d1385828601611ad5565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115611da357808604811115611d7f57611d7e611d1d565b5b6001851615611d8e5780820291505b8081029050611d9c85611d4c565b9450611d63565b94509492505050565b600082611dbc5760019050611e78565b81611dca5760009050611e78565b8160018114611de05760028114611dea57611e19565b6001915050611e78565b60ff841115611dfc57611dfb611d1d565b5b8360020a915084821115611e1357611e12611d1d565b5b50611e78565b5060208310610133831016604e8410600b8410161715611e4e5782820a905083811115611e4957611e48611d1d565b5b611e78565b611e5b8484846001611d59565b92509050818404811115611e7257611e71611d1d565b5b81810290505b9392505050565b6000611e8a82611aea565b9150611e9583611c13565b9250611ec27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611dac565b905092915050565b6000611ed582611aea565b9150611ee083611aea565b9250828202611eee81611aea565b91508282048414831517611f0557611f04611d1d565b5b5092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000611f686028836119e0565b9150611f7382611f0c565b604082019050919050565b60006020820190508181036000830152611f9781611f5b565b9050919050565b6000611fa982611aea565b9150611fb483611aea565b9250828203905081811115611fcc57611fcb611d1d565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006120086020836119e0565b915061201382611fd2565b602082019050919050565b6000602082019050818103600083015261203781611ffb565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006120746017836119e0565b915061207f8261203e565b602082019050919050565b600060208201905081810360008301526120a381612067565b9050919050565b6000815190506120b981611abe565b92915050565b6000602082840312156120d5576120d4611a87565b5b60006120e3848285016120aa565b91505092915050565b60006040820190506121016000830185611cb3565b61210e6020830184611cb3565b9392505050565b6000819050919050565b6000819050919050565b600061214461213f61213a84612115565b61211f565b611aea565b9050919050565b61215481612129565b82525050565b600060c08201905061216f6000830189611cb3565b61217c6020830188611b96565b612189604083018761214b565b612196606083018661214b565b6121a36080830185611cb3565b6121b060a0830184611b96565b979650505050505050565b6000815190506121ca81611af4565b92915050565b6000806000606084860312156121e9576121e8611a87565b5b60006121f7868287016121bb565b9350506020612208868287016121bb565b9250506040612219868287016121bb565b9150509250925092565b60006040820190506122386000830185611cb3565b6122456020830184611b96565b9392505050565b61225581611b60565b811461226057600080fd5b50565b6000815190506122728161224c565b92915050565b60006020828403121561228e5761228d611a87565b5b600061229c84828501612263565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006123016024836119e0565b915061230c826122a5565b604082019050919050565b60006020820190508181036000830152612330816122f4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006123936022836119e0565b915061239e82612337565b604082019050919050565b600060208201905081810360008301526123c281612386565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006124256025836119e0565b9150612430826123c9565b604082019050919050565b6000602082019050818103600083015261245481612418565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006124b76023836119e0565b91506124c28261245b565b604082019050919050565b600060208201905081810360008301526124e6816124aa565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006125496029836119e0565b9150612554826124ed565b604082019050919050565b600060208201905081810360008301526125788161253c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006125b982611aea565b91506125c483611aea565b9250826125d4576125d361257f565b5b828204905092915050565b60006125ea82611aea565b91506125f583611aea565b925082820190508082111561260d5761260c611d1d565b5b92915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612649601f836119e0565b915061265482612613565b602082019050919050565b600060208201905081810360008301526126788161263c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61271281611aac565b82525050565b60006127248383612709565b60208301905092915050565b6000602082019050919050565b6000612748826126dd565b61275281856126e8565b935061275d836126f9565b8060005b8381101561278e5781516127758882612718565b975061278083612730565b925050600181019050612761565b5085935050505092915050565b600060a0820190506127b06000830188611b96565b6127bd602083018761214b565b81810360408301526127cf818661273d565b90506127de6060830185611cb3565b6127eb6080830184611b96565b969550505050505056fea2646970667358221220ec40f2850fb8109b5efb7de220dc6820c1bef0dd2f5c4cabd1d0233b34bbc9ec64736f6c63430008110033

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.