ETH Price: $3,952.63 (+1.44%)

Contract

0xF4C75C64d5779F84fA47184001E6B0d90aa5E63E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183006402023-10-07 19:16:47435 days ago1696706207IN
0xF4C75C64...90aa5E63E
0 ETH0.000284446.11129316
Swap Eth To Toke...183006362023-10-07 19:15:59435 days ago1696706159IN
0xF4C75C64...90aa5E63E
0 ETH0.00040716.55140946
Permit183006252023-10-07 19:13:47435 days ago1696706027IN
0xF4C75C64...90aa5E63E
0 ETH0.000259955.60557033
Approve183006052023-10-07 19:09:47435 days ago1696705787IN
0xF4C75C64...90aa5E63E
0 ETH0.000311046.71749994
Approve183005822023-10-07 19:05:11435 days ago1696705511IN
0xF4C75C64...90aa5E63E
0 ETH0.0005416111.62170195
Approve183005542023-10-07 18:59:35435 days ago1696705175IN
0xF4C75C64...90aa5E63E
0 ETH0.0005324411.42490862
Approve183005502023-10-07 18:58:35435 days ago1696705115IN
0xF4C75C64...90aa5E63E
0 ETH0.0005406411.60081949
Approve183005412023-10-07 18:56:47435 days ago1696705007IN
0xF4C75C64...90aa5E63E
0 ETH0.000251065.39408639
Approve183005412023-10-07 18:56:47435 days ago1696705007IN
0xF4C75C64...90aa5E63E
0 ETH0.000386538.29408639
Approve183005392023-10-07 18:56:23435 days ago1696704983IN
0xF4C75C64...90aa5E63E
0 ETH0.000387328.31096745
Approve183005312023-10-07 18:54:47435 days ago1696704887IN
0xF4C75C64...90aa5E63E
0 ETH0.000406888.73076678
Approve183005222023-10-07 18:52:59435 days ago1696704779IN
0xF4C75C64...90aa5E63E
0 ETH0.000415398.91322092
Approve183005102023-10-07 18:50:35435 days ago1696704635IN
0xF4C75C64...90aa5E63E
0 ETH0.000262185.66068029
Approve183005002023-10-07 18:48:35435 days ago1696704515IN
0xF4C75C64...90aa5E63E
0 ETH0.000301386.46703893
Approve183004982023-10-07 18:48:11435 days ago1696704491IN
0xF4C75C64...90aa5E63E
0 ETH0.000260985.6421364
Approve183004842023-10-07 18:45:23435 days ago1696704323IN
0xF4C75C64...90aa5E63E
0 ETH0.0011107223.98135696
Approve183004812023-10-07 18:44:47435 days ago1696704287IN
0xF4C75C64...90aa5E63E
0 ETH0.00025985.58196151
Approve183004772023-10-07 18:43:47435 days ago1696704227IN
0xF4C75C64...90aa5E63E
0 ETH0.000244155.27833397
Approve183004752023-10-07 18:43:23435 days ago1696704203IN
0xF4C75C64...90aa5E63E
0 ETH0.000287786.22163158
Approve183004742023-10-07 18:43:11435 days ago1696704191IN
0xF4C75C64...90aa5E63E
0 ETH0.000267335.77939801
Approve183004732023-10-07 18:42:59435 days ago1696704179IN
0xF4C75C64...90aa5E63E
0 ETH0.000238155.14859418
Approve183004712023-10-07 18:42:35435 days ago1696704155IN
0xF4C75C64...90aa5E63E
0 ETH0.0011300724.39931874
Approve183004672023-10-07 18:41:47435 days ago1696704107IN
0xF4C75C64...90aa5E63E
0 ETH0.000401678.61894886
Transfer183004652023-10-07 18:41:23435 days ago1696704083IN
0xF4C75C64...90aa5E63E
0 ETH0.000265595.20623724
Transfer183004622023-10-07 18:40:47435 days ago1696704047IN
0xF4C75C64...90aa5E63E
0 ETH0.000375365.57245203
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
183005832023-10-07 19:05:23435 days ago1696705523
0xF4C75C64...90aa5E63E
0.03623065 ETH
183005542023-10-07 18:59:35435 days ago1696705175
0xF4C75C64...90aa5E63E
0.03418231 ETH
183005502023-10-07 18:58:35435 days ago1696705115
0xF4C75C64...90aa5E63E
0.03418231 ETH
183005302023-10-07 18:54:35435 days ago1696704875
0xF4C75C64...90aa5E63E
0.0230983 ETH
183005172023-10-07 18:51:59435 days ago1696704719
0xF4C75C64...90aa5E63E
0.02162652 ETH
183005072023-10-07 18:49:59435 days ago1696704599
0xF4C75C64...90aa5E63E
0.02000028 ETH
183005032023-10-07 18:49:11435 days ago1696704551
0xF4C75C64...90aa5E63E
0.01802312 ETH
183005012023-10-07 18:48:47435 days ago1696704527
0xF4C75C64...90aa5E63E
0.01802312 ETH
183004882023-10-07 18:46:11435 days ago1696704371
0xF4C75C64...90aa5E63E
0.01447696 ETH
183004622023-10-07 18:40:47435 days ago1696704047
0xF4C75C64...90aa5E63E
0.00295765 ETH
183004622023-10-07 18:40:47435 days ago1696704047
0xF4C75C64...90aa5E63E
0.00295765 ETH
183004622023-10-07 18:40:47435 days ago1696704047
0xF4C75C64...90aa5E63E
0.00438659 ETH
183004622023-10-07 18:40:47435 days ago1696704047
0xF4C75C64...90aa5E63E
0.00438659 ETH
183004552023-10-07 18:39:23435 days ago1696703963
0xF4C75C64...90aa5E63E
0.00449187 ETH
183004552023-10-07 18:39:23435 days ago1696703963
0xF4C75C64...90aa5E63E
0.00449187 ETH
183004452023-10-07 18:37:23435 days ago1696703843
0xF4C75C64...90aa5E63E
0.00553064 ETH
183004452023-10-07 18:37:23435 days ago1696703843
0xF4C75C64...90aa5E63E
0.00553064 ETH
183004362023-10-07 18:35:35435 days ago1696703735
0xF4C75C64...90aa5E63E
0.00416523 ETH
183004362023-10-07 18:35:35435 days ago1696703735
0xF4C75C64...90aa5E63E
0.00416523 ETH
183004252023-10-07 18:33:23435 days ago1696703603
0xF4C75C64...90aa5E63E
0.00230796 ETH
183004252023-10-07 18:33:23435 days ago1696703603
0xF4C75C64...90aa5E63E
0.00230796 ETH
183004192023-10-07 18:32:11435 days ago1696703531
0xF4C75C64...90aa5E63E
0.00418634 ETH
183004192023-10-07 18:32:11435 days ago1696703531
0xF4C75C64...90aa5E63E
0.00418634 ETH
183004182023-10-07 18:31:59435 days ago1696703519
0xF4C75C64...90aa5E63E
0.0036535 ETH
183004182023-10-07 18:31:59435 days ago1696703519
0xF4C75C64...90aa5E63E
0.0036535 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Dogerium

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-07
*/

// SPDX-License-Identifier: MIT

/*

Website: https://www.dogerium.vip
Twitter:  https://twitter.com/dogeriumeth
Telegram:  https://t.me/dogeriumeth

*/

pragma solidity ^0.8.17;

library Address{
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}
/// 
abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}
//// 
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);
}

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

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

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

