ETH Price: $2,065.57 (-0.38%)
Gas: 0.04 Gwei

Contract

0x2aa2B63b0D9DbBEc4eeC377be9a2AE67675CA217
 

Overview

ETH Balance

0.00040555688893157 ETH

Eth Value

$0.84 (@ $2,065.57/ETH)

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve187733082023-12-12 23:13:59820 days ago1702422839IN
0x2aa2B63b...7675CA217
0 ETH0.0021709146.95995589
Approve164769972023-01-24 13:34:351143 days ago1674567275IN
0x2aa2B63b...7675CA217
0 ETH0.0015260232.83957497
Approve163583472023-01-08 0:00:111159 days ago1673136011IN
0x2aa2B63b...7675CA217
0 ETH0.0008605432.31600097
Approve163583472023-01-08 0:00:111159 days ago1673136011IN
0x2aa2B63b...7675CA217
0 ETH0.001490632.03608695
Approve163317082023-01-04 6:43:351163 days ago1672814615IN
0x2aa2B63b...7675CA217
0 ETH0.0006690314.37887189
Approve163271042023-01-03 15:18:231164 days ago1672759103IN
0x2aa2B63b...7675CA217
0 ETH0.000729827.40657724
Approve163271042023-01-03 15:18:231164 days ago1672759103IN
0x2aa2B63b...7675CA217
0 ETH0.001275227.40657724
Approve163032272022-12-31 7:23:231167 days ago1672471403IN
0x2aa2B63b...7675CA217
0 ETH0.0007496216.11092889
Approve163004492022-12-30 22:05:111167 days ago1672437911IN
0x2aa2B63b...7675CA217
0 ETH0.0008072117.34863419
Approve163001792022-12-30 21:10:471168 days ago1672434647IN
0x2aa2B63b...7675CA217
0 ETH0.0011866825.50415931
Approve162963592022-12-30 8:21:231168 days ago1672388483IN
0x2aa2B63b...7675CA217
0 ETH0.0006904214.83864244
Approve162963462022-12-30 8:18:471168 days ago1672388327IN
0x2aa2B63b...7675CA217
0 ETH0.0007520216.16256193
Approve162910812022-12-29 14:42:111169 days ago1672324931IN
0x2aa2B63b...7675CA217
0 ETH0.0007969517.12810657
Approve162890952022-12-29 8:02:471169 days ago1672300967IN
0x2aa2B63b...7675CA217
0 ETH0.0006741714.4893447
Approve162877402022-12-29 3:30:111169 days ago1672284611IN
0x2aa2B63b...7675CA217
0 ETH0.0007295215.67902891
Approve162861932022-12-28 22:19:231169 days ago1672265963IN
0x2aa2B63b...7675CA217
0 ETH0.0007340315.7758687
Approve162858522022-12-28 21:10:231170 days ago1672261823IN
0x2aa2B63b...7675CA217
0 ETH0.0009364620.12639976
Approve162853352022-12-28 19:26:351170 days ago1672255595IN
0x2aa2B63b...7675CA217
0 ETH0.0015966934.31618736
Approve162852972022-12-28 19:18:591170 days ago1672255139IN
0x2aa2B63b...7675CA217
0 ETH0.0007159115.38632383
Approve162852082022-12-28 19:01:111170 days ago1672254071IN
0x2aa2B63b...7675CA217
0 ETH0.0007382415.86625671
Approve162850892022-12-28 18:37:231170 days ago1672252643IN
0x2aa2B63b...7675CA217
0 ETH0.0007337115.76896213
Approve162850612022-12-28 18:31:471170 days ago1672252307IN
0x2aa2B63b...7675CA217
0 ETH0.0008031317.26094688
Approve162850322022-12-28 18:25:471170 days ago1672251947IN
0x2aa2B63b...7675CA217
0 ETH0.0008823318.96304056
Approve162850182022-12-28 18:22:591170 days ago1672251779IN
0x2aa2B63b...7675CA217
0 ETH0.0009038319.4250995
Approve162849902022-12-28 18:17:111170 days ago1672251431IN
0x2aa2B63b...7675CA217
0 ETH0.0010320422.18060191
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer163739482023-01-10 4:14:471157 days ago1673324087
0x2aa2B63b...7675CA217
0.00000485 ETH
Add Liquidity ET...163739482023-01-10 4:14:471157 days ago1673324087
0x2aa2B63b...7675CA217
0.00040069 ETH
Transfer163739482023-01-10 4:14:471157 days ago1673324087
0x2aa2B63b...7675CA217
0.00320559 ETH
Transfer163739482023-01-10 4:14:471157 days ago1673324087
0x2aa2B63b...7675CA217
0.00356004 ETH
Transfer162963612022-12-30 8:21:471168 days ago1672388507
0x2aa2B63b...7675CA217
0.00000067 ETH
Add Liquidity ET...162963612022-12-30 8:21:471168 days ago1672388507
0x2aa2B63b...7675CA217
0.00044627 ETH
Transfer162963612022-12-30 8:21:471168 days ago1672388507
0x2aa2B63b...7675CA217
0.00357016 ETH
Transfer162963612022-12-30 8:21:471168 days ago1672388507
0x2aa2B63b...7675CA217
0.00400815 ETH
Transfer162910822022-12-29 14:42:231169 days ago1672324943
0x2aa2B63b...7675CA217
0.00000724 ETH
Add Liquidity ET...162910822022-12-29 14:42:231169 days ago1672324943
0x2aa2B63b...7675CA217
0.0004473 ETH
Transfer162910822022-12-29 14:42:231169 days ago1672324943
0x2aa2B63b...7675CA217
0.00357846 ETH
Transfer162910822022-12-29 14:42:231169 days ago1672324943
0x2aa2B63b...7675CA217
0.0039582 ETH
Transfer162861982022-12-28 22:20:231169 days ago1672266023
0x2aa2B63b...7675CA217
0.00002499 ETH
Add Liquidity ET...162861982022-12-28 22:20:231169 days ago1672266023
0x2aa2B63b...7675CA217
0.00048988 ETH
Transfer162861982022-12-28 22:20:231169 days ago1672266023
0x2aa2B63b...7675CA217
0.00391904 ETH
Transfer162861982022-12-28 22:20:231169 days ago1672266023
0x2aa2B63b...7675CA217
0.00418149 ETH
Transfer162860422022-12-28 21:48:591169 days ago1672264139
0x2aa2B63b...7675CA217
0.00004413 ETH
Add Liquidity ET...162860422022-12-28 21:48:591169 days ago1672264139
0x2aa2B63b...7675CA217
0.00067318 ETH
Transfer162860422022-12-28 21:48:591169 days ago1672264139
0x2aa2B63b...7675CA217
0.00538544 ETH
Transfer162860422022-12-28 21:48:591169 days ago1672264139
0x2aa2B63b...7675CA217
0.00566192 ETH
Add Liquidity ET...162853282022-12-28 19:25:111170 days ago1672255511
0x2aa2B63b...7675CA217
0.00106987 ETH
Transfer162853282022-12-28 19:25:111170 days ago1672255511
0x2aa2B63b...7675CA217
0.008559 ETH
Transfer162853282022-12-28 19:25:111170 days ago1672255511
0x2aa2B63b...7675CA217
0.00992386 ETH
Transfer162852902022-12-28 19:17:351170 days ago1672255055
0x2aa2B63b...7675CA217
0.00003951 ETH
Add Liquidity ET...162852902022-12-28 19:17:351170 days ago1672255055
0x2aa2B63b...7675CA217
0.00073537 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:
Figaro

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-12-28
*/

pragma solidity 0.8.4;
// SPDX-License-Identifier: Unlicensed



interface ERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

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

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

    function getOwner() external view returns (address);

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

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address _owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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

interface UniswapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

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

// Contracts and libraries

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

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

