ETH Price: $3,411.51 (+1.79%)

Contract

0xa7dF6Ee6E731699CE74bdD914923C3849B5B6AA6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve202474822024-07-06 12:31:59140 days ago1720269119IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.000132012.85261997
Approve201005942024-06-15 23:53:23160 days ago1718495603IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.000132792.86653131
Approve176069472023-07-02 14:35:35509 days ago1688308535IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0009898421.25172134
Approve175647792023-06-26 16:27:11515 days ago1687796831IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0006530314.1115066
Approve174109962023-06-05 1:11:11537 days ago1685927471IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0009176119.8287778
Approve173598782023-05-28 20:24:59544 days ago1685305499IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.00159734.28737156
Approve173202022023-05-23 6:36:23550 days ago1684823783IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0020463743.93524789
Approve173140442023-05-22 9:47:59551 days ago1684748879IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0013946129.98068131
Approve173036622023-05-20 22:42:11552 days ago1684622531IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0007474930.76995477
Approve173036492023-05-20 22:39:35552 days ago1684622375IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0013911229.86724455
Approve173035982023-05-20 22:29:23552 days ago1684621763IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0013589529.36570442
Approve172999402023-05-20 10:06:35553 days ago1684577195IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0015426233.11997647
Approve172997192023-05-20 9:22:23553 days ago1684574543IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0014486731.14293594
Approve172990212023-05-20 7:01:23553 days ago1684566083IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0015636433.78886123
Approve172983672023-05-20 4:49:23553 days ago1684558163IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0018630840
Approve172975572023-05-20 2:05:11553 days ago1684548311IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0015715133.74004851
Approve172969082023-05-19 23:53:23553 days ago1684540403IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0014515431.20463148
Approve172943102023-05-19 15:04:59553 days ago1684508699IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0034345273.83368369
Approve172941622023-05-19 14:35:23553 days ago1684506923IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0014068657.91218257
Approve172941592023-05-19 14:34:47553 days ago1684506887IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0026932657.89850334
Approve172938082023-05-19 13:23:59553 days ago1684502639IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0020524944.12355611
Approve172926132023-05-19 9:21:23554 days ago1684488083IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0023876151.59404444
Approve172925992023-05-19 9:18:35554 days ago1684487915IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0023739851.0347493
Approve172925872023-05-19 9:16:11554 days ago1684487771IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0027327259.05137627
Approve172925412023-05-19 9:06:47554 days ago1684487207IN
0xa7dF6Ee6...49B5B6AA6
0 ETH0.0028328860.9
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
202474852024-07-06 12:32:35140 days ago1720269155
0xa7dF6Ee6...49B5B6AA6
0.00000221 ETH
202474852024-07-06 12:32:35140 days ago1720269155
0xa7dF6Ee6...49B5B6AA6
0.00022164 ETH
202474852024-07-06 12:32:35140 days ago1720269155
0xa7dF6Ee6...49B5B6AA6
0.00022386 ETH
183709342023-10-17 15:17:47402 days ago1697555867
0xa7dF6Ee6...49B5B6AA6
0.00000191 ETH
183709342023-10-17 15:17:47402 days ago1697555867
0xa7dF6Ee6...49B5B6AA6
0.0001915 ETH
183709342023-10-17 15:17:47402 days ago1697555867
0xa7dF6Ee6...49B5B6AA6
0.00019341 ETH
177400282023-07-21 7:28:23491 days ago1689924503
0xa7dF6Ee6...49B5B6AA6
0.0000036 ETH
177400282023-07-21 7:28:23491 days ago1689924503
0xa7dF6Ee6...49B5B6AA6
0.00036093 ETH
177400282023-07-21 7:28:23491 days ago1689924503
0xa7dF6Ee6...49B5B6AA6
0.00036454 ETH
175650242023-06-26 17:16:59515 days ago1687799819
0xa7dF6Ee6...49B5B6AA6
0.00000263 ETH
175650242023-06-26 17:16:59515 days ago1687799819
0xa7dF6Ee6...49B5B6AA6
0.00026357 ETH
175650242023-06-26 17:16:59515 days ago1687799819
0xa7dF6Ee6...49B5B6AA6
0.0002662 ETH
173781922023-05-31 10:13:47542 days ago1685528027
0xa7dF6Ee6...49B5B6AA6
0.00000238 ETH
173781922023-05-31 10:13:47542 days ago1685528027
0xa7dF6Ee6...49B5B6AA6
0.0002389 ETH
173781922023-05-31 10:13:47542 days ago1685528027
0xa7dF6Ee6...49B5B6AA6
0.00024129 ETH
173501862023-05-27 11:47:59546 days ago1685188079
0xa7dF6Ee6...49B5B6AA6
0.00000513 ETH
173501862023-05-27 11:47:59546 days ago1685188079
0xa7dF6Ee6...49B5B6AA6
0.0005135 ETH
173501862023-05-27 11:47:59546 days ago1685188079
0xa7dF6Ee6...49B5B6AA6
0.00051863 ETH
173140482023-05-22 9:48:47551 days ago1684748927
0xa7dF6Ee6...49B5B6AA6
0.00000354 ETH
173140482023-05-22 9:48:47551 days ago1684748927
0xa7dF6Ee6...49B5B6AA6
0.0003545 ETH
173140482023-05-22 9:48:47551 days ago1684748927
0xa7dF6Ee6...49B5B6AA6
0.00035805 ETH
173050182023-05-21 3:15:59552 days ago1684638959
0xa7dF6Ee6...49B5B6AA6
0.00000263 ETH
173050182023-05-21 3:15:59552 days ago1684638959
0xa7dF6Ee6...49B5B6AA6
0.00026316 ETH
173050182023-05-21 3:15:59552 days ago1684638959
0xa7dF6Ee6...49B5B6AA6
0.00026579 ETH
173036552023-05-20 22:40:47552 days ago1684622447
0xa7dF6Ee6...49B5B6AA6
0.0000062 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
WAGBO

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-19
*/

// SPDX-License-Identifier: MIT
/**
 * https://t.me/WAGBOETH
 * https://twitter.com/WAGBO_ERC20
 */
pragma solidity 0.8.20;

interface IERC20 {
    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 IFactory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);

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

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

    function WETH() external pure returns (address);

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


    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax,
        uint8 v,
        bytes32 r,
        bytes32 s
    ) external returns (uint amountA, uint amountB);

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

