ETH Price: $3,418.31 (-7.38%)

Contract

0x82FbeF50cB4ED97cCd35dbC7f04d5942359C471d
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw181396492023-09-15 5:48:35461 days ago1694756915IN
0x82FbeF50...2359C471d
0 ETH0.000270878.89448183
Approve181386212023-09-15 2:20:35461 days ago1694744435IN
0x82FbeF50...2359C471d
0 ETH0.0007144115.3528332
Approve181385972023-09-15 2:15:47461 days ago1694744147IN
0x82FbeF50...2359C471d
0 ETH0.000596512.81898396
Approve181380112023-09-15 0:16:47461 days ago1694737007IN
0x82FbeF50...2359C471d
0 ETH0.000670214.40286981
Approve181378952023-09-14 23:53:23461 days ago1694735603IN
0x82FbeF50...2359C471d
0 ETH0.0004858710.50644533
Approve181378492023-09-14 23:44:11461 days ago1694735051IN
0x82FbeF50...2359C471d
0 ETH0.0006681214.35813297
Approve181378472023-09-14 23:43:47461 days ago1694735027IN
0x82FbeF50...2359C471d
0 ETH0.0006824814.6665849
Approve181376022023-09-14 22:54:35461 days ago1694732075IN
0x82FbeF50...2359C471d
0 ETH0.0007558916.24841464
Approve181375882023-09-14 22:51:47461 days ago1694731907IN
0x82FbeF50...2359C471d
0 ETH0.0007831116.82924387
Set Buy Fee181375732023-09-14 22:48:47461 days ago1694731727IN
0x82FbeF50...2359C471d
0 ETH0.0003896216.32081643
Withdraw181375682023-09-14 22:47:47461 days ago1694731667IN
0x82FbeF50...2359C471d
0 ETH0.0005196917.0649927
Approve181375372023-09-14 22:41:35461 days ago1694731295IN
0x82FbeF50...2359C471d
0 ETH0.000952720.47382437
Approve181375332023-09-14 22:40:35461 days ago1694731235IN
0x82FbeF50...2359C471d
0 ETH0.000886419.0488482
Approve181375212023-09-14 22:38:11461 days ago1694731091IN
0x82FbeF50...2359C471d
0 ETH0.0007557216.24059611
Approve181375132023-09-14 22:36:35461 days ago1694730995IN
0x82FbeF50...2359C471d
0 ETH0.0010104121.71397967
Approve181375112023-09-14 22:36:11462 days ago1694730971IN
0x82FbeF50...2359C471d
0 ETH0.0009404920.21133185
Approve181375072023-09-14 22:35:23462 days ago1694730923IN
0x82FbeF50...2359C471d
0 ETH0.0007098215.37726023
Approve181375052023-09-14 22:34:59462 days ago1694730899IN
0x82FbeF50...2359C471d
0 ETH0.0004679316.05540497
Approve181374992023-09-14 22:33:35462 days ago1694730815IN
0x82FbeF50...2359C471d
0 ETH0.0007799416.88732093
Approve181374962023-09-14 22:32:59462 days ago1694730779IN
0x82FbeF50...2359C471d
0 ETH0.0005159617.74006132
Approve181374882023-09-14 22:31:23462 days ago1694730683IN
0x82FbeF50...2359C471d
0 ETH0.0008889919.1046701
Approve181374812023-09-14 22:29:59462 days ago1694730599IN
0x82FbeF50...2359C471d
0 ETH0.0008757518.82016306
Approve181374752023-09-14 22:28:35462 days ago1694730515IN
0x82FbeF50...2359C471d
0 ETH0.0010957723.55447097
Approve181374702023-09-14 22:27:35462 days ago1694730455IN
0x82FbeF50...2359C471d
0 ETH0.0016890336.30691607
Approve181374702023-09-14 22:27:35462 days ago1694730455IN
0x82FbeF50...2359C471d
0 ETH0.0011310724.30691607
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
181396492023-09-15 5:48:35461 days ago1694756915
0x82FbeF50...2359C471d
0.01228971 ETH
181396192023-09-15 5:42:35461 days ago1694756555
0x82FbeF50...2359C471d
144 wei
181396192023-09-15 5:42:35461 days ago1694756555
0x82FbeF50...2359C471d
144 wei
181396192023-09-15 5:42:35461 days ago1694756555
0x82FbeF50...2359C471d
144 wei
181396192023-09-15 5:42:35461 days ago1694756555
0x82FbeF50...2359C471d
144 wei
181386212023-09-15 2:20:35461 days ago1694744435
0x82FbeF50...2359C471d
0.00120212 ETH
181385972023-09-15 2:15:47461 days ago1694744147
0x82FbeF50...2359C471d
0.00001974 ETH
181384502023-09-15 1:45:59461 days ago1694742359
0x82FbeF50...2359C471d
0.0003129 ETH
181380472023-09-15 0:24:11461 days ago1694737451
0x82FbeF50...2359C471d
0.00125436 ETH
181380122023-09-15 0:16:59461 days ago1694737019
0x82FbeF50...2359C471d
0.00027748 ETH
181380122023-09-15 0:16:59461 days ago1694737019
0x82FbeF50...2359C471d
0.00070458 ETH
181379592023-09-15 0:06:11461 days ago1694736371
0x82FbeF50...2359C471d
0.00026626 ETH
181378972023-09-14 23:53:47461 days ago1694735627
0x82FbeF50...2359C471d
0.00102249 ETH
181378762023-09-14 23:49:35461 days ago1694735375
0x82FbeF50...2359C471d
0.00008557 ETH
181378672023-09-14 23:47:47461 days ago1694735267
0x82FbeF50...2359C471d
0.00033434 ETH
181378512023-09-14 23:44:35461 days ago1694735075
0x82FbeF50...2359C471d
0.00032297 ETH
181378482023-09-14 23:43:59461 days ago1694735039
0x82FbeF50...2359C471d
0.00033452 ETH
181378102023-09-14 23:36:23461 days ago1694734583
0x82FbeF50...2359C471d
0.00018344 ETH
181378102023-09-14 23:36:23461 days ago1694734583
0x82FbeF50...2359C471d
0.00018504 ETH
181378042023-09-14 23:35:11461 days ago1694734511
0x82FbeF50...2359C471d
0.00030752 ETH
181377362023-09-14 23:21:23461 days ago1694733683
0x82FbeF50...2359C471d
0.0001178 ETH
181376772023-09-14 23:09:35461 days ago1694732975
0x82FbeF50...2359C471d
0.00038113 ETH
181376772023-09-14 23:09:35461 days ago1694732975
0x82FbeF50...2359C471d
0.00038791 ETH
181376772023-09-14 23:09:35461 days ago1694732975
0x82FbeF50...2359C471d
0.00039487 ETH
181376772023-09-14 23:09:35461 days ago1694732975
0x82FbeF50...2359C471d
0.00040202 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GigaMoon

Compiler Version
v0.8.15+commit.e14f2714

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-14
*/

/**
*/

// File: contracts/Withdrawable.sol

abstract contract Withdrawable {
    address internal _withdrawAddress;

    constructor(address withdrawAddress__) {
        _withdrawAddress = withdrawAddress__;
    }

    modifier onlyWithdrawer() {
        require(msg.sender == _withdrawAddress);
        _;
    }

    function withdraw() external onlyWithdrawer {
        _withdraw();
    }

    function _withdraw() internal {
        payable(_withdrawAddress).transfer(address(this).balance);
    }

    function setWithdrawAddress(address newWithdrawAddress)
        external
        onlyWithdrawer
    {
        _withdrawAddress = newWithdrawAddress;
    }

    function withdrawAddress() external view returns (address) {
        return _withdrawAddress;
    }
}

// File: contracts/Ownable.sol

pragma solidity ^0.8.7;