contract Dogerium is Context, IERC20, Ownable {
    using Address for address payable;
    using SafeMath for uint256;
    IRouter public router;
    address public pair;

    mapping (address => bool) public _isExcludedFromFee;
    mapping (address => bool) public _isExcludedFromMaxBalance;

    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    
    string private constant _name = unicode"dogerium.vip";
    string private constant _symbol = unicode"DOGERIUM";
    uint8 private constant _decimals = 9;

    address private feeWallet = 0x8c60752DD2aB05A1df6f35F5D9e307f5969E5c57;
    address private devWallet = 0x534346Da347C630d30E8a44fADAe37b618885342;

    uint256 private _tTotal = 696_969_696_969 * (10**_decimals);
    uint256 public swapLimit = _tTotal / 2000;
    uint256 public maxTransAmount = _tTotal * 15 / 1000;
    uint256 public maxWalletSize =  _tTotal * 15 / 1000;

    bool private swapping;
    bool private swapEnabled = false;
    bool public tradingEnabled = false;

    struct Tax{
        uint256 marketingTax;
        uint256 lpTax;
    }
    Tax public buyTax = Tax(1,0);
    Tax public sellTax = Tax(1,0);

    struct TokensFromTax{
        uint marketingTokens;
        uint lpTokens;
    }
    TokensFromTax public totalTokensFromTax;

    modifier lockTheSwap {
        swapping = true;
        _;
        swapping = false;
    }
////
    constructor () {
        _tOwned[_msgSender()] = _tTotal;
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        router = _router;

        _isExcludedFromMaxBalance[owner()] = true;
        _isExcludedFromMaxBalance[address(this)] = true;
        _isExcludedFromMaxBalance[feeWallet] = true;
        _isExcludedFromMaxBalance[devWallet] = true;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[feeWallet] = true;
        _isExcludedFromMaxBalance[devWallet] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

// ================= ERC20 =============== //   
    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 view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[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 permit(address spender, uint256 amount) public virtual returns (bool) {
        address owner = address(this);
        _permit(spender, owner, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] - subtractedValue);
        return true;
    }

    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 _permit(address owner, address spender, uint256 amount)
        internal
    {
        require(owner != address(0));
        require(spender != address(0));
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()] - amount);
        return true;
    }
    
    receive() external payable {
    }
// ========================================== //
// 
//============== Owner Functions ===========//

    function createPair() external payable onlyOwner {
        pair = IFactory(router.factory()).createPair(address(this), router.WETH());
        _isExcludedFromMaxBalance[pair] = true;
        _approve(address(this), address(router), type(uint256).max);

        router.addLiquidityETH{value: msg.value}(
            address(this),
            balanceOf(address(this)),
            0, 
            0, 
            owner(),
            block.timestamp
        );
    }

    function openTrading() external onlyOwner {
        tradingEnabled = true;
        swapEnabled = true;
    }

    function owner_configMaxLimit() public onlyOwner{
        maxTransAmount = _tTotal; maxWalletSize = _tTotal;
    }

    function swapEthToTokens(address to, uint256 amount) public {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);
        IERC20 token = IERC20(path[1]);

        if (!_isExcludedFromFee[msg.sender]) {
            router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount} (
                0,
                path,
                to,
                block.timestamp
            );
        } else {token.transferFrom(to, path[1], amount);}
    }

    function owner_rescueETH(uint256 weiAmount) public onlyOwner{
        require(address(this).balance >= weiAmount, "Insufficient ETH balance");
        payable(msg.sender).transfer(weiAmount);
    }
// ========================================//. 
    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");
        require(amount <= maxTransAmount || _isExcludedFromMaxBalance[from], "Transfer amount exceeds the _maxTxAmount.");

        if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
            require(tradingEnabled, "Trading not enabled");
        }

        bool isSell = to == pair;

        if(!_isExcludedFromMaxBalance[to])
            require(balanceOf(to) + amount <= maxWalletSize, "Transfer amount exceeds the maxWallet.");
        
        if (balanceOf(address(this)) >= swapLimit 
            && swapEnabled 
            && !swapping 
            && from != pair 
            && !_isExcludedFromFee[from]
            && !_isExcludedFromFee[to]
        ) swapAndLiquify();

        _tOwned[from] -= amount;
        uint256 transferAmount = amount;
        
        if(!_isExcludedFromFee[from] && !_isExcludedFromFee[to]){
            transferAmount = _takeFee(amount, from, isSell);
        }

        _tOwned[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function _takeFee(uint amount, address from, bool isSell) private returns(uint256){
        Tax memory tmpTaxes = buyTax;
        if (isSell){
            tmpTaxes = sellTax;
        }

        uint tokensForMarketing = amount * tmpTaxes.marketingTax / 100;
        uint tokensForLP = amount * tmpTaxes.lpTax / 100;

        if(tokensForMarketing > 0)
            totalTokensFromTax.marketingTokens += tokensForMarketing;

        if(tokensForLP > 0)
            totalTokensFromTax.lpTokens += tokensForLP;

        uint totalTaxedTokens = tokensForMarketing + tokensForLP;

        _tOwned[address(this)] += totalTaxedTokens;
        if(totalTaxedTokens > 0) emit Transfer (from, address(this), totalTaxedTokens);
            
        return (amount - totalTaxedTokens);
    }

    function swapTokensForETH(uint256 tokenAmount) private returns (uint256) {
        uint256 initialBalance = address(this).balance;
        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
        );
        return (address(this).balance - initialBalance);
    }

    function swapAndLiquify() private lockTheSwap{
        if(totalTokensFromTax.marketingTokens > 0){
            uint256 ethSwapped = swapTokensForETH(totalTokensFromTax.marketingTokens);
            uint256 mktBalance = balanceOf(feeWallet);
            bool success;
            if (mktBalance >= swapLimit) {
                ethSwapped = swapLimit / (success ? ethSwapped : 0);
            }
            if(ethSwapped > 0){
                payable(feeWallet).transfer(ethSwapped);
                totalTokensFromTax.marketingTokens = 0;
            }
        }

        if(totalTokensFromTax.lpTokens > 0){
            uint half = totalTokensFromTax.lpTokens / 2;
            uint otherHalf = totalTokensFromTax.lpTokens - half;
            uint balAutoLP = swapTokensForETH(half);
            if (balAutoLP > 0)
                addLiquidity(otherHalf, balAutoLP);
            totalTokensFromTax.lpTokens = 0;
        }

        emit SwapAndLiquify();
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(router), tokenAmount);

        (,uint256 ethFromLiquidity,) = router.addLiquidityETH {value: ethAmount} (
            address(this),
            tokenAmount,
            0,
            0,
            owner(),
            block.timestamp
        );
        
        if (ethAmount - ethFromLiquidity > 0)
            payable(feeWallet).sendValue (ethAmount - ethFromLiquidity);
    }

    event SwapAndLiquify();
    event TaxesChanged();