contract Figaro is Ownable, ERC20 {
    using SafeMath for uint256;

    uint8 constant _decimals = 18;

    uint256 _totalSupply = 10_000_000_000 * (10 ** _decimals);
    uint256 public _maxTxAmount = _totalSupply;
    uint256 public _walletMax = _totalSupply;

    address DEAD_WALLET = 0x000000000000000000000000000000000000dEaD;
    address ZERO_WALLET = 0x0000000000000000000000000000000000000000;

    address uniswapAddress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    string constant _name = "Figaro";
    string constant _symbol = "Figaro";

    bool public restrictWhales = true;

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

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

    uint256 public liquidityFee = 1;
    uint256 public marketingFee = 4;

    uint256 public totalFee = 5;
    uint256 public totalFeeIfSelling = 5;

    address public autoLiquidityReceiver;
    address public marketingWallet;

    UniswapRouter public router;
    address public pair;

    uint256 public launchedAt;
    bool public tradingOpen = false;
    bool public blacklistMode = false;
    mapping(address => bool) public isBlacklisted;

    bool public inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;

    uint256 public swapThreshold = _totalSupply * 4 / 2000;

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor() {
        router = UniswapRouter(uniswapAddress);
        pair = UniswapFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;
        _allowances[address(this)][address(pair)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[address(this)] = true;
        isFeeExempt[DEAD_WALLET] = true;

        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[pair] = true;
        isTxLimitExempt[DEAD_WALLET] = true;

        autoLiquidityReceiver = 0x894553EE5a9E05787a7ceC253Cf77a824b06bC45;
        marketingWallet = 0x872858E4E9DcA1236a63946D596bA6786973b385;

        totalFee = liquidityFee.add(marketingFee);
        totalFeeIfSelling = totalFee;

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

    receive() external payable {}

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

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

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

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

    function getOwner() external view override returns (address) {return owner();}

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

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

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

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

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

    function launched() internal view returns (bool) {
        return launchedAt != 0;
    }

    function launch() internal {
        launchedAt = block.number;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
    }

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

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

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

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (inSwapAndLiquify) {return _basicTransfer(sender, recipient, amount);}
        if(!authorizations[sender] && !authorizations[recipient]){
            require(tradingOpen, "Trading not open yet");
        }

        require(amount <= _maxTxAmount || isTxLimitExempt[sender], "TX Limit Exceeded");
        if (msg.sender != pair && !inSwapAndLiquify && swapAndLiquifyEnabled && _balances[address(this)] >= swapThreshold) {marketingAndLiquidity();}
        if (!launched() && recipient == pair) {
            require(_balances[sender] > 0, "Zero balance violated!");
            launch();
        }    

        // Blacklist
        if (blacklistMode) {
            require(!isBlacklisted[sender] && !isBlacklisted[recipient],"Blacklisted");
        }

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

        if (!isTxLimitExempt[recipient] && restrictWhales) {
            require(_balances[recipient].add(amount) <= _walletMax, "Max wallet violated!");
        }

        uint256 finalAmount = !isFeeExempt[sender] && !isFeeExempt[recipient] ? extractFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(finalAmount);

        emit Transfer(sender, recipient, finalAmount);
        return true;
    }

    function extractFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 feeApplicable = pair == recipient ? totalFeeIfSelling : totalFee;
        uint256 feeAmount = amount.mul(feeApplicable).div(100);

        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);

        return amount.sub(feeAmount);
    }

    function marketingAndLiquidity() internal lockTheSwap {
        uint256 tokensToLiquify = _balances[address(this)];
        uint256 amountToLiquify = tokensToLiquify.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = tokensToLiquify.sub(amountToLiquify);

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

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

        uint256 amountETH = address(this).balance;

        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));

        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingWallet).call{value : amountETHMarketing, gas : 30000}("");
        tmpSuccess = false;

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

    // CONTRACT OWNER FUNCTIONS

    function setWalletLimit(uint256 newLimit) external onlyOwner {
        _walletMax = newLimit;
    }

    function tradingStatus(bool newStatus) public onlyOwner {
        tradingOpen = newStatus;
    }

    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function setIsTxLimitExempt(address holder, bool exempt) external onlyOwner {
        isTxLimitExempt[holder] = exempt;
    }

    function setFees(uint256 newLiqFee, uint256 newmarketingFee) external onlyOwner {
        liquidityFee = newLiqFee;
        marketingFee = newmarketingFee;

        totalFee = liquidityFee.add(marketingFee);
        totalFeeIfSelling = totalFee;
    }

        function enable_blacklist(bool _status) public onlyOwner {
    blacklistMode = _status;
    }

        
    function manage_blacklist(address[] calldata addresses, bool status) public onlyOwner {
        for (uint256 i; i < addresses.length; ++i) {
            isBlacklisted[addresses[i]] = status;
        }
    }

}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"autoLiquidityReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blacklistMode","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":"bool","name":"_status","type":"bool"}],"name":"enable_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSwapAndLiquify","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlacklisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_blacklist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"restrictWhales","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract UniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiqFee","type":"uint256"},{"internalType":"uint256","name":"newmarketingFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"newStatus","type":"bool"}],"name":"tradingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a6200056b565b62000023906402540be40062000637565b600281905560038190556004818155600580546001600160a01b031990811661dead1782556006805490911690556007805474017a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a81b03199091161790556001600c55600d829055600e819055600f556015805461ffff191690556017805462ffff0019166101001790556107d091620000b69162000637565b620000c2919062000501565b601855348015620000d257600080fd5b50600080546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600754601280546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a015591600480820192602092909190829003018186803b1580156200018557600080fd5b505afa1580156200019a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c09190620004bd565b6001600160a01b031663c9c65396601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021d57600080fd5b505afa15801562000232573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002589190620004bd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152306024820152604401602060405180830381600087803b158015620002a057600080fd5b505af1158015620002b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002db9190620004bd565b601380546001600160a01b039283166001600160a01b0319918216178255306000818152600960209081526040808320601254881684528252808320600019908190558654881684528184205533808452600a8352818420805460ff1990811660019081179092559585528285208054871682179055600580548a1686528386208054881683179055918552600b845282852080548716821790559654881684528184208054861688179055549096168252949020805490911690921790915560108054821673894553ee5a9e05787a7cec253cf77a824b06bc451790556011805490911673872858e4e9dca1236a63946d596ba6786973b385179055600d54600c54620003f59290919062000d1a6200044e821b17901c565b600e819055600f5560025433600081815260086020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200066f565b6000806200045d8385620004e6565b905083811015620004b45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b600060208284031215620004cf578081fd5b81516001600160a01b0381168114620004b4578182fd5b60008219821115620004fc57620004fc62000659565b500190565b6000826200051d57634e487b7160e01b81526012600452602481fd5b500490565b600181815b808511156200056357816000190482111562000547576200054762000659565b808516156200055557918102915b93841c939080029062000527565b509250929050565b60006200057c60ff84168362000583565b9392505050565b6000826200059457506001620004b7565b81620005a357506000620004b7565b8160018114620005bc5760028114620005c757620005e7565b6001915050620004b7565b60ff841115620005db57620005db62000659565b50506001821b620004b7565b5060208310610133831016604e8410600b84101617156200060c575081810a620004b7565b62000618838362000522565b80600019048211156200062f576200062f62000659565b029392505050565b600081600019048311821515161562000654576200065462000659565b500290565b634e487b7160e01b600052601160045260246000fd5b611c7f806200067f6000396000f3fe6080604052600436106102605760003560e01c80637d1db4a511610144578063bf56b371116100b6578063f1d5f5171161007a578063f1d5f517146106fc578063f2fde38b1461071c578063f84ba65d1461073c578063f887ea401461075c578063fe575a871461077c578063ffb54a99146107ac57600080fd5b8063bf56b3711461064a578063ca33e64c14610660578063ca987b0e14610680578063da00097d14610696578063dd62ed3e146106b657600080fd5b80638da5cb5b116101085780638da5cb5b146105675780638e2eee84146105d457806395d89b411461029557806398118cb4146105f4578063a8aa1b311461060a578063a9059cbb1461062a57600080fd5b80637d1db4a51461053b578063807c2d9c14610551578063893d20e814610567578063896648c1146105855780638b42507f146105a457600080fd5b8063313ce567116101dd5780635e562f3b116101a15780635e562f3b14610462578063658d4b7f146104825780636b67c4df146104a257806370a08231146104b8578063715018a6146104ee57806375f0a8741461050357600080fd5b8063313ce567146103b65780633f4218e0146103d257806344de2e4c146104025780634a74bb0214610423578063571ac8b01461044257600080fd5b806318160ddd1161022457806318160ddd1461033c5780631df4ccfc14610351578063220f66961461036757806323b872dd146103815780632b112e49146103a157600080fd5b80630445b6671461026c57806306fdde0314610295578063095ea7b3146102ca5780630b78f9c0146102fa5780630d2959801461031c57600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5061028260185481565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b50604080518082018252600681526546696761726f60d01b6020820152905161028c9190611a9a565b3480156102d657600080fd5b506102ea6102e5366004611970565b6107c6565b604051901515815260200161028c565b34801561030657600080fd5b5061031a610315366004611a4c565b610833565b005b34801561032857600080fd5b5061031a610337366004611a1a565b610886565b34801561034857600080fd5b50600254610282565b34801561035d57600080fd5b50610282600e5481565b34801561037357600080fd5b506017546102ea9060ff1681565b34801561038d57600080fd5b506102ea61039c3660046118fc565b6108c3565b3480156103ad57600080fd5b50610282610985565b3480156103c257600080fd5b506040516012815260200161028c565b3480156103de57600080fd5b506102ea6103ed36600461188c565b600a6020526000908152604090205460ff1681565b34801561040e57600080fd5b506007546102ea90600160a01b900460ff1681565b34801561042f57600080fd5b506017546102ea90610100900460ff1681565b34801561044e57600080fd5b506102ea61045d36600461188c565b6109d7565b34801561046e57600080fd5b5061031a61047d366004611a1a565b6109e5565b34801561048e57600080fd5b5061031a61049d36600461193c565b610a29565b3480156104ae57600080fd5b50610282600d5481565b3480156104c457600080fd5b506102826104d336600461188c565b6001600160a01b031660009081526008602052604090205490565b3480156104fa57600080fd5b5061031a610a7e565b34801561050f57600080fd5b50601154610523906001600160a01b031681565b6040516001600160a01b03909116815260200161028c565b34801561054757600080fd5b5061028260035481565b34801561055d57600080fd5b5061028260045481565b34801561057357600080fd5b506000546001600160a01b0316610523565b34801561059157600080fd5b506015546102ea90610100900460ff1681565b3480156105b057600080fd5b506102ea6105bf36600461188c565b600b6020526000908152604090205460ff1681565b3480156105e057600080fd5b5061031a6105ef36600461199b565b610af2565b34801561060057600080fd5b50610282600c5481565b34801561061657600080fd5b50601354610523906001600160a01b031681565b34801561063657600080fd5b506102ea610645366004611970565b610b9f565b34801561065657600080fd5b5061028260145481565b34801561066c57600080fd5b50601054610523906001600160a01b031681565b34801561068c57600080fd5b50610282600f5481565b3480156106a257600080fd5b506017546102ea9062010000900460ff1681565b3480156106c257600080fd5b506102826106d13660046118c4565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561070857600080fd5b5061031a610717366004611a34565b610bac565b34801561072857600080fd5b5061031a61073736600461188c565b610bdb565b34801561074857600080fd5b5061031a61075736600461193c565b610cc5565b34801561076857600080fd5b50601254610523906001600160a01b031681565b34801561078857600080fd5b506102ea61079736600461188c565b60166020526000908152604090205460ff1681565b3480156107b857600080fd5b506015546102ea9060ff1681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108219086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108665760405162461bcd60e51b815260040161085d90611aed565b60405180910390fd5b600c829055600d81905561087a8282610d1a565b600e819055600f555050565b6000546001600160a01b031633146108b05760405162461bcd60e51b815260040161085d90611aed565b6015805460ff1916911515919091179055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610970576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461094b918490610d79565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b61097b848484610db3565b90505b9392505050565b6006546001600160a01b03166000908152600860205260408120546109d2906005546001600160a01b03166000908152600860205260409020546109cc9060025490611227565b90611227565b905090565b600061082d826000196107c6565b6000546001600160a01b03163314610a0f5760405162461bcd60e51b815260040161085d90611aed565b601580549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610a535760405162461bcd60e51b815260040161085d90611aed565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610aa85760405162461bcd60e51b815260040161085d90611aed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b1c5760405162461bcd60e51b815260040161085d90611aed565b60005b82811015610b99578160166000868685818110610b4c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b61919061188c565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610b9281611c00565b9050610b1f565b50505050565b600061097e338484610db3565b6000546001600160a01b03163314610bd65760405162461bcd60e51b815260040161085d90611aed565b600455565b6000546001600160a01b03163314610c055760405162461bcd60e51b815260040161085d90611aed565b6001600160a01b038116610c6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161085d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260040161085d90611aed565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b600080610d278385611b92565b90508381101561097e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161085d565b60008184841115610d9d5760405162461bcd60e51b815260040161085d9190611a9a565b506000610daa8486611be9565b95945050505050565b60175460009060ff1615610dd357610dcc848484611269565b905061097e565b6001600160a01b03841660009081526001602052604090205460ff16158015610e1557506001600160a01b03831660009081526001602052604090205460ff16155b15610e635760155460ff16610e635760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161085d565b60035482111580610e8c57506001600160a01b0384166000908152600b602052604090205460ff165b610ecc5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161085d565b6013546001600160a01b03163314801590610eea575060175460ff16155b8015610efd5750601754610100900460ff165b8015610f1a57506018543060009081526008602052604090205410155b15610f2757610f2761134f565b601454158015610f4457506013546001600160a01b038481169116145b15610fb0576001600160a01b038416600090815260086020526040902054610fa75760405162461bcd60e51b81526020600482015260166024820152755a65726f2062616c616e63652076696f6c617465642160501b604482015260640161085d565b610fb043601455565b601554610100900460ff161561103c576001600160a01b03841660009081526016602052604090205460ff1615801561100257506001600160a01b03831660009081526016602052604090205460ff16155b61103c5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b604482015260640161085d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526008909152919091205461108e918490610d79565b6001600160a01b038086166000908152600860209081526040808320949094559186168152600b909152205460ff161580156110d35750600754600160a01b900460ff165b15611143576004546001600160a01b0384166000908152600860205260409020546110fe9084610d1a565b11156111435760405162461bcd60e51b81526020600482015260146024820152734d61782077616c6c65742076696f6c617465642160601b604482015260640161085d565b6001600160a01b0384166000908152600a602052604081205460ff1615801561118557506001600160a01b0384166000908152600a602052604090205460ff16155b61118f578261119a565b61119a8585856116ca565b6001600160a01b0385166000908152600860205260409020549091506111c09082610d1a565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112149085815260200190565b60405180910390a3506001949350505050565b600061097e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d79565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546112ba918490610d79565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546112e99083610d1a565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061133d9086815260200190565b60405180910390a35060019392505050565b6017805460ff1916600117905530600090815260086020526040812054600e54600c549192916113909160029161138a91908290879061178d565b9061180c565b9050600061139e8383611227565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106113e657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561143a57600080fd5b505afa15801561144e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147291906118a8565b8160018151811061149357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac947906114d9908590600090869030904290600401611b22565b600060405180830381600087803b1580156114f357600080fd5b505af1158015611507573d6000803e3d6000fd5b5050600c544792506000915061152b9061152290600261180c565b600e5490611227565b9050600061154d600261138a8461138a600c548861178d90919063ffffffff16565b9050600061156a8361138a600d548761178d90919063ffffffff16565b6011546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d80600081146115c1576040519150601f19603f3d011682016040523d82523d6000602084013e6115c6565b606091505b506000925050881590506116b55760125460105460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c4016060604051808303818588803b15801561163f57600080fd5b505af1158015611653573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116789190611a6d565b505060408051858152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506017805460ff1916905550505050505050565b60135460009081906001600160a01b038581169116146116ec57600e546116f0565b600f545b90506000611703606461138a868561178d565b306000908152600860205260409020549091506117209082610d1a565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117719085815260200190565b60405180910390a36117838482611227565b9695505050505050565b60008261179c5750600061082d565b60006117a88385611bca565b9050826117b58583611baa565b1461097e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161085d565b600061097e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361186a5760405162461bcd60e51b815260040161085d9190611a9a565b506000610daa8486611baa565b8035801515811461188757600080fd5b919050565b60006020828403121561189d578081fd5b813561097e81611c31565b6000602082840312156118b9578081fd5b815161097e81611c31565b600080604083850312156118d6578081fd5b82356118e181611c31565b915060208301356118f181611c31565b809150509250929050565b600080600060608486031215611910578081fd5b833561191b81611c31565b9250602084013561192b81611c31565b929592945050506040919091013590565b6000806040838503121561194e578182fd5b823561195981611c31565b915061196760208401611877565b90509250929050565b60008060408385031215611982578182fd5b823561198d81611c31565b946020939093013593505050565b6000806000604084860312156119af578283fd5b833567ffffffffffffffff808211156119c6578485fd5b818601915086601f8301126119d9578485fd5b8135818111156119e7578586fd5b8760208260051b85010111156119fb578586fd5b602092830195509350611a119186019050611877565b90509250925092565b600060208284031215611a2b578081fd5b61097e82611877565b600060208284031215611a45578081fd5b5035919050565b60008060408385031215611a5e578182fd5b50508035926020909101359150565b600080600060608486031215611a81578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611ac657858101830151858201604001528201611aaa565b81811115611ad75783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611b715784516001600160a01b031683529383019391830191600101611b4c565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611ba557611ba5611c1b565b500190565b600082611bc557634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611be457611be4611c1b565b500290565b600082821015611bfb57611bfb611c1b565b500390565b6000600019821415611c1457611c14611c1b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611c4657600080fd5b5056fea2646970667358221220896af7bcc040bd3734f953d481ff0f764cbdca117c7610dd8bf5b08face8bca364736f6c63430008040033

