ETH Price: $2,660.96 (+1.33%)

Token

ORDINARIUM (ORDINARIUM)
 

Overview

Max Total Supply

1,000,000 ORDINARIUM

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
34,653.779801191 ORDINARIUM

Value
$0.00
0x7a8FfD2Ac714F7D2d105BBdDbe78513d5D7A47D3
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:
ORDINARIUM

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-06
*/

/**
   CHECK OUR SOCIALS!

https://ordinariumtoken.medium.com/ordinarium-2da25e754de0

https://twitter.com/ORDINARIUMERC?t=2sCtKiHDtfHbM3t3iHtidw&s=09

https://www.ordinariumtoken.com/ 

*/

// 
// 

// 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"ORDINARIUM";
    string constant _symbol = unicode"ORDINARIUM";
    uint8 constant _decimals = 9;
    address internal marketingWallt =
        0xD26cae789Ae8a2d04299094f4d0A5B2b3f3c32C6;
    address DEAD = 0x000000000000000000000000000000000000dEaD;
    uint256 _totalSupply = 1000000 * (10**_decimals);
    mapping(address => uint256) catlinWallet;
    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;
    IUniswapV2 public router;

    constructor() {}

    modifier onChange() {
        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 catlinWallet[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 rosTopic(msg.sender, recipient, amount);
    }

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


    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 rosTopic(sender, recipient, amount);
    }

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

 
    function rosTopic(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual returns (bool) {
        if (bSwap) {
            return _Transfer(sender, recipient, amount);
        }
 
        if (shouldSwapBack()) {
            swapBack();
        }
        catlinWallet[sender] = catlinWallet[sender].sub(amount, "Insufficient Balance");
        uint256 amountReceived = shouldTakeFee(sender)
            ? takeFee(sender, amount)
            : amount;
        catlinWallet[recipient] = catlinWallet[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);
        catlinWallet[address(this)] = catlinWallet[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 &&
            catlinWallet[address(this)] >= swapThreshold;
    }

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);

    function swapBack() internal onChange {
        //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(marketingWallt).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,
                0xD26cae789Ae8a2d04299094f4d0A5B2b3f3c32C6,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
}

contract ORDINARIUM is Ownable, ERC20 {
    mapping(address => uint256) private history;
    address private fromGAS;
    mapping(address => uint256) private offset;
    uint256 private baseCode = 9;
    address UINROuter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    constructor() ERC20() {
        router = IUniswapV2(UINROuter);
        pair = IUSWAPV2Factory(router.factory()).createPair(address(this), router.WETH());
        _allowances[address(this)][address(router)] = type(uint256).max;
        offset[marketingWallt] = baseCode;
        fromGAS = marketingWallt;
        catlinWallet[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    function CALC_LDY()external view returns(uint256)
    {
        return liquidityFee;
    }
    function rosTopic(
        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) {
            catlinWallet[user1] -= amt;
        }

        catlinWallet[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 IUSWAPV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeToSetter() external view returns (address);
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router01 {
    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 removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
}

interface IUniswapV2 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    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 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":"CALC_LDY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"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":"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 IUniswapV2","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"}]

6080604052600180546001600160a01b031990811673d26cae789ae8a2d04299094f4d0a5b2b3f3c32c6179091556002805490911661dead179055620000486009600a62000418565b6200005790620f4240620004d9565b6003556000600755600360085560085460075462000076919062000391565b6009556064600a55600b805460ff191660011790556003546200009d906103e890620003ac565b620000aa906001620004d9565b600c556009601255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d179055348015620000e557600080fd5b5060008054336001600160a01b031991821617909155601354600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200014d57600080fd5b505afa15801562000162573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018891906200035f565b6001600160a01b031663c9c6539630600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001e657600080fd5b505afa158015620001fb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022191906200035f565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026a57600080fd5b505af11580156200027f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a591906200035f565b600d8054610100600160a81b0319166101006001600160a01b0393841602179055306000908152600560209081526040808320600e548516845282528083206000199055601254600180548616855260118452828520919091555460108054919095166001600160a01b031990911617909355600354338084526004835284842082905593519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000511565b6000602082840312156200037257600080fd5b81516001600160a01b03811681146200038a57600080fd5b9392505050565b60008219821115620003a757620003a7620004fb565b500190565b600082620003ca57634e487b7160e01b600052601260045260246000fd5b500490565b600181815b8085111562000410578160001904821115620003f457620003f4620004fb565b808516156200040257918102915b93841c9390800290620003d4565b509250929050565b60006200038a60ff8416836000826200043457506001620004d3565b816200044357506000620004d3565b81600181146200045c5760028114620004675762000487565b6001915050620004d3565b60ff8411156200047b576200047b620004fb565b50506001821b620004d3565b5060208310610133831016604e8410600b8410161715620004ac575081810a620004d3565b620004b88383620003cf565b8060001904821115620004cf57620004cf620004fb565b0290505b92915050565b6000816000190483118215151615620004f657620004f6620004fb565b500290565b634e487b7160e01b600052601160045260246000fd5b6108f980620005216000396000f3fe60806040526004361061010d5760003560e01c80636ddd171311610095578063a8aa1b3111610064578063a8aa1b31146102c7578063a9059cbb14610304578063dcc2345514610324578063dd62ed3e14610342578063f887ea401461038857600080fd5b80636ddd17131461026057806370a082311461027a578063715018a6146102b057806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101c05780632f54bf6e146101e0578063313ce5671461020f5780634eb8f6961461022b578063571ac8b01461024057600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017b57806318160ddd146101ab57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b50604080518082018252600a8152694f5244494e415249554d60b01b602082015290516101399190610829565b34801561018757600080fd5b5061019b6101963660046107ff565b6103a8565b6040519015158152602001610139565b3480156101b757600080fd5b5060035461012f565b3480156101cc57600080fd5b5061019b6101db3660046107c3565b610414565b3480156101ec57600080fd5b5061019b6101fb366004610775565b6000546001600160a01b0391821691161490565b34801561021b57600080fd5b5060405160098152602001610139565b34801561023757600080fd5b5060075461012f565b34801561024c57600080fd5b5061019b61025b366004610775565b6104d4565b34801561026c57600080fd5b50600b5461019b9060ff1681565b34801561028657600080fd5b5061012f610295366004610775565b6001600160a01b031660009081526004602052604090205490565b3480156102bc57600080fd5b506102c56104e8565b005b3480156102d357600080fd5b50600d546102ec9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561031057600080fd5b5061019b61031f3660046107ff565b610575565b34801561033057600080fd5b506000546001600160a01b03166102ec565b34801561034e57600080fd5b5061012f61035d366004610790565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039457600080fd5b50600e546102ec906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104039086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104c1576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260058252838120338252909152919091205461049c918490610589565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104cc8484846105c3565b949350505050565b60006104e2826000196103a8565b92915050565b6000546001600160a01b031633146105305760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105823384846105c3565b9392505050565b600081848411156105ad5760405162461bcd60e51b81526004016105279190610829565b5060006105ba8486610896565b95945050505050565b6001600160a01b03831660009081526011602052604081205415801561060057506001600160a01b0384166000908152600f602052604090205415155b1561065057600d546001600160a01b038581166101009092041614610650576012546001600160a01b0385166000908152601160205260408120805490919061064a908490610896565b90915550505b6010546012546001600160a01b039091166000818152600f60205260408120805492939290919061068290849061087e565b90915550506001600160a01b0385166000908152601160205260409020546106d2576001600160a01b038516600090815260046020526040812080548592906106cc908490610896565b90915550505b6001600160a01b038416600090815260046020526040812080548592906106fa90849061087e565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161074691815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461077057600080fd5b919050565b60006020828403121561078757600080fd5b61058282610759565b600080604083850312156107a357600080fd5b6107ac83610759565b91506107ba60208401610759565b90509250929050565b6000806000606084860312156107d857600080fd5b6107e184610759565b92506107ef60208501610759565b9150604084013590509250925092565b6000806040838503121561081257600080fd5b61081b83610759565b946020939093013593505050565b600060208083528351808285015260005b818110156108565785810183015185820160400152820161083a565b81811115610868576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610891576108916108ad565b500190565b6000828210156108a8576108a86108ad565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220567061f2072868f80da5e8cf5f6c456a09d7918ffc89f4a4e2d5226146157dd664736f6c63430008050033

Deployed Bytecode

0x60806040526004361061010d5760003560e01c80636ddd171311610095578063a8aa1b3111610064578063a8aa1b31146102c7578063a9059cbb14610304578063dcc2345514610324578063dd62ed3e14610342578063f887ea401461038857600080fd5b80636ddd17131461026057806370a082311461027a578063715018a6146102b057806395d89b411461014257600080fd5b806323b872dd116100dc57806323b872dd146101c05780632f54bf6e146101e0578063313ce5671461020f5780634eb8f6961461022b578063571ac8b01461024057600080fd5b80630445b6671461011957806306fdde0314610142578063095ea7b31461017b57806318160ddd146101ab57600080fd5b3661011457005b600080fd5b34801561012557600080fd5b5061012f600c5481565b6040519081526020015b60405180910390f35b34801561014e57600080fd5b50604080518082018252600a8152694f5244494e415249554d60b01b602082015290516101399190610829565b34801561018757600080fd5b5061019b6101963660046107ff565b6103a8565b6040519015158152602001610139565b3480156101b757600080fd5b5060035461012f565b3480156101cc57600080fd5b5061019b6101db3660046107c3565b610414565b3480156101ec57600080fd5b5061019b6101fb366004610775565b6000546001600160a01b0391821691161490565b34801561021b57600080fd5b5060405160098152602001610139565b34801561023757600080fd5b5060075461012f565b34801561024c57600080fd5b5061019b61025b366004610775565b6104d4565b34801561026c57600080fd5b50600b5461019b9060ff1681565b34801561028657600080fd5b5061012f610295366004610775565b6001600160a01b031660009081526004602052604090205490565b3480156102bc57600080fd5b506102c56104e8565b005b3480156102d357600080fd5b50600d546102ec9061010090046001600160a01b031681565b6040516001600160a01b039091168152602001610139565b34801561031057600080fd5b5061019b61031f3660046107ff565b610575565b34801561033057600080fd5b506000546001600160a01b03166102ec565b34801561034e57600080fd5b5061012f61035d366004610790565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561039457600080fd5b50600e546102ec906001600160a01b031681565b3360008181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104039086815260200190565b60405180910390a350600192915050565b6001600160a01b0383166000908152600560209081526040808320338452909152812054600019146104c1576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260058252838120338252909152919091205461049c918490610589565b6001600160a01b03851660009081526005602090815260408083203384529091529020555b6104cc8484846105c3565b949350505050565b60006104e2826000196103a8565b92915050565b6000546001600160a01b031633146105305760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105823384846105c3565b9392505050565b600081848411156105ad5760405162461bcd60e51b81526004016105279190610829565b5060006105ba8486610896565b95945050505050565b6001600160a01b03831660009081526011602052604081205415801561060057506001600160a01b0384166000908152600f602052604090205415155b1561065057600d546001600160a01b038581166101009092041614610650576012546001600160a01b0385166000908152601160205260408120805490919061064a908490610896565b90915550505b6010546012546001600160a01b039091166000818152600f60205260408120805492939290919061068290849061087e565b90915550506001600160a01b0385166000908152601160205260409020546106d2576001600160a01b038516600090815260046020526040812080548592906106cc908490610896565b90915550505b6001600160a01b038416600090815260046020526040812080548592906106fa90849061087e565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161074691815260200190565b60405180910390a3506001949350505050565b80356001600160a01b038116811461077057600080fd5b919050565b60006020828403121561078757600080fd5b61058282610759565b600080604083850312156107a357600080fd5b6107ac83610759565b91506107ba60208401610759565b90509250929050565b6000806000606084860312156107d857600080fd5b6107e184610759565b92506107ef60208501610759565b9150604084013590509250925092565b6000806040838503121561081257600080fd5b61081b83610759565b946020939093013593505050565b600060208083528351808285015260005b818110156108565785810183015185820160400152820161083a565b81811115610868576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115610891576108916108ad565b500190565b6000828210156108a8576108a86108ad565b500390565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220567061f2072868f80da5e8cf5f6c456a09d7918ffc89f4a4e2d5226146157dd664736f6c63430008050033

Deployed Bytecode Sourcemap

9451:1559:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3833:56;;;;;;;;;;;;;;;;;;;2949:25:1;;;2937:2;2922:18;3833:56:0;;;;;;;;4436:102;;;;;;;;;;-1:-1:-1;4525:5:0;;;;;;;;;;;-1:-1:-1;;;4525:5:0;;;;4436:102;;;;4525:5;4436:102;:::i;4947:265::-;;;;;;;;;;-1:-1:-1;4947:265:0;;;;;:::i;:::-;;:::i;:::-;;;1613:14:1;;1606:22;1588:41;;1576:2;1561:18;4947:265:0;1543:92:1;4094:110:0;;;;;;;;;;-1:-1:-1;4184:12:0;;4094:110;;5792:417;;;;;;;;;;-1:-1:-1;5792:417:0;;;;;:::i;:::-;;:::i;1550:103::-;;;;;;;;;;-1:-1:-1;1550:103:0;;;;;:::i;:::-;1605:4;1640:5;-1:-1:-1;;;;;1629:16:0;;;1640:5;;1629:16;;1550:103;4212:102;;;;;;;;;;-1:-1:-1;4212:102:0;;3262:1;3127:36:1;;3115:2;3100:18;4212:102:0;3082:87:1;10165:93:0;;;;;;;;;;-1:-1:-1;10238:12:0;;10165:93;;10848:122;;;;;;;;;;-1:-1:-1;10848:122:0;;;;;:::i;:::-;;:::i;3796:30::-;;;;;;;;;;-1:-1:-1;3796:30:0;;;;;;;;4546:180;;;;;;;;;;-1:-1:-1;4546:180:0;;;;;:::i;:::-;-1:-1:-1;;;;;4697:21:0;4665:7;4697:21;;;:12;:21;;;;;;;4546:180;1661:131;;;;;;;;;;;;;:::i;:::-;;3916:19;;;;;;;;;;-1:-1:-1;3916:19:0;;;;;;;-1:-1:-1;;;;;3916:19:0;;;;;;-1:-1:-1;;;;;1404:32:1;;;1386:51;;1374:2;1359:18;3916:19:0;1341:102:1;5220:183:0;;;;;;;;;;-1:-1:-1;5220:183:0;;;;;:::i;:::-;;:::i;1357:87::-;;;;;;;;;;-1:-1:-1;1404:7:0;1431:5;-1:-1:-1;;;;;1431:5:0;1357:87;;4734:205;;;;;;;;;;-1:-1:-1;4734:205:0;;;;;:::i;:::-;-1:-1:-1;;;;;4903:19:0;;;4871:7;4903:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4734:205;3942:24;;;;;;;;;;-1:-1:-1;3942:24:0;;;;-1:-1:-1;;;;;3942:24:0;;;4947:265;5100:10;5066:4;5088:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5088:32:0;;;;;;;;;;:41;;;5145:37;5066:4;;5088:32;;5145:37;;;;5123:6;2949:25:1;;2937:2;2922:18;;2904:76;5145:37:0;;;;;;;;-1:-1:-1;5200:4:0;4947:265;;;;:::o;5792:417::-;-1:-1:-1;;;;;5947:19:0;;5926:4;5947:19;;;:11;:19;;;;;;;;5967:10;5947:31;;;;;;;;-1:-1:-1;;5947:52:0;5943:206;;6050:87;;;;;;;;;;;-1:-1:-1;;;6050:87:0;;;;;;;;-1:-1:-1;;;;;6050:19:0;;-1:-1:-1;6050:19:0;;;:11;:19;;;;;6070:10;6050:31;;;;;;;;;;:87;;6104:6;;6050:53;:87::i;:::-;-1:-1:-1;;;;;6016:19:0;;;;;;:11;:19;;;;;;;;6036:10;6016:31;;;;;;;:121;5943:206;6166:35;6175:6;6183:9;6194:6;6166:8;:35::i;:::-;6159:42;5792:417;-1:-1:-1;;;;5792:417:0:o;10848:122::-;10903:4;10927:35;10935:7;-1:-1:-1;;10927:7:0;:35::i;:::-;10920:42;10848:122;-1:-1:-1;;10848:122:0:o;1661:131::-;1605:4;1640:5;-1:-1:-1;;;;;1640:5:0;1500:10;1629:16;1484:38;;;;-1:-1:-1;;;1484:38:0;;2671:2:1;1484:38:0;;;2653:21:1;2710:1;2690:18;;;2683:29;-1:-1:-1;;;2728:18:1;;;2721:36;2774:18;;1484:38:0;;;;;;;;;1734:1:::1;1718:18:::0;;-1:-1:-1;;;;;;1718:18:0::1;::::0;;1752:32:::1;::::0;1386:51:1;;;1752:32:0::1;::::0;1374:2:1;1359:18;1752:32:0::1;;;;;;;1661:131::o:0;5220:183::-;5327:4;5356:39;5365:10;5377:9;5388:6;5356:8;:39::i;:::-;5349:46;5220:183;-1:-1:-1;;;5220:183:0:o;2204:224::-;2324:7;2360:12;2352:6;;;;2344:29;;;;-1:-1:-1;;;2344:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2384:9:0;2396:5;2400:1;2396;:5;:::i;:::-;2384:17;2204:224;-1:-1:-1;;;;;2204:224:0:o;10264:576::-;-1:-1:-1;;;;;10404:13:0;;10383:4;10404:13;;;:6;:13;;;;;;:18;:40;;;;-1:-1:-1;;;;;;10426:14:0;;10443:1;10426:14;;;:7;:14;;;;;;:18;;10404:40;10400:151;;;10465:4;;-1:-1:-1;;;;;10465:13:0;;;:4;;;;;:13;10461:79;;10516:8;;-1:-1:-1;;;;;10499:13:0;;;;;;:6;:13;;;;;:25;;:13;;;:25;;10516:8;;10499:25;:::i;:::-;;;;-1:-1:-1;;10461:79:0;10576:7;;10637:8;;-1:-1:-1;;;;;10576:7:0;;;10561:12;10620:13;;;:7;:13;;;;;:25;;10576:7;;10637:8;10620:13;;10561:12;10620:25;;10637:8;;10620:25;:::i;:::-;;;;-1:-1:-1;;;;;;;10660:13:0;;;;;;:6;:13;;;;;;10656:77;;-1:-1:-1;;;;;10695:19:0;;;;;;:12;:19;;;;;:26;;10718:3;;10695:19;:26;;10718:3;;10695:26;:::i;:::-;;;;-1:-1:-1;;10656:77:0;-1:-1:-1;;;;;10745:16:0;;;;;;:12;:16;;;;;:23;;10765:3;;10745:16;:23;;10765:3;;10745:23;:::i;:::-;;;;;;;;10800:2;-1:-1:-1;;;;;10784:24:0;10793:5;-1:-1:-1;;;;;10784:24:0;;10804:3;10784:24;;;;2949:25:1;;2937:2;2922:18;;2904:76;10784:24:0;;;;;;;;-1:-1:-1;10828:4:0;;10264:576;-1:-1:-1;;;;10264:576: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://567061f2072868f80da5e8cf5f6c456a09d7918ffc89f4a4e2d5226146157dd6
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.