abstract contract Ownable {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

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

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

    function transferOwnership(address payable adr) public onlyOwner {
        owner = adr;
        emit OwnershipTransferred(adr);
    }

    event OwnershipTransferred(address owner);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

    function tryAdd(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(
        uint256 a,
        uint256 b
    ) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

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

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

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

contract WAGBO is IERC20, Ownable {
    using SafeMath for uint256;
    
    string private constant _name = "Were All Gonna Be Okay";
    string private constant _symbol = "WAGBO";
    uint8 private constant _decimals = 18;

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    
    address public pair;
    IRouter router;

    address internal devAddress;
    address internal constant mktWallet =
        0xB2B84dC95d6Cd2Cd2abAE7E3f24e92e021fcdDa8;

    uint256 private _totalSupply = 1000000000000 * (10 ** _decimals);
    uint256 private txLimit = 200; // base 10000;
    uint256 private sellLimit = 200;
    uint256 private walletLimit = 200;
        
    mapping(address => bool) public isFeeExempt;
    
    bool private tradingEnabled = false;
    
    uint256 private mktFee = 250;
    uint256 private devFee = 100;
    uint256 private buyFeeTotal = 0;
    uint256 private sellFeeTotal = 350;
    uint256 private transferFee = 300;
    uint256 private denominator = 10000;

    bool private swapEnabled = true;
    bool private swapping;
    uint256 private swapThreshold = (_totalSupply * 10) / 100000;
    uint256 private minTokenAmount = (_totalSupply * 10) / 100000;

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


    constructor() Ownable(msg.sender) {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(
            address(this),
            _router.WETH()
        );
        router = _router;
        pair = _pair;
        buyFeeTotal = mktFee + devFee;
        devAddress = msg.sender;
        isFeeExempt[address(this)] = true;
        isFeeExempt[mktWallet] = true;
        isFeeExempt[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

    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 enableTrading() external onlyOwner {
        buyFeeTotal=7500;
        sellFeeTotal=7500;
        transferFee=7500;
        tradingEnabled = true;
    }

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

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

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

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

    function exemptFromFees(address _address, bool _enabled) external onlyOwner {
        isFeeExempt[_address] = _enabled;
    }

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

    function totalSupply() public view override returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));
    }

    function _walletLimit() public view returns (uint256) {
        return (totalSupply() * walletLimit) / denominator;
    }

    function _txLimit() public view returns (uint256) {
        return (totalSupply() * txLimit) / denominator;
    }

    function _sellLimit() public view returns (uint256) {
        return (totalSupply() * sellLimit) / denominator;
    }

    function preTxCheck(
        address sender,
        address recipient,
        uint256 amount
    ) internal view {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(
            amount > uint256(0),
            "Transfer amount must be greater than zero"
        );
        require(
            amount <= balanceOf(sender),
            "You are trying to transfer more than your balance"
        );
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        preTxCheck(sender, recipient, amount);
        checkIfTradingIsOpen(sender, recipient);
        checkWalletLimit(sender, recipient, amount);
        checkTxLimit(sender, recipient, amount);
        swapBack(sender, recipient);
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient)
            ? taxEn(sender, recipient, amount)
            : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function setTradingFees(
        uint256 _marketing,
        uint256 _development,
        uint256 _extraSell,
        uint256 _trans
    ) external onlyOwner {
        mktFee = _marketing;
        devFee = _development;
        buyFeeTotal = _marketing + _development;
        sellFeeTotal = buyFeeTotal + _extraSell;
        transferFee = _trans;
        require(
            buyFeeTotal <= denominator && sellFeeTotal <= denominator,
            "buyFeeTotal and sellFeeTotal cannot be more than the denominator"
        );
    }

    function setTradingLimits(
        uint256 _newMaxTx,
        uint256 _newMaxSell,
        uint256 _newMaxWallet
    ) external onlyOwner {
        uint256 newTx = (totalSupply() * _newMaxTx) / 10000;
        uint256 newTransfer = (totalSupply() * _newMaxSell) / 10000;
        uint256 newWallet = (totalSupply() * _newMaxWallet) / 10000;
        txLimit = _newMaxTx;
        sellLimit = _newMaxSell;
        walletLimit = _newMaxWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(
            newTx >= limit && newTransfer >= limit && newWallet >= limit,
            "Max TXs and Max Wallet cannot be less than .5%"
        );
    }

    function checkIfTradingIsOpen(
        address sender,
        address recipient
    ) internal view {
        if (!isFeeExempt[sender] && !isFeeExempt[recipient]) {
            require(tradingEnabled, "tradingEnabled");
        }
    }

    function checkWalletLimit(
        address sender,
        address recipient,
        uint256 amount
    ) internal view {
        if (
            !isFeeExempt[sender] &&
            !isFeeExempt[recipient] &&
            recipient != address(pair) &&
            recipient != address(DEAD)
        ) {
            require(
                (_balances[recipient].add(amount)) <= _walletLimit(),
                "Exceeds maximum wallet amount."
            );
        }
    }

    function checkTxLimit(
        address sender,
        address recipient,
        uint256 amount
    ) internal view {
        if (sender != pair) {
            require(
                amount <= _sellLimit() ||
                    isFeeExempt[sender] ||
                    isFeeExempt[recipient],
                "Sell Limit Exceeded"
            );
        }
        require(
            amount <= _txLimit() ||
                isFeeExempt[sender] ||
                isFeeExempt[recipient],
            "TX Limit Exceeded"
        );
    }

    function swapAndDistributeFees() private inSwap {
        uint256 tokens = balanceOf(address(this));
        uint256 _denominator = (
            mktFee.add(1).add(devFee)
        );

        swapTokensForETH(tokens);
        uint256 deltaBalance = address(this).balance;
        uint256 unitBalance = deltaBalance.div(_denominator);

        uint256 marketingAmt = unitBalance.mul(mktFee);
        if (marketingAmt > 0) {
            payable(mktWallet).transfer(marketingAmt);
        }
        uint256 remainingBalance = address(this).balance;
        if (remainingBalance > uint256(0)) {
            payable(devAddress).transfer(remainingBalance);
        }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function setSwapbackSettings(
        uint256 _swapThreshold,
        uint256 _minTokenAmount
    ) external onlyOwner {
        swapThreshold = _totalSupply.mul(_swapThreshold).div(uint256(100000));
        minTokenAmount = _totalSupply.mul(_minTokenAmount).div(uint256(100000));
    }

    function swapBack(
        address sender,
        address recipient
    ) internal {
        if (shouldSwapBack(sender, recipient)) {
            swapAndDistributeFees();
        }
    }

    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 shouldSwapBack(
        address sender,
        address recipient
    ) internal view returns (bool) {
        bool aboveThreshold = balanceOf(address(this)) >= swapThreshold;
        return
            !swapping &&
            swapEnabled &&
            tradingEnabled &&
            !isFeeExempt[sender] &&
            recipient == pair &&
            aboveThreshold;
    }

    function shouldTakeFee(
        address sender,
        address recipient
    ) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function totalFeeValues(
        address sender,
        address recipient
    ) internal view returns (uint256) {
        if (recipient == pair) {
            return sellFeeTotal;
        }
        if (sender == pair) {
            return buyFeeTotal;
        }
        return transferFee;
    }

    function taxEn(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256) {
        if (totalFeeValues(sender, recipient) > 0) {
            uint256 feeAmount = amount.div(denominator).mul(
                totalFeeValues(sender, recipient)
            );
            _balances[address(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
            return amount.sub(feeAmount);
        }
        return amount;
    }

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

}

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":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_sellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_txLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletLimit","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":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"exemptFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_swapThreshold","type":"uint256"},{"internalType":"uint256","name":"_minTokenAmount","type":"uint256"}],"name":"setSwapbackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_extraSell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTradingFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newMaxTx","type":"uint256"},{"internalType":"uint256","name":"_newMaxSell","type":"uint256"},{"internalType":"uint256","name":"_newMaxWallet","type":"uint256"}],"name":"setTradingLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a6200043f565b620000239064e8d4a5100062000456565b600681905560c860078190556008819055600955600b805460ff1990811690915560fa600c556064600d555f600e5561015e600f5561012c601055612710601155601280549091166001179055620186a0906200008290600a62000456565b6200008e919062000470565b601355620186a0600654600a620000a6919062000456565b620000b2919062000470565b601455348015620000c1575f80fd5b505f80546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa15801562000126573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200014c919062000490565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000198573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001be919062000490565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801562000209573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200022f919062000490565b600480546001600160a01b038086166001600160a01b0319928316179092556003805492841692909116919091179055600d54600c549192506200027391620004b8565b600e55600580546001600160a01b03191633908117909155305f908152600a60209081526040808320805460ff1990811660019081179092557ff3d2d8ec60d256f21eed95b47f7e6806388fd41bd660d71a51595e7afe60ac4d80548216831790558585528285208054909116821790556006549252808320829055517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620003209190815260200190565b60405180910390a35050620004ce565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200038457815f190482111562000368576200036862000330565b808516156200037657918102915b93841c939080029062000349565b509250929050565b5f826200039c5750600162000439565b81620003aa57505f62000439565b8160018114620003c35760028114620003ce57620003ee565b600191505062000439565b60ff841115620003e257620003e262000330565b50506001821b62000439565b5060208310610133831016604e8410600b841016171562000413575081810a62000439565b6200041f838362000344565b805f190482111562000435576200043562000330565b0290505b92915050565b5f6200044f60ff8416836200038c565b9392505050565b808202811582820484141762000439576200043962000330565b5f826200048b57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620004a1575f80fd5b81516001600160a01b03811681146200044f575f80fd5b8082018082111562000439576200043962000330565b61180680620004dc5f395ff3fe608060405260043610610134575f3560e01c8063893d20e8116100a8578063a9059cbb1161006d578063a9059cbb146103a1578063ce53f898146103c0578063dd62ed3e146103d4578063e7a547e314610418578063ea07dbcb14610437578063f2fde38b14610456575f80fd5b8063893d20e8146102f25780638a8c523c1461032257806395d89b41146103365780639b6b549914610363578063a8aa1b3114610382575f80fd5b80632f54bf6e116100f95780632f54bf6e14610213578063313ce567146102405780633f4218e01461025b57806350dc03b11461028957806363553e7c146102aa57806370a08231146102be575f80fd5b806306fdde031461013f578063095ea7b31461018f5780630e2351e2146101be57806318160ddd146101e057806323b872dd146101f4575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b506040805180820190915260168152755765726520416c6c20476f6e6e61204265204f6b617960501b60208201525b60405161018691906114b6565b60405180910390f35b34801561019a575f80fd5b506101ae6101a9366004611518565b610475565b6040519015158152602001610186565b3480156101c9575f80fd5b506101d261048b565b604051908152602001610186565b3480156101eb575f80fd5b506101d26104b3565b3480156101ff575f80fd5b506101ae61020e366004611542565b61051e565b34801561021e575f80fd5b506101ae61022d366004611580565b5f546001600160a01b0391821691161490565b34801561024b575f80fd5b5060405160128152602001610186565b348015610266575f80fd5b506101ae610275366004611580565b600a6020525f908152604090205460ff1681565b348015610294575f80fd5b506102a86102a336600461159b565b610586565b005b3480156102b5575f80fd5b506101d26105fa565b3480156102c9575f80fd5b506101d26102d8366004611580565b6001600160a01b03165f9081526001602052604090205490565b3480156102fd575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610186565b34801561032d575f80fd5b506102a8610609565b348015610341575f80fd5b50604080518082019091526005815264574147424f60d81b6020820152610179565b34801561036e575f80fd5b506102a861037d3660046115bb565b610651565b34801561038d575f80fd5b5060035461030a906001600160a01b031681565b3480156103ac575f80fd5b506101ae6103bb366004611518565b6106a4565b3480156103cb575f80fd5b506101d26106b0565b3480156103df575f80fd5b506101d26103ee3660046115f6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610423575f80fd5b506102a8610432366004611622565b6106bf565b348015610442575f80fd5b506102a861045136600461164b565b610804565b348015610461575f80fd5b506102a8610470366004611580565b6108eb565b5f610481338484610967565b5060015b92915050565b5f60115460095461049a6104b3565b6104a4919061168e565b6104ae91906116a5565b905090565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead5f9081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d5460065491926104ae9290916105189190610a8a565b90610a8a565b5f61052a848484610a95565b61057b8433610576856040518060600160405280602881526020016117a9602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610bac565b610967565b5060015b9392505050565b5f546001600160a01b031633146105b85760405162461bcd60e51b81526004016105af906116c4565b60405180910390fd5b6105da620186a06105d484600654610bd790919063ffffffff16565b90610be2565b6013556006546105f390620186a0906105d49084610bd7565b6014555050565b5f60115460075461049a6104b3565b5f546001600160a01b031633146106325760405162461bcd60e51b81526004016105af906116c4565b611d4c600e819055600f819055601055600b805460ff19166001179055565b5f546001600160a01b0316331461067a5760405162461bcd60e51b81526004016105af906116c4565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b5f610481338484610a95565b5f60115460085461049a6104b3565b5f546001600160a01b031633146106e85760405162461bcd60e51b81526004016105af906116c4565b5f612710846106f56104b3565b6106ff919061168e565b61070991906116a5565b90505f612710846107186104b3565b610722919061168e565b61072c91906116a5565b90505f6127108461073b6104b3565b610745919061168e565b61074f91906116a5565b60078790556008869055600985905590505f61077a6103e86105d460056107746104b3565b90610bd7565b905080841015801561078c5750808310155b80156107985750808210155b6107fb5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105af565b50505050505050565b5f546001600160a01b0316331461082d5760405162461bcd60e51b81526004016105af906116c4565b600c849055600d83905561084183856116e4565b600e8190556108519083906116e4565b600f556010819055601154600e54118015906108715750601154600f5411155b6108e5576040805162461bcd60e51b81526020600482015260248101919091527f627579466565546f74616c20616e642073656c6c466565546f74616c2063616e60448201527f6e6f74206265206d6f7265207468616e207468652064656e6f6d696e61746f7260648201526084016105af565b50505050565b5f546001600160a01b031633146109145760405162461bcd60e51b81526004016105af906116c4565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109c95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105af565b6001600160a01b038216610a2a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61057f82846116f7565b610aa0838383610bed565b610aaa8383610d9a565b610ab5838383610e26565b610ac0838383610f14565b610aca8383611049565b6001600160a01b0383165f90815260016020526040902054610aec9082610a8a565b6001600160a01b0384165f90815260016020526040812091909155610b118484611060565b610b1b5781610b26565b610b268484846110a4565b6001600160a01b0384165f90815260016020526040902054909150610b4b908261115f565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b9e9085815260200190565b60405180910390a350505050565b5f8184841115610bcf5760405162461bcd60e51b81526004016105af91906114b6565b505050900390565b5f61057f828461168e565b5f61057f82846116a5565b6001600160a01b038316610c515760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105af565b6001600160a01b038216610cb35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105af565b5f8111610d145760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105af565b6001600160a01b0383165f90815260016020526040902054811115610d955760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105af565b505050565b6001600160a01b0382165f908152600a602052604090205460ff16158015610dda57506001600160a01b0381165f908152600a602052604090205460ff16155b15610e2257600b5460ff16610e225760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d15b98589b195960921b60448201526064016105af565b5050565b6001600160a01b0383165f908152600a602052604090205460ff16158015610e6657506001600160a01b0382165f908152600a602052604090205460ff16155b8015610e8057506003546001600160a01b03838116911614155b8015610e9757506001600160a01b03821661dead14155b15610d9557610ea461048b565b6001600160a01b0383165f90815260016020526040902054610ec6908361115f565b1115610d955760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105af565b6003546001600160a01b03848116911614610fba57610f316106b0565b81111580610f5657506001600160a01b0383165f908152600a602052604090205460ff165b80610f7857506001600160a01b0382165f908152600a602052604090205460ff165b610fba5760405162461bcd60e51b815260206004820152601360248201527214d95b1b08131a5b5a5d08115e18d959591959606a1b60448201526064016105af565b610fc26105fa565b81111580610fe757506001600160a01b0383165f908152600a602052604090205460ff165b8061100957506001600160a01b0382165f908152600a602052604090205460ff165b610d955760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105af565b611053828261116a565b15610e2257610e226111f7565b6001600160a01b0382165f908152600a602052604081205460ff1615801561057f5750506001600160a01b03165f908152600a602052604090205460ff1615919050565b5f806110b08585611304565b1115611158575f6110d26110c48686611304565b601154610774908690610be2565b305f908152600160205260409020549091506110ee908261115f565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113e9085815260200190565b60405180910390a36111508382610a8a565b91505061057f565b5092915050565b5f61057f82846116e4565b601354305f908152600160205260408120546012549192111590610100900460ff1615801561119b575060125460ff165b80156111a95750600b5460ff165b80156111cd57506001600160a01b0384165f908152600a602052604090205460ff16155b80156111e657506003546001600160a01b038481169116145b80156111ef5750805b949350505050565b6012805461ff001916610100179055305f9081526001602052604081205490505f61123a600d546112346001600c5461115f90919063ffffffff16565b9061115f565b90506112458261134e565b475f6112518284610be2565b90505f611269600c5483610bd790919063ffffffff16565b905080156112b15760405173b2b84dc95d6cd2cd2abae7e3f24e92e021fcdda89082156108fc029083905f818181858888f193505050501580156112af573d5f803e3d5ffd5b505b4780156112f1576005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112ef573d5f803e3d5ffd5b505b50506012805461ff001916905550505050565b6003545f906001600160a01b03908116908316036113255750600f54610485565b6003546001600160a01b03908116908416036113445750600e54610485565b5060105492915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106113815761138161170a565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611415919061171e565b816001815181106114285761142861170a565b6001600160a01b03928316602091820292909201015260045461144e9130911684610967565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac947916114859186915f9187913091429101611739565b5f604051808303815f87803b15801561149c575f80fd5b505af11580156114ae573d5f803e3d5ffd5b505050505050565b5f6020808352835180828501525f5b818110156114e1578581018301518582016040015282016114c5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611515575f80fd5b50565b5f8060408385031215611529575f80fd5b823561153481611501565b946020939093013593505050565b5f805f60608486031215611554575f80fd5b833561155f81611501565b9250602084013561156f81611501565b929592945050506040919091013590565b5f60208284031215611590575f80fd5b813561057f81611501565b5f80604083850312156115ac575f80fd5b50508035926020909101359150565b5f80604083850312156115cc575f80fd5b82356115d781611501565b9150602083013580151581146115eb575f80fd5b809150509250929050565b5f8060408385031215611607575f80fd5b823561161281611501565b915060208301356115eb81611501565b5f805f60608486031215611634575f80fd5b505081359360208301359350604090920135919050565b5f805f806080858703121561165e575f80fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176104855761048561167a565b5f826116bf57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b808201808211156104855761048561167a565b818103818111156104855761048561167a565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561172e575f80fd5b815161057f81611501565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117875784516001600160a01b031683529383019391830191600101611762565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204346776b288457070c0c445db2f6c01cbba656c08385ce33dda34ad3cdaca35a64736f6c63430008140033