abstract contract Ownable {
    address _owner;

    modifier onlyOwner() {
        require(msg.sender == _owner);
        _;
    }

    constructor() {
        _owner = msg.sender;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        _owner = newOwner;
    }

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

// File: contracts/IUniswapV2Factory.sol

pragma solidity ^0.8.7;

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

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

// File: contracts/IUniswapV2Router02.sol

pragma solidity ^0.8.7;

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

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

    function swapETHForExactTokens(
        uint256 amountOut,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable returns (uint256[] memory amounts);

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

// File: contracts/DoubleSwapped.sol

pragma solidity ^0.8.7;


contract DoubleSwapped {
    bool internal _inSwap;

    modifier lockTheSwap() {
        _inSwap = true;
        _;
        _inSwap = false;
    }

    function _swapTokensForEth(
        uint256 tokenAmount,
        IUniswapV2Router02 _uniswapV2Router
    ) internal lockTheSwap {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapV2Router.WETH();

        // make the swap
        //console.log("doubleSwap ", tokenAmount);
        _uniswapV2Router.swapExactTokensForETH(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }

    function _swapTokensForEthOnTransfer(
        uint256 transferAmount,
        uint256 swapCount,
        IUniswapV2Router02 _uniswapV2Router
    ) internal {
        if (swapCount == 0) return;
        uint256 maxSwapCount = 2 * transferAmount;
        if (swapCount > maxSwapCount) swapCount = maxSwapCount;
        _swapTokensForEth(swapCount, _uniswapV2Router);
    }
}

// File: contracts/IERC20.sol

pragma solidity ^0.8.7;

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
    );
}
// File: contracts/ERC20.sol

pragma solidity ^0.8.7;


abstract contract ERC20 is IERC20 {
    uint256 internal _totalSupply = 1e20;
    uint8 constant _decimals = 9;
    string _name;
    string _symbol;
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    uint256 internal constant INFINITY_ALLOWANCE = 2**256 - 1;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

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

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

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

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        uint256 senderBalance = _balances[from];
        require(senderBalance >= amount);
        unchecked {
            _balances[from] = senderBalance - amount;
        }
        _balances[to] += amount;
        emit Transfer(from, to, amount);
    }

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

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

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

        uint256 currentAllowance = _allowances[sender][msg.sender];
        require(currentAllowance >= amount);
        if (currentAllowance == INFINITY_ALLOWANCE) return true;
        unchecked {
            _approve(sender, msg.sender, currentAllowance - amount);
        }

        return true;
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0));

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount);
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

        emit Transfer(account, address(0), amount);
    }
}

// File: contracts/MaxWalletDynamic.sol

pragma solidity ^0.8.7;


abstract contract MaxWalletDynamic {
    uint256 startMaxWallet;
    uint256 startTime; // last increment time
    uint256 constant startMaxBuyPercentil = 5; // maximum buy on start 1000=100%
    uint256 constant maxBuyIncrementMinutesTimer = 2; // increment maxbuy minutes
    uint256 constant maxBuyIncrementPercentil = 3; // increment maxbyu percentil 1000=100%
    uint256 constant maxIncrements = 1000; // maximum time incrementations
    uint256 maxBuyIncrementValue; // value for increment maxBuy

    function startMaxWalletDynamic(uint256 totalSupply) internal {
        startTime = block.timestamp;
        startMaxWallet = (totalSupply * startMaxBuyPercentil) / 1000;
        maxBuyIncrementValue = (totalSupply * maxBuyIncrementPercentil) / 1000;
    }

    function checkMaxWallet(uint256 walletSize) internal view {
        require(walletSize <= getMaxWallet(), "max wallet limit");
    }

    function getMaxWallet() public view returns (uint256) {
        uint256 incrementCount = (block.timestamp - startTime) /
            (maxBuyIncrementMinutesTimer * 1 minutes);
        if (incrementCount >= maxIncrements) incrementCount = maxIncrements;
        return startMaxWallet + maxBuyIncrementValue * incrementCount;
    }

    function _setStartMaxWallet(uint256 startMaxWallet_) internal {
        startMaxWallet = startMaxWallet_;
    }
}

// File: contracts/TradableErc20.sol

pragma solidity ^0.8.7;








abstract contract TradableErc20 is ERC20, DoubleSwapped, Ownable, Withdrawable {
    IUniswapV2Router02 internal constant _uniswapV2Router =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapPair;
    bool public buyEnable = true;
    address public constant ADDR_BURN =
        0x000000000000000000000000000000000000dEaD;
    address public extraAddress;
    mapping(address => bool) _isExcludedFromFee;
    uint256 public buyFeePpm = 35; // fee in 1/1000
    uint256 public sellFeePpm = 35; // fee in 1/1000
    uint256 public thisShare = 750; // in 1/1000
    uint256 public extraShare = 0; // in 1/1000
    uint256 maxWalletStart = 5e16;
    uint256 addMaxWalletPerMinute = 5e16;
    uint256 tradingStartTime;

    constructor(string memory name_, string memory symbol_)
        ERC20(name_, symbol_)
        Withdrawable(0x0aB087337974a89D920d3030d0baFF5c72eaE9A3)
    {
        _isExcludedFromFee[address(0)] = true;
        _isExcludedFromFee[ADDR_BURN] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[msg.sender] = true;
    }

    receive() external payable {}

    function maxWallet() public view returns (uint256) {
        if (tradingStartTime == 0) return _totalSupply;
        uint256 res = maxWalletStart +
            ((block.timestamp - tradingStartTime) * addMaxWalletPerMinute) /
            (1 minutes);
        if (res > _totalSupply) return _totalSupply;
        return res;
    }

    function createLiquidity() public onlyOwner {
        require(uniswapPair == address(0));
        address pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(
            address(this),
            _uniswapV2Router.WETH()
        );
        uint256 initialLiquidity = getSupplyForMakeLiquidity();
        _balances[address(this)] = initialLiquidity;
        emit Transfer(address(0), address(this), initialLiquidity);

        _balances[msg.sender] = 1e19;
        emit Transfer(address(0), msg.sender, initialLiquidity);

        _allowances[address(this)][
            address(_uniswapV2Router)
        ] = INFINITY_ALLOWANCE;
        _isExcludedFromFee[pair] = true;
        _uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            initialLiquidity,
            0,
            0,
            msg.sender,
            block.timestamp
        );

        uniswapPair = pair;
        tradingStartTime = block.timestamp;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(_balances[from] >= amount, "not enough token for transfer");
        require(to != address(0), "incorrect address");

        // buy
        if (from == uniswapPair && !_isExcludedFromFee[to]) {
            require(buyEnable, "trading disabled");
            // get taxes
            amount = _getFeeBuy(from, to, amount);
            require(
                _balances[to] + amount <= maxWallet(),
                "max wallet constraint"
            );
        }
        // sell
        else if (
            !_inSwap &&
            uniswapPair != address(0) &&
            to == uniswapPair &&
            !_isExcludedFromFee[from]
        ) {
            // fee
            amount = _getFeeSell(from, amount);
            // swap tokens
            _swapTokensForEthOnTransfer(
                amount,
                _balances[address(this)],
                _uniswapV2Router
            );
        }

        // transfer
        super._transfer(from, to, amount);
    }

    function getFeeBuy(address account, uint256 amount)
        public view
        returns (uint256)
    {
        return (amount * buyFeePpm) / 1000;
    }

    function getFeeSell(address account, uint256 amount)
        public view
        returns (uint256)
    {
        return (amount * sellFeePpm) / 1000;
    }

    function setBuyFee(uint256 newBuyFeePpm) external onlyWithdrawer {
        require(newBuyFeePpm <= 200);
        buyFeePpm = newBuyFeePpm;
    }

    function setSellFee(uint256 newSellFeePpm) external onlyWithdrawer {
        require(newSellFeePpm <= 200);
        sellFeePpm = newSellFeePpm;
    }

    function SetExtraContractAddress(address newExtraContractAddress)
        external
        onlyWithdrawer
    {
        extraAddress = newExtraContractAddress;
    }

    function removeExtraContractAddress() external onlyWithdrawer {
        extraAddress = address(0);
    }

    function setShare(uint256 thisSharePpm, uint256 stackingSharePpm)
        external
        onlyWithdrawer
    {
        thisShare = thisSharePpm;
        extraShare = stackingSharePpm;
        require(thisShare + extraShare <= 1000);
    }

    function _getFeeBuy(
        address pair,
        address to,
        uint256 amount
    ) private returns (uint256) {
        return _arrangeFee(pair, amount, getFeeBuy(to, amount));
    }

    function _getFeeSell(address from, uint256 amount)
        private
        returns (uint256)
    {
        return _arrangeFee(from, amount, getFeeSell(from, amount));
    }

    function _arrangeFee(
        address from,
        uint256 amount,
        uint256 fee
    ) private returns (uint256) {
        uint256 thisFee = (fee * thisShare) / 1000;
        uint256 stacking = 0;
        if (extraAddress != address(0))
            stacking = (fee * extraShare) / 1000;
        uint256 burn = 0;
        if (thisShare + extraShare < 1000) burn = fee - thisFee - stacking;

        amount -= fee;
        _balances[from] -= fee;

        if (thisFee > 0) {
            _balances[address(this)] += thisFee;
            emit Transfer(from, address(this), thisFee);
        }
        if (stacking > 0) {
            _balances[extraAddress] += stacking;
            emit Transfer(from, extraAddress, stacking);
        }
        if (burn > 0) {
            _balances[ADDR_BURN] += burn;
            emit Transfer(from, ADDR_BURN, burn);
        }

        return amount;
    }

    function setExcludeFromFee(address[] memory accounts, bool value)
        external
        onlyWithdrawer
    {
        for (uint256 i = 0; i < accounts.length; ++i) {
            _isExcludedFromFee[accounts[i]] = value;
        }
    }

    function setEnableBuy(bool value) external onlyOwner {
        buyEnable = value;
    }

    function getSupplyForMakeLiquidity() internal virtual returns (uint256);
}

