ETH Price: $3,306.47 (+3.49%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Manualsend168987902023-03-24 17:17:35671 days ago1679678255IN
0x8F486F5e...08dFB04f3
0 ETH0.0010056933.11912926
Approve166950802023-02-24 1:54:47700 days ago1677203687IN
0x8F486F5e...08dFB04f3
0 ETH0.0013338328.63469778
Approve166877702023-02-23 1:15:35701 days ago1677114935IN
0x8F486F5e...08dFB04f3
0 ETH0.0012611927.11013556
Transfer166875862023-02-23 0:38:35701 days ago1677112715IN
0x8F486F5e...08dFB04f3
0 ETH0.0022319729.78672659
Approve166842542023-02-22 13:23:23701 days ago1677072203IN
0x8F486F5e...08dFB04f3
0 ETH0.0013910829.86369534
Approve166842152023-02-22 13:15:23701 days ago1677071723IN
0x8F486F5e...08dFB04f3
0 ETH0.0013482828.98221812
Approve166841972023-02-22 13:11:47701 days ago1677071507IN
0x8F486F5e...08dFB04f3
0 ETH0.0013887529.85230873
Approve166841902023-02-22 13:10:11701 days ago1677071411IN
0x8F486F5e...08dFB04f3
0 ETH0.0016303335
Approve166841532023-02-22 13:02:47701 days ago1677070967IN
0x8F486F5e...08dFB04f3
0 ETH0.0017475637.51672149
Approve166841522023-02-22 13:02:35701 days ago1677070955IN
0x8F486F5e...08dFB04f3
0 ETH0.0018252639.18475562
Approve166841412023-02-22 13:00:11701 days ago1677070811IN
0x8F486F5e...08dFB04f3
0 ETH0.0012691527.28125336
Approve166840992023-02-22 12:51:23701 days ago1677070283IN
0x8F486F5e...08dFB04f3
0 ETH0.0013040328.03117919
Approve166840912023-02-22 12:49:47701 days ago1677070187IN
0x8F486F5e...08dFB04f3
0 ETH0.0012852327.62694056
Transfer166840902023-02-22 12:49:35701 days ago1677070175IN
0x8F486F5e...08dFB04f3
0 ETH0.0017709327.40959735
Approve166840672023-02-22 12:44:59701 days ago1677069899IN
0x8F486F5e...08dFB04f3
0 ETH0.0010583822.75066775
Approve166840522023-02-22 12:41:59701 days ago1677069719IN
0x8F486F5e...08dFB04f3
0 ETH0.0010720723.01519834
Approve166840422023-02-22 12:39:59701 days ago1677069599IN
0x8F486F5e...08dFB04f3
0 ETH0.0011243824.16934284
Approve166840392023-02-22 12:39:23701 days ago1677069563IN
0x8F486F5e...08dFB04f3
0 ETH0.0017252737.03815395
Approve166840362023-02-22 12:38:47701 days ago1677069527IN
0x8F486F5e...08dFB04f3
0 ETH0.0016769136
Approve166840362023-02-22 12:38:47701 days ago1677069527IN
0x8F486F5e...08dFB04f3
0 ETH0.0016769136
Approve166840232023-02-22 12:36:11701 days ago1677069371IN
0x8F486F5e...08dFB04f3
0 ETH0.0011404324.48279883
Renounce Ownersh...166840112023-02-22 12:33:47701 days ago1677069227IN
0x8F486F5e...08dFB04f3
0 ETH0.0005214822.42755307
Set Fee166840092023-02-22 12:33:23701 days ago1677069203IN
0x8F486F5e...08dFB04f3
0 ETH0.0009765425.19270041
Set Max Txn And ...166840022023-02-22 12:31:59701 days ago1677069119IN
0x8F486F5e...08dFB04f3
0 ETH0.0009528927.66679702
Approve166839972023-02-22 12:30:59701 days ago1677069059IN
0x8F486F5e...08dFB04f3
0 ETH0.0013650529.30497169
View all transactions

Latest 11 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
168987902023-03-24 17:17:35671 days ago1679678255
0x8F486F5e...08dFB04f3
0.01253394 ETH
166843232023-02-22 13:37:35701 days ago1677073055
0x8F486F5e...08dFB04f3
0.00549299 ETH
166841872023-02-22 13:09:35701 days ago1677071375
0x8F486F5e...08dFB04f3
0.00704095 ETH
166841422023-02-22 13:00:35701 days ago1677070835
0x8F486F5e...08dFB04f3
0.14307652 ETH
166841422023-02-22 13:00:35701 days ago1677070835
0x8F486F5e...08dFB04f3
0.13038002 ETH
166840492023-02-22 12:41:23701 days ago1677069683
0x8F486F5e...08dFB04f3
0.01269649 ETH
166840302023-02-22 12:37:35701 days ago1677069455
0x8F486F5e...08dFB04f3
0.05464382 ETH
166840302023-02-22 12:37:35701 days ago1677069455
0x8F486F5e...08dFB04f3
0.00979578 ETH
166840122023-02-22 12:33:59701 days ago1677069239
0x8F486F5e...08dFB04f3
0.04484803 ETH
166839802023-02-22 12:27:35701 days ago1677068855
0x8F486F5e...08dFB04f3
0.24515076 ETH
166839802023-02-22 12:27:35701 days ago1677068855
0x8F486F5e...08dFB04f3
0.24515076 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Okami

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-21
*/

/**

 ▄▄▄▄▄▄▄▄▄▄▄  ▄    ▄  ▄▄▄▄▄▄▄▄▄▄▄  ▄▄       ▄▄  ▄▄▄▄▄▄▄▄▄▄▄ 
▐░░░░░░░░░░░▌▐░▌  ▐░▌▐░░░░░░░░░░░▌▐░░▌     ▐░░▌▐░░░░░░░░░░░▌
▐░█▀▀▀▀▀▀▀█░▌▐░▌ ▐░▌ ▐░█▀▀▀▀▀▀▀█░▌▐░▌░▌   ▐░▐░▌ ▀▀▀▀█░█▀▀▀▀ 
▐░▌       ▐░▌▐░▌▐░▌  ▐░▌       ▐░▌▐░▌▐░▌ ▐░▌▐░▌     ▐░▌     
▐░▌       ▐░▌▐░▌░▌   ▐░█▄▄▄▄▄▄▄█░▌▐░▌ ▐░▐░▌ ▐░▌     ▐░▌     
▐░▌       ▐░▌▐░░▌    ▐░░░░░░░░░░░▌▐░▌  ▐░▌  ▐░▌     ▐░▌     
▐░▌       ▐░▌▐░▌░▌   ▐░█▀▀▀▀▀▀▀█░▌▐░▌   ▀   ▐░▌     ▐░▌     
▐░▌       ▐░▌▐░▌▐░▌  ▐░▌       ▐░▌▐░▌       ▐░▌     ▐░▌     
▐░█▄▄▄▄▄▄▄█░▌▐░▌ ▐░▌ ▐░▌       ▐░▌▐░▌       ▐░▌ ▄▄▄▄█░█▄▄▄▄ 
▐░░░░░░░░░░░▌▐░▌  ▐░▌▐░▌       ▐░▌▐░▌       ▐░▌▐░░░░░░░░░░░▌
 ▀▀▀▀▀▀▀▀▀▀▀  ▀    ▀  ▀         ▀  ▀         ▀  ▀▀▀▀▀▀▀▀▀▀▀ 
                                                            
Website: https://okami-erc.world/

Socials:
Telegram: t.me/OkamiERCOfficial
Twitter: twitter.com/Okami_ERC

*/
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.9;

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

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

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

}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