Deployed Bytecode

0x608060405260043610610134575f3560e01c8063893d20e8116100a8578063a9059cbb1161006d578063a9059cbb146103a1578063ce53f898146103c0578063dd62ed3e146103d4578063e7a547e314610418578063ea07dbcb14610437578063f2fde38b14610456575f80fd5b8063893d20e8146102f25780638a8c523c1461032257806395d89b41146103365780639b6b549914610363578063a8aa1b3114610382575f80fd5b80632f54bf6e116100f95780632f54bf6e14610213578063313ce567146102405780633f4218e01461025b57806350dc03b11461028957806363553e7c146102aa57806370a08231146102be575f80fd5b806306fdde031461013f578063095ea7b31461018f5780630e2351e2146101be57806318160ddd146101e057806323b872dd146101f4575f80fd5b3661013b57005b5f80fd5b34801561014a575f80fd5b506040805180820190915260168152755765726520416c6c20476f6e6e61204265204f6b617960501b60208201525b60405161018691906114b6565b60405180910390f35b34801561019a575f80fd5b506101ae6101a9366004611518565b610475565b6040519015158152602001610186565b3480156101c9575f80fd5b506101d261048b565b604051908152602001610186565b3480156101eb575f80fd5b506101d26104b3565b3480156101ff575f80fd5b506101ae61020e366004611542565b61051e565b34801561021e575f80fd5b506101ae61022d366004611580565b5f546001600160a01b0391821691161490565b34801561024b575f80fd5b5060405160128152602001610186565b348015610266575f80fd5b506101ae610275366004611580565b600a6020525f908152604090205460ff1681565b348015610294575f80fd5b506102a86102a336600461159b565b610586565b005b3480156102b5575f80fd5b506101d26105fa565b3480156102c9575f80fd5b506101d26102d8366004611580565b6001600160a01b03165f9081526001602052604090205490565b3480156102fd575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610186565b34801561032d575f80fd5b506102a8610609565b348015610341575f80fd5b50604080518082019091526005815264574147424f60d81b6020820152610179565b34801561036e575f80fd5b506102a861037d3660046115bb565b610651565b34801561038d575f80fd5b5060035461030a906001600160a01b031681565b3480156103ac575f80fd5b506101ae6103bb366004611518565b6106a4565b3480156103cb575f80fd5b506101d26106b0565b3480156103df575f80fd5b506101d26103ee3660046115f6565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610423575f80fd5b506102a8610432366004611622565b6106bf565b348015610442575f80fd5b506102a861045136600461164b565b610804565b348015610461575f80fd5b506102a8610470366004611580565b6108eb565b5f610481338484610967565b5060015b92915050565b5f60115460095461049a6104b3565b6104a4919061168e565b6104ae91906116a5565b905090565b60016020527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb495461dead5f9081527fb34209a263f6c38fe55f099e9e70f9d67e93982480ff3234a5e0108028ad164d5460065491926104ae9290916105189190610a8a565b90610a8a565b5f61052a848484610a95565b61057b8433610576856040518060600160405280602881526020016117a9602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610bac565b610967565b5060015b9392505050565b5f546001600160a01b031633146105b85760405162461bcd60e51b81526004016105af906116c4565b60405180910390fd5b6105da620186a06105d484600654610bd790919063ffffffff16565b90610be2565b6013556006546105f390620186a0906105d49084610bd7565b6014555050565b5f60115460075461049a6104b3565b5f546001600160a01b031633146106325760405162461bcd60e51b81526004016105af906116c4565b611d4c600e819055600f819055601055600b805460ff19166001179055565b5f546001600160a01b0316331461067a5760405162461bcd60e51b81526004016105af906116c4565b6001600160a01b03919091165f908152600a60205260409020805460ff1916911515919091179055565b5f610481338484610a95565b5f60115460085461049a6104b3565b5f546001600160a01b031633146106e85760405162461bcd60e51b81526004016105af906116c4565b5f612710846106f56104b3565b6106ff919061168e565b61070991906116a5565b90505f612710846107186104b3565b610722919061168e565b61072c91906116a5565b90505f6127108461073b6104b3565b610745919061168e565b61074f91906116a5565b60078790556008869055600985905590505f61077a6103e86105d460056107746104b3565b90610bd7565b905080841015801561078c5750808310155b80156107985750808210155b6107fb5760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b60648201526084016105af565b50505050505050565b5f546001600160a01b0316331461082d5760405162461bcd60e51b81526004016105af906116c4565b600c849055600d83905561084183856116e4565b600e8190556108519083906116e4565b600f556010819055601154600e54118015906108715750601154600f5411155b6108e5576040805162461bcd60e51b81526020600482015260248101919091527f627579466565546f74616c20616e642073656c6c466565546f74616c2063616e60448201527f6e6f74206265206d6f7265207468616e207468652064656e6f6d696e61746f7260648201526084016105af565b50505050565b5f546001600160a01b031633146109145760405162461bcd60e51b81526004016105af906116c4565b5f80546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109c95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105af565b6001600160a01b038216610a2a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f61057f82846116f7565b610aa0838383610bed565b610aaa8383610d9a565b610ab5838383610e26565b610ac0838383610f14565b610aca8383611049565b6001600160a01b0383165f90815260016020526040902054610aec9082610a8a565b6001600160a01b0384165f90815260016020526040812091909155610b118484611060565b610b1b5781610b26565b610b268484846110a4565b6001600160a01b0384165f90815260016020526040902054909150610b4b908261115f565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b9e9085815260200190565b60405180910390a350505050565b5f8184841115610bcf5760405162461bcd60e51b81526004016105af91906114b6565b505050900390565b5f61057f828461168e565b5f61057f82846116a5565b6001600160a01b038316610c515760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105af565b6001600160a01b038216610cb35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105af565b5f8111610d145760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016105af565b6001600160a01b0383165f90815260016020526040902054811115610d955760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016105af565b505050565b6001600160a01b0382165f908152600a602052604090205460ff16158015610dda57506001600160a01b0381165f908152600a602052604090205460ff16155b15610e2257600b5460ff16610e225760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d15b98589b195960921b60448201526064016105af565b5050565b6001600160a01b0383165f908152600a602052604090205460ff16158015610e6657506001600160a01b0382165f908152600a602052604090205460ff16155b8015610e8057506003546001600160a01b03838116911614155b8015610e9757506001600160a01b03821661dead14155b15610d9557610ea461048b565b6001600160a01b0383165f90815260016020526040902054610ec6908361115f565b1115610d955760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105af565b6003546001600160a01b03848116911614610fba57610f316106b0565b81111580610f5657506001600160a01b0383165f908152600a602052604090205460ff165b80610f7857506001600160a01b0382165f908152600a602052604090205460ff165b610fba5760405162461bcd60e51b815260206004820152601360248201527214d95b1b08131a5b5a5d08115e18d959591959606a1b60448201526064016105af565b610fc26105fa565b81111580610fe757506001600160a01b0383165f908152600a602052604090205460ff165b8061100957506001600160a01b0382165f908152600a602052604090205460ff165b610d955760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105af565b611053828261116a565b15610e2257610e226111f7565b6001600160a01b0382165f908152600a602052604081205460ff1615801561057f5750506001600160a01b03165f908152600a602052604090205460ff1615919050565b5f806110b08585611304565b1115611158575f6110d26110c48686611304565b601154610774908690610be2565b305f908152600160205260409020549091506110ee908261115f565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061113e9085815260200190565b60405180910390a36111508382610a8a565b91505061057f565b5092915050565b5f61057f82846116e4565b601354305f908152600160205260408120546012549192111590610100900460ff1615801561119b575060125460ff165b80156111a95750600b5460ff165b80156111cd57506001600160a01b0384165f908152600a602052604090205460ff16155b80156111e657506003546001600160a01b038481169116145b80156111ef5750805b949350505050565b6012805461ff001916610100179055305f9081526001602052604081205490505f61123a600d546112346001600c5461115f90919063ffffffff16565b9061115f565b90506112458261134e565b475f6112518284610be2565b90505f611269600c5483610bd790919063ffffffff16565b905080156112b15760405173b2b84dc95d6cd2cd2abae7e3f24e92e021fcdda89082156108fc029083905f818181858888f193505050501580156112af573d5f803e3d5ffd5b505b4780156112f1576005546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156112ef573d5f803e3d5ffd5b505b50506012805461ff001916905550505050565b6003545f906001600160a01b03908116908316036113255750600f54610485565b6003546001600160a01b03908116908416036113445750600e54610485565b5060105492915050565b6040805160028082526060820183525f9260208301908036833701905050905030815f815181106113815761138161170a565b60200260200101906001600160a01b031690816001600160a01b03168152505060045f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611415919061171e565b816001815181106114285761142861170a565b6001600160a01b03928316602091820292909201015260045461144e9130911684610967565b6004805460405163791ac94760e01b81526001600160a01b039091169163791ac947916114859186915f9187913091429101611739565b5f604051808303815f87803b15801561149c575f80fd5b505af11580156114ae573d5f803e3d5ffd5b505050505050565b5f6020808352835180828501525f5b818110156114e1578581018301518582016040015282016114c5565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114611515575f80fd5b50565b5f8060408385031215611529575f80fd5b823561153481611501565b946020939093013593505050565b5f805f60608486031215611554575f80fd5b833561155f81611501565b9250602084013561156f81611501565b929592945050506040919091013590565b5f60208284031215611590575f80fd5b813561057f81611501565b5f80604083850312156115ac575f80fd5b50508035926020909101359150565b5f80604083850312156115cc575f80fd5b82356115d781611501565b9150602083013580151581146115eb575f80fd5b809150509250929050565b5f8060408385031215611607575f80fd5b823561161281611501565b915060208301356115eb81611501565b5f805f60608486031215611634575f80fd5b505081359360208301359350604090920135919050565b5f805f806080858703121561165e575f80fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176104855761048561167a565b5f826116bf57634e487b7160e01b5f52601260045260245ffd5b500490565b60208082526006908201526510a7aba722a960d11b604082015260600190565b808201808211156104855761048561167a565b818103818111156104855761048561167a565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561172e575f80fd5b815161057f81611501565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156117875784516001600160a01b031683529383019391830191600101611762565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204346776b288457070c0c445db2f6c01cbba656c08385ce33dda34ad3cdaca35a64736f6c63430008140033

