ETH Price: $1,978.47 (-2.80%)
Gas: 0.05 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve224150352025-05-05 4:04:35302 days ago1746417875IN
0xEA35B9Ff...42710bC94
0 ETH0.000027520.59391385
Approve144213172022-03-20 5:20:251444 days ago1647753625IN
0xEA35B9Ff...42710bC94
0 ETH0.0008021717.2044793
Approve142686862022-02-24 12:04:021468 days ago1645704242IN
0xEA35B9Ff...42710bC94
0 ETH0.0035856577.32028545
Approve142175402022-02-16 13:57:371476 days ago1645019857IN
0xEA35B9Ff...42710bC94
0 ETH0.0026011355.7871248
Approve142112512022-02-15 14:36:131477 days ago1644935773IN
0xEA35B9Ff...42710bC94
0 ETH0.0032834870.42174151
Approve142093082022-02-15 7:08:051477 days ago1644908885IN
0xEA35B9Ff...42710bC94
0 ETH0.0023782651.00733671
Approve142057792022-02-14 18:05:051478 days ago1644861905IN
0xEA35B9Ff...42710bC94
0 ETH0.0021911890.01683734
Approve142009202022-02-14 0:06:361479 days ago1644797196IN
0xEA35B9Ff...42710bC94
0 ETH0.0020889744.80288185
Approve141981452022-02-13 13:48:101479 days ago1644760090IN
0xEA35B9Ff...42710bC94
0 ETH0.001918841.15321259
Approve141934702022-02-12 20:32:411480 days ago1644697961IN
0xEA35B9Ff...42710bC94
0 ETH0.0045085996.69711981
Approve141927132022-02-12 17:45:521480 days ago1644687952IN
0xEA35B9Ff...42710bC94
0 ETH0.0020598444.17803721
Approve141919902022-02-12 15:09:421480 days ago1644678582IN
0xEA35B9Ff...42710bC94
0 ETH0.0017262864.59190087
Approve141919892022-02-12 15:09:321480 days ago1644678572IN
0xEA35B9Ff...42710bC94
0 ETH0.0030480365.37206878
Approve141908372022-02-12 11:01:581480 days ago1644663718IN
0xEA35B9Ff...42710bC94
0 ETH0.0021447946
Approve141904052022-02-12 9:26:201480 days ago1644657980IN
0xEA35B9Ff...42710bC94
0 ETH0.0015557133.36577018
Approve141900382022-02-12 7:58:071480 days ago1644652687IN
0xEA35B9Ff...42710bC94
0 ETH0.0021967247.11379381
Approve141875302022-02-11 22:32:031481 days ago1644618723IN
0xEA35B9Ff...42710bC94
0 ETH0.0036298277.84972591
Approve141871592022-02-11 21:19:381481 days ago1644614378IN
0xEA35B9Ff...42710bC94
0 ETH0.00534013114.53118216
Approve141871582022-02-11 21:19:371481 days ago1644614377IN
0xEA35B9Ff...42710bC94
0 ETH0.00597304128.10539479
Approve141863802022-02-11 18:30:461481 days ago1644604246IN
0xEA35B9Ff...42710bC94
0 ETH0.00480374103.02715219
Approve141863622022-02-11 18:26:061481 days ago1644603966IN
0xEA35B9Ff...42710bC94
0 ETH0.0069939150
Approve141863542022-02-11 18:24:091481 days ago1644603849IN
0xEA35B9Ff...42710bC94
0 ETH0.0038193281.91410808
Approve141863462022-02-11 18:21:541481 days ago1644603714IN
0xEA35B9Ff...42710bC94
0 ETH0.00746016160
Approve141863312022-02-11 18:19:301481 days ago1644603570IN
0xEA35B9Ff...42710bC94
0 ETH0.00569088122.05379669
Approve141863262022-02-11 18:17:181481 days ago1644603438IN
0xEA35B9Ff...42710bC94
0 ETH0.0042676791.52984667
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-145520872022-04-09 14:37:211424 days ago1649515041
0xEA35B9Ff...42710bC94
0.00524114 ETH
-145520872022-04-09 14:37:211424 days ago1649515041
0xEA35B9Ff...42710bC94
0.00524114 ETH
-145520872022-04-09 14:37:211424 days ago1649515041
0xEA35B9Ff...42710bC94
0.01048228 ETH
-144484462022-03-24 10:31:271440 days ago1648117887
0xEA35B9Ff...42710bC94
0.00069049 ETH
-144484462022-03-24 10:31:271440 days ago1648117887
0xEA35B9Ff...42710bC94
0.00069049 ETH
-144484462022-03-24 10:31:271440 days ago1648117887
0xEA35B9Ff...42710bC94
0.00138099 ETH
-144213282022-03-20 5:22:101444 days ago1647753730
0xEA35B9Ff...42710bC94
0.00568728 ETH
-144213282022-03-20 5:22:101444 days ago1647753730
0xEA35B9Ff...42710bC94
0.00568728 ETH
-144213282022-03-20 5:22:101444 days ago1647753730
0xEA35B9Ff...42710bC94
0.01137457 ETH
-142788542022-02-26 1:45:211466 days ago1645839921
0xEA35B9Ff...42710bC94
0.001321 ETH
-142788542022-02-26 1:45:211466 days ago1645839921
0xEA35B9Ff...42710bC94
0.001321 ETH
-142788542022-02-26 1:45:211466 days ago1645839921
0xEA35B9Ff...42710bC94
0.002642 ETH
-142686902022-02-24 12:04:311468 days ago1645704271
0xEA35B9Ff...42710bC94
0.00197915 ETH
-142686902022-02-24 12:04:311468 days ago1645704271
0xEA35B9Ff...42710bC94
0.00197915 ETH
-142686902022-02-24 12:04:311468 days ago1645704271
0xEA35B9Ff...42710bC94
0.00395831 ETH
-142357172022-02-19 9:25:121473 days ago1645262712
0xEA35B9Ff...42710bC94
0.00142392 ETH
-142357172022-02-19 9:25:121473 days ago1645262712
0xEA35B9Ff...42710bC94
0.00142392 ETH
-142357172022-02-19 9:25:121473 days ago1645262712
0xEA35B9Ff...42710bC94
0.00284784 ETH
-142112562022-02-15 14:37:381477 days ago1644935858
0xEA35B9Ff...42710bC94
0.00195865 ETH
-142112562022-02-15 14:37:381477 days ago1644935858
0xEA35B9Ff...42710bC94
0.00195865 ETH
-142112562022-02-15 14:37:381477 days ago1644935858
0xEA35B9Ff...42710bC94
0.00391731 ETH
-142109702022-02-15 13:32:271477 days ago1644931947
0xEA35B9Ff...42710bC94
0.00390039 ETH
-142109702022-02-15 13:32:271477 days ago1644931947
0xEA35B9Ff...42710bC94
0.00390039 ETH
-142109702022-02-15 13:32:271477 days ago1644931947
0xEA35B9Ff...42710bC94
0.00780078 ETH
-142093132022-02-15 7:09:431477 days ago1644908983
0xEA35B9Ff...42710bC94
0.001686 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VALENTINU

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2022-02-11
*/

