ETH Price: $2,441.94 (+1.53%)

Token

Olympic Games Paris 2024 (IOC)
 

Overview

Max Total Supply

202,420,240 IOC

Holders

22

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,929,321.73445222323051735 IOC

Value
$0.00
0x18E746c16133E1423B1Ae9F3C937d649AE0086D6
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:
IOC

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-07-26
*/

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

interface IERC20 {
    function decimals() external view returns (uint256);

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

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

    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 ISwapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

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

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

    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
}

abstract contract Ownable {
    address internal _owner;

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

    constructor() {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "!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), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract IOC is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress;

    string private _name;
    string private _symbol;
    uint256 private _decimals;

    mapping(address => bool) public _feeWhiteList;

    uint256 private _tTotal;

    ISwapRouter public _swapRouter;
    address public currency;
    mapping(address => bool) public _swapPairList;

    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _sellFundFee;

    address public _mainPair;

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

    address[] public rewardPath;

    constructor(

    ) {
        _name = "Olympic Games Paris 2024";
        _symbol = "IOC";
        _decimals = 18;
        _tTotal = 202420240 * 10**_decimals;

        fundAddress = address(0xaE86d07b370f27bF1BafBfB070326a9D3773E1e7);
        _swapRouter = ISwapRouter(address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D));
        currency = _swapRouter.WETH();
        address ReceiveAddress = fundAddress;
        _owner = fundAddress;

        rewardPath = [address(this), currency];

        IERC20(currency).approve(address(_swapRouter), MAX);

        _allowances[address(this)][address(_swapRouter)] = MAX;

        ISwapFactory swapFactory = ISwapFactory(_swapRouter.factory());
        _mainPair = swapFactory.createPair(address(this), currency);

        _swapPairList[_mainPair] = true;

        _sellFundFee = 1000;


        _balances[ReceiveAddress] = _tTotal;
        emit Transfer(address(0), ReceiveAddress, _tTotal);

        _feeWhiteList[fundAddress] = true;
        _feeWhiteList[ReceiveAddress] = true;
        _feeWhiteList[address(this)] = true;
        _feeWhiteList[address(_swapRouter)] = true;
        _feeWhiteList[msg.sender] = true;

    }

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

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

    function decimals() external view override returns (uint256) {
        return _decimals;
    }

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


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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] =
                _allowances[sender][msg.sender] -
                amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }


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

    function _transfer(address from, address to, uint256 amount) private {
        require(balanceOf(from) >= amount, "NotEnough");
        uint256 feeAmount;


        if (_swapPairList[from] || _swapPairList[to]) {
            
            if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
                
                if (_swapPairList[to]) {
                    if (!inSwap ) {
                        uint256 contractTokenBalance = balanceOf(address(this));
                        if (contractTokenBalance > 0) {

                            uint256 numTokensSellToFund = amount/20;
                            if (numTokensSellToFund > contractTokenBalance) {
                                numTokensSellToFund = contractTokenBalance;
                            }
                            swapTokenForFund(numTokensSellToFund);
                        }
                    }
                }
                if (_swapPairList[to]) {
                    uint256 swapAmount = (amount * _sellFundFee) / 10000;
                    feeAmount +=swapAmount;
                }
            }

        }
        if(feeAmount >0){
            _basicTransfer(from,address(this),feeAmount);
        }
        _basicTransfer(from,to,amount - feeAmount);
    }       

    function swapTokenForFund(uint256 tokenAmount) private lockTheSwap {
        if (tokenAmount == 0) {
            return;
        }

        if(tokenAmount> 0){
            _swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokenAmount,
                0,
                rewardPath,
                fundAddress,
                block.timestamp
            );
        }
        
    }
    
    receive() external payable {}

    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_feeWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mainPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapRouter","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currency","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"rewardPath","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040523480156200001157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152601881527f4f6c796d7069632047616d65732050617269732032303234000000000000000060208201526004906200009690826200058d565b50604080518082019091526003815262494f4360e81b6020820152600590620000c090826200058d565b5060126006819055620000d590600a6200076e565b620000e590630c10b01062000783565b6008556003805473ae86d07b370f27bf1bafbfb070326a9d3773e1e76001600160a01b03199182161790915560098054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156200016c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200019291906200079d565b600a80546001600160a01b039283166001600160a01b031991821681179092556003546000805490921693169283179055604080518082019091523081526020810191909152620001e890600f90600262000467565b50600a5460095460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af115801562000240573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002669190620007c8565b50306000908152600260209081526040808320600980546001600160a01b039081168652918452828520600019905554825163c45a015560e01b8152925191169263c45a015592600480820193918290030181865afa158015620002ce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f491906200079d565b600a546040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291925082169063c9c65396906044016020604051808303816000875af115801562000349573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036f91906200079d565b600e80546001600160a01b0319166001600160a01b039283169081179091556000908152600b60209081526040808320805460ff191660019081179091556103e8600d556008549487168085529083528184208590559051938452927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506003546001600160a01b039081166000908152600760205260408082208054600160ff1991821681179092559484168352818320805486168217905530835281832080548616821790556009549093168252808220805485168417905533825290208054909216179055620007ec565b828054828255906000526020600020908101928215620004bf579160200282015b82811115620004bf57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000488565b50620004cd929150620004d1565b5090565b5b80821115620004cd5760008155600101620004d2565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200051357607f821691505b6020821081036200053457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200058857600081815260208120601f850160051c81016020861015620005635750805b601f850160051c820191505b8181101562000584578281556001016200056f565b5050505b505050565b81516001600160401b03811115620005a957620005a9620004e8565b620005c181620005ba8454620004fe565b846200053a565b602080601f831160018114620005f95760008415620005e05750858301515b600019600386901b1c1916600185901b17855562000584565b600085815260208120601f198616915b828110156200062a5788860151825594840194600190910190840162000609565b5085821015620006495787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620006b057816000190482111562000694576200069462000659565b80851615620006a257918102915b93841c939080029062000674565b509250929050565b600082620006c95750600162000768565b81620006d85750600062000768565b8160018114620006f15760028114620006fc576200071c565b600191505062000768565b60ff84111562000710576200071062000659565b50506001821b62000768565b5060208310610133831016604e8410600b841016171562000741575081810a62000768565b6200074d83836200066f565b806000190482111562000764576200076462000659565b0290505b92915050565b60006200077c8383620006b8565b9392505050565b808202811582820484141762000768576200076862000659565b600060208284031215620007b057600080fd5b81516001600160a01b03811681146200077c57600080fd5b600060208284031215620007db57600080fd5b815180151581146200077c57600080fd5b610d1480620007fc6000396000f3fe6080604052600436106101235760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610348578063dd62ed3e14610368578063e5a6b10f146103ae578063e82bef29146103ce578063f2fde38b146103ee57600080fd5b806370a08231146102a8578063715018a6146102de5780638da5cb5b146102f557806395d89b41146103135780639cc0e3c71461032857600080fd5b806323b872dd116100e757806323b872dd1461020d578063313ce5671461022d5780633bfe62ca146102425780633c11100d146102585780634188bf5a1461028857600080fd5b806301986fad1461012f57806306fdde0314610174578063095ea7b31461019657806318160ddd146101b6578063206c17bb146101d557600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5061015f61014a366004610a97565b60076020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561018057600080fd5b5061018961040e565b60405161016b9190610ab9565b3480156101a257600080fd5b5061015f6101b1366004610b07565b6104a0565b3480156101c257600080fd5b506008545b60405190815260200161016b565b3480156101e157600080fd5b506009546101f5906001600160a01b031681565b6040516001600160a01b03909116815260200161016b565b34801561021957600080fd5b5061015f610228366004610b31565b6104b7565b34801561023957600080fd5b506006546101c7565b34801561024e57600080fd5b506101c7600d5481565b34801561026457600080fd5b5061015f610273366004610a97565b600b6020526000908152604090205460ff1681565b34801561029457600080fd5b50600e546101f5906001600160a01b031681565b3480156102b457600080fd5b506101c76102c3366004610a97565b6001600160a01b031660009081526001602052604090205490565b3480156102ea57600080fd5b506102f361054e565b005b34801561030157600080fd5b506000546001600160a01b03166101f5565b34801561031f57600080fd5b506101896105e0565b34801561033457600080fd5b506101f5610343366004610b6d565b6105ef565b34801561035457600080fd5b5061015f610363366004610b07565b610619565b34801561037457600080fd5b506101c7610383366004610b86565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103ba57600080fd5b50600a546101f5906001600160a01b031681565b3480156103da57600080fd5b506003546101f5906001600160a01b031681565b3480156103fa57600080fd5b506102f3610409366004610a97565b610626565b60606004805461041d90610bb9565b80601f016020809104026020016040519081016040528092919081815260200182805461044990610bb9565b80156104965780601f1061046b57610100808354040283529160200191610496565b820191906000526020600020905b81548152906001019060200180831161047957829003601f168201915b5050505050905090565b60006104ad338484610705565b5060015b92915050565b60006104c4848484610766565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610544576001600160a01b038416600090815260026020908152604080832033845290915290205461051f908390610c09565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146105965760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60606005805461041d90610bb9565b600f81815481106105ff57600080fd5b6000918252602090912001546001600160a01b0316905081565b60006104ad338484610766565b6000546001600160a01b031633146106695760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b604482015260640161058d565b6001600160a01b0381166106aa5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161058d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b80610786846001600160a01b031660009081526001602052604090205490565b10156107c05760405162461bcd60e51b815260206004820152600960248201526809cdee88adcdeeaced60bb1b604482015260640161058d565b6001600160a01b0383166000908152600b602052604081205460ff16806107ff57506001600160a01b0383166000908152600b602052604090205460ff165b15610901576001600160a01b03841660009081526007602052604090205460ff1615801561084657506001600160a01b03831660009081526007602052604090205460ff16155b15610901576001600160a01b0383166000908152600b602052604090205460ff16156108b357600c5460ff166108b3573060009081526001602052604090205480156108b1576000610899601485610c1c565b9050818111156108a65750805b6108af8161092f565b505b505b6001600160a01b0383166000908152600b602052604090205460ff1615610901576000612710600d54846108e79190610c3e565b6108f19190610c1c565b90506108fd8183610c55565b9150505b8015610914576109128430836109c6565b505b61092884846109238486610c09565b6109c6565b5050505050565b600c805460ff1916600117905580156109b95780156109b95760095460035460405163791ac94760e01b81526001600160a01b039283169263791ac94792610986928692600092600f929116904290600401610c68565b600060405180830381600087803b1580156109a057600080fd5b505af11580156109b4573d6000803e3d6000fd5b505050505b50600c805460ff19169055565b6001600160a01b0383166000908152600160205260408120805483919083906109f0908490610c09565b90915550506001600160a01b03831660009081526001602052604081208054849290610a1d908490610c55565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a6991815260200190565b60405180910390a35060019392505050565b80356001600160a01b0381168114610a9257600080fd5b919050565b600060208284031215610aa957600080fd5b610ab282610a7b565b9392505050565b600060208083528351808285015260005b81811015610ae657858101830151858201604001528201610aca565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215610b1a57600080fd5b610b2383610a7b565b946020939093013593505050565b600080600060608486031215610b4657600080fd5b610b4f84610a7b565b9250610b5d60208501610a7b565b9150604084013590509250925092565b600060208284031215610b7f57600080fd5b5035919050565b60008060408385031215610b9957600080fd5b610ba283610a7b565b9150610bb060208401610a7b565b90509250929050565b600181811c90821680610bcd57607f821691505b602082108103610bed57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104b1576104b1610bf3565b600082610c3957634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176104b1576104b1610bf3565b808201808211156104b1576104b1610bf3565b600060a082018783526020878185015260a0604085015281875480845260c0860191508860005282600020935060005b81811015610cbd5784546001600160a01b031683526001948501949284019201610c98565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122058ebb24c6ce0ccdd0e5079b6bf0694be426e018306cb03d76bdfd4bfd2ff7ce964736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101235760003560e01c806370a08231116100a0578063a9059cbb11610064578063a9059cbb14610348578063dd62ed3e14610368578063e5a6b10f146103ae578063e82bef29146103ce578063f2fde38b146103ee57600080fd5b806370a08231146102a8578063715018a6146102de5780638da5cb5b146102f557806395d89b41146103135780639cc0e3c71461032857600080fd5b806323b872dd116100e757806323b872dd1461020d578063313ce5671461022d5780633bfe62ca146102425780633c11100d146102585780634188bf5a1461028857600080fd5b806301986fad1461012f57806306fdde0314610174578063095ea7b31461019657806318160ddd146101b6578063206c17bb146101d557600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5061015f61014a366004610a97565b60076020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561018057600080fd5b5061018961040e565b60405161016b9190610ab9565b3480156101a257600080fd5b5061015f6101b1366004610b07565b6104a0565b3480156101c257600080fd5b506008545b60405190815260200161016b565b3480156101e157600080fd5b506009546101f5906001600160a01b031681565b6040516001600160a01b03909116815260200161016b565b34801561021957600080fd5b5061015f610228366004610b31565b6104b7565b34801561023957600080fd5b506006546101c7565b34801561024e57600080fd5b506101c7600d5481565b34801561026457600080fd5b5061015f610273366004610a97565b600b6020526000908152604090205460ff1681565b34801561029457600080fd5b50600e546101f5906001600160a01b031681565b3480156102b457600080fd5b506101c76102c3366004610a97565b6001600160a01b031660009081526001602052604090205490565b3480156102ea57600080fd5b506102f361054e565b005b34801561030157600080fd5b506000546001600160a01b03166101f5565b34801561031f57600080fd5b506101896105e0565b34801561033457600080fd5b506101f5610343366004610b6d565b6105ef565b34801561035457600080fd5b5061015f610363366004610b07565b610619565b34801561037457600080fd5b506101c7610383366004610b86565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103ba57600080fd5b50600a546101f5906001600160a01b031681565b3480156103da57600080fd5b506003546101f5906001600160a01b031681565b3480156103fa57600080fd5b506102f3610409366004610a97565b610626565b60606004805461041d90610bb9565b80601f016020809104026020016040519081016040528092919081815260200182805461044990610bb9565b80156104965780601f1061046b57610100808354040283529160200191610496565b820191906000526020600020905b81548152906001019060200180831161047957829003601f168201915b5050505050905090565b60006104ad338484610705565b5060015b92915050565b60006104c4848484610766565b6001600160a01b038416600090815260026020908152604080832033845290915290205460001914610544576001600160a01b038416600090815260026020908152604080832033845290915290205461051f908390610c09565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146105965760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b60448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60606005805461041d90610bb9565b600f81815481106105ff57600080fd5b6000918252602090912001546001600160a01b0316905081565b60006104ad338484610766565b6000546001600160a01b031633146106695760405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b604482015260640161058d565b6001600160a01b0381166106aa5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b604482015260640161058d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b80610786846001600160a01b031660009081526001602052604090205490565b10156107c05760405162461bcd60e51b815260206004820152600960248201526809cdee88adcdeeaced60bb1b604482015260640161058d565b6001600160a01b0383166000908152600b602052604081205460ff16806107ff57506001600160a01b0383166000908152600b602052604090205460ff165b15610901576001600160a01b03841660009081526007602052604090205460ff1615801561084657506001600160a01b03831660009081526007602052604090205460ff16155b15610901576001600160a01b0383166000908152600b602052604090205460ff16156108b357600c5460ff166108b3573060009081526001602052604090205480156108b1576000610899601485610c1c565b9050818111156108a65750805b6108af8161092f565b505b505b6001600160a01b0383166000908152600b602052604090205460ff1615610901576000612710600d54846108e79190610c3e565b6108f19190610c1c565b90506108fd8183610c55565b9150505b8015610914576109128430836109c6565b505b61092884846109238486610c09565b6109c6565b5050505050565b600c805460ff1916600117905580156109b95780156109b95760095460035460405163791ac94760e01b81526001600160a01b039283169263791ac94792610986928692600092600f929116904290600401610c68565b600060405180830381600087803b1580156109a057600080fd5b505af11580156109b4573d6000803e3d6000fd5b505050505b50600c805460ff19169055565b6001600160a01b0383166000908152600160205260408120805483919083906109f0908490610c09565b90915550506001600160a01b03831660009081526001602052604081208054849290610a1d908490610c55565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a6991815260200190565b60405180910390a35060019392505050565b80356001600160a01b0381168114610a9257600080fd5b919050565b600060208284031215610aa957600080fd5b610ab282610a7b565b9392505050565b600060208083528351808285015260005b81811015610ae657858101830151858201604001528201610aca565b506000604082860101526040601f19601f8301168501019250505092915050565b60008060408385031215610b1a57600080fd5b610b2383610a7b565b946020939093013593505050565b600080600060608486031215610b4657600080fd5b610b4f84610a7b565b9250610b5d60208501610a7b565b9150604084013590509250925092565b600060208284031215610b7f57600080fd5b5035919050565b60008060408385031215610b9957600080fd5b610ba283610a7b565b9150610bb060208401610a7b565b90509250929050565b600181811c90821680610bcd57607f821691505b602082108103610bed57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104b1576104b1610bf3565b600082610c3957634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176104b1576104b1610bf3565b808201808211156104b1576104b1610bf3565b600060a082018783526020878185015260a0604085015281875480845260c0860191508860005282600020935060005b81811015610cbd5784546001600160a01b031683526001948501949284019201610c98565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122058ebb24c6ce0ccdd0e5079b6bf0694be426e018306cb03d76bdfd4bfd2ff7ce964736f6c63430008120033