// File: contracts/Giga.sol

pragma solidity ^0.8.7;


struct AirdropData {
    address acc;
    uint256 count;
}

contract GigaMoon is TradableErc20 {
    constructor() TradableErc20("giga", unicode"гига") {}

    function getSupplyForMakeLiquidity()
        internal
        view
        override
        returns (uint256)
    {
        return _totalSupply - 1e19;
    }

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

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":"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":"ADDR_BURN","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newExtraContractAddress","type":"address"}],"name":"SetExtraContractAddress","outputs":[],"stateMutability":"nonpayable","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":"buyEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeePpm","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"extraAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"extraShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeExtraContractAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFeePpm","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFeePpm","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setEnableBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setExcludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSellFeePpm","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"thisSharePpm","type":"uint256"},{"internalType":"uint256","name":"stackingSharePpm","type":"uint256"}],"name":"setShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWithdrawAddress","type":"address"}],"name":"setWithdrawAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"thisShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405268056bc75e2d6310000060009081556007805460ff60a01b1916600160a01b1790556023600a819055600b556102ee600c55600d5566b1a2bc2ec50000600e819055600f553480156200005657600080fd5b50604051806040016040528060048152602001636769676160e01b815250604051806040016040528060088152602001670d0b3d0b8d0b3d0b60c41b815250730ab087337974a89d920d3030d0baff5c72eae9a382828160019081620000bd91906200023b565b506002620000cc82826200023b565b505060058054610100600160a81b03191633610100810291909117909155600680546001600160a01b0319166001600160a01b0394909416939093179092555060096020527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b805460ff1990811660019081179092557f960b1051749987b45b5679007fff577a1c2f763ec21c15a6c5eb19307500378580548216831790553060009081526040808220805484168517905593815292909220805490921617905550620003079050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001c157607f821691505b602082108103620001e257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200023657600081815260208120601f850160051c81016020861015620002115750805b601f850160051c820191505b8181101562000232578281556001016200021d565b5050505b505050565b81516001600160401b0381111562000257576200025762000196565b6200026f81620002688454620001ac565b84620001e8565b602080601f831160018114620002a757600084156200028e5750858301515b600019600386901b1c1916600185901b17855562000232565b600085815260208120601f198616915b82811015620002d857888601518255948401946001909101908401620002b7565b5085821015620002f75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61197780620003176000396000f3fe6080604052600436106101f25760003560e01c80636bf8e9cc1161010d578063c6510557116100a0578063dd62ed3e1161006f578063dd62ed3e1461056e578063f1153e64146105b4578063f2fde38b146105ca578063f8b45b05146105ea578063f95fa9cf146105ff57600080fd5b8063c651055714610503578063c7af2a9c14610523578063c816841b14610538578063d57038e11461055857600080fd5b80638da5cb5b116100dc5780638da5cb5b1461049557806395d89b41146104b8578063a9059cbb146104cd578063c4b44a40146104ed57600080fd5b80636bf8e9cc146103ff5780636c90b57f1461041f57806370a082311461043f5780638b4cee081461047557600080fd5b80632b96ddbe116101855780633ab1a494116101545780633ab1a494146103895780633ccfd60b146103a95780633d389faf146103be57806347fd4ab3146103df57600080fd5b80632b96ddbe146103225780632ccb9321146103375780632d36b92b1461034d578063313ce5671461036d57600080fd5b806318160ddd116101c157806318160ddd146102ad5780631a795197146102cc5780631d55009a146102ec57806323b872dd1461030257600080fd5b806306fdde03146101fe578063095ea7b3146102295780630cc835a3146102595780631581b6001461027b57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021361061f565b60405161022091906114eb565b60405180910390f35b34801561023557600080fd5b50610249610244366004611560565b6106b1565b6040519015158152602001610220565b34801561026557600080fd5b5061027961027436600461158c565b6106c7565b005b34801561028757600080fd5b506006546001600160a01b03165b6040516001600160a01b039091168152602001610220565b3480156102b957600080fd5b506000545b604051908152602001610220565b3480156102d857600080fd5b506102be6102e7366004611560565b6106f1565b3480156102f857600080fd5b506102be600c5481565b34801561030e57600080fd5b5061024961031d3660046115a5565b610715565b34801561032e57600080fd5b5061027961077e565b34801561034357600080fd5b5061029561dead81565b34801561035957600080fd5b50600854610295906001600160a01b031681565b34801561037957600080fd5b5060405160098152602001610220565b34801561039557600080fd5b506102796103a43660046115e6565b6107a7565b3480156103b557600080fd5b506102796107e0565b3480156103ca57600080fd5b5060075461024990600160a01b900460ff1681565b3480156103eb57600080fd5b506102796103fa366004611613565b610801565b34801561040b57600080fd5b5061027961041a36600461162e565b61083b565b34801561042b57600080fd5b5061027961043a366004611666565b610878565b34801561044b57600080fd5b506102be61045a3660046115e6565b6001600160a01b031660009081526003602052604090205490565b34801561048157600080fd5b5061027961049036600461158c565b6108f9565b3480156104a157600080fd5b5060055461010090046001600160a01b0316610295565b3480156104c457600080fd5b50610213610923565b3480156104d957600080fd5b506102496104e8366004611560565b610932565b3480156104f957600080fd5b506102be600b5481565b34801561050f57600080fd5b5061027961051e3660046115e6565b61093f565b34801561052f57600080fd5b50610279610978565b34801561054457600080fd5b50600754610295906001600160a01b031681565b34801561056457600080fd5b506102be600a5481565b34801561057a57600080fd5b506102be61058936600461173d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105c057600080fd5b506102be600d5481565b3480156105d657600080fd5b506102796105e53660046115e6565b610c9d565b3480156105f657600080fd5b506102be610ce1565b34801561060b57600080fd5b506102be61061a366004611560565b610d43565b60606001805461062e90611776565b80601f016020809104026020016040519081016040528092919081815260200182805461065a90611776565b80156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b5050505050905090565b60006106be338484610d56565b50600192915050565b6006546001600160a01b031633146106de57600080fd5b60c88111156106ec57600080fd5b600a55565b60006103e8600b548361070491906117c6565b61070e91906117e5565b9392505050565b6000610722848484610db7565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561075357600080fd5b600019810361076657600191505061070e565b6107738533858403610d56565b506001949350505050565b6006546001600160a01b0316331461079557600080fd5b600880546001600160a01b0319169055565b6006546001600160a01b031633146107be57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b031633146107f757600080fd5b6107ff611021565b565b60055461010090046001600160a01b0316331461081d57600080fd5b60078054911515600160a01b0260ff60a01b19909216919091179055565b6006546001600160a01b0316331461085257600080fd5b600c829055600d8190556103e86108698284611807565b111561087457600080fd5b5050565b6006546001600160a01b0316331461088f57600080fd5b60005b82518110156108f45781600960008584815181106108b2576108b261181f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556108ed81611835565b9050610892565b505050565b6006546001600160a01b0316331461091057600080fd5b60c881111561091e57600080fd5b600b55565b60606002805461062e90611776565b60006106be338484610db7565b6006546001600160a01b0316331461095657600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b60055461010090046001600160a01b0316331461099457600080fd5b6007546001600160a01b0316156109aa57600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a22919061184e565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa7919061184e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b18919061184e565b90506000610b2461105d565b3060008181526003602052604080822084905551929350909160008051602061192283398151915290610b5a9085815260200190565b60405180910390a3336000818152600360209081526040808320678ac7230489e80000905551848152600080516020611922833981519152910160405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526009909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c40160606040518083038185885af1158015610c4d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c72919061186b565b5050600780546001600160a01b0319166001600160a01b039490941693909317909255505042601055565b60055461010090046001600160a01b03163314610cb957600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000601054600003610cf4575060005490565b6000603c600f5460105442610d099190611899565b610d1391906117c6565b610d1d91906117e5565b600e54610d2a9190611807565b9050600054811115610d3e57505060005490565b919050565b60006103e8600a548361070491906117c6565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e245760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6001600160a01b038216610e6e5760405162461bcd60e51b8152602060048201526011602482015270696e636f7272656374206164647265737360781b6044820152606401610e1b565b6007546001600160a01b038481169116148015610ea457506001600160a01b03821660009081526009602052604090205460ff16155b15610f7957600754600160a01b900460ff16610ef55760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e1b565b610f0083838361107a565b9050610f0a610ce1565b6001600160a01b038316600090815260036020526040902054610f2e908390611807565b1115610f745760405162461bcd60e51b81526020600482015260156024820152741b585e081dd85b1b195d0818dbdb9cdd1c985a5b9d605a1b6044820152606401610e1b565b611016565b60055460ff16158015610f9657506007546001600160a01b031615155b8015610faf57506007546001600160a01b038381169116145b8015610fd457506001600160a01b03831660009081526009602052604090205460ff16155b1561101657610fe38382611098565b30600090815260036020526040902054909150611016908290737a250d5630b4cf539739df2c5dacb4c659f2488d6110a9565b6108f48383836110e1565b6006546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561105a573d6000803e3d6000fd5b50565b6000678ac7230489e800006000546110759190611899565b905090565b6000611090848361108b8686610d43565b611186565b949350505050565b600061070e838361108b86866106f1565b816000036110b657505050565b60006110c38460026117c6565b9050808311156110d1578092505b6110db838361138f565b50505050565b6001600160a01b0383166000908152600360205260409020548181101561110757600080fd5b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061113e908490611807565b92505081905550826001600160a01b0316846001600160a01b03166000805160206119228339815191528460405161117891815260200190565b60405180910390a350505050565b6000806103e8600c548461119a91906117c6565b6111a491906117e5565b6008549091506000906001600160a01b0316156111d9576103e8600d54856111cc91906117c6565b6111d691906117e5565b90505b60006103e8600d54600c546111ee9190611807565b101561120c57816111ff8487611899565b6112099190611899565b90505b6112168587611899565b6001600160a01b038816600090815260036020526040812080549298508792909190611243908490611899565b909155505082156112a157306000908152600360205260408120805485929061126d908490611807565b909155505060405183815230906001600160a01b038916906000805160206119228339815191529060200160405180910390a35b811561130a576008546001600160a01b0316600090815260036020526040812080548492906112d1908490611807565b90915550506008546040518381526001600160a01b03918216918916906000805160206119228339815191529060200160405180910390a35b80156113845761dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c805483929061134e908490611807565b909155505060405181815261dead906001600160a01b038916906000805160206119228339815191529060200160405180910390a35b509395945050505050565b6005805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d1576113d161181f565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611453919061184e565b816001815181106114665761146661181f565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe5906114aa9086906000908690309042906004016118b0565b600060405180830381600087803b1580156114c457600080fd5b505af11580156114d8573d6000803e3d6000fd5b50506005805460ff191690555050505050565b600060208083528351808285015260005b81811015611518578581018301518582016040015282016114fc565b8181111561152a576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461105a57600080fd5b8035610d3e81611540565b6000806040838503121561157357600080fd5b823561157e81611540565b946020939093013593505050565b60006020828403121561159e57600080fd5b5035919050565b6000806000606084860312156115ba57600080fd5b83356115c581611540565b925060208401356115d581611540565b929592945050506040919091013590565b6000602082840312156115f857600080fd5b813561070e81611540565b80358015158114610d3e57600080fd5b60006020828403121561162557600080fd5b61070e82611603565b6000806040838503121561164157600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561167957600080fd5b823567ffffffffffffffff8082111561169157600080fd5b818501915085601f8301126116a557600080fd5b81356020828211156116b9576116b9611650565b8160051b604051601f19603f830116810181811086821117156116de576116de611650565b6040529283528183019350848101820192898411156116fc57600080fd5b948201945b838610156117215761171286611555565b85529482019493820193611701565b96506117309050878201611603565b9450505050509250929050565b6000806040838503121561175057600080fd5b823561175b81611540565b9150602083013561176b81611540565b809150509250929050565b600181811c9082168061178a57607f821691505b6020821081036117aa57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156117e0576117e06117b0565b500290565b60008261180257634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561181a5761181a6117b0565b500190565b634e487b7160e01b600052603260045260246000fd5b600060018201611847576118476117b0565b5060010190565b60006020828403121561186057600080fd5b815161070e81611540565b60008060006060848603121561188057600080fd5b8351925060208401519150604084015190509250925092565b6000828210156118ab576118ab6117b0565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119005784516001600160a01b0316835293830193918301916001016118db565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fa9b0c6d86318b01493d073c1f24bfd01962b5b62e8b63095a189a747cc6f4db64736f6c634300080f0033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80636bf8e9cc1161010d578063c6510557116100a0578063dd62ed3e1161006f578063dd62ed3e1461056e578063f1153e64146105b4578063f2fde38b146105ca578063f8b45b05146105ea578063f95fa9cf146105ff57600080fd5b8063c651055714610503578063c7af2a9c14610523578063c816841b14610538578063d57038e11461055857600080fd5b80638da5cb5b116100dc5780638da5cb5b1461049557806395d89b41146104b8578063a9059cbb146104cd578063c4b44a40146104ed57600080fd5b80636bf8e9cc146103ff5780636c90b57f1461041f57806370a082311461043f5780638b4cee081461047557600080fd5b80632b96ddbe116101855780633ab1a494116101545780633ab1a494146103895780633ccfd60b146103a95780633d389faf146103be57806347fd4ab3146103df57600080fd5b80632b96ddbe146103225780632ccb9321146103375780632d36b92b1461034d578063313ce5671461036d57600080fd5b806318160ddd116101c157806318160ddd146102ad5780631a795197146102cc5780631d55009a146102ec57806323b872dd1461030257600080fd5b806306fdde03146101fe578063095ea7b3146102295780630cc835a3146102595780631581b6001461027b57600080fd5b366101f957005b600080fd5b34801561020a57600080fd5b5061021361061f565b60405161022091906114eb565b60405180910390f35b34801561023557600080fd5b50610249610244366004611560565b6106b1565b6040519015158152602001610220565b34801561026557600080fd5b5061027961027436600461158c565b6106c7565b005b34801561028757600080fd5b506006546001600160a01b03165b6040516001600160a01b039091168152602001610220565b3480156102b957600080fd5b506000545b604051908152602001610220565b3480156102d857600080fd5b506102be6102e7366004611560565b6106f1565b3480156102f857600080fd5b506102be600c5481565b34801561030e57600080fd5b5061024961031d3660046115a5565b610715565b34801561032e57600080fd5b5061027961077e565b34801561034357600080fd5b5061029561dead81565b34801561035957600080fd5b50600854610295906001600160a01b031681565b34801561037957600080fd5b5060405160098152602001610220565b34801561039557600080fd5b506102796103a43660046115e6565b6107a7565b3480156103b557600080fd5b506102796107e0565b3480156103ca57600080fd5b5060075461024990600160a01b900460ff1681565b3480156103eb57600080fd5b506102796103fa366004611613565b610801565b34801561040b57600080fd5b5061027961041a36600461162e565b61083b565b34801561042b57600080fd5b5061027961043a366004611666565b610878565b34801561044b57600080fd5b506102be61045a3660046115e6565b6001600160a01b031660009081526003602052604090205490565b34801561048157600080fd5b5061027961049036600461158c565b6108f9565b3480156104a157600080fd5b5060055461010090046001600160a01b0316610295565b3480156104c457600080fd5b50610213610923565b3480156104d957600080fd5b506102496104e8366004611560565b610932565b3480156104f957600080fd5b506102be600b5481565b34801561050f57600080fd5b5061027961051e3660046115e6565b61093f565b34801561052f57600080fd5b50610279610978565b34801561054457600080fd5b50600754610295906001600160a01b031681565b34801561056457600080fd5b506102be600a5481565b34801561057a57600080fd5b506102be61058936600461173d565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105c057600080fd5b506102be600d5481565b3480156105d657600080fd5b506102796105e53660046115e6565b610c9d565b3480156105f657600080fd5b506102be610ce1565b34801561060b57600080fd5b506102be61061a366004611560565b610d43565b60606001805461062e90611776565b80601f016020809104026020016040519081016040528092919081815260200182805461065a90611776565b80156106a75780601f1061067c576101008083540402835291602001916106a7565b820191906000526020600020905b81548152906001019060200180831161068a57829003601f168201915b5050505050905090565b60006106be338484610d56565b50600192915050565b6006546001600160a01b031633146106de57600080fd5b60c88111156106ec57600080fd5b600a55565b60006103e8600b548361070491906117c6565b61070e91906117e5565b9392505050565b6000610722848484610db7565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561075357600080fd5b600019810361076657600191505061070e565b6107738533858403610d56565b506001949350505050565b6006546001600160a01b0316331461079557600080fd5b600880546001600160a01b0319169055565b6006546001600160a01b031633146107be57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b031633146107f757600080fd5b6107ff611021565b565b60055461010090046001600160a01b0316331461081d57600080fd5b60078054911515600160a01b0260ff60a01b19909216919091179055565b6006546001600160a01b0316331461085257600080fd5b600c829055600d8190556103e86108698284611807565b111561087457600080fd5b5050565b6006546001600160a01b0316331461088f57600080fd5b60005b82518110156108f45781600960008584815181106108b2576108b261181f565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556108ed81611835565b9050610892565b505050565b6006546001600160a01b0316331461091057600080fd5b60c881111561091e57600080fd5b600b55565b60606002805461062e90611776565b60006106be338484610db7565b6006546001600160a01b0316331461095657600080fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b60055461010090046001600160a01b0316331461099457600080fd5b6007546001600160a01b0316156109aa57600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a22919061184e565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa7919061184e565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b18919061184e565b90506000610b2461105d565b3060008181526003602052604080822084905551929350909160008051602061192283398151915290610b5a9085815260200190565b60405180910390a3336000818152600360209081526040808320678ac7230489e80000905551848152600080516020611922833981519152910160405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b03881685526009909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c40160606040518083038185885af1158015610c4d573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c72919061186b565b5050600780546001600160a01b0319166001600160a01b039490941693909317909255505042601055565b60055461010090046001600160a01b03163314610cb957600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6000601054600003610cf4575060005490565b6000603c600f5460105442610d099190611899565b610d1391906117c6565b610d1d91906117e5565b600e54610d2a9190611807565b9050600054811115610d3e57505060005490565b919050565b60006103e8600a548361070491906117c6565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e245760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6001600160a01b038216610e6e5760405162461bcd60e51b8152602060048201526011602482015270696e636f7272656374206164647265737360781b6044820152606401610e1b565b6007546001600160a01b038481169116148015610ea457506001600160a01b03821660009081526009602052604090205460ff16155b15610f7957600754600160a01b900460ff16610ef55760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e1b565b610f0083838361107a565b9050610f0a610ce1565b6001600160a01b038316600090815260036020526040902054610f2e908390611807565b1115610f745760405162461bcd60e51b81526020600482015260156024820152741b585e081dd85b1b195d0818dbdb9cdd1c985a5b9d605a1b6044820152606401610e1b565b611016565b60055460ff16158015610f9657506007546001600160a01b031615155b8015610faf57506007546001600160a01b038381169116145b8015610fd457506001600160a01b03831660009081526009602052604090205460ff16155b1561101657610fe38382611098565b30600090815260036020526040902054909150611016908290737a250d5630b4cf539739df2c5dacb4c659f2488d6110a9565b6108f48383836110e1565b6006546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561105a573d6000803e3d6000fd5b50565b6000678ac7230489e800006000546110759190611899565b905090565b6000611090848361108b8686610d43565b611186565b949350505050565b600061070e838361108b86866106f1565b816000036110b657505050565b60006110c38460026117c6565b9050808311156110d1578092505b6110db838361138f565b50505050565b6001600160a01b0383166000908152600360205260409020548181101561110757600080fd5b6001600160a01b0380851660009081526003602052604080822085850390559185168152908120805484929061113e908490611807565b92505081905550826001600160a01b0316846001600160a01b03166000805160206119228339815191528460405161117891815260200190565b60405180910390a350505050565b6000806103e8600c548461119a91906117c6565b6111a491906117e5565b6008549091506000906001600160a01b0316156111d9576103e8600d54856111cc91906117c6565b6111d691906117e5565b90505b60006103e8600d54600c546111ee9190611807565b101561120c57816111ff8487611899565b6112099190611899565b90505b6112168587611899565b6001600160a01b038816600090815260036020526040812080549298508792909190611243908490611899565b909155505082156112a157306000908152600360205260408120805485929061126d908490611807565b909155505060405183815230906001600160a01b038916906000805160206119228339815191529060200160405180910390a35b811561130a576008546001600160a01b0316600090815260036020526040812080548492906112d1908490611807565b90915550506008546040518381526001600160a01b03918216918916906000805160206119228339815191529060200160405180910390a35b80156113845761dead600090815260036020527f262bb27bbdd95c1cdc8e16957e36e38579ea44f7f6413dd7a9c75939def06b2c805483929061134e908490611807565b909155505060405181815261dead906001600160a01b038916906000805160206119228339815191529060200160405180910390a35b509395945050505050565b6005805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d1576113d161181f565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611453919061184e565b816001815181106114665761146661181f565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe5906114aa9086906000908690309042906004016118b0565b600060405180830381600087803b1580156114c457600080fd5b505af11580156114d8573d6000803e3d6000fd5b50506005805460ff191690555050505050565b600060208083528351808285015260005b81811015611518578581018301518582016040015282016114fc565b8181111561152a576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461105a57600080fd5b8035610d3e81611540565b6000806040838503121561157357600080fd5b823561157e81611540565b946020939093013593505050565b60006020828403121561159e57600080fd5b5035919050565b6000806000606084860312156115ba57600080fd5b83356115c581611540565b925060208401356115d581611540565b929592945050506040919091013590565b6000602082840312156115f857600080fd5b813561070e81611540565b80358015158114610d3e57600080fd5b60006020828403121561162557600080fd5b61070e82611603565b6000806040838503121561164157600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561167957600080fd5b823567ffffffffffffffff8082111561169157600080fd5b818501915085601f8301126116a557600080fd5b81356020828211156116b9576116b9611650565b8160051b604051601f19603f830116810181811086821117156116de576116de611650565b6040529283528183019350848101820192898411156116fc57600080fd5b948201945b838610156117215761171286611555565b85529482019493820193611701565b96506117309050878201611603565b9450505050509250929050565b6000806040838503121561175057600080fd5b823561175b81611540565b9150602083013561176b81611540565b809150509250929050565b600181811c9082168061178a57607f821691505b6020821081036117aa57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156117e0576117e06117b0565b500290565b60008261180257634e487b7160e01b600052601260045260246000fd5b500490565b6000821982111561181a5761181a6117b0565b500190565b634e487b7160e01b600052603260045260246000fd5b600060018201611847576118476117b0565b5060010190565b60006020828403121561186057600080fd5b815161070e81611540565b60008060006060848603121561188057600080fd5b8351925060208401519150604084015190509250925092565b6000828210156118ab576118ab6117b0565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119005784516001600160a01b0316835293830193918301916001016118db565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220fa9b0c6d86318b01493d073c1f24bfd01962b5b62e8b63095a189a747cc6f4db64736f6c634300080f0033