/**
 * 
 * $VALENTINU - VALENTINU TOKEN
 * TG: https://t.me/valentinueth
 * 
 * 
 * 💻 Website: https://valentinueth.com/
 * 💬 Telegram: https://t.me/ValentinuETH
 * 🐦 Twitter: https://twitter.com/ValentinuETH
 * 💬 Email: admin@valentinueth.com
 * 
 * 
 * ██╗░░░██╗░█████╗░██╗░░░░░███████╗███╗░░██╗████████╗██╗███╗░░██╗██╗░░░██╗
 * ██║░░░██║██╔══██╗██║░░░░░██╔════╝████╗░██║╚══██╔══╝██║████╗░██║██║░░░██║
 * ╚██╗░██╔╝███████║██║░░░░░█████╗░░██╔██╗██║░░░██║░░░██║██╔██╗██║██║░░░██║
 * ░╚████╔╝░██╔══██║██║░░░░░██╔══╝░░██║╚████║░░░██║░░░██║██║╚████║██║░░░██║
 * ░░╚██╔╝░░██║░░██║███████╗███████╗██║░╚███║░░░██║░░░██║██║░╚███║╚██████╔╝
 * ░░░╚═╝░░░╚═╝░░╚═╝╚══════╝╚══════╝╚═╝░░╚══╝░░░╚═╝░░░╚═╝╚═╝░░╚══╝░╚═════╝░
 * 
 * Tokenomics:
 * 
 * One-Of-A-Kind Tokenomics where normal tax is 10% but has many features
 * programmed to make it appealing for newer holders to buy sending the price
 * always in an upward direction.
 * 
 * PROPOSAL MODE - Making our INU single and attractive for newer proposals
 * BUY tax is reduced to 2% for 5 minutes if one of following is met:
 * -> a single sell of 2% price impact 
 * -> 5 consecutive sells
 * 
 * 
 * COMMITMENT MODE - Time to show commitment to your VALENTINU
 * SELL TAX increased to 20% for 5 minutes if one of following is met:
 * -> a single buy of 2% price impact 
 * -> 5 consecutive buys
 *
 * 
 * VALENTINE MODE - This is the time of the year where every one should so love
 * and we will not come in your way to acquire VALENTINU.
 * -> TAXES reduced to 0% for 24 hrs.
 * 
 * This is a unique contract programmed to succeed and send the price only upwards.
 *
 * Redistribution - 10% of all collected fees
 * 
 * Snipers/Early Movers advantage will be limited.
 * 
 * SPDX-License-Identifier: UNLICENSED 
 * 
*/

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract VALENTINU is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _bots;
    mapping (address => User) private trader;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    string private constant _name = unicode"VALENTINU TOKEN";
    string private constant _symbol = unicode"VALENTINU";
    uint8 private constant _decimals = 9;
    uint256 private _taxFee = 1;
    uint256 private _teamFee = 6;
    uint256 private _launchTime;
    uint256 private _launchBlock = 0;
    uint256 private _previousTaxFee = _taxFee;
    uint256 private _previousteamFee = _teamFee;
    uint256 private _maxBuyAmount;
    address payable private _FeeAddress;
    address payable private _marketingWalletAddress;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen = false;
    bool private _cooldownEnabled = true;
    bool private _communityMode = false;
    bool private inSwap = false;
    uint256 private launchBlock = 0;
    uint256 private buyLimitEnd;
    uint256 private commitmentmode = 0;
    uint256 private proposalmode = 0;
    uint256 private consecutiveBuyCounter = 0;
    uint256 private consecutiveSellCounter = 0;
    // //Keep it 0.5% of the supply
    // uint256 public _maxTxAmount = 1000000000000 * 10**9;
    //1.5% of the supply
    uint256 public _maxWallet = 15000000000 * 10**9;


    struct User {
        uint256 buyCD;
        bool exists;
    }

    event MaxBuyAmountUpdated(uint _maxBuyAmount);
    event CooldownEnabledUpdated(bool _cooldown);
    event FeeMultiplierUpdated(uint _multiplier);
    event FeeRateUpdated(uint _rate);

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor (address payable FeeAddress, address payable marketingWalletAddress) {
        _FeeAddress = FeeAddress;
        _marketingWalletAddress = marketingWalletAddress;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[FeeAddress] = true;
        _isExcludedFromFee[marketingWalletAddress] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), 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(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if(_taxFee == 0 && _teamFee == 0) return;
        _previousTaxFee = _taxFee;
        _previousteamFee = _teamFee;
        _taxFee = 0;
        _teamFee = 0;
    }
    
    function restoreAllFee() private {
        _taxFee = _previousTaxFee;
        _teamFee = _previousteamFee;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if(from != owner() && to != owner()) {
            // require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            require(!_bots[from] && !_bots[to]);
            
            if(!trader[msg.sender].exists) {
                trader[msg.sender] = User(0,true);
            }
            uint256 totalFee = 10;
            // buy
            if(from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
                require(tradingOpen, "Trading not yet enabled.");
                require(amount + balanceOf(to) <= _maxWallet, "Cannot exceed max wallet");
                if(block.number < _launchBlock + 2) {
                    //To REKT any snipers for a STEALTH launch
                    totalFee = 90;
                } else if(block.timestamp > _launchTime + (2 minutes)) {
                    if (block.timestamp > 1644818400 && block.timestamp < 1644904800) {
                        //VALENTINE MODE
                        totalFee = 0;
                    } else if (proposalmode > block.timestamp) {
                        //PROPOSAL MODE
                        totalFee = 2;
                    } else {
                        totalFee = 10;
                    }
                } else if (block.timestamp > _launchTime + (1 minutes)) {
                    //Limiting early mover's advantage
                    totalFee = 20;
                } else {
                    totalFee = 40;
                }
                
                _taxFee = (totalFee).div(10);
                _teamFee = (totalFee.mul(9)).div(10);
                
                if(_cooldownEnabled) {
                    if(buyLimitEnd > block.timestamp) {
                        require(amount <= _maxBuyAmount);
                        require(trader[to].buyCD < block.timestamp, "Your buy cooldown has not expired.");
                        trader[to].buyCD = block.timestamp + (45 seconds);
                    }
                }
                
                if (amount >= balanceOf(uniswapV2Pair).mul(2).div(100)) {
                    commitmentmode = block.timestamp + (5 minutes);
                }
                
                if (consecutiveBuyCounter >= 5) {
                    commitmentmode = block.timestamp + (5 minutes);
                    consecutiveBuyCounter = 0;
                } else {
                    consecutiveBuyCounter++;
                }
                
                consecutiveSellCounter = 0;
                
            }
            uint256 contractTokenBalance = balanceOf(address(this));

            // sell
            if(!inSwap && from != uniswapV2Pair && tradingOpen) {
                
                if (commitmentmode > block.timestamp) {
                    //COMMITMENT MODE
                    totalFee = 20;
                } else {
                    totalFee = 10;
                }
                
                _taxFee = (totalFee).div(10);
                _teamFee = (totalFee.mul(9)).div(10);

                //To limit big dumps by the contract before the sells
                if(contractTokenBalance > 0) {
                    if(contractTokenBalance > balanceOf(uniswapV2Pair).mul(2).div(100)) {
                        contractTokenBalance = balanceOf(uniswapV2Pair).mul(2).div(100);
                    }
                    swapTokensForEth(contractTokenBalance);
                }
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                
                if (amount >= balanceOf(uniswapV2Pair).mul(2).div(100)) { 
                    proposalmode = block.timestamp + (5 minutes);
                }
                
                if (consecutiveSellCounter >= 5) {
                    proposalmode = block.timestamp + (5 minutes);
                    consecutiveSellCounter = 0;
                } else {
                    consecutiveSellCounter++;
                }
                
                consecutiveBuyCounter = 0;
            }
        }
        bool takeFee = true;

        if(_isExcludedFromFee[from] || _isExcludedFromFee[to] || _communityMode){
            takeFee = false;
        }
        
        _tokenTransfer(from,to,amount,takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _FeeAddress.transfer(amount.div(2));
        _marketingWalletAddress.transfer(amount.div(2));
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount, bool takeFee) private {
        if(!takeFee)
            removeAllFee();
        _transferStandard(sender, recipient, amount);
        if(!takeFee)
            restoreAllFee();
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 

        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if(rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);

        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        _maxBuyAmount = 5000000000 * 10**9;
        // _maxTxAmount = 5000000001 * 10**9;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        tradingOpen = true;
        buyLimitEnd = block.timestamp + (120 seconds);
        _launchTime = block.timestamp;
        _launchBlock = block.number;
    }

    function setMarketingWallet (address payable marketingWalletAddress) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[_marketingWalletAddress] = false;
        _marketingWalletAddress = marketingWalletAddress;
        _isExcludedFromFee[marketingWalletAddress] = true;
    }
    
    function excludeFromFee (address payable ad) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[ad] = true;
    }
    
    function includeToFee (address payable ad) external {
        require(_msgSender() == _FeeAddress);
        _isExcludedFromFee[ad] = false;
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        if (block.timestamp < _launchTime + (20 minutes)) {
            for (uint i = 0; i < bots_.length; i++) {
                if (bots_[i] != uniswapV2Pair && bots_[i] != address(uniswapV2Router)) {
                    _bots[bots_[i]] = true;
                }
            }
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        _bots[notbot] = false;
    }

    function increaseMaxWallet() external onlyOwner() {
        //Max wallet increased to 3% of the supply
        _maxWallet = 30000000000 * 10**9;
    }
    
    function isBot(address ad) public view returns (bool) {
        return _bots[ad];
    }
    
    function isCommitmentMode() public view returns (bool) {
        return (commitmentmode > block.timestamp);
    }
    
    function isProposalMode() public view returns (bool) {
        return (proposalmode > block.timestamp);
    }
    
    function isValentineMode() public view returns (bool) {
        return (block.timestamp > 1644818400 && block.timestamp < 1644904800);
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        _cooldownEnabled = onoff;
        emit CooldownEnabledUpdated(_cooldownEnabled);
    }

    function thisBalance() public view returns (uint) {
        return balanceOf(address(this));
    }

    function cooldownEnabled() public view returns (bool) {
        return _cooldownEnabled;
    }

    function timeToBuy(address buyer) public view returns (uint) {
        return block.timestamp - trader[buyer].buyCD;
    }
    
    function amountInPool() public view returns (uint) {
        return balanceOf(uniswapV2Pair);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address payable","name":"FeeAddress","type":"address"},{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"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":"bool","name":"_cooldown","type":"bool"}],"name":"CooldownEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_multiplier","type":"uint256"}],"name":"FeeMultiplierUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_rate","type":"uint256"}],"name":"FeeRateUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxBuyAmount","type":"uint256"}],"name":"MaxBuyAmountUpdated","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":[],"name":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":[],"name":"amountInPool","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":"cooldownEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ad","type":"address"}],"name":"includeToFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"increaseMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"ad","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isCommitmentMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isProposalMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isValentineMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketingWalletAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"thisBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"buyer","type":"address"}],"name":"timeToBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea00000600019620002bf565b62000029906000196200029b565b6008556001600a8190556006600b8190556000600d819055600e92909255600f556014805463ffffffff60a01b1916600160a81b1790556015819055601781905560188190556019819055601a5567d02ab486cedc0000601b553480156200009057600080fd5b506040516200252138038062002521833981016040819052620000b39162000264565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601180546001600160a01b038085166001600160a01b031992831617909255601280549284169290911691909117905560085460026000620001333390565b6001600160a01b03166001600160a01b03168152602001908152602001600020819055506001600560006200016d6200023860201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600590935281832080548516600190811790915586821684528284208054861682179055908516835291208054909216179055620001d93390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200022891815260200190565b60405180910390a35050620002e0565b6000546001600160a01b031690565b80516001600160a01b03811681146200025f57600080fd5b919050565b6000806040838503121562000277578182fd5b620002828362000247565b9150620002926020840162000247565b90509250929050565b600082821015620002ba57634e487b7160e01b81526011600452602481fd5b500390565b600082620002db57634e487b7160e01b81526012600452602481fd5b500690565b61223180620002f06000396000f3fe6080604052600436106101bb5760003560e01c806368a3a6a5116100ec578063a985ceef1161008a578063c9567bf911610064578063c9567bf9146104eb578063cf0848f714610500578063db92dbb614610520578063dd62ed3e1461053557600080fd5b8063a985ceef14610497578063b515566a146104b6578063b667110d146104d657600080fd5b806382247ec0116100c657806382247ec0146104075780638da5cb5b1461041d57806395d89b4114610445578063a9059cbb1461047757600080fd5b806368a3a6a5146103b257806370a08231146103d2578063715018a6146103f257600080fd5b806327f3a72a11610159578063437823ec11610133578063437823ec1461033d5780635932ead11461035d5780635d098b381461037d5780635dcccdfd1461039d57600080fd5b806327f3a72a146102d3578063313ce567146102e85780633bbac5791461030457600080fd5b8063173c695c11610195578063173c695c1461025457806318160ddd1461026b57806323b872dd14610291578063273123b7146102b157600080fd5b806306fdde03146101c757806307e613a214610211578063095ea7b31461023457600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600f81526e2b20a622a72a24a72a902a27a5a2a760891b60208201525b6040516102089190612003565b60405180910390f35b34801561021d57600080fd5b5060175442105b6040519015158152602001610208565b34801561024057600080fd5b5061022461024f366004611eac565b61057b565b34801561026057600080fd5b506018544210610224565b34801561027757600080fd5b50683635c9adc5dea000005b604051908152602001610208565b34801561029d57600080fd5b506102246102ac366004611e6c565b610592565b3480156102bd57600080fd5b506102d16102cc366004611dfc565b6105fb565b005b3480156102df57600080fd5b5061028361064f565b3480156102f457600080fd5b5060405160098152602001610208565b34801561031057600080fd5b5061022461031f366004611dfc565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561034957600080fd5b506102d1610358366004611dfc565b61065f565b34801561036957600080fd5b506102d1610378366004611f9e565b6106a3565b34801561038957600080fd5b506102d1610398366004611dfc565b610728565b3480156103a957600080fd5b50610224610798565b3480156103be57600080fd5b506102836103cd366004611dfc565b6107b3565b3480156103de57600080fd5b506102836103ed366004611dfc565b6107d6565b3480156103fe57600080fd5b506102d16107f8565b34801561041357600080fd5b50610283601b5481565b34801561042957600080fd5b506000546040516001600160a01b039091168152602001610208565b34801561045157600080fd5b5060408051808201909152600981526856414c454e54494e5560b81b60208201526101fb565b34801561048357600080fd5b50610224610492366004611eac565b61086c565b3480156104a357600080fd5b50601454600160a81b900460ff16610224565b3480156104c257600080fd5b506102d16104d1366004611ed7565b610879565b3480156104e257600080fd5b506102d16109d7565b3480156104f757600080fd5b506102d1610a10565b34801561050c57600080fd5b506102d161051b366004611dfc565b610de8565b34801561052c57600080fd5b50610283610e29565b34801561054157600080fd5b50610283610550366004611e34565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000610588338484610e41565b5060015b92915050565b600061059f848484610f65565b6105f184336105ec856040518060600160405280602881526020016121d4602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611652565b610e41565b5060019392505050565b6000546001600160a01b0316331461062e5760405162461bcd60e51b815260040161062590612056565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b600061065a306107d6565b905090565b6011546001600160a01b0316336001600160a01b03161461067f57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b031633146106cd5760405162461bcd60e51b815260040161062590612056565b6014805460ff60a81b1916600160a81b8315158102919091179182905560405160ff9190920416151581527f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f287069060200160405180910390a150565b6011546001600160a01b0316336001600160a01b03161461074857600080fd5b601280546001600160a01b03908116600090815260056020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000636209efe04211801561065a57505063620b4160421090565b6001600160a01b03811660009081526007602052604081205461058c9042612152565b6001600160a01b03811660009081526002602052604081205461058c9061168c565b6000546001600160a01b031633146108225760405162461bcd60e51b815260040161062590612056565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610588338484610f65565b6000546001600160a01b031633146108a35760405162461bcd60e51b815260040161062590612056565b600c546108b2906104b06120fb565b4210156109d45760005b81518110156109d25760145482516001600160a01b03909116908390839081106108f657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614158015610955575060135482516001600160a01b039091169083908390811061094157634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614155b156109c05760016006600084848151811061098057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806109ca81612169565b9150506108bc565b505b50565b6000546001600160a01b03163314610a015760405162461bcd60e51b815260040161062590612056565b6801a055690d9db80000601b55565b6000546001600160a01b03163314610a3a5760405162461bcd60e51b815260040161062590612056565b601454600160a01b900460ff1615610a945760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610625565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610ad13082683635c9adc5dea00000610e41565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0a57600080fd5b505afa158015610b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b429190611e18565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8a57600080fd5b505afa158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc29190611e18565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610c0a57600080fd5b505af1158015610c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c429190611e18565b601480546001600160a01b0319166001600160a01b039283161790556013541663f305d7194730610c72816107d6565b600080610c876000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610cea57600080fd5b505af1158015610cfe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d239190611fd6565b5050674563918244f400006010555060145460135460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb9190611fba565b506014805460ff60a01b1916600160a01b179055610dda4260786120fb565b6016555042600c5543600d55565b6011546001600160a01b0316336001600160a01b031614610e0857600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b60145460009061065a906001600160a01b03166107d6565b6001600160a01b038316610ea35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610625565b6001600160a01b038216610f045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610625565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fc95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610625565b6001600160a01b03821661102b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610625565b6000811161108d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610625565b6000546001600160a01b038481169116148015906110b957506000546001600160a01b03838116911614155b156115e1576001600160a01b03831660009081526006602052604090205460ff1615801561110057506001600160a01b03821660009081526006602052604090205460ff16155b61110957600080fd5b3360009081526007602052604090206001015460ff1661115f576040805180820182526000808252600160208084018281523384526007909152939091209151825591519101805460ff19169115159190911790555b601454600a906001600160a01b03858116911614801561118d57506013546001600160a01b03848116911614155b80156111b257506001600160a01b03831660009081526005602052604090205460ff16155b1561146c57601454600160a01b900460ff166112105760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610625565b601b5461121c846107d6565b61122690846120fb565b11156112745760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420657863656564206d61782077616c6c657400000000000000006044820152606401610625565b600d546112829060026120fb565b4310156112915750605a611304565b600c5461129f9060786120fb565b4211156112e357636209efe0421180156112bc575063620b416042105b156112c957506000611304565b4260185411156112db57506002611304565b50600a611304565b600c546112f190603c6120fb565b42111561130057506014611304565b5060285b61130f81600a611710565b600a90815561132990611323836009611752565b90611710565b600b55601454600160a81b900460ff16156113ee574260165411156113ee5760105482111561135757600080fd5b6001600160a01b03831660009081526007602052604090205442116113c95760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b6064820152608401610625565b6113d442602d6120fb565b6001600160a01b0384166000908152600760205260409020555b6014546114179060649061132390600290611411906001600160a01b03166107d6565b90611752565b821061142d576114294261012c6120fb565b6017555b600560195410611450576114434261012c6120fb565b6017556000601955611466565b6019805490600061146083612169565b91905055505b6000601a555b6000611477306107d6565b601454909150600160b81b900460ff161580156114a257506014546001600160a01b03868116911614155b80156114b75750601454600160a01b900460ff165b156115de574260175411156114cf57601491506114d4565b600a91505b6114df82600a611710565b600a9081556114f390611323846009611752565b600b5580156115555760145461151f9060649061132390600290611411906001600160a01b03166107d6565b81111561154c576014546115499060649061132390600290611411906001600160a01b03166107d6565b90505b611555816117d1565b4780156115655761156547611976565b6014546115889060649061132390600290611411906001600160a01b03166107d6565b841061159e5761159a4261012c6120fb565b6018555b6005601a54106115c1576115b44261012c6120fb565b6018556000601a556115d7565b601a80549060006115d183612169565b91905055505b5060006019555b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061162357506001600160a01b03831660009081526005602052604090205460ff165b806116375750601454600160b01b900460ff165b15611640575060005b61164c848484846119fb565b50505050565b600081848411156116765760405162461bcd60e51b81526004016106259190612003565b5060006116838486612152565b95945050505050565b60006008548211156116f35760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610625565b60006116fd611a29565b90506117098382611710565b9392505050565b600061170983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a4c565b6000826117615750600061058c565b600061176d8385612133565b90508261177a8583612113565b146117095760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610625565b6014805460ff60b81b1916600160b81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061182757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561187b57600080fd5b505afa15801561188f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b39190611e18565b816001815181106118d457634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546118fa9130911684610e41565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061193390859060009086903090429060040161208b565b600060405180830381600087803b15801561194d57600080fd5b505af1158015611961573d6000803e3d6000fd5b50506014805460ff60b81b1916905550505050565b6011546001600160a01b03166108fc611990836002611710565b6040518115909202916000818181858888f193505050501580156119b8573d6000803e3d6000fd5b506012546001600160a01b03166108fc6119d3836002611710565b6040518115909202916000818181858888f193505050501580156109d2573d6000803e3d6000fd5b80611a0857611a08611a7a565b611a13848484611aa8565b8061164c5761164c600e54600a55600f54600b55565b6000806000611a36611b9f565b9092509050611a458282611710565b9250505090565b60008183611a6d5760405162461bcd60e51b81526004016106259190612003565b5060006116838486612113565b600a54158015611a8a5750600b54155b15611a9157565b600a8054600e55600b8054600f5560009182905555565b600080600080600080611aba87611be1565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611aec9087611c3e565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611b1b9086611c80565b6001600160a01b038916600090815260026020526040902055611b3d81611cdf565b611b478483611d29565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b8c91815260200190565b60405180910390a3505050505050505050565b6008546000908190683635c9adc5dea00000611bbb8282611710565b821015611bd857505060085492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611bfe8a600a54600b54611d4d565b9250925092506000611c0e611a29565b90506000806000611c218e878787611d9c565b919e509c509a509598509396509194505050505091939550919395565b600061170983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611652565b600080611c8d83856120fb565b9050838110156117095760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610625565b6000611ce9611a29565b90506000611cf78383611752565b30600090815260026020526040902054909150611d149082611c80565b30600090815260026020526040902055505050565b600854611d369083611c3e565b600855600954611d469082611c80565b6009555050565b6000808080611d6160646113238989611752565b90506000611d7460646113238a89611752565b90506000611d8c82611d868b86611c3e565b90611c3e565b9992985090965090945050505050565b6000808080611dab8886611752565b90506000611db98887611752565b90506000611dc78888611752565b90506000611dd982611d868686611c3e565b939b939a50919850919650505050505050565b8035611df7816121b0565b919050565b600060208284031215611e0d578081fd5b8135611709816121b0565b600060208284031215611e29578081fd5b8151611709816121b0565b60008060408385031215611e46578081fd5b8235611e51816121b0565b91506020830135611e61816121b0565b809150509250929050565b600080600060608486031215611e80578081fd5b8335611e8b816121b0565b92506020840135611e9b816121b0565b929592945050506040919091013590565b60008060408385031215611ebe578182fd5b8235611ec9816121b0565b946020939093013593505050565b60006020808385031215611ee9578182fd5b823567ffffffffffffffff80821115611f00578384fd5b818501915085601f830112611f13578384fd5b813581811115611f2557611f2561219a565b8060051b604051601f19603f83011681018181108582111715611f4a57611f4a61219a565b604052828152858101935084860182860187018a1015611f68578788fd5b8795505b83861015611f9157611f7d81611dec565b855260019590950194938601938601611f6c565b5098975050505050505050565b600060208284031215611faf578081fd5b8135611709816121c5565b600060208284031215611fcb578081fd5b8151611709816121c5565b600080600060608486031215611fea578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561202f57858101830151858201604001528201612013565b818111156120405783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156120da5784516001600160a01b0316835293830193918301916001016120b5565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561210e5761210e612184565b500190565b60008261212e57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561214d5761214d612184565b500290565b60008282101561216457612164612184565b500390565b600060001982141561217d5761217d612184565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146109d457600080fd5b80151581146109d457600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c3b9316f0633c17ec8658f2408132fccaa1f37d59fa08dd27b44256b276a897364736f6c634300080400330000000000000000000000009d3aff1ce5af498b3223c3c139f24abd5003e2bb0000000000000000000000009d3aff1ce5af498b3223c3c139f24abd5003e2bb