contract Okami is Context, IERC20, Ownable {

    using SafeMath for uint256;

    string private constant _name = "Okami";
    string private constant _symbol = "OKAMI";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _redisFeeOnBuy = 0;
    uint256 private _taxFeeOnBuy = 15;
    uint256 private _redisFeeOnSell = 0;
    uint256 private _taxFeeOnSell = 40;

    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;

    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;

    address payable private _developmentAddress = payable(msg.sender);
    address payable private _marketingAddress = payable(msg.sender);
    address private uniswapRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = true;
    bool private inSwap = false;
    bool private swapEnabled = true;

     uint256 public _maxTxAmount = _tTotal*3/100;
    uint256 public _maxWalletSize = _tTotal*20/1000;
    uint256 public _swapTokensAtAmount = _tTotal*4/1000;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {

        _rOwned[_msgSender()] = _rTotal;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);//
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[_developmentAddress] = 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 (_redisFee == 0 && _taxFee == 0) return;

        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;

        _redisFee = 0;
        _taxFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }

    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()) {

            //Trade start check
            if (!tradingOpen) {
                require(from == owner(), "TOKEN: This account cannot send tokens until trading is enabled");
            }

            if(to != uniswapV2Pair && to != uniswapRouter && to != _developmentAddress && to != address(this)) {
                require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                if(to != uniswapV2Pair) {
                    require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                }
              }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if(contractTokenBalance >= _swapTokensAtAmount*2)
            {
                contractTokenBalance = contractTokenBalance;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 50000000000000000) {
                    sendETHToFee(contractETHBalance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {

            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }

        }

        _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 {
        _marketingAddress.transfer(amount);
    }

    function manualsend() external {
        sendETHToFee(address(this).balance);
    }

    function manualSwap(uint256 percent) external {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 swapamount = contractTokenBalance*percent/100;
        swapTokensForEth(swapamount);
    }

    function toggleSwap (bool _swapEnabled) external {
        swapEnabled = _swapEnabled;
    }

    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 _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 _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        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 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    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 _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 setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
        require (_redisFeeOnBuy+_redisFeeOnSell+_taxFeeOnBuy+_taxFeeOnSell <= 98);
    }

    //Set maximum transaction
    function setMaxTxnAndWalletSize(uint256 maxTxAmount, uint256 maxWalletSize) public onlyOwner {
        _maxTxAmount = _tTotal*maxTxAmount/100;
        _maxWalletSize = _tTotal*maxWalletSize/100;
        require (_maxTxAmount >= _tTotal/100 && _maxWalletSize >= _tTotal/100,"Must be more than 1%");
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","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":[{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"},{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxTxnAndWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a670de0b6b3a7640000600019620003e1565b62000028906000196200040e565b60065560006008819055600f6009819055600a8290556028600b819055600c839055600d819055600e929092555560108054336001600160a01b0319918216811790925560118054821690921790915560128054737a250d5630b4cf539739df2c5dacb4c659f2488d92169190911790556014805462ffffff60a01b19166201000160a01b1790556064620000c7670de0b6b3a764000060036200042a565b620000d3919062000444565b6015556103e8620000ee670de0b6b3a764000060146200042a565b620000fa919062000444565b6016556103e862000115670de0b6b3a764000060046200042a565b62000121919062000444565b6017553480156200013157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506006543360009081526002602090815260409182902092909255601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620001ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021591906200045b565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028991906200045b565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002fd91906200045b565b601480546001600160a01b0319166001600160a01b03928316179055600080548216815260056020526040808220805460ff1990811660019081179092553084528284208054821683179055601154851684528284208054821683179055601054909416835291208054909216179055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620003bc91815260200190565b60405180910390a3506200048d565b634e487b7160e01b600052601260045260246000fd5b600082620003f357620003f3620003cb565b500690565b634e487b7160e01b600052601160045260246000fd5b81810381811115620004245762000424620003f8565b92915050565b8082028115828204841417620004245762000424620003f8565b600082620004565762000456620003cb565b500490565b6000602082840312156200046e57600080fd5b81516001600160a01b03811681146200048657600080fd5b9392505050565b6118d5806200049d6000396000f3fe6080604052600436106101395760003560e01c8063715018a6116100ab5780639ba93c401161006f5780639ba93c4014610381578063a2a957bb146103a1578063a9059cbb146103c1578063b70143c9146103e1578063dd62ed3e14610401578063f2fde38b1461044757600080fd5b8063715018a6146102f45780637d1db4a5146103095780638da5cb5b1461031f5780638f9a55c01461033d57806395d89b411461035357600080fd5b80632fd689e3116100fd5780632fd689e314610232578063313ce5671461024857806349bd5a5e146102645780636d8aa8f8146102845780636fc3eaec146102bf57806370a08231146102d457600080fd5b806306fdde0314610145578063095ea7b3146101855780631694505e146101b557806318160ddd146101ed57806323b872dd1461021257600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260058152644f6b616d6960d81b60208201525b60405161017c9190611571565b60405180910390f35b34801561019157600080fd5b506101a56101a03660046115d7565b610467565b604051901515815260200161017c565b3480156101c157600080fd5b506013546101d5906001600160a01b031681565b6040516001600160a01b03909116815260200161017c565b3480156101f957600080fd5b50670de0b6b3a76400005b60405190815260200161017c565b34801561021e57600080fd5b506101a561022d366004611603565b61047e565b34801561023e57600080fd5b5061020460175481565b34801561025457600080fd5b506040516009815260200161017c565b34801561027057600080fd5b506014546101d5906001600160a01b031681565b34801561029057600080fd5b506102bd61029f366004611644565b60148054911515600160b01b0260ff60b01b19909216919091179055565b005b3480156102cb57600080fd5b506102bd6104e7565b3480156102e057600080fd5b506102046102ef366004611666565b6104f2565b34801561030057600080fd5b506102bd610514565b34801561031557600080fd5b5061020460155481565b34801561032b57600080fd5b506000546001600160a01b03166101d5565b34801561034957600080fd5b5061020460165481565b34801561035f57600080fd5b506040805180820190915260058152644f4b414d4960d81b602082015261016f565b34801561038d57600080fd5b506102bd61039c366004611683565b610591565b3480156103ad57600080fd5b506102bd6103bc3660046116a5565b61067c565b3480156103cd57600080fd5b506101a56103dc3660046115d7565b6106ed565b3480156103ed57600080fd5b506102bd6103fc3660046116d7565b6106fa565b34801561040d57600080fd5b5061020461041c3660046116f0565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561045357600080fd5b506102bd610462366004611666565b61072f565b6000610474338484610819565b5060015b92915050565b600061048b84848461093d565b6104dd84336104d885604051806060016040528060288152602001611878602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e46565b610819565b5060019392505050565b6104f047610e80565b565b6001600160a01b03811660009081526002602052604081205461047890610eba565b6000546001600160a01b031633146105475760405162461bcd60e51b815260040161053e90611729565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105bb5760405162461bcd60e51b815260040161053e90611729565b60646105cf83670de0b6b3a7640000611774565b6105d9919061178b565b60155560646105f082670de0b6b3a7640000611774565b6105fa919061178b565b6016556106106064670de0b6b3a764000061178b565b60155410158015610635575061062f6064670de0b6b3a764000061178b565b60165410155b6106785760405162461bcd60e51b81526020600482015260146024820152734d757374206265206d6f7265207468616e20312560601b604482015260640161053e565b5050565b6000546001600160a01b031633146106a65760405162461bcd60e51b815260040161053e90611729565b6008849055600a8390556009829055600b819055606281836106c886886117ad565b6106d291906117ad565b6106dc91906117ad565b11156106e757600080fd5b50505050565b600061047433848461093d565b6000610705306104f2565b9050600060646107158484611774565b61071f919061178b565b905061072a81610f3e565b505050565b6000546001600160a01b031633146107595760405162461bcd60e51b815260040161053e90611729565b6001600160a01b0381166107be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161053e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661087b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161053e565b6001600160a01b0382166108dc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161053e565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109a15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161053e565b6001600160a01b038216610a035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161053e565b60008111610a655760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161053e565b6000546001600160a01b03848116911614801590610a9157506000546001600160a01b03838116911614155b15610d3f57601454600160a01b900460ff16610b2a576000546001600160a01b03848116911614610b2a5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161053e565b6014546001600160a01b03838116911614801590610b5657506012546001600160a01b03838116911614155b8015610b7057506010546001600160a01b03838116911614155b8015610b8557506001600160a01b0382163014155b15610c6157601554811115610bdc5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161053e565b6014546001600160a01b03838116911614610c615760165481610bfe846104f2565b610c0891906117ad565b10610c615760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161053e565b6000610c6c306104f2565b6017549091508082101590610c82906002611774565b50808015610c9a5750601454600160a81b900460ff16155b8015610cb457506014546001600160a01b03868116911614155b8015610cc95750601454600160b01b900460ff165b8015610cee57506001600160a01b03851660009081526005602052604090205460ff16155b8015610d1357506001600160a01b03841660009081526005602052604090205460ff16155b15610d3c57610d2182610f3e565b4766b1a2bc2ec50000811115610d3a57610d3a81610e80565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610d8157506001600160a01b03831660009081526005602052604090205460ff165b80610db357506014546001600160a01b03858116911614801590610db357506014546001600160a01b03848116911614155b15610dc057506000610e3a565b6014546001600160a01b038581169116148015610deb57506013546001600160a01b03848116911614155b15610dfd57600854600c55600954600d555b6014546001600160a01b038481169116148015610e2857506013546001600160a01b03858116911614155b15610e3a57600a54600c55600b54600d555b6106e7848484846110b8565b60008184841115610e6a5760405162461bcd60e51b815260040161053e9190611571565b506000610e7784866117c0565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610678573d6000803e3d6000fd5b6000600654821115610f215760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161053e565b6000610f2b6110e6565b9050610f378382611109565b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f8657610f866117d3565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fdf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100391906117e9565b81600181518110611016576110166117d3565b6001600160a01b03928316602091820292909201015260135461103c9130911684610819565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611075908590600090869030904290600401611806565b600060405180830381600087803b15801561108f57600080fd5b505af11580156110a3573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b806110c5576110c561114b565b6110d0848484611179565b806106e7576106e7600e54600c55600f54600d55565b60008060006110f3611270565b90925090506111028282611109565b9250505090565b6000610f3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112b0565b600c5415801561115b5750600d54155b1561116257565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061118b876112de565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506111bd908761133b565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546111ec908661137d565b6001600160a01b03891660009081526002602052604090205561120e816113dc565b6112188483611426565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161125d91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061128b8282611109565b8210156112a757505060065492670de0b6b3a764000092509050565b90939092509050565b600081836112d15760405162461bcd60e51b815260040161053e9190611571565b506000610e77848661178b565b60008060008060008060008060006112fb8a600c54600d5461144a565b925092509250600061130b6110e6565b9050600080600061131e8e87878761149f565b919e509c509a509598509396509194505050505091939550919395565b6000610f3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e46565b60008061138a83856117ad565b905083811015610f375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161053e565b60006113e66110e6565b905060006113f483836114ef565b30600090815260026020526040902054909150611411908261137d565b30600090815260026020526040902055505050565b600654611433908361133b565b600655600754611443908261137d565b6007555050565b6000808080611464606461145e89896114ef565b90611109565b90506000611477606461145e8a896114ef565b9050600061148f826114898b8661133b565b9061133b565b9992985090965090945050505050565b60008080806114ae88866114ef565b905060006114bc88876114ef565b905060006114ca88886114ef565b905060006114dc82611489868661133b565b939b939a50919850919650505050505050565b60008260000361150157506000610478565b600061150d8385611774565b90508261151a858361178b565b14610f375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161053e565b600060208083528351808285015260005b8181101561159e57858101830151858201604001528201611582565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115d457600080fd5b50565b600080604083850312156115ea57600080fd5b82356115f5816115bf565b946020939093013593505050565b60008060006060848603121561161857600080fd5b8335611623816115bf565b92506020840135611633816115bf565b929592945050506040919091013590565b60006020828403121561165657600080fd5b81358015158114610f3757600080fd5b60006020828403121561167857600080fd5b8135610f37816115bf565b6000806040838503121561169657600080fd5b50508035926020909101359150565b600080600080608085870312156116bb57600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156116e957600080fd5b5035919050565b6000806040838503121561170357600080fd5b823561170e816115bf565b9150602083013561171e816115bf565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104785761047861175e565b6000826117a857634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104785761047861175e565b818103818111156104785761047861175e565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117fb57600080fd5b8151610f37816115bf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118565784516001600160a01b031683529383019391830191600101611831565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201719ed3df81c47bdbc56cfa9cc3d946b635b07ed759bb04611ae62917ba1675164736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101395760003560e01c8063715018a6116100ab5780639ba93c401161006f5780639ba93c4014610381578063a2a957bb146103a1578063a9059cbb146103c1578063b70143c9146103e1578063dd62ed3e14610401578063f2fde38b1461044757600080fd5b8063715018a6146102f45780637d1db4a5146103095780638da5cb5b1461031f5780638f9a55c01461033d57806395d89b411461035357600080fd5b80632fd689e3116100fd5780632fd689e314610232578063313ce5671461024857806349bd5a5e146102645780636d8aa8f8146102845780636fc3eaec146102bf57806370a08231146102d457600080fd5b806306fdde0314610145578063095ea7b3146101855780631694505e146101b557806318160ddd146101ed57806323b872dd1461021257600080fd5b3661014057005b600080fd5b34801561015157600080fd5b506040805180820190915260058152644f6b616d6960d81b60208201525b60405161017c9190611571565b60405180910390f35b34801561019157600080fd5b506101a56101a03660046115d7565b610467565b604051901515815260200161017c565b3480156101c157600080fd5b506013546101d5906001600160a01b031681565b6040516001600160a01b03909116815260200161017c565b3480156101f957600080fd5b50670de0b6b3a76400005b60405190815260200161017c565b34801561021e57600080fd5b506101a561022d366004611603565b61047e565b34801561023e57600080fd5b5061020460175481565b34801561025457600080fd5b506040516009815260200161017c565b34801561027057600080fd5b506014546101d5906001600160a01b031681565b34801561029057600080fd5b506102bd61029f366004611644565b60148054911515600160b01b0260ff60b01b19909216919091179055565b005b3480156102cb57600080fd5b506102bd6104e7565b3480156102e057600080fd5b506102046102ef366004611666565b6104f2565b34801561030057600080fd5b506102bd610514565b34801561031557600080fd5b5061020460155481565b34801561032b57600080fd5b506000546001600160a01b03166101d5565b34801561034957600080fd5b5061020460165481565b34801561035f57600080fd5b506040805180820190915260058152644f4b414d4960d81b602082015261016f565b34801561038d57600080fd5b506102bd61039c366004611683565b610591565b3480156103ad57600080fd5b506102bd6103bc3660046116a5565b61067c565b3480156103cd57600080fd5b506101a56103dc3660046115d7565b6106ed565b3480156103ed57600080fd5b506102bd6103fc3660046116d7565b6106fa565b34801561040d57600080fd5b5061020461041c3660046116f0565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561045357600080fd5b506102bd610462366004611666565b61072f565b6000610474338484610819565b5060015b92915050565b600061048b84848461093d565b6104dd84336104d885604051806060016040528060288152602001611878602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e46565b610819565b5060019392505050565b6104f047610e80565b565b6001600160a01b03811660009081526002602052604081205461047890610eba565b6000546001600160a01b031633146105475760405162461bcd60e51b815260040161053e90611729565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146105bb5760405162461bcd60e51b815260040161053e90611729565b60646105cf83670de0b6b3a7640000611774565b6105d9919061178b565b60155560646105f082670de0b6b3a7640000611774565b6105fa919061178b565b6016556106106064670de0b6b3a764000061178b565b60155410158015610635575061062f6064670de0b6b3a764000061178b565b60165410155b6106785760405162461bcd60e51b81526020600482015260146024820152734d757374206265206d6f7265207468616e20312560601b604482015260640161053e565b5050565b6000546001600160a01b031633146106a65760405162461bcd60e51b815260040161053e90611729565b6008849055600a8390556009829055600b819055606281836106c886886117ad565b6106d291906117ad565b6106dc91906117ad565b11156106e757600080fd5b50505050565b600061047433848461093d565b6000610705306104f2565b9050600060646107158484611774565b61071f919061178b565b905061072a81610f3e565b505050565b6000546001600160a01b031633146107595760405162461bcd60e51b815260040161053e90611729565b6001600160a01b0381166107be5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161053e565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03831661087b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161053e565b6001600160a01b0382166108dc5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161053e565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109a15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161053e565b6001600160a01b038216610a035760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161053e565b60008111610a655760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161053e565b6000546001600160a01b03848116911614801590610a9157506000546001600160a01b03838116911614155b15610d3f57601454600160a01b900460ff16610b2a576000546001600160a01b03848116911614610b2a5760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161053e565b6014546001600160a01b03838116911614801590610b5657506012546001600160a01b03838116911614155b8015610b7057506010546001600160a01b03838116911614155b8015610b8557506001600160a01b0382163014155b15610c6157601554811115610bdc5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161053e565b6014546001600160a01b03838116911614610c615760165481610bfe846104f2565b610c0891906117ad565b10610c615760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161053e565b6000610c6c306104f2565b6017549091508082101590610c82906002611774565b50808015610c9a5750601454600160a81b900460ff16155b8015610cb457506014546001600160a01b03868116911614155b8015610cc95750601454600160b01b900460ff165b8015610cee57506001600160a01b03851660009081526005602052604090205460ff16155b8015610d1357506001600160a01b03841660009081526005602052604090205460ff16155b15610d3c57610d2182610f3e565b4766b1a2bc2ec50000811115610d3a57610d3a81610e80565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff1680610d8157506001600160a01b03831660009081526005602052604090205460ff165b80610db357506014546001600160a01b03858116911614801590610db357506014546001600160a01b03848116911614155b15610dc057506000610e3a565b6014546001600160a01b038581169116148015610deb57506013546001600160a01b03848116911614155b15610dfd57600854600c55600954600d555b6014546001600160a01b038481169116148015610e2857506013546001600160a01b03858116911614155b15610e3a57600a54600c55600b54600d555b6106e7848484846110b8565b60008184841115610e6a5760405162461bcd60e51b815260040161053e9190611571565b506000610e7784866117c0565b95945050505050565b6011546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610678573d6000803e3d6000fd5b6000600654821115610f215760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161053e565b6000610f2b6110e6565b9050610f378382611109565b9392505050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610f8657610f866117d3565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610fdf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100391906117e9565b81600181518110611016576110166117d3565b6001600160a01b03928316602091820292909201015260135461103c9130911684610819565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac94790611075908590600090869030904290600401611806565b600060405180830381600087803b15801561108f57600080fd5b505af11580156110a3573d6000803e3d6000fd5b50506014805460ff60a81b1916905550505050565b806110c5576110c561114b565b6110d0848484611179565b806106e7576106e7600e54600c55600f54600d55565b60008060006110f3611270565b90925090506111028282611109565b9250505090565b6000610f3783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112b0565b600c5415801561115b5750600d54155b1561116257565b600c8054600e55600d8054600f5560009182905555565b60008060008060008061118b876112de565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506111bd908761133b565b6001600160a01b03808b1660009081526002602052604080822093909355908a16815220546111ec908661137d565b6001600160a01b03891660009081526002602052604090205561120e816113dc565b6112188483611426565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161125d91815260200190565b60405180910390a3505050505050505050565b6006546000908190670de0b6b3a764000061128b8282611109565b8210156112a757505060065492670de0b6b3a764000092509050565b90939092509050565b600081836112d15760405162461bcd60e51b815260040161053e9190611571565b506000610e77848661178b565b60008060008060008060008060006112fb8a600c54600d5461144a565b925092509250600061130b6110e6565b9050600080600061131e8e87878761149f565b919e509c509a509598509396509194505050505091939550919395565b6000610f3783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e46565b60008061138a83856117ad565b905083811015610f375760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161053e565b60006113e66110e6565b905060006113f483836114ef565b30600090815260026020526040902054909150611411908261137d565b30600090815260026020526040902055505050565b600654611433908361133b565b600655600754611443908261137d565b6007555050565b6000808080611464606461145e89896114ef565b90611109565b90506000611477606461145e8a896114ef565b9050600061148f826114898b8661133b565b9061133b565b9992985090965090945050505050565b60008080806114ae88866114ef565b905060006114bc88876114ef565b905060006114ca88886114ef565b905060006114dc82611489868661133b565b939b939a50919850919650505050505050565b60008260000361150157506000610478565b600061150d8385611774565b90508261151a858361178b565b14610f375760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161053e565b600060208083528351808285015260005b8181101561159e57858101830151858201604001528201611582565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115d457600080fd5b50565b600080604083850312156115ea57600080fd5b82356115f5816115bf565b946020939093013593505050565b60008060006060848603121561161857600080fd5b8335611623816115bf565b92506020840135611633816115bf565b929592945050506040919091013590565b60006020828403121561165657600080fd5b81358015158114610f3757600080fd5b60006020828403121561167857600080fd5b8135610f37816115bf565b6000806040838503121561169657600080fd5b50508035926020909101359150565b600080600080608085870312156116bb57600080fd5b5050823594602084013594506040840135936060013592509050565b6000602082840312156116e957600080fd5b5035919050565b6000806040838503121561170357600080fd5b823561170e816115bf565b9150602083013561171e816115bf565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176104785761047861175e565b6000826117a857634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156104785761047861175e565b818103818111156104785761047861175e565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117fb57600080fd5b8151610f37816115bf565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118565784516001600160a01b031683529383019391830191600101611831565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212201719ed3df81c47bdbc56cfa9cc3d946b635b07ed759bb04611ae62917ba1675164736f6c63430008120033

Deployed Bytecode Sourcemap

5789:12636:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8211:83;;;;;;;;;;-1:-1:-1;8281:5:0;;;;;;;;;;;;-1:-1:-1;;;8281:5:0;;;;8211:83;;;;;;;:::i;:::-;;;;;;;;9136:193;;;;;;;;;;-1:-1:-1;9136:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9136:193:0;1023:187:1;7056:41:0;;;;;;;;;;-1:-1:-1;7056:41:0;;;;-1:-1:-1;;;;;7056:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;7056:41:0;1215:229:1;8488:95:0;;;;;;;;;;-1:-1:-1;6331:18:0;8488:95;;;1595:25:1;;;1583:2;1568:18;8488:95:0;1449:177:1;9337:446:0;;;;;;;;;;-1:-1:-1;9337:446:0;;;;;:::i;:::-;;:::i;7358:51::-;;;;;;;;;;;;;;;;8397:83;;;;;;;;;;-1:-1:-1;8397:83:0;;6005:1;2234:36:1;;2222:2;2207:18;8397:83:0;2092:184:1;7104:28:0;;;;;;;;;;-1:-1:-1;7104:28:0;;;;-1:-1:-1;;;;;7104:28:0;;;14199:94;;;;;;;;;;-1:-1:-1;14199:94:0;;;;;:::i;:::-;14259:11;:26;;;;;-1:-1:-1;;;14259:26:0;-1:-1:-1;;;;14259:26:0;;;;;;;;;14199:94;;;13875:85;;;;;;;;;;;;;:::i;8591:138::-;;;;;;;;;;-1:-1:-1;8591:138:0;;;;;:::i;:::-;;:::i;3276:148::-;;;;;;;;;;;;;:::i;7254:43::-;;;;;;;;;;;;;;;;3062:79;;;;;;;;;;-1:-1:-1;3100:7:0;3127:6;-1:-1:-1;;;;;3127:6:0;3062:79;;7304:47;;;;;;;;;;;;;;;;8302:87;;;;;;;;;;-1:-1:-1;8374:7:0;;;;;;;;;;;;-1:-1:-1;;;8374:7:0;;;;8302:87;;18113:307;;;;;;;;;;-1:-1:-1;18113:307:0;;;;;:::i;:::-;;:::i;17699:375::-;;;;;;;;;;-1:-1:-1;17699:375:0;;;;;:::i;:::-;;:::i;8737:199::-;;;;;;;;;;-1:-1:-1;8737:199:0;;;;;:::i;:::-;;:::i;13968:223::-;;;;;;;;;;-1:-1:-1;13968:223:0;;;;;:::i;:::-;;:::i;8944:184::-;;;;;;;;;;-1:-1:-1;8944:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9093:18:0;;;9061:7;9093:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8944:184;3432:244;;;;;;;;;;-1:-1:-1;3432:244:0;;;;;:::i;:::-;;:::i;9136:193::-;9238:4;9260:39;1901:10;9283:7;9292:6;9260:8;:39::i;:::-;-1:-1:-1;9317:4:0;9136:193;;;;;:::o;9337:446::-;9469:4;9486:36;9496:6;9504:9;9515:6;9486:9;:36::i;:::-;9533:220;9556:6;1901:10;9604:138;9660:6;9604:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9604:19:0;;;;;;:11;:19;;;;;;;;1901:10;9604:33;;;;;;;;;;:37;:138::i;:::-;9533:8;:220::i;:::-;-1:-1:-1;9771:4:0;9337:446;;;;;:::o;13875:85::-;13917:35;13930:21;13917:12;:35::i;:::-;13875:85::o;8591:138::-;-1:-1:-1;;;;;8704:16:0;;8657:7;8704:16;;;:7;:16;;;;;;8684:37;;:19;:37::i;3276:148::-;3189:6;;-1:-1:-1;;;;;3189:6:0;1901:10;3189:22;3181:67;;;;-1:-1:-1;;;3181:67:0;;;;;;;:::i;:::-;;;;;;;;;3383:1:::1;3367:6:::0;;3346:40:::1;::::0;-1:-1:-1;;;;;3367:6:0;;::::1;::::0;3346:40:::1;::::0;3383:1;;3346:40:::1;3414:1;3397:19:::0;;-1:-1:-1;;;;;;3397:19:0::1;::::0;;3276:148::o;18113:307::-;3189:6;;-1:-1:-1;;;;;3189:6:0;1901:10;3189:22;3181:67;;;;-1:-1:-1;;;3181:67:0;;;;;;;:::i;:::-;18252:3:::1;18232:19;18240:11:::0;6331:18:::1;18232:19;:::i;:::-;:23;;;;:::i;:::-;18217:12;:38:::0;18305:3:::1;18283:21;18291:13:::0;6331:18:::1;18283:21;:::i;:::-;:25;;;;:::i;:::-;18266:14;:42:::0;18344:11:::1;18352:3;6331:18;18344:11;:::i;:::-;18328:12;;:27;;:60;;;;-1:-1:-1::0;18377:11:0::1;18385:3;6331:18;18377:11;:::i;:::-;18359:14;;:29;;18328:60;18319:93;;;::::0;-1:-1:-1;;;18319:93:0;;5330:2:1;18319:93:0::1;::::0;::::1;5312:21:1::0;5369:2;5349:18;;;5342:30;-1:-1:-1;;;5388:18:1;;;5381:50;5448:18;;18319:93:0::1;5128:344:1::0;18319:93:0::1;18113:307:::0;;:::o;17699:375::-;3189:6;;-1:-1:-1;;;;;3189:6:0;1901:10;3189:22;3181:67;;;;-1:-1:-1;;;3181:67:0;;;;;;;:::i;:::-;17833:14:::1;:30:::0;;;17874:15:::1;:32:::0;;;17917:12:::1;:26:::0;;;17954:13:::1;:28:::0;;;18063:2:::1;17970:12:::0;17932:11;18002:30:::1;17892:14:::0;17850:13;18002:30:::1;:::i;:::-;:43;;;;:::i;:::-;:57;;;;:::i;:::-;:63;;17993:73;;;::::0;::::1;;17699:375:::0;;;;:::o;8737:199::-;8842:4;8864:42;1901:10;8888:9;8899:6;8864:9;:42::i;13968:223::-;14025:28;14056:24;14074:4;14056:9;:24::i;:::-;14025:55;-1:-1:-1;14091:18:0;14141:3;14112:28;14133:7;14025:55;14112:28;:::i;:::-;:32;;;;:::i;:::-;14091:53;;14155:28;14172:10;14155:16;:28::i;:::-;14014:177;;13968:223;:::o;3432:244::-;3189:6;;-1:-1:-1;;;;;3189:6:0;1901:10;3189:22;3181:67;;;;-1:-1:-1;;;3181:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3521:22:0;::::1;3513:73;;;::::0;-1:-1:-1;;;3513:73:0;;5809:2:1;3513:73:0::1;::::0;::::1;5791:21:1::0;5848:2;5828:18;;;5821:30;5887:34;5867:18;;;5860:62;-1:-1:-1;;;5938:18:1;;;5931:36;5984:19;;3513:73:0::1;5607:402:1::0;3513:73:0::1;3623:6;::::0;;3602:38:::1;::::0;-1:-1:-1;;;;;3602:38:0;;::::1;::::0;3623:6;::::1;::::0;3602:38:::1;::::0;::::1;3651:6;:17:::0;;-1:-1:-1;;;;;;3651:17:0::1;-1:-1:-1::0;;;;;3651:17:0;;;::::1;::::0;;;::::1;::::0;;3432:244::o;10474:369::-;-1:-1:-1;;;;;10601:19:0;;10593:68;;;;-1:-1:-1;;;10593:68:0;;6216:2:1;10593:68:0;;;6198:21:1;6255:2;6235:18;;;6228:30;6294:34;6274:18;;;6267:62;-1:-1:-1;;;6345:18:1;;;6338:34;6389:19;;10593:68:0;6014:400:1;10593:68:0;-1:-1:-1;;;;;10680:21:0;;10672:68;;;;-1:-1:-1;;;10672:68:0;;6621:2:1;10672:68:0;;;6603:21:1;6660:2;6640:18;;;6633:30;6699:34;6679:18;;;6672:62;-1:-1:-1;;;6750:18:1;;;6743:32;6792:19;;10672:68:0;6419:398:1;10672:68:0;-1:-1:-1;;;;;10751:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;10803:32;;1595:25:1;;;10803:32:0;;1568:18:1;10803:32:0;;;;;;;10474:369;;;:::o;10851:2418::-;-1:-1:-1;;;;;10973:18:0;;10965:68;;;;-1:-1:-1;;;10965:68:0;;7024:2:1;10965:68:0;;;7006:21:1;7063:2;7043:18;;;7036:30;7102:34;7082:18;;;7075:62;-1:-1:-1;;;7153:18:1;;;7146:35;7198:19;;10965:68:0;6822:401:1;10965:68:0;-1:-1:-1;;;;;11052:16:0;;11044:64;;;;-1:-1:-1;;;11044:64:0;;7430:2:1;11044:64:0;;;7412:21:1;7469:2;7449:18;;;7442:30;7508:34;7488:18;;;7481:62;-1:-1:-1;;;7559:18:1;;;7552:33;7602:19;;11044:64:0;7228:399:1;11044:64:0;11136:1;11127:6;:10;11119:64;;;;-1:-1:-1;;;11119:64:0;;7834:2:1;11119:64:0;;;7816:21:1;7873:2;7853:18;;;7846:30;7912:34;7892:18;;;7885:62;-1:-1:-1;;;7963:18:1;;;7956:39;8012:19;;11119:64:0;7632:405:1;11119:64:0;3100:7;3127:6;-1:-1:-1;;;;;11200:15:0;;;3127:6;;11200:15;;;;:32;;-1:-1:-1;3100:7:0;3127:6;-1:-1:-1;;;;;11219:13:0;;;3127:6;;11219:13;;11200:32;11196:1347;;;11289:11;;-1:-1:-1;;;11289:11:0;;;;11284:144;;3100:7;3127:6;-1:-1:-1;;;;;11329:15:0;;;3127:6;;11329:15;11321:91;;;;-1:-1:-1;;;11321:91:0;;8244:2:1;11321:91:0;;;8226:21:1;8283:2;8263:18;;;8256:30;8322:34;8302:18;;;8295:62;8393:33;8373:18;;;8366:61;8444:19;;11321:91:0;8042:427:1;11321:91:0;11453:13;;-1:-1:-1;;;;;11447:19:0;;;11453:13;;11447:19;;;;:42;;-1:-1:-1;11476:13:0;;-1:-1:-1;;;;;11470:19:0;;;11476:13;;11470:19;;11447:42;:71;;;;-1:-1:-1;11499:19:0;;-1:-1:-1;;;;;11493:25:0;;;11499:19;;11493:25;;11447:71;:94;;;;-1:-1:-1;;;;;;11522:19:0;;11536:4;11522:19;;11447:94;11444:371;;;11580:12;;11570:6;:22;;11562:63;;;;-1:-1:-1;;;11562:63:0;;8676:2:1;11562:63:0;;;8658:21:1;8715:2;8695:18;;;8688:30;8754;8734:18;;;8727:58;8802:18;;11562:63:0;8474:352:1;11562:63:0;11653:13;;-1:-1:-1;;;;;11647:19:0;;;11653:13;;11647:19;11644:154;;11724:14;;11715:6;11699:13;11709:2;11699:9;:13::i;:::-;:22;;;;:::i;:::-;:39;11691:87;;;;-1:-1:-1;;;11691:87:0;;9033:2:1;11691:87:0;;;9015:21:1;9072:2;9052:18;;;9045:30;9111:34;9091:18;;;9084:62;-1:-1:-1;;;9162:18:1;;;9155:33;9205:19;;11691:87:0;8831:399:1;11691:87:0;11831:28;11862:24;11880:4;11862:9;:24::i;:::-;11940:19;;11831:55;;-1:-1:-1;11916:43:0;;;;;12003:21;;12023:1;12003:21;:::i;:::-;11979:45;12137:7;:18;;;;-1:-1:-1;12149:6:0;;-1:-1:-1;;;12149:6:0;;;;12148:7;12137:18;:43;;;;-1:-1:-1;12167:13:0;;-1:-1:-1;;;;;12159:21:0;;;12167:13;;12159:21;;12137:43;:58;;;;-1:-1:-1;12184:11:0;;-1:-1:-1;;;12184:11:0;;;;12137:58;:87;;;;-1:-1:-1;;;;;;12200:24:0;;;;;;:18;:24;;;;;;;;12199:25;12137:87;:114;;;;-1:-1:-1;;;;;;12229:22:0;;;;;;:18;:22;;;;;;;;12228:23;12137:114;12133:399;;;12272:38;12289:20;12272:16;:38::i;:::-;12358:21;12423:17;12402:38;;12398:119;;;12465:32;12478:18;12465:12;:32::i;:::-;12253:279;12133:399;11234:1309;;11196:1347;-1:-1:-1;;;;;12619:24:0;;12555:12;12619:24;;;:18;:24;;;;;;12570:4;;12619:24;;;:50;;-1:-1:-1;;;;;;12647:22:0;;;;;;:18;:22;;;;;;;;12619:50;12618:102;;;-1:-1:-1;12683:13:0;;-1:-1:-1;;;;;12675:21:0;;;12683:13;;12675:21;;;;:44;;-1:-1:-1;12706:13:0;;-1:-1:-1;;;;;12700:19:0;;;12706:13;;12700:19;;12675:44;12614:594;;;-1:-1:-1;12747:5:0;12614:594;;;12830:13;;-1:-1:-1;;;;;12822:21:0;;;12830:13;;12822:21;:55;;;;-1:-1:-1;12861:15:0;;-1:-1:-1;;;;;12847:30:0;;;12861:15;;12847:30;;12822:55;12819:162;;;12910:14;;12898:9;:26;12953:12;;12943:7;:22;12819:162;13040:13;;-1:-1:-1;;;;;13034:19:0;;;13040:13;;13034:19;:55;;;;-1:-1:-1;13073:15:0;;-1:-1:-1;;;;;13057:32:0;;;13073:15;;13057:32;;13034:55;13030:165;;;13122:15;;13110:9;:27;13166:13;;13156:7;:23;13030:165;13220:41;13235:4;13241:2;13245:6;13253:7;13220:14;:41::i;4040:224::-;4160:7;4196:12;4188:6;;;;4180:29;;;;-1:-1:-1;;;4180:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4220:9:0;4232:5;4236:1;4232;:5;:::i;:::-;4220:17;4040:224;-1:-1:-1;;;;;4040:224:0:o;13768:99::-;13825:17;;:34;;-1:-1:-1;;;;;13825:17:0;;;;:34;;;;;13852:6;;13825:17;:34;:17;:34;13852:6;13825:17;:34;;;;;;;;;;;;;;;;;;;9791:323;9886:7;9944;;9933;:18;;9911:110;;;;-1:-1:-1;;;9911:110:0;;9570:2:1;9911:110:0;;;9552:21:1;9609:2;9589:18;;;9582:30;9648:34;9628:18;;;9621:62;-1:-1:-1;;;9699:18:1;;;9692:40;9749:19;;9911:110:0;9368:406:1;9911:110:0;10032:19;10054:10;:8;:10::i;:::-;10032:32;-1:-1:-1;10082:24:0;:7;10032:32;10082:11;:24::i;:::-;10075:31;9791:323;-1:-1:-1;;;9791:323:0:o;13277:483::-;7503:6;:13;;-1:-1:-1;;;;7503:13:0;-1:-1:-1;;;7503:13:0;;;13379:16:::1;::::0;;13393:1:::1;13379:16:::0;;;;;::::1;::::0;;-1:-1:-1;;13379:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13379:16:0::1;13355:40;;13424:4;13406;13411:1;13406:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13406:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;13450:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;13450:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;13406:7;;13450:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13440:4;13445:1;13440:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13440:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;13515:15:::1;::::0;13483:62:::1;::::0;13500:4:::1;::::0;13515:15:::1;13533:11:::0;13483:8:::1;:62::i;:::-;13556:15;::::0;:196:::1;::::0;-1:-1:-1;;;13556:196:0;;-1:-1:-1;;;;;13556:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;13637:11;;13556:15:::1;::::0;13679:4;;13706::::1;::::0;13726:15:::1;::::0;13556:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7539:6:0;:14;;-1:-1:-1;;;;7539:14:0;;;-1:-1:-1;;;;13277:483:0:o;14301:282::-;14457:7;14452:28;;14466:14;:12;:14::i;:::-;14491:44;14509:6;14517:9;14528:6;14491:17;:44::i;:::-;14551:7;14546:29;;14560:15;10405:17;;10393:9;:29;10443:15;;10433:7;:25;10349:117;17262:164;17304:7;17325:15;17342;17361:19;:17;:19::i;:::-;17324:56;;-1:-1:-1;17324:56:0;-1:-1:-1;17398:20:0;17324:56;;17398:11;:20::i;:::-;17391:27;;;;17262:164;:::o;4526:132::-;4584:7;4611:39;4615:1;4618;4611:39;;;;;;;;;;;;;;;;;:3;:39::i;10122:219::-;10169:9;;:14;:30;;;;-1:-1:-1;10187:7:0;;:12;10169:30;10165:43;;;10122:219::o;10165:43::-;10240:9;;;10220:17;:29;10278:7;;;10260:15;:25;-1:-1:-1;10298:13:0;;;;10322:11;10122:219::o;14591:610::-;14738:15;14768:23;14806:12;14833:23;14871:12;14898:13;14925:19;14936:7;14925:10;:19::i;:::-;-1:-1:-1;;;;;14973:15:0;;;;;;:7;:15;;;;;;14723:221;;-1:-1:-1;14723:221:0;;-1:-1:-1;14723:221:0;;-1:-1:-1;14723:221:0;-1:-1:-1;14723:221:0;-1:-1:-1;14723:221:0;-1:-1:-1;14973:28:0;;14723:221;14973:19;:28::i;:::-;-1:-1:-1;;;;;14955:15:0;;;;;;;:7;:15;;;;;;:46;;;;15033:18;;;;;;;:39;;15056:15;15033:22;:39::i;:::-;-1:-1:-1;;;;;15012:18:0;;;;;;:7;:18;;;;;:60;15083:16;15093:5;15083:9;:16::i;:::-;15110:23;15122:4;15128;15110:11;:23::i;:::-;15166:9;-1:-1:-1;;;;;15149:44:0;15158:6;-1:-1:-1;;;;;15149:44:0;;15177:15;15149:44;;;;1595:25:1;;1583:2;1568:18;;1449:177;15149:44:0;;;;;;;;14712:489;;;;;;14591:610;;;:::o;17434:257::-;17532:7;;17485;;;;6331:18;17600:20;17532:7;6331:18;17600:11;:20::i;:::-;17590:7;:30;17586:61;;;-1:-1:-1;;17630:7:0;;;6331:18;;-1:-1:-1;17434:257:0;-1:-1:-1;17434:257:0:o;17586:61::-;17666:7;;17675;;-1:-1:-1;17434:257:0;-1:-1:-1;17434:257:0:o;4666:223::-;4786:7;4821:12;4814:5;4806:28;;;;-1:-1:-1;;;4806:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4845:9:0;4857:5;4861:1;4857;:5;:::i;15620:615::-;15720:7;15742;15764;15786;15808;15830;15866:23;15891:12;15905:13;15935:40;15947:7;15956:9;;15967:7;;15935:11;:40::i;:::-;15865:110;;;;;;15986:19;16008:10;:8;:10::i;:::-;15986:32;;16030:15;16047:23;16072:12;16101:46;16113:7;16122:4;16128:5;16135:11;16101;:46::i;:::-;16029:118;;-1:-1:-1;16029:118:0;-1:-1:-1;16029:118:0;-1:-1:-1;16198:15:0;;-1:-1:-1;16215:4:0;;-1:-1:-1;16221:5:0;;-1:-1:-1;;;;;15620:615:0;;;;;;;:::o;3896:136::-;3954:7;3981:43;3985:1;3988;3981:43;;;;;;;;;;;;;;;;;:3;:43::i;3709:179::-;3767:7;;3799:5;3803:1;3799;:5;:::i;:::-;3787:17;;3828:1;3823;:6;;3815:46;;;;-1:-1:-1;;;3815:46:0;;11486:2:1;3815:46:0;;;11468:21:1;11525:2;11505:18;;;11498:30;11564:29;11544:18;;;11537:57;11611:18;;3815:46:0;11284:351:1;15209:211:0;15262:19;15284:10;:8;:10::i;:::-;15262:32;-1:-1:-1;15305:13:0;15321:22;:5;15262:32;15321:9;:22::i;:::-;15395:4;15379:22;;;;:7;:22;;;;;;15305:38;;-1:-1:-1;15379:33:0;;15305:38;15379:26;:33::i;:::-;15370:4;15354:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;15209:211:0:o;15428:147::-;15506:7;;:17;;15518:4;15506:11;:17::i;:::-;15496:7;:27;15547:10;;:20;;15562:4;15547:14;:20::i;:::-;15534:10;:33;-1:-1:-1;;15428:147:0:o;16243:469::-;16412:7;;;;16506:30;16532:3;16506:21;:7;16518:8;16506:11;:21::i;:::-;:25;;:30::i;:::-;16491:45;-1:-1:-1;16547:13:0;16563:28;16587:3;16563:19;:7;16575:6;16563:11;:19::i;:28::-;16547:44;-1:-1:-1;16602:23:0;16628:28;16547:44;16628:17;:7;16640:4;16628:11;:17::i;:::-;:21;;:28::i;:::-;16602:54;16692:4;;-1:-1:-1;16698:5:0;;-1:-1:-1;16243:469:0;;-1:-1:-1;;;;;16243:469:0:o;16720:534::-;16914:7;;;;17011:24;:7;17023:11;17011;:24::i;:::-;16993:42;-1:-1:-1;17046:12:0;17061:21;:4;17070:11;17061:8;:21::i;:::-;17046:36;-1:-1:-1;17093:13:0;17109:22;:5;17119:11;17109:9;:22::i;:::-;17093:38;-1:-1:-1;17142:23:0;17168:28;17093:38;17168:17;:7;17180:4;17168:11;:17::i;:28::-;17215:7;;;;-1:-1:-1;17241:4:0;;-1:-1:-1;16720:534:0;;-1:-1:-1;;;;;;;16720:534:0:o;4272:246::-;4330:7;4354:1;4359;4354:6;4350:47;;-1:-1:-1;4384:1:0;4377:8;;4350:47;4407:9;4419:5;4423:1;4419;:5;:::i;:::-;4407:17;-1:-1:-1;4452:1:0;4443:5;4447:1;4407:17;4443:5;:::i;:::-;:10;4435:56;;;;-1:-1:-1;;;4435:56:0;;11842:2:1;4435:56:0;;;11824:21:1;11881:2;11861:18;;;11854:30;11920:34;11900:18;;;11893:62;-1:-1:-1;;;11971:18:1;;;11964:31;12012:19;;4435:56:0;11640:397:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:273::-;2545:6;2598:2;2586:9;2577:7;2573:23;2569:32;2566:52;;;2614:1;2611;2604:12;2566:52;2653:9;2640:23;2706:5;2699:13;2692:21;2685:5;2682:32;2672:60;;2728:1;2725;2718:12;2767:247;2826:6;2879:2;2867:9;2858:7;2854:23;2850:32;2847:52;;;2895:1;2892;2885:12;2847:52;2934:9;2921:23;2953:31;2978:5;2953:31;:::i;3019:248::-;3087:6;3095;3148:2;3136:9;3127:7;3123:23;3119:32;3116:52;;;3164:1;3161;3154:12;3116:52;-1:-1:-1;;3187:23:1;;;3257:2;3242:18;;;3229:32;;-1:-1:-1;3019:248:1:o;3272:385::-;3358:6;3366;3374;3382;3435:3;3423:9;3414:7;3410:23;3406:33;3403:53;;;3452:1;3449;3442:12;3403:53;-1:-1:-1;;3475:23:1;;;3545:2;3530:18;;3517:32;;-1:-1:-1;3596:2:1;3581:18;;3568:32;;3647:2;3632:18;3619:32;;-1:-1:-1;3272:385:1;-1:-1:-1;3272:385:1:o;3662:180::-;3721:6;3774:2;3762:9;3753:7;3749:23;3745:32;3742:52;;;3790:1;3787;3780:12;3742:52;-1:-1:-1;3813:23:1;;3662:180;-1:-1:-1;3662:180:1:o;3847:388::-;3915:6;3923;3976:2;3964:9;3955:7;3951:23;3947:32;3944:52;;;3992:1;3989;3982:12;3944:52;4031:9;4018:23;4050:31;4075:5;4050:31;:::i;:::-;4100:5;-1:-1:-1;4157:2:1;4142:18;;4129:32;4170:33;4129:32;4170:33;:::i;:::-;4222:7;4212:17;;;3847:388;;;;;:::o;4240:356::-;4442:2;4424:21;;;4461:18;;;4454:30;4520:34;4515:2;4500:18;;4493:62;4587:2;4572:18;;4240:356::o;4601:127::-;4662:10;4657:3;4653:20;4650:1;4643:31;4693:4;4690:1;4683:15;4717:4;4714:1;4707:15;4733:168;4806:9;;;4837;;4854:15;;;4848:22;;4834:37;4824:71;;4875:18;;:::i;4906:217::-;4946:1;4972;4962:132;;5016:10;5011:3;5007:20;5004:1;4997:31;5051:4;5048:1;5041:15;5079:4;5076:1;5069:15;4962:132;-1:-1:-1;5108:9:1;;4906:217::o;5477:125::-;5542:9;;;5563:10;;;5560:36;;;5576:18;;:::i;9235:128::-;9302:9;;;9323:11;;;9320:37;;;9337:18;;:::i;9911:127::-;9972:10;9967:3;9963:20;9960:1;9953:31;10003:4;10000:1;9993:15;10027:4;10024:1;10017:15;10043:251;10113:6;10166:2;10154:9;10145:7;10141:23;10137:32;10134:52;;;10182:1;10179;10172:12;10134:52;10214:9;10208:16;10233:31;10258:5;10233:31;:::i;10299:980::-;10561:4;10609:3;10598:9;10594:19;10640:6;10629:9;10622:25;10666:2;10704:6;10699:2;10688:9;10684:18;10677:34;10747:3;10742:2;10731:9;10727:18;10720:31;10771:6;10806;10800:13;10837:6;10829;10822:22;10875:3;10864:9;10860:19;10853:26;;10914:2;10906:6;10902:15;10888:29;;10935:1;10945:195;10959:6;10956:1;10953:13;10945:195;;;11024:13;;-1:-1:-1;;;;;11020:39:1;11008:52;;11115:15;;;;11080:12;;;;11056:1;10974:9;10945:195;;;-1:-1:-1;;;;;;;11196:32:1;;;;11191:2;11176:18;;11169:60;-1:-1:-1;;;11260:3:1;11245:19;11238:35;11157:3;10299:980;-1:-1:-1;;;10299:980:1:o

Swarm Source

ipfs://1719ed3df81c47bdbc56cfa9cc3d946b635b07ed759bb04611ae62917ba16751

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.