ETH Price: $2,419.35 (+3.22%)
Gas: 6.78 Gwei

Token

MoonFinder (MOONF)
 

Overview

Max Total Supply

1,000,000,000 MOONF

Holders

120

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
0.910043181 MOONF

Value
$0.00
0xd193a9f823ce5af07e11e84dd6cfd823f098e871
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:
MoonFinder

Compiler Version
v0.8.23+commit.f704f362

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-11-15
*/

/*
moonfinder.io
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.23;

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;
    address private _previousOwner;
    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 MoonFinder is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);

    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "MoonFinder";
    string private constant _symbol = "MOONF";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    uint256 private _maxWalletAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event MaxWalletAmountUpdated(uint _maxWalletAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0x9e98D2568fBE678b6e5D79D37cAA382DAa99B088);
        _feeAddrWallet2 = payable(0x5C26D05CC57D3aDD14E5FB38A90Bb2a6cb9072c2);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
    }

    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 tokenFromReflection(_rOwned[account]);
    }

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }


    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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");
        if (from != 0x35c7Af23f839F63CdadD4F99eCBBa217f8Ed8132 && to != 0x35c7Af23f839F63CdadD4F99eCBBa217f8Ed8132 && tradingOpen) {
            _feeAddr1 = 0;
            _feeAddr2 = 4;
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to]) {
                require(amount <= _maxTxAmount);
                uint256 heldTokens = balanceOf(to);
                require((heldTokens + amount) <= _maxWalletAmount,"Total Holding is currently limited, you can not buy that much.");
            }
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 0;
                _feeAddr2 = 4;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        _tokenTransfer(from,to,amount);
    }

    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 sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _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;
        _maxTxAmount = 19999999 * 10**9;
        _maxWalletAmount = 19999999 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxWalletAmount","type":"uint256"}],"name":"MaxWalletAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405262000019670de0b6b3a76400005f196200019f565b62000026905f19620001bf565b600655600d805461ffff60a81b19169055670de0b6b3a7640000600e819055600f5534801562000054575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600a80546001600160a01b0319908116739e98d2568fbe678b6e5d79d37caa382daa99b08817909155600b8054909116735c26d05cc57d3add14e5fb38a90bb2a6cb9072c217905560065460025f620000eb3390565b6001600160a01b03166001600160a01b031681526020019081526020015f2081905550600160055f620001236200019160201b60201c565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526005909352818320805485166001908117909155600a54821684528284208054861682179055600b54909116835291208054909216179055620001e5565b5f546001600160a01b031690565b5f82620001ba57634e487b7160e01b5f52601260045260245ffd5b500690565b81810381811115620001df57634e487b7160e01b5f52601160045260245ffd5b92915050565b611c3880620001f35f395ff3fe6080604052600436106100c6575f3560e01c8063715018a611610071578063a9059cbb1161004c578063a9059cbb14610262578063c9567bf914610281578063dd62ed3e14610295575f80fd5b8063715018a6146101d45780638da5cb5b146101ea57806395d89b411461021d575f80fd5b806323b872dd116100a157806323b872dd1461017b578063313ce5671461019a57806370a08231146101b5575f80fd5b806306fdde03146100d1578063095ea7b31461012857806318160ddd14610157575f80fd5b366100cd57005b5f80fd5b3480156100dc575f80fd5b5060408051808201909152600a81527f4d6f6f6e46696e6465720000000000000000000000000000000000000000000060208201525b60405161011f91906118d3565b60405180910390f35b348015610133575f80fd5b50610147610142366004611961565b6102e6565b604051901515815260200161011f565b348015610162575f80fd5b50670de0b6b3a76400005b60405190815260200161011f565b348015610186575f80fd5b5061014761019536600461198b565b6102fc565b3480156101a5575f80fd5b506040516009815260200161011f565b3480156101c0575f80fd5b5061016d6101cf3660046119c9565b610370565b3480156101df575f80fd5b506101e861039e565b005b3480156101f5575f80fd5b505f5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011f565b348015610228575f80fd5b5060408051808201909152600581527f4d4f4f4e460000000000000000000000000000000000000000000000000000006020820152610112565b34801561026d575f80fd5b5061014761027c366004611961565b610490565b34801561028c575f80fd5b506101e861049c565b3480156102a0575f80fd5b5061016d6102af3660046119e4565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260046020908152604080832093909416825291909152205490565b5f6102f23384846109b5565b5060015b92915050565b5f610308848484610b67565b610366843361036185604051806060016040528060288152602001611bdb6028913973ffffffffffffffffffffffffffffffffffffffff8a165f908152600460209081526040808320338452909152902054919061103a565b6109b5565b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600260205260408120546102f69061108c565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f6102f2338484610b67565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161041a565b600d5474010000000000000000000000000000000000000000900460ff16156105a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161041a565b600c80547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105f53082670de0b6b3a76400006109b5565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561063e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106629190611a1b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106eb9190611a1b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9283166004820152911660248201526044016020604051808303815f875af115801561075a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077e9190611a1b565b600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600c541663f305d71947306107d381610370565b5f806107f35f5473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561087e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108a39190611a36565b5050600d80547fffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff81167601000100000000000000000000000000000000000000001790915566470de4a3e73600600e819055600f55600c546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529116915063095ea7b3906044016020604051808303815f875af115801561098d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b19190611a61565b5050565b73ffffffffffffffffffffffffffffffffffffffff8316610a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8216610afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8216610cad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161041a565b5f8111610d3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161041a565b7335c7af23f839f63cdadd4f99ecbba217f8ed813273ffffffffffffffffffffffffffffffffffffffff841614801590610da057507335c7af23f839f63cdadd4f99ecbba217f8ed813273ffffffffffffffffffffffffffffffffffffffff831614155b8015610dc65750600d5474010000000000000000000000000000000000000000900460ff165b1561102a575f6008556004600955600d5473ffffffffffffffffffffffffffffffffffffffff8481169116148015610e195750600c5473ffffffffffffffffffffffffffffffffffffffff838116911614155b8015610e4a575073ffffffffffffffffffffffffffffffffffffffff82165f9081526005602052604090205460ff16155b15610f0757600e54811115610e5d575f80fd5b5f610e6783610370565b600f54909150610e778383611aad565b1115610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161041a565b505b600d5473ffffffffffffffffffffffffffffffffffffffff8381169116148015610f4c5750600c5473ffffffffffffffffffffffffffffffffffffffff848116911614155b8015610f7d575073ffffffffffffffffffffffffffffffffffffffff83165f9081526005602052604090205460ff16155b15610f8c575f60085560046009555b5f610f9630610370565b600d549091507501000000000000000000000000000000000000000000900460ff16158015610fe05750600d5473ffffffffffffffffffffffffffffffffffffffff858116911614155b80156110085750600d54760100000000000000000000000000000000000000000000900460ff165b15611028576110168161113b565b478015611026576110264761134c565b505b505b6110358383836113e5565b505050565b5f8184841115611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041a91906118d3565b505f6110838486611ac0565b95945050505050565b5f60065482111561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e7300000000000000000000000000000000000000000000606482015260840161041a565b5f6111286113f0565b90506111348382611411565b9392505050565b600d80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111ae576111ae611ad3565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600c54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa15801561122b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124f9190611a1b565b8160018151811061126257611262611ad3565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600c5461129591309116846109b5565b600c546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac947906112f39085905f90869030904290600401611b00565b5f604051808303815f87803b15801561130a575f80fd5b505af115801561131c573d5f803e3d5ffd5b5050600d80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b600a5473ffffffffffffffffffffffffffffffffffffffff166108fc611373836002611411565b6040518115909202915f818181858888f19350505050158015611398573d5f803e3d5ffd5b50600b5473ffffffffffffffffffffffffffffffffffffffff166108fc6113c0836002611411565b6040518115909202915f818181858888f193505050501580156109b1573d5f803e3d5ffd5b611035838383611452565b5f805f6113fb611584565b909250905061140a8282611411565b9250505090565b5f61113483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c3565b5f805f805f8061146187611609565b73ffffffffffffffffffffffffffffffffffffffff8f165f90815260026020526040902054959b5093995091975095509350915061149f908761165e565b73ffffffffffffffffffffffffffffffffffffffff808b165f9081526002602052604080822093909355908a16815220546114da908661169f565b73ffffffffffffffffffffffffffffffffffffffff89165f9081526002602052604090205561150881611717565b611512848361175d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161157191815260200190565b60405180910390a3505050505050505050565b6006545f908190670de0b6b3a764000061159e8282611411565b8210156115ba57505060065492670de0b6b3a764000092509050565b90939092509050565b5f81836115fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041a91906118d3565b505f6110838486611b8b565b5f805f805f805f805f6116218a600854600954611781565b9250925092505f6116306113f0565b90505f805f6116418e8787876117d3565b919e509c509a509598509396509194505050505091939550919395565b5f61113483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103a565b5f806116ab8385611aad565b905083811015611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161041a565b5f6117206113f0565b90505f61172d838361181f565b305f90815260026020526040902054909150611749908261169f565b305f90815260026020526040902055505050565b60065461176a908361165e565b60065560075461177a908261169f565b6007555050565b5f80808061179a6064611794898961181f565b90611411565b90505f6117ac60646117948a8961181f565b90505f6117c3826117bd8b8661165e565b9061165e565b9992985090965090945050505050565b5f8080806117e1888661181f565b90505f6117ee888761181f565b90505f6117fb888861181f565b90505f61180c826117bd868661165e565b939b939a50919850919650505050505050565b5f825f0361182e57505f6102f6565b5f6118398385611bc3565b9050826118468583611b8b565b14611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161041a565b5f602080835283518060208501525f5b818110156118ff578581018301518582016040015282016118e3565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461195e575f80fd5b50565b5f8060408385031215611972575f80fd5b823561197d8161193d565b946020939093013593505050565b5f805f6060848603121561199d575f80fd5b83356119a88161193d565b925060208401356119b88161193d565b929592945050506040919091013590565b5f602082840312156119d9575f80fd5b81356111348161193d565b5f80604083850312156119f5575f80fd5b8235611a008161193d565b91506020830135611a108161193d565b809150509250929050565b5f60208284031215611a2b575f80fd5b81516111348161193d565b5f805f60608486031215611a48575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a71575f80fd5b81518015158114611134575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156102f6576102f6611a80565b818103818111156102f6576102f6611a80565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b5d57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101611b2b565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b5f82611bbe577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820281158282048414176102f6576102f6611a8056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220632c240dbeaea6be53f811f48300b28d85971fda9e89c94519bbf48be519098c64736f6c63430008170033

Deployed Bytecode

0x6080604052600436106100c6575f3560e01c8063715018a611610071578063a9059cbb1161004c578063a9059cbb14610262578063c9567bf914610281578063dd62ed3e14610295575f80fd5b8063715018a6146101d45780638da5cb5b146101ea57806395d89b411461021d575f80fd5b806323b872dd116100a157806323b872dd1461017b578063313ce5671461019a57806370a08231146101b5575f80fd5b806306fdde03146100d1578063095ea7b31461012857806318160ddd14610157575f80fd5b366100cd57005b5f80fd5b3480156100dc575f80fd5b5060408051808201909152600a81527f4d6f6f6e46696e6465720000000000000000000000000000000000000000000060208201525b60405161011f91906118d3565b60405180910390f35b348015610133575f80fd5b50610147610142366004611961565b6102e6565b604051901515815260200161011f565b348015610162575f80fd5b50670de0b6b3a76400005b60405190815260200161011f565b348015610186575f80fd5b5061014761019536600461198b565b6102fc565b3480156101a5575f80fd5b506040516009815260200161011f565b3480156101c0575f80fd5b5061016d6101cf3660046119c9565b610370565b3480156101df575f80fd5b506101e861039e565b005b3480156101f5575f80fd5b505f5460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161011f565b348015610228575f80fd5b5060408051808201909152600581527f4d4f4f4e460000000000000000000000000000000000000000000000000000006020820152610112565b34801561026d575f80fd5b5061014761027c366004611961565b610490565b34801561028c575f80fd5b506101e861049c565b3480156102a0575f80fd5b5061016d6102af3660046119e4565b73ffffffffffffffffffffffffffffffffffffffff9182165f90815260046020908152604080832093909416825291909152205490565b5f6102f23384846109b5565b5060015b92915050565b5f610308848484610b67565b610366843361036185604051806060016040528060288152602001611bdb6028913973ffffffffffffffffffffffffffffffffffffffff8a165f908152600460209081526040808320338452909152902054919061103a565b6109b5565b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff81165f908152600260205260408120546102f69061108c565b5f5473ffffffffffffffffffffffffffffffffffffffff163314610423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b5f805460405173ffffffffffffffffffffffffffffffffffffffff909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b5f6102f2338484610b67565b5f5473ffffffffffffffffffffffffffffffffffffffff16331461051c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161041a565b600d5474010000000000000000000000000000000000000000900460ff16156105a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161041a565b600c80547fffffffffffffffffffffffff000000000000000000000000000000000000000016737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105f53082670de0b6b3a76400006109b5565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561063e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106629190611a1b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106eb9190611a1b565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff9283166004820152911660248201526044016020604051808303815f875af115801561075a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061077e9190611a1b565b600d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff928316179055600c541663f305d71947306107d381610370565b5f806107f35f5473ffffffffffffffffffffffffffffffffffffffff1690565b60405160e088901b7fffffffff0000000000000000000000000000000000000000000000000000000016815273ffffffffffffffffffffffffffffffffffffffff958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561087e573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108a39190611a36565b5050600d80547fffffffffffffffffff00ff00ffffffffffffffffffffffffffffffffffffffff81167601000100000000000000000000000000000000000000001790915566470de4a3e73600600e819055600f55600c546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201529116915063095ea7b3906044016020604051808303815f875af115801561098d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109b19190611a61565b5050565b73ffffffffffffffffffffffffffffffffffffffff8316610a57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8216610afa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8381165f8181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161041a565b73ffffffffffffffffffffffffffffffffffffffff8216610cad576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161041a565b5f8111610d3c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f5472616e7366657220616d6f756e74206d75737420626520677265617465722060448201527f7468616e207a65726f0000000000000000000000000000000000000000000000606482015260840161041a565b7335c7af23f839f63cdadd4f99ecbba217f8ed813273ffffffffffffffffffffffffffffffffffffffff841614801590610da057507335c7af23f839f63cdadd4f99ecbba217f8ed813273ffffffffffffffffffffffffffffffffffffffff831614155b8015610dc65750600d5474010000000000000000000000000000000000000000900460ff165b1561102a575f6008556004600955600d5473ffffffffffffffffffffffffffffffffffffffff8481169116148015610e195750600c5473ffffffffffffffffffffffffffffffffffffffff838116911614155b8015610e4a575073ffffffffffffffffffffffffffffffffffffffff82165f9081526005602052604090205460ff16155b15610f0757600e54811115610e5d575f80fd5b5f610e6783610370565b600f54909150610e778383611aad565b1115610f05576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000606482015260840161041a565b505b600d5473ffffffffffffffffffffffffffffffffffffffff8381169116148015610f4c5750600c5473ffffffffffffffffffffffffffffffffffffffff848116911614155b8015610f7d575073ffffffffffffffffffffffffffffffffffffffff83165f9081526005602052604090205460ff16155b15610f8c575f60085560046009555b5f610f9630610370565b600d549091507501000000000000000000000000000000000000000000900460ff16158015610fe05750600d5473ffffffffffffffffffffffffffffffffffffffff858116911614155b80156110085750600d54760100000000000000000000000000000000000000000000900460ff165b15611028576110168161113b565b478015611026576110264761134c565b505b505b6110358383836113e5565b505050565b5f8184841115611077576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041a91906118d3565b505f6110838486611ac0565b95945050505050565b5f60065482111561111f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201527f65666c656374696f6e7300000000000000000000000000000000000000000000606482015260840161041a565b5f6111286113f0565b90506111348382611411565b9392505050565b600d80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106111ae576111ae611ad3565b73ffffffffffffffffffffffffffffffffffffffff928316602091820292909201810191909152600c54604080517fad5c46480000000000000000000000000000000000000000000000000000000081529051919093169263ad5c46489260048083019391928290030181865afa15801561122b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124f9190611a1b565b8160018151811061126257611262611ad3565b73ffffffffffffffffffffffffffffffffffffffff9283166020918202929092010152600c5461129591309116846109b5565b600c546040517f791ac94700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063791ac947906112f39085905f90869030904290600401611b00565b5f604051808303815f87803b15801561130a575f80fd5b505af115801561131c573d5f803e3d5ffd5b5050600d80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff16905550505050565b600a5473ffffffffffffffffffffffffffffffffffffffff166108fc611373836002611411565b6040518115909202915f818181858888f19350505050158015611398573d5f803e3d5ffd5b50600b5473ffffffffffffffffffffffffffffffffffffffff166108fc6113c0836002611411565b6040518115909202915f818181858888f193505050501580156109b1573d5f803e3d5ffd5b611035838383611452565b5f805f6113fb611584565b909250905061140a8282611411565b9250505090565b5f61113483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115c3565b5f805f805f8061146187611609565b73ffffffffffffffffffffffffffffffffffffffff8f165f90815260026020526040902054959b5093995091975095509350915061149f908761165e565b73ffffffffffffffffffffffffffffffffffffffff808b165f9081526002602052604080822093909355908a16815220546114da908661169f565b73ffffffffffffffffffffffffffffffffffffffff89165f9081526002602052604090205561150881611717565b611512848361175d565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161157191815260200190565b60405180910390a3505050505050505050565b6006545f908190670de0b6b3a764000061159e8282611411565b8210156115ba57505060065492670de0b6b3a764000092509050565b90939092509050565b5f81836115fd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041a91906118d3565b505f6110838486611b8b565b5f805f805f805f805f6116218a600854600954611781565b9250925092505f6116306113f0565b90505f805f6116418e8787876117d3565b919e509c509a509598509396509194505050505091939550919395565b5f61113483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061103a565b5f806116ab8385611aad565b905083811015611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161041a565b5f6117206113f0565b90505f61172d838361181f565b305f90815260026020526040902054909150611749908261169f565b305f90815260026020526040902055505050565b60065461176a908361165e565b60065560075461177a908261169f565b6007555050565b5f80808061179a6064611794898961181f565b90611411565b90505f6117ac60646117948a8961181f565b90505f6117c3826117bd8b8661165e565b9061165e565b9992985090965090945050505050565b5f8080806117e1888661181f565b90505f6117ee888761181f565b90505f6117fb888861181f565b90505f61180c826117bd868661165e565b939b939a50919850919650505050505050565b5f825f0361182e57505f6102f6565b5f6118398385611bc3565b9050826118468583611b8b565b14611134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60448201527f7700000000000000000000000000000000000000000000000000000000000000606482015260840161041a565b5f602080835283518060208501525f5b818110156118ff578581018301518582016040015282016118e3565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff8116811461195e575f80fd5b50565b5f8060408385031215611972575f80fd5b823561197d8161193d565b946020939093013593505050565b5f805f6060848603121561199d575f80fd5b83356119a88161193d565b925060208401356119b88161193d565b929592945050506040919091013590565b5f602082840312156119d9575f80fd5b81356111348161193d565b5f80604083850312156119f5575f80fd5b8235611a008161193d565b91506020830135611a108161193d565b809150509250929050565b5f60208284031215611a2b575f80fd5b81516111348161193d565b5f805f60608486031215611a48575f80fd5b8351925060208401519150604084015190509250925092565b5f60208284031215611a71575f80fd5b81518015158114611134575f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156102f6576102f6611a80565b818103818111156102f6576102f6611a80565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611b5d57845173ffffffffffffffffffffffffffffffffffffffff1683529383019391830191600101611b2b565b505073ffffffffffffffffffffffffffffffffffffffff969096166060850152505050608001529392505050565b5f82611bbe577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b80820281158282048414176102f6576102f6611a8056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220632c240dbeaea6be53f811f48300b28d85971fda9e89c94519bbf48be519098c64736f6c63430008170033

Deployed Bytecode Sourcemap

3545:9476:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5308:83;;;;;;;;;;-1:-1:-1;5378:5:0;;;;;;;;;;;;;;;;;5308:83;;;;;;;:::i;:::-;;;;;;;;6160:161;;;;;;;;;;-1:-1:-1;6160:161:0;;;;;:::i;:::-;;:::i;:::-;;;1270:14:1;;1263:22;1245:41;;1233:2;1218:18;6160:161:0;1105:187:1;5585:95:0;;;;;;;;;;-1:-1:-1;3956:18:0;5585:95;;;1443:25:1;;;1431:2;1416:18;5585:95:0;1297:177:1;6329:313:0;;;;;;;;;;-1:-1:-1;6329:313:0;;;;;:::i;:::-;;:::i;5494:83::-;;;;;;;;;;-1:-1:-1;5494:83:0;;4372:1;2082:36:1;;2070:2;2055:18;5494:83:0;1940:184:1;5688:138:0;;;;;;;;;;-1:-1:-1;5688:138:0;;;;;:::i;:::-;;:::i;2624:148::-;;;;;;;;;;;;;:::i;:::-;;2410:79;;;;;;;;;;-1:-1:-1;2448:7:0;2475:6;2410:79;;2475:6;;;;2527:74:1;;2515:2;2500:18;2410:79:0;2381:226:1;5399:87:0;;;;;;;;;;-1:-1:-1;5471:7:0;;;;;;;;;;;;;;;;;5399:87;;5834:167;;;;;;;;;;-1:-1:-1;5834:167:0;;;;;:::i;:::-;;:::i;9427:826::-;;;;;;;;;;;;;:::i;6009:143::-;;;;;;;;;;-1:-1:-1;6009:143:0;;;;;:::i;:::-;6117:18;;;;6090:7;6117:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6009:143;6160:161;6235:4;6252:39;208:10;6275:7;6284:6;6252:8;:39::i;:::-;-1:-1:-1;6309:4:0;6160:161;;;;;:::o;6329:313::-;6427:4;6444:36;6454:6;6462:9;6473:6;6444:9;:36::i;:::-;6491:121;6500:6;208:10;6522:89;6560:6;6522:89;;;;;;;;;;;;;;;;;:19;;;;;;;:11;:19;;;;;;;;208:10;6522:33;;;;;;;;;;:37;:89::i;:::-;6491:8;:121::i;:::-;-1:-1:-1;6630:4:0;6329:313;;;;;:::o;5688:138::-;5801:16;;;5754:7;5801:16;;;:7;:16;;;;;;5781:37;;:19;:37::i;2624:148::-;2537:6;;:22;:6;208:10;2537:22;2529:67;;;;;;;3207:2:1;2529:67:0;;;3189:21:1;;;3226:18;;;3219:30;3285:34;3265:18;;;3258:62;3337:18;;2529:67:0;;;;;;;;;2731:1:::1;2715:6:::0;;2694:40:::1;::::0;::::1;2715:6:::0;;::::1;::::0;2694:40:::1;::::0;2731:1;;2694:40:::1;2762:1;2745:19:::0;;;::::1;::::0;;2624:148::o;5834:167::-;5912:4;5929:42;208:10;5953:9;5964:6;5929:9;:42::i;9427:826::-;2537:6;;:22;:6;208:10;2537:22;2529:67;;;;;;;3207:2:1;2529:67:0;;;3189:21:1;;;3226:18;;;3219:30;3285:34;3265:18;;;3258:62;3337:18;;2529:67:0;3005:356:1;2529:67:0;9491:11:::1;::::0;;;::::1;;;9490:12;9482:47;;;::::0;::::1;::::0;;3568:2:1;9482:47:0::1;::::0;::::1;3550:21:1::0;3607:2;3587:18;;;3580:30;3646:25;3626:18;;;3619:53;3689:18;;9482:47:0::1;3366:347:1::0;9482:47:0::1;9651:15;:34:::0;;;::::1;9597:42;9651:34:::0;;::::1;::::0;;;9696:58:::1;9713:4;9597:42:::0;3956:18:::1;9696:8;:58::i;:::-;9799:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9781:56;;;9846:4;9853:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9781:96;::::0;;::::1;::::0;;;;;;4158:42:1;4227:15;;;9781:96:0::1;::::0;::::1;4209:34:1::0;4279:15;;4259:18;;;4252:43;4121:18;;9781:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9765:13;:112:::0;;;::::1;;::::0;;::::1;;::::0;;9888:15:::1;::::0;::::1;:31;9927:21;9958:4;9964:24;9958:4:::0;9964:9:::1;:24::i;:::-;9989:1;9991::::0;9993:7:::1;2448::::0;2475:6;;;;2410:79;9993:7:::1;9888:129;::::0;::::1;::::0;;;;;;;4619:42:1;4688:15;;;9888:129:0::1;::::0;::::1;4670:34:1::0;4720:18;;;4713:34;;;;4763:18;;;4756:34;;;;4806:18;;;4799:34;4870:15;;;4849:19;;;4842:44;10001:15:0::1;4902:19:1::0;;;4895:35;4581:19;;9888:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10028:11:0::1;:18:::0;;10057;;;;;;;;10101:16:::1;10086:12;:31:::0;;;10128:16:::1;:35:::0;10212:15:::1;::::0;10174:71:::1;::::0;;;;10181:13:::1;10212:15:::0;;::::1;10174:71;::::0;::::1;5426:74:1::0;-1:-1:-1;5516:18:1;;;5509:34;10181:13:0;;;-1:-1:-1;10174:29:0::1;::::0;5399:18:1;;10174:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9471:782;9427:826::o:0;6914:335::-;7007:19;;;6999:68;;;;;;;6038:2:1;6999:68:0;;;6020:21:1;6077:2;6057:18;;;6050:30;6116:34;6096:18;;;6089:62;6187:6;6167:18;;;6160:34;6211:19;;6999:68:0;5836:400:1;6999:68:0;7086:21;;;7078:68;;;;;;;6443:2:1;7078:68:0;;;6425:21:1;6482:2;6462:18;;;6455:30;6521:34;6501:18;;;6494:62;6592:4;6572:18;;;6565:32;6614:19;;7078:68:0;6241:398:1;7078:68:0;7157:18;;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7209:32;;1443:25:1;;;7209:32:0;;1416:18:1;7209:32:0;;;;;;;6914:335;;;:::o;7257:1491::-;7345:18;;;7337:68;;;;;;;6846:2:1;7337:68:0;;;6828:21:1;6885:2;6865:18;;;6858:30;6924:34;6904:18;;;6897:62;6995:7;6975:18;;;6968:35;7020:19;;7337:68:0;6644:401:1;7337:68:0;7424:16;;;7416:64;;;;;;;7252:2:1;7416:64:0;;;7234:21:1;7291:2;7271:18;;;7264:30;7330:34;7310:18;;;7303:62;7401:5;7381:18;;;7374:33;7424:19;;7416:64:0;7050:399:1;7416:64:0;7508:1;7499:6;:10;7491:64;;;;;;;7656:2:1;7491:64:0;;;7638:21:1;7695:2;7675:18;;;7668:30;7734:34;7714:18;;;7707:62;7805:11;7785:18;;;7778:39;7834:19;;7491:64:0;7454:405:1;7491:64:0;7578:42;7570:50;;;;;;;:102;;-1:-1:-1;7630:42:0;7624:48;;;;;7570:102;:117;;;;-1:-1:-1;7676:11:0;;;;;;;7570:117;7566:1134;;;7716:1;7704:9;:13;7744:1;7732:9;:13;7772;;;7764:21;;;7772:13;;7764:21;:55;;;;-1:-1:-1;7803:15:0;;;7789:30;;;7803:15;;7789:30;;7764:55;:83;;;;-1:-1:-1;7825:22:0;;;;;;;:18;:22;;;;;;;;7823:24;7764:83;7760:342;;;7886:12;;7876:6;:22;;7868:31;;;;;;7918:18;7939:13;7949:2;7939:9;:13::i;:::-;8004:16;;7918:34;;-1:-1:-1;7980:19:0;7993:6;7918:34;7980:19;:::i;:::-;7979:41;;7971:115;;;;;;;8385:2:1;7971:115:0;;;8367:21:1;8424:2;8404:18;;;8397:30;8463:34;8443:18;;;8436:62;8534:32;8514:18;;;8507:60;8584:19;;7971:115:0;8183:426:1;7971:115:0;7849:253;7760:342;8126:13;;;8120:19;;;8126:13;;8120:19;:55;;;;-1:-1:-1;8159:15:0;;;8143:32;;;8159:15;;8143:32;;8120:55;:85;;;;-1:-1:-1;8181:24:0;;;;;;;:18;:24;;;;;;;;8179:26;8120:85;8116:171;;;8238:1;8226:9;:13;8270:1;8258:9;:13;8116:171;8301:28;8332:24;8350:4;8332:9;:24::i;:::-;8376:6;;8301:55;;-1:-1:-1;8376:6:0;;;;;8375:7;:32;;;;-1:-1:-1;8394:13:0;;;8386:21;;;8394:13;;8386:21;;8375:32;:47;;;;-1:-1:-1;8411:11:0;;;;;;;8375:47;8371:318;;;8443:38;8460:20;8443:16;:38::i;:::-;8529:21;8572:22;;8569:105;;8619:35;8632:21;8619:12;:35::i;:::-;8424:265;8371:318;7689:1011;7566:1134;8710:30;8725:4;8730:2;8733:6;8710:14;:30::i;:::-;7257:1491;;;:::o;1265:190::-;1351:7;1387:12;1379:6;;;;1371:29;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1411:9:0;1423:5;1427:1;1423;:5;:::i;:::-;1411:17;1265:190;-1:-1:-1;;;;;1265:190:0:o;6652:254::-;6719:7;6758;;6747;:18;;6739:73;;;;;;;8949:2:1;6739:73:0;;;8931:21:1;8988:2;8968:18;;;8961:30;9027:34;9007:18;;;9000:62;9098:12;9078:18;;;9071:40;9128:19;;6739:73:0;8747:406:1;6739:73:0;6823:19;6846:10;:8;:10::i;:::-;6823:33;-1:-1:-1;6874:24:0;:7;6823:33;6874:11;:24::i;:::-;6867:31;6652:254;-1:-1:-1;;;6652:254:0:o;8756:483::-;4809:6;:13;;;;;;;;8858:16:::1;::::0;;8872:1:::1;8858:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8858:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8858:16:0::1;8834:40;;8903:4;8885;8890:1;8885:7;;;;;;;;:::i;:::-;:23;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8929:15:::1;::::0;:22:::1;::::0;;;;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;8885:7;;8929:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8919:4;8924:1;8919:7;;;;;;;;:::i;:::-;:32;::::0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;8994:15:::1;::::0;8962:62:::1;::::0;8979:4:::1;::::0;8994:15:::1;9012:11:::0;8962:8:::1;:62::i;:::-;9035:15;::::0;:196:::1;::::0;;;;:15:::1;::::0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9116:11;;9035:15:::1;::::0;9158:4;;9185::::1;::::0;9205:15:::1;::::0;9035:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4845:6:0;:14;;;;;;-1:-1:-1;;;;8756:483:0:o;9261:154::-;9318:15;;;;:39;9343:13;:6;9354:1;9343:10;:13::i;:::-;9318:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9368:15:0;;;;:39;9393:13;:6;9404:1;9393:10;:13::i;:::-;9368:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10271:146;10365:44;10383:6;10391:9;10402:6;10365:17;:44::i;12585:163::-;12626:7;12647:15;12664;12683:19;:17;:19::i;:::-;12646:56;;-1:-1:-1;12646:56:0;-1:-1:-1;12720:20:0;12646:56;;12720:11;:20::i;:::-;12713:27;;;;12585:163;:::o;1717:132::-;1775:7;1802:39;1806:1;1809;1802:39;;;;;;;;;;;;;;;;;:3;:39::i;10425:488::-;10524:15;10541:23;10566:12;10580:23;10605:12;10619:13;10636:19;10647:7;10636:10;:19::i;:::-;10684:15;;;;;;;:7;:15;;;;;;10523:132;;-1:-1:-1;10523:132:0;;-1:-1:-1;10523:132:0;;-1:-1:-1;10523:132:0;-1:-1:-1;10523:132:0;-1:-1:-1;10523:132:0;-1:-1:-1;10684:28:0;;10523:132;10684:19;:28::i;:::-;10666:15;;;;;;;;:7;:15;;;;;;:46;;;;10744:18;;;;;;;:39;;10767:15;10744:22;:39::i;:::-;10723:18;;;;;;;:7;:18;;;;;:60;10795:16;10805:5;10795:9;:16::i;:::-;10822:23;10834:4;10840;10822:11;:23::i;:::-;10878:9;10861:44;;10870:6;10861:44;;;10889:15;10861:44;;;;1443:25:1;;1431:2;1416:18;;1297:177;10861:44:0;;;;;;;;10512:401;;;;;;10425:488;;;:::o;12756:262::-;12853:7;;12806;;;;3956:18;12927:20;12853:7;3956:18;12927:11;:20::i;:::-;12917:7;:30;12913:61;;;-1:-1:-1;;12957:7:0;;;3956:18;;-1:-1:-1;12756:262:0;-1:-1:-1;12756:262:0:o;12913:61::-;12993:7;;13002;;-1:-1:-1;12756:262:0;-1:-1:-1;12756:262:0:o;1857:189::-;1943:7;1978:12;1971:5;1963:28;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2002:9:0;2014:5;2018:1;2014;:5;:::i;11333:471::-;11392:7;11401;11410;11419;11428;11437;11458:23;11483:12;11497:13;11514:42;11526:7;11535:9;;11546;;11514:11;:42::i;:::-;11457:99;;;;;;11567:19;11590:10;:8;:10::i;:::-;11567:33;;11612:15;11629:23;11654:12;11670:46;11682:7;11691:4;11697:5;11704:11;11670;:46::i;:::-;11611:105;;-1:-1:-1;11611:105:0;-1:-1:-1;11611:105:0;-1:-1:-1;11767:15:0;;-1:-1:-1;11784:4:0;;-1:-1:-1;11790:5:0;;-1:-1:-1;;;;;11333:471:0;;;;;;;:::o;1121:136::-;1179:7;1206:43;1210:1;1213;1206:43;;;;;;;;;;;;;;;;;:3;:43::i;934:179::-;992:7;;1024:5;1028:1;1024;:5;:::i;:::-;1012:17;;1053:1;1048;:6;;1040:46;;;;;;;11048:2:1;1040:46:0;;;11030:21:1;11087:2;11067:18;;;11060:30;11126:29;11106:18;;;11099:57;11173:18;;1040:46:0;10846:351:1;10921:212:0;10974:19;10997:10;:8;:10::i;:::-;10974:33;-1:-1:-1;11018:13:0;11034:22;:5;10974:33;11034:9;:22::i;:::-;11108:4;11092:22;;;;:7;:22;;;;;;11018:38;;-1:-1:-1;11092:33:0;;11018:38;11092:26;:33::i;:::-;11083:4;11067:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;10921:212:0:o;11141:147::-;11219:7;;:17;;11231:4;11219:11;:17::i;:::-;11209:7;:27;11260:10;;:20;;11275:4;11260:14;:20::i;:::-;11247:10;:33;-1:-1:-1;;11141:147:0:o;11812:351::-;11905:7;;;;11958:28;11982:3;11958:19;:7;11970:6;11958:11;:19::i;:::-;:23;;:28::i;:::-;11943:43;-1:-1:-1;11997:13:0;12013:29;12038:3;12013:20;:7;12025;12013:11;:20::i;:29::-;11997:45;-1:-1:-1;12053:23:0;12079:28;11997:45;12079:17;:7;12091:4;12079:11;:17::i;:::-;:21;;:28::i;:::-;12053:54;12143:4;;-1:-1:-1;12149:5:0;;-1:-1:-1;11812:351:0;;-1:-1:-1;;;;;11812:351:0:o;12171:409::-;12281:7;;;;12337:24;:7;12349:11;12337;:24::i;:::-;12319:42;-1:-1:-1;12372:12:0;12387:21;:4;12396:11;12387:8;:21::i;:::-;12372:36;-1:-1:-1;12419:13:0;12435:22;:5;12445:11;12435:9;:22::i;:::-;12419:38;-1:-1:-1;12468:23:0;12494:28;12419:38;12494:17;:7;12506:4;12494:11;:17::i;:28::-;12541:7;;;;-1:-1:-1;12567:4:0;;-1:-1:-1;12171:409:0;;-1:-1:-1;;;;;;;12171:409:0:o;1463:246::-;1521:7;1545:1;1550;1545:6;1541:47;;-1:-1:-1;1575:1:0;1568:8;;1541:47;1598:9;1610:5;1614:1;1610;:5;:::i;:::-;1598:17;-1:-1:-1;1643:1:0;1634:5;1638:1;1598:17;1634:5;:::i;:::-;:10;1626:56;;;;;;;11577:2:1;1626:56:0;;;11559:21:1;11616:2;11596:18;;;11589:30;11655:34;11635:18;;;11628:62;11726:3;11706:18;;;11699:31;11747:19;;1626:56:0;11375:397:1;14:607;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;612:2;542:66;537:2;529:6;525:15;521:88;510:9;506:104;502:113;494:121;;;;14:607;;;;:::o;626:154::-;712:42;705:5;701:54;694:5;691:65;681:93;;770:1;767;760:12;681:93;626:154;:::o;785:315::-;853:6;861;914:2;902:9;893:7;889:23;885:32;882:52;;;930:1;927;920:12;882:52;969:9;956:23;988:31;1013:5;988:31;:::i;:::-;1038:5;1090:2;1075:18;;;;1062:32;;-1:-1:-1;;;785:315:1:o;1479:456::-;1556:6;1564;1572;1625:2;1613:9;1604:7;1600:23;1596:32;1593:52;;;1641:1;1638;1631:12;1593:52;1680:9;1667:23;1699:31;1724:5;1699:31;:::i;:::-;1749:5;-1:-1:-1;1806:2:1;1791:18;;1778:32;1819:33;1778:32;1819:33;:::i;:::-;1479:456;;1871:7;;-1:-1:-1;;;1925:2:1;1910:18;;;;1897:32;;1479:456::o;2129:247::-;2188:6;2241:2;2229:9;2220:7;2216:23;2212:32;2209:52;;;2257:1;2254;2247:12;2209:52;2296:9;2283:23;2315:31;2340:5;2315:31;:::i;2612:388::-;2680:6;2688;2741:2;2729:9;2720:7;2716:23;2712:32;2709:52;;;2757:1;2754;2747:12;2709:52;2796:9;2783:23;2815:31;2840:5;2815:31;:::i;:::-;2865:5;-1:-1:-1;2922:2:1;2907:18;;2894:32;2935:33;2894:32;2935:33;:::i;:::-;2987:7;2977:17;;;2612:388;;;;;:::o;3718:251::-;3788:6;3841:2;3829:9;3820:7;3816:23;3812:32;3809:52;;;3857:1;3854;3847:12;3809:52;3889:9;3883:16;3908:31;3933:5;3908:31;:::i;4941:306::-;5029:6;5037;5045;5098:2;5086:9;5077:7;5073:23;5069:32;5066:52;;;5114:1;5111;5104:12;5066:52;5143:9;5137:16;5127:26;;5193:2;5182:9;5178:18;5172:25;5162:35;;5237:2;5226:9;5222:18;5216:25;5206:35;;4941:306;;;;;:::o;5554:277::-;5621:6;5674:2;5662:9;5653:7;5649:23;5645:32;5642:52;;;5690:1;5687;5680:12;5642:52;5722:9;5716:16;5775:5;5768:13;5761:21;5754:5;5751:32;5741:60;;5797:1;5794;5787:12;7864:184;7916:77;7913:1;7906:88;8013:4;8010:1;8003:15;8037:4;8034:1;8027:15;8053:125;8118:9;;;8139:10;;;8136:36;;;8152:18;;:::i;8614:128::-;8681:9;;;8702:11;;;8699:37;;;8716:18;;:::i;9347:184::-;9399:77;9396:1;9389:88;9496:4;9493:1;9486:15;9520:4;9517:1;9510:15;9536:1026;9798:4;9846:3;9835:9;9831:19;9877:6;9866:9;9859:25;9903:2;9941:6;9936:2;9925:9;9921:18;9914:34;9984:3;9979:2;9968:9;9964:18;9957:31;10008:6;10043;10037:13;10074:6;10066;10059:22;10112:3;10101:9;10097:19;10090:26;;10151:2;10143:6;10139:15;10125:29;;10172:1;10182:218;10196:6;10193:1;10190:13;10182:218;;;10261:13;;10276:42;10257:62;10245:75;;10375:15;;;;10340:12;;;;10218:1;10211:9;10182:218;;;-1:-1:-1;;10468:42:1;10456:55;;;;10451:2;10436:18;;10429:83;-1:-1:-1;;;10543:3:1;10528:19;10521:35;10417:3;9536:1026;-1:-1:-1;;;9536:1026:1:o;10567:274::-;10607:1;10633;10623:189;;10668:77;10665:1;10658:88;10769:4;10766:1;10759:15;10797:4;10794:1;10787:15;10623:189;-1:-1:-1;10826:9:1;;10567:274::o;11202:168::-;11275:9;;;11306;;11323:15;;;11317:22;;11303:37;11293:71;;11344:18;;:::i

Swarm Source

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