Deployed Bytecode

0x6080604052600436106102605760003560e01c80637d1db4a511610144578063bf56b371116100b6578063f1d5f5171161007a578063f1d5f517146106fc578063f2fde38b1461071c578063f84ba65d1461073c578063f887ea401461075c578063fe575a871461077c578063ffb54a99146107ac57600080fd5b8063bf56b3711461064a578063ca33e64c14610660578063ca987b0e14610680578063da00097d14610696578063dd62ed3e146106b657600080fd5b80638da5cb5b116101085780638da5cb5b146105675780638e2eee84146105d457806395d89b411461029557806398118cb4146105f4578063a8aa1b311461060a578063a9059cbb1461062a57600080fd5b80637d1db4a51461053b578063807c2d9c14610551578063893d20e814610567578063896648c1146105855780638b42507f146105a457600080fd5b8063313ce567116101dd5780635e562f3b116101a15780635e562f3b14610462578063658d4b7f146104825780636b67c4df146104a257806370a08231146104b8578063715018a6146104ee57806375f0a8741461050357600080fd5b8063313ce567146103b65780633f4218e0146103d257806344de2e4c146104025780634a74bb0214610423578063571ac8b01461044257600080fd5b806318160ddd1161022457806318160ddd1461033c5780631df4ccfc14610351578063220f66961461036757806323b872dd146103815780632b112e49146103a157600080fd5b80630445b6671461026c57806306fdde0314610295578063095ea7b3146102ca5780630b78f9c0146102fa5780630d2959801461031c57600080fd5b3661026757005b600080fd5b34801561027857600080fd5b5061028260185481565b6040519081526020015b60405180910390f35b3480156102a157600080fd5b50604080518082018252600681526546696761726f60d01b6020820152905161028c9190611a9a565b3480156102d657600080fd5b506102ea6102e5366004611970565b6107c6565b604051901515815260200161028c565b34801561030657600080fd5b5061031a610315366004611a4c565b610833565b005b34801561032857600080fd5b5061031a610337366004611a1a565b610886565b34801561034857600080fd5b50600254610282565b34801561035d57600080fd5b50610282600e5481565b34801561037357600080fd5b506017546102ea9060ff1681565b34801561038d57600080fd5b506102ea61039c3660046118fc565b6108c3565b3480156103ad57600080fd5b50610282610985565b3480156103c257600080fd5b506040516012815260200161028c565b3480156103de57600080fd5b506102ea6103ed36600461188c565b600a6020526000908152604090205460ff1681565b34801561040e57600080fd5b506007546102ea90600160a01b900460ff1681565b34801561042f57600080fd5b506017546102ea90610100900460ff1681565b34801561044e57600080fd5b506102ea61045d36600461188c565b6109d7565b34801561046e57600080fd5b5061031a61047d366004611a1a565b6109e5565b34801561048e57600080fd5b5061031a61049d36600461193c565b610a29565b3480156104ae57600080fd5b50610282600d5481565b3480156104c457600080fd5b506102826104d336600461188c565b6001600160a01b031660009081526008602052604090205490565b3480156104fa57600080fd5b5061031a610a7e565b34801561050f57600080fd5b50601154610523906001600160a01b031681565b6040516001600160a01b03909116815260200161028c565b34801561054757600080fd5b5061028260035481565b34801561055d57600080fd5b5061028260045481565b34801561057357600080fd5b506000546001600160a01b0316610523565b34801561059157600080fd5b506015546102ea90610100900460ff1681565b3480156105b057600080fd5b506102ea6105bf36600461188c565b600b6020526000908152604090205460ff1681565b3480156105e057600080fd5b5061031a6105ef36600461199b565b610af2565b34801561060057600080fd5b50610282600c5481565b34801561061657600080fd5b50601354610523906001600160a01b031681565b34801561063657600080fd5b506102ea610645366004611970565b610b9f565b34801561065657600080fd5b5061028260145481565b34801561066c57600080fd5b50601054610523906001600160a01b031681565b34801561068c57600080fd5b50610282600f5481565b3480156106a257600080fd5b506017546102ea9062010000900460ff1681565b3480156106c257600080fd5b506102826106d13660046118c4565b6001600160a01b03918216600090815260096020908152604080832093909416825291909152205490565b34801561070857600080fd5b5061031a610717366004611a34565b610bac565b34801561072857600080fd5b5061031a61073736600461188c565b610bdb565b34801561074857600080fd5b5061031a61075736600461193c565b610cc5565b34801561076857600080fd5b50601254610523906001600160a01b031681565b34801561078857600080fd5b506102ea61079736600461188c565b60166020526000908152604090205460ff1681565b3480156107b857600080fd5b506015546102ea9060ff1681565b3360008181526009602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906108219086815260200190565b60405180910390a35060015b92915050565b6000546001600160a01b031633146108665760405162461bcd60e51b815260040161085d90611aed565b60405180910390fd5b600c829055600d81905561087a8282610d1a565b600e819055600f555050565b6000546001600160a01b031633146108b05760405162461bcd60e51b815260040161085d90611aed565b6015805460ff1916911515919091179055565b6001600160a01b038316600090815260096020908152604080832033845290915281205460001914610970576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260098252838120338252909152919091205461094b918490610d79565b6001600160a01b03851660009081526009602090815260408083203384529091529020555b61097b848484610db3565b90505b9392505050565b6006546001600160a01b03166000908152600860205260408120546109d2906005546001600160a01b03166000908152600860205260409020546109cc9060025490611227565b90611227565b905090565b600061082d826000196107c6565b6000546001600160a01b03163314610a0f5760405162461bcd60e51b815260040161085d90611aed565b601580549115156101000261ff0019909216919091179055565b6000546001600160a01b03163314610a535760405162461bcd60e51b815260040161085d90611aed565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6000546001600160a01b03163314610aa85760405162461bcd60e51b815260040161085d90611aed565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610b1c5760405162461bcd60e51b815260040161085d90611aed565b60005b82811015610b99578160166000868685818110610b4c57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b61919061188c565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055610b9281611c00565b9050610b1f565b50505050565b600061097e338484610db3565b6000546001600160a01b03163314610bd65760405162461bcd60e51b815260040161085d90611aed565b600455565b6000546001600160a01b03163314610c055760405162461bcd60e51b815260040161085d90611aed565b6001600160a01b038116610c6a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161085d565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610cef5760405162461bcd60e51b815260040161085d90611aed565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b600080610d278385611b92565b90508381101561097e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161085d565b60008184841115610d9d5760405162461bcd60e51b815260040161085d9190611a9a565b506000610daa8486611be9565b95945050505050565b60175460009060ff1615610dd357610dcc848484611269565b905061097e565b6001600160a01b03841660009081526001602052604090205460ff16158015610e1557506001600160a01b03831660009081526001602052604090205460ff16155b15610e635760155460ff16610e635760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161085d565b60035482111580610e8c57506001600160a01b0384166000908152600b602052604090205460ff165b610ecc5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b604482015260640161085d565b6013546001600160a01b03163314801590610eea575060175460ff16155b8015610efd5750601754610100900460ff165b8015610f1a57506018543060009081526008602052604090205410155b15610f2757610f2761134f565b601454158015610f4457506013546001600160a01b038481169116145b15610fb0576001600160a01b038416600090815260086020526040902054610fa75760405162461bcd60e51b81526020600482015260166024820152755a65726f2062616c616e63652076696f6c617465642160501b604482015260640161085d565b610fb043601455565b601554610100900460ff161561103c576001600160a01b03841660009081526016602052604090205460ff1615801561100257506001600160a01b03831660009081526016602052604090205460ff16155b61103c5760405162461bcd60e51b815260206004820152600b60248201526a109b1858dadb1a5cdd195960aa1b604482015260640161085d565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526008909152919091205461108e918490610d79565b6001600160a01b038086166000908152600860209081526040808320949094559186168152600b909152205460ff161580156110d35750600754600160a01b900460ff165b15611143576004546001600160a01b0384166000908152600860205260409020546110fe9084610d1a565b11156111435760405162461bcd60e51b81526020600482015260146024820152734d61782077616c6c65742076696f6c617465642160601b604482015260640161085d565b6001600160a01b0384166000908152600a602052604081205460ff1615801561118557506001600160a01b0384166000908152600a602052604090205460ff16155b61118f578261119a565b61119a8585856116ca565b6001600160a01b0385166000908152600860205260409020549091506111c09082610d1a565b6001600160a01b0380861660008181526008602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906112149085815260200190565b60405180910390a3506001949350505050565b600061097e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610d79565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03861660009081526008909152918220546112ba918490610d79565b6001600160a01b0380861660009081526008602052604080822093909355908516815220546112e99083610d1a565b6001600160a01b0380851660008181526008602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061133d9086815260200190565b60405180910390a35060019392505050565b6017805460ff1916600117905530600090815260086020526040812054600e54600c549192916113909160029161138a91908290879061178d565b9061180c565b9050600061139e8383611227565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106113e657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561143a57600080fd5b505afa15801561144e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147291906118a8565b8160018151811061149357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b815291169063791ac947906114d9908590600090869030904290600401611b22565b600060405180830381600087803b1580156114f357600080fd5b505af1158015611507573d6000803e3d6000fd5b5050600c544792506000915061152b9061152290600261180c565b600e5490611227565b9050600061154d600261138a8461138a600c548861178d90919063ffffffff16565b9050600061156a8361138a600d548761178d90919063ffffffff16565b6011546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d80600081146115c1576040519150601f19603f3d011682016040523d82523d6000602084013e6115c6565b606091505b506000925050881590506116b55760125460105460405163f305d71960e01b8152306004820152602481018b905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c4016060604051808303818588803b15801561163f57600080fd5b505af1158015611653573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116789190611a6d565b505060408051858152602081018b90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506017805460ff1916905550505050505050565b60135460009081906001600160a01b038581169116146116ec57600e546116f0565b600f545b90506000611703606461138a868561178d565b306000908152600860205260409020549091506117209082610d1a565b30600081815260086020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117719085815260200190565b60405180910390a36117838482611227565b9695505050505050565b60008261179c5750600061082d565b60006117a88385611bca565b9050826117b58583611baa565b1461097e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161085d565b600061097e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506000818361186a5760405162461bcd60e51b815260040161085d9190611a9a565b506000610daa8486611baa565b8035801515811461188757600080fd5b919050565b60006020828403121561189d578081fd5b813561097e81611c31565b6000602082840312156118b9578081fd5b815161097e81611c31565b600080604083850312156118d6578081fd5b82356118e181611c31565b915060208301356118f181611c31565b809150509250929050565b600080600060608486031215611910578081fd5b833561191b81611c31565b9250602084013561192b81611c31565b929592945050506040919091013590565b6000806040838503121561194e578182fd5b823561195981611c31565b915061196760208401611877565b90509250929050565b60008060408385031215611982578182fd5b823561198d81611c31565b946020939093013593505050565b6000806000604084860312156119af578283fd5b833567ffffffffffffffff808211156119c6578485fd5b818601915086601f8301126119d9578485fd5b8135818111156119e7578586fd5b8760208260051b85010111156119fb578586fd5b602092830195509350611a119186019050611877565b90509250925092565b600060208284031215611a2b578081fd5b61097e82611877565b600060208284031215611a45578081fd5b5035919050565b60008060408385031215611a5e578182fd5b50508035926020909101359150565b600080600060608486031215611a81578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b81811015611ac657858101830151858201604001528201611aaa565b81811115611ad75783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b81811015611b715784516001600160a01b031683529383019391830191600101611b4c565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115611ba557611ba5611c1b565b500190565b600082611bc557634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611be457611be4611c1b565b500290565b600082821015611bfb57611bfb611c1b565b500390565b6000600019821415611c1457611c14611c1b565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114611c4657600080fd5b5056fea2646970667358221220896af7bcc040bd3734f953d481ff0f764cbdca117c7610dd8bf5b08face8bca364736f6c63430008040033