Deployed Bytecode Sourcemap

3472:5795:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3764:45;;;;;;;;;;-1:-1:-1;3764:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;548:14:1;;541:22;523:41;;511:2;496:18;3764:45:0;;;;;;;;5577:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;6389:184::-;;;;;;;;;;-1:-1:-1;6389:184:0;;;;;:::i;:::-;;:::i;5783:95::-;;;;;;;;;;-1:-1:-1;5863:7:0;;5783:95;;;1533:25:1;;;1521:2;1506:18;5783:95:0;1387:177:1;3850:30:0;;;;;;;;;;-1:-1:-1;3850:30:0;;;;-1:-1:-1;;;;;3850:30:0;;;;;;-1:-1:-1;;;;;1752:32:1;;;1734:51;;1722:2;1707:18;3850:30:0;1569:222:1;6581:404:0;;;;;;;;;;-1:-1:-1;6581:404:0;;;;;:::i;:::-;;:::i;5679:96::-;;;;;;;;;;-1:-1:-1;5758:9:0;;5679:96;;4050:27;;;;;;;;;;;;;;;;3917:45;;;;;;;;;;-1:-1:-1;3917:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4086:24;;;;;;;;;;-1:-1:-1;4086:24:0;;;;-1:-1:-1;;;;;4086:24:0;;;5888:119;;;;;;;;;;-1:-1:-1;5888:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5981:18:0;5954:7;5981:18;;;:9;:18;;;;;;;5888:119;3095:148;;;;;;;;;;;;;:::i;:::-;;2909:79;;;;;;;;;;-1:-1:-1;2947:7:0;2974:6;-1:-1:-1;;;;;2974:6:0;2909:79;;5471:98;;;;;;;;;;;;;:::i;4219:27::-;;;;;;;;;;-1:-1:-1;4219:27:0;;;;;:::i;:::-;;:::i;6015:190::-;;;;;;;;;;-1:-1:-1;6015:190:0;;;;;:::i;:::-;;:::i;6213:168::-;;;;;;;;;;-1:-1:-1;6213:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;6346:18:0;;;6319:7;6346:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6213:168;3887:23;;;;;;;;;;-1:-1:-1;3887:23:0;;;;-1:-1:-1;;;;;3887:23:0;;;3639:26;;;;;;;;;;-1:-1:-1;3639:26:0;;;;-1:-1:-1;;;;;3639:26:0;;;3251:214;;;;;;;;;;-1:-1:-1;3251:214:0;;;;;:::i;:::-;;:::i;5577:94::-;5625:13;5658:5;5651:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5577:94;:::o;6389:184::-;6489:4;6506:37;6515:10;6527:7;6536:6;6506:8;:37::i;:::-;-1:-1:-1;6561:4:0;6389:184;;;;;:::o;6581:404::-;6713:4;6730:36;6740:6;6748:9;6759:6;6730:9;:36::i;:::-;-1:-1:-1;;;;;6781:19:0;;4039:1;6781:19;;;:11;:19;;;;;;;;6801:10;6781:31;;;;;;;;-1:-1:-1;;6781:38:0;6777:179;;-1:-1:-1;;;;;6887:19:0;;;;;;:11;:19;;;;;;;;6907:10;6887:31;;;;;;;;:57;;6938:6;;6887:57;:::i;:::-;-1:-1:-1;;;;;6836:19:0;;;;;;:11;:19;;;;;;;;6856:10;6836:31;;;;;;;:108;6777:179;-1:-1:-1;6973:4:0;6581:404;;;;;:::o;3095:148::-;3036:6;;-1:-1:-1;;;;;3036:6:0;3046:10;3036:20;3028:39;;;;-1:-1:-1;;;3028:39:0;;3639:2:1;3028:39:0;;;3621:21:1;3678:1;3658:18;;;3651:29;-1:-1:-1;;;3696:18:1;;;3689:36;3742:18;;3028:39:0;;;;;;;;;3202:1:::1;3186:6:::0;;3165:40:::1;::::0;-1:-1:-1;;;;;3186:6:0;;::::1;::::0;3165:40:::1;::::0;3202:1;;3165:40:::1;3233:1;3216:19:::0;;-1:-1:-1;;;;;;3216:19:0::1;::::0;;3095:148::o;5471:98::-;5521:13;5554:7;5547:14;;;;;:::i;4219:27::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4219:27:0;;-1:-1:-1;4219:27:0;:::o;6015:190::-;6118:4;6135:40;6145:10;6157:9;6168:6;6135:9;:40::i;3251:214::-;3036:6;;-1:-1:-1;;;;;3036:6:0;3046:10;3036:20;3028:39;;;;-1:-1:-1;;;3028:39:0;;3639:2:1;3028:39:0;;;3621:21:1;3678:1;3658:18;;;3651:29;-1:-1:-1;;;3696:18:1;;;3689:36;3742:18;;3028:39:0;3437:329:1;3028:39:0;-1:-1:-1;;;;;3340:22:0;::::1;3332:43;;;::::0;-1:-1:-1;;;3332:43:0;;3973:2:1;3332:43:0::1;::::0;::::1;3955:21:1::0;4012:1;3992:18;;;3985:29;-1:-1:-1;;;4030:18:1;;;4023:38;4078:18;;3332:43:0::1;3771:331:1::0;3332:43:0::1;3412:6;::::0;;3391:38:::1;::::0;-1:-1:-1;;;;;3391:38:0;;::::1;::::0;3412:6;::::1;::::0;3391:38:::1;::::0;::::1;3440:6;:17:::0;;-1:-1:-1;;;;;;3440:17:0::1;-1:-1:-1::0;;;;;3440:17:0;;;::::1;::::0;;;::::1;::::0;;3251:214::o;6993:177::-;-1:-1:-1;;;;;7078:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7130:32;;1533:25:1;;;7130:32:0;;1506:18:1;7130:32:0;;;;;;;6993:177;;;:::o;7481:1292::-;7588:6;7569:15;7579:4;-1:-1:-1;;;;;5981:18:0;5954:7;5981:18;;;:9;:18;;;;;;;5888:119;7569:15;:25;;7561:47;;;;-1:-1:-1;;;7561:47:0;;4309:2:1;7561:47:0;;;4291:21:1;4348:1;4328:18;;;4321:29;-1:-1:-1;;;4366:18:1;;;4359:39;4415:18;;7561:47:0;4107:332:1;7561:47:0;-1:-1:-1;;;;;7655:19:0;;7619:17;7655:19;;;:13;:19;;;;;;;;;:40;;-1:-1:-1;;;;;;7678:17:0;;;;;;:13;:17;;;;;;;;7655:40;7651:965;;;-1:-1:-1;;;;;7731:19:0;;;;;;:13;:19;;;;;;;;7730:20;:42;;;;-1:-1:-1;;;;;;7755:17:0;;;;;;:13;:17;;;;;;;;7754:18;7730:42;7726:877;;;-1:-1:-1;;;;;7815:17:0;;;;;;:13;:17;;;;;;;;7811:596;;;7862:6;;;;7857:531;;7947:4;7898:28;5981:18;;;:9;:18;;;;;;7984:24;;7980:385;;8043:27;8073:9;8080:2;8073:6;:9;:::i;:::-;8043:39;;8139:20;8117:19;:42;8113:157;;;-1:-1:-1;8218:20:0;8113:157;8300:37;8317:19;8300:16;:37::i;:::-;8010:355;7980:385;7871:517;7857:531;-1:-1:-1;;;;;8429:17:0;;;;;;:13;:17;;;;;;;;8425:163;;;8471:18;8518:5;8502:12;;8493:6;:21;;;;:::i;:::-;8492:31;;;;:::i;:::-;8471:52;-1:-1:-1;8546:22:0;8471:52;8546:22;;:::i;:::-;;;8448:140;8425:163;8629:12;;8626:87;;8657:44;8672:4;8685;8691:9;8657:14;:44::i;:::-;;8626:87;8723:42;8738:4;8743:2;8746:18;8755:9;8746:6;:18;:::i;:::-;8723:14;:42::i;:::-;;7550:1223;7481:1292;;;:::o;8788:427::-;4153:6;:13;;-1:-1:-1;;4153:13:0;4162:4;4153:13;;;8866:55;;8903:7:::1;8866:55;8936:14:::0;;8933:265:::1;;8966:11;::::0;9126::::1;::::0;8966:220:::1;::::0;-1:-1:-1;;;8966:220:0;;-1:-1:-1;;;;;8966:11:0;;::::1;::::0;:62:::1;::::0;:220:::1;::::0;9047:11;;8966::::1;::::0;9097:10:::1;::::0;9126:11;::::1;::::0;9156:15:::1;::::0;8966:220:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8933:265;-1:-1:-1::0;4189:6:0;:14;;-1:-1:-1;;4189:14:0;;;8788:427::o;7180:293::-;-1:-1:-1;;;;;7324:17:0;;7307:4;7324:17;;;:9;:17;;;;;:27;;7345:6;;7324:17;7307:4;;7324:27;;7345:6;;7324:27;:::i;:::-;;;;-1:-1:-1;;;;;;;7362:20:0;;;;;;:9;:20;;;;;:30;;7386:6;;7362:20;:30;;7386:6;;7362:30;:::i;:::-;;;;;;;;7425:9;-1:-1:-1;;;;;7408:35:0;7417:6;-1:-1:-1;;;;;7408:35:0;;7436:6;7408:35;;;;1533:25:1;;1521:2;1506:18;;1387:177;7408:35:0;;;;;;;;-1:-1:-1;7461:4:0;7180:293;;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:186::-;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;:::-;333:39;192:186;-1:-1:-1;;;192:186:1:o;575:548::-;687:4;716:2;745;734:9;727:21;777:6;771:13;820:6;815:2;804:9;800:18;793:34;845:1;855:140;869:6;866:1;863:13;855:140;;;964:14;;;960:23;;954:30;930:17;;;949:2;926:26;919:66;884:10;;855:140;;;859:3;1044:1;1039:2;1030:6;1019:9;1015:22;1011:31;1004:42;1114:2;1107;1103:7;1098:2;1090:6;1086:15;1082:29;1071:9;1067:45;1063:54;1055:62;;;;575:548;;;;:::o;1128:254::-;1196:6;1204;1257:2;1245:9;1236:7;1232:23;1228:32;1225:52;;;1273:1;1270;1263:12;1225:52;1296:29;1315:9;1296:29;:::i;:::-;1286:39;1372:2;1357:18;;;;1344:32;;-1:-1:-1;;;1128:254:1:o;1796:328::-;1873:6;1881;1889;1942:2;1930:9;1921:7;1917:23;1913:32;1910:52;;;1958:1;1955;1948:12;1910:52;1981:29;2000:9;1981:29;:::i;:::-;1971:39;;2029:38;2063:2;2052:9;2048:18;2029:38;:::i;:::-;2019:48;;2114:2;2103:9;2099:18;2086:32;2076:42;;1796:328;;;;;:::o;2337:180::-;2396:6;2449:2;2437:9;2428:7;2424:23;2420:32;2417:52;;;2465:1;2462;2455:12;2417:52;-1:-1:-1;2488:23:1;;2337:180;-1:-1:-1;2337:180:1:o;2522:260::-;2590:6;2598;2651:2;2639:9;2630:7;2626:23;2622:32;2619:52;;;2667:1;2664;2657:12;2619:52;2690:29;2709:9;2690:29;:::i;:::-;2680:39;;2738:38;2772:2;2761:9;2757:18;2738:38;:::i;:::-;2728:48;;2522:260;;;;;:::o;2787:380::-;2866:1;2862:12;;;;2909;;;2930:61;;2984:4;2976:6;2972:17;2962:27;;2930:61;3037:2;3029:6;3026:14;3006:18;3003:38;3000:161;;3083:10;3078:3;3074:20;3071:1;3064:31;3118:4;3115:1;3108:15;3146:4;3143:1;3136:15;3000:161;;2787:380;;;:::o;3172:127::-;3233:10;3228:3;3224:20;3221:1;3214:31;3264:4;3261:1;3254:15;3288:4;3285:1;3278:15;3304:128;3371:9;;;3392:11;;;3389:37;;;3406:18;;:::i;4444:217::-;4484:1;4510;4500:132;;4554:10;4549:3;4545:20;4542:1;4535:31;4589:4;4586:1;4579:15;4617:4;4614:1;4607:15;4500:132;-1:-1:-1;4646:9:1;;4444:217::o;4666:168::-;4739:9;;;4770;;4787:15;;;4781:22;;4767:37;4757:71;;4808:18;;:::i;4839:125::-;4904:9;;;4925:10;;;4922:36;;;4938:18;;:::i;4969:1003::-;5228:4;5276:3;5265:9;5261:19;5307:6;5296:9;5289:25;5333:2;5371:6;5366:2;5355:9;5351:18;5344:34;5414:3;5409:2;5398:9;5394:18;5387:31;5438:6;5473;5467:13;5504:6;5496;5489:22;5542:3;5531:9;5527:19;5520:26;;5565:6;5562:1;5555:17;5608:2;5605:1;5595:16;5581:30;;5629:1;5639:194;5653:6;5650:1;5647:13;5639:194;;;5718:13;;-1:-1:-1;;;;;5714:39:1;5702:52;;5750:1;5809:14;;;;5774:12;;;;5668:9;5639:194;;;-1:-1:-1;;;;;;;5889:32:1;;;;5884:2;5869:18;;5862:60;-1:-1:-1;;;5953:3:1;5938:19;5931:35;5850:3;4969:1003;-1:-1:-1;;;4969:1003:1:o

Swarm Source

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