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

Token

Superbowl Wager (SBW)
 

Overview

Max Total Supply

1,000,000,000 SBW

Holders

93

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 4 Decimals)

Balance
0.2514 SBW

Value
$0.00
0x21d8fdE15F20189A8592aE9761Fbbfb500f5E511
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:
SBWager

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 800 runs

Other Settings:
default evmVersion
File 1 of 1 : main.sol
// SPDX-License-Identifier: UNLICENSED

/*
 * Superbowl Wager
 *
 * Telegram: https://t.me/SBWPortal
 * Dapp: https://superbowlwager.com
 */

pragma solidity ^0.8.17;

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

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Auth {
    address internal owner;
    mapping (address => bool) internal authorizations;

    constructor(address _owner) {
        owner = _owner;
        authorizations[_owner] = true;
    }

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

    modifier authorized() {
        require(isAuthorized(msg.sender), "!AUTHORIZED"); _;
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) public onlyOwner {
        require(adr != owner, "OWNER cant be unauthorized");
        authorizations[adr] = false;
    }

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

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }

    function transferOwnership(address payable adr) public onlyOwner {
        require(adr != owner, "Already the owner");
        authorizations[owner] = false;
        owner = adr;
        authorizations[adr] = true;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

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

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

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

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

contract SBWager is ERC20, Auth {
    using SafeMath for uint256;

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

    string constant _name = "Superbowl Wager";
    string constant _symbol = "SBW";
    uint8 constant _decimals = 4;

    uint256 _totalSupply = 1 * 10**9 * 10**_decimals;

    uint256 public _maxTxAmount = _totalSupply / 100;
    uint256 public _maxWalletToken = _totalSupply / 50;

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

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;
    mapping (address => bool) isWalletLimitExempt;

    uint256 public liquidityFee = 10;
    uint256 public marketingFee = 23;
    uint256 public devFee = 1;
    uint256 public totalFee = marketingFee + liquidityFee + devFee;
    uint256 public constant feeDenominator = 100;

    // Track address to choices
    mapping(address => uint8) public choices;
    // Track position of choice to wallet
    mapping(uint256 => address) public choiceNumber;

    // Track total number of votes for each team
    uint256 chiefsCount = 0;
    uint256 eaglesCount = 0;
    event VoteCasted(address, uint8);

    address public autoLiquidityReceiver;
    address public marketingFeeReceiver;
    address public devFeeReceiver;

    IDEXRouter public router;
    address public pair;

    bool public tradingOpen = false;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 1000; // Swap at .1%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); // uniswap
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0x1cA2075370bB4858e9832bE560eaed6f1B9287b1; // Marketing wallet
       	devFeeReceiver = 0x927E6d9fdbf4EE2C45F8593D0418B5524a767214; // Payout wallet

        isFeeExempt[msg.sender] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;
        isTxLimitExempt[ZERO] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable { }

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

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

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

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

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

        return _transferFrom(sender, recipient, amount);
    }

    function updateMaxWallet(uint256 maxWalletPercent) external onlyOwner {
        require(maxWalletPercent >= 2, "Min 2%");
        require(maxWalletPercent <= 100, "Max 100%");
        _maxWalletToken = _totalSupply * maxWalletPercent / 100;
    }

    function updateMaxTransaction(uint256 maxTransactionPercent) external onlyOwner {
        require(maxTransactionPercent >= 1, "Min 1%");
        require(maxTransactionPercent <= 100, "Max 100%");
        _maxTxAmount = _totalSupply * maxTransactionPercent / 100;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen,"Trading not open yet");
        }

        if (!authorizations[sender] && !isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf(recipient) + amount) <= _maxWalletToken,"max wallet limit reached");
        }

        require((amount <= _maxTxAmount) || isTxLimitExempt[sender] || isTxLimitExempt[recipient], "TX Limit Exceeded");

        if(shouldSwapBack()){ swapBack(); }

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount);

        _balances[recipient] = _balances[recipient].add(amountReceived);

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

    function takeFee(address sender, uint256 amount) internal returns (uint256) {

        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);

        if(feeAmount > 0){
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        } 

        return amount.sub(feeAmount);
    }

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

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        payable(msg.sender).transfer(amountETH * amountPercentage / 100);
    }

    function clearContractSells(uint256 amountPercentage) external onlyOwner {
        uint256 tokensInContract = balanceOf(address(this));
        uint256 tokenstosell = tokensInContract.mul(amountPercentage).div(100);
        _basicTransfer(address(this),msg.sender,tokenstosell);
    }

    function openTrading() external onlyOwner {
        tradingOpen = true;
    }

    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

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

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

        uint256 amountETH = address(this).balance;

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHDev = amountETH.mul(devFee).div(totalETHFee);

        payable(marketingFeeReceiver).transfer(amountETHMarketing);
        payable(devFeeReceiver).transfer(amountETHDev);

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function setFees(uint256 _liquidityFee,  uint256 _marketingFee, uint256 _devFee) external onlyOwner {
        liquidityFee = _liquidityFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        totalFee = _liquidityFee + _marketingFee + _devFee;
        
        require(totalFee < 21, "Tax cannot be more than 20%");
    }

    function setFeeReceivers(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }

    /*
     * Adds a user's choice and uses a key-value pair to match an address to a choice.
     *
     * @param - uint8 choice
     * NOTE: 1 is Chiefs, 2 is Eagles.
     */
    function addChoice(uint8 choice) public {
        require(_balances[msg.sender] >= _totalSupply / 500, "You need to hold more");
        // Require the choice is within the bounds
        require(choice == 1 || choice == 2, "Not choosing a team");
        // Require the user has not yet chosen a team
        require(choices[msg.sender] == 0, "You have already chosen a team");
        // Add the users choice to the choices mapping
        choices[msg.sender] = choice;
        choiceNumber[eaglesCount+chiefsCount] = msg.sender;
        // Ternarily increments chiefsCount || eaglesCount
        choice == 1 ? chiefsCount++ : eaglesCount++;
        emit VoteCasted(msg.sender, choice);
    }

    function getChiefsCount() public view returns (uint256) {
        return chiefsCount;
    }

    function getEaglesCount() public view returns (uint256) {
        return eaglesCount;
    }

    function getWagerWinners(uint8 winner) public view returns (address[] memory) {
        // Allocate memory for the big fat winners
        address[] memory winners = new address[](chiefsCount + eaglesCount);
        uint256 count = 0;
        // Loop through all entries
        for (uint256 i = 0; i < chiefsCount + eaglesCount; i++) {
            if (choices[choiceNumber[i]] == winner && _balances[choiceNumber[i]] >= _totalSupply / 500) {
                winners[count] = choiceNumber[i];
                count++;
            }
        }
        return winners;
    }

    function wagerWinnerAmounts(uint8 winner) public view returns (uint256[] memory) {
        // Allocate memory for the big fat winners
        uint256[] memory amounts = new uint256[](chiefsCount + eaglesCount);
        uint256 count = 0;
        // Loop through all entries
        for (uint256 i = 0; i < chiefsCount + eaglesCount; i++) {
            if (choices[choiceNumber[i]] == winner && _balances[choiceNumber[i]] >= _totalSupply / 500) {
                amounts[count] = _balances[choiceNumber[i]] / _totalSupply;
                count++;
            }
        }
        return amounts;
    }

    // Winners payed out via disperse.app with the return values of the above 2 functions

