ETH Price: $3,406.70 (+2.13%)

Token

Bonsai (BONSAI)
 

Overview

Max Total Supply

1,000,000,000 BONSAI

Holders

20

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000000000457194682 BONSAI

Value
$0.00
0x753469f9191469bc9196ebd8f716ba5eeb4dae49
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:
BonsaiToken

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : BonsaiToken.sol
//        ,.,
//       MMMM_    ,..,
//         "_ "__"MMMMM          ,...,,
//  ,..., __." --"    ,.,     _-"MMMMMMM
// MMMMMM"___ "_._   MMM"_."" _ """"""
//  """""    "" , \_.   "_. ."
//         ,., _"__ \__./ ."
//        MMMMM_"  "_    ./
//         ''''      (    )
//  ._______________.-'____"---._.
//   \                          /
//    \________________________/
//    (_)                    (_)
//
//
//    BONSAI
//      "The object is not to make the tree look like a bonsai, but to make the bonsai look like a tree."
//      Let your investment grow and flourish like a bonsai tree.
//
//    Website: https://bonsaierc.io/
//    Telegram: https://t.me/bonsaierc
//    Twitter: https://twitter.com/bonsaierc_io
//
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

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

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

    function WETH() external pure returns (address);

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

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

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

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

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

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

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

contract BonsaiToken is IERC20, Ownable {
    IDEXRouter public router;
    address constant routerAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    string constant _name = "Bonsai";
    string constant _symbol = "BONSAI";
    uint8 constant _decimals = 18;

    uint256 liquidityFee = 150;
    uint256 shillFee = 150;
    uint256 totalFee = liquidityFee + shillFee;

    uint256 feeDenominator = 10000;

    uint256 public launchedAt;
    bool isTradingAllowed = false;

    uint256 constant _totalSupply = 1_000_000_000 * (10 ** _decimals);

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

    mapping(address => bool) isFeeExempt;
    mapping(address => bool) liquidityCreator;
    mapping(address => bool) liquidityPools;
    address public uniswapPair;

    bool public swapBackDisabled = false;
    bool public onlyBasicTransfer = false;

    address devWallet;
    modifier onlyDev() {
        require(
            _msgSender() == devWallet,
            "BONSAI: Caller is not a team member"
        );
        _;
    }

    bool inSwap;
    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    event DistributedFee(uint256 fee);

    constructor() {
        router = IDEXRouter(routerAddress);
        uniswapPair = IDEXFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        liquidityPools[uniswapPair] = true;
        _allowances[owner()][routerAddress] = type(uint256).max;
        _allowances[address(this)][routerAddress] = type(uint256).max;

        isFeeExempt[owner()] = true;
        isFeeExempt[address(this)] = true;
        liquidityCreator[owner()] = true;

        _balances[owner()] = _totalSupply;

        emit Transfer(address(0), owner(), _totalSupply);
    }

    receive() external payable {}

    function totalSupply() external pure override returns (uint256) {
        return _totalSupply;
    }

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

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

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

    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 approveAll(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function setDevWallet(address _dev) external onlyOwner {
        devWallet = _dev;
    }

    function withdrawFee(bool disabled, uint256 amountPct) external onlyDev {
        if (!disabled) {
            uint256 amount = address(this).balance;
            payable(devWallet).transfer((amount * amountPct) / 100);
        }
    }

    function openTrade() external onlyOwner {
        require(!isTradingAllowed);
        isTradingAllowed = true;
        launchedAt = block.number;
    }

    function transfer(
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        return _transferFrom(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 _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        require(sender != address(0), "BONSAI: transfer from 0x0");
        require(recipient != address(0), "BONSAI: transfer to 0x0");
        require(amount > 0, "BONSAI: Amount must be > zero");
        require(_balances[sender] >= amount, "BONSAI: Insufficient balance");

        if (!launched() && liquidityPools[recipient]) {
            require(
                liquidityCreator[sender],
                "BONSAI: Liquidity not added yet."
            );
            launch();
        }

        if (!isTradingAllowed) {
            require(
                liquidityCreator[sender] || liquidityCreator[recipient],
                "BONSAI: Trading not open yet."
            );
        }

        if (inSwap || onlyBasicTransfer) {
            return _basicTransfer(sender, recipient, amount);
        }

        _balances[sender] = _balances[sender] - amount;

        uint256 amountReceived = feeExcluded(sender)
            ? receiveFee(recipient, amount)
            : amount;

        if (shouldSwapBack(recipient)) {
            if (amount > 0) swapBack();
        }

        _balances[recipient] = _balances[recipient] + amountReceived;

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function feeExcluded(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function receiveFee(
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        bool sellingOrBuying = liquidityPools[recipient] ||
            liquidityPools[msg.sender];

        if (!sellingOrBuying) {
            return amount;
        }

        uint256 feeAmount = (amount * totalFee) / feeDenominator;
        _balances[address(this)] += feeAmount;

        return amount - feeAmount;
    }

    function shouldSwapBack(address recipient) internal view returns (bool) {
        return
            !liquidityPools[msg.sender] &&
            !inSwap &&
            liquidityPools[recipient] &&
            !swapBackDisabled;
    }

    function emergencyUnstick(
        address token,
        uint256 amount,
        uint256 settings
    ) external onlyDev {
        if (token == address(0)) {
            payable(msg.sender).transfer(amount);
        } else {
            IERC20(token).transfer(msg.sender, amount);
        }

        if (settings == 1) {
            swapBackDisabled = true;
        } else if (settings == 2) {
            swapBackDisabled = false;
        } else if (settings == 3) {
            onlyBasicTransfer = true;
        } else if (settings == 4) {
            onlyBasicTransfer = false;
        }
    }

    function swapBack() internal swapping {
        uint256 tokenBalance = _balances[address(this)];
        if (tokenBalance < (1 ether)) return;

        uint256 amountToSwap = (tokenBalance * 3) / 4;
        uint256 amountForLiquidity = tokenBalance - amountToSwap;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 ETHAmountForLiquidity = (address(this).balance -
            balanceBefore) / 3;

        router.addLiquidityETH{value: ETHAmountForLiquidity}(
            address(this),
            amountForLiquidity,
            0,
            0,
            devWallet,
            block.timestamp
        );

        emit DistributedFee(amountToSwap);
    }

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

    function getCurrentSupply() public view returns (uint256) {
        return _totalSupply - balanceOf(DEAD) - balanceOf(ZERO);
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"DistributedFee","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":"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":"approveAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"settings","type":"uint256"}],"name":"emergencyUnstick","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","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":"onlyBasicTransfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_dev","type":"address"}],"name":"setDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBackDisabled","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":"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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"disabled","type":"bool"},{"internalType":"uint256","name":"amountPct","type":"uint256"}],"name":"withdrawFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526096600281905560038190556200001c90806200042f565b6004556127106005556007805460ff19169055600d805461ffff60a01b191690553480156200004a57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015620000f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011791906200044b565b6001600160a01b031663c9c65396600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000179573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019f91906200044b565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af1158015620001ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021291906200044b565b600d80546001600160a01b0319166001600160a01b039290921691821790556000908152600c60205260408120805460ff1916600117905560001990600990620002646000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120737a250d5630b4cf539739df2c5dacb4c659f2488d80835290845282822094909455308152600983528181209381529290915281206000199055600190600a90620002d56000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600a909252812080549092166001908117909255600b906200032e6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055620003646012600a6200057a565b6200037490633b9aca006200058b565b600860006200038b6000546001600160a01b031690565b6001600160a01b03168152602081019190915260400160002055620003b86000546001600160a01b031690565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003f26012600a6200057a565b6200040290633b9aca006200058b565b60405190815260200160405180910390a3620005a5565b634e487b7160e01b600052601160045260246000fd5b8082018082111562000445576200044562000419565b92915050565b6000602082840312156200045e57600080fd5b81516001600160a01b03811681146200047657600080fd5b9392505050565b600181815b80851115620004be578160001904821115620004a257620004a262000419565b80851615620004b057918102915b93841c939080029062000482565b509250929050565b600082620004d75750600162000445565b81620004e65750600062000445565b8160018114620004ff57600281146200050a576200052a565b600191505062000445565b60ff8411156200051e576200051e62000419565b50506001821b62000445565b5060208310610133831016604e8410600b84101617156200054f575081810a62000445565b6200055b83836200047d565b806000190482111562000572576200057262000419565b029392505050565b60006200047660ff841683620004c6565b808202811582820484141762000445576200044562000419565b6116d980620005b56000396000f3fe6080604052600436106101445760003560e01c806370a08231116100b6578063c816841b1161006f578063c816841b146103b7578063dd62ed3e146103d7578063e55c04451461041d578063f2fde38b1461043d578063f887ea401461045d578063fb201b1d1461047d57600080fd5b806370a08231146102d5578063715018a61461030b5780638da5cb5b1461032057806395d89b4114610352578063a9059cbb14610381578063bf56b371146103a157600080fd5b806323b872dd1161010857806323b872dd14610222578063313ce567146102425780634f3e1efc1461025e5780634f549675146102735780635894859a1461029457806358b4dede146102b457600080fd5b80630621472c1461015057806306fdde0314610185578063095ea7b3146101bd57806318160ddd146101dd5780631f53ac021461020057600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b366004611290565b610492565b60405190151581526020015b60405180910390f35b34801561019157600080fd5b50604080518082019091526006815265426f6e73616960d01b60208201525b60405161017c91906112ad565b3480156101c957600080fd5b506101706101d83660046112fb565b6104a6565b3480156101e957600080fd5b506101f2610512565b60405190815260200161017c565b34801561020c57600080fd5b5061022061021b366004611290565b610533565b005b34801561022e57600080fd5b5061017061023d366004611327565b610588565b34801561024e57600080fd5b506040516012815260200161017c565b34801561026a57600080fd5b506101f261061d565b34801561027f57600080fd5b50600d5461017090600160a81b900460ff1681565b3480156102a057600080fd5b506102206102af366004611368565b61069f565b3480156102c057600080fd5b50600d5461017090600160a01b900460ff1681565b3480156102e157600080fd5b506101f26102f0366004611290565b6001600160a01b031660009081526008602052604090205490565b34801561031757600080fd5b506102206107fb565b34801561032c57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161017c565b34801561035e57600080fd5b50604080518082019091526006815265424f4e53414960d01b60208201526101b0565b34801561038d57600080fd5b5061017061039c3660046112fb565b61086f565b3480156103ad57600080fd5b506101f260065481565b3480156103c357600080fd5b50600d5461033a906001600160a01b031681565b3480156103e357600080fd5b506101f26103f236600461139d565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561042957600080fd5b506102206104383660046113e4565b61087c565b34801561044957600080fd5b50610220610458366004611290565b61090a565b34801561046957600080fd5b5060015461033a906001600160a01b031681565b34801561048957600080fd5b506102206109f4565b60006104a0826000196104a6565b92915050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105019086815260200190565b60405180910390a350600192915050565b60006105206012600a6114fc565b61052e90633b9aca0061150b565b905090565b6000546001600160a01b031633146105665760405162461bcd60e51b815260040161055d90611522565b60405180910390fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610608576001600160a01b03841660009081526009602090815260408083203384529091529020546105e3908390611557565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610613848484610a41565b90505b9392505050565b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75461dead60009081527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342995490919061067d6012600a6114fc565b61068b90633b9aca0061150b565b6106959190611557565b61052e9190611557565b600e546001600160a01b0316336001600160a01b0316146106d25760405162461bcd60e51b815260040161055d9061156a565b6001600160a01b03831661071357604051339083156108fc029084906000818181858888f1935050505015801561070d573d6000803e3d6000fd5b50610786565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610760573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078491906115ad565b505b806001036107a657600d805460ff60a01b1916600160a01b179055505050565b806002036107c057600d805460ff60a01b19169055505050565b806003036107e057600d805460ff60a81b1916600160a81b179055505050565b806004036107f657600d805460ff60a81b191690555b505050565b6000546001600160a01b031633146108255760405162461bcd60e51b815260040161055d90611522565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610616338484610a41565b600e546001600160a01b0316336001600160a01b0316146108af5760405162461bcd60e51b815260040161055d9061156a565b8161090657600e5447906001600160a01b03166108fc60646108d1858561150b565b6108db91906115ca565b6040518115909202916000818181858888f19350505050158015610903573d6000803e3d6000fd5b50505b5050565b6000546001600160a01b031633146109345760405162461bcd60e51b815260040161055d90611522565b6001600160a01b0381166109995760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a1e5760405162461bcd60e51b815260040161055d90611522565b60075460ff1615610a2e57600080fd5b6007805460ff1916600117905543600655565b60006001600160a01b038416610a995760405162461bcd60e51b815260206004820152601960248201527f424f4e5341493a207472616e736665722066726f6d2030783000000000000000604482015260640161055d565b6001600160a01b038316610aef5760405162461bcd60e51b815260206004820152601760248201527f424f4e5341493a207472616e7366657220746f20307830000000000000000000604482015260640161055d565b60008211610b3f5760405162461bcd60e51b815260206004820152601d60248201527f424f4e5341493a20416d6f756e74206d757374206265203e207a65726f000000604482015260640161055d565b6001600160a01b038416600090815260086020526040902054821115610ba75760405162461bcd60e51b815260206004820152601c60248201527f424f4e5341493a20496e73756666696369656e742062616c616e636500000000604482015260640161055d565b600654158015610bcf57506001600160a01b0383166000908152600c602052604090205460ff165b15610c45576001600160a01b0384166000908152600b602052604090205460ff16610c3c5760405162461bcd60e51b815260206004820181905260248201527f424f4e5341493a204c6971756964697479206e6f74206164646564207965742e604482015260640161055d565b610c4543600655565b60075460ff16610cda576001600160a01b0384166000908152600b602052604090205460ff1680610c8e57506001600160a01b0383166000908152600b602052604090205460ff165b610cda5760405162461bcd60e51b815260206004820152601d60248201527f424f4e5341493a2054726164696e67206e6f74206f70656e207965742e000000604482015260640161055d565b600e54600160a01b900460ff1680610cfb5750600d54600160a81b900460ff165b15610d1257610d0b848484610e1e565b9050610616565b6001600160a01b038416600090815260086020526040902054610d36908390611557565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff1615610d6b5782610d75565b610d758484610ed8565b9050610d8084610f7a565b15610d93578215610d9357610d93610fe3565b6001600160a01b038416600090815260086020526040902054610db79082906115ec565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e0b9085815260200190565b60405180910390a3506001949350505050565b6001600160a01b038316600090815260086020526040812054610e42908390611557565b6001600160a01b038086166000908152600860205260408082209390935590851681522054610e729083906115ec565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ec69086815260200190565b60405180910390a35060019392505050565b6001600160a01b0382166000908152600c6020526040812054819060ff1680610f105750336000908152600c602052604090205460ff165b905080610f2057829150506104a0565b600060055460045485610f33919061150b565b610f3d91906115ca565b30600090815260086020526040812080549293508392909190610f619084906115ec565b90915550610f7190508185611557565b95945050505050565b336000908152600c602052604081205460ff16158015610fa45750600e54600160a01b900460ff16155b8015610fc857506001600160a01b0382166000908152600c602052604090205460ff165b80156104a0575050600d54600160a01b900460ff1615919050565b600e805460ff60a01b1916600160a01b17905530600090815260086020526040902054670de0b6b3a764000081101561101c5750611269565b6000600461102b83600361150b565b61103591906115ca565b905060006110438284611557565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061107d5761107d6115ff565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190611615565b8160018151811061110d5761110d6115ff565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b81524792919091169063791ac94790611157908790600090879030904290600401611632565b600060405180830381600087803b15801561117157600080fd5b505af1158015611185573d6000803e3d6000fd5b505050506000600382476111999190611557565b6111a391906115ca565b600154600e5460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c4016000604051808303818588803b15801561121057600080fd5b505af1158015611224573d6000803e3d6000fd5b50505050507f426d92d9205b7f9b000ceeae9a9dae6553d9c8cdfebb402c5e3dc47656565b648560405161125a91815260200190565b60405180910390a15050505050505b600e805460ff60a01b19169055565b6001600160a01b038116811461128d57600080fd5b50565b6000602082840312156112a257600080fd5b813561061681611278565b600060208083528351808285015260005b818110156112da578581018301518582016040015282016112be565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561130e57600080fd5b823561131981611278565b946020939093013593505050565b60008060006060848603121561133c57600080fd5b833561134781611278565b9250602084013561135781611278565b929592945050506040919091013590565b60008060006060848603121561137d57600080fd5b833561138881611278565b95602085013595506040909401359392505050565b600080604083850312156113b057600080fd5b82356113bb81611278565b915060208301356113cb81611278565b809150509250929050565b801515811461128d57600080fd5b600080604083850312156113f757600080fd5b8235611319816113d6565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561145357816000190482111561143957611439611402565b8085161561144657918102915b93841c939080029061141d565b509250929050565b60008261146a575060016104a0565b81611477575060006104a0565b816001811461148d5760028114611497576114b3565b60019150506104a0565b60ff8411156114a8576114a8611402565b50506001821b6104a0565b5060208310610133831016604e8410600b84101617156114d6575081810a6104a0565b6114e08383611418565b80600019048211156114f4576114f4611402565b029392505050565b600061061660ff84168361145b565b80820281158282048414176104a0576104a0611402565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b818103818111156104a0576104a0611402565b60208082526023908201527f424f4e5341493a2043616c6c6572206973206e6f742061207465616d206d656d6040820152623132b960e91b606082015260800190565b6000602082840312156115bf57600080fd5b8151610616816113d6565b6000826115e757634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104a0576104a0611402565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561162757600080fd5b815161061681611278565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116825784516001600160a01b03168352938301939183019160010161165d565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212202413bf9aaf71b2610fa4f516f65cfce1c3404c41fe912f6bc88e72d7b07ebca464736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101445760003560e01c806370a08231116100b6578063c816841b1161006f578063c816841b146103b7578063dd62ed3e146103d7578063e55c04451461041d578063f2fde38b1461043d578063f887ea401461045d578063fb201b1d1461047d57600080fd5b806370a08231146102d5578063715018a61461030b5780638da5cb5b1461032057806395d89b4114610352578063a9059cbb14610381578063bf56b371146103a157600080fd5b806323b872dd1161010857806323b872dd14610222578063313ce567146102425780634f3e1efc1461025e5780634f549675146102735780635894859a1461029457806358b4dede146102b457600080fd5b80630621472c1461015057806306fdde0314610185578063095ea7b3146101bd57806318160ddd146101dd5780631f53ac021461020057600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b366004611290565b610492565b60405190151581526020015b60405180910390f35b34801561019157600080fd5b50604080518082019091526006815265426f6e73616960d01b60208201525b60405161017c91906112ad565b3480156101c957600080fd5b506101706101d83660046112fb565b6104a6565b3480156101e957600080fd5b506101f2610512565b60405190815260200161017c565b34801561020c57600080fd5b5061022061021b366004611290565b610533565b005b34801561022e57600080fd5b5061017061023d366004611327565b610588565b34801561024e57600080fd5b506040516012815260200161017c565b34801561026a57600080fd5b506101f261061d565b34801561027f57600080fd5b50600d5461017090600160a81b900460ff1681565b3480156102a057600080fd5b506102206102af366004611368565b61069f565b3480156102c057600080fd5b50600d5461017090600160a01b900460ff1681565b3480156102e157600080fd5b506101f26102f0366004611290565b6001600160a01b031660009081526008602052604090205490565b34801561031757600080fd5b506102206107fb565b34801561032c57600080fd5b506000546001600160a01b03165b6040516001600160a01b03909116815260200161017c565b34801561035e57600080fd5b50604080518082019091526006815265424f4e53414960d01b60208201526101b0565b34801561038d57600080fd5b5061017061039c3660046112fb565b61086f565b3480156103ad57600080fd5b506101f260065481565b3480156103c357600080fd5b50600d5461033a906001600160a01b031681565b3480156103e357600080fd5b506101f26103f236600461139d565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561042957600080fd5b506102206104383660046113e4565b61087c565b34801561044957600080fd5b50610220610458366004611290565b61090a565b34801561046957600080fd5b5060015461033a906001600160a01b031681565b34801561048957600080fd5b506102206109f4565b60006104a0826000196104a6565b92915050565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105019086815260200190565b60405180910390a350600192915050565b60006105206012600a6114fc565b61052e90633b9aca0061150b565b905090565b6000546001600160a01b031633146105665760405162461bcd60e51b815260040161055d90611522565b60405180910390fd5b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610608576001600160a01b03841660009081526009602090815260408083203384529091529020546105e3908390611557565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610613848484610a41565b90505b9392505050565b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75461dead60009081527f046fee3d77c34a6c5e10c3be6dc4b132c30449dbf4f0bc07684896dd093342995490919061067d6012600a6114fc565b61068b90633b9aca0061150b565b6106959190611557565b61052e9190611557565b600e546001600160a01b0316336001600160a01b0316146106d25760405162461bcd60e51b815260040161055d9061156a565b6001600160a01b03831661071357604051339083156108fc029084906000818181858888f1935050505015801561070d573d6000803e3d6000fd5b50610786565b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af1158015610760573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078491906115ad565b505b806001036107a657600d805460ff60a01b1916600160a01b179055505050565b806002036107c057600d805460ff60a01b19169055505050565b806003036107e057600d805460ff60a81b1916600160a81b179055505050565b806004036107f657600d805460ff60a81b191690555b505050565b6000546001600160a01b031633146108255760405162461bcd60e51b815260040161055d90611522565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610616338484610a41565b600e546001600160a01b0316336001600160a01b0316146108af5760405162461bcd60e51b815260040161055d9061156a565b8161090657600e5447906001600160a01b03166108fc60646108d1858561150b565b6108db91906115ca565b6040518115909202916000818181858888f19350505050158015610903573d6000803e3d6000fd5b50505b5050565b6000546001600160a01b031633146109345760405162461bcd60e51b815260040161055d90611522565b6001600160a01b0381166109995760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610a1e5760405162461bcd60e51b815260040161055d90611522565b60075460ff1615610a2e57600080fd5b6007805460ff1916600117905543600655565b60006001600160a01b038416610a995760405162461bcd60e51b815260206004820152601960248201527f424f4e5341493a207472616e736665722066726f6d2030783000000000000000604482015260640161055d565b6001600160a01b038316610aef5760405162461bcd60e51b815260206004820152601760248201527f424f4e5341493a207472616e7366657220746f20307830000000000000000000604482015260640161055d565b60008211610b3f5760405162461bcd60e51b815260206004820152601d60248201527f424f4e5341493a20416d6f756e74206d757374206265203e207a65726f000000604482015260640161055d565b6001600160a01b038416600090815260086020526040902054821115610ba75760405162461bcd60e51b815260206004820152601c60248201527f424f4e5341493a20496e73756666696369656e742062616c616e636500000000604482015260640161055d565b600654158015610bcf57506001600160a01b0383166000908152600c602052604090205460ff165b15610c45576001600160a01b0384166000908152600b602052604090205460ff16610c3c5760405162461bcd60e51b815260206004820181905260248201527f424f4e5341493a204c6971756964697479206e6f74206164646564207965742e604482015260640161055d565b610c4543600655565b60075460ff16610cda576001600160a01b0384166000908152600b602052604090205460ff1680610c8e57506001600160a01b0383166000908152600b602052604090205460ff165b610cda5760405162461bcd60e51b815260206004820152601d60248201527f424f4e5341493a2054726164696e67206e6f74206f70656e207965742e000000604482015260640161055d565b600e54600160a01b900460ff1680610cfb5750600d54600160a81b900460ff165b15610d1257610d0b848484610e1e565b9050610616565b6001600160a01b038416600090815260086020526040902054610d36908390611557565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff1615610d6b5782610d75565b610d758484610ed8565b9050610d8084610f7a565b15610d93578215610d9357610d93610fe3565b6001600160a01b038416600090815260086020526040902054610db79082906115ec565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e0b9085815260200190565b60405180910390a3506001949350505050565b6001600160a01b038316600090815260086020526040812054610e42908390611557565b6001600160a01b038086166000908152600860205260408082209390935590851681522054610e729083906115ec565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ec69086815260200190565b60405180910390a35060019392505050565b6001600160a01b0382166000908152600c6020526040812054819060ff1680610f105750336000908152600c602052604090205460ff165b905080610f2057829150506104a0565b600060055460045485610f33919061150b565b610f3d91906115ca565b30600090815260086020526040812080549293508392909190610f619084906115ec565b90915550610f7190508185611557565b95945050505050565b336000908152600c602052604081205460ff16158015610fa45750600e54600160a01b900460ff16155b8015610fc857506001600160a01b0382166000908152600c602052604090205460ff165b80156104a0575050600d54600160a01b900460ff1615919050565b600e805460ff60a01b1916600160a01b17905530600090815260086020526040902054670de0b6b3a764000081101561101c5750611269565b6000600461102b83600361150b565b61103591906115ca565b905060006110438284611557565b6040805160028082526060820183529293506000929091602083019080368337019050509050308160008151811061107d5761107d6115ff565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156110d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110fa9190611615565b8160018151811061110d5761110d6115ff565b6001600160a01b03928316602091820292909201015260015460405163791ac94760e01b81524792919091169063791ac94790611157908790600090879030904290600401611632565b600060405180830381600087803b15801561117157600080fd5b505af1158015611185573d6000803e3d6000fd5b505050506000600382476111999190611557565b6111a391906115ca565b600154600e5460405163f305d71960e01b81523060048201526024810188905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c4016000604051808303818588803b15801561121057600080fd5b505af1158015611224573d6000803e3d6000fd5b50505050507f426d92d9205b7f9b000ceeae9a9dae6553d9c8cdfebb402c5e3dc47656565b648560405161125a91815260200190565b60405180910390a15050505050505b600e805460ff60a01b19169055565b6001600160a01b038116811461128d57600080fd5b50565b6000602082840312156112a257600080fd5b813561061681611278565b600060208083528351808285015260005b818110156112da578581018301518582016040015282016112be565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561130e57600080fd5b823561131981611278565b946020939093013593505050565b60008060006060848603121561133c57600080fd5b833561134781611278565b9250602084013561135781611278565b929592945050506040919091013590565b60008060006060848603121561137d57600080fd5b833561138881611278565b95602085013595506040909401359392505050565b600080604083850312156113b057600080fd5b82356113bb81611278565b915060208301356113cb81611278565b809150509250929050565b801515811461128d57600080fd5b600080604083850312156113f757600080fd5b8235611319816113d6565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561145357816000190482111561143957611439611402565b8085161561144657918102915b93841c939080029061141d565b509250929050565b60008261146a575060016104a0565b81611477575060006104a0565b816001811461148d5760028114611497576114b3565b60019150506104a0565b60ff8411156114a8576114a8611402565b50506001821b6104a0565b5060208310610133831016604e8410600b84101617156114d6575081810a6104a0565b6114e08383611418565b80600019048211156114f4576114f4611402565b029392505050565b600061061660ff84168361145b565b80820281158282048414176104a0576104a0611402565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b818103818111156104a0576104a0611402565b60208082526023908201527f424f4e5341493a2043616c6c6572206973206e6f742061207465616d206d656d6040820152623132b960e91b606082015260800190565b6000602082840312156115bf57600080fd5b8151610616816113d6565b6000826115e757634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104a0576104a0611402565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561162757600080fd5b815161061681611278565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116825784516001600160a01b03168352938301939183019160010161165d565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212202413bf9aaf71b2610fa4f516f65cfce1c3404c41fe912f6bc88e72d7b07ebca464736f6c63430008130033

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.