Deployed Bytecode Sourcemap

5727:11758:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7860:83;;;;;;;;;;-1:-1:-1;7930:5:0;;;;;;;;;;;;-1:-1:-1;;;7930:5:0;;;;7860:83;;;;;;;:::i;:::-;;;;;;;;9047:184;;;;;;;;;;-1:-1:-1;9047:184:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9047:184:0;1023:187:1;9395:123:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;9395:123:0;1215:177:1;9239:148:0;;;;;;;;;;;;;:::i;17038:442::-;;;;;;;;;;-1:-1:-1;17038:442:0;;;;;:::i;:::-;;:::i;2887:103::-;;;;;;;;;;-1:-1:-1;2887:103:0;;;;;:::i;:::-;2942:4;2977:5;-1:-1:-1;;;;;2966:16:0;;;2977:5;;2966:16;;2887:103;8046:83;;;;;;;;;;-1:-1:-1;8046:83:0;;5953:2;2252:36:1;;2240:2;2225:18;8046:83:0;2110:184:1;6561:43:0;;;;;;;;;;-1:-1:-1;6561:43:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;14734:292;;;;;;;;;;-1:-1:-1;14734:292:0;;;;;:::i;:::-;;:::i;:::-;;9526:115;;;;;;;;;;;;;:::i;8411:119::-;;;;;;;;;;-1:-1:-1;8411:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;8504:18:0;8477:7;8504:18;;;:9;:18;;;;;;;8411:119;8311:92;;;;;;;;;;-1:-1:-1;8363:7:0;8390:5;-1:-1:-1;;;;;8390:5:0;8311:92;;;-1:-1:-1;;;;;2716:32:1;;;2698:51;;2686:2;2671:18;8311:92:0;2552:203:1;8137:166:0;;;;;;;;;;;;;:::i;7951:87::-;;;;;;;;;;-1:-1:-1;8023:7:0;;;;;;;;;;;;-1:-1:-1;;;8023:7:0;;;;7951:87;;8912:127;;;;;;;;;;-1:-1:-1;8912:127:0;;;;;:::i;:::-;;:::i;6170:19::-;;;;;;;;;;-1:-1:-1;6170:19:0;;;;-1:-1:-1;;;;;6170:19:0;;;8538:190;;;;;;;;;;-1:-1:-1;8538:190:0;;;;;:::i;:::-;;:::i;9649:119::-;;;;;;;;;;;;;:::i;8736:168::-;;;;;;;;;;-1:-1:-1;8736:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;8869:18:0;;;8842:7;8869:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;8736:168;11586:678;;;;;;;;;;-1:-1:-1;11586:678:0;;;;;:::i;:::-;;:::i;11031:547::-;;;;;;;;;;-1:-1:-1;11031:547:0;;;;;:::i;:::-;;:::i;2998:136::-;;;;;;;;;;-1:-1:-1;2998:136:0;;;;;:::i;:::-;;:::i;9047:184::-;9147:4;9164:37;9173:10;9185:7;9194:6;9164:8;:37::i;:::-;-1:-1:-1;9219:4:0;9047:184;;;;;:::o;9395:123::-;9440:7;9499:11;;9484;;9468:13;:11;:13::i;:::-;:27;;;;:::i;:::-;9467:43;;;;:::i;:::-;9460:50;;9395:123;:::o;9239:148::-;8504:9;:18;;;;5997:42;9292:7;8504:18;;;;;9319:12;;9292:7;;9319:60;;8504:18;;9319:33;;:12;:16;:33::i;:::-;:37;;:60::i;17038:442::-;17170:4;17187:36;17197:6;17205:9;17216:6;17187:9;:36::i;:::-;17234:216;17257:6;17278:10;17303:136;17357:6;17303:136;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17303:19:0;;;;;;:11;:19;;;;;;;;17323:10;17303:31;;;;;;;;;:136;:35;:136::i;:::-;17234:8;:216::i;:::-;-1:-1:-1;17468:4:0;17038:442;;;;;;:::o;14734:292::-;2942:4;2977:5;-1:-1:-1;;;;;2977:5:0;2837:10;2966:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;;;;;;;;;14883:53:::1;14928:6;14883:32;14900:14;14883:12;;:16;;:32;;;;:::i;:::-;:36:::0;::::1;:53::i;:::-;14867:13;:69:::0;14964:12:::1;::::0;:54:::1;::::0;15010:6:::1;::::0;14964:33:::1;::::0;14981:15;14964:16:::1;:33::i;:54::-;14947:14;:71:::0;-1:-1:-1;;14734:292:0:o;9526:115::-;9567:7;9622:11;;9611:7;;9595:13;:11;:13::i;8137:166::-;2942:4;2977:5;-1:-1:-1;;;;;2977:5:0;2837:10;2966:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;8204:4:::1;8192:11;:16:::0;;;8219:12:::1;:17:::0;;;8247:11:::1;:16:::0;8274:14:::1;:21:::0;;-1:-1:-1;;8274:21:0::1;8291:4;8274:21;::::0;;8137:166::o;8912:127::-;2942:4;2977:5;-1:-1:-1;;;;;2977:5:0;2837:10;2966:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8999:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;8999:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8912:127::o;8538:190::-;8641:4;8658:40;8668:10;8680:9;8691:6;8658:9;:40::i;9649:119::-;9692:7;9749:11;;9736:9;;9720:13;:11;:13::i;11586:678::-;2942:4;2977:5;-1:-1:-1;;;;;2977:5:0;2837:10;2966:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;11739:13:::1;11785:5;11772:9;11756:13;:11;:13::i;:::-;:25;;;;:::i;:::-;11755:35;;;;:::i;:::-;11739:51;;11801:19;11855:5;11840:11;11824:13;:11;:13::i;:::-;:27;;;;:::i;:::-;11823:37;;;;:::i;:::-;11801:59;;11871:17;11925:5;11908:13;11892;:11;:13::i;:::-;:29;;;;:::i;:::-;11891:39;;;;:::i;:::-;11941:7;:19:::0;;;11971:9:::1;:23:::0;;;12005:11:::1;:27:::0;;;11871:59;-1:-1:-1;;12059:30:0::1;12084:4;12059:20;12077:1;12059:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;12043:46;;12131:5;12122;:14;;:38;;;;;12155:5;12140:11;:20;;12122:38;:60;;;;;12177:5;12164:9;:18;;12122:60;12100:156;;;::::0;-1:-1:-1;;;12100:156:0;;5608:2:1;12100:156:0::1;::::0;::::1;5590:21:1::0;5647:2;5627:18;;;5620:30;5686:34;5666:18;;;5659:62;-1:-1:-1;;;5737:18:1;;;5730:44;5791:19;;12100:156:0::1;5406:410:1::0;12100:156:0::1;11728:536;;;;11586:678:::0;;;:::o;11031:547::-;2942:4;2977:5;-1:-1:-1;;;;;2977:5:0;2837:10;2966:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;11206:6:::1;:19:::0;;;11236:6:::1;:21:::0;;;11282:25:::1;11245:12:::0;11215:10;11282:25:::1;:::i;:::-;11268:11;:39:::0;;;11333:24:::1;::::0;11347:10;;11333:24:::1;:::i;:::-;11318:12;:39:::0;11368:11:::1;:20:::0;;;11436:11:::1;::::0;11421::::1;::::0;:26:::1;::::0;::::1;::::0;:57:::1;;;11467:11;;11451:12;;:27;;11421:57;11399:171;;;::::0;;-1:-1:-1;;;11399:171:0;;6153:2:1;11399:171:0::1;::::0;::::1;6135:21:1::0;6172:18;;;6165:30;;;;6231:34;6211:18;;;6204:62;6302:34;6282:18;;;6275:62;6354:19;;11399:171:0::1;5951:428:1::0;11399:171:0::1;11031:547:::0;;;;:::o;2998:136::-;2942:4;2977:5;-1:-1:-1;;;;;2977:5:0;2837:10;2966:16;2821:38;;;;-1:-1:-1;;;2821:38:0;;;;;;;:::i;:::-;3074:5:::1;:11:::0;;-1:-1:-1;;;;;;3074:11:0::1;-1:-1:-1::0;;;;;3074:11:0;::::1;::::0;;::::1;::::0;;;3101:25:::1;::::0;2698:51:1;;;3101:25:0::1;::::0;2686:2:1;2671:18;3101:25:0::1;;;;;;;2998:136:::0;:::o;15236:335::-;-1:-1:-1;;;;;15329:19:0;;15321:68;;;;-1:-1:-1;;;15321:68:0;;6802:2:1;15321:68:0;;;6784:21:1;6841:2;6821:18;;;6814:30;6880:34;6860:18;;;6853:62;-1:-1:-1;;;6931:18:1;;;6924:34;6975:19;;15321:68:0;6600:400:1;15321:68:0;-1:-1:-1;;;;;15408:21:0;;15400:68;;;;-1:-1:-1;;;15400:68:0;;7207:2:1;15400:68:0;;;7189:21:1;7246:2;7226:18;;;7219:30;7285:34;7265:18;;;7258:62;-1:-1:-1;;;7336:18:1;;;7329:32;7378:19;;15400:68:0;7005:398:1;15400:68:0;-1:-1:-1;;;;;15479:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;15531:32;;1361:25:1;;;15531:32:0;;1334:18:1;15531:32:0;;;;;;;15236:335;;;:::o;3321:98::-;3379:7;3406:5;3410:1;3406;:5;:::i;10332:691::-;10455:37;10466:6;10474:9;10485:6;10455:10;:37::i;:::-;10503:39;10524:6;10532:9;10503:20;:39::i;:::-;10553:43;10570:6;10578:9;10589:6;10553:16;:43::i;:::-;10607:39;10620:6;10628:9;10639:6;10607:12;:39::i;:::-;10657:27;10666:6;10674:9;10657:8;:27::i;:::-;-1:-1:-1;;;;;10715:17:0;;;;;;:9;:17;;;;;;:29;;10737:6;10715:21;:29::i;:::-;-1:-1:-1;;;;;10695:17:0;;;;;;:9;:17;;;;;:49;;;;10780:32;10705:6;10802:9;10780:13;:32::i;:::-;:102;;10876:6;10780:102;;;10828:32;10834:6;10842:9;10853:6;10828:5;:32::i;:::-;-1:-1:-1;;;;;10916:20:0;;;;;;:9;:20;;;;;;10755:127;;-1:-1:-1;10916:40:0;;10755:127;10916:24;:40::i;:::-;-1:-1:-1;;;;;10893:20:0;;;;;;;:9;:20;;;;;;;:63;;;;10972:43;;;;;;;;;;11000:14;1361:25:1;;1349:2;1334:18;;1215:177;10972:43:0;;;;;;;;10444:579;10332:691;;;:::o;4986:240::-;5106:7;5167:12;5159:6;;;;5151:29;;;;-1:-1:-1;;;5151:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;5202:5:0;;;4986:240::o;3427:98::-;3485:7;3512:5;3516:1;3512;:5;:::i;3533:98::-;3591:7;3618:5;3622:1;3618;:5;:::i;9776:548::-;-1:-1:-1;;;;;9914:20:0;;9906:70;;;;-1:-1:-1;;;9906:70:0;;7743:2:1;9906:70:0;;;7725:21:1;7782:2;7762:18;;;7755:30;7821:34;7801:18;;;7794:62;-1:-1:-1;;;7872:18:1;;;7865:35;7917:19;;9906:70:0;7541:401:1;9906:70:0;-1:-1:-1;;;;;9995:23:0;;9987:71;;;;-1:-1:-1;;;9987:71:0;;8149:2:1;9987:71:0;;;8131:21:1;8188:2;8168:18;;;8161:30;8227:34;8207:18;;;8200:62;-1:-1:-1;;;8278:18:1;;;8271:33;8321:19;;9987:71:0;7947:399:1;9987:71:0;10108:1;10091:6;:19;10069:110;;;;-1:-1:-1;;;10069:110:0;;8553:2:1;10069:110:0;;;8535:21:1;8592:2;8572:18;;;8565:30;8631:34;8611:18;;;8604:62;-1:-1:-1;;;8682:18:1;;;8675:39;8731:19;;10069:110:0;8351:405:1;10069:110:0;-1:-1:-1;;;;;8504:18:0;;8477:7;8504:18;;;:9;:18;;;;;;10212:6;:27;;10190:126;;;;-1:-1:-1;;;10190:126:0;;8963:2:1;10190:126:0;;;8945:21:1;9002:2;8982:18;;;8975:30;9041:34;9021:18;;;9014:62;-1:-1:-1;;;9092:18:1;;;9085:47;9149:19;;10190:126:0;8761:413:1;10190:126:0;9776:548;;;:::o;12272:243::-;-1:-1:-1;;;;;12392:19:0;;;;;;:11;:19;;;;;;;;12391:20;:47;;;;-1:-1:-1;;;;;;12416:22:0;;;;;;:11;:22;;;;;;;;12415:23;12391:47;12387:121;;;12463:14;;;;12455:41;;;;-1:-1:-1;;;12455:41:0;;9381:2:1;12455:41:0;;;9363:21:1;9420:2;9400:18;;;9393:30;-1:-1:-1;;;9439:18:1;;;9432:44;9493:18;;12455:41:0;9179:338:1;12455:41:0;12272:243;;:::o;12523:490::-;-1:-1:-1;;;;;12678:19:0;;;;;;:11;:19;;;;;;;;12677:20;:60;;;;-1:-1:-1;;;;;;12715:22:0;;;;;;:11;:22;;;;;;;;12714:23;12677:60;:103;;;;-1:-1:-1;12775:4:0;;-1:-1:-1;;;;;12754:26:0;;;12775:4;;12754:26;;12677:103;:146;;;;-1:-1:-1;;;;;;12797:26:0;;5997:42;12797:26;;12677:146;12659:347;;;12914:14;:12;:14::i;:::-;-1:-1:-1;;;;;12877:20:0;;;;;;:9;:20;;;;;;:32;;12902:6;12877:24;:32::i;:::-;12876:52;;12850:144;;;;-1:-1:-1;;;12850:144:0;;9724:2:1;12850:144:0;;;9706:21:1;9763:2;9743:18;;;9736:30;9802:32;9782:18;;;9775:60;9852:18;;12850:144:0;9522:354:1;13021:561:0;13167:4;;-1:-1:-1;;;;;13157:14:0;;;13167:4;;13157:14;13153:241;;13224:12;:10;:12::i;:::-;13214:6;:22;;:66;;;-1:-1:-1;;;;;;13261:19:0;;;;;;:11;:19;;;;;;;;13214:66;:113;;;-1:-1:-1;;;;;;13305:22:0;;;;;;:11;:22;;;;;;;;13214:113;13188:194;;;;-1:-1:-1;;;13188:194:0;;10083:2:1;13188:194:0;;;10065:21:1;10122:2;10102:18;;;10095:30;-1:-1:-1;;;10141:18:1;;;10134:49;10200:18;;13188:194:0;9881:343:1;13188:194:0;13436:10;:8;:10::i;:::-;13426:6;:20;;:60;;;-1:-1:-1;;;;;;13467:19:0;;;;;;:11;:19;;;;;;;;13426:60;:103;;;-1:-1:-1;;;;;;13507:22:0;;;;;;:11;:22;;;;;;;;13426:103;13404:170;;;;-1:-1:-1;;;13404:170:0;;10431:2:1;13404:170:0;;;10413:21:1;10470:2;10450:18;;;10443:30;-1:-1:-1;;;10489:18:1;;;10482:47;10546:18;;13404:170:0;10229:341:1;15034:194:0;15136:33;15151:6;15159:9;15136:14;:33::i;:::-;15132:89;;;15186:23;:21;:23::i;15983:185::-;-1:-1:-1;;;;;16114:19:0;;16089:4;16114:19;;;:11;:19;;;;;;;;16113:20;:47;;;;-1:-1:-1;;;;;;;16138:22:0;;;;;:11;:22;;;;;;;;16137:23;;15983:185;-1:-1:-1;15983:185:0:o;16491:539::-;16609:7;16669:1;16633:33;16648:6;16656:9;16633:14;:33::i;:::-;:37;16629:370;;;16687:17;16707:94;16753:33;16768:6;16776:9;16753:14;:33::i;:::-;16718:11;;16707:23;;:6;;:10;:23::i;:94::-;16861:4;16843:24;;;;:9;:24;;;;;;16687:114;;-1:-1:-1;16843:39:0;;16687:114;16843:28;:39::i;:::-;16834:4;16816:24;;;;:9;:24;;;;;;;:66;;;;16902:42;;-1:-1:-1;;;;;16902:42:0;;;;;;;16934:9;1361:25:1;;1349:2;1334:18;;1215:177;16902:42:0;;;;;;;;16966:21;:6;16977:9;16966:10;:21::i;:::-;16959:28;;;;;16629:370;-1:-1:-1;17016:6:0;16491:539;-1:-1:-1;;16491:539:0:o;3215:98::-;3273:7;3300:5;3304:1;3300;:5;:::i;15579:396::-;15753:13;;15743:4;15686;8504:18;;;:9;:18;;;;;;15798:8;;15686:4;;-1:-1:-1;15725:41:0;;15798:8;;;;;15797:9;:37;;;;-1:-1:-1;15823:11:0;;;;15797:37;:68;;;;-1:-1:-1;15851:14:0;;;;15797:68;:105;;;;-1:-1:-1;;;;;;15883:19:0;;;;;;:11;:19;;;;;;;;15882:20;15797:105;:139;;;;-1:-1:-1;15932:4:0;;-1:-1:-1;;;;;15919:17:0;;;15932:4;;15919:17;15797:139;:170;;;;;15953:14;15797:170;15777:190;15579:396;-1:-1:-1;;;;15579:396:0:o;13590:684::-;7130:8;:15;;-1:-1:-1;;7130:15:0;;;;;13684:4:::1;-1:-1:-1::0;8504:18:0;;;-1:-1:-1;8504:18:0;;;;;;13649:41:::1;;13701:20;13739:25;13757:6;;13739:13;13750:1;13739:6;;:10;;:13;;;;:::i;:::-;:17:::0;::::1;:25::i;:::-;13701:74;;13788:24;13805:6;13788:16;:24::i;:::-;13846:21;13823:20;13900:30;13846:21:::0;13917:12;13900:16:::1;:30::i;:::-;13878:52;;13943:20;13966:23;13982:6;;13966:11;:15;;:23;;;;:::i;:::-;13943:46:::0;-1:-1:-1;14004:16:0;;14000:90:::1;;14037:41;::::0;6300:42:::1;::::0;14037:41;::::1;;;::::0;14065:12;;14037:41:::1;::::0;;;14065:12;6300:42;14037:41;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14000:90;14127:21;14163:29:::0;;14159:108:::1;;14217:10;::::0;14209:46:::1;::::0;-1:-1:-1;;;;;14217:10:0;;::::1;::::0;14209:46;::::1;;;::::0;14238:16;;14217:10:::1;14209:46:::0;14217:10;14209:46;14238:16;14217:10;14209:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;14159:108;-1:-1:-1::0;;7168:8:0;:16;;-1:-1:-1;;7168:16:0;;;-1:-1:-1;;;;13590:684:0:o;16176:307::-;16320:4;;16283:7;;-1:-1:-1;;;;;16320:4:0;;;16307:17;;;;16303:69;;-1:-1:-1;16348:12:0;;16341:19;;16303:69;16396:4;;-1:-1:-1;;;;;16396:4:0;;;16386:14;;;;16382:65;;-1:-1:-1;16424:11:0;;16417:18;;16382:65;-1:-1:-1;16464:11:0;;16176:307;;;;:::o;14282:444::-;14372:16;;;14386:1;14372:16;;;;;;;;14348:21;;14372:16;;;;;;;;;;-1:-1:-1;14372:16:0;14348:40;;14417:4;14399;14404:1;14399:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;14399:23:0;;;-1:-1:-1;;;;;14399:23:0;;;;;14443:6;;;;;;;;;-1:-1:-1;;;;;14443:6:0;-1:-1:-1;;;;;14443:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14433:4;14438:1;14433:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14433:23:0;;;:7;;;;;;;;;:23;14499:6;;14467:53;;14484:4;;14499:6;14508:11;14467:8;:53::i;:::-;14531:6;;;:187;;-1:-1:-1;;;14531:187:0;;-1:-1:-1;;;;;14531:6:0;;;;:57;;:187;;14603:11;;14531:6;;14645:4;;14672;;14692:15;;14531:187;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14337:389;14282:444;:::o;14:548:1:-;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;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2760:416::-;2825:6;2833;2886:2;2874:9;2865:7;2861:23;2857:32;2854:52;;;2902:1;2899;2892:12;2854:52;2941:9;2928:23;2960:31;2985:5;2960:31;:::i;:::-;3010:5;-1:-1:-1;3067:2:1;3052:18;;3039:32;3109:15;;3102:23;3090:36;;3080:64;;3140:1;3137;3130:12;3080:64;3163:7;3153:17;;;2760:416;;;;;:::o;3181:388::-;3249:6;3257;3310:2;3298:9;3289:7;3285:23;3281:32;3278:52;;;3326:1;3323;3316:12;3278:52;3365:9;3352:23;3384:31;3409:5;3384:31;:::i;:::-;3434:5;-1:-1:-1;3491:2:1;3476:18;;3463:32;3504:33;3463:32;3504:33;:::i;3574:316::-;3651:6;3659;3667;3720:2;3708:9;3699:7;3695:23;3691:32;3688:52;;;3736:1;3733;3726:12;3688:52;-1:-1:-1;;3759:23:1;;;3829:2;3814:18;;3801:32;;-1:-1:-1;3880:2:1;3865:18;;;3852:32;;3574:316;-1:-1:-1;3574:316:1:o;3895:385::-;3981:6;3989;3997;4005;4058:3;4046:9;4037:7;4033:23;4029:33;4026:53;;;4075:1;4072;4065:12;4026:53;-1:-1:-1;;4098:23:1;;;4168:2;4153:18;;4140:32;;-1:-1:-1;4219:2:1;4204:18;;4191:32;;4270:2;4255:18;4242:32;;-1:-1:-1;3895:385:1;-1:-1:-1;3895:385:1:o;4545:127::-;4606:10;4601:3;4597:20;4594:1;4587:31;4637:4;4634:1;4627:15;4661:4;4658:1;4651:15;4677:168;4750:9;;;4781;;4798:15;;;4792:22;;4778:37;4768:71;;4819:18;;:::i;4850:217::-;4890:1;4916;4906:132;;4960:10;4955:3;4951:20;4948:1;4941:31;4995:4;4992:1;4985:15;5023:4;5020:1;5013:15;4906:132;-1:-1:-1;5052:9:1;;4850:217::o;5072:329::-;5274:2;5256:21;;;5313:1;5293:18;;;5286:29;-1:-1:-1;;;5346:2:1;5331:18;;5324:36;5392:2;5377:18;;5072:329::o;5821:125::-;5886:9;;;5907:10;;;5904:36;;;5920:18;;:::i;7408:128::-;7475:9;;;7496:11;;;7493:37;;;7510:18;;:::i;10707:127::-;10768:10;10763:3;10759:20;10756:1;10749:31;10799:4;10796:1;10789:15;10823:4;10820:1;10813:15;10839:251;10909:6;10962:2;10950:9;10941:7;10937:23;10933:32;10930:52;;;10978:1;10975;10968:12;10930:52;11010:9;11004:16;11029:31;11054:5;11029:31;:::i;11095:980::-;11357:4;11405:3;11394:9;11390:19;11436:6;11425:9;11418:25;11462:2;11500:6;11495:2;11484:9;11480:18;11473:34;11543:3;11538:2;11527:9;11523:18;11516:31;11567:6;11602;11596:13;11633:6;11625;11618:22;11671:3;11660:9;11656:19;11649:26;;11710:2;11702:6;11698:15;11684:29;;11731:1;11741:195;11755:6;11752:1;11749:13;11741:195;;;11820:13;;-1:-1:-1;;;;;11816:39:1;11804:52;;11911:15;;;;11876:12;;;;11852:1;11770:9;11741:195;;;-1:-1:-1;;;;;;;11992:32:1;;;;11987:2;11972:18;;11965:60;-1:-1:-1;;;12056:3:1;12041:19;12034:35;11953:3;11095:980;-1:-1:-1;;;11095:980:1:o

Swarm Source

ipfs://4346776b288457070c0c445db2f6c01cbba656c08385ce33dda34ad3cdaca35a

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.