event AutoLiquify(uint256 amountETH, uint256 amountTokens);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 800
  },
  "evmVersion": "london",
  "remappings": [],
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"","type":"address"},{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"VoteCasted","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"choice","type":"uint8"}],"name":"addChoice","outputs":[],"stateMutability":"nonpayable","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":"adr","type":"address"}],"name":"authorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"choiceNumber","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"choices","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearContractSells","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getChiefsCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getEaglesCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"winner","type":"uint8"}],"name":"getWagerWinners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"}],"name":"setFeeReceivers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","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":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTransactionPercent","type":"uint256"}],"name":"updateMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletPercent","type":"uint256"}],"name":"updateMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"winner","type":"uint8"}],"name":"wagerWinnerAmounts","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600380546001600160a01b031990811661dead179091556004805490911681556200003190600a620004f6565b6200004190633b9aca006200050e565b600555606460055462000055919062000528565b600655603260055462000069919062000528565b600755600a600d556017600e556001600f55600f54600d54600e546200009091906200054b565b6200009c91906200054b565b601055600060138190556014556019805461ffff60a01b1916600160a81b179055600554620000cf906103e89062000528565b601a55348015620000df57600080fd5b5060008054336001600160a01b031991821681178355825260016020818152604093849020805460ff191690921790915560188054737a250d5630b4cf539739df2c5dacb4c659f2488d93168317905582516315ab88c960e31b81529251919263ad5c464892600480830193928290030181865afa15801562000166573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018c919062000561565b600280546001600160a01b0319166001600160a01b039283161790556018546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa158015620001eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000211919062000561565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af115801562000263573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000289919062000561565b601980546001600160a01b039283166001600160a01b031991821617909155306000818152600960209081526040808320601854871684528252808320600019905560158054861633908117909155601680548716731ca2075370bb4858e9832be560eaed6f1b9287b11790556017805490961673927e6d9fdbf4ee2c45f8593d0418b5524a76721417909555848352600a8252808320805460ff199081166001908117909255600b8452828520805482168317905560038054891686528386208054831684179055600454891686528386208054831684179055878652600c85528386208054831684179055958552828520805482168317905594549096168352808320805490941690951790925560055483825260088352848220819055935193845291927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200058c565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004385781600019048211156200041c576200041c620003e1565b808516156200042a57918102915b93841c9390800290620003fc565b509250929050565b6000826200045157506001620004f0565b816200046057506000620004f0565b81600181146200047957600281146200048457620004a4565b6001915050620004f0565b60ff841115620004985762000498620003e1565b50506001821b620004f0565b5060208310610133831016604e8410600b8410161715620004c9575081810a620004f0565b620004d58383620003f7565b8060001904821115620004ec57620004ec620003e1565b0290505b92915050565b60006200050760ff84168362000440565b9392505050565b8082028115828204841417620004f057620004f0620003e1565b6000826200054657634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620004f057620004f0620003e1565b6000602082840312156200057457600080fd5b81516001600160a01b03811681146200050757600080fd5b6125bb806200059c6000396000f3fe60806040526004361061030c5760003560e01c80637b13f8c81161019a578063d42b92fd116100e1578063e96fada21161008a578063f887ea4011610064578063f887ea4014610910578063fe9fbb8014610930578063ffb54a991461096957600080fd5b8063e96fada2146108b0578063f0b37c04146108d0578063f2fde38b146108f057600080fd5b8063dc62b296116100bb578063dc62b29614610814578063dd62ed3e1461084a578063df20fd491461089057600080fd5b8063d42b92fd146107b4578063d7c01032146107d4578063dab84ee7146107f457600080fd5b8063a8aa1b3111610143578063c9567bf91161011d578063c9567bf91461075f578063ca33e64c14610774578063cec10c111461079457600080fd5b8063a8aa1b31146106ff578063a9059cbb1461071f578063b6a5d7de1461073f57600080fd5b806395d89b411161017457806395d89b411461069057806398118cb4146106bc5780639d608be1146106d257600080fd5b80637b13f8c8146106285780637d1db4a514610648578063893d20e81461065e57600080fd5b80632f54bf6e1161025e5780635ba5203f116102075780636ddd1713116101e15780636ddd1713146105bb57806370a08231146105dc57806378109e541461061257600080fd5b80635ba5203f146105625780636827e7641461058f5780636b67c4df146105a557600080fd5b8063410346b311610238578063410346b3146104fd57806341db0fe61461052d578063571ac8b01461054257600080fd5b80632f54bf6e14610497578063313ce567146104c65780633cb5df06146104e857600080fd5b806318160ddd116102c05780631df4ccfc1161029a5780631df4ccfc1461044c57806323b872dd146104625780632b112e491461048257600080fd5b806318160ddd146103f75780631c499ab01461040c5780631da1db5e1461042c57600080fd5b806306fdde03116102f157806306fdde0314610363578063095ea7b3146103b2578063180b0d7e146103e257600080fd5b80630445b667146103185780630517d13d1461034157600080fd5b3661031357005b600080fd5b34801561032457600080fd5b5061032e601a5481565b6040519081526020015b60405180910390f35b34801561034d57600080fd5b5061036161035c3660046121c7565b61098a565b005b34801561036f57600080fd5b5060408051808201909152600f81527f5375706572626f776c205761676572000000000000000000000000000000000060208201525b60405161033891906121e0565b3480156103be57600080fd5b506103d26103cd366004612246565b610a7f565b6040519015158152602001610338565b3480156103ee57600080fd5b5061032e606481565b34801561040357600080fd5b5060055461032e565b34801561041857600080fd5b506103616104273660046121c7565b610aec565b34801561043857600080fd5b506103616104473660046121c7565b610bdc565b34801561045857600080fd5b5061032e60105481565b34801561046e57600080fd5b506103d261047d366004612272565b610c67565b34801561048e57600080fd5b5061032e610d30565b3480156104a357600080fd5b506103d26104b23660046122b3565b6000546001600160a01b0391821691161490565b3480156104d257600080fd5b5060045b60405160ff9091168152602001610338565b3480156104f457600080fd5b5060135461032e565b34801561050957600080fd5b506104d66105183660046122b3565b60116020526000908152604090205460ff1681565b34801561053957600080fd5b5060145461032e565b34801561054e57600080fd5b506103d261055d3660046122b3565b610d82565b34801561056e57600080fd5b5061058261057d3660046122d0565b610d90565b60405161033891906122f3565b34801561059b57600080fd5b5061032e600f5481565b3480156105b157600080fd5b5061032e600e5481565b3480156105c757600080fd5b506019546103d290600160a81b900460ff1681565b3480156105e857600080fd5b5061032e6105f73660046122b3565b6001600160a01b031660009081526008602052604090205490565b34801561061e57600080fd5b5061032e60075481565b34801561063457600080fd5b506103616106433660046121c7565b610eec565b34801561065457600080fd5b5061032e60065481565b34801561066a57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610338565b34801561069c57600080fd5b5060408051808201909152600381526253425760e81b60208201526103a5565b3480156106c857600080fd5b5061032e600d5481565b3480156106de57600080fd5b506106f26106ed3660046122d0565b610f68565b604051610338919061237b565b34801561070b57600080fd5b50601954610678906001600160a01b031681565b34801561072b57600080fd5b506103d261073a366004612246565b6110b3565b34801561074b57600080fd5b5061036161075a3660046122b3565b6110c0565b34801561076b57600080fd5b5061036161112a565b34801561078057600080fd5b50601554610678906001600160a01b031681565b3480156107a057600080fd5b506103616107af36600461238e565b61119d565b3480156107c057600080fd5b506103616107cf3660046122d0565b611258565b3480156107e057600080fd5b506103616107ef3660046123ba565b611461565b34801561080057600080fd5b50601754610678906001600160a01b031681565b34801561082057600080fd5b5061067861082f3660046121c7565b6012602052600090815260409020546001600160a01b031681565b34801561085657600080fd5b5061032e610865366004612405565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561089c57600080fd5b506103616108ab36600461243e565b6114f0565b3480156108bc57600080fd5b50601654610678906001600160a01b031681565b3480156108dc57600080fd5b506103616108eb3660046122b3565b611570565b3480156108fc57600080fd5b5061036161090b3660046122b3565b611632565b34801561091c57600080fd5b50601854610678906001600160a01b031681565b34801561093c57600080fd5b506103d261094b3660046122b3565b6001600160a01b031660009081526001602052604090205460ff1690565b34801561097557600080fd5b506019546103d290600160a01b900460ff1681565b6000546001600160a01b031633146109d25760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b6001811015610a235760405162461bcd60e51b815260206004820152600660248201527f4d696e203125000000000000000000000000000000000000000000000000000060448201526064016109c9565b6064811115610a5f5760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b60448201526064016109c9565b606481600554610a6f9190612477565b610a79919061248e565b60065550565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ada9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610b2f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b6002811015610b805760405162461bcd60e51b815260206004820152600660248201527f4d696e203225000000000000000000000000000000000000000000000000000060448201526064016109c9565b6064811115610bbc5760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b60448201526064016109c9565b606481600554610bcc9190612477565b610bd6919061248e565b60075550565b6000546001600160a01b03163314610c1f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b47336108fc6064610c308585612477565b610c3a919061248e565b6040518115909202916000818181858888f19350505050158015610c62573d6000803e3d6000fd5b505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610d1b57604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610cf691849061175a565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610d26848484611794565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610d7d906003546001600160a01b0316600090815260086020526040902054610d779060055490611b4c565b90611b4c565b905090565b6000610ae682600019610a7f565b60606000601454601354610da491906124b0565b67ffffffffffffffff811115610dbc57610dbc6124c3565b604051908082528060200260200182016040528015610de5578160200160208202803683370190505b5090506000805b601454601354610dfc91906124b0565b811015610ee3576000818152601260209081526040808320546001600160a01b03168352601190915290205460ff8681169116148015610e6f57506101f4600554610e47919061248e565b6000828152601260209081526040808320546001600160a01b03168352600890915290205410155b15610ed1576005546000828152601260209081526040808320546001600160a01b031683526008909152902054610ea6919061248e565b838381518110610eb857610eb86124d9565b602090810291909101015281610ecd816124ef565b9250505b80610edb816124ef565b915050610dec565b50909392505050565b6000546001600160a01b03163314610f2f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b3060009081526008602052604081205490610f556064610f4f8486611b8e565b90611c10565b9050610f62303383611c52565b50505050565b60606000601454601354610f7c91906124b0565b67ffffffffffffffff811115610f9457610f946124c3565b604051908082528060200260200182016040528015610fbd578160200160208202803683370190505b5090506000805b601454601354610fd491906124b0565b811015610ee3576000818152601260209081526040808320546001600160a01b03168352601190915290205460ff868116911614801561104757506101f460055461101f919061248e565b6000828152601260209081526040808320546001600160a01b03168352600890915290205410155b156110a15760008181526012602052604090205483516001600160a01b039091169084908490811061107b5761107b6124d9565b6001600160a01b03909216602092830291909101909101528161109d816124ef565b9250505b806110ab816124ef565b915050610fc4565b6000610d29338484611794565b6000546001600160a01b031633146111035760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b0316331461116d5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b601980547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b179055565b6000546001600160a01b031633146111e05760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b600d839055600e829055600f819055806111fa83856124b0565b61120491906124b0565b6010819055601511610c625760405162461bcd60e51b815260206004820152601b60248201527f5461782063616e6e6f74206265206d6f7265207468616e20323025000000000060448201526064016109c9565b6101f4600554611268919061248e565b3360009081526008602052604090205410156112c65760405162461bcd60e51b815260206004820152601560248201527f596f75206e65656420746f20686f6c64206d6f7265000000000000000000000060448201526064016109c9565b8060ff16600114806112db57508060ff166002145b6113275760405162461bcd60e51b815260206004820152601360248201527f4e6f742063686f6f73696e672061207465616d0000000000000000000000000060448201526064016109c9565b3360009081526011602052604090205460ff16156113875760405162461bcd60e51b815260206004820152601e60248201527f596f75206861766520616c72656164792063686f73656e2061207465616d000060448201526064016109c9565b336000818152601160205260408120805460ff191660ff8516179055601354601454601292916113b6916124b0565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060ff1660011461140c5760148054906000611403836124ef565b91905055611421565b6013805490600061141c836124ef565b919050555b506040805133815260ff831660208201527f76580ac7c171cd3d2029d56fd501d1351f2db92da148447b53227803bf940c0291015b60405180910390a150565b6000546001600160a01b031633146114a45760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b601580546001600160a01b0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155601680549385169382169390931790925560178054919093169116179055565b6000546001600160a01b031633146115335760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b60198054921515600160a81b027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff90931692909217909155601a55565b6000546001600160a01b031633146115b35760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b6000546001600160a01b03908116908216036116115760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a656400000000000060448201526064016109c9565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146116755760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b6000546001600160a01b03908116908216036116d35760405162461bcd60e51b815260206004820152601160248201527f416c726561647920746865206f776e657200000000000000000000000000000060448201526064016109c9565b600080546001600160a01b039081168252600160208181526040808520805460ff19908116909155855473ffffffffffffffffffffffffffffffffffffffff19169487169485178655848652948190208054909516909217909355519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639101611456565b6000818484111561177e5760405162461bcd60e51b81526004016109c991906121e0565b50600061178b8486612508565b95945050505050565b601b5460009060ff16156117b4576117ad848484611c52565b9050610d29565b6001600160a01b03841660009081526001602052604090205460ff161580156117f657506001600160a01b03831660009081526001602052604090205460ff16155b1561185457601954600160a01b900460ff166118545760405162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e2079657400000000000000000000000060448201526064016109c9565b6001600160a01b03841660009081526001602052604090205460ff1615801561189657506001600160a01b0384166000908152600c602052604090205460ff16155b80156118bb57506001600160a01b0383166000908152600c602052604090205460ff16155b80156118d557506019546001600160a01b03848116911614155b1561195557600754826118fd856001600160a01b031660009081526008602052604090205490565b61190791906124b0565b11156119555760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016109c9565b6006548211158061197e57506001600160a01b0384166000908152600b602052604090205460ff165b806119a157506001600160a01b0383166000908152600b602052604090205460ff165b6119ed5760405162461bcd60e51b815260206004820152601160248201527f5458204c696d697420457863656564656400000000000000000000000000000060448201526064016109c9565b6119f5611d41565b15611a0257611a02611d97565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b038716600090815260089091529190912054611a5d91849061175a565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff1680611aaa57506001600160a01b0384166000908152600a602052604090205460ff165b611abd57611ab8858461208f565b611abf565b825b6001600160a01b038516600090815260086020526040902054909150611ae5908261213a565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b399085815260200190565b60405180910390a3506001949350505050565b6000610d2983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061175a565b600082600003611ba057506000610ae6565b6000611bac8385612477565b905082611bb9858361248e565b14610d295760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109c9565b6000610d2983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612199565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386166000908152600890915291822054611cac91849061175a565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611cdb908361213a565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d2f9086815260200190565b60405180910390a35060019392505050565b6019546000906001600160a01b03163314801590611d625750601b5460ff16155b8015611d775750601954600160a81b900460ff165b8015610d7d575050601a5430600090815260086020526040902054101590565b601b805460ff19166001179055600d54601054601a54600091611dc391600291610f4f91829087611b8e565b90506000611ddc82601a54611b4c90919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611e1657611e166124d9565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611e4757611e476124d9565b6001600160a01b03928316602091820292909201015260185460405163791ac94760e01b815291169063791ac94790611e8d90859060009086903090429060040161251b565b600060405180830381600087803b158015611ea757600080fd5b505af1158015611ebb573d6000803e3d6000fd5b5047925060009150611edc9050611ed3876002611c10565b60105490611b4c565b90506000611ef16002610f4f8481878c611b8e565b90506000611f0e83610f4f600e5487611b8e90919063ffffffff16565b90506000611f2b84610f4f600f5488611b8e90919063ffffffff16565b6016546040519192506001600160a01b03169083156108fc029084906000818181858888f19350505050158015611f66573d6000803e3d6000fd5b506017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611fa1573d6000803e3d6000fd5b50871561207a5760185460155460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015612018573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061203d9190612557565b505060408051858152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601b805460ff1916905550505050505050565b6000806120ac6064610f4f60105486611b8e90919063ffffffff16565b9050801561212857306000908152600860205260409020546120ce908261213a565b30600081815260086020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061211f9085815260200190565b60405180910390a35b6121328382611b4c565b949350505050565b60008061214783856124b0565b905083811015610d295760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109c9565b600081836121ba5760405162461bcd60e51b81526004016109c991906121e0565b50600061178b848661248e565b6000602082840312156121d957600080fd5b5035919050565b600060208083528351808285015260005b8181101561220d578581018301518582016040015282016121f1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461224357600080fd5b50565b6000806040838503121561225957600080fd5b82356122648161222e565b946020939093013593505050565b60008060006060848603121561228757600080fd5b83356122928161222e565b925060208401356122a28161222e565b929592945050506040919091013590565b6000602082840312156122c557600080fd5b8135610d298161222e565b6000602082840312156122e257600080fd5b813560ff81168114610d2957600080fd5b6020808252825182820181905260009190848201906040850190845b8181101561232b5783518352928401929184019160010161230f565b50909695505050505050565b600081518084526020808501945080840160005b838110156123705781516001600160a01b03168752958201959082019060010161234b565b509495945050505050565b602081526000610d296020830184612337565b6000806000606084860312156123a357600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156123cf57600080fd5b83356123da8161222e565b925060208401356123ea8161222e565b915060408401356123fa8161222e565b809150509250925092565b6000806040838503121561241857600080fd5b82356124238161222e565b915060208301356124338161222e565b809150509250929050565b6000806040838503121561245157600080fd5b8235801515811461226457600080fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610ae657610ae6612461565b6000826124ab57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610ae657610ae6612461565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161250157612501612461565b5060010190565b81810381811115610ae657610ae6612461565b85815284602082015260a06040820152600061253a60a0830186612337565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561256c57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212204d3c21bdb62e8cf65b703dd339e5411ed3247134612f75835fa0501065a73e3d64736f6c63430008110033