Deployed Bytecode

0x6080604052600436106101bb5760003560e01c806368a3a6a5116100ec578063a985ceef1161008a578063c9567bf911610064578063c9567bf9146104eb578063cf0848f714610500578063db92dbb614610520578063dd62ed3e1461053557600080fd5b8063a985ceef14610497578063b515566a146104b6578063b667110d146104d657600080fd5b806382247ec0116100c657806382247ec0146104075780638da5cb5b1461041d57806395d89b4114610445578063a9059cbb1461047757600080fd5b806368a3a6a5146103b257806370a08231146103d2578063715018a6146103f257600080fd5b806327f3a72a11610159578063437823ec11610133578063437823ec1461033d5780635932ead11461035d5780635d098b381461037d5780635dcccdfd1461039d57600080fd5b806327f3a72a146102d3578063313ce567146102e85780633bbac5791461030457600080fd5b8063173c695c11610195578063173c695c1461025457806318160ddd1461026b57806323b872dd14610291578063273123b7146102b157600080fd5b806306fdde03146101c757806307e613a214610211578063095ea7b31461023457600080fd5b366101c257005b600080fd5b3480156101d357600080fd5b5060408051808201909152600f81526e2b20a622a72a24a72a902a27a5a2a760891b60208201525b6040516102089190612003565b60405180910390f35b34801561021d57600080fd5b5060175442105b6040519015158152602001610208565b34801561024057600080fd5b5061022461024f366004611eac565b61057b565b34801561026057600080fd5b506018544210610224565b34801561027757600080fd5b50683635c9adc5dea000005b604051908152602001610208565b34801561029d57600080fd5b506102246102ac366004611e6c565b610592565b3480156102bd57600080fd5b506102d16102cc366004611dfc565b6105fb565b005b3480156102df57600080fd5b5061028361064f565b3480156102f457600080fd5b5060405160098152602001610208565b34801561031057600080fd5b5061022461031f366004611dfc565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561034957600080fd5b506102d1610358366004611dfc565b61065f565b34801561036957600080fd5b506102d1610378366004611f9e565b6106a3565b34801561038957600080fd5b506102d1610398366004611dfc565b610728565b3480156103a957600080fd5b50610224610798565b3480156103be57600080fd5b506102836103cd366004611dfc565b6107b3565b3480156103de57600080fd5b506102836103ed366004611dfc565b6107d6565b3480156103fe57600080fd5b506102d16107f8565b34801561041357600080fd5b50610283601b5481565b34801561042957600080fd5b506000546040516001600160a01b039091168152602001610208565b34801561045157600080fd5b5060408051808201909152600981526856414c454e54494e5560b81b60208201526101fb565b34801561048357600080fd5b50610224610492366004611eac565b61086c565b3480156104a357600080fd5b50601454600160a81b900460ff16610224565b3480156104c257600080fd5b506102d16104d1366004611ed7565b610879565b3480156104e257600080fd5b506102d16109d7565b3480156104f757600080fd5b506102d1610a10565b34801561050c57600080fd5b506102d161051b366004611dfc565b610de8565b34801561052c57600080fd5b50610283610e29565b34801561054157600080fd5b50610283610550366004611e34565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000610588338484610e41565b5060015b92915050565b600061059f848484610f65565b6105f184336105ec856040518060600160405280602881526020016121d4602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611652565b610e41565b5060019392505050565b6000546001600160a01b0316331461062e5760405162461bcd60e51b815260040161062590612056565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b600061065a306107d6565b905090565b6011546001600160a01b0316336001600160a01b03161461067f57600080fd5b6001600160a01b03166000908152600560205260409020805460ff19166001179055565b6000546001600160a01b031633146106cd5760405162461bcd60e51b815260040161062590612056565b6014805460ff60a81b1916600160a81b8315158102919091179182905560405160ff9190920416151581527f0d63187a8abb5b4d1bb562e1163897386b0a88ee72e0799dd105bd0fd6f287069060200160405180910390a150565b6011546001600160a01b0316336001600160a01b03161461074857600080fd5b601280546001600160a01b03908116600090815260056020526040808220805460ff1990811690915584546001600160a01b03191695909316948517909355928352912080549091166001179055565b6000636209efe04211801561065a57505063620b4160421090565b6001600160a01b03811660009081526007602052604081205461058c9042612152565b6001600160a01b03811660009081526002602052604081205461058c9061168c565b6000546001600160a01b031633146108225760405162461bcd60e51b815260040161062590612056565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610588338484610f65565b6000546001600160a01b031633146108a35760405162461bcd60e51b815260040161062590612056565b600c546108b2906104b06120fb565b4210156109d45760005b81518110156109d25760145482516001600160a01b03909116908390839081106108f657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614158015610955575060135482516001600160a01b039091169083908390811061094157634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b031614155b156109c05760016006600084848151811061098057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b806109ca81612169565b9150506108bc565b505b50565b6000546001600160a01b03163314610a015760405162461bcd60e51b815260040161062590612056565b6801a055690d9db80000601b55565b6000546001600160a01b03163314610a3a5760405162461bcd60e51b815260040161062590612056565b601454600160a01b900460ff1615610a945760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610625565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155610ad13082683635c9adc5dea00000610e41565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0a57600080fd5b505afa158015610b1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b429190611e18565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8a57600080fd5b505afa158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc29190611e18565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610c0a57600080fd5b505af1158015610c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c429190611e18565b601480546001600160a01b0319166001600160a01b039283161790556013541663f305d7194730610c72816107d6565b600080610c876000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b158015610cea57600080fd5b505af1158015610cfe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610d239190611fd6565b5050674563918244f400006010555060145460135460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b390604401602060405180830381600087803b158015610d8357600080fd5b505af1158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb9190611fba565b506014805460ff60a01b1916600160a01b179055610dda4260786120fb565b6016555042600c5543600d55565b6011546001600160a01b0316336001600160a01b031614610e0857600080fd5b6001600160a01b03166000908152600560205260409020805460ff19169055565b60145460009061065a906001600160a01b03166107d6565b6001600160a01b038316610ea35760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610625565b6001600160a01b038216610f045760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610625565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610fc95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610625565b6001600160a01b03821661102b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610625565b6000811161108d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610625565b6000546001600160a01b038481169116148015906110b957506000546001600160a01b03838116911614155b156115e1576001600160a01b03831660009081526006602052604090205460ff1615801561110057506001600160a01b03821660009081526006602052604090205460ff16155b61110957600080fd5b3360009081526007602052604090206001015460ff1661115f576040805180820182526000808252600160208084018281523384526007909152939091209151825591519101805460ff19169115159190911790555b601454600a906001600160a01b03858116911614801561118d57506013546001600160a01b03848116911614155b80156111b257506001600160a01b03831660009081526005602052604090205460ff16155b1561146c57601454600160a01b900460ff166112105760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642e00000000000000006044820152606401610625565b601b5461121c846107d6565b61122690846120fb565b11156112745760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420657863656564206d61782077616c6c657400000000000000006044820152606401610625565b600d546112829060026120fb565b4310156112915750605a611304565b600c5461129f9060786120fb565b4211156112e357636209efe0421180156112bc575063620b416042105b156112c957506000611304565b4260185411156112db57506002611304565b50600a611304565b600c546112f190603c6120fb565b42111561130057506014611304565b5060285b61130f81600a611710565b600a90815561132990611323836009611752565b90611710565b600b55601454600160a81b900460ff16156113ee574260165411156113ee5760105482111561135757600080fd5b6001600160a01b03831660009081526007602052604090205442116113c95760405162461bcd60e51b815260206004820152602260248201527f596f75722062757920636f6f6c646f776e20686173206e6f7420657870697265604482015261321760f11b6064820152608401610625565b6113d442602d6120fb565b6001600160a01b0384166000908152600760205260409020555b6014546114179060649061132390600290611411906001600160a01b03166107d6565b90611752565b821061142d576114294261012c6120fb565b6017555b600560195410611450576114434261012c6120fb565b6017556000601955611466565b6019805490600061146083612169565b91905055505b6000601a555b6000611477306107d6565b601454909150600160b81b900460ff161580156114a257506014546001600160a01b03868116911614155b80156114b75750601454600160a01b900460ff165b156115de574260175411156114cf57601491506114d4565b600a91505b6114df82600a611710565b600a9081556114f390611323846009611752565b600b5580156115555760145461151f9060649061132390600290611411906001600160a01b03166107d6565b81111561154c576014546115499060649061132390600290611411906001600160a01b03166107d6565b90505b611555816117d1565b4780156115655761156547611976565b6014546115889060649061132390600290611411906001600160a01b03166107d6565b841061159e5761159a4261012c6120fb565b6018555b6005601a54106115c1576115b44261012c6120fb565b6018556000601a556115d7565b601a80549060006115d183612169565b91905055505b5060006019555b50505b6001600160a01b03831660009081526005602052604090205460019060ff168061162357506001600160a01b03831660009081526005602052604090205460ff165b806116375750601454600160b01b900460ff165b15611640575060005b61164c848484846119fb565b50505050565b600081848411156116765760405162461bcd60e51b81526004016106259190612003565b5060006116838486612152565b95945050505050565b60006008548211156116f35760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610625565b60006116fd611a29565b90506117098382611710565b9392505050565b600061170983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a4c565b6000826117615750600061058c565b600061176d8385612133565b90508261177a8583612113565b146117095760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610625565b6014805460ff60b81b1916600160b81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061182757634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561187b57600080fd5b505afa15801561188f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b39190611e18565b816001815181106118d457634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526013546118fa9130911684610e41565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac9479061193390859060009086903090429060040161208b565b600060405180830381600087803b15801561194d57600080fd5b505af1158015611961573d6000803e3d6000fd5b50506014805460ff60b81b1916905550505050565b6011546001600160a01b03166108fc611990836002611710565b6040518115909202916000818181858888f193505050501580156119b8573d6000803e3d6000fd5b506012546001600160a01b03166108fc6119d3836002611710565b6040518115909202916000818181858888f193505050501580156109d2573d6000803e3d6000fd5b80611a0857611a08611a7a565b611a13848484611aa8565b8061164c5761164c600e54600a55600f54600b55565b6000806000611a36611b9f565b9092509050611a458282611710565b9250505090565b60008183611a6d5760405162461bcd60e51b81526004016106259190612003565b5060006116838486612113565b600a54158015611a8a5750600b54155b15611a9157565b600a8054600e55600b8054600f5560009182905555565b600080600080600080611aba87611be1565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611aec9087611c3e565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611b1b9086611c80565b6001600160a01b038916600090815260026020526040902055611b3d81611cdf565b611b478483611d29565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611b8c91815260200190565b60405180910390a3505050505050505050565b6008546000908190683635c9adc5dea00000611bbb8282611710565b821015611bd857505060085492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611bfe8a600a54600b54611d4d565b9250925092506000611c0e611a29565b90506000806000611c218e878787611d9c565b919e509c509a509598509396509194505050505091939550919395565b600061170983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611652565b600080611c8d83856120fb565b9050838110156117095760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610625565b6000611ce9611a29565b90506000611cf78383611752565b30600090815260026020526040902054909150611d149082611c80565b30600090815260026020526040902055505050565b600854611d369083611c3e565b600855600954611d469082611c80565b6009555050565b6000808080611d6160646113238989611752565b90506000611d7460646113238a89611752565b90506000611d8c82611d868b86611c3e565b90611c3e565b9992985090965090945050505050565b6000808080611dab8886611752565b90506000611db98887611752565b90506000611dc78888611752565b90506000611dd982611d868686611c3e565b939b939a50919850919650505050505050565b8035611df7816121b0565b919050565b600060208284031215611e0d578081fd5b8135611709816121b0565b600060208284031215611e29578081fd5b8151611709816121b0565b60008060408385031215611e46578081fd5b8235611e51816121b0565b91506020830135611e61816121b0565b809150509250929050565b600080600060608486031215611e80578081fd5b8335611e8b816121b0565b92506020840135611e9b816121b0565b929592945050506040919091013590565b60008060408385031215611ebe578182fd5b8235611ec9816121b0565b946020939093013593505050565b60006020808385031215611ee9578182fd5b823567ffffffffffffffff80821115611f00578384fd5b818501915085601f830112611f13578384fd5b813581811115611f2557611f2561219a565b8060051b604051601f19603f83011681018181108582111715611f4a57611f4a61219a565b604052828152858101935084860182860187018a1015611f68578788fd5b8795505b83861015611f9157611f7d81611dec565b855260019590950194938601938601611f6c565b5098975050505050505050565b600060208284031215611faf578081fd5b8135611709816121c5565b600060208284031215611fcb578081fd5b8151611709816121c5565b600080600060608486031215611fea578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561202f57858101830151858201604001528201612013565b818111156120405783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156120da5784516001600160a01b0316835293830193918301916001016120b5565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561210e5761210e612184565b500190565b60008261212e57634e487b7160e01b81526012600452602481fd5b500490565b600081600019048311821515161561214d5761214d612184565b500290565b60008282101561216457612164612184565b500390565b600060001982141561217d5761217d612184565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146109d457600080fd5b80151581146109d457600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220c3b9316f0633c17ec8658f2408132fccaa1f37d59fa08dd27b44256b276a897364736f6c63430008040033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000009d3aff1ce5af498b3223c3c139f24abd5003e2bb0000000000000000000000009d3aff1ce5af498b3223c3c139f24abd5003e2bb