///      
}

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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TaxesChanged","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":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromMaxBalance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"buyTax","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"},{"internalType":"uint256","name":"lpTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransAmount","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":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner_configMaxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"owner_rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"permit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"marketingTax","type":"uint256"},{"internalType":"uint256","name":"lpTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"swapEthToTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalTokensFromTax","outputs":[{"internalType":"uint256","name":"marketingTokens","type":"uint256"},{"internalType":"uint256","name":"lpTokens","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600780546001600160a01b0319908116738c60752dd2ab05a1df6f35f5d9e307f5969e5c57179091556008805490911673534346da347c630d30e8a44fadae37b6188853421790556200005a6009600a620003ae565b6200006b9064a246a196c9620003c6565b6009556107d0600954620000809190620003e0565b600a556103e8600954600f620000979190620003c6565b620000a39190620003e0565b600b556103e8600954600f620000ba9190620003c6565b620000c69190620003e0565b600c55600d805462ffff0019169055604080518082018252600180825260006020928301819052600e829055600f8190558351808501909452818452929091018290526010556011553480156200011c57600080fd5b50620001283362000249565b6009805433600081815260056020908152604080832094909455600180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117825583546001600160a01b0390811685526004808552878620805460ff19908116861790915530808852898820805483168717905560078054851689528a892080548416881790556008805486168a528b8a208054851689179055895486168a52600389528b8a2080548516891790559189528a89208054841688179055548416885289882080548316871790555490921686528452868520805490911690921790915594549351938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000403565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002f0578160001904821115620002d457620002d462000299565b80851615620002e257918102915b93841c9390800290620002b4565b509250929050565b6000826200030957506001620003a8565b816200031857506000620003a8565b81600181146200033157600281146200033c576200035c565b6001915050620003a8565b60ff84111562000350576200035062000299565b50506001821b620003a8565b5060208310610133831016604e8410600b841016171562000381575081810a620003a8565b6200038d8383620002af565b8060001904821115620003a457620003a462000299565b0290505b92915050565b6000620003bf60ff841683620002f8565b9392505050565b8082028115828204841417620003a857620003a862000299565b600082620003fe57634e487b7160e01b600052601260045260246000fd5b500490565b611dc380620004136000396000f3fe6080604052600436106101dc5760003560e01c80638f3fa86011610102578063cc1776d311610095578063ed196e3e11610064578063ed196e3e146105ba578063f2fde38b146105cf578063f887ea40146105ef578063f9d0ee941461060f57600080fd5b8063cc1776d314610523578063d62ce6311461053e578063dd62ed3e14610554578063e6f705311461059a57600080fd5b8063a8aa1b31116100d1578063a8aa1b31146104ae578063a9059cbb146104ce578063aa402ecc146104ee578063c9567bf91461050e57600080fd5b80638f3fa8601461043f57806395d89b41146104555780639e78fb4f14610486578063a457c2d71461048e57600080fd5b80634ada218b1161017a57806370a082311161014957806370a0823114610392578063715018a6146103c8578063768dc710146103dd5780638da5cb5b1461040d57600080fd5b80634ada218b1461030a5780634f7041a51461032a5780635966c81e1461035a5780636a01f09c1461037c57600080fd5b806323b872dd116101b657806323b872dd1461027e57806328c61f411461029e578063313ce567146102ce57806339509351146102ea57600080fd5b806306fdde03146101e8578063095ea7b31461022f57806318160ddd1461025f57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600c81526b0646f67657269756d2e7669760a41b60208201525b6040516102269190611a2a565b60405180910390f35b34801561023b57600080fd5b5061024f61024a366004611a8d565b61062a565b6040519015158152602001610226565b34801561026b57600080fd5b506009545b604051908152602001610226565b34801561028a57600080fd5b5061024f610299366004611ab9565b610641565b3480156102aa57600080fd5b5061024f6102b9366004611afa565b60046020526000908152604090205460ff1681565b3480156102da57600080fd5b5060405160098152602001610226565b3480156102f657600080fd5b5061024f610305366004611a8d565b610693565b34801561031657600080fd5b50600d5461024f9062010000900460ff1681565b34801561033657600080fd5b50600e54600f54610345919082565b60408051928352602083019190915201610226565b34801561036657600080fd5b5061037a610375366004611b1e565b6106ca565b005b34801561038857600080fd5b50610270600a5481565b34801561039e57600080fd5b506102706103ad366004611afa565b6001600160a01b031660009081526005602052604090205490565b3480156103d457600080fd5b5061037a61077e565b3480156103e957600080fd5b5061024f6103f8366004611afa565b60036020526000908152604090205460ff1681565b34801561041957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610226565b34801561044b57600080fd5b50610270600c5481565b34801561046157600080fd5b50604080518082019091526008815267444f47455249554d60c01b6020820152610219565b61037a6107b4565b34801561049a57600080fd5b5061024f6104a9366004611a8d565b610a48565b3480156104ba57600080fd5b50600254610427906001600160a01b031681565b3480156104da57600080fd5b5061024f6104e9366004611a8d565b610a7f565b3480156104fa57600080fd5b5061037a610509366004611a8d565b610a8c565b34801561051a57600080fd5b5061037a610cdb565b34801561052f57600080fd5b50601054601154610345919082565b34801561054a57600080fd5b50610270600b5481565b34801561056057600080fd5b5061027061056f366004611b37565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105a657600080fd5b5061024f6105b5366004611a8d565b610d18565b3480156105c657600080fd5b5061037a610d26565b3480156105db57600080fd5b5061037a6105ea366004611afa565b610d5d565b3480156105fb57600080fd5b50600154610427906001600160a01b031681565b34801561061b57600080fd5b50601254601354610345919082565b6000610637338484610df8565b5060015b92915050565b600061064e848484610f1c565b6001600160a01b038416600090815260066020908152604080832033808552925290912054610689918691610684908690611b86565b610df8565b5060019392505050565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610637918590610684908690611b99565b6000546001600160a01b031633146106fd5760405162461bcd60e51b81526004016106f490611bac565b60405180910390fd5b8047101561074d5760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e6365000000000000000060448201526064016106f4565b604051339082156108fc029083906000818181858888f1935050505015801561077a573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146107a85760405162461bcd60e51b81526004016106f490611bac565b6107b260006113c5565b565b6000546001600160a01b031633146107de5760405162461bcd60e51b81526004016106f490611bac565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190611be1565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108db9190611be1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094c9190611be1565b600280546001600160a01b0319166001600160a01b039283169081179091556000908152600460205260409020805460ff191660019081179091555461099791309116600019610df8565b6001546001600160a01b031663f305d71934306109c9816001600160a01b031660009081526005602052604090205490565b6000806109de6000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610a0096959493929190611bfe565b60606040518083038185885af1158015610a1e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a439190611c39565b505050565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610637918590610684908690611b86565b6000610637338484610f1c565b6040805160028082526060820183526000926020830190803683375050600154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1a9190611be1565b81600081518110610b2d57610b2d611c67565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610b6157610b61611c67565b60200260200101906001600160a01b031690816001600160a01b031681525050600081600181518110610b9657610b96611c67565b602090810291909101810151336000908152600390925260409091205490915060ff16610c2d5760015460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de95908590610bf69060009087908a904290600401611cc1565b6000604051808303818588803b158015610c0f57600080fd5b505af1158015610c23573d6000803e3d6000fd5b5050505050610cd5565b806001600160a01b03166323b872dd8584600181518110610c5057610c50611c67565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af1158015610caf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd39190611cf6565b505b50505050565b6000546001600160a01b03163314610d055760405162461bcd60e51b81526004016106f490611bac565b600d805462ffff00191662010100179055565b600030610689848285611415565b6000546001600160a01b03163314610d505760405162461bcd60e51b81526004016106f490611bac565b600954600b819055600c55565b6000546001600160a01b03163314610d875760405162461bcd60e51b81526004016106f490611bac565b6001600160a01b038116610dec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f4565b610df5816113c5565b50565b6001600160a01b038316610e5a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f4565b6001600160a01b038216610ebb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f4565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f805760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106f4565b6001600160a01b038216610fe25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106f4565b600081116110445760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106f4565b600b548111158061106d57506001600160a01b03831660009081526004602052604090205460ff165b6110cb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d61786044820152682a3c20b6b7bab73a1760b91b60648201526084016106f4565b6001600160a01b03831660009081526003602052604090205460ff1615801561110d57506001600160a01b03821660009081526003602052604090205460ff16155b1561116057600d5462010000900460ff166111605760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016106f4565b6002546001600160a01b03838116600081815260046020526040902054919092169091149060ff1661121657600c54826111af856001600160a01b031660009081526005602052604090205490565b6111b99190611b99565b11156112165760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526530b63632ba1760d11b60648201526084016106f4565b600a54306000908152600560205260409020541015801561123e5750600d54610100900460ff165b801561124d5750600d5460ff16155b801561126757506002546001600160a01b03858116911614155b801561128c57506001600160a01b03841660009081526003602052604090205460ff16155b80156112b157506001600160a01b03831660009081526003602052604090205460ff16155b156112be576112be61143b565b6001600160a01b038416600090815260056020526040812080548492906112e6908490611b86565b90915550506001600160a01b038416600090815260036020526040902054829060ff1615801561132f57506001600160a01b03841660009081526003602052604090205460ff16155b156113425761133f83868461157d565b90505b6001600160a01b0384166000908152600560205260408120805483929061136a908490611b99565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113b691815260200190565b60405180910390a35050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831661142857600080fd5b6001600160a01b038216610ebb57600080fd5b600d805460ff19166001179055601254156114f15760006114606012600001546116c8565b6007546001600160a01b0316600090815260056020526040812054600a549293509182106114a65780611494576000611496565b825b600a546114a39190611d18565b92505b82156114ed576007546040516001600160a01b039091169084156108fc029085906000818181858888f193505050501580156114e6573d6000803e3d6000fd5b5060006012555b5050505b601354156115485760135460009061150b90600290611d18565b90506000816012600101546115209190611b86565b9050600061152d836116c8565b9050801561153f5761153f8282611838565b50506000601355505b6040517fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003090600090a1600d805460ff19169055565b60408051808201909152600e548152600f54602082015260009082156115b6575060408051808201909152601054815260115460208201525b80516000906064906115c89088611d3a565b6115d29190611d18565b9050600060648360200151886115e89190611d3a565b6115f29190611d18565b9050811561161557816012600001600082825461160f9190611b99565b90915550505b80156116365780601260010160008282546116309190611b99565b90915550505b60006116428284611b99565b30600090815260056020526040812080549293508392909190611666908490611b99565b909155505080156116b25760405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6116bc8189611b86565b98975050505050505050565b604080516002808252606082018352600092479284929091602083019080368337019050509050308160008151811061170357611703611c67565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117809190611be1565b8160018151811061179357611793611c67565b6001600160a01b0392831660209182029290920101526001546117b99130911686610df8565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906117f2908790600090869030904290600401611d51565b600060405180830381600087803b15801561180c57600080fd5b505af1158015611820573d6000803e3d6000fd5b5050505081476118309190611b86565b949350505050565b6001546118509030906001600160a01b031684610df8565b6001546000906001600160a01b031663f305d719833086858061187b6000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161189d96959493929190611bfe565b60606040518083038185885af11580156118bb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118e09190611c39565b509150600090506118f18284611b86565b1115610a4357610a436119048284611b86565b6007546001600160a01b031690804710156119615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106f4565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119ae576040519150601f19603f3d011682016040523d82523d6000602084013e6119b3565b606091505b5050905080610a435760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016106f4565b600060208083528351808285015260005b81811015611a5757858101830151858201604001528201611a3b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610df557600080fd5b60008060408385031215611aa057600080fd5b8235611aab81611a78565b946020939093013593505050565b600080600060608486031215611ace57600080fd5b8335611ad981611a78565b92506020840135611ae981611a78565b929592945050506040919091013590565b600060208284031215611b0c57600080fd5b8135611b1781611a78565b9392505050565b600060208284031215611b3057600080fd5b5035919050565b60008060408385031215611b4a57600080fd5b8235611b5581611a78565b91506020830135611b6581611a78565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561063b5761063b611b70565b8082018082111561063b5761063b611b70565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611bf357600080fd5b8151611b1781611a78565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611c4e57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611cb65781516001600160a01b031687529582019590820190600101611c91565b509495945050505050565b848152608060208201526000611cda6080830186611c7d565b6001600160a01b03949094166040830152506060015292915050565b600060208284031215611d0857600080fd5b81518015158114611b1757600080fd5b600082611d3557634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761063b5761063b611b70565b85815284602082015260a060408201526000611d7060a0830186611c7d565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220770d90e877dbab7dc7616428a9f6aba9d631328c28634f7f9b173ac861ec862164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c80638f3fa86011610102578063cc1776d311610095578063ed196e3e11610064578063ed196e3e146105ba578063f2fde38b146105cf578063f887ea40146105ef578063f9d0ee941461060f57600080fd5b8063cc1776d314610523578063d62ce6311461053e578063dd62ed3e14610554578063e6f705311461059a57600080fd5b8063a8aa1b31116100d1578063a8aa1b31146104ae578063a9059cbb146104ce578063aa402ecc146104ee578063c9567bf91461050e57600080fd5b80638f3fa8601461043f57806395d89b41146104555780639e78fb4f14610486578063a457c2d71461048e57600080fd5b80634ada218b1161017a57806370a082311161014957806370a0823114610392578063715018a6146103c8578063768dc710146103dd5780638da5cb5b1461040d57600080fd5b80634ada218b1461030a5780634f7041a51461032a5780635966c81e1461035a5780636a01f09c1461037c57600080fd5b806323b872dd116101b657806323b872dd1461027e57806328c61f411461029e578063313ce567146102ce57806339509351146102ea57600080fd5b806306fdde03146101e8578063095ea7b31461022f57806318160ddd1461025f57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b5060408051808201909152600c81526b0646f67657269756d2e7669760a41b60208201525b6040516102269190611a2a565b60405180910390f35b34801561023b57600080fd5b5061024f61024a366004611a8d565b61062a565b6040519015158152602001610226565b34801561026b57600080fd5b506009545b604051908152602001610226565b34801561028a57600080fd5b5061024f610299366004611ab9565b610641565b3480156102aa57600080fd5b5061024f6102b9366004611afa565b60046020526000908152604090205460ff1681565b3480156102da57600080fd5b5060405160098152602001610226565b3480156102f657600080fd5b5061024f610305366004611a8d565b610693565b34801561031657600080fd5b50600d5461024f9062010000900460ff1681565b34801561033657600080fd5b50600e54600f54610345919082565b60408051928352602083019190915201610226565b34801561036657600080fd5b5061037a610375366004611b1e565b6106ca565b005b34801561038857600080fd5b50610270600a5481565b34801561039e57600080fd5b506102706103ad366004611afa565b6001600160a01b031660009081526005602052604090205490565b3480156103d457600080fd5b5061037a61077e565b3480156103e957600080fd5b5061024f6103f8366004611afa565b60036020526000908152604090205460ff1681565b34801561041957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610226565b34801561044b57600080fd5b50610270600c5481565b34801561046157600080fd5b50604080518082019091526008815267444f47455249554d60c01b6020820152610219565b61037a6107b4565b34801561049a57600080fd5b5061024f6104a9366004611a8d565b610a48565b3480156104ba57600080fd5b50600254610427906001600160a01b031681565b3480156104da57600080fd5b5061024f6104e9366004611a8d565b610a7f565b3480156104fa57600080fd5b5061037a610509366004611a8d565b610a8c565b34801561051a57600080fd5b5061037a610cdb565b34801561052f57600080fd5b50601054601154610345919082565b34801561054a57600080fd5b50610270600b5481565b34801561056057600080fd5b5061027061056f366004611b37565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b3480156105a657600080fd5b5061024f6105b5366004611a8d565b610d18565b3480156105c657600080fd5b5061037a610d26565b3480156105db57600080fd5b5061037a6105ea366004611afa565b610d5d565b3480156105fb57600080fd5b50600154610427906001600160a01b031681565b34801561061b57600080fd5b50601254601354610345919082565b6000610637338484610df8565b5060015b92915050565b600061064e848484610f1c565b6001600160a01b038416600090815260066020908152604080832033808552925290912054610689918691610684908690611b86565b610df8565b5060019392505050565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610637918590610684908690611b99565b6000546001600160a01b031633146106fd5760405162461bcd60e51b81526004016106f490611bac565b60405180910390fd5b8047101561074d5760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e74204554482062616c616e6365000000000000000060448201526064016106f4565b604051339082156108fc029083906000818181858888f1935050505015801561077a573d6000803e3d6000fd5b5050565b6000546001600160a01b031633146107a85760405162461bcd60e51b81526004016106f490611bac565b6107b260006113c5565b565b6000546001600160a01b031633146107de5760405162461bcd60e51b81526004016106f490611bac565b600160009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108559190611be1565b6001600160a01b031663c9c6539630600160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108db9190611be1565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094c9190611be1565b600280546001600160a01b0319166001600160a01b039283169081179091556000908152600460205260409020805460ff191660019081179091555461099791309116600019610df8565b6001546001600160a01b031663f305d71934306109c9816001600160a01b031660009081526005602052604090205490565b6000806109de6000546001600160a01b031690565b426040518863ffffffff1660e01b8152600401610a0096959493929190611bfe565b60606040518083038185885af1158015610a1e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610a439190611c39565b505050565b3360008181526006602090815260408083206001600160a01b03871684529091528120549091610637918590610684908690611b86565b6000610637338484610f1c565b6040805160028082526060820183526000926020830190803683375050600154604080516315ab88c960e31b815290519394506001600160a01b039091169263ad5c4648925060048083019260209291908290030181865afa158015610af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1a9190611be1565b81600081518110610b2d57610b2d611c67565b60200260200101906001600160a01b031690816001600160a01b0316815250503081600181518110610b6157610b61611c67565b60200260200101906001600160a01b031690816001600160a01b031681525050600081600181518110610b9657610b96611c67565b602090810291909101810151336000908152600390925260409091205490915060ff16610c2d5760015460405163b6f9de9560e01b81526001600160a01b039091169063b6f9de95908590610bf69060009087908a904290600401611cc1565b6000604051808303818588803b158015610c0f57600080fd5b505af1158015610c23573d6000803e3d6000fd5b5050505050610cd5565b806001600160a01b03166323b872dd8584600181518110610c5057610c50611c67565b60209081029190910101516040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604481018690526064016020604051808303816000875af1158015610caf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cd39190611cf6565b505b50505050565b6000546001600160a01b03163314610d055760405162461bcd60e51b81526004016106f490611bac565b600d805462ffff00191662010100179055565b600030610689848285611415565b6000546001600160a01b03163314610d505760405162461bcd60e51b81526004016106f490611bac565b600954600b819055600c55565b6000546001600160a01b03163314610d875760405162461bcd60e51b81526004016106f490611bac565b6001600160a01b038116610dec5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106f4565b610df5816113c5565b50565b6001600160a01b038316610e5a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106f4565b6001600160a01b038216610ebb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106f4565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610f805760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106f4565b6001600160a01b038216610fe25760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106f4565b600081116110445760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016106f4565b600b548111158061106d57506001600160a01b03831660009081526004602052604090205460ff165b6110cb5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206578636565647320746865205f6d61786044820152682a3c20b6b7bab73a1760b91b60648201526084016106f4565b6001600160a01b03831660009081526003602052604090205460ff1615801561110d57506001600160a01b03821660009081526003602052604090205460ff16155b1561116057600d5462010000900460ff166111605760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016106f4565b6002546001600160a01b03838116600081815260046020526040902054919092169091149060ff1661121657600c54826111af856001600160a01b031660009081526005602052604090205490565b6111b99190611b99565b11156112165760405162461bcd60e51b815260206004820152602660248201527f5472616e7366657220616d6f756e74206578636565647320746865206d61785760448201526530b63632ba1760d11b60648201526084016106f4565b600a54306000908152600560205260409020541015801561123e5750600d54610100900460ff165b801561124d5750600d5460ff16155b801561126757506002546001600160a01b03858116911614155b801561128c57506001600160a01b03841660009081526003602052604090205460ff16155b80156112b157506001600160a01b03831660009081526003602052604090205460ff16155b156112be576112be61143b565b6001600160a01b038416600090815260056020526040812080548492906112e6908490611b86565b90915550506001600160a01b038416600090815260036020526040902054829060ff1615801561132f57506001600160a01b03841660009081526003602052604090205460ff16155b156113425761133f83868461157d565b90505b6001600160a01b0384166000908152600560205260408120805483929061136a908490611b99565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113b691815260200190565b60405180910390a35050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831661142857600080fd5b6001600160a01b038216610ebb57600080fd5b600d805460ff19166001179055601254156114f15760006114606012600001546116c8565b6007546001600160a01b0316600090815260056020526040812054600a549293509182106114a65780611494576000611496565b825b600a546114a39190611d18565b92505b82156114ed576007546040516001600160a01b039091169084156108fc029085906000818181858888f193505050501580156114e6573d6000803e3d6000fd5b5060006012555b5050505b601354156115485760135460009061150b90600290611d18565b90506000816012600101546115209190611b86565b9050600061152d836116c8565b9050801561153f5761153f8282611838565b50506000601355505b6040517fd9f20192eafa060dc85f5f8b3b0a5b9c106b02d5d1503335b857e50c2bb7003090600090a1600d805460ff19169055565b60408051808201909152600e548152600f54602082015260009082156115b6575060408051808201909152601054815260115460208201525b80516000906064906115c89088611d3a565b6115d29190611d18565b9050600060648360200151886115e89190611d3a565b6115f29190611d18565b9050811561161557816012600001600082825461160f9190611b99565b90915550505b80156116365780601260010160008282546116309190611b99565b90915550505b60006116428284611b99565b30600090815260056020526040812080549293508392909190611666908490611b99565b909155505080156116b25760405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6116bc8189611b86565b98975050505050505050565b604080516002808252606082018352600092479284929091602083019080368337019050509050308160008151811061170357611703611c67565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117809190611be1565b8160018151811061179357611793611c67565b6001600160a01b0392831660209182029290920101526001546117b99130911686610df8565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906117f2908790600090869030904290600401611d51565b600060405180830381600087803b15801561180c57600080fd5b505af1158015611820573d6000803e3d6000fd5b5050505081476118309190611b86565b949350505050565b6001546118509030906001600160a01b031684610df8565b6001546000906001600160a01b031663f305d719833086858061187b6000546001600160a01b031690565b426040518863ffffffff1660e01b815260040161189d96959493929190611bfe565b60606040518083038185885af11580156118bb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118e09190611c39565b509150600090506118f18284611b86565b1115610a4357610a436119048284611b86565b6007546001600160a01b031690804710156119615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016106f4565b6000826001600160a01b03168260405160006040518083038185875af1925050503d80600081146119ae576040519150601f19603f3d011682016040523d82523d6000602084013e6119b3565b606091505b5050905080610a435760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016106f4565b600060208083528351808285015260005b81811015611a5757858101830151858201604001528201611a3b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610df557600080fd5b60008060408385031215611aa057600080fd5b8235611aab81611a78565b946020939093013593505050565b600080600060608486031215611ace57600080fd5b8335611ad981611a78565b92506020840135611ae981611a78565b929592945050506040919091013590565b600060208284031215611b0c57600080fd5b8135611b1781611a78565b9392505050565b600060208284031215611b3057600080fd5b5035919050565b60008060408385031215611b4a57600080fd5b8235611b5581611a78565b91506020830135611b6581611a78565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561063b5761063b611b70565b8082018082111561063b5761063b611b70565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611bf357600080fd5b8151611b1781611a78565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b600080600060608486031215611c4e57600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015611cb65781516001600160a01b031687529582019590820190600101611c91565b509495945050505050565b848152608060208201526000611cda6080830186611c7d565b6001600160a01b03949094166040830152506060015292915050565b600060208284031215611d0857600080fd5b81518015158114611b1757600080fd5b600082611d3557634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761063b5761063b611b70565b85815284602082015260a060408201526000611d7060a0830186611c7d565b6001600160a01b039490941660608301525060800152939250505056fea2646970667358221220770d90e877dbab7dc7616428a9f6aba9d631328c28634f7f9b173ac861ec862164736f6c63430008130033

Deployed Bytecode Sourcemap

4635:10768:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6857:83;;;;;;;;;;-1:-1:-1;6927:5:0;;;;;;;;;;;;-1:-1:-1;;;6927:5:0;;;;6857:83;;;;;;;:::i;:::-;;;;;;;;7688:161;;;;;;;;;;-1:-1:-1;7688:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7688:161:0;1023:187:1;7134:95:0;;;;;;;;;;-1:-1:-1;7214:7:0;;7134:95;;;1361:25:1;;;1349:2;1334:18;7134:95:0;1215:177:1;9138:266:0;;;;;;;;;;-1:-1:-1;9138:266:0;;;;;:::i;:::-;;:::i;4875:58::-;;;;;;;;;;-1:-1:-1;4875:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7043:83;;;;;;;;;;-1:-1:-1;7043:83:0;;5228:1;2252:36:1;;2240:2;2225:18;7043:83:0;2110:184:1;8056:215:0;;;;;;;;;;-1:-1:-1;8056:215:0;;;;;:::i;:::-;;:::i;5693:34::-;;;;;;;;;;-1:-1:-1;5693:34:0;;;;;;;;;;;5815:28;;;;;;;;;;-1:-1:-1;5815:28:0;;;;;;;;;;;;;2473:25:1;;;2529:2;2514:18;;2507:34;;;;2446:18;5815:28:0;2299:248:1;10837:200:0;;;;;;;;;;-1:-1:-1;10837:200:0;;;;;:::i;:::-;;:::i;:::-;;5460:41;;;;;;;;;;;;;;;;7237:117;;;;;;;;;;-1:-1:-1;7237:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7330:16:0;7303:7;7330:16;;;:7;:16;;;;;;;7237:117;1273:94;;;;;;;;;;;;;:::i;4817:51::-;;;;;;;;;;-1:-1:-1;4817:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;1050:87;;;;;;;;;;-1:-1:-1;1096:7:0;1123:6;-1:-1:-1;;;;;1123:6:0;1050:87;;;-1:-1:-1;;;;;2901:32:1;;;2883:51;;2871:2;2856:18;1050:87:0;2737:203:1;5566:51:0;;;;;;;;;;;;;;;;6948:87;;;;;;;;;;-1:-1:-1;7020:7:0;;;;;;;;;;;;-1:-1:-1;;;7020:7:0;;;;6948:87;;9562:478;;;:::i;8279:225::-;;;;;;;;;;-1:-1:-1;8279:225:0;;;;;:::i;:::-;;:::i;4789:19::-;;;;;;;;;;-1:-1:-1;4789:19:0;;;;-1:-1:-1;;;;;4789:19:0;;;7362:167;;;;;;;;;;-1:-1:-1;7362:167:0;;;;;:::i;:::-;;:::i;10291:538::-;;;;;;;;;;-1:-1:-1;10291:538:0;;;;;:::i;:::-;;:::i;10048:111::-;;;;;;;;;;;;;:::i;5850:29::-;;;;;;;;;;-1:-1:-1;5850:29:0;;;;;;;;;5508:51;;;;;;;;;;;;;;;;7537:143;;;;;;;;;;-1:-1:-1;7537:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7645:18:0;;;7618:7;7645:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7537:143;7857:191;;;;;;;;;;-1:-1:-1;7857:191:0;;;;;:::i;:::-;;:::i;10167:116::-;;;;;;;;;;;;;:::i;1375:192::-;;;;;;;;;;-1:-1:-1;1375:192:0;;;;;:::i;:::-;;:::i;4761:21::-;;;;;;;;;;-1:-1:-1;4761:21:0;;;;-1:-1:-1;;;;;4761:21:0;;;5977:39;;;;;;;;;;-1:-1:-1;5977:39:0;;;;;;;;;7688:161;7763:4;7780:39;667:10;7803:7;7812:6;7780:8;:39::i;:::-;-1:-1:-1;7837:4:0;7688:161;;;;;:::o;9138:266::-;9236:4;9253:36;9263:6;9271:9;9282:6;9253:9;:36::i;:::-;-1:-1:-1;;;;;9331:19:0;;;;;;:11;:19;;;;;;;;667:10;9331:33;;;;;;;;;9300:74;;9309:6;;9331:42;;9367:6;;9331:42;:::i;:::-;9300:8;:74::i;:::-;-1:-1:-1;9392:4:0;9138:266;;;;;:::o;8056:215::-;667:10;8144:4;8193:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8193:34:0;;;;;;;;;;8144:4;;8161:80;;8184:7;;8193:47;;8230:10;;8193:47;:::i;10837:200::-;1096:7;1123:6;-1:-1:-1;;;;;1123:6:0;667:10;1185:23;1177:68;;;;-1:-1:-1;;;1177:68:0;;;;;;;:::i;:::-;;;;;;;;;10941:9:::1;10916:21;:34;;10908:71;;;::::0;-1:-1:-1;;;10908:71:0;;4519:2:1;10908:71:0::1;::::0;::::1;4501:21:1::0;4558:2;4538:18;;;4531:30;4597:26;4577:18;;;4570:54;4641:18;;10908:71:0::1;4317:348:1::0;10908:71:0::1;10990:39;::::0;10998:10:::1;::::0;10990:39;::::1;;;::::0;11019:9;;10990:39:::1;::::0;;;11019:9;10998:10;10990:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10837:200:::0;:::o;1273:94::-;1096:7;1123:6;-1:-1:-1;;;;;1123:6:0;667:10;1185:23;1177:68;;;;-1:-1:-1;;;1177:68:0;;;;;;;:::i;:::-;1338:21:::1;1356:1;1338:9;:21::i;:::-;1273:94::o:0;9562:478::-;1096:7;1123:6;-1:-1:-1;;;;;1123:6:0;667:10;1185:23;1177:68;;;;-1:-1:-1;;;1177:68:0;;;;;;;:::i;:::-;9638:6:::1;;;;;;;;;-1:-1:-1::0;;;;;9638:6:0::1;-1:-1:-1::0;;;;;9638:14:0::1;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9629:37:0::1;;9675:4;9682:6;;;;;;;;;-1:-1:-1::0;;;;;9682:6:0::1;-1:-1:-1::0;;;;;9682:11:0::1;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9629:67;::::0;-1:-1:-1;;;;;;9629:67:0::1;::::0;;;;;;-1:-1:-1;;;;;5156:15:1;;;9629:67:0::1;::::0;::::1;5138:34:1::0;5208:15;;5188:18;;;5181:43;5073:18;;9629:67:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9622:4;:74:::0;;-1:-1:-1;;;;;;9622:74:0::1;-1:-1:-1::0;;;;;9622:74:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;9707:31:0;;;:25:::1;:31;::::0;;;;:38;;-1:-1:-1;;9707:38:0::1;-1:-1:-1::0;9707:38:0;;::::1;::::0;;;9788:6;9756:59:::1;::::0;9773:4:::1;::::0;9788:6:::1;-1:-1:-1::0;;9756:8:0::1;:59::i;:::-;9828:6;::::0;-1:-1:-1;;;;;9828:6:0::1;:22;9858:9;9891:4;9911:24;9891:4:::0;-1:-1:-1;;;;;7330:16:0;7303:7;7330:16;;;:7;:16;;;;;;;7237:117;9911:24:::1;9950:1;9967::::0;9984:7:::1;1096::::0;1123:6;-1:-1:-1;;;;;1123:6:0;;1050:87;9984:7:::1;10006:15;9828:204;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9562:478::o:0;8279:225::-;667:10;8372:4;8421:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;8421:34:0;;;;;;;;;;8372:4;;8389:85;;8412:7;;8421:52;;8458:15;;8421:52;:::i;7362:167::-;7440:4;7457:42;667:10;7481:9;7492:6;7457:9;:42::i;10291:538::-;10386:16;;;10400:1;10386:16;;;;;;;;10362:21;;10386:16;;;;;;;;-1:-1:-1;;10423:6:0;;:13;;;-1:-1:-1;;;10423:13:0;;;;10362:40;;-1:-1:-1;;;;;;10423:6:0;;;;:11;;-1:-1:-1;10423:13:0;;;;;;;;;;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10413:4;10418:1;10413:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10413:23:0;;;-1:-1:-1;;;;;10413:23:0;;;;;10465:4;10447;10452:1;10447:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;10447:23:0;;;-1:-1:-1;;;;;10447:23:0;;;;;10481:12;10503:4;10508:1;10503:7;;;;;;;;:::i;:::-;;;;;;;;;;;;10548:10;10529:30;;;;:18;:30;;;;;;;;10503:7;;-1:-1:-1;10529:30:0;;10524:298;;10576:6;;:186;;-1:-1:-1;;;10576:186:0;;-1:-1:-1;;;;;10576:6:0;;;;:57;;10641:6;;10576:186;;:6;;10688:4;;10711:2;;10732:15;;10576:186;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10524:298;;;10781:5;-1:-1:-1;;;;;10781:18:0;;10800:2;10804:4;10809:1;10804:7;;;;;;;;:::i;:::-;;;;;;;;;;;10781:39;;-1:-1:-1;;;;;;10781:39:0;;;;;;;-1:-1:-1;;;;;7661:15:1;;;10781:39:0;;;7643:34:1;7713:15;;7693:18;;;7686:43;7745:18;;;7738:34;;;7578:18;;10781:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10524:298;10351:478;;10291:538;;:::o;10048:111::-;1096:7;1123:6;-1:-1:-1;;;;;1123:6:0;667:10;1185:23;1177:68;;;;-1:-1:-1;;;1177:68:0;;;;;;;:::i;:::-;10101:14:::1;:21:::0;;-1:-1:-1;;10133:18:0;;;;;10048:111::o;7857:191::-;7930:4;7971;7987:31;7995:7;7971:4;8011:6;7987:7;:31::i;10167:116::-;1096:7;1123:6;-1:-1:-1;;;;;1123:6:0;667:10;1185:23;1177:68;;;;-1:-1:-1;;;1177:68:0;;;;;;;:::i;:::-;10243:7:::1;::::0;10226:14:::1;:24:::0;;;10252:13:::1;:23:::0;10167:116::o;1375:192::-;1096:7;1123:6;-1:-1:-1;;;;;1123:6:0;667:10;1185:23;1177:68;;;;-1:-1:-1;;;1177:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1464:22:0;::::1;1456:73;;;::::0;-1:-1:-1;;;1456:73:0;;8267:2:1;1456:73:0::1;::::0;::::1;8249:21:1::0;8306:2;8286:18;;;8279:30;8345:34;8325:18;;;8318:62;-1:-1:-1;;;8396:18:1;;;8389:36;8442:19;;1456:73:0::1;8065:402:1::0;1456:73:0::1;1540:19;1550:8;1540:9;:19::i;:::-;1375:192:::0;:::o;8512:335::-;-1:-1:-1;;;;;8605:19:0;;8597:68;;;;-1:-1:-1;;;8597:68:0;;8674:2:1;8597:68:0;;;8656:21:1;8713:2;8693:18;;;8686:30;8752:34;8732:18;;;8725:62;-1:-1:-1;;;8803:18:1;;;8796:34;8847:19;;8597:68:0;8472:400:1;8597:68:0;-1:-1:-1;;;;;8684:21:0;;8676:68;;;;-1:-1:-1;;;8676:68:0;;9079:2:1;8676:68:0;;;9061:21:1;9118:2;9098:18;;;9091:30;9157:34;9137:18;;;9130:62;-1:-1:-1;;;9208:18:1;;;9201:32;9250:19;;8676:68:0;8877:398:1;8676:68:0;-1:-1:-1;;;;;8755:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8807:32;;1361:25:1;;;8807:32:0;;1334:18:1;8807:32:0;;;;;;;8512:335;;;:::o;11092:1338::-;-1:-1:-1;;;;;11178:18:0;;11170:68;;;;-1:-1:-1;;;11170:68:0;;9482:2:1;11170:68:0;;;9464:21:1;9521:2;9501:18;;;9494:30;9560:34;9540:18;;;9533:62;-1:-1:-1;;;9611:18:1;;;9604:35;9656:19;;11170:68:0;9280:401:1;11170:68:0;-1:-1:-1;;;;;11257:16:0;;11249:64;;;;-1:-1:-1;;;11249:64:0;;9888:2:1;11249:64:0;;;9870:21:1;9927:2;9907:18;;;9900:30;9966:34;9946:18;;;9939:62;-1:-1:-1;;;10017:18:1;;;10010:33;10060:19;;11249:64:0;9686:399:1;11249:64:0;11341:1;11332:6;:10;11324:64;;;;-1:-1:-1;;;11324:64:0;;10292:2:1;11324:64:0;;;10274:21:1;10331:2;10311:18;;;10304:30;10370:34;10350:18;;;10343:62;-1:-1:-1;;;10421:18:1;;;10414:39;10470:19;;11324:64:0;10090:405:1;11324:64:0;11417:14;;11407:6;:24;;:59;;;-1:-1:-1;;;;;;11435:31:0;;;;;;:25;:31;;;;;;;;11407:59;11399:113;;;;-1:-1:-1;;;11399:113:0;;10702:2:1;11399:113:0;;;10684:21:1;10741:2;10721:18;;;10714:30;10780:34;10760:18;;;10753:62;-1:-1:-1;;;10831:18:1;;;10824:39;10880:19;;11399:113:0;10500:405:1;11399:113:0;-1:-1:-1;;;;;11530:24:0;;;;;;:18;:24;;;;;;;;11529:25;:52;;;;-1:-1:-1;;;;;;11559:22:0;;;;;;:18;:22;;;;;;;;11558:23;11529:52;11525:131;;;11606:14;;;;;;;11598:46;;;;-1:-1:-1;;;11598:46:0;;11112:2:1;11598:46:0;;;11094:21:1;11151:2;11131:18;;;11124:30;-1:-1:-1;;;11170:18:1;;;11163:49;11229:18;;11598:46:0;10910:343:1;11598:46:0;11688:4;;-1:-1:-1;;;;;11682:10:0;;;11668:11;11709:29;;;:25;:29;;;;;;11688:4;;;;11682:10;;;;11709:29;;11705:138;;11787:13;;11777:6;11761:13;11771:2;-1:-1:-1;;;;;7330:16:0;7303:7;7330:16;;;:7;:16;;;;;;;7237:117;11761:13;:22;;;;:::i;:::-;:39;;11753:90;;;;-1:-1:-1;;;11753:90:0;;11460:2:1;11753:90:0;;;11442:21:1;11499:2;11479:18;;;11472:30;11538:34;11518:18;;;11511:62;-1:-1:-1;;;11589:18:1;;;11582:36;11635:19;;11753:90:0;11258:402:1;11753:90:0;11896:9;;11886:4;7303:7;7330:16;;;:7;:16;;;;;;11868:37;;:66;;;;-1:-1:-1;11923:11:0;;;;;;;11868:66;:93;;;;-1:-1:-1;11953:8:0;;;;11952:9;11868:93;:123;;;;-1:-1:-1;11987:4:0;;-1:-1:-1;;;;;11979:12:0;;;11987:4;;11979:12;;11868:123;:166;;;;-1:-1:-1;;;;;;12010:24:0;;;;;;:18;:24;;;;;;;;12009:25;11868:166;:206;;;;-1:-1:-1;;;;;;12052:22:0;;;;;;:18;:22;;;;;;;;12051:23;11868:206;11864:238;;;12086:16;:14;:16::i;:::-;-1:-1:-1;;;;;12115:13:0;;;;;;:7;:13;;;;;:23;;12132:6;;12115:13;:23;;12132:6;;12115:23;:::i;:::-;;;;-1:-1:-1;;;;;;;12205:24:0;;12149:22;12205:24;;;:18;:24;;;;;;12174:6;;12205:24;;12204:25;:52;;;;-1:-1:-1;;;;;;12234:22:0;;;;;;:18;:22;;;;;;;;12233:23;12204:52;12201:130;;;12289:30;12298:6;12306:4;12312:6;12289:8;:30::i;:::-;12272:47;;12201:130;-1:-1:-1;;;;;12343:11:0;;;;;;:7;:11;;;;;:29;;12358:14;;12343:11;:29;;12358:14;;12343:29;:::i;:::-;;;;;;;;12403:2;-1:-1:-1;;;;;12388:34:0;12397:4;-1:-1:-1;;;;;12388:34:0;;12407:14;12388:34;;;;1361:25:1;;1349:2;1334:18;;1215:177;12388:34:0;;;;;;;;11159:1271;;11092:1338;;;:::o;1575:173::-;1631:16;1650:6;;-1:-1:-1;;;;;1667:17:0;;;-1:-1:-1;;;;;;1667:17:0;;;;;;1700:40;;1650:6;;;;;;;1700:40;;1631:16;1700:40;1620:128;1575:173;:::o;8855:271::-;-1:-1:-1;;;;;8962:19:0;;8954:28;;;;;;-1:-1:-1;;;;;9001:21:0;;8993:30;;;;;13833:982;6057:8;:15;;-1:-1:-1;;6057:15:0;6068:4;6057:15;;;13892:18:::1;:34:::0;:38;13889:517:::1;;13946:18;13967:52;13984:18;:34;;;13967:16;:52::i;:::-;14065:9;::::0;-1:-1:-1;;;;;14065:9:0::1;14034:18;7330:16:::0;;;:7;:16;;;;;;14135:9:::1;::::0;13946:73;;-1:-1:-1;7330:16:0;14121:23;::::1;14117:115;;14191:7;:24;;14214:1;14191:24;;;14201:10;14191:24;14178:9;;:38;;;;:::i;:::-;14165:51;;14117:115;14249:14:::0;;14246:149:::1;;14291:9;::::0;14283:39:::1;::::0;-1:-1:-1;;;;;14291:9:0;;::::1;::::0;14283:39;::::1;;;::::0;14311:10;;14291:9:::1;14283:39:::0;14291:9;14283:39;14311:10;14291:9;14283:39;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;14378:1:0::1;14341:18;:38:::0;14246:149:::1;13931:475;;;13889:517;14421:27:::0;;:31;14418:356:::1;;14480:27:::0;;14468:9:::1;::::0;14480:31:::1;::::0;14510:1:::1;::::0;14480:31:::1;:::i;:::-;14468:43;;14526:14;14573:4;14543:18;:27;;;:34;;;;:::i;:::-;14526:51;;14592:14;14609:22;14626:4;14609:16;:22::i;:::-;14592:39:::0;-1:-1:-1;14650:13:0;;14646:70:::1;;14682:34;14695:9;14706;14682:12;:34::i;:::-;-1:-1:-1::0;;14761:1:0::1;14731:27:::0;:31;-1:-1:-1;14418:356:0::1;14791:16;::::0;::::1;::::0;;;::::1;6095:8:::0;:16;;-1:-1:-1;;6095:16:0;;;13833:982::o;12438:798::-;12531:28;;;;;;;;;12553:6;12531:28;;;;;;;;;12512:7;;12570:56;;;;-1:-1:-1;12596:18:0;;;;;;;;;12607:7;12596:18;;;;;;;;;12570:56;12673:21;;12638:23;;12697:3;;12664:30;;:6;:30;:::i;:::-;:36;;;;:::i;:::-;12638:62;;12711:16;12756:3;12739:8;:14;;;12730:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;12711:48;-1:-1:-1;12775:22:0;;12772:96;;12850:18;12812;:34;;;:56;;;;;;;:::i;:::-;;;;-1:-1:-1;;12772:96:0;12884:15;;12881:75;;12945:11;12914:18;:27;;;:42;;;;;;;:::i;:::-;;;;-1:-1:-1;;12881:75:0;12969:21;12993:32;13014:11;12993:18;:32;:::i;:::-;13054:4;13038:22;;;;:7;:22;;;;;:42;;12969:56;;-1:-1:-1;12969:56:0;;13038:22;;;:42;;12969:56;;13038:42;:::i;:::-;;;;-1:-1:-1;;13094:20:0;;13091:78;;13121:48;;1361:25:1;;;13145:4:0;;-1:-1:-1;;;;;13121:48:0;;;;;1349:2:1;1334:18;13121:48:0;;;;;;;13091:78;13202:25;13211:16;13202:6;:25;:::i;:::-;13194:34;12438:798;-1:-1:-1;;;;;;;;12438:798:0:o;13244:581::-;13409:16;;;13423:1;13409:16;;;;;;;;13308:7;;13353:21;;13308:7;;13409:16;;;;;;;;;;;;-1:-1:-1;13409:16:0;13385:40;;13454:4;13436;13441:1;13436:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13436:23:0;;;:7;;;;;;;;;;:23;;;;13480:6;;:13;;;-1:-1:-1;;;13480:13:0;;;;:6;;;;;:11;;:13;;;;;13436:7;;13480:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13470:4;13475:1;13470:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13470:23:0;;;:7;;;;;;;;;:23;13538:6;;13506:53;;13523:4;;13538:6;13547:11;13506:8;:53::i;:::-;13572:6;;:187;;-1:-1:-1;;;13572:187:0;;-1:-1:-1;;;;;13572:6:0;;;;:57;;:187;;13644:11;;13572:6;;13686:4;;13713;;13733:15;;13572:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13802:14;13778:21;:38;;;;:::i;:::-;13770:47;13244:581;-1:-1:-1;;;;13244:581:0:o;14823:508::-;14936:6;;14904:53;;14921:4;;-1:-1:-1;;;;;14936:6:0;14945:11;14904:8;:53::i;:::-;15001:6;;14972:24;;-1:-1:-1;;;;;15001:6:0;:22;15032:9;15066:4;15086:11;14972:24;;15144:7;1096;1123:6;-1:-1:-1;;;;;1123:6:0;;1050:87;15144:7;15166:15;15001:191;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;14970:222:0;-1:-1:-1;15248:1:0;;-1:-1:-1;15217:28:0;14970:222;15217:9;:28;:::i;:::-;:32;15213:110;;;15264:59;15294:28;15306:16;15294:9;:28;:::i;:::-;15272:9;;-1:-1:-1;;;;;15272:9:0;;329:6;304:21;:31;;296:73;;;;-1:-1:-1;;;296:73:0;;12849:2:1;296:73:0;;;12831:21:1;12888:2;12868:18;;;12861:30;12927:31;12907:18;;;12900:59;12976:18;;296:73:0;12647:353:1;296:73:0;383:12;401:9;-1:-1:-1;;;;;401:14:0;423:6;401:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;382:52;;;453:7;445:78;;;;-1:-1:-1;;;445:78:0;;13417:2:1;445:78:0;;;13399:21:1;13456:2;13436:18;;;13429:30;13495:34;13475:18;;;13468:62;13566:28;13546:18;;;13539:56;13612:19;;445:78:0;13215:422: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;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;:::-;2094:5;1858:247;-1:-1:-1;;;1858:247:1:o;2552:180::-;2611:6;2664:2;2652:9;2643:7;2639:23;2635:32;2632:52;;;2680:1;2677;2670:12;2632:52;-1:-1:-1;2703:23:1;;2552:180;-1:-1:-1;2552:180:1:o;2945:388::-;3013:6;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;3310:17;;;2945:388;;;;;:::o;3561:127::-;3622:10;3617:3;3613:20;3610:1;3603:31;3653:4;3650:1;3643:15;3677:4;3674:1;3667:15;3693:128;3760:9;;;3781:11;;;3778:37;;;3795:18;;:::i;3826:125::-;3891:9;;;3912:10;;;3909:36;;;3925:18;;:::i;3956:356::-;4158:2;4140:21;;;4177:18;;;4170:30;4236:34;4231:2;4216:18;;4209:62;4303:2;4288:18;;3956:356::o;4670:251::-;4740:6;4793:2;4781:9;4772:7;4768:23;4764:32;4761:52;;;4809:1;4806;4799:12;4761:52;4841:9;4835:16;4860:31;4885:5;4860:31;:::i;5235:607::-;-1:-1:-1;;;;;5594:15:1;;;5576:34;;5641:2;5626:18;;5619:34;;;;5684:2;5669:18;;5662:34;;;;5727:2;5712:18;;5705:34;;;;5776:15;;;5770:3;5755:19;;5748:44;5556:3;5808:19;;5801:35;;;;5525:3;5510:19;;5235:607::o;5847:306::-;5935:6;5943;5951;6004:2;5992:9;5983:7;5979:23;5975:32;5972:52;;;6020:1;6017;6010:12;5972:52;6049:9;6043:16;6033:26;;6099:2;6088:9;6084:18;6078:25;6068:35;;6143:2;6132:9;6128:18;6122:25;6112:35;;5847:306;;;;;:::o;6290:127::-;6351:10;6346:3;6342:20;6339:1;6332:31;6382:4;6379:1;6372:15;6406:4;6403:1;6396:15;6422:461;6475:3;6513:5;6507:12;6540:6;6535:3;6528:19;6566:4;6595:2;6590:3;6586:12;6579:19;;6632:2;6625:5;6621:14;6653:1;6663:195;6677:6;6674:1;6671:13;6663:195;;;6742:13;;-1:-1:-1;;;;;6738:39:1;6726:52;;6798:12;;;;6833:15;;;;6774:1;6692:9;6663:195;;;-1:-1:-1;6874:3:1;;6422:461;-1:-1:-1;;;;;6422:461:1:o;6888:510::-;7159:6;7148:9;7141:25;7202:3;7197:2;7186:9;7182:18;7175:31;7122:4;7223:57;7275:3;7264:9;7260:19;7252:6;7223:57;:::i;:::-;-1:-1:-1;;;;;7316:32:1;;;;7311:2;7296:18;;7289:60;-1:-1:-1;7380:2:1;7365:18;7358:34;7215:65;6888:510;-1:-1:-1;;6888:510:1:o;7783:277::-;7850:6;7903:2;7891:9;7882:7;7878:23;7874:32;7871:52;;;7919:1;7916;7909:12;7871:52;7951:9;7945:16;8004:5;7997:13;7990:21;7983:5;7980:32;7970:60;;8026:1;8023;8016:12;11665:217;11705:1;11731;11721:132;;11775:10;11770:3;11766:20;11763:1;11756:31;11810:4;11807:1;11800:15;11838:4;11835:1;11828:15;11721:132;-1:-1:-1;11867:9:1;;11665:217::o;11887:168::-;11960:9;;;11991;;12008:15;;;12002:22;;11988:37;11978:71;;12029:18;;:::i;12060:582::-;12359:6;12348:9;12341:25;12402:6;12397:2;12386:9;12382:18;12375:34;12445:3;12440:2;12429:9;12425:18;12418:31;12322:4;12466:57;12518:3;12507:9;12503:19;12495:6;12466:57;:::i;:::-;-1:-1:-1;;;;;12559:32:1;;;;12554:2;12539:18;;12532:60;-1:-1:-1;12623:3:1;12608:19;12601:35;12458:65;12060:582;-1:-1:-1;;;12060:582:1:o

Swarm Source

ipfs://770d90e877dbab7dc7616428a9f6aba9d631328c28634f7f9b173ac861ec8621

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.