ETH Price: $2,631.02 (-1.53%)
Gas: 1 Gwei

Token

TadPole Man (TPM)
 

Overview

Max Total Supply

420,000,000,000,000 TPM

Holders

310

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
rugumomdead.eth
Balance
529,880,275,430.264654562 TPM

Value
$0.00
0x69da5de0849529fd4b5d27f7e2df67154a9756b1
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:
TadpoleMan

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
File 1 of 1 : tadpoleman.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}



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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address public _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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




contract TadpoleMan is Ownable, IERC20 {
    

    address WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;
    

    string constant private _name = "TadPole Man";
    string constant private _symbol = "TPM";
    uint256 _totalSupply;
    uint8 constant _decimals = 9; 


    uint public maxBuyPercent = 1;
    function setMaxBuyPercent(uint Percent) public onlyOwner{
        require(Percent <= 100,"can't exceed 100");
        maxBuyPercent = Percent;
    }
    
  
         

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;  
    

    address public marketingWallet;
    
    bool public swapEnabled;
    function setSwapEnable(bool _swapEnabled) public onlyOwner{
        swapEnabled = _swapEnabled;
        _updateSwapThreshold();
    }
    function _random(uint number) internal view returns(uint) {
        // emit log_difficulty(block.difficulty);
        return uint(keccak256(abi.encodePacked(block.timestamp,block.coinbase,block.difficulty,  
        msg.sender))) % number;
    }
    uint private  _swapThreshold;
    function _updateSwapThreshold() internal {
        _swapThreshold = _totalSupply * (70 + _random(430)) / 100  / 100;
    }

    

    IDEXRouter public router;
    address public pair;
    
    
    uint public tradeStartTime;
    bool public tradeStart;
    function setTradeStart(bool start) public onlyOwner{
        tradeStart = start;
        tradeStartTime = block.timestamp;
    }
    function getBuyTax() public view returns(uint buyTax){
        require(tradeStart,"trade not start");        
        uint deltaTime = block.timestamp - tradeStartTime;
        if (deltaTime >= 600){
            buyTax = 1;
        }else if(deltaTime >= 300){
            buyTax = 5;
        }else if(deltaTime >= 180){
            buyTax = 10;
        }else if(deltaTime >= 30){
            buyTax = 20;
        }else{
            buyTax = 30;
        }
    }
    function getSellTax() public view returns(uint sellTax){
        require(tradeStart,"trade not start");        
        uint deltaTime = block.timestamp - tradeStartTime;
        if (deltaTime >= 600){
            sellTax = 1;
        }else if(deltaTime >= 300){
            sellTax = 5;
        }else if(deltaTime >= 180){
            sellTax = 10;
        }else if(deltaTime >= 30){
            sellTax = 20;
        }else{
            sellTax = 50;
        }
    }
    uint private _buyTax;
    function _updateBuyTax() internal{
        if (_buyTax != 1){
            _buyTax = getBuyTax();
        }        

    }
    uint private _sellTax;
    function _updateSellTax() internal{
        if (_sellTax != 1){
            _sellTax = getSellTax();
        }       

    }
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }   
    uint public liquitdyShare;
    
    
    constructor () {
        address router_address = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
        router = IDEXRouter(router_address);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        
        
        _allowances[address(this)][address(router)] = type(uint256).max;
        
        
        
        uint totalAmount = 420000000000000 * (10**(_decimals));       
        liquitdyShare = totalAmount * 90 / 100;
        uint lottery = totalAmount * 9 /100;
        uint treasury = totalAmount / 100; 
        
        
        marketingWallet = 0x7a1cDb0C07A394F924CAC9810fF703187B70baA9;
        _mint(address(this),liquitdyShare);
        _mint(0x05354F415F4F2F284e21231b65f988D9FebE20b8,lottery);
        _mint(0x7a1cDb0C07A394F924CAC9810fF703187B70baA9,treasury);
        
        _updateSwapThreshold();

    }

    // receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) {return owner();}
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transfer(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function addLiquidity() public payable  onlyOwner{
        address tmp = pair;
        pair = ZERO;
        router.addLiquidityETH{value:msg.value}(address(this),liquitdyShare, 0, 0, marketingWallet, block.timestamp + 300);
        pair = tmp;
    }
    

      
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual returns(bool) {
        if (inSwap){
            _basicTransfer(from,to,amount);
            return true;
        }
        
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        if (shouldSwap()){
            swapToMarketingWallet();
        }
        
        uint amountToTransfer = amount;
        uint amountToMarketingWallet = 0;
        //buy
        if (from == pair && to != marketingWallet)
        {
            require(amount <= _totalSupply * maxBuyPercent/100,"exceed the max buy volume" );
            _updateBuyTax();
            amountToMarketingWallet = amount * _buyTax / 100;
            amountToTransfer = amount - amountToMarketingWallet;
        //sell
        }else if(to == pair && from != marketingWallet){
            _updateSellTax();
            amountToMarketingWallet = amount * _sellTax / 100;
            amountToTransfer = amount - amountToMarketingWallet;
        }

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        
        unchecked {
            
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[from] = fromBalance - amount;
            _balances[to] += amountToTransfer;
            _balances[address(this)] += amountToMarketingWallet;
        }
        

        emit Transfer(from, to, amountToTransfer);
        if (amountToMarketingWallet > 0){
            emit Transfer(from,address(this),amountToMarketingWallet);
        }
        return true;
    }
    function _basicTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
            // Overflow not possible: the sum of all balances is capped by totalSupply, and the sum is preserved by
            // decrementing then incrementing.
            _balances[to] += amount;
        }

        emit Transfer(from, to, amount);

    }

    function shouldSwap() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= _swapThreshold;
    }
    function swapToMarketingWallet() internal swapping {
        require(marketingWallet != address(0), "please set marketing wallet");
        uint feeBalance = _swapThreshold;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;
        
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            feeBalance,
            0,
            path,
            marketingWallet,
            block.timestamp + 300
        );
        _updateSwapThreshold();
    }

    function manulSwapToETH() public {
        require(msg.sender == marketingWallet,"not marketingWallet");
        swapToMarketingWallet();
    }
    
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        unchecked {
            // Overflow not possible: balance + amount is at most totalSupply + amount, which is checked above.
            _balances[account] += amount;
        }
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(account, address(0), amount);

    }

      
   
}