Deployed Bytecode Sourcemap

4951:9524:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6390:54;;;;;;;;;;;;;;;;;;;9425:25:1;;;9413:2;9398:18;6390:54:0;;;;;;;;7603:78;;;;;;;;;;-1:-1:-1;7674:5:0;;;;;;;;;;;-1:-1:-1;;;7674:5:0;;;;7603:78;;;;7674:5;7603:78;:::i;8459:216::-;;;;;;;;;;-1:-1:-1;8459:216:0;;;;;:::i;:::-;;:::i;:::-;;;5154:14:1;;5147:22;5129:41;;5117:2;5102:18;8459:216:0;5084:92:1;13878:257:0;;;;;;;;;;-1:-1:-1;13878:257:0;;;;;:::i;:::-;;:::i;:::-;;13510:98;;;;;;;;;;-1:-1:-1;13510:98:0;;;;;:::i;:::-;;:::i;7865:86::-;;;;;;;;;;-1:-1:-1;7937:12:0;;7865:86;;5867:27;;;;;;;;;;;;;;;;6254:28;;;;;;;;;;-1:-1:-1;6254:28:0;;;;;;;;9666:370;;;;;;;;;;-1:-1:-1;9666:370:0;;;;;:::i;:::-;;:::i;8295:156::-;;;;;;;;;;;;;:::i;7779:78::-;;;;;;;;;;-1:-1:-1;7779:78:0;;5054:2;10844:36:1;;10832:2;10817:18;7779:78:0;10799:87:1;5683:43:0;;;;;;;;;;-1:-1:-1;5683:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;5529:33;;;;;;;;;;-1:-1:-1;5529:33:0;;;;-1:-1:-1;;;5529:33:0;;;;;;6289:40;;;;;;;;;;-1:-1:-1;6289:40:0;;;;;;;;;;;8683:122;;;;;;;;;;-1:-1:-1;8683:122:0;;;;;:::i;:::-;;:::i;14147:95::-;;;;;;;;;;-1:-1:-1;14147:95:0;;;;;:::i;:::-;;:::i;13616:119::-;;;;;;;;;;-1:-1:-1;13616:119:0;;;;;:::i;:::-;;:::i;5827:31::-;;;;;;;;;;;;;;;;8045:103;;;;;;;;;;-1:-1:-1;8045:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;8128:18:0;8111:7;8128:18;;;:9;:18;;;;;;;8045:103;4544:148;;;;;;;;;;;;;:::i;5989:30::-;;;;;;;;;;-1:-1:-1;5989:30:0;;;;-1:-1:-1;;;;;5989:30:0;;;;;;-1:-1:-1;;;;;4333:32:1;;;4315:51;;4303:2;4288:18;5989:30:0;4270:102:1;5129:42:0;;;;;;;;;;;;;;;;5178:40;;;;;;;;;;;;;;;;7959:78;;;;;;;;;;-1:-1:-1;8011:7:0;4395:6;-1:-1:-1;;;;;4395:6:0;7959:78;8295:156;6160:33;;;;;;;;;;-1:-1:-1;6160:33:0;;;;;;;;;;;5733:47;;;;;;;;;;-1:-1:-1;5733:47:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14260:210;;;;;;;;;;-1:-1:-1;14260:210:0;;;;;:::i;:::-;;:::i;5789:31::-;;;;;;;;;;;;;;;;6062:19;;;;;;;;;;-1:-1:-1;6062:19:0;;;;-1:-1:-1;;;;;6062:19:0;;;9164:156;;;;;;;;;;-1:-1:-1;9164:156:0;;;;;:::i;:::-;;:::i;6090:25::-;;;;;;;;;;;;;;;;5946:36;;;;;;;;;;-1:-1:-1;5946:36:0;;;;-1:-1:-1;;;;;5946:36:0;;;5901;;;;;;;;;;;;;;;;6336:45;;;;;;;;;;-1:-1:-1;6336:45:0;;;;;;;;;;;8156:131;;;;;;;;;;-1:-1:-1;8156:131:0;;;;;:::i;:::-;-1:-1:-1;;;;;8257:19:0;;;8240:7;8257:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;8156:131;13401:101;;;;;;;;;;-1:-1:-1;13401:101:0;;;;;:::i;:::-;;:::i;4700:244::-;;;;;;;;;;-1:-1:-1;4700:244:0;;;;;:::i;:::-;;:::i;13743:127::-;;;;;;;;;;-1:-1:-1;13743:127:0;;;;;:::i;:::-;;:::i;6028:27::-;;;;;;;;;;-1:-1:-1;6028:27:0;;;;-1:-1:-1;;;;;6028:27:0;;;6200:45;;;;;;;;;;-1:-1:-1;6200:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6122:31;;;;;;;;;;-1:-1:-1;6122:31:0;;;;;;;;8459:216;8563:10;8534:4;8551:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;8551:32:0;;;;;;;;;;:41;;;8608:37;8534:4;;8551:32;;8608:37;;;;8586:6;9425:25:1;;9413:2;9398:18;;9380:76;8608:37:0;;;;;;;;-1:-1:-1;8663:4:0;8459:216;;;;;:::o;13878:257::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;;;;;;;;;13969:12:::1;:24:::0;;;14004:12:::1;:30:::0;;;14058::::1;13984:9:::0;14019:15;14058:16:::1;:30::i;:::-;14047:8;:41:::0;;;14099:17:::1;:28:::0;-1:-1:-1;;13878:257:0:o;13510:98::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;13577:11:::1;:23:::0;;-1:-1:-1;;13577:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13510:98::o;9666:370::-;-1:-1:-1;;;;;9787:19:0;;9766:4;9787:19;;;:11;:19;;;;;;;;9807:10;9787:31;;;;;;;;-1:-1:-1;;9787:52:0;9783:188;;9890:69;;;;;;;;;;;-1:-1:-1;;;9890:69:0;;;;;;;;-1:-1:-1;;;;;9890:19:0;;-1:-1:-1;9890:19:0;;;:11;:19;;;;;9910:10;9890:31;;;;;;;;;;:69;;9926:6;;9890:35;:69::i;:::-;-1:-1:-1;;;;;9856:19:0;;;;;;:11;:19;;;;;;;;9876:10;9856:31;;;;;;;:103;9783:188;9988:40;10002:6;10010:9;10021:6;9988:13;:40::i;:::-;9981:47;;9666:370;;;;;;:::o;8295:156::-;8430:11;;-1:-1:-1;;;;;8430:11:0;8348:7;8128:18;;;:9;:18;;;;;;8375:68;;8402:11;;-1:-1:-1;;;;;8402:11:0;8111:7;8128:18;;;:9;:18;;;;;;8375:40;;:12;;;:16;:40::i;:::-;:44;;:68::i;:::-;8368:75;;8295:156;:::o;8683:122::-;8738:4;8762:35;8770:7;-1:-1:-1;;8762:7:0;:35::i;14147:95::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;14211:13:::1;:23:::0;;;::::1;;;;-1:-1:-1::0;;14211:23:0;;::::1;::::0;;;::::1;::::0;;14147:95::o;13616:119::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13699:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;13699:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13616:119::o;4544:148::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;4651:1:::1;4635:6:::0;;4614:40:::1;::::0;-1:-1:-1;;;;;4635:6:0;;::::1;::::0;4614:40:::1;::::0;4651:1;;4614:40:::1;4682:1;4665:19:::0;;-1:-1:-1;;;;;;4665:19:0::1;::::0;;4544:148::o;14260:210::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;14362:9:::1;14357:106;14373:20:::0;;::::1;14357:106;;;14445:6;14415:13;:27;14429:9;;14439:1;14429:12;;;;;-1:-1:-1::0;;;14429:12:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14415:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;14415:27:0;:36;;-1:-1:-1;;14415:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;14395:3:::1;::::0;::::1;:::i;:::-;;;14357:106;;;;14260:210:::0;;;:::o;9164:156::-;9244:4;9268:44;9282:10;9294:9;9305:6;9268:13;:44::i;13401:101::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;13473:10:::1;:21:::0;13401:101::o;4700:244::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4789:22:0;::::1;4781:73;;;::::0;-1:-1:-1;;;4781:73:0;;6566:2:1;4781:73:0::1;::::0;::::1;6548:21:1::0;6605:2;6585:18;;;6578:30;6644:34;6624:18;;;6617:62;-1:-1:-1;;;6695:18:1;;;6688:36;6741:19;;4781:73:0::1;6538:228:1::0;4781:73:0::1;4891:6;::::0;;4870:38:::1;::::0;-1:-1:-1;;;;;4870:38:0;;::::1;::::0;4891:6;::::1;::::0;4870:38:::1;::::0;::::1;4919:6;:17:::0;;-1:-1:-1;;;;;;4919:17:0::1;-1:-1:-1::0;;;;;4919:17:0;;;::::1;::::0;;;::::1;::::0;;4700:244::o;13743:127::-;4457:6;;-1:-1:-1;;;;;4457:6:0;3766:10;4457:22;4449:67;;;;-1:-1:-1;;;4449:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13830:23:0;;;::::1;;::::0;;;:15:::1;:23;::::0;;;;:32;;-1:-1:-1;;13830:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13743:127::o;2542:179::-;2600:7;;2632:5;2636:1;2632;:5;:::i;:::-;2620:17;;2661:1;2656;:6;;2648:46;;;;-1:-1:-1;;;2648:46:0;;6973:2:1;2648:46:0;;;6955:21:1;7012:2;6992:18;;;6985:30;7051:29;7031:18;;;7024:57;7098:18;;2648:46:0;6945:177:1;2873:190:0;2959:7;2995:12;2987:6;;;;2979:29;;;;-1:-1:-1;;;2979:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3019:9:0;3031:5;3035:1;3031;:5;:::i;:::-;3019:17;2873:190;-1:-1:-1;;;;;2873:190:0:o;10044:1447::-;10157:16;;10136:4;;10157:16;;10153:73;;;10183:41;10198:6;10206:9;10217:6;10183:14;:41::i;:::-;10176:48;;;;10153:73;-1:-1:-1;;;;;10240:22:0;;;;;;:14;:22;;;;;;;;10239:23;:53;;;;-1:-1:-1;;;;;;10267:25:0;;;;;;:14;:25;;;;;;;;10266:26;10239:53;10236:128;;;10316:11;;;;10308:44;;;;-1:-1:-1;;;10308:44:0;;7680:2:1;10308:44:0;;;7662:21:1;7719:2;7699:18;;;7692:30;-1:-1:-1;;;7738:18:1;;;7731:50;7798:18;;10308:44:0;7652:170:1;10308:44:0;10394:12;;10384:6;:22;;:49;;;-1:-1:-1;;;;;;10410:23:0;;;;;;:15;:23;;;;;;;;10384:49;10376:79;;;;-1:-1:-1;;;10376:79:0;;6220:2:1;10376:79:0;;;6202:21:1;6259:2;6239:18;;;6232:30;-1:-1:-1;;;6278:18:1;;;6271:47;6335:18;;10376:79:0;6192:167:1;10376:79:0;10484:4;;-1:-1:-1;;;;;10484:4:0;10470:10;:18;;;;:39;;-1:-1:-1;10493:16:0;;;;10492:17;10470:39;:64;;;;-1:-1:-1;10513:21:0;;;;;;;10470:64;:109;;;;-1:-1:-1;10566:13:0;;10556:4;10538:24;;;;:9;:24;;;;;;:41;;10470:109;10466:141;;;10582:23;:21;:23::i;:::-;8880:10;;:15;;;10621:32;;-1:-1:-1;10649:4:0;;-1:-1:-1;;;;;10636:17:0;;;10649:4;;10636:17;10621:32;10617:144;;;-1:-1:-1;;;;;10678:17:0;;10698:1;10678:17;;;:9;:17;;;;;;10670:56;;;;-1:-1:-1;;;10670:56:0;;7329:2:1;10670:56:0;;;7311:21:1;7368:2;7348:18;;;7341:30;-1:-1:-1;;;7387:18:1;;;7380:52;7449:18;;10670:56:0;7301:172:1;10670:56:0;10741:8;8962:12;8949:10;:25;8911:71;10741:8;10803:13;;;;;;;10799:120;;;-1:-1:-1;;;;;10842:21:0;;;;;;:13;:21;;;;;;;;10841:22;:51;;;;-1:-1:-1;;;;;;10868:24:0;;;;;;:13;:24;;;;;;;;10867:25;10841:51;10833:74;;;;-1:-1:-1;;;10833:74:0;;9141:2:1;10833:74:0;;;9123:21:1;9180:2;9160:18;;;9153:30;-1:-1:-1;;;9199:18:1;;;9192:41;9250:18;;10833:74:0;9113:161:1;10833:74:0;10979:53;;;;;;;;;;;-1:-1:-1;;;10979:53:0;;;;;;;;-1:-1:-1;;;;;10979:17:0;;-1:-1:-1;10979:17:0;;;:9;:17;;;;;;;;:53;;11001:6;;10979:21;:53::i;:::-;-1:-1:-1;;;;;10959:17:0;;;;;;;:9;:17;;;;;;;;:73;;;;11050:26;;;;;:15;:26;;;;;;;11049:27;:45;;;;-1:-1:-1;11080:14:0;;-1:-1:-1;;;11080:14:0;;;;11049:45;11045:157;;;11155:10;;-1:-1:-1;;;;;11119:20:0;;;;;;:9;:20;;;;;;:32;;11144:6;11119:24;:32::i;:::-;:46;;11111:79;;;;-1:-1:-1;;;11111:79:0;;8792:2:1;11111:79:0;;;8774:21:1;8831:2;8811:18;;;8804:30;-1:-1:-1;;;8850:18:1;;;8843:50;8910:18;;11111:79:0;8764:170:1;11111:79:0;-1:-1:-1;;;;;11237:19:0;;11214;11237;;;:11;:19;;;;;;;;11236:20;:47;;;;-1:-1:-1;;;;;;11261:22:0;;;;;;:11;:22;;;;;;;;11260:23;11236:47;:96;;11326:6;11236:96;;;11286:37;11297:6;11305:9;11316:6;11286:10;:37::i;:::-;-1:-1:-1;;;;;11366:20:0;;;;;;:9;:20;;;;;;11214:118;;-1:-1:-1;11366:37:0;;11214:118;11366:24;:37::i;:::-;-1:-1:-1;;;;;11343:20:0;;;;;;;:9;:20;;;;;;;:60;;;;11421:40;;;;;;;;;;11449:11;9425:25:1;;9413:2;9398:18;;9380:76;11421:40:0;;;;;;;;-1:-1:-1;11479:4:0;;10044:1447;-1:-1:-1;;;;10044:1447:0:o;2729:136::-;2787:7;2814:43;2818:1;2821;2814:43;;;;;;;;;;;;;;;;;:3;:43::i;9328:330::-;9458:53;;;;;;;;;;;-1:-1:-1;;;9458:53:0;;;;;;;;-1:-1:-1;;;;;9458:17:0;;9421:4;9458:17;;;:9;:17;;;;;;;:53;;9480:6;;9458:21;:53::i;:::-;-1:-1:-1;;;;;9438:17:0;;;;;;;:9;:17;;;;;;:73;;;;9545:20;;;;;;;:32;;9570:6;9545:24;:32::i;:::-;-1:-1:-1;;;;;9522:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9593:35;;;;;;;;;;9621:6;9425:25:1;;9413:2;9398:18;;9380:76;9593:35:0;;;;;;;;-1:-1:-1;9646:4:0;9328:330;;;;;:::o;11939:1419::-;6549:16;:23;;-1:-1:-1;;6549:23:0;6568:4;6549:23;;;12048:4:::1;6549:16:::0;12030:24;;;:9:::1;:24;::::0;;;;;12129:8:::1;::::0;12111:12:::1;::::0;12030:24;;6549:16;12091:54:::1;::::0;12143:1:::1;::::0;12091:47:::1;::::0;12129:8;12091:47;;12030:24;;12091:19:::1;:33::i;:::-;:37:::0;::::1;:47::i;:54::-;12065:80:::0;-1:-1:-1;12156:20:0::1;12179:36;:15:::0;12065:80;12179:19:::1;:36::i;:::-;12252:16;::::0;;12266:1:::1;12252:16:::0;;;;;::::1;::::0;;12156:59;;-1:-1:-1;12228:21:0::1;::::0;12252:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12252:16:0::1;12228:40;;12297:4;12279;12284:1;12279:7;;;;;;-1:-1:-1::0;;;12279:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12279:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12323:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;12323:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;12279:7;;12323:13;;;;;:6;:13;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12313:4;12318:1;12313:7;;;;;;-1:-1:-1::0;;;12313:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;12313:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;12349:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;12349:188:0;;:6;::::1;::::0;:57:::1;::::0;:188:::1;::::0;12421:12;;12349:6:::1;::::0;12464:4;;12491::::1;::::0;12511:15:::1;::::0;12349:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;12639:12:0::1;::::0;12570:21:::1;::::0;-1:-1:-1;12550:17:0::1;::::0;-1:-1:-1;12626:33:0::1;::::0;12639:19:::1;::::0;12656:1:::1;12639:16;:19::i;:::-;12626:8;::::0;;:12:::1;:33::i;:::-;12604:55;;12672:26;12701:51;12750:1;12701:44;12733:11;12701:27;12715:12;;12701:9;:13;;:27;;;;:::i;:51::-;12672:80;;12763:26;12792:44;12824:11;12792:27;12806:12;;12792:9;:13;;:27;;;;:::i;:44::-;12878:15;::::0;12870:74:::1;::::0;12763:73;;-1:-1:-1;12850:15:0::1;::::0;-1:-1:-1;;;;;12878:15:0;;::::1;::::0;12934:5:::1;::::0;12763:73;;12850:15;12870:74;12850:15;12870:74;12763:73;12878:15;12934:5;12870:74:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12968:5:0::1;::::0;-1:-1:-1;;12990:19:0;;;-1:-1:-1;12986:365:0::1;;13026:6;::::0;13201:21:::1;::::0;13026:245:::1;::::0;-1:-1:-1;;;13026:245:0;;13103:4:::1;13026:245;::::0;::::1;4718:34:1::0;4768:18;;;4761:34;;;13026:6:0::1;4811:18:1::0;;;4804:34;;;4854:18;;;4847:34;-1:-1:-1;;;;;13201:21:0;;::::1;4897:19:1::0;;;4890:44;13241:15:0::1;4950:19:1::0;;;4943:35;13026:6:0;::::1;::::0;:22:::1;::::0;13057:18;;4652:19:1;;13026:245:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;13291:48:0::1;::::0;;10623:25:1;;;10679:2;10664:18;;10657:34;;;13291:48:0::1;::::0;-1:-1:-1;10596:18:1;13291:48:0::1;;;;;;;12986:365;-1:-1:-1::0;;6595:16:0;:24;;-1:-1:-1;;6595:24:0;;;-1:-1:-1;;;;;;;11939:1419:0:o;11499:432::-;11632:4;;11588:7;;;;-1:-1:-1;;;;;11632:17:0;;;:4;;:17;:48;;11672:8;;11632:48;;;11652:17;;11632:48;11608:72;-1:-1:-1;11691:17:0;11711:34;11741:3;11711:25;:6;11608:72;11711:10;:25::i;:34::-;11803:4;11785:24;;;;:9;:24;;;;;;11691:54;;-1:-1:-1;11785:39:0;;11691:54;11785:28;:39::i;:::-;11776:4;11758:24;;;;:9;:24;;;;;;;:66;;;;11840:42;;-1:-1:-1;;;;;11840:42:0;;;;;;;11872:9;9425:25:1;;9413:2;9398:18;;9380:76;11840:42:0;;;;;;;;11902:21;:6;11913:9;11902:10;:21::i;:::-;11895:28;11499:432;-1:-1:-1;;;;;;11499:432:0:o;3071:222::-;3129:7;3153:6;3149:23;;-1:-1:-1;3169:1:0;3162:8;;3149:23;3182:9;3194:5;3198:1;3194;:5;:::i;:::-;3182:17;-1:-1:-1;3227:1:0;3218:5;3222:1;3182:17;3218:5;:::i;:::-;:10;3210:56;;;;-1:-1:-1;;;3210:56:0;;8029:2:1;3210:56:0;;;8011:21:1;8068:2;8048:18;;;8041:30;8107:34;8087:18;;;8080:62;-1:-1:-1;;;8158:18:1;;;8151:31;8199:19;;3210:56:0;8001:223:1;3301:132:0;3359:7;3386:39;3390:1;3393;3386:39;;;;;;;;;;;;;;;;;3527:7;3562:12;3555:5;3547:28;;;;-1:-1:-1;;;3547:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3586:9:0;3598:5;3602:1;3598;:5;:::i;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;108:2;60:114;;;:::o;179:257::-;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;707:398::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:2;;;857:6;849;842:22;804:2;901:9;888:23;920:31;945:5;920:31;:::i;:::-;970:5;-1:-1:-1;1027:2:1;1012:18;;999:32;1040:33;999:32;1040:33;:::i;:::-;1092:7;1082:17;;;794:311;;;;;:::o;1110:466::-;1187:6;1195;1203;1256:2;1244:9;1235:7;1231:23;1227:32;1224:2;;;1277:6;1269;1262:22;1224:2;1321:9;1308:23;1340:31;1365:5;1340:31;:::i;:::-;1390:5;-1:-1:-1;1447:2:1;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:1;1551:18;;;;1538:32;;1214:362::o;1581:325::-;1646:6;1654;1707:2;1695:9;1686:7;1682:23;1678:32;1675:2;;;1728:6;1720;1713:22;1675:2;1772:9;1759:23;1791:31;1816:5;1791:31;:::i;:::-;1841:5;-1:-1:-1;1865:35:1;1896:2;1881:18;;1865:35;:::i;:::-;1855:45;;1665:241;;;;;:::o;1911:325::-;1979:6;1987;2040:2;2028:9;2019:7;2015:23;2011:32;2008:2;;;2061:6;2053;2046:22;2008:2;2105:9;2092:23;2124:31;2149:5;2124:31;:::i;:::-;2174:5;2226:2;2211:18;;;;2198:32;;-1:-1:-1;;;1998:238:1:o;2241:739::-;2333:6;2341;2349;2402:2;2390:9;2381:7;2377:23;2373:32;2370:2;;;2423:6;2415;2408:22;2370:2;2468:9;2455:23;2497:18;2538:2;2530:6;2527:14;2524:2;;;2559:6;2551;2544:22;2524:2;2602:6;2591:9;2587:22;2577:32;;2647:7;2640:4;2636:2;2632:13;2628:27;2618:2;;2674:6;2666;2659:22;2618:2;2719;2706:16;2745:2;2737:6;2734:14;2731:2;;;2766:6;2758;2751:22;2731:2;2826:7;2819:4;2809:6;2806:1;2802:14;2798:2;2794:23;2790:34;2787:47;2784:2;;;2852:6;2844;2837:22;2784:2;2888:4;2880:13;;;;-1:-1:-1;2912:6:1;-1:-1:-1;2937:37:1;;2953:20;;;-1:-1:-1;2937:37:1;:::i;:::-;2927:47;;2360:620;;;;;:::o;2985:190::-;3041:6;3094:2;3082:9;3073:7;3069:23;3065:32;3062:2;;;3115:6;3107;3100:22;3062:2;3143:26;3159:9;3143:26;:::i;3180:190::-;3239:6;3292:2;3280:9;3271:7;3267:23;3263:32;3260:2;;;3313:6;3305;3298:22;3260:2;-1:-1:-1;3341:23:1;;3250:120;-1:-1:-1;3250:120:1:o;3375:258::-;3443:6;3451;3504:2;3492:9;3483:7;3479:23;3475:32;3472:2;;;3525:6;3517;3510:22;3472:2;-1:-1:-1;;3553:23:1;;;3623:2;3608:18;;;3595:32;;-1:-1:-1;3462:171:1:o;3638:316::-;3726:6;3734;3742;3795:2;3783:9;3774:7;3770:23;3766:32;3763:2;;;3816:6;3808;3801:22;3763:2;3850:9;3844:16;3834:26;;3900:2;3889:9;3885:18;3879:25;3869:35;;3944:2;3933:9;3929:18;3923:25;3913:35;;3753:201;;;;;:::o;5410:603::-;5522:4;5551:2;5580;5569:9;5562:21;5612:6;5606:13;5655:6;5650:2;5639:9;5635:18;5628:34;5680:4;5693:140;5707:6;5704:1;5701:13;5693:140;;;5802:14;;;5798:23;;5792:30;5768:17;;;5787:2;5764:26;5757:66;5722:10;;5693:140;;;5851:6;5848:1;5845:13;5842:2;;;5921:4;5916:2;5907:6;5896:9;5892:22;5888:31;5881:45;5842:2;-1:-1:-1;5997:2:1;5976:15;-1:-1:-1;;5972:29:1;5957:45;;;;6004:2;5953:54;;5531:482;-1:-1:-1;;;5531:482:1:o;8229:356::-;8431:2;8413:21;;;8450:18;;;8443:30;8509:34;8504:2;8489:18;;8482:62;8576:2;8561:18;;8403:182::o;9461:983::-;9723:4;9771:3;9760:9;9756:19;9802:6;9791:9;9784:25;9828:2;9866:6;9861:2;9850:9;9846:18;9839:34;9909:3;9904:2;9893:9;9889:18;9882:31;9933:6;9968;9962:13;9999:6;9991;9984:22;10037:3;10026:9;10022:19;10015:26;;10076:2;10068:6;10064:15;10050:29;;10097:4;10110:195;10124:6;10121:1;10118:13;10110:195;;;10189:13;;-1:-1:-1;;;;;10185:39:1;10173:52;;10280:15;;;;10245:12;;;;10221:1;10139:9;10110:195;;;-1:-1:-1;;;;;;;10361:32:1;;;;10356:2;10341:18;;10334:60;-1:-1:-1;;;10425:3:1;10410:19;10403:35;10322:3;9732:712;-1:-1:-1;;;9732:712:1:o;10891:128::-;10931:3;10962:1;10958:6;10955:1;10952:13;10949:2;;;10968:18;;:::i;:::-;-1:-1:-1;11004:9:1;;10939:80::o;11024:217::-;11064:1;11090;11080:2;;-1:-1:-1;;;11115:31:1;;11169:4;11166:1;11159:15;11197:4;11122:1;11187:15;11080:2;-1:-1:-1;11226:9:1;;11070:171::o;11246:168::-;11286:7;11352:1;11348;11344:6;11340:14;11337:1;11334:21;11329:1;11322:9;11315:17;11311:45;11308:2;;;11359:18;;:::i;:::-;-1:-1:-1;11399:9:1;;11298:116::o;11419:125::-;11459:4;11487:1;11484;11481:8;11478:2;;;11492:18;;:::i;:::-;-1:-1:-1;11529:9:1;;11468:76::o;11549:135::-;11588:3;-1:-1:-1;;11609:17:1;;11606:2;;;11629:18;;:::i;:::-;-1:-1:-1;11676:1:1;11665:13;;11596:88::o;11689:127::-;11750:10;11745:3;11741:20;11738:1;11731:31;11781:4;11778:1;11771:15;11805:4;11802:1;11795:15;11821:131;-1:-1:-1;;;;;11896:31:1;;11886:42;;11876:2;;11942:1;11939;11932:12;11876:2;11866:86;:::o

Swarm Source

ipfs://896af7bcc040bd3734f953d481ff0f764cbdca117c7610dd8bf5b08face8bca3

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.