Deployed Bytecode

0x60806040526004361061030c5760003560e01c80637b13f8c81161019a578063d42b92fd116100e1578063e96fada21161008a578063f887ea4011610064578063f887ea4014610910578063fe9fbb8014610930578063ffb54a991461096957600080fd5b8063e96fada2146108b0578063f0b37c04146108d0578063f2fde38b146108f057600080fd5b8063dc62b296116100bb578063dc62b29614610814578063dd62ed3e1461084a578063df20fd491461089057600080fd5b8063d42b92fd146107b4578063d7c01032146107d4578063dab84ee7146107f457600080fd5b8063a8aa1b3111610143578063c9567bf91161011d578063c9567bf91461075f578063ca33e64c14610774578063cec10c111461079457600080fd5b8063a8aa1b31146106ff578063a9059cbb1461071f578063b6a5d7de1461073f57600080fd5b806395d89b411161017457806395d89b411461069057806398118cb4146106bc5780639d608be1146106d257600080fd5b80637b13f8c8146106285780637d1db4a514610648578063893d20e81461065e57600080fd5b80632f54bf6e1161025e5780635ba5203f116102075780636ddd1713116101e15780636ddd1713146105bb57806370a08231146105dc57806378109e541461061257600080fd5b80635ba5203f146105625780636827e7641461058f5780636b67c4df146105a557600080fd5b8063410346b311610238578063410346b3146104fd57806341db0fe61461052d578063571ac8b01461054257600080fd5b80632f54bf6e14610497578063313ce567146104c65780633cb5df06146104e857600080fd5b806318160ddd116102c05780631df4ccfc1161029a5780631df4ccfc1461044c57806323b872dd146104625780632b112e491461048257600080fd5b806318160ddd146103f75780631c499ab01461040c5780631da1db5e1461042c57600080fd5b806306fdde03116102f157806306fdde0314610363578063095ea7b3146103b2578063180b0d7e146103e257600080fd5b80630445b667146103185780630517d13d1461034157600080fd5b3661031357005b600080fd5b34801561032457600080fd5b5061032e601a5481565b6040519081526020015b60405180910390f35b34801561034d57600080fd5b5061036161035c3660046121c7565b61098a565b005b34801561036f57600080fd5b5060408051808201909152600f81527f5375706572626f776c205761676572000000000000000000000000000000000060208201525b60405161033891906121e0565b3480156103be57600080fd5b506103d26103cd366004612246565b610a7f565b6040519015158152602001610338565b3480156103ee57600080fd5b5061032e606481565b34801561040357600080fd5b5060055461032e565b34801561041857600080fd5b506103616104273660046121c7565b610aec565b34801561043857600080fd5b506103616104473660046121c7565b610bdc565b34801561045857600080fd5b5061032e60105481565b34801561046e57600080fd5b506103d261047d366004612272565b610c67565b34801561048e57600080fd5b5061032e610d30565b3480156104a357600080fd5b506103d26104b23660046122b3565b6000546001600160a01b0391821691161490565b3480156104d257600080fd5b5060045b60405160ff9091168152602001610338565b3480156104f457600080fd5b5060135461032e565b34801561050957600080fd5b506104d66105183660046122b3565b60116020526000908152604090205460ff1681565b34801561053957600080fd5b5060145461032e565b34801561054e57600080fd5b506103d261055d3660046122b3565b610d82565b34801561056e57600080fd5b5061058261057d3660046122d0565b610d90565b60405161033891906122f3565b34801561059b57600080fd5b5061032e600f5481565b3480156105b157600080fd5b5061032e600e5481565b3480156105c757600080fd5b506019546103d290600160a81b900460ff1681565b3480156105e857600080fd5b5061032e6105f73660046122b3565b6001600160a01b031660009081526008602052604090205490565b34801561061e57600080fd5b5061032e60075481565b34801561063457600080fd5b506103616106433660046121c7565b610eec565b34801561065457600080fd5b5061032e60065481565b34801561066a57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610338565b34801561069c57600080fd5b5060408051808201909152600381526253425760e81b60208201526103a5565b3480156106c857600080fd5b5061032e600d5481565b3480156106de57600080fd5b506106f26106ed3660046122d0565b610f68565b604051610338919061237b565b34801561070b57600080fd5b50601954610678906001600160a01b031681565b34801561072b57600080fd5b506103d261073a366004612246565b6110b3565b34801561074b57600080fd5b5061036161075a3660046122b3565b6110c0565b34801561076b57600080fd5b5061036161112a565b34801561078057600080fd5b50601554610678906001600160a01b031681565b3480156107a057600080fd5b506103616107af36600461238e565b61119d565b3480156107c057600080fd5b506103616107cf3660046122d0565b611258565b3480156107e057600080fd5b506103616107ef3660046123ba565b611461565b34801561080057600080fd5b50601754610678906001600160a01b031681565b34801561082057600080fd5b5061067861082f3660046121c7565b6012602052600090815260409020546001600160a01b031681565b34801561085657600080fd5b5061032e610865366004612405565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561089c57600080fd5b506103616108ab36600461243e565b6114f0565b3480156108bc57600080fd5b50601654610678906001600160a01b031681565b3480156108dc57600080fd5b506103616108eb3660046122b3565b611570565b3480156108fc57600080fd5b5061036161090b3660046122b3565b611632565b34801561091c57600080fd5b50601854610678906001600160a01b031681565b34801561093c57600080fd5b506103d261094b3660046122b3565b6001600160a01b031660009081526001602052604090205460ff1690565b34801561097557600080fd5b506019546103d290600160a01b900460ff1681565b6000546001600160a01b031633146109d25760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b6001811015610a235760405162461bcd60e51b815260206004820152600660248201527f4d696e203125000000000000000000000000000000000000000000000000000060448201526064016109c9565b6064811115610a5f5760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b60448201526064016109c9565b606481600554610a6f9190612477565b610a79919061248e565b60065550565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610ada9086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b03163314610b2f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b6002811015610b805760405162461bcd60e51b815260206004820152600660248201527f4d696e203225000000000000000000000000000000000000000000000000000060448201526064016109c9565b6064811115610bbc5760405162461bcd60e51b81526020600482015260086024820152674d6178203130302560c01b60448201526064016109c9565b606481600554610bcc9190612477565b610bd6919061248e565b60075550565b6000546001600160a01b03163314610c1f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b47336108fc6064610c308585612477565b610c3a919061248e565b6040518115909202916000818181858888f19350505050158015610c62573d6000803e3d6000fd5b505050565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610d1b57604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387166000908152600982528381203382529091529190912054610cf691849061175a565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b610d26848484611794565b90505b9392505050565b6004546001600160a01b0316600090815260086020526040812054610d7d906003546001600160a01b0316600090815260086020526040902054610d779060055490611b4c565b90611b4c565b905090565b6000610ae682600019610a7f565b60606000601454601354610da491906124b0565b67ffffffffffffffff811115610dbc57610dbc6124c3565b604051908082528060200260200182016040528015610de5578160200160208202803683370190505b5090506000805b601454601354610dfc91906124b0565b811015610ee3576000818152601260209081526040808320546001600160a01b03168352601190915290205460ff8681169116148015610e6f57506101f4600554610e47919061248e565b6000828152601260209081526040808320546001600160a01b03168352600890915290205410155b15610ed1576005546000828152601260209081526040808320546001600160a01b031683526008909152902054610ea6919061248e565b838381518110610eb857610eb86124d9565b602090810291909101015281610ecd816124ef565b9250505b80610edb816124ef565b915050610dec565b50909392505050565b6000546001600160a01b03163314610f2f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b3060009081526008602052604081205490610f556064610f4f8486611b8e565b90611c10565b9050610f62303383611c52565b50505050565b60606000601454601354610f7c91906124b0565b67ffffffffffffffff811115610f9457610f946124c3565b604051908082528060200260200182016040528015610fbd578160200160208202803683370190505b5090506000805b601454601354610fd491906124b0565b811015610ee3576000818152601260209081526040808320546001600160a01b03168352601190915290205460ff868116911614801561104757506101f460055461101f919061248e565b6000828152601260209081526040808320546001600160a01b03168352600890915290205410155b156110a15760008181526012602052604090205483516001600160a01b039091169084908490811061107b5761107b6124d9565b6001600160a01b03909216602092830291909101909101528161109d816124ef565b9250505b806110ab816124ef565b915050610fc4565b6000610d29338484611794565b6000546001600160a01b031633146111035760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b0316331461116d5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b601980547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b179055565b6000546001600160a01b031633146111e05760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b600d839055600e829055600f819055806111fa83856124b0565b61120491906124b0565b6010819055601511610c625760405162461bcd60e51b815260206004820152601b60248201527f5461782063616e6e6f74206265206d6f7265207468616e20323025000000000060448201526064016109c9565b6101f4600554611268919061248e565b3360009081526008602052604090205410156112c65760405162461bcd60e51b815260206004820152601560248201527f596f75206e65656420746f20686f6c64206d6f7265000000000000000000000060448201526064016109c9565b8060ff16600114806112db57508060ff166002145b6113275760405162461bcd60e51b815260206004820152601360248201527f4e6f742063686f6f73696e672061207465616d0000000000000000000000000060448201526064016109c9565b3360009081526011602052604090205460ff16156113875760405162461bcd60e51b815260206004820152601e60248201527f596f75206861766520616c72656164792063686f73656e2061207465616d000060448201526064016109c9565b336000818152601160205260408120805460ff191660ff8516179055601354601454601292916113b6916124b0565b815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508060ff1660011461140c5760148054906000611403836124ef565b91905055611421565b6013805490600061141c836124ef565b919050555b506040805133815260ff831660208201527f76580ac7c171cd3d2029d56fd501d1351f2db92da148447b53227803bf940c0291015b60405180910390a150565b6000546001600160a01b031633146114a45760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b601580546001600160a01b0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155601680549385169382169390931790925560178054919093169116179055565b6000546001600160a01b031633146115335760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b60198054921515600160a81b027fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff90931692909217909155601a55565b6000546001600160a01b031633146115b35760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b6000546001600160a01b03908116908216036116115760405162461bcd60e51b815260206004820152601a60248201527f4f574e45522063616e7420626520756e617574686f72697a656400000000000060448201526064016109c9565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b031633146116755760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064016109c9565b6000546001600160a01b03908116908216036116d35760405162461bcd60e51b815260206004820152601160248201527f416c726561647920746865206f776e657200000000000000000000000000000060448201526064016109c9565b600080546001600160a01b039081168252600160208181526040808520805460ff19908116909155855473ffffffffffffffffffffffffffffffffffffffff19169487169485178655848652948190208054909516909217909355519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639101611456565b6000818484111561177e5760405162461bcd60e51b81526004016109c991906121e0565b50600061178b8486612508565b95945050505050565b601b5460009060ff16156117b4576117ad848484611c52565b9050610d29565b6001600160a01b03841660009081526001602052604090205460ff161580156117f657506001600160a01b03831660009081526001602052604090205460ff16155b1561185457601954600160a01b900460ff166118545760405162461bcd60e51b815260206004820152601460248201527f54726164696e67206e6f74206f70656e2079657400000000000000000000000060448201526064016109c9565b6001600160a01b03841660009081526001602052604090205460ff1615801561189657506001600160a01b0384166000908152600c602052604090205460ff16155b80156118bb57506001600160a01b0383166000908152600c602052604090205460ff16155b80156118d557506019546001600160a01b03848116911614155b1561195557600754826118fd856001600160a01b031660009081526008602052604090205490565b61190791906124b0565b11156119555760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016109c9565b6006548211158061197e57506001600160a01b0384166000908152600b602052604090205460ff165b806119a157506001600160a01b0383166000908152600b602052604090205460ff165b6119ed5760405162461bcd60e51b815260206004820152601160248201527f5458204c696d697420457863656564656400000000000000000000000000000060448201526064016109c9565b6119f5611d41565b15611a0257611a02611d97565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b038716600090815260089091529190912054611a5d91849061175a565b6001600160a01b038516600090815260086020908152604080832093909355600a90529081205460ff1680611aaa57506001600160a01b0384166000908152600a602052604090205460ff165b611abd57611ab8858461208f565b611abf565b825b6001600160a01b038516600090815260086020526040902054909150611ae5908261213a565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b399085815260200190565b60405180910390a3506001949350505050565b6000610d2983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061175a565b600082600003611ba057506000610ae6565b6000611bac8385612477565b905082611bb9858361248e565b14610d295760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016109c9565b6000610d2983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612199565b604080518082018252601481527f496e73756666696369656e742042616c616e63650000000000000000000000006020808301919091526001600160a01b0386166000908152600890915291822054611cac91849061175a565b6001600160a01b038086166000908152600860205260408082209390935590851681522054611cdb908361213a565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d2f9086815260200190565b60405180910390a35060019392505050565b6019546000906001600160a01b03163314801590611d625750601b5460ff16155b8015611d775750601954600160a81b900460ff165b8015610d7d575050601a5430600090815260086020526040902054101590565b601b805460ff19166001179055600d54601054601a54600091611dc391600291610f4f91829087611b8e565b90506000611ddc82601a54611b4c90919063ffffffff16565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110611e1657611e166124d9565b6001600160a01b039283166020918202929092010152600254825191169082906001908110611e4757611e476124d9565b6001600160a01b03928316602091820292909201015260185460405163791ac94760e01b815291169063791ac94790611e8d90859060009086903090429060040161251b565b600060405180830381600087803b158015611ea757600080fd5b505af1158015611ebb573d6000803e3d6000fd5b5047925060009150611edc9050611ed3876002611c10565b60105490611b4c565b90506000611ef16002610f4f8481878c611b8e565b90506000611f0e83610f4f600e5487611b8e90919063ffffffff16565b90506000611f2b84610f4f600f5488611b8e90919063ffffffff16565b6016546040519192506001600160a01b03169083156108fc029084906000818181858888f19350505050158015611f66573d6000803e3d6000fd5b506017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611fa1573d6000803e3d6000fd5b50871561207a5760185460155460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015612018573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061203d9190612557565b505060408051858152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601b805460ff1916905550505050505050565b6000806120ac6064610f4f60105486611b8e90919063ffffffff16565b9050801561212857306000908152600860205260409020546120ce908261213a565b30600081815260086020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061211f9085815260200190565b60405180910390a35b6121328382611b4c565b949350505050565b60008061214783856124b0565b905083811015610d295760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016109c9565b600081836121ba5760405162461bcd60e51b81526004016109c991906121e0565b50600061178b848661248e565b6000602082840312156121d957600080fd5b5035919050565b600060208083528351808285015260005b8181101561220d578581018301518582016040015282016121f1565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461224357600080fd5b50565b6000806040838503121561225957600080fd5b82356122648161222e565b946020939093013593505050565b60008060006060848603121561228757600080fd5b83356122928161222e565b925060208401356122a28161222e565b929592945050506040919091013590565b6000602082840312156122c557600080fd5b8135610d298161222e565b6000602082840312156122e257600080fd5b813560ff81168114610d2957600080fd5b6020808252825182820181905260009190848201906040850190845b8181101561232b5783518352928401929184019160010161230f565b50909695505050505050565b600081518084526020808501945080840160005b838110156123705781516001600160a01b03168752958201959082019060010161234b565b509495945050505050565b602081526000610d296020830184612337565b6000806000606084860312156123a357600080fd5b505081359360208301359350604090920135919050565b6000806000606084860312156123cf57600080fd5b83356123da8161222e565b925060208401356123ea8161222e565b915060408401356123fa8161222e565b809150509250925092565b6000806040838503121561241857600080fd5b82356124238161222e565b915060208301356124338161222e565b809150509250929050565b6000806040838503121561245157600080fd5b8235801515811461226457600080fd5b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610ae657610ae6612461565b6000826124ab57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115610ae657610ae6612461565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006001820161250157612501612461565b5060010190565b81810381811115610ae657610ae6612461565b85815284602082015260a06040820152600061253a60a0830186612337565b6001600160a01b0394909416606083015250608001529392505050565b60008060006060848603121561256c57600080fd5b835192506020840151915060408401519050925092509256fea26469706673582212204d3c21bdb62e8cf65b703dd339e5411ed3247134612f75835fa0501065a73e3d64736f6c63430008110033

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.