Deployed Bytecode Sourcemap

16401:444:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5483:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6754:193;;;;;;;;;;-1:-1:-1;6754:193:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6754:193:0;1211:187:1;13667:147:0;;;;;;;;;;-1:-1:-1;13667:147:0;;;;;:::i;:::-;;:::i;:::-;;699:101;;;;;;;;;;-1:-1:-1;776:16:0;;-1:-1:-1;;;;;776:16:0;699:101;;;-1:-1:-1;;;;;1752:32:1;;;1734:51;;1722:2;1707:18;699:101:0;1588:203:1;5766:102:0;;;;;;;;;;-1:-1:-1;5821:7:0;5848:12;5766:102;;;1942:25:1;;;1930:2;1915:18;5766:102:0;1796:177:1;13499:160:0;;;;;;;;;;-1:-1:-1;13499:160:0;;;;;:::i;:::-;;:::i;10210:30::-;;;;;;;;;;;;;;;;7183:504;;;;;;;;;;-1:-1:-1;7183:504:0;;;;;:::i;:::-;;:::i;14160:106::-;;;;;;;;;;;;;:::i;9925:87::-;;;;;;;;;;;;9970:42;9925:87;;10019:27;;;;;;;;;;-1:-1:-1;10019:27:0;;;;-1:-1:-1;;;;;10019:27:0;;;5673:85;;;;;;;;;;-1:-1:-1;5673:85:0;;5117:1;2581:36:1;;2569:2;2554:18;5673:85:0;2439:184:1;532:159:0;;;;;;;;;;-1:-1:-1;532:159:0;;;;;:::i;:::-;;:::i;336:74::-;;;;;;;;;;;;;:::i;9890:28::-;;;;;;;;;;-1:-1:-1;9890:28:0;;;;-1:-1:-1;;;9890:28:0;;;;;;16100:89;;;;;;;;;;-1:-1:-1;16100:89:0;;;;;:::i;:::-;;:::i;14274:246::-;;;;;;;;;;-1:-1:-1;14274:246:0;;;;;:::i;:::-;;:::i;15849:243::-;;;;;;;;;;-1:-1:-1;15849:243:0;;;;;:::i;:::-;;:::i;16680:162::-;;;;;;;;;;-1:-1:-1;16680:162:0;;;;;:::i;:::-;-1:-1:-1;;;;;16816:18:0;16784:7;16816:18;;;:9;:18;;;;;;;16680:162;13822:152;;;;;;;;;;-1:-1:-1;13822:152:0;;;;;:::i;:::-;;:::i;1181:81::-;;;;;;;;;;-1:-1:-1;1248:6:0;;;;;-1:-1:-1;;;;;1248:6:0;1181:81;;5576:89;;;;;;;;;;;;;:::i;5969:199::-;;;;;;;;;;-1:-1:-1;5969:199:0;;;;;:::i;:::-;;:::i;10156:30::-;;;;;;;;;;;;;;;;13982:170;;;;;;;;;;-1:-1:-1;13982:170:0;;;;;:::i;:::-;;:::i;11169:1010::-;;;;;;;;;;;;;:::i;9857:26::-;;;;;;;;;;-1:-1:-1;9857:26:0;;;;-1:-1:-1;;;;;9857:26:0;;;10103:29;;;;;;;;;;;;;;;;6560:186;;;;;;;;;;-1:-1:-1;6560:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;6711:18:0;;;6679:7;6711:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6560:186;10260:29;;;;;;;;;;;;;;;;1073:100;;;;;;;;;;-1:-1:-1;1073:100:0;;;;;:::i;:::-;;:::i;10826:335::-;;;;;;;;;;;;;:::i;13333:158::-;;;;;;;;;;-1:-1:-1;13333:158:0;;;;;:::i;:::-;;:::i;5483:85::-;5522:13;5555:5;5548:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5483:85;:::o;6754:193::-;6858:4;6880:37;6889:10;6901:7;6910:6;6880:8;:37::i;:::-;-1:-1:-1;6935:4:0;6754:193;;;;:::o;13667:147::-;291:16;;-1:-1:-1;;;;;291:16:0;277:10;:30;269:39;;;;;;13767:3:::1;13751:12;:19;;13743:28;;;::::0;::::1;;13782:9;:24:::0;13667:147::o;13499:160::-;13591:7;13647:4;13633:10;;13624:6;:19;;;;:::i;:::-;13623:28;;;;:::i;:::-;13616:35;13499:160;-1:-1:-1;;;13499:160:0:o;7183:504::-;7317:4;7334:36;7344:6;7352:9;7363:6;7334:9;:36::i;:::-;-1:-1:-1;;;;;7410:19:0;;7383:24;7410:19;;;:11;:19;;;;;;;;7430:10;7410:31;;;;;;;;7460:26;;;;7452:35;;;;;;-1:-1:-1;;7502:16:0;:38;7498:55;;7549:4;7542:11;;;;;7498:55;7589;7598:6;7606:10;7637:6;7618:16;:25;7589:8;:55::i;:::-;-1:-1:-1;7675:4:0;;7183:504;-1:-1:-1;;;;7183:504:0:o;14160:106::-;291:16;;-1:-1:-1;;;;;291:16:0;277:10;:30;269:39;;;;;;14233:12:::1;:25:::0;;-1:-1:-1;;;;;;14233:25:0::1;::::0;;14160:106::o;532:159::-;291:16;;-1:-1:-1;;;;;291:16:0;277:10;:30;269:39;;;;;;646:16:::1;:37:::0;;-1:-1:-1;;;;;;646:37:0::1;-1:-1:-1::0;;;;;646:37:0;;;::::1;::::0;;;::::1;::::0;;532:159::o;336:74::-;291:16;;-1:-1:-1;;;;;291:16:0;277:10;:30;269:39;;;;;;391:11:::1;:9;:11::i;:::-;336:74::o:0;16100:89::-;978:6;;;;;-1:-1:-1;;;;;978:6:0;964:10;:20;956:29;;;;;;16164:9:::1;:17:::0;;;::::1;;-1:-1:-1::0;;;16164:17:0::1;-1:-1:-1::0;;;;16164:17:0;;::::1;::::0;;;::::1;::::0;;16100:89::o;14274:246::-;291:16;;-1:-1:-1;;;;;291:16:0;277:10;:30;269:39;;;;;;14398:9:::1;:24:::0;;;14433:10:::1;:29:::0;;;14507:4:::1;14481:22;14446:16:::0;14410:12;14481:22:::1;:::i;:::-;:30;;14473:39;;;::::0;::::1;;14274:246:::0;;:::o;15849:243::-;291:16;;-1:-1:-1;;;;;291:16:0;277:10;:30;269:39;;;;;;15978:9:::1;15973:112;15997:8;:15;15993:1;:19;15973:112;;;16068:5;16034:18;:31;16053:8;16062:1;16053:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;16034:31:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;16034:31:0;:39;;-1:-1:-1;;16034:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;16014:3:::1;::::0;::::1;:::i;:::-;;;15973:112;;;;15849:243:::0;;:::o;13822:152::-;291:16;;-1:-1:-1;;;;;291:16:0;277:10;:30;269:39;;;;;;13925:3:::1;13908:13;:20;;13900:29;;;::::0;::::1;;13940:10;:26:::0;13822:152::o;5576:89::-;5617:13;5650:7;5643:14;;;;;:::i;5969:199::-;6076:4;6098:40;6108:10;6120:9;6131:6;6098:9;:40::i;13982:170::-;291:16;;-1:-1:-1;;;;;291:16:0;277:10;:30;269:39;;;;;;14106:12:::1;:38:::0;;-1:-1:-1;;;;;;14106:38:0::1;-1:-1:-1::0;;;;;14106:38:0;;;::::1;::::0;;;::::1;::::0;;13982:170::o;11169:1010::-;978:6;;;;;-1:-1:-1;;;;;978:6:0;964:10;:20;956:29;;;;;;11232:11:::1;::::0;-1:-1:-1;;;;;11232:11:0::1;:25:::0;11224:34:::1;;;::::0;::::1;;11269:12;9807:42;-1:-1:-1::0;;;;;11302:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11284:56:0::1;;11363:4;9807:42;-1:-1:-1::0;;;;;11383:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11284:133;::::0;-1:-1:-1;;;;;;11284:133:0::1;::::0;;;;;;-1:-1:-1;;;;;7007:15:1;;;11284:133:0::1;::::0;::::1;6989:34:1::0;7059:15;;7039:18;;;7032:43;6924:18;;11284:133:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11269:148;;11428:24;11455:27;:25;:27::i;:::-;11511:4;11493:24;::::0;;;:9:::1;:24;::::0;;;;;:43;;;11552:53;11428:54;;-1:-1:-1;11511:4:0;;-1:-1:-1;;;;;;;;;;;11552:53:0;::::1;::::0;11428:54;1942:25:1;;1930:2;1915:18;;1796:177;11552:53:0::1;;;;;;;;11628:10;11618:21;::::0;;;:9:::1;:21;::::0;;;;;;;11642:4:::1;11618:28:::0;;11662:50;1942:25:1;;;-1:-1:-1;;;;;;;;;;;11662:50:0;1915:18:1;11662:50:0::1;;;;;;;11745:4;11725:26;::::0;;;:11:::1;:26;::::0;;;;;;;9807:42:::1;11725:77:::0;;;;;;;;;-1:-1:-1;;11725:98:0;;-1:-1:-1;;;;;11834:24:0;::::1;::::0;;:18:::1;:24:::0;;;;;;:31;;-1:-1:-1;;11834:31:0::1;11861:4;11834:31;::::0;;11876:219;-1:-1:-1;;;11876:219:0;;;;::::1;7427:34:1::0;;;;7477:18;;;7470:34;;;7520:18;;;7513:34;;;7563:18;;;7556:34;;;;12044:10:0::1;7606:19:1::0;;;7599:44;12069:15:0::1;7659:19:1::0;;;7652:35;11876:32:0::1;::::0;11916:21:::1;::::0;7361:19:1;;11876:219:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12108:11:0::1;:18:::0;;-1:-1:-1;;;;;;12108:18:0::1;-1:-1:-1::0;;;;;12108:18:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;12156:15:0::1;12137:16;:34:::0;11169:1010::o;1073:100::-;978:6;;;;;-1:-1:-1;;;;;978:6:0;964:10;:20;956:29;;;;;;1148:6:::1;:17:::0;;-1:-1:-1;;;;;1148:17:0;;::::1;;;-1:-1:-1::0;;;;;;1148:17:0;;::::1;::::0;;;::::1;::::0;;1073:100::o;10826:335::-;10868:7;10892:16;;10912:1;10892:21;10888:46;;-1:-1:-1;10922:12:0;;;10826:335::o;10888:46::-;10945:11;11068:9;11029:21;;11009:16;;10991:15;:34;;;;:::i;:::-;10990:60;;;;:::i;:::-;10989:89;;;;:::i;:::-;10959:14;;:119;;;;:::i;:::-;10945:133;;11099:12;;11093:3;:18;11089:43;;;-1:-1:-1;;11120:12:0;;;10826:335::o;11089:43::-;11150:3;10826:335;-1:-1:-1;10826:335:0:o;13333:158::-;13424:7;13479:4;13466:9;;13457:6;:18;;;;:::i;6955:220::-;-1:-1:-1;;;;;7083:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7135:32;;1942:25:1;;;7135:32:0;;1915:18:1;7135:32:0;;;;;;;6955:220;;;:::o;12187:1138::-;-1:-1:-1;;;;;12319:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;12319:25:0;12311:67;;;;-1:-1:-1;;;12311:67:0;;8341:2:1;12311:67:0;;;8323:21:1;8380:2;8360:18;;;8353:30;8419:31;8399:18;;;8392:59;8468:18;;12311:67:0;;;;;;;;;-1:-1:-1;;;;;12397:16:0;;12389:46;;;;-1:-1:-1;;;12389:46:0;;8699:2:1;12389:46:0;;;8681:21:1;8738:2;8718:18;;;8711:30;-1:-1:-1;;;8757:18:1;;;8750:47;8814:18;;12389:46:0;8497:341:1;12389:46:0;12476:11;;-1:-1:-1;;;;;12468:19:0;;;12476:11;;12468:19;:46;;;;-1:-1:-1;;;;;;12492:22:0;;;;;;:18;:22;;;;;;;;12491:23;12468:46;12464:787;;;12539:9;;-1:-1:-1;;;12539:9:0;;;;12531:38;;;;-1:-1:-1;;;12531:38:0;;9045:2:1;12531:38:0;;;9027:21:1;9084:2;9064:18;;;9057:30;-1:-1:-1;;;9103:18:1;;;9096:46;9159:18;;12531:38:0;8843:340:1;12531:38:0;12619:28;12630:4;12636:2;12640:6;12619:10;:28::i;:::-;12610:37;;12714:11;:9;:11::i;:::-;-1:-1:-1;;;;;12688:13:0;;;;;;:9;:13;;;;;;:22;;12704:6;;12688:22;:::i;:::-;:37;;12662:120;;;;-1:-1:-1;;;12662:120:0;;9390:2:1;12662:120:0;;;9372:21:1;9429:2;9409:18;;;9402:30;-1:-1:-1;;;9448:18:1;;;9441:51;9509:18;;12662:120:0;9188:345:1;12662:120:0;12464:787;;;12845:7;;;;12844:8;:50;;;;-1:-1:-1;12869:11:0;;-1:-1:-1;;;;;12869:11:0;:25;;12844:50;:84;;;;-1:-1:-1;12917:11:0;;-1:-1:-1;;;;;12911:17:0;;;12917:11;;12911:17;12844:84;:126;;;;-1:-1:-1;;;;;;12946:24:0;;;;;;:18;:24;;;;;;;;12945:25;12844:126;12826:425;;;13026:25;13038:4;13044:6;13026:11;:25::i;:::-;13183:4;13165:24;;;;:9;:24;;;;;;13017:34;;-1:-1:-1;13094:145:0;;13017:34;;9807:42;13094:27;:145::i;:::-;13284:33;13300:4;13306:2;13310:6;13284:15;:33::i;418:106::-;467:16;;459:57;;-1:-1:-1;;;;;467:16:0;;;;494:21;459:57;;;;;467:16;459:57;467:16;459:57;494:21;467:16;459:57;;;;;;;;;;;;;;;;;;;;;418:106::o;16508:164::-;16613:7;16660:4;16645:12;;:19;;;;:::i;:::-;16638:26;;16508:164;:::o;14528:196::-;14641:7;14668:48;14680:4;14686:6;14694:21;14704:2;14708:6;14694:9;:21::i;:::-;14668:11;:48::i;:::-;14661:55;14528:196;-1:-1:-1;;;;14528:196:0:o;14732:177::-;14818:7;14850:51;14862:4;14868:6;14876:24;14887:4;14893:6;14876:10;:24::i;3699:379::-;3874:9;3887:1;3874:14;3870:27;;3699:379;;;:::o;3870:27::-;3907:20;3930:18;3934:14;3930:1;:18;:::i;:::-;3907:41;;3975:12;3963:9;:24;3959:54;;;4001:12;3989:24;;3959:54;4024:46;4042:9;4053:16;4024:17;:46::i;:::-;3859:219;3699:379;;;:::o;6176:376::-;-1:-1:-1;;;;;6323:15:0;;6299:21;6323:15;;;:9;:15;;;;;;6357:23;;;;6349:32;;;;;;-1:-1:-1;;;;;6417:15:0;;;;;;;:9;:15;;;;;;6435:22;;;6417:40;;6479:13;;;;;;;;:23;;6451:6;;6417:15;6479:23;;6451:6;;6479:23;:::i;:::-;;;;;;;;6533:2;-1:-1:-1;;;;;6518:26:0;6527:4;-1:-1:-1;;;;;6518:26:0;-1:-1:-1;;;;;;;;;;;6537:6:0;6518:26;;;;1942:25:1;;1930:2;1915:18;;1796:177;6518:26:0;;;;;;;;6288:264;6176:376;;;:::o;14917:924::-;15032:7;15052:15;15090:4;15077:9;;15071:3;:15;;;;:::i;:::-;15070:24;;;;:::i;:::-;15140:12;;15052:42;;-1:-1:-1;15105:16:0;;-1:-1:-1;;;;;15140:12:0;:26;15136:81;;15213:4;15199:10;;15193:3;:16;;;;:::i;:::-;15192:25;;;;:::i;:::-;15181:36;;15136:81;15228:12;15284:4;15271:10;;15259:9;;:22;;;;:::i;:::-;:29;15255:66;;;15313:8;15297:13;15303:7;15297:3;:13;:::i;:::-;:24;;;;:::i;:::-;15290:31;;15255:66;15334:13;15344:3;15334:13;;:::i;:::-;-1:-1:-1;;;;;15358:15:0;;;;;;:9;:15;;;;;:22;;15334:13;;-1:-1:-1;15377:3:0;;15358:15;;;:22;;15377:3;;15358:22;:::i;:::-;;;;-1:-1:-1;;15397:11:0;;15393:137;;15443:4;15425:24;;;;:9;:24;;;;;:35;;15453:7;;15425:24;:35;;15453:7;;15425:35;:::i;:::-;;;;-1:-1:-1;;15480:38:0;;1942:25:1;;;15503:4:0;;-1:-1:-1;;;;;15480:38:0;;;-1:-1:-1;;;;;;;;;;;15480:38:0;1930:2:1;1915:18;15480:38:0;;;;;;;15393:137;15544:12;;15540:138;;15583:12;;-1:-1:-1;;;;;15583:12:0;15573:23;;;;:9;:23;;;;;:35;;15600:8;;15573:23;:35;;15600:8;;15573:35;:::i;:::-;;;;-1:-1:-1;;15643:12:0;;15628:38;;1942:25:1;;;-1:-1:-1;;;;;15643:12:0;;;;15628:38;;;-1:-1:-1;;;;;;;;;;;15628:38:0;1930:2:1;1915:18;15628:38:0;;;;;;;15540:138;15692:8;;15688:120;;9970:42;15717:20;;;;:9;:20;;;:28;;15741:4;;15717:20;:28;;15741:4;;15717:28;:::i;:::-;;;;-1:-1:-1;;15765:31:0;;1942:25:1;;;9970:42:0;;-1:-1:-1;;;;;15765:31:0;;;-1:-1:-1;;;;;;;;;;;15765:31:0;1930:2:1;1915:18;15765:31:0;;;;;;;15688:120;-1:-1:-1;15827:6:0;;14917:924;-1:-1:-1;;;;;14917:924:0:o;3060:631::-;2992:7;:14;;-1:-1:-1;;2992:14:0;3002:4;2992:14;;;3286:16:::1;::::0;;3300:1:::1;3286:16:::0;;;;;::::1;::::0;;-1:-1:-1;;3286:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;3286:16:0::1;3262:40;;3331:4;3313;3318:1;3313:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;3313:23:0::1;;;-1:-1:-1::0;;;;;3313:23:0::1;;;::::0;::::1;3357:16;-1:-1:-1::0;;;;;3357:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3347:4;3352:1;3347:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3347:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;3471:212:::1;::::0;-1:-1:-1;;;3471:212:0;;:38;;::::1;::::0;::::1;::::0;:212:::1;::::0;3524:11;;3550:1:::1;::::0;3594:4;;3621::::1;::::0;3657:15:::1;::::0;3471:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3029:7:0;:15;;-1:-1:-1;;3029:15:0;;;-1:-1:-1;;;;;3060:631:0:o;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1403:180::-;1462:6;1515:2;1503:9;1494:7;1490:23;1486:32;1483:52;;;1531:1;1528;1521:12;1483:52;-1:-1:-1;1554:23:1;;1403:180;-1:-1:-1;1403:180:1:o;1978:456::-;2055:6;2063;2071;2124:2;2112:9;2103:7;2099:23;2095:32;2092:52;;;2140:1;2137;2130:12;2092:52;2179:9;2166:23;2198:31;2223:5;2198:31;:::i;:::-;2248:5;-1:-1:-1;2305:2:1;2290:18;;2277:32;2318:33;2277:32;2318:33;:::i;:::-;1978:456;;2370:7;;-1:-1:-1;;;2424:2:1;2409:18;;;;2396:32;;1978:456::o;2628:247::-;2687:6;2740:2;2728:9;2719:7;2715:23;2711:32;2708:52;;;2756:1;2753;2746:12;2708:52;2795:9;2782:23;2814:31;2839:5;2814:31;:::i;2880:160::-;2945:20;;3001:13;;2994:21;2984:32;;2974:60;;3030:1;3027;3020:12;3045:180;3101:6;3154:2;3142:9;3133:7;3129:23;3125:32;3122:52;;;3170:1;3167;3160:12;3122:52;3193:26;3209:9;3193:26;:::i;3230:248::-;3298:6;3306;3359:2;3347:9;3338:7;3334:23;3330:32;3327:52;;;3375:1;3372;3365:12;3327:52;-1:-1:-1;;3398:23:1;;;3468:2;3453:18;;;3440:32;;-1:-1:-1;3230:248:1:o;3483:127::-;3544:10;3539:3;3535:20;3532:1;3525:31;3575:4;3572:1;3565:15;3599:4;3596:1;3589:15;3615:1191;3705:6;3713;3766:2;3754:9;3745:7;3741:23;3737:32;3734:52;;;3782:1;3779;3772:12;3734:52;3822:9;3809:23;3851:18;3892:2;3884:6;3881:14;3878:34;;;3908:1;3905;3898:12;3878:34;3946:6;3935:9;3931:22;3921:32;;3991:7;3984:4;3980:2;3976:13;3972:27;3962:55;;4013:1;4010;4003:12;3962:55;4049:2;4036:16;4071:4;4094:2;4090;4087:10;4084:36;;;4100:18;;:::i;:::-;4146:2;4143:1;4139:10;4178:2;4172:9;4241:2;4237:7;4232:2;4228;4224:11;4220:25;4212:6;4208:38;4296:6;4284:10;4281:22;4276:2;4264:10;4261:18;4258:46;4255:72;;;4307:18;;:::i;:::-;4343:2;4336:22;4393:18;;;4427:15;;;;-1:-1:-1;4469:11:1;;;4465:20;;;4497:19;;;4494:39;;;4529:1;4526;4519:12;4494:39;4553:11;;;;4573:148;4589:6;4584:3;4581:15;4573:148;;;4655:23;4674:3;4655:23;:::i;:::-;4643:36;;4606:12;;;;4699;;;;4573:148;;;4740:6;-1:-1:-1;4765:35:1;;-1:-1:-1;4781:18:1;;;4765:35;:::i;:::-;4755:45;;;;;;3615:1191;;;;;:::o;4811:388::-;4879:6;4887;4940:2;4928:9;4919:7;4915:23;4911:32;4908:52;;;4956:1;4953;4946:12;4908:52;4995:9;4982:23;5014:31;5039:5;5014:31;:::i;:::-;5064:5;-1:-1:-1;5121:2:1;5106:18;;5093:32;5134:33;5093:32;5134:33;:::i;:::-;5186:7;5176:17;;;4811:388;;;;;:::o;5204:380::-;5283:1;5279:12;;;;5326;;;5347:61;;5401:4;5393:6;5389:17;5379:27;;5347:61;5454:2;5446:6;5443:14;5423:18;5420:38;5417:161;;5500:10;5495:3;5491:20;5488:1;5481:31;5535:4;5532:1;5525:15;5563:4;5560:1;5553:15;5417:161;;5204:380;;;:::o;5589:127::-;5650:10;5645:3;5641:20;5638:1;5631:31;5681:4;5678:1;5671:15;5705:4;5702:1;5695:15;5721:168;5761:7;5827:1;5823;5819:6;5815:14;5812:1;5809:21;5804:1;5797:9;5790:17;5786:45;5783:71;;;5834:18;;:::i;:::-;-1:-1:-1;5874:9:1;;5721:168::o;5894:217::-;5934:1;5960;5950:132;;6004:10;5999:3;5995:20;5992:1;5985:31;6039:4;6036:1;6029:15;6067:4;6064:1;6057:15;5950:132;-1:-1:-1;6096:9:1;;5894:217::o;6116:128::-;6156:3;6187:1;6183:6;6180:1;6177:13;6174:39;;;6193:18;;:::i;:::-;-1:-1:-1;6229:9:1;;6116:128::o;6249:127::-;6310:10;6305:3;6301:20;6298:1;6291:31;6341:4;6338:1;6331:15;6365:4;6362:1;6355:15;6381:135;6420:3;6441:17;;;6438:43;;6461:18;;:::i;:::-;-1:-1:-1;6508:1:1;6497:13;;6381:135::o;6521:251::-;6591:6;6644:2;6632:9;6623:7;6619:23;6615:32;6612:52;;;6660:1;6657;6650:12;6612:52;6692:9;6686:16;6711:31;6736:5;6711:31;:::i;7698:306::-;7786:6;7794;7802;7855:2;7843:9;7834:7;7830:23;7826:32;7823:52;;;7871:1;7868;7861:12;7823:52;7900:9;7894:16;7884:26;;7950:2;7939:9;7935:18;7929:25;7919:35;;7994:2;7983:9;7979:18;7973:25;7963:35;;7698:306;;;;;:::o;8009:125::-;8049:4;8077:1;8074;8071:8;8068:34;;;8082:18;;:::i;:::-;-1:-1:-1;8119:9:1;;8009:125::o;9538:980::-;9800:4;9848:3;9837:9;9833:19;9879:6;9868:9;9861:25;9905:2;9943:6;9938:2;9927:9;9923:18;9916:34;9986:3;9981:2;9970:9;9966:18;9959:31;10010:6;10045;10039:13;10076:6;10068;10061:22;10114:3;10103:9;10099:19;10092:26;;10153:2;10145:6;10141:15;10127:29;;10174:1;10184:195;10198:6;10195:1;10192:13;10184:195;;;10263:13;;-1:-1:-1;;;;;10259:39:1;10247:52;;10354:15;;;;10319:12;;;;10295:1;10213:9;10184:195;;;-1:-1:-1;;;;;;;10435:32:1;;;;10430:2;10415:18;;10408:60;-1:-1:-1;;;10499:3:1;10484:19;10477:35;10396:3;9538:980;-1:-1:-1;;;9538:980:1:o

Swarm Source

ipfs://fa9b0c6d86318b01493d073c1f24bfd01962b5b62e8b63095a189a747cc6f4db

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.