-----Decoded View---------------
Arg [0] : FeeAddress (address): 0x9d3AFf1CE5Af498B3223C3C139f24aBD5003E2BB
Arg [1] : marketingWalletAddress (address): 0x9d3AFf1CE5Af498B3223C3C139f24aBD5003E2BB

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000009d3aff1ce5af498b3223c3c139f24abd5003e2bb
Arg [1] : 0000000000000000000000009d3aff1ce5af498b3223c3c139f24abd5003e2bb


Deployed Bytecode Sourcemap

6479:16646:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9160:83;;;;;;;;;;-1:-1:-1;9230:5:0;;;;;;;;;;;;-1:-1:-1;;;9230:5:0;;;;9160:83;;;;;;;:::i;:::-;;;;;;;;22105:115;;;;;;;;;;-1:-1:-1;22179:14:0;;22196:15;-1:-1:-1;22105:115:0;;;5747:14:1;;5740:22;5722:41;;5710:2;5695:18;22105:115:0;5677:92:1;10012:161:0;;;;;;;;;;-1:-1:-1;10012:161:0;;;;;:::i;:::-;;:::i;22232:111::-;;;;;;;;;;-1:-1:-1;22304:12:0;;22319:15;-1:-1:-1;22232:111:0;;9437:95;;;;;;;;;;-1:-1:-1;6980:12:0;9437:95;;;11547:25:1;;;11535:2;11520:18;9437:95:0;11502:76:1;10181:313:0;;;;;;;;;;-1:-1:-1;10181:313:0;;;;;:::i;:::-;;:::i;21742:89::-;;;;;;;;;;-1:-1:-1;21742:89:0;;;;;:::i;:::-;;:::i;:::-;;22673:100;;;;;;;;;;;;;:::i;9346:83::-;;;;;;;;;;-1:-1:-1;9346:83:0;;7245:1;12713:36:1;;12701:2;12686:18;9346:83:0;12668:87:1;22004:89:0;;;;;;;;;;-1:-1:-1;22004:89:0;;;;;:::i;:::-;-1:-1:-1;;;;;22076:9:0;22052:4;22076:9;;;:5;:9;;;;;;;;;22004:89;21047:149;;;;;;;;;;-1:-1:-1;21047:149:0;;;;;:::i;:::-;;:::i;22505:160::-;;;;;;;;;;-1:-1:-1;22505:160:0;;;;;:::i;:::-;;:::i;20721:314::-;;;;;;;;;;-1:-1:-1;20721:314:0;;;;;:::i;:::-;;:::i;22355:142::-;;;;;;;;;;;;;:::i;22885:124::-;;;;;;;;;;-1:-1:-1;22885:124:0;;;;;:::i;:::-;;:::i;9540:138::-;;;;;;;;;;-1:-1:-1;9540:138:0;;;;;:::i;:::-;;:::i;5558:148::-;;;;;;;;;;;;;:::i;8241:47::-;;;;;;;;;;;;;;;;5344:79;;;;;;;;;;-1:-1:-1;5382:7:0;5409:6;5344:79;;-1:-1:-1;;;;;5409:6:0;;;4320:51:1;;4308:2;4293:18;5344:79:0;4275:102:1;9251:87:0;;;;;;;;;;-1:-1:-1;9323:7:0;;;;;;;;;;;;-1:-1:-1;;;9323:7:0;;;;9251:87;;9686:167;;;;;;;;;;-1:-1:-1;9686:167:0;;;;;:::i;:::-;;:::i;22781:96::-;;;;;;;;;;-1:-1:-1;22853:16:0;;-1:-1:-1;;;22853:16:0;;;;22781:96;;21368:362;;;;;;;;;;-1:-1:-1;21368:362:0;;;;;:::i;:::-;;:::i;21839:153::-;;;;;;;;;;;;;:::i;19778:935::-;;;;;;;;;;;;;:::i;21208:148::-;;;;;;;;;;-1:-1:-1;21208:148:0;;;;;:::i;:::-;;:::i;23021:101::-;;;;;;;;;;;;;:::i;9861:143::-;;;;;;;;;;-1:-1:-1;9861:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;9969:18:0;;;9942:7;9969:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9861:143;10012:161;10087:4;10104:39;2833:10;10127:7;10136:6;10104:8;:39::i;:::-;-1:-1:-1;10161:4:0;10012:161;;;;;:::o;10181:313::-;10279:4;10296:36;10306:6;10314:9;10325:6;10296:9;:36::i;:::-;10343:121;10352:6;2833:10;10374:89;10412:6;10374:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10374:19:0;;;;;;:11;:19;;;;;;;;2833:10;10374:33;;;;;;;;;;:37;:89::i;:::-;10343:8;:121::i;:::-;-1:-1:-1;10482:4:0;10181:313;;;;;:::o;21742:89::-;5471:6;;-1:-1:-1;;;;;5471:6:0;2833:10;5471:22;5463:67;;;;-1:-1:-1;;;5463:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;21802:13:0::1;21818:5;21802:13:::0;;;:5:::1;:13;::::0;;;;:21;;-1:-1:-1;;21802:21:0::1;::::0;;21742:89::o;22673:100::-;22717:4;22741:24;22759:4;22741:9;:24::i;:::-;22734:31;;22673:100;:::o;21047:149::-;21136:11;;-1:-1:-1;;;;;21136:11:0;2833:10;-1:-1:-1;;;;;21120:27:0;;21112:36;;;;;;-1:-1:-1;;;;;21159:22:0;;;;;:18;:22;;;;;:29;;-1:-1:-1;;21159:29:0;21184:4;21159:29;;;21047:149::o;22505:160::-;5471:6;;-1:-1:-1;;;;;5471:6:0;2833:10;5471:22;5463:67;;;;-1:-1:-1;;;5463:67:0;;;;;;;:::i;:::-;22577:16:::1;:24:::0;;-1:-1:-1;;;;22577:24:0::1;-1:-1:-1::0;;;22577:24:0;::::1;;::::0;::::1;::::0;;;::::1;::::0;;;;22617:40:::1;::::0;22577:24:::1;22640:16:::0;;;::::1;;5747:14:1::0;5740:22;5722:41;;22617:40:0::1;::::0;5710:2:1;5695:18;22617:40:0::1;;;;;;;22505:160:::0;:::o;20721:314::-;20834:11;;-1:-1:-1;;;;;20834:11:0;2833:10;-1:-1:-1;;;;;20818:27:0;;20810:36;;;;;;20876:23;;;-1:-1:-1;;;;;20876:23:0;;;20903:5;20857:43;;;:18;:43;;;;;;:51;;-1:-1:-1;;20857:51:0;;;;;;20919:48;;-1:-1:-1;;;;;;20919:48:0;;;;;;;;;;;20978:42;;;;;:49;;;;;-1:-1:-1;20978:49:0;;;20721:314::o;22355:142::-;22403:4;22446:10;22428:15;:28;:60;;;;-1:-1:-1;;22478:10:0;22460:15;:28;;22355:142::o;22885:124::-;-1:-1:-1;;;;;22982:13:0;;22940:4;22982:13;;;:6;:13;;;;;:19;22964:37;;:15;:37;:::i;9540:138::-;-1:-1:-1;;;;;9653:16:0;;9606:7;9653:16;;;:7;:16;;;;;;9633:37;;:19;:37::i;5558:148::-;5471:6;;-1:-1:-1;;;;;5471:6:0;2833:10;5471:22;5463:67;;;;-1:-1:-1;;;5463:67:0;;;;;;;:::i;:::-;5665:1:::1;5649:6:::0;;5628:40:::1;::::0;-1:-1:-1;;;;;5649:6:0;;::::1;::::0;5628:40:::1;::::0;5665:1;;5628:40:::1;5696:1;5679:19:::0;;-1:-1:-1;;;;;;5679:19:0::1;::::0;;5558:148::o;9686:167::-;9764:4;9781:42;2833:10;9805:9;9816:6;9781:9;:42::i;21368:362::-;5471:6;;-1:-1:-1;;;;;5471:6:0;2833:10;5471:22;5463:67;;;;-1:-1:-1;;;5463:67:0;;;;;;;:::i;:::-;21459:11:::1;::::0;:26:::1;::::0;21474:10:::1;21459:26;:::i;:::-;21441:15;:44;21437:286;;;21507:6;21502:210;21523:5;:12;21519:1;:16;21502:210;;;21577:13;::::0;21565:8;;-1:-1:-1;;;;;21577:13:0;;::::1;::::0;21565:5;;21571:1;;21565:8;::::1;;;-1:-1:-1::0;;;21565:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;21565:25:0::1;;;:65;;;;-1:-1:-1::0;21614:15:0::1;::::0;21594:8;;-1:-1:-1;;;;;21614:15:0;;::::1;::::0;21594:5;;21600:1;;21594:8;::::1;;;-1:-1:-1::0;;;21594:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;21594:36:0::1;;;21565:65;21561:136;;;21673:4;21655:5;:15;21661:5;21667:1;21661:8;;;;;;-1:-1:-1::0;;;21661:8:0::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;21655:15:0::1;-1:-1:-1::0;;;;;21655:15:0::1;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;21561:136;21537:3:::0;::::1;::::0;::::1;:::i;:::-;;;;21502:210;;;;21437:286;21368:362:::0;:::o;21839:153::-;5471:6;;-1:-1:-1;;;;;5471:6:0;2833:10;5471:22;5463:67;;;;-1:-1:-1;;;5463:67:0;;;;;;;:::i;:::-;21965:19:::1;21952:10;:32:::0;21839:153::o;19778:935::-;5471:6;;-1:-1:-1;;;;;5471:6:0;2833:10;5471:22;5463:67;;;;-1:-1:-1;;;5463:67:0;;;;;;;:::i;:::-;19842:11:::1;::::0;-1:-1:-1;;;19842:11:0;::::1;;;19841:12;19833:47;;;::::0;-1:-1:-1;;;19833:47:0;;10898:2:1;19833:47:0::1;::::0;::::1;10880:21:1::0;10937:2;10917:18;;;10910:30;10976:25;10956:18;;;10949:53;11019:18;;19833:47:0::1;10870:173:1::0;19833:47:0::1;20002:15;:34:::0;;-1:-1:-1;;;;;;20002:34:0::1;19948:42;20002:34:::0;;::::1;::::0;;;20047:58:::1;20064:4;19948:42:::0;6980:12:::1;20047:8;:58::i;:::-;20150:16;-1:-1:-1::0;;;;;20150:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;20132:56:0::1;;20197:4;20204:16;-1:-1:-1::0;;;;;20204:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20132:96;::::0;-1:-1:-1;;;;;;20132:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4612:15:1;;;20132:96:0::1;::::0;::::1;4594:34:1::0;4664:15;;4644:18;;;4637:43;4529:18;;20132:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20116:13;:112:::0;;-1:-1:-1;;;;;;20116:112:0::1;-1:-1:-1::0;;;;;20116:112:0;;::::1;;::::0;;20239:15:::1;::::0;::::1;:31;20278:21;20309:4;20315:24;20309:4:::0;20315:9:::1;:24::i;:::-;20340:1;20342::::0;20344:7:::1;5382::::0;5409:6;-1:-1:-1;;;;;5409:6:0;;5344:79;20344:7:::1;20239:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;20239:129:0;;;-1:-1:-1;;;;;5329:15:1;;;20239:129:0::1;::::0;::::1;5311:34:1::0;5361:18;;;5354:34;;;;5404:18;;;5397:34;;;;5447:18;;;5440:34;5511:15;;;5490:19;;;5483:44;20352:15:0::1;5543:19:1::0;;;5536:35;5245:19;;20239:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;20395:18:0::1;20379:13;:34:::0;-1:-1:-1;20478:13:0::1;::::0;20509:15:::1;::::0;20471:71:::1;::::0;-1:-1:-1;;;20471:71:0;;-1:-1:-1;;;;;20509:15:0;;::::1;20471:71;::::0;::::1;4865:51:1::0;-1:-1:-1;;4932:18:1;;;4925:34;20478:13:0;::::1;::::0;20471:29:::1;::::0;4838:18:1;;20471:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;20553:11:0::1;:18:::0;;-1:-1:-1;;;;20553:18:0::1;-1:-1:-1::0;;;20553:18:0::1;::::0;;20596:31:::1;:15;20615:11;20596:31;:::i;:::-;20582:11;:45:::0;-1:-1:-1;20652:15:0::1;20638:11;:29:::0;20693:12:::1;20678;:27:::0;19778:935::o;21208:148::-;21295:11;;-1:-1:-1;;;;;21295:11:0;2833:10;-1:-1:-1;;;;;21279:27:0;;21271:36;;;;;;-1:-1:-1;;;;;21318:22:0;21343:5;21318:22;;;:18;:22;;;;;:30;;-1:-1:-1;;21318:30:0;;;21208:148::o;23021:101::-;23100:13;;23066:4;;23090:24;;-1:-1:-1;;;;;23100:13:0;23090:9;:24::i;11109:335::-;-1:-1:-1;;;;;11202:19:0;;11194:68;;;;-1:-1:-1;;;11194:68:0;;10493:2:1;11194:68:0;;;10475:21:1;10532:2;10512:18;;;10505:30;10571:34;10551:18;;;10544:62;-1:-1:-1;;;10622:18:1;;;10615:34;10666:19;;11194:68:0;10465:226:1;11194:68:0;-1:-1:-1;;;;;11281:21:0;;11273:68;;;;-1:-1:-1;;;11273:68:0;;7399:2:1;11273:68:0;;;7381:21:1;7438:2;7418:18;;;7411:30;7477:34;7457:18;;;7450:62;-1:-1:-1;;;7528:18:1;;;7521:32;7570:19;;11273:68:0;7371:224:1;11273:68:0;-1:-1:-1;;;;;11352:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;11404:32;;11547:25:1;;;11404:32:0;;11520:18:1;11404:32:0;;;;;;;11109:335;;;:::o;11456:4772::-;-1:-1:-1;;;;;11544:18:0;;11536:68;;;;-1:-1:-1;;;11536:68:0;;10087:2:1;11536:68:0;;;10069:21:1;10126:2;10106:18;;;10099:30;10165:34;10145:18;;;10138:62;-1:-1:-1;;;10216:18:1;;;10209:35;10261:19;;11536:68:0;10059:227:1;11536:68:0;-1:-1:-1;;;;;11623:16:0;;11615:64;;;;-1:-1:-1;;;11615:64:0;;6584:2:1;11615:64:0;;;6566:21:1;6623:2;6603:18;;;6596:30;6662:34;6642:18;;;6635:62;-1:-1:-1;;;6713:18:1;;;6706:33;6756:19;;11615:64:0;6556:225:1;11615:64:0;11707:1;11698:6;:10;11690:64;;;;-1:-1:-1;;;11690:64:0;;9677:2:1;11690:64:0;;;9659:21:1;9716:2;9696:18;;;9689:30;9755:34;9735:18;;;9728:62;-1:-1:-1;;;9806:18:1;;;9799:39;9855:19;;11690:64:0;9649:231:1;11690:64:0;5382:7;5409:6;-1:-1:-1;;;;;11770:15:0;;;5409:6;;11770:15;;;;:32;;-1:-1:-1;5382:7:0;5409:6;-1:-1:-1;;;;;11789:13:0;;;5409:6;;11789:13;;11770:32;11767:4239;;;-1:-1:-1;;;;;11921:11:0;;;;;;:5;:11;;;;;;;;11920:12;:26;;;;-1:-1:-1;;;;;;11937:9:0;;;;;;:5;:9;;;;;;;;11936:10;11920:26;11912:35;;;;;;11987:10;11980:18;;;;:6;:18;;;;;:25;;;;;11976:99;;12047:12;;;;;;;;-1:-1:-1;12047:12:0;;;12054:4;12047:12;;;;;;;12033:10;12026:18;;:6;:18;;;;;;;:33;;;;;;;;;;-1:-1:-1;;12026:33:0;;;;;;;;;;11976:99;12156:13;;12108:2;;-1:-1:-1;;;;;12148:21:0;;;12156:13;;12148:21;:55;;;;-1:-1:-1;12187:15:0;;-1:-1:-1;;;;;12173:30:0;;;12187:15;;12173:30;;12148:55;:82;;;;-1:-1:-1;;;;;;12208:22:0;;;;;;:18;:22;;;;;;;;12207:23;12148:82;12145:2207;;;12259:11;;-1:-1:-1;;;12259:11:0;;;;12251:48;;;;-1:-1:-1;;;12251:48:0;;11250:2:1;12251:48:0;;;11232:21:1;11289:2;11269:18;;;11262:30;11328:26;11308:18;;;11301:54;11372:18;;12251:48:0;11222:174:1;12251:48:0;12352:10;;12335:13;12345:2;12335:9;:13::i;:::-;12326:22;;:6;:22;:::i;:::-;:36;;12318:73;;;;-1:-1:-1;;;12318:73:0;;8561:2:1;12318:73:0;;;8543:21:1;8600:2;8580:18;;;8573:30;8639:26;8619:18;;;8612:54;8683:18;;12318:73:0;8533:174:1;12318:73:0;12428:12;;:16;;12443:1;12428:16;:::i;:::-;12413:12;:31;12410:868;;;-1:-1:-1;12544:2:0;12410:868;;;12593:11;;:25;;12608:9;12593:25;:::i;:::-;12575:15;:43;12572:706;;;12665:10;12647:15;:28;:60;;;;;12697:10;12679:15;:28;12647:60;12643:387;;;-1:-1:-1;12789:1:0;12572:706;;12643:387;12839:15;12824:12;;:30;12820:210;;;-1:-1:-1;12935:1:0;12572:706;;12820:210;-1:-1:-1;13004:2:0;12572:706;;;13077:11;;:25;;13092:9;13077:25;:::i;:::-;13059:15;:43;13055:223;;;-1:-1:-1;13194:2:0;13055:223;;;-1:-1:-1;13256:2:0;13055:223;13324:18;13325:8;13339:2;13324:14;:18::i;:::-;13314:7;:28;;;13372:25;;13373:15;:8;13386:1;13373:12;:15::i;:::-;13372:21;;:25::i;:::-;13361:8;:36;13437:16;;-1:-1:-1;;;13437:16:0;;;;13434:364;;;13495:15;13481:11;;:29;13478:301;;;13557:13;;13547:6;:23;;13539:32;;;;;;-1:-1:-1;;;;;13606:10:0;;;;;;:6;:10;;;;;:16;13625:15;-1:-1:-1;13598:81:0;;;;-1:-1:-1;;;13598:81:0;;7802:2:1;13598:81:0;;;7784:21:1;7841:2;7821:18;;;7814:30;7880:34;7860:18;;;7853:62;-1:-1:-1;;;7931:18:1;;;7924:32;7973:19;;13598:81:0;7774:224:1;13598:81:0;13725:30;:15;13744:10;13725:30;:::i;:::-;-1:-1:-1;;;;;13706:10:0;;;;;;:6;:10;;;;;:49;13478:301;13858:13;;13848:40;;13884:3;;13848:31;;13877:1;;13848:24;;-1:-1:-1;;;;;13858:13:0;13848:9;:24::i;:::-;:28;;:31::i;:40::-;13838:6;:50;13834:145;;13930:29;:15;13949:9;13930:29;:::i;:::-;13913:14;:46;13834:145;14044:1;14019:21;;:26;14015:241;;14087:29;:15;14106:9;14087:29;:::i;:::-;14070:14;:46;14163:1;14139:21;:25;14015:241;;;14213:21;:23;;;:21;:23;;;:::i;:::-;;;;;;14015:241;14317:1;14292:22;:26;12145:2207;14366:28;14397:24;14415:4;14397:9;:24::i;:::-;14463:6;;14366:55;;-1:-1:-1;;;;14463:6:0;;;;14462:7;:32;;;;-1:-1:-1;14481:13:0;;-1:-1:-1;;;;;14473:21:0;;;14481:13;;14473:21;;14462:32;:47;;;;-1:-1:-1;14498:11:0;;-1:-1:-1;;;14498:11:0;;;;14462:47;14459:1536;;;14569:15;14552:14;;:32;14548:195;;;14659:2;14648:13;;14548:195;;;14721:2;14710:13;;14548:195;14789:18;14790:8;14804:2;14789:14;:18::i;:::-;14779:7;:28;;;14837:25;;14838:15;:8;14851:1;14838:12;:15::i;14837:25::-;14826:8;:36;14957:24;;14954:314;;15042:13;;15032:40;;15068:3;;15032:31;;15061:1;;15032:24;;-1:-1:-1;;;;;15042:13:0;15032:9;:24::i;:40::-;15009:20;:63;15006:182;;;15134:13;;15124:40;;15160:3;;15124:31;;15153:1;;15124:24;;-1:-1:-1;;;;;15134:13:0;15124:9;:24::i;:40::-;15101:63;;15006:182;15210:38;15227:20;15210:16;:38::i;:::-;15315:21;15358:22;;15355:105;;15405:35;15418:21;15405:12;:35::i;:::-;15520:13;;15510:40;;15546:3;;15510:31;;15539:1;;15510:24;;-1:-1:-1;;;;;15520:13:0;15510:9;:24::i;:40::-;15500:6;:50;15496:144;;15591:29;:15;15610:9;15591:29;:::i;:::-;15576:12;:44;15496:144;15706:1;15680:22;;:27;15676:242;;15747:29;:15;15766:9;15747:29;:::i;:::-;15732:12;:44;15824:1;15799:22;:26;15676:242;;;15874:22;:24;;;:22;:24;;;:::i;:::-;;;;;;15676:242;-1:-1:-1;15978:1:0;15954:21;:25;14459:1536;11767:4239;;;-1:-1:-1;;;;;16051:24:0;;16016:12;16051:24;;;:18;:24;;;;;;16031:4;;16051:24;;;:50;;-1:-1:-1;;;;;;16079:22:0;;;;;;:18;:22;;;;;;;;16051:50;:68;;;-1:-1:-1;16105:14:0;;-1:-1:-1;;;16105:14:0;;;;16051:68;16048:114;;;-1:-1:-1;16145:5:0;16048:114;16182:38;16197:4;16202:2;16205:6;16212:7;16182:14;:38::i;:::-;11456:4772;;;;:::o;3890:190::-;3976:7;4012:12;4004:6;;;;3996:29;;;;-1:-1:-1;;;3996:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4036:9:0;4048:5;4052:1;4048;:5;:::i;:::-;4036:17;3890:190;-1:-1:-1;;;;;3890:190:0:o;10502:254::-;10569:7;10608;;10597;:18;;10589:73;;;;-1:-1:-1;;;10589:73:0;;6988:2:1;10589:73:0;;;6970:21:1;7027:2;7007:18;;;7000:30;7066:34;7046:18;;;7039:62;-1:-1:-1;;;7117:18:1;;;7110:40;7167:19;;10589:73:0;6960:232:1;10589:73:0;10673:19;10696:10;:8;:10::i;:::-;10673:33;-1:-1:-1;10724:24:0;:7;10673:33;10724:11;:24::i;:::-;10717:31;10502:254;-1:-1:-1;;;10502:254:0:o;4341:132::-;4399:7;4426:39;4430:1;4433;4426:39;;;;;;;;;;;;;;;;;:3;:39::i;4088:245::-;4146:7;4169:6;4166:46;;-1:-1:-1;4199:1:0;4192:8;;4166:46;4222:9;4234:5;4238:1;4234;:5;:::i;:::-;4222:17;-1:-1:-1;4267:1:0;4258:5;4262:1;4222:17;4258:5;:::i;:::-;:10;4250:56;;;;-1:-1:-1;;;4250:56:0;;8914:2:1;4250:56:0;;;8896:21:1;8953:2;8933:18;;;8926:30;8992:34;8972:18;;;8965:62;-1:-1:-1;;;9043:18:1;;;9036:31;9084:19;;4250:56:0;8886:223:1;16236:483:0;8600:6;:13;;-1:-1:-1;;;;8600:13:0;-1:-1:-1;;;8600:13:0;;;16338:16:::1;::::0;;16352:1:::1;16338:16:::0;;;;;::::1;::::0;;-1:-1:-1;;16338:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16338:16:0::1;16314:40;;16383:4;16365;16370:1;16365:7;;;;;;-1:-1:-1::0;;;16365:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;16365:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16409:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16409:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16365:7;;16409:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16399:4;16404:1;16399:7;;;;;;-1:-1:-1::0;;;16399:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;16399:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16474:15:::1;::::0;16442:62:::1;::::0;16459:4:::1;::::0;16474:15:::1;16492:11:::0;16442:8:::1;:62::i;:::-;16515:15;::::0;:196:::1;::::0;-1:-1:-1;;;16515:196:0;;-1:-1:-1;;;;;16515:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;16596:11;;16515:15:::1;::::0;16638:4;;16665::::1;::::0;16685:15:::1;::::0;16515:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;8636:6:0;:14;;-1:-1:-1;;;;8636:14:0;;;-1:-1:-1;;;;16236:483:0:o;16735:158::-;16792:11;;-1:-1:-1;;;;;16792:11:0;:35;16813:13;:6;16824:1;16813:10;:13::i;:::-;16792:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16838:23:0;;-1:-1:-1;;;;;16838:23:0;:47;16871:13;:6;16882:1;16871:10;:13::i;:::-;16838:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16905:263;17017:7;17013:40;;17039:14;:12;:14::i;:::-;17064:44;17082:6;17090:9;17101:6;17064:17;:44::i;:::-;17123:7;17119:41;;17145:15;11040;;11030:7;:25;11077:16;;11066:8;:27;10986:115;18509:163;18550:7;18571:15;18588;18607:19;:17;:19::i;:::-;18570:56;;-1:-1:-1;18570:56:0;-1:-1:-1;18644:20:0;18570:56;;18644:11;:20::i;:::-;18637:27;;;;18509:163;:::o;4481:189::-;4567:7;4602:12;4595:5;4587:28;;;;-1:-1:-1;;;4587:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4626:9:0;4638:5;4642:1;4638;:5;:::i;10764:210::-;10810:7;;:12;:29;;;;-1:-1:-1;10826:8:0;;:13;10810:29;10807:41;;;10764:210::o;10807:41::-;10876:7;;;10858:15;:25;10913:8;;;10894:16;:27;-1:-1:-1;10932:11:0;;;;10954:12;10764:210::o;17176:490::-;17275:15;17292:23;17317:12;17331:23;17356:12;17370:13;17387:19;17398:7;17387:10;:19::i;:::-;-1:-1:-1;;;;;17435:15:0;;;;;;:7;:15;;;;;;17274:132;;-1:-1:-1;17274:132:0;;-1:-1:-1;17274:132:0;;-1:-1:-1;17274:132:0;-1:-1:-1;17274:132:0;-1:-1:-1;17274:132:0;-1:-1:-1;17435:28:0;;17274:132;17435:19;:28::i;:::-;-1:-1:-1;;;;;17417:15:0;;;;;;;:7;:15;;;;;;:46;;;;17495:18;;;;;;;:39;;17518:15;17495:22;:39::i;:::-;-1:-1:-1;;;;;17474:18:0;;;;;;:7;:18;;;;;:60;17548:16;17558:5;17548:9;:16::i;:::-;17575:23;17587:4;17593;17575:11;:23::i;:::-;17631:9;-1:-1:-1;;;;;17614:44:0;17623:6;-1:-1:-1;;;;;17614:44:0;;17642:15;17614:44;;;;11547:25:1;;11535:2;11520:18;;11502:76;17614:44:0;;;;;;;;17176:490;;;;;;;;;:::o;18680:255::-;18777:7;;18730;;;;6980:12;18844:20;18777:7;6980:12;18844:11;:20::i;:::-;18834:7;:30;18831:60;;;-1:-1:-1;;18874:7:0;;;6980:12;;-1:-1:-1;18680:255:0;-1:-1:-1;18680:255:0:o;18831:60::-;18910:7;;18919;;-1:-1:-1;18680:255:0;-1:-1:-1;18680:255:0:o;17674:468::-;17733:7;17742;17751;17760;17769;17778;17799:23;17824:12;17838:13;17855:39;17867:7;17876;;17885:8;;17855:11;:39::i;:::-;17798:96;;;;;;17905:19;17928:10;:8;:10::i;:::-;17905:33;;17950:15;17967:23;17992:12;18008:46;18020:7;18029:4;18035:5;18042:11;18008;:46::i;:::-;17949:105;;-1:-1:-1;17949:105:0;-1:-1:-1;17949:105:0;-1:-1:-1;18105:15:0;;-1:-1:-1;18122:4:0;;-1:-1:-1;18128:5:0;;-1:-1:-1;;;;;17674:468:0;;;;;;;:::o;3746:136::-;3804:7;3831:43;3835:1;3838;3831:43;;;;;;;;;;;;;;;;;:3;:43::i;3559:179::-;3617:7;;3649:5;3653:1;3649;:5;:::i;:::-;3637:17;;3678:1;3673;:6;;3665:46;;;;-1:-1:-1;;;3665:46:0;;8205:2:1;3665:46:0;;;8187:21:1;8244:2;8224:18;;;8217:30;8283:29;8263:18;;;8256:57;8330:18;;3665:46:0;8177:177:1;19360:214:0;19413:19;19436:10;:8;:10::i;:::-;19413:33;-1:-1:-1;19457:13:0;19473:22;:5;19413:33;19473:9;:22::i;:::-;19549:4;19533:22;;;;:7;:22;;;;;;19457:38;;-1:-1:-1;19533:33:0;;19457:38;19533:26;:33::i;:::-;19524:4;19508:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;19360:214:0:o;19582:147::-;19660:7;;:17;;19672:4;19660:11;:17::i;:::-;19650:7;:27;19701:10;;:20;;19716:4;19701:14;:20::i;:::-;19688:10;:33;-1:-1:-1;;19582:147:0:o;18150:351::-;18243:7;;;;18296:28;18320:3;18296:19;:7;18308:6;18296:11;:19::i;:28::-;18281:43;-1:-1:-1;18335:13:0;18351:29;18376:3;18351:20;:7;18363;18351:11;:20::i;:29::-;18335:45;-1:-1:-1;18391:23:0;18417:28;18335:45;18417:17;:7;18429:4;18417:11;:17::i;:::-;:21;;:28::i;:::-;18391:54;18481:4;;-1:-1:-1;18487:5:0;;-1:-1:-1;18150:351:0;;-1:-1:-1;;;;;18150:351:0:o;18943:409::-;19053:7;;;;19109:24;:7;19121:11;19109;:24::i;:::-;19091:42;-1:-1:-1;19144:12:0;19159:21;:4;19168:11;19159:8;:21::i;:::-;19144:36;-1:-1:-1;19191:13:0;19207:22;:5;19217:11;19207:9;:22::i;:::-;19191:38;-1:-1:-1;19240:23:0;19266:28;19191:38;19266:17;:7;19278:4;19266:11;:17::i;:28::-;19313:7;;;;-1:-1:-1;19339:4:0;;-1:-1:-1;18943:409:0;;-1:-1:-1;;;;;;;18943:409:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;63:85;;;:::o;153:257::-;212:6;265:2;253:9;244:7;240:23;236:32;233:2;;;286:6;278;271:22;233:2;330:9;317:23;349:31;374:5;349:31;:::i;415:261::-;485:6;538:2;526:9;517:7;513:23;509:32;506:2;;;559:6;551;544:22;506:2;596:9;590:16;615:31;640:5;615:31;:::i;951:398::-;1019:6;1027;1080:2;1068:9;1059:7;1055:23;1051:32;1048:2;;;1101:6;1093;1086:22;1048:2;1145:9;1132:23;1164:31;1189:5;1164:31;:::i;:::-;1214:5;-1:-1:-1;1271:2:1;1256:18;;1243:32;1284:33;1243:32;1284:33;:::i;:::-;1336:7;1326:17;;;1038:311;;;;;:::o;1354:466::-;1431:6;1439;1447;1500:2;1488:9;1479:7;1475:23;1471:32;1468:2;;;1521:6;1513;1506:22;1468:2;1565:9;1552:23;1584:31;1609:5;1584:31;:::i;:::-;1634:5;-1:-1:-1;1691:2:1;1676:18;;1663:32;1704:33;1663:32;1704:33;:::i;:::-;1458:362;;1756:7;;-1:-1:-1;;;1810:2:1;1795:18;;;;1782:32;;1458:362::o;1825:325::-;1893:6;1901;1954:2;1942:9;1933:7;1929:23;1925:32;1922:2;;;1975:6;1967;1960:22;1922:2;2019:9;2006:23;2038:31;2063:5;2038:31;:::i;:::-;2088:5;2140:2;2125:18;;;;2112:32;;-1:-1:-1;;;1912:238:1:o;2155:1177::-;2239:6;2270:2;2313;2301:9;2292:7;2288:23;2284:32;2281:2;;;2334:6;2326;2319:22;2281:2;2379:9;2366:23;2408:18;2449:2;2441:6;2438:14;2435:2;;;2470:6;2462;2455:22;2435:2;2513:6;2502:9;2498:22;2488:32;;2558:7;2551:4;2547:2;2543:13;2539:27;2529:2;;2585:6;2577;2570:22;2529:2;2626;2613:16;2648:2;2644;2641:10;2638:2;;;2654:18;;:::i;:::-;2700:2;2697:1;2693:10;2732:2;2726:9;2795:2;2791:7;2786:2;2782;2778:11;2774:25;2766:6;2762:38;2850:6;2838:10;2835:22;2830:2;2818:10;2815:18;2812:46;2809:2;;;2861:18;;:::i;:::-;2897:2;2890:22;2947:18;;;2981:15;;;;-1:-1:-1;3016:11:1;;;3046;;;3042:20;;3039:33;-1:-1:-1;3036:2:1;;;3090:6;3082;3075:22;3036:2;3117:6;3108:15;;3132:169;3146:2;3143:1;3140:9;3132:169;;;3203:23;3222:3;3203:23;:::i;:::-;3191:36;;3164:1;3157:9;;;;;3247:12;;;;3279;;3132:169;;;-1:-1:-1;3320:6:1;2250:1082;-1:-1:-1;;;;;;;;2250:1082:1:o;3337:251::-;3393:6;3446:2;3434:9;3425:7;3421:23;3417:32;3414:2;;;3467:6;3459;3452:22;3414:2;3511:9;3498:23;3530:28;3552:5;3530:28;:::i;3593:255::-;3660:6;3713:2;3701:9;3692:7;3688:23;3684:32;3681:2;;;3734:6;3726;3719:22;3681:2;3771:9;3765:16;3790:28;3812:5;3790:28;:::i;3853:316::-;3941:6;3949;3957;4010:2;3998:9;3989:7;3985:23;3981:32;3978:2;;;4031:6;4023;4016:22;3978:2;4065:9;4059:16;4049:26;;4115:2;4104:9;4100:18;4094:25;4084:35;;4159:2;4148:9;4144:18;4138:25;4128:35;;3968:201;;;;;:::o;5774:603::-;5886:4;5915:2;5944;5933:9;5926:21;5976:6;5970:13;6019:6;6014:2;6003:9;5999:18;5992:34;6044:4;6057:140;6071:6;6068:1;6065:13;6057:140;;;6166:14;;;6162:23;;6156:30;6132:17;;;6151:2;6128:26;6121:66;6086:10;;6057:140;;;6215:6;6212:1;6209:13;6206:2;;;6285:4;6280:2;6271:6;6260:9;6256:22;6252:31;6245:45;6206:2;-1:-1:-1;6361:2:1;6340:15;-1:-1:-1;;6336:29:1;6321:45;;;;6368:2;6317:54;;5895:482;-1:-1:-1;;;5895:482:1:o;9114:356::-;9316:2;9298:21;;;9335:18;;;9328:30;9394:34;9389:2;9374:18;;9367:62;9461:2;9446:18;;9288:182::o;11583:983::-;11845:4;11893:3;11882:9;11878:19;11924:6;11913:9;11906:25;11950:2;11988:6;11983:2;11972:9;11968:18;11961:34;12031:3;12026:2;12015:9;12011:18;12004:31;12055:6;12090;12084:13;12121:6;12113;12106:22;12159:3;12148:9;12144:19;12137:26;;12198:2;12190:6;12186:15;12172:29;;12219:4;12232:195;12246:6;12243:1;12240:13;12232:195;;;12311:13;;-1:-1:-1;;;;;12307:39:1;12295:52;;12402:15;;;;12367:12;;;;12343:1;12261:9;12232:195;;;-1:-1:-1;;;;;;;12483:32:1;;;;12478:2;12463:18;;12456:60;-1:-1:-1;;;12547:3:1;12532:19;12525:35;12444:3;11854:712;-1:-1:-1;;;11854:712:1:o;12760:128::-;12800:3;12831:1;12827:6;12824:1;12821:13;12818:2;;;12837:18;;:::i;:::-;-1:-1:-1;12873:9:1;;12808:80::o;12893:217::-;12933:1;12959;12949:2;;-1:-1:-1;;;12984:31:1;;13038:4;13035:1;13028:15;13066:4;12991:1;13056:15;12949:2;-1:-1:-1;13095:9:1;;12939:171::o;13115:168::-;13155:7;13221:1;13217;13213:6;13209:14;13206:1;13203:21;13198:1;13191:9;13184:17;13180:45;13177:2;;;13228:18;;:::i;:::-;-1:-1:-1;13268:9:1;;13167:116::o;13288:125::-;13328:4;13356:1;13353;13350:8;13347:2;;;13361:18;;:::i;:::-;-1:-1:-1;13398:9:1;;13337:76::o;13418:135::-;13457:3;-1:-1:-1;;13478:17:1;;13475:2;;;13498:18;;:::i;:::-;-1:-1:-1;13545:1:1;13534:13;;13465:88::o;13558:127::-;13619:10;13614:3;13610:20;13607:1;13600:31;13650:4;13647:1;13640:15;13674:4;13671:1;13664:15;13690:127;13751:10;13746:3;13742:20;13739:1;13732:31;13782:4;13779:1;13772:15;13806:4;13803:1;13796:15;13822:131;-1:-1:-1;;;;;13897:31:1;;13887:42;;13877:2;;13943:1;13940;13933:12;13958:118;14044:5;14037:13;14030:21;14023:5;14020:32;14010:2;;14066:1;14063;14056:12

Swarm Source

ipfs://c3b9316f0633c17ec8658f2408132fccaa1f37d59fa08dd27b44256b276a8973

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.