Settings
{
  "evmVersion": "istanbul",
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "libraries": {
    "tadpoleman.sol": {}
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"getBuyTax","outputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSellTax","outputs":[{"internalType":"uint256","name":"sellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquitdyShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manulSwapToETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"Percent","type":"uint256"}],"name":"setMaxBuyPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"setSwapEnable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"start","type":"bool"}],"name":"setTradeStart","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[],"name":"tradeStart","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradeStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405260016004553480156200001657600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b81529051829163ad5c46489160048083019260209291908290030181865afa158015620000d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fd9190620004a5565b600280546001600160a01b0319166001600160a01b039283161790556009546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200015c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001829190620004a5565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001d4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fa9190620004a5565b600a80546001600160a01b0319166001600160a01b0392831617815530600090815260066020908152604080832060098054909616845290915281206000199055916200024791620005ea565b6200025a9066017dfcdece4000620005fb565b905060646200026b82605a620005fb565b6200027791906200062b565b601055600060646200028b836009620005fb565b6200029791906200062b565b90506000620002a86064846200062b565b600780546001600160a01b031916737a1cdb0c07a394f924cac9810ff703187b70baa9179055601054909150620002e190309062000335565b620003017305354f415f4f2f284e21231b65f988d9febe20b88362000335565b62000321737a1cdb0c07a394f924cac9810ff703187b70baa98262000335565b6200032b620003fd565b505050506200066f565b6001600160a01b038216620003905760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060036000828254620003a4919062000642565b90915550506001600160a01b0382166000818152600560209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6064806200040d6101ae62000446565b6200041a90604662000642565b600354620004299190620005fb565b6200043591906200062b565b6200044191906200062b565b600855565b60408051426020808301919091526001600160601b031941606090811b82168486015244605485015233901b16607483015282518083036068018152608890920190925280519101206000906200049f90839062000658565b92915050565b600060208284031215620004b857600080fd5b81516001600160a01b0381168114620004d057600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200052e578160001904821115620005125762000512620004d7565b808516156200052057918102915b93841c9390800290620004f2565b509250929050565b60008262000547575060016200049f565b8162000556575060006200049f565b81600181146200056f57600281146200057a576200059a565b60019150506200049f565b60ff8411156200058e576200058e620004d7565b50506001821b6200049f565b5060208310610133831016604e8410600b8410161715620005bf575081810a6200049f565b620005cb8383620004ed565b8060001904821115620005e257620005e2620004d7565b029392505050565b6000620004d060ff84168362000536565b80820281158282048414176200049f576200049f620004d7565b634e487b7160e01b600052601260045260246000fd5b6000826200063d576200063d62000615565b500490565b808201808211156200049f576200049f620004d7565b6000826200066a576200066a62000615565b500690565b6115fd806200067f6000396000f3fe6080604052600436106101cd5760003560e01c806389aad45b116100f7578063b2bdfa7b11610095578063ed173bcc11610064578063ed173bcc14610522578063f2fde38b1461053c578063f887ea401461055c578063f9dff3d71461057c57600080fd5b8063b2bdfa7b14610494578063dd62ed3e146104b4578063e40ffe00146104fa578063e8078d941461051a57600080fd5b806395d89b41116100d157806395d89b4114610413578063a8aa1b311461043f578063a9059cbb1461045f578063b0bc85de1461047f57600080fd5b806389aad45b146103dd5780638a977cee146103f35780638da5cb5b146103bf57600080fd5b8063313ce5671161016f57806370a082311161013e57806370a082311461033c578063715018a61461037257806375f0a87414610387578063893d20e8146103bf57600080fd5b8063313ce567146102c9578063571ac8b0146102e557806362570b99146103055780636ddd17131461031b57600080fd5b806318160ddd116101ab57806318160ddd1461025f57806323b872dd1461027e578063252d723a1461029e5780632c735ef8146102b357600080fd5b806306fdde03146101d2578063095ea7b31461021857806313a4df6a14610248575b600080fd5b3480156101de57600080fd5b5060408051808201909152600b81526a2a30b22837b6329026b0b760a91b60208201525b60405161020f9190611225565b60405180910390f35b34801561022457600080fd5b5061023861023336600461128f565b61059c565b604051901515815260200161020f565b34801561025457600080fd5b5061025d610609565b005b34801561026b57600080fd5b506003545b60405190815260200161020f565b34801561028a57600080fd5b506102386102993660046112b9565b610668565b3480156102aa57600080fd5b506102706106fd565b3480156102bf57600080fd5b50610270600b5481565b3480156102d557600080fd5b506040516009815260200161020f565b3480156102f157600080fd5b506102386103003660046112f5565b6107a0565b34801561031157600080fd5b5061027060105481565b34801561032757600080fd5b5060075461023890600160a01b900460ff1681565b34801561034857600080fd5b506102706103573660046112f5565b6001600160a01b031660009081526005602052604090205490565b34801561037e57600080fd5b5061025d6107ae565b34801561039357600080fd5b506007546103a7906001600160a01b031681565b6040516001600160a01b03909116815260200161020f565b3480156103cb57600080fd5b506000546001600160a01b03166103a7565b3480156103e957600080fd5b5061027060045481565b3480156103ff57600080fd5b5061025d61040e366004611310565b610827565b34801561041f57600080fd5b5060408051808201909152600381526254504d60e81b6020820152610202565b34801561044b57600080fd5b50600a546103a7906001600160a01b031681565b34801561046b57600080fd5b5061023861047a36600461128f565b61089a565b34801561048b57600080fd5b506102706108a7565b3480156104a057600080fd5b506000546103a7906001600160a01b031681565b3480156104c057600080fd5b506102706104cf366004611329565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561050657600080fd5b5061025d61051536600461135c565b61094a565b61025d610996565b34801561052e57600080fd5b50600c546102389060ff1681565b34801561054857600080fd5b5061025d6105573660046112f5565b610abf565b34801561056857600080fd5b506009546103a7906001600160a01b031681565b34801561058857600080fd5b5061025d61059736600461135c565b610ba9565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105f79086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b0316331461065e5760405162461bcd60e51b81526020600482015260136024820152721b9bdd081b585c9ad95d1a5b99d5d85b1b195d606a1b60448201526064015b60405180910390fd5b610666610bea565b565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146106e8576001600160a01b03841660009081526006602090815260408083203384529091529020546106c3908390611394565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6106f3848484610d5a565b90505b9392505050565b600c5460009060ff166107445760405162461bcd60e51b815260206004820152600f60248201526e1d1c985919481b9bdd081cdd185c9d608a1b6044820152606401610655565b6000600b54426107549190611394565b9050610258811061076757600191505090565b61012c811061077857600591505090565b60b4811061078857600a91505090565b601e811061079857601491505090565b601e91505090565b60006106038260001961059c565b6000546001600160a01b031633146107d85760405162461bcd60e51b8152600401610655906113a7565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b905090565b6000546001600160a01b031633146108515760405162461bcd60e51b8152600401610655906113a7565b60648111156108955760405162461bcd60e51b815260206004820152601060248201526f063616e277420657863656564203130360841b6044820152606401610655565b600455565b60006106f6338484610d5a565b600c5460009060ff166108ee5760405162461bcd60e51b815260206004820152600f60248201526e1d1c985919481b9bdd081cdd185c9d608a1b6044820152606401610655565b6000600b54426108fe9190611394565b9050610258811061091157600191505090565b61012c811061092257600591505090565b60b4811061093257600a91505090565b601e811061094257601491505090565b603291505090565b6000546001600160a01b031633146109745760405162461bcd60e51b8152600401610655906113a7565b6007805460ff60a01b1916600160a01b83151502179055610993611013565b50565b6000546001600160a01b031633146109c05760405162461bcd60e51b8152600401610655906113a7565b600a80546001600160a01b031981169091556009546010546007546001600160a01b03938416939283169263f305d7199234923092600091829116610a074261012c6113dc565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015610a74573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a9991906113ef565b5050600a80546001600160a01b0319166001600160a01b03939093169290921790915550565b6000546001600160a01b03163314610ae95760405162461bcd60e51b8152600401610655906113a7565b6001600160a01b038116610b4e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610655565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610bd35760405162461bcd60e51b8152600401610655906113a7565b600c805460ff191691151591909117905542600b55565b600f805460ff191660011790556007546001600160a01b0316610c4f5760405162461bcd60e51b815260206004820152601b60248201527f706c6561736520736574206d61726b6574696e672077616c6c657400000000006044820152606401610655565b6008546040805160028082526060820183526000926020830190803683370190505090503081600081518110610c8757610c8761141d565b6001600160a01b039283166020918202929092010152600254825191169082906001908110610cb857610cb861141d565b6001600160a01b0392831660209182029290920101526009546007549082169163791ac947918591600091869116610cf24261012c6113dc565b6040518663ffffffff1660e01b8152600401610d12959493929190611433565b600060405180830381600087803b158015610d2c57600080fd5b505af1158015610d40573d6000803e3d6000fd5b50505050610d4c611013565b5050600f805460ff19169055565b600f5460009060ff1615610d7b57610d73848484611052565b5060016106f6565b6001600160a01b038416610da15760405162461bcd60e51b8152600401610655906114a4565b6001600160a01b038316610dc75760405162461bcd60e51b8152600401610655906114e9565b610dcf611145565b15610ddc57610ddc610bea565b600a5482906000906001600160a01b038781169116148015610e0c57506007546001600160a01b03868116911614155b15610eb1576064600454600354610e23919061152c565b610e2d9190611559565b841115610e7c5760405162461bcd60e51b815260206004820152601960248201527f65786365656420746865206d61782062757920766f6c756d65000000000000006044820152606401610655565b610e8461119b565b6064600d5485610e94919061152c565b610e9e9190611559565b9050610eaa8185611394565b9150610f12565b600a546001600160a01b038681169116148015610edc57506007546001600160a01b03878116911614155b15610f1257610ee96111b2565b6064600e5485610ef9919061152c565b610f039190611559565b9050610f0f8185611394565b91505b6001600160a01b03861660009081526005602052604090205484811015610f4b5760405162461bcd60e51b81526004016106559061156d565b6001600160a01b0380881660008181526005602052604080822089860390559289168082528382208054880190553082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fb79087815260200190565b60405180910390a381156110065760405182815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5060019695505050505050565b6064806110216101ae6111c9565b61102c9060466113dc565b600354611039919061152c565b6110439190611559565b61104d9190611559565b600855565b6001600160a01b0383166110785760405162461bcd60e51b8152600401610655906114a4565b6001600160a01b03821661109e5760405162461bcd60e51b8152600401610655906114e9565b6001600160a01b038316600090815260056020526040902054818110156110d75760405162461bcd60e51b81526004016106559061156d565b6001600160a01b0380851660008181526005602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111379086815260200190565b60405180910390a350505050565b600a546000906001600160a01b031633148015906111665750600f5460ff16155b801561117b5750600754600160a01b900460ff165b801561082257505060085430600090815260056020526040902054101590565b600d54600114610666576111ad6106fd565b600d55565b600e54600114610666576111c46108a7565b600e55565b60408051426020808301919091526bffffffffffffffffffffffff1941606090811b82168486015244605485015233901b16607483015282518083036068018152608890920190925280519101206000906106039083906115b3565b600060208083528351808285015260005b8181101561125257858101830151858201604001528201611236565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461128a57600080fd5b919050565b600080604083850312156112a257600080fd5b6112ab83611273565b946020939093013593505050565b6000806000606084860312156112ce57600080fd5b6112d784611273565b92506112e560208501611273565b9150604084013590509250925092565b60006020828403121561130757600080fd5b6106f682611273565b60006020828403121561132257600080fd5b5035919050565b6000806040838503121561133c57600080fd5b61134583611273565b915061135360208401611273565b90509250929050565b60006020828403121561136e57600080fd5b813580151581146106f657600080fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156106035761060361137e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156106035761060361137e565b60008060006060848603121561140457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114835784516001600160a01b03168352938301939183019160010161145e565b50506001600160a01b03969096166060850152505050608001529392505050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176106035761060361137e565b634e487b7160e01b600052601260045260246000fd5b60008261156857611568611543565b500490565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b6000826115c2576115c2611543565b50069056fea2646970667358221220a4b5a5d6de9010310686d50bc8eb3edac26eafcc7f7d9f8fa3bcb2a1cf3bc53864736f6c63430008140033

Deployed Bytecode

0x6080604052600436106101cd5760003560e01c806389aad45b116100f7578063b2bdfa7b11610095578063ed173bcc11610064578063ed173bcc14610522578063f2fde38b1461053c578063f887ea401461055c578063f9dff3d71461057c57600080fd5b8063b2bdfa7b14610494578063dd62ed3e146104b4578063e40ffe00146104fa578063e8078d941461051a57600080fd5b806395d89b41116100d157806395d89b4114610413578063a8aa1b311461043f578063a9059cbb1461045f578063b0bc85de1461047f57600080fd5b806389aad45b146103dd5780638a977cee146103f35780638da5cb5b146103bf57600080fd5b8063313ce5671161016f57806370a082311161013e57806370a082311461033c578063715018a61461037257806375f0a87414610387578063893d20e8146103bf57600080fd5b8063313ce567146102c9578063571ac8b0146102e557806362570b99146103055780636ddd17131461031b57600080fd5b806318160ddd116101ab57806318160ddd1461025f57806323b872dd1461027e578063252d723a1461029e5780632c735ef8146102b357600080fd5b806306fdde03146101d2578063095ea7b31461021857806313a4df6a14610248575b600080fd5b3480156101de57600080fd5b5060408051808201909152600b81526a2a30b22837b6329026b0b760a91b60208201525b60405161020f9190611225565b60405180910390f35b34801561022457600080fd5b5061023861023336600461128f565b61059c565b604051901515815260200161020f565b34801561025457600080fd5b5061025d610609565b005b34801561026b57600080fd5b506003545b60405190815260200161020f565b34801561028a57600080fd5b506102386102993660046112b9565b610668565b3480156102aa57600080fd5b506102706106fd565b3480156102bf57600080fd5b50610270600b5481565b3480156102d557600080fd5b506040516009815260200161020f565b3480156102f157600080fd5b506102386103003660046112f5565b6107a0565b34801561031157600080fd5b5061027060105481565b34801561032757600080fd5b5060075461023890600160a01b900460ff1681565b34801561034857600080fd5b506102706103573660046112f5565b6001600160a01b031660009081526005602052604090205490565b34801561037e57600080fd5b5061025d6107ae565b34801561039357600080fd5b506007546103a7906001600160a01b031681565b6040516001600160a01b03909116815260200161020f565b3480156103cb57600080fd5b506000546001600160a01b03166103a7565b3480156103e957600080fd5b5061027060045481565b3480156103ff57600080fd5b5061025d61040e366004611310565b610827565b34801561041f57600080fd5b5060408051808201909152600381526254504d60e81b6020820152610202565b34801561044b57600080fd5b50600a546103a7906001600160a01b031681565b34801561046b57600080fd5b5061023861047a36600461128f565b61089a565b34801561048b57600080fd5b506102706108a7565b3480156104a057600080fd5b506000546103a7906001600160a01b031681565b3480156104c057600080fd5b506102706104cf366004611329565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561050657600080fd5b5061025d61051536600461135c565b61094a565b61025d610996565b34801561052e57600080fd5b50600c546102389060ff1681565b34801561054857600080fd5b5061025d6105573660046112f5565b610abf565b34801561056857600080fd5b506009546103a7906001600160a01b031681565b34801561058857600080fd5b5061025d61059736600461135c565b610ba9565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105f79086815260200190565b60405180910390a35060015b92915050565b6007546001600160a01b0316331461065e5760405162461bcd60e51b81526020600482015260136024820152721b9bdd081b585c9ad95d1a5b99d5d85b1b195d606a1b60448201526064015b60405180910390fd5b610666610bea565b565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146106e8576001600160a01b03841660009081526006602090815260408083203384529091529020546106c3908390611394565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6106f3848484610d5a565b90505b9392505050565b600c5460009060ff166107445760405162461bcd60e51b815260206004820152600f60248201526e1d1c985919481b9bdd081cdd185c9d608a1b6044820152606401610655565b6000600b54426107549190611394565b9050610258811061076757600191505090565b61012c811061077857600591505090565b60b4811061078857600a91505090565b601e811061079857601491505090565b601e91505090565b60006106038260001961059c565b6000546001600160a01b031633146107d85760405162461bcd60e51b8152600401610655906113a7565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b905090565b6000546001600160a01b031633146108515760405162461bcd60e51b8152600401610655906113a7565b60648111156108955760405162461bcd60e51b815260206004820152601060248201526f063616e277420657863656564203130360841b6044820152606401610655565b600455565b60006106f6338484610d5a565b600c5460009060ff166108ee5760405162461bcd60e51b815260206004820152600f60248201526e1d1c985919481b9bdd081cdd185c9d608a1b6044820152606401610655565b6000600b54426108fe9190611394565b9050610258811061091157600191505090565b61012c811061092257600591505090565b60b4811061093257600a91505090565b601e811061094257601491505090565b603291505090565b6000546001600160a01b031633146109745760405162461bcd60e51b8152600401610655906113a7565b6007805460ff60a01b1916600160a01b83151502179055610993611013565b50565b6000546001600160a01b031633146109c05760405162461bcd60e51b8152600401610655906113a7565b600a80546001600160a01b031981169091556009546010546007546001600160a01b03938416939283169263f305d7199234923092600091829116610a074261012c6113dc565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af1158015610a74573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a9991906113ef565b5050600a80546001600160a01b0319166001600160a01b03939093169290921790915550565b6000546001600160a01b03163314610ae95760405162461bcd60e51b8152600401610655906113a7565b6001600160a01b038116610b4e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610655565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610bd35760405162461bcd60e51b8152600401610655906113a7565b600c805460ff191691151591909117905542600b55565b600f805460ff191660011790556007546001600160a01b0316610c4f5760405162461bcd60e51b815260206004820152601b60248201527f706c6561736520736574206d61726b6574696e672077616c6c657400000000006044820152606401610655565b6008546040805160028082526060820183526000926020830190803683370190505090503081600081518110610c8757610c8761141d565b6001600160a01b039283166020918202929092010152600254825191169082906001908110610cb857610cb861141d565b6001600160a01b0392831660209182029290920101526009546007549082169163791ac947918591600091869116610cf24261012c6113dc565b6040518663ffffffff1660e01b8152600401610d12959493929190611433565b600060405180830381600087803b158015610d2c57600080fd5b505af1158015610d40573d6000803e3d6000fd5b50505050610d4c611013565b5050600f805460ff19169055565b600f5460009060ff1615610d7b57610d73848484611052565b5060016106f6565b6001600160a01b038416610da15760405162461bcd60e51b8152600401610655906114a4565b6001600160a01b038316610dc75760405162461bcd60e51b8152600401610655906114e9565b610dcf611145565b15610ddc57610ddc610bea565b600a5482906000906001600160a01b038781169116148015610e0c57506007546001600160a01b03868116911614155b15610eb1576064600454600354610e23919061152c565b610e2d9190611559565b841115610e7c5760405162461bcd60e51b815260206004820152601960248201527f65786365656420746865206d61782062757920766f6c756d65000000000000006044820152606401610655565b610e8461119b565b6064600d5485610e94919061152c565b610e9e9190611559565b9050610eaa8185611394565b9150610f12565b600a546001600160a01b038681169116148015610edc57506007546001600160a01b03878116911614155b15610f1257610ee96111b2565b6064600e5485610ef9919061152c565b610f039190611559565b9050610f0f8185611394565b91505b6001600160a01b03861660009081526005602052604090205484811015610f4b5760405162461bcd60e51b81526004016106559061156d565b6001600160a01b0380881660008181526005602052604080822089860390559289168082528382208054880190553082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fb79087815260200190565b60405180910390a381156110065760405182815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5060019695505050505050565b6064806110216101ae6111c9565b61102c9060466113dc565b600354611039919061152c565b6110439190611559565b61104d9190611559565b600855565b6001600160a01b0383166110785760405162461bcd60e51b8152600401610655906114a4565b6001600160a01b03821661109e5760405162461bcd60e51b8152600401610655906114e9565b6001600160a01b038316600090815260056020526040902054818110156110d75760405162461bcd60e51b81526004016106559061156d565b6001600160a01b0380851660008181526005602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111379086815260200190565b60405180910390a350505050565b600a546000906001600160a01b031633148015906111665750600f5460ff16155b801561117b5750600754600160a01b900460ff165b801561082257505060085430600090815260056020526040902054101590565b600d54600114610666576111ad6106fd565b600d55565b600e54600114610666576111c46108a7565b600e55565b60408051426020808301919091526bffffffffffffffffffffffff1941606090811b82168486015244605485015233901b16607483015282518083036068018152608890920190925280519101206000906106039083906115b3565b600060208083528351808285015260005b8181101561125257858101830151858201604001528201611236565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461128a57600080fd5b919050565b600080604083850312156112a257600080fd5b6112ab83611273565b946020939093013593505050565b6000806000606084860312156112ce57600080fd5b6112d784611273565b92506112e560208501611273565b9150604084013590509250925092565b60006020828403121561130757600080fd5b6106f682611273565b60006020828403121561132257600080fd5b5035919050565b6000806040838503121561133c57600080fd5b61134583611273565b915061135360208401611273565b90509250929050565b60006020828403121561136e57600080fd5b813580151581146106f657600080fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156106035761060361137e565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156106035761060361137e565b60008060006060848603121561140457600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114835784516001600160a01b03168352938301939183019160010161145e565b50506001600160a01b03969096166060850152505050608001529392505050565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b80820281158282048414176106035761060361137e565b634e487b7160e01b600052601260045260246000fd5b60008261156857611568611543565b500490565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b6000826115c2576115c2611543565b50069056fea2646970667358221220a4b5a5d6de9010310686d50bc8eb3edac26eafcc7f7d9f8fa3bcb2a1cf3bc53864736f6c63430008140033

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.