ETH Price: $3,265.27 (-0.56%)
Gas: 1 Gwei

Contract

0x971f1582Fd2eEed665E24a21E315A66FA70d3b84
 

Overview

ETH Balance

0.034230209444779614 ETH

Eth Value

$111.77 (@ $3,265.27/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve168853652023-03-22 19:59:59494 days ago1679515199IN
0x971f1582...FA70d3b84
0 ETH0.0019752142.50239072
Approve168492242023-03-17 18:11:23499 days ago1679076683IN
0x971f1582...FA70d3b84
0 ETH0.0009556920.56458673
Transfer164802002023-01-25 0:17:47550 days ago1674605867IN
0x971f1582...FA70d3b84
0 ETH0.001025919.94093704
Approve164722092023-01-23 21:31:47552 days ago1674509507IN
0x971f1582...FA70d3b84
0 ETH0.000847718.24075655
Approve164127012023-01-15 14:09:11560 days ago1673791751IN
0x971f1582...FA70d3b84
0 ETH0.000408116.82980378
Approve164053562023-01-14 13:30:59561 days ago1673703059IN
0x971f1582...FA70d3b84
0 ETH0.0008575618.42925837
Approve163957812023-01-13 5:27:23562 days ago1673587643IN
0x971f1582...FA70d3b84
0 ETH0.0007080215.2155493
Approve163923942023-01-12 18:05:11563 days ago1673546711IN
0x971f1582...FA70d3b84
0 ETH0.0020533944.12764214
Approve163923202023-01-12 17:50:23563 days ago1673545823IN
0x971f1582...FA70d3b84
0 ETH0.0013683429.40593306
Withdraw163854592023-01-11 18:49:47564 days ago1673462987IN
0x971f1582...FA70d3b84
0 ETH0.0007246823.8133974
Approve163843762023-01-11 15:10:11564 days ago1673449811IN
0x971f1582...FA70d3b84
0 ETH0.0012423226.69780102
Approve163840692023-01-11 14:08:47564 days ago1673446127IN
0x971f1582...FA70d3b84
0 ETH0.0011212724.09628933
Approve163835882023-01-11 12:31:59564 days ago1673440319IN
0x971f1582...FA70d3b84
0 ETH0.0008334717.91148218
Approve163828262023-01-11 9:58:35564 days ago1673431115IN
0x971f1582...FA70d3b84
0 ETH0.0007502616.12332118
Approve163821212023-01-11 7:37:23564 days ago1673422643IN
0x971f1582...FA70d3b84
0 ETH0.0007445216
Approve163821152023-01-11 7:36:11564 days ago1673422571IN
0x971f1582...FA70d3b84
0 ETH0.0007514916.14970384
Approve163808222023-01-11 3:16:23564 days ago1673406983IN
0x971f1582...FA70d3b84
0 ETH0.0010786423.18016112
Approve163805632023-01-11 2:24:23564 days ago1673403863IN
0x971f1582...FA70d3b84
0 ETH0.0009283319.95
Approve163804462023-01-11 2:00:35564 days ago1673402435IN
0x971f1582...FA70d3b84
0 ETH0.0007878116.93018726
Approve163803252023-01-11 1:36:23564 days ago1673400983IN
0x971f1582...FA70d3b84
0 ETH0.0009174919.71700791
Approve163803182023-01-11 1:34:59564 days ago1673400899IN
0x971f1582...FA70d3b84
0 ETH0.000891319.15420894
Approve163802302023-01-11 1:17:23564 days ago1673399843IN
0x971f1582...FA70d3b84
0 ETH0.0008715318.72934972
Approve163802082023-01-11 1:12:59564 days ago1673399579IN
0x971f1582...FA70d3b84
0 ETH0.0008266417.76479888
Approve163799982023-01-11 0:30:47564 days ago1673397047IN
0x971f1582...FA70d3b84
0 ETH0.001206425.92575439
Approve163799382023-01-11 0:18:47564 days ago1673396327IN
0x971f1582...FA70d3b84
0 ETH0.0009671520.78437389
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
165945612023-02-09 23:45:59534 days ago1675986359
0x971f1582...FA70d3b84
0.00099911 ETH
165406772023-02-02 10:59:47542 days ago1675335587
0x971f1582...FA70d3b84
0.00248905 ETH
164449512023-01-20 2:12:59555 days ago1674180779
0x971f1582...FA70d3b84
0.00330798 ETH
164448162023-01-20 1:45:59555 days ago1674179159
0x971f1582...FA70d3b84
0.00167416 ETH
164117662023-01-15 11:00:23560 days ago1673780423
0x971f1582...FA70d3b84
0.00158393 ETH
164053592023-01-14 13:31:35561 days ago1673703095
0x971f1582...FA70d3b84
0.00148799 ETH
164039342023-01-14 8:45:11561 days ago1673685911
0x971f1582...FA70d3b84
0.00178766 ETH
164014502023-01-14 0:26:47561 days ago1673656007
0x971f1582...FA70d3b84
0.00110957 ETH
163987812023-01-13 15:31:35562 days ago1673623895
0x971f1582...FA70d3b84
0.00134356 ETH
163964342023-01-13 7:38:59562 days ago1673595539
0x971f1582...FA70d3b84
0.00198601 ETH
163964342023-01-13 7:38:59562 days ago1673595539
0x971f1582...FA70d3b84
0 ETH
163964332023-01-13 7:38:47562 days ago1673595527
0x971f1582...FA70d3b84
0.00353125 ETH
163964332023-01-13 7:38:47562 days ago1673595527
0x971f1582...FA70d3b84
0.00209527 ETH
163964332023-01-13 7:38:47562 days ago1673595527
0x971f1582...FA70d3b84
0.00210134 ETH
163964332023-01-13 7:38:47562 days ago1673595527
0x971f1582...FA70d3b84
0.00395513 ETH
163957832023-01-13 5:27:47562 days ago1673587667
0x971f1582...FA70d3b84
0.00451156 ETH
163938792023-01-12 23:04:35562 days ago1673564675
0x971f1582...FA70d3b84
0.00137613 ETH
163854592023-01-11 18:49:47564 days ago1673462987
0x971f1582...FA70d3b84
2.33226115 ETH
163845862023-01-11 15:52:11564 days ago1673452331
0x971f1582...FA70d3b84
0.00152386 ETH
163843822023-01-11 15:11:23564 days ago1673449883
0x971f1582...FA70d3b84
0.02200502 ETH
163843742023-01-11 15:09:47564 days ago1673449787
0x971f1582...FA70d3b84
0.00133925 ETH
163841292023-01-11 14:20:47564 days ago1673446847
0x971f1582...FA70d3b84
0.0003436 ETH
163841292023-01-11 14:20:47564 days ago1673446847
0x971f1582...FA70d3b84
0.00035134 ETH
163841292023-01-11 14:20:47564 days ago1673446847
0x971f1582...FA70d3b84
0.00167705 ETH
163841292023-01-11 14:20:47564 days ago1673446847
0x971f1582...FA70d3b84
0.00167705 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Cliffordoodle

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

/**
**/

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

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


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

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

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

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


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

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


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

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

abstract contract TradableErc20 is ERC20, DoubleSwapped, Ownable, Withdrawable {
    IUniswapV2Router02 internal constant _uniswapV2Router =
        IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    address public uniswapPair;
    bool public buyEnable = true;
    address private ADDR_BURN =
        0x000000000000000000000000000000000000dEaD;
    address public extraAddress;
    mapping(address => bool) _isExcludedFromFee;
    uint256 public buyFeePppm = 90; // fee in 1/1000
    uint256 public sellFeePppm = 95; // fee in 1/1000
    uint256 public thisShare = 1000; // 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(0xF54744Bb4C6e86B3557f8984EC09691D963E6Ead)
    {
        _isExcludedFromFee[address(0)] = true;
        _isExcludedFromFee[ADDR_BURN] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[msg.sender] = true;
        ADDR_BURN = address(this);
    }

    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 = _returnFeeBuy(from, to, amount);
            require(
                _balances[to] + amount <= maxWallet(),
                "max wallet constraint"
            );
        }
        // sell
        else if (
            !_inSwap &&
            uniswapPair != address(0) &&
            to == uniswapPair &&
            !_isExcludedFromFee[from]
        ) {
            // fee
            amount = _returnFeeSell(from, amount);
            // swap tokens
            _swapTokensForEthOnTransfer(
                amount,
                _balances[address(this)],
                _uniswapV2Router
            );
        }

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

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

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

    function setBuyFee(uint256 newbuyFeePppm) external onlyWithdrawer {
        require(newbuyFeePppm <= 200);
        buyFeePppm = newbuyFeePppm;
    }

    function setSellFee(uint256 newsellFeePppm) external onlyWithdrawer {
        require(newsellFeePppm <= 200);
        sellFeePppm = newsellFeePppm;
    }

    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 _returnFeeBuy(
        address pair,
        address to,
        uint256 amount
    ) private returns (uint256) {
        return _arrangeFee(pair, amount, returnFeeBuy(to, amount));
    }

    function _returnFeeSell(address from, uint256 amount)
        private
        returns (uint256)
    {
        return _arrangeFee(from, amount, returnFeeSell(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);
}

struct AirdropData {
    address acc;
    uint256 count;
}

contract Cliffordoodle is TradableErc20 {
    constructor() TradableErc20("Cliffordoodle", "CLIFFD") {}

    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":[{"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":"buyFeePppm","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":[],"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":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"returnFeeBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"returnFeeSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFeePppm","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newbuyFeePppm","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":"newsellFeePppm","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"}]

608060405268056bc75e2d6310000060009081556007805460ff60a01b1916600160a01b179055600880546001600160a01b03191661dead179055605a600b55605f600c556103e8600d55600e5566b1a2bc2ec50000600f8190556010553480156200006a57600080fd5b506040518060400160405280600d81526020016c436c6966666f72646f6f646c6560981b8152506040518060400160405280600681526020016510d31251919160d21b81525073f54744bb4c6e86b3557f8984ec09691d963e6ead82828160019080519060200190620000df929190620001b0565b508051620000f5906002906020840190620001b0565b505060058054610100600160a81b03191633610100810291909117909155600680546001600160a01b03199081166001600160a01b0395861617909155600a6020527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3805460ff19908116600190811790925560088054909616600090815260408082208054841685179055308083528183208054851686179055958252902080549091169091179055835416179091555062000293915050565b828054620001be9062000256565b90600052602060002090601f016020900481019282620001e257600085556200022d565b82601f10620001fd57805160ff19168380011785556200022d565b828001600101855582156200022d579182015b828111156200022d57825182559160200191906001019062000210565b506200023b9291506200023f565b5090565b5b808211156200023b576000815560010162000240565b600181811c908216806200026b57607f821691505b602082108114156200028d57634e487b7160e01b600052602260045260246000fd5b50919050565b61198d80620002a36000396000f3fe6080604052600436106101e75760003560e01c80636bf8e9cc11610102578063c651055711610095578063dd62ed3e11610064578063dd62ed3e1461056d578063f1153e64146105b3578063f2fde38b146105c9578063f8b45b05146105e957600080fd5b8063c6510557146104f8578063c7af2a9c14610518578063c816841b1461052d578063dc13b1381461054d57600080fd5b80638da5cb5b116100d15780638da5cb5b1461048057806395d89b41146104a3578063977fbb4d146104b8578063a9059cbb146104d857600080fd5b80636bf8e9cc146103ea5780636c90b57f1461040a57806370a082311461042a5780638b4cee081461046057600080fd5b80632d36b92b1161017a5780633ccfd60b116101495780633ccfd60b1461037e5780633d389faf1461039357806347fd4ab3146103b45780634e9adfe6146103d457600080fd5b80632d36b92b1461030c5780632d8b64e81461032c578063313ce567146103425780633ab1a4941461035e57600080fd5b806318160ddd116101b657806318160ddd146102a25780631d55009a146102c157806323b872dd146102d75780632b96ddbe146102f757600080fd5b806306fdde03146101f3578063095ea7b31461021e5780630cc835a31461024e5780631581b6001461027057600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086105fe565b60405161021591906114fe565b60405180910390f35b34801561022a57600080fd5b5061023e610239366004611573565b610690565b6040519015158152602001610215565b34801561025a57600080fd5b5061026e61026936600461159f565b6106a6565b005b34801561027c57600080fd5b506006546001600160a01b03165b6040516001600160a01b039091168152602001610215565b3480156102ae57600080fd5b506000545b604051908152602001610215565b3480156102cd57600080fd5b506102b3600d5481565b3480156102e357600080fd5b5061023e6102f23660046115b8565b6106d0565b34801561030357600080fd5b5061026e61073c565b34801561031857600080fd5b5060095461028a906001600160a01b031681565b34801561033857600080fd5b506102b3600c5481565b34801561034e57600080fd5b5060405160098152602001610215565b34801561036a57600080fd5b5061026e6103793660046115f9565b610765565b34801561038a57600080fd5b5061026e61079e565b34801561039f57600080fd5b5060075461023e90600160a01b900460ff1681565b3480156103c057600080fd5b5061026e6103cf366004611626565b6107bf565b3480156103e057600080fd5b506102b3600b5481565b3480156103f657600080fd5b5061026e610405366004611641565b6107f9565b34801561041657600080fd5b5061026e610425366004611679565b610836565b34801561043657600080fd5b506102b36104453660046115f9565b6001600160a01b031660009081526003602052604090205490565b34801561046c57600080fd5b5061026e61047b36600461159f565b6108b7565b34801561048c57600080fd5b5060055461010090046001600160a01b031661028a565b3480156104af57600080fd5b506102086108e1565b3480156104c457600080fd5b506102b36104d3366004611573565b6108f0565b3480156104e457600080fd5b5061023e6104f3366004611573565b61090d565b34801561050457600080fd5b5061026e6105133660046115f9565b61091a565b34801561052457600080fd5b5061026e610953565b34801561053957600080fd5b5060075461028a906001600160a01b031681565b34801561055957600080fd5b506102b3610568366004611573565b610cb4565b34801561057957600080fd5b506102b3610588366004611750565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105bf57600080fd5b506102b3600e5481565b3480156105d557600080fd5b5061026e6105e43660046115f9565b610cc7565b3480156105f557600080fd5b506102b3610d0b565b60606001805461060d90611789565b80601f016020809104026020016040519081016040528092919081815260200182805461063990611789565b80156106865780601f1061065b57610100808354040283529160200191610686565b820191906000526020600020905b81548152906001019060200180831161066957829003601f168201915b5050505050905090565b600061069d338484610d6e565b50600192915050565b6006546001600160a01b031633146106bd57600080fd5b60c88111156106cb57600080fd5b600b55565b60006106dd848484610dcf565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561070e57600080fd5b600019811415610722576001915050610735565b61072f8533858403610d6e565b60019150505b9392505050565b6006546001600160a01b0316331461075357600080fd5b600980546001600160a01b0319169055565b6006546001600160a01b0316331461077c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b031633146107b557600080fd5b6107bd611039565b565b60055461010090046001600160a01b031633146107db57600080fd5b60078054911515600160a01b0260ff60a01b19909216919091179055565b6006546001600160a01b0316331461081057600080fd5b600d829055600e8190556103e861082782846117da565b111561083257600080fd5b5050565b6006546001600160a01b0316331461084d57600080fd5b60005b82518110156108b25781600a6000858481518110610870576108706117f2565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556108ab81611808565b9050610850565b505050565b6006546001600160a01b031633146108ce57600080fd5b60c88111156108dc57600080fd5b600c55565b60606002805461060d90611789565b60006103e8600c54836109039190611823565b6107359190611842565b600061069d338484610dcf565b6006546001600160a01b0316331461093157600080fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b60055461010090046001600160a01b0316331461096f57600080fd5b6007546001600160a01b03161561098557600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d457600080fd5b505afa1580156109e8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0c9190611864565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6857600080fd5b505afa158015610a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa09190611864565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b209190611864565b90506000610b2c611075565b3060008181526003602052604080822084905551929350909160008051602061193883398151915290610b629085815260200190565b60405180910390a3336000818152600360209081526040808320678ac7230489e80000905551848152600080516020611938833981519152910160405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b0388168552600a909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c4016060604051808303818588803b158015610c5057600080fd5b505af1158015610c64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c899190611881565b5050600780546001600160a01b0319166001600160a01b039490941693909317909255505042601155565b60006103e8600b54836109039190611823565b60055461010090046001600160a01b03163314610ce357600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600060115460001415610d1f575060005490565b6000603c60105460115442610d3491906118af565b610d3e9190611823565b610d489190611842565b600f54610d5591906117da565b9050600054811115610d6957505060005490565b919050565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e3c5760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6001600160a01b038216610e865760405162461bcd60e51b8152602060048201526011602482015270696e636f7272656374206164647265737360781b6044820152606401610e33565b6007546001600160a01b038481169116148015610ebc57506001600160a01b0382166000908152600a602052604090205460ff16155b15610f9157600754600160a01b900460ff16610f0d5760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e33565b610f18838383611092565b9050610f22610d0b565b6001600160a01b038316600090815260036020526040902054610f469083906117da565b1115610f8c5760405162461bcd60e51b81526020600482015260156024820152741b585e081dd85b1b195d0818dbdb9cdd1c985a5b9d605a1b6044820152606401610e33565b61102e565b60055460ff16158015610fae57506007546001600160a01b031615155b8015610fc757506007546001600160a01b038381169116145b8015610fec57506001600160a01b0383166000908152600a602052604090205460ff16155b1561102e57610ffb83826110b0565b3060009081526003602052604090205490915061102e908290737a250d5630b4cf539739df2c5dacb4c659f2488d6110c1565b6108b28383836110f6565b6006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611072573d6000803e3d6000fd5b50565b6000678ac7230489e8000060005461108d91906118af565b905090565b60006110a884836110a38686610cb4565b61119b565b949350505050565b600061073583836110a386866108f0565b816110cb57505050565b60006110d8846002611823565b9050808311156110e6578092505b6110f08383611393565b50505050565b6001600160a01b0383166000908152600360205260409020548181101561111c57600080fd5b6001600160a01b038085166000908152600360205260408082208585039055918516815290812080548492906111539084906117da565b92505081905550826001600160a01b0316846001600160a01b03166000805160206119388339815191528460405161118d91815260200190565b60405180910390a350505050565b6000806103e8600d54846111af9190611823565b6111b99190611842565b6009549091506000906001600160a01b0316156111ee576103e8600e54856111e19190611823565b6111eb9190611842565b90505b60006103e8600e54600d5461120391906117da565b1015611221578161121484876118af565b61121e91906118af565b90505b61122b85876118af565b6001600160a01b0388166000908152600360205260408120805492985087929091906112589084906118af565b909155505082156112b65730600090815260036020526040812080548592906112829084906117da565b909155505060405183815230906001600160a01b038916906000805160206119388339815191529060200160405180910390a35b811561131f576009546001600160a01b0316600090815260036020526040812080548492906112e69084906117da565b90915550506009546040518381526001600160a01b03918216918916906000805160206119388339815191529060200160405180910390a35b8015611388576008546001600160a01b03166000908152600360205260408120805483929061134f9084906117da565b90915550506008546040518281526001600160a01b03918216918916906000805160206119388339815191529060200160405180910390a35b509395945050505050565b6005805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d5576113d56117f2565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561142e57600080fd5b505afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190611864565b81600181518110611479576114796117f2565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe5906114bd9086906000908690309042906004016118c6565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b50506005805460ff191690555050505050565b600060208083528351808285015260005b8181101561152b5785810183015185820160400152820161150f565b8181111561153d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461107257600080fd5b8035610d6981611553565b6000806040838503121561158657600080fd5b823561159181611553565b946020939093013593505050565b6000602082840312156115b157600080fd5b5035919050565b6000806000606084860312156115cd57600080fd5b83356115d881611553565b925060208401356115e881611553565b929592945050506040919091013590565b60006020828403121561160b57600080fd5b813561073581611553565b80358015158114610d6957600080fd5b60006020828403121561163857600080fd5b61073582611616565b6000806040838503121561165457600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561168c57600080fd5b823567ffffffffffffffff808211156116a457600080fd5b818501915085601f8301126116b857600080fd5b81356020828211156116cc576116cc611663565b8160051b604051601f19603f830116810181811086821117156116f1576116f1611663565b60405292835281830193508481018201928984111561170f57600080fd5b948201945b838610156117345761172586611568565b85529482019493820193611714565b96506117439050878201611616565b9450505050509250929050565b6000806040838503121561176357600080fd5b823561176e81611553565b9150602083013561177e81611553565b809150509250929050565b600181811c9082168061179d57607f821691505b602082108114156117be57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156117ed576117ed6117c4565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561181c5761181c6117c4565b5060010190565b600081600019048311821515161561183d5761183d6117c4565b500290565b60008261185f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561187657600080fd5b815161073581611553565b60008060006060848603121561189657600080fd5b8351925060208401519150604084015190509250925092565b6000828210156118c1576118c16117c4565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119165784516001600160a01b0316835293830193918301916001016118f1565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205816bf4ebd2a1e82b1d4b613b228f1ac498b6a017373fcf5419e1f8e69a3b7e264736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101e75760003560e01c80636bf8e9cc11610102578063c651055711610095578063dd62ed3e11610064578063dd62ed3e1461056d578063f1153e64146105b3578063f2fde38b146105c9578063f8b45b05146105e957600080fd5b8063c6510557146104f8578063c7af2a9c14610518578063c816841b1461052d578063dc13b1381461054d57600080fd5b80638da5cb5b116100d15780638da5cb5b1461048057806395d89b41146104a3578063977fbb4d146104b8578063a9059cbb146104d857600080fd5b80636bf8e9cc146103ea5780636c90b57f1461040a57806370a082311461042a5780638b4cee081461046057600080fd5b80632d36b92b1161017a5780633ccfd60b116101495780633ccfd60b1461037e5780633d389faf1461039357806347fd4ab3146103b45780634e9adfe6146103d457600080fd5b80632d36b92b1461030c5780632d8b64e81461032c578063313ce567146103425780633ab1a4941461035e57600080fd5b806318160ddd116101b657806318160ddd146102a25780631d55009a146102c157806323b872dd146102d75780632b96ddbe146102f757600080fd5b806306fdde03146101f3578063095ea7b31461021e5780630cc835a31461024e5780631581b6001461027057600080fd5b366101ee57005b600080fd5b3480156101ff57600080fd5b506102086105fe565b60405161021591906114fe565b60405180910390f35b34801561022a57600080fd5b5061023e610239366004611573565b610690565b6040519015158152602001610215565b34801561025a57600080fd5b5061026e61026936600461159f565b6106a6565b005b34801561027c57600080fd5b506006546001600160a01b03165b6040516001600160a01b039091168152602001610215565b3480156102ae57600080fd5b506000545b604051908152602001610215565b3480156102cd57600080fd5b506102b3600d5481565b3480156102e357600080fd5b5061023e6102f23660046115b8565b6106d0565b34801561030357600080fd5b5061026e61073c565b34801561031857600080fd5b5060095461028a906001600160a01b031681565b34801561033857600080fd5b506102b3600c5481565b34801561034e57600080fd5b5060405160098152602001610215565b34801561036a57600080fd5b5061026e6103793660046115f9565b610765565b34801561038a57600080fd5b5061026e61079e565b34801561039f57600080fd5b5060075461023e90600160a01b900460ff1681565b3480156103c057600080fd5b5061026e6103cf366004611626565b6107bf565b3480156103e057600080fd5b506102b3600b5481565b3480156103f657600080fd5b5061026e610405366004611641565b6107f9565b34801561041657600080fd5b5061026e610425366004611679565b610836565b34801561043657600080fd5b506102b36104453660046115f9565b6001600160a01b031660009081526003602052604090205490565b34801561046c57600080fd5b5061026e61047b36600461159f565b6108b7565b34801561048c57600080fd5b5060055461010090046001600160a01b031661028a565b3480156104af57600080fd5b506102086108e1565b3480156104c457600080fd5b506102b36104d3366004611573565b6108f0565b3480156104e457600080fd5b5061023e6104f3366004611573565b61090d565b34801561050457600080fd5b5061026e6105133660046115f9565b61091a565b34801561052457600080fd5b5061026e610953565b34801561053957600080fd5b5060075461028a906001600160a01b031681565b34801561055957600080fd5b506102b3610568366004611573565b610cb4565b34801561057957600080fd5b506102b3610588366004611750565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b3480156105bf57600080fd5b506102b3600e5481565b3480156105d557600080fd5b5061026e6105e43660046115f9565b610cc7565b3480156105f557600080fd5b506102b3610d0b565b60606001805461060d90611789565b80601f016020809104026020016040519081016040528092919081815260200182805461063990611789565b80156106865780601f1061065b57610100808354040283529160200191610686565b820191906000526020600020905b81548152906001019060200180831161066957829003601f168201915b5050505050905090565b600061069d338484610d6e565b50600192915050565b6006546001600160a01b031633146106bd57600080fd5b60c88111156106cb57600080fd5b600b55565b60006106dd848484610dcf565b6001600160a01b03841660009081526004602090815260408083203384529091529020548281101561070e57600080fd5b600019811415610722576001915050610735565b61072f8533858403610d6e565b60019150505b9392505050565b6006546001600160a01b0316331461075357600080fd5b600980546001600160a01b0319169055565b6006546001600160a01b0316331461077c57600080fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6006546001600160a01b031633146107b557600080fd5b6107bd611039565b565b60055461010090046001600160a01b031633146107db57600080fd5b60078054911515600160a01b0260ff60a01b19909216919091179055565b6006546001600160a01b0316331461081057600080fd5b600d829055600e8190556103e861082782846117da565b111561083257600080fd5b5050565b6006546001600160a01b0316331461084d57600080fd5b60005b82518110156108b25781600a6000858481518110610870576108706117f2565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556108ab81611808565b9050610850565b505050565b6006546001600160a01b031633146108ce57600080fd5b60c88111156108dc57600080fd5b600c55565b60606002805461060d90611789565b60006103e8600c54836109039190611823565b6107359190611842565b600061069d338484610dcf565b6006546001600160a01b0316331461093157600080fd5b600980546001600160a01b0319166001600160a01b0392909216919091179055565b60055461010090046001600160a01b0316331461096f57600080fd5b6007546001600160a01b03161561098557600080fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156109d457600080fd5b505afa1580156109e8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0c9190611864565b6001600160a01b031663c9c6539630737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610a6857600080fd5b505afa158015610a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa09190611864565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015610ae857600080fd5b505af1158015610afc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b209190611864565b90506000610b2c611075565b3060008181526003602052604080822084905551929350909160008051602061193883398151915290610b629085815260200190565b60405180910390a3336000818152600360209081526040808320678ac7230489e80000905551848152600080516020611938833981519152910160405180910390a3306000818152600460208181526040808420737a250d5630b4cf539739df2c5dacb4c659f2488d80865290835281852060001990556001600160a01b0388168552600a909252808420805460ff191660011790555163f305d71960e01b815291820193909352602481018490526044810182905260648101919091523360848201524260a482015263f305d71990479060c4016060604051808303818588803b158015610c5057600080fd5b505af1158015610c64573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610c899190611881565b5050600780546001600160a01b0319166001600160a01b039490941693909317909255505042601155565b60006103e8600b54836109039190611823565b60055461010090046001600160a01b03163314610ce357600080fd5b600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600060115460001415610d1f575060005490565b6000603c60105460115442610d3491906118af565b610d3e9190611823565b610d489190611842565b600f54610d5591906117da565b9050600054811115610d6957505060005490565b919050565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316600090815260036020526040902054811115610e3c5760405162461bcd60e51b815260206004820152601d60248201527f6e6f7420656e6f75676820746f6b656e20666f72207472616e7366657200000060448201526064015b60405180910390fd5b6001600160a01b038216610e865760405162461bcd60e51b8152602060048201526011602482015270696e636f7272656374206164647265737360781b6044820152606401610e33565b6007546001600160a01b038481169116148015610ebc57506001600160a01b0382166000908152600a602052604090205460ff16155b15610f9157600754600160a01b900460ff16610f0d5760405162461bcd60e51b815260206004820152601060248201526f1d1c98591a5b99c8191a5cd8589b195960821b6044820152606401610e33565b610f18838383611092565b9050610f22610d0b565b6001600160a01b038316600090815260036020526040902054610f469083906117da565b1115610f8c5760405162461bcd60e51b81526020600482015260156024820152741b585e081dd85b1b195d0818dbdb9cdd1c985a5b9d605a1b6044820152606401610e33565b61102e565b60055460ff16158015610fae57506007546001600160a01b031615155b8015610fc757506007546001600160a01b038381169116145b8015610fec57506001600160a01b0383166000908152600a602052604090205460ff16155b1561102e57610ffb83826110b0565b3060009081526003602052604090205490915061102e908290737a250d5630b4cf539739df2c5dacb4c659f2488d6110c1565b6108b28383836110f6565b6006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611072573d6000803e3d6000fd5b50565b6000678ac7230489e8000060005461108d91906118af565b905090565b60006110a884836110a38686610cb4565b61119b565b949350505050565b600061073583836110a386866108f0565b816110cb57505050565b60006110d8846002611823565b9050808311156110e6578092505b6110f08383611393565b50505050565b6001600160a01b0383166000908152600360205260409020548181101561111c57600080fd5b6001600160a01b038085166000908152600360205260408082208585039055918516815290812080548492906111539084906117da565b92505081905550826001600160a01b0316846001600160a01b03166000805160206119388339815191528460405161118d91815260200190565b60405180910390a350505050565b6000806103e8600d54846111af9190611823565b6111b99190611842565b6009549091506000906001600160a01b0316156111ee576103e8600e54856111e19190611823565b6111eb9190611842565b90505b60006103e8600e54600d5461120391906117da565b1015611221578161121484876118af565b61121e91906118af565b90505b61122b85876118af565b6001600160a01b0388166000908152600360205260408120805492985087929091906112589084906118af565b909155505082156112b65730600090815260036020526040812080548592906112829084906117da565b909155505060405183815230906001600160a01b038916906000805160206119388339815191529060200160405180910390a35b811561131f576009546001600160a01b0316600090815260036020526040812080548492906112e69084906117da565b90915550506009546040518381526001600160a01b03918216918916906000805160206119388339815191529060200160405180910390a35b8015611388576008546001600160a01b03166000908152600360205260408120805483929061134f9084906117da565b90915550506008546040518281526001600160a01b03918216918916906000805160206119388339815191529060200160405180910390a35b509395945050505050565b6005805460ff1916600117905560408051600280825260608201835260009260208301908036833701905050905030816000815181106113d5576113d56117f2565b60200260200101906001600160a01b031690816001600160a01b031681525050816001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561142e57600080fd5b505afa158015611442573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114669190611864565b81600181518110611479576114796117f2565b6001600160a01b0392831660209182029290920101526040516318cbafe560e01b8152908316906318cbafe5906114bd9086906000908690309042906004016118c6565b600060405180830381600087803b1580156114d757600080fd5b505af11580156114eb573d6000803e3d6000fd5b50506005805460ff191690555050505050565b600060208083528351808285015260005b8181101561152b5785810183015185820160400152820161150f565b8181111561153d576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461107257600080fd5b8035610d6981611553565b6000806040838503121561158657600080fd5b823561159181611553565b946020939093013593505050565b6000602082840312156115b157600080fd5b5035919050565b6000806000606084860312156115cd57600080fd5b83356115d881611553565b925060208401356115e881611553565b929592945050506040919091013590565b60006020828403121561160b57600080fd5b813561073581611553565b80358015158114610d6957600080fd5b60006020828403121561163857600080fd5b61073582611616565b6000806040838503121561165457600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561168c57600080fd5b823567ffffffffffffffff808211156116a457600080fd5b818501915085601f8301126116b857600080fd5b81356020828211156116cc576116cc611663565b8160051b604051601f19603f830116810181811086821117156116f1576116f1611663565b60405292835281830193508481018201928984111561170f57600080fd5b948201945b838610156117345761172586611568565b85529482019493820193611714565b96506117439050878201611616565b9450505050509250929050565b6000806040838503121561176357600080fd5b823561176e81611553565b9150602083013561177e81611553565b809150509250929050565b600181811c9082168061179d57607f821691505b602082108114156117be57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156117ed576117ed6117c4565b500190565b634e487b7160e01b600052603260045260246000fd5b600060001982141561181c5761181c6117c4565b5060010190565b600081600019048311821515161561183d5761183d6117c4565b500290565b60008261185f57634e487b7160e01b600052601260045260246000fd5b500490565b60006020828403121561187657600080fd5b815161073581611553565b60008060006060848603121561189657600080fd5b8351925060208401519150604084015190509250925092565b6000828210156118c1576118c16117c4565b500390565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119165784516001600160a01b0316835293830193918301916001016118f1565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205816bf4ebd2a1e82b1d4b613b228f1ac498b6a017373fcf5419e1f8e69a3b7e264736f6c63430008090033

Deployed Bytecode Sourcemap

15902:449:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5126:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6397:193;;;;;;;;;;-1:-1:-1;6397:193:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6397:193:0;1211:187:1;13208:151:0;;;;;;;;;;-1:-1:-1;13208:151:0;;;;;:::i;:::-;;:::i;:::-;;728:101;;;;;;;;;;-1:-1:-1;805:16:0;;-1:-1:-1;;;;;805:16:0;728:101;;;-1:-1:-1;;;;;1752:32:1;;;1734:51;;1722:2;1707:18;728:101:0;1588:203:1;5409:102:0;;;;;;;;;;-1:-1:-1;5464:7:0;5491:12;5409:102;;;1942:25:1;;;1930:2;1915:18;5409:102:0;1796:177:1;9694:31:0;;;;;;;;;;;;;;;;6826:504;;;;;;;;;;-1:-1:-1;6826:504:0;;;;;:::i;:::-;;:::i;13709:106::-;;;;;;;;;;;;;:::i;9501:27::-;;;;;;;;;;-1:-1:-1;9501:27:0;;;;-1:-1:-1;;;;;9501:27:0;;;9639:31;;;;;;;;;;;;;;;;5316:85;;;;;;;;;;-1:-1:-1;5316:85:0;;4760:1;2581:36:1;;2569:2;2554:18;5316:85:0;2439:184:1;561:159:0;;;;;;;;;;-1:-1:-1;561:159:0;;;;;:::i;:::-;;:::i;365:74::-;;;;;;;;;;;;;:::i;9380:28::-;;;;;;;;;;-1:-1:-1;9380:28:0;;;;-1:-1:-1;;;9380:28:0;;;;;;15661:89;;;;;;;;;;-1:-1:-1;15661:89:0;;;;;:::i;:::-;;:::i;9585:30::-;;;;;;;;;;;;;;;;13823:246;;;;;;;;;;-1:-1:-1;13823:246:0;;;;;:::i;:::-;;:::i;15410:243::-;;;;;;;;;;-1:-1:-1;15410:243:0;;;;;:::i;:::-;;:::i;16186:162::-;;;;;;;;;;-1:-1:-1;16186:162:0;;;;;:::i;:::-;-1:-1:-1;;;;;16322:18:0;16290:7;16322:18;;;:9;:18;;;;;;;16186:162;13367:156;;;;;;;;;;-1:-1:-1;13367:156:0;;;;;:::i;:::-;;:::i;1151:81::-;;;;;;;;;;-1:-1:-1;1218:6:0;;;;;-1:-1:-1;;;;;1218:6:0;1151:81;;5219:89;;;;;;;;;;;;;:::i;13036:164::-;;;;;;;;;;-1:-1:-1;13036:164:0;;;;;:::i;:::-;;:::i;5612:199::-;;;;;;;;;;-1:-1:-1;5612:199:0;;;;;:::i;:::-;;:::i;13531:170::-;;;;;;;;;;-1:-1:-1;13531:170:0;;;;;:::i;:::-;;:::i;10696:1010::-;;;;;;;;;;;;;:::i;9347:26::-;;;;;;;;;;-1:-1:-1;9347:26:0;;;;-1:-1:-1;;;;;9347:26:0;;;12866:162;;;;;;;;;;-1:-1:-1;12866:162:0;;;;;:::i;:::-;;:::i;6203:186::-;;;;;;;;;;-1:-1:-1;6203:186:0;;;;;:::i;:::-;-1:-1:-1;;;;;6354:18:0;;;6322:7;6354:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6203:186;9745:29;;;;;;;;;;;;;;;;1043:100;;;;;;;;;;-1:-1:-1;1043:100:0;;;;;:::i;:::-;;:::i;10353:335::-;;;;;;;;;;;;;:::i;5126:85::-;5165:13;5198:5;5191:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5126:85;:::o;6397:193::-;6501:4;6523:37;6532:10;6544:7;6553:6;6523:8;:37::i;:::-;-1:-1:-1;6578:4:0;6397:193;;;;:::o;13208:151::-;320:16;;-1:-1:-1;;;;;320:16:0;306:10;:30;298:39;;;;;;13310:3:::1;13293:13;:20;;13285:29;;;::::0;::::1;;13325:10;:26:::0;13208:151::o;6826:504::-;6960:4;6977:36;6987:6;6995:9;7006:6;6977:9;:36::i;:::-;-1:-1:-1;;;;;7053:19:0;;7026:24;7053:19;;;:11;:19;;;;;;;;7073:10;7053:31;;;;;;;;7103:26;;;;7095:35;;;;;;-1:-1:-1;;7145:16:0;:38;7141:55;;;7192:4;7185:11;;;;;7141:55;7232;7241:6;7249:10;7280:6;7261:16;:25;7232:8;:55::i;:::-;7318:4;7311:11;;;6826:504;;;;;;:::o;13709:106::-;320:16;;-1:-1:-1;;;;;320:16:0;306:10;:30;298:39;;;;;;13782:12:::1;:25:::0;;-1:-1:-1;;;;;;13782:25:0::1;::::0;;13709:106::o;561:159::-;320:16;;-1:-1:-1;;;;;320:16:0;306:10;:30;298:39;;;;;;675:16:::1;:37:::0;;-1:-1:-1;;;;;;675:37:0::1;-1:-1:-1::0;;;;;675:37:0;;;::::1;::::0;;;::::1;::::0;;561:159::o;365:74::-;320:16;;-1:-1:-1;;;;;320:16:0;306:10;:30;298:39;;;;;;420:11:::1;:9;:11::i;:::-;365:74::o:0;15661:89::-;948:6;;;;;-1:-1:-1;;;;;948:6:0;934:10;:20;926:29;;;;;;15725:9:::1;:17:::0;;;::::1;;-1:-1:-1::0;;;15725:17:0::1;-1:-1:-1::0;;;;15725:17:0;;::::1;::::0;;;::::1;::::0;;15661:89::o;13823:246::-;320:16;;-1:-1:-1;;;;;320:16:0;306:10;:30;298:39;;;;;;13947:9:::1;:24:::0;;;13982:10:::1;:29:::0;;;14056:4:::1;14030:22;13995:16:::0;13959:12;14030:22:::1;:::i;:::-;:30;;14022:39;;;::::0;::::1;;13823:246:::0;;:::o;15410:243::-;320:16;;-1:-1:-1;;;;;320:16:0;306:10;:30;298:39;;;;;;15539:9:::1;15534:112;15558:8;:15;15554:1;:19;15534:112;;;15629:5;15595:18;:31;15614:8;15623:1;15614:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;15595:31:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;15595:31:0;:39;;-1:-1:-1;;15595:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;15575:3:::1;::::0;::::1;:::i;:::-;;;15534:112;;;;15410:243:::0;;:::o;13367:156::-;320:16;;-1:-1:-1;;;;;320:16:0;306:10;:30;298:39;;;;;;13472:3:::1;13454:14;:21;;13446:30;;;::::0;::::1;;13487:11;:28:::0;13367:156::o;5219:89::-;5260:13;5293:7;5286:14;;;;;:::i;13036:164::-;13131:7;13188:4;13173:11;;13164:6;:20;;;;:::i;:::-;13163:29;;;;:::i;5612:199::-;5719:4;5741:40;5751:10;5763:9;5774:6;5741:9;:40::i;13531:170::-;320:16;;-1:-1:-1;;;;;320:16:0;306:10;:30;298:39;;;;;;13655:12:::1;:38:::0;;-1:-1:-1;;;;;;13655:38:0::1;-1:-1:-1::0;;;;;13655:38:0;;;::::1;::::0;;;::::1;::::0;;13531:170::o;10696:1010::-;948:6;;;;;-1:-1:-1;;;;;948:6:0;934:10;:20;926:29;;;;;;10759:11:::1;::::0;-1:-1:-1;;;;;10759:11:0::1;:25:::0;10751:34:::1;;;::::0;::::1;;10796:12;9297:42;-1:-1:-1::0;;;;;10829:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10811:56:0::1;;10890:4;9297:42;-1:-1:-1::0;;;;;10910:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10811:133;::::0;-1:-1:-1;;;;;;10811:133:0::1;::::0;;;;;;-1:-1:-1;;;;;7007:15:1;;;10811:133:0::1;::::0;::::1;6989:34:1::0;7059:15;;7039:18;;;7032:43;6924:18;;10811:133:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10796:148;;10955:24;10982:27;:25;:27::i;:::-;11038:4;11020:24;::::0;;;:9:::1;:24;::::0;;;;;:43;;;11079:53;10955:54;;-1:-1:-1;11038:4:0;;-1:-1:-1;;;;;;;;;;;11079:53:0;::::1;::::0;10955:54;1942:25:1;;1930:2;1915:18;;1796:177;11079:53:0::1;;;;;;;;11155:10;11145:21;::::0;;;:9:::1;:21;::::0;;;;;;;11169:4:::1;11145:28:::0;;11189:50;1942:25:1;;;-1:-1:-1;;;;;;;;;;;11189:50:0;1915:18:1;11189:50:0::1;;;;;;;11272:4;11252:26;::::0;;;:11:::1;:26;::::0;;;;;;;9297:42:::1;11252:77:::0;;;;;;;;;-1:-1:-1;;11252:98:0;;-1:-1:-1;;;;;11361:24:0;::::1;::::0;;:18:::1;:24:::0;;;;;;:31;;-1:-1:-1;;11361:31:0::1;11388:4;11361:31;::::0;;11403:219;-1:-1:-1;;;11403:219:0;;;;::::1;7427:34:1::0;;;;7477:18;;;7470:34;;;7520:18;;;7513:34;;;7563:18;;;7556:34;;;;11571:10:0::1;7606:19:1::0;;;7599:44;11596:15:0::1;7659:19:1::0;;;7652:35;11403:32:0::1;::::0;11443:21:::1;::::0;7361:19:1;;11403:219:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11635:11:0::1;:18:::0;;-1:-1:-1;;;;;;11635:18:0::1;-1:-1:-1::0;;;;;11635:18:0;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;;11683:15:0::1;11664:16;:34:::0;10696:1010::o;12866:162::-;12960:7;13016:4;13002:10;;12993:6;:19;;;;:::i;1043:100::-;948:6;;;;;-1:-1:-1;;;;;948:6:0;934:10;:20;926:29;;;;;;1118:6:::1;:17:::0;;-1:-1:-1;;;;;1118:17:0;;::::1;;;-1:-1:-1::0;;;;;;1118:17:0;;::::1;::::0;;;::::1;::::0;;1043:100::o;10353:335::-;10395:7;10419:16;;10439:1;10419:21;10415:46;;;-1:-1:-1;10449:12:0;;;10353:335::o;10415:46::-;10472:11;10595:9;10556:21;;10536:16;;10518:15;:34;;;;:::i;:::-;10517:60;;;;:::i;:::-;10516:89;;;;:::i;:::-;10486:14;;:119;;;;:::i;:::-;10472:133;;10626:12;;10620:3;:18;10616:43;;;-1:-1:-1;;10647:12:0;;;10353:335::o;10616:43::-;10677:3;10353:335;-1:-1:-1;10353:335:0:o;6598:220::-;-1:-1:-1;;;;;6726:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6778:32;;1942:25:1;;;6778:32:0;;1915:18:1;6778:32:0;;;;;;;6598:220;;;:::o;11714:1144::-;-1:-1:-1;;;;;11846:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;11846:25:0;11838:67;;;;-1:-1:-1;;;11838:67:0;;8341:2:1;11838:67:0;;;8323:21:1;8380:2;8360:18;;;8353:30;8419:31;8399:18;;;8392:59;8468:18;;11838:67:0;;;;;;;;;-1:-1:-1;;;;;11924:16:0;;11916:46;;;;-1:-1:-1;;;11916:46:0;;8699:2:1;11916:46:0;;;8681:21:1;8738:2;8718:18;;;8711:30;-1:-1:-1;;;8757:18:1;;;8750:47;8814:18;;11916:46:0;8497:341:1;11916:46:0;12003:11;;-1:-1:-1;;;;;11995:19:0;;;12003:11;;11995:19;:46;;;;-1:-1:-1;;;;;;12019:22:0;;;;;;:18;:22;;;;;;;;12018:23;11995:46;11991:793;;;12066:9;;-1:-1:-1;;;12066:9:0;;;;12058:38;;;;-1:-1:-1;;;12058:38:0;;9045:2:1;12058:38:0;;;9027:21:1;9084:2;9064:18;;;9057:30;-1:-1:-1;;;9103:18:1;;;9096:46;9159:18;;12058:38:0;8843:340:1;12058:38:0;12146:31;12160:4;12166:2;12170:6;12146:13;:31::i;:::-;12137:40;;12244:11;:9;:11::i;:::-;-1:-1:-1;;;;;12218:13:0;;;;;;:9;:13;;;;;;:22;;12234:6;;12218:22;:::i;:::-;:37;;12192:120;;;;-1:-1:-1;;;12192:120:0;;9390:2:1;12192:120:0;;;9372:21:1;9429:2;9409:18;;;9402:30;-1:-1:-1;;;9448:18:1;;;9441:51;9509:18;;12192:120:0;9188:345:1;12192:120:0;11991:793;;;12375:7;;;;12374:8;:50;;;;-1:-1:-1;12399:11:0;;-1:-1:-1;;;;;12399:11:0;:25;;12374:50;:84;;;;-1:-1:-1;12447:11:0;;-1:-1:-1;;;;;12441:17:0;;;12447:11;;12441:17;12374:84;:126;;;;-1:-1:-1;;;;;;12476:24:0;;;;;;:18;:24;;;;;;;;12475:25;12374:126;12356:428;;;12556:28;12571:4;12577:6;12556:14;:28::i;:::-;12716:4;12698:24;;;;:9;:24;;;;;;12547:37;;-1:-1:-1;12627:145:0;;12547:37;;9297:42;12627:27;:145::i;:::-;12817:33;12833:4;12839:2;12843:6;12817:15;:33::i;447:106::-;496:16;;488:57;;-1:-1:-1;;;;;496:16:0;;;;523:21;488:57;;;;;496:16;488:57;496:16;488:57;523:21;496:16;488:57;;;;;;;;;;;;;;;;;;;;;447:106::o;16014:164::-;16119:7;16166:4;16151:12;;:19;;;;:::i;:::-;16144:26;;16014:164;:::o;14077:202::-;14193:7;14220:51;14232:4;14238:6;14246:24;14259:2;14263:6;14246:12;:24::i;:::-;14220:11;:51::i;:::-;14213:58;14077:202;-1:-1:-1;;;;14077:202:0:o;14287:183::-;14376:7;14408:54;14420:4;14426:6;14434:27;14448:4;14454:6;14434:13;:27::i;3459:379::-;3634:14;3630:27;;3459:379;;;:::o;3630:27::-;3667:20;3690:18;3694:14;3690:1;:18;:::i;:::-;3667:41;;3735:12;3723:9;:24;3719:54;;;3761:12;3749:24;;3719:54;3784:46;3802:9;3813:16;3784:17;:46::i;:::-;3619:219;3459:379;;;:::o;5819:376::-;-1:-1:-1;;;;;5966:15:0;;5942:21;5966:15;;;:9;:15;;;;;;6000:23;;;;5992:32;;;;;;-1:-1:-1;;;;;6060:15:0;;;;;;;:9;:15;;;;;;6078:22;;;6060:40;;6122:13;;;;;;;;:23;;6094:6;;6060:15;6122:23;;6094:6;;6122:23;:::i;:::-;;;;;;;;6176:2;-1:-1:-1;;;;;6161:26:0;6170:4;-1:-1:-1;;;;;6161:26:0;-1:-1:-1;;;;;;;;;;;6180:6:0;6161:26;;;;1942:25:1;;1930:2;1915:18;;1796:177;6161:26:0;;;;;;;;5931:264;5819:376;;;:::o;14478:924::-;14593:7;14613:15;14651:4;14638:9;;14632:3;:15;;;;:::i;:::-;14631:24;;;;:::i;:::-;14701:12;;14613:42;;-1:-1:-1;14666:16:0;;-1:-1:-1;;;;;14701:12:0;:26;14697:81;;14774:4;14760:10;;14754:3;:16;;;;:::i;:::-;14753:25;;;;:::i;:::-;14742:36;;14697:81;14789:12;14845:4;14832:10;;14820:9;;:22;;;;:::i;:::-;:29;14816:66;;;14874:8;14858:13;14864:7;14858:3;:13;:::i;:::-;:24;;;;:::i;:::-;14851:31;;14816:66;14895:13;14905:3;14895:13;;:::i;:::-;-1:-1:-1;;;;;14919:15:0;;;;;;:9;:15;;;;;:22;;14895:13;;-1:-1:-1;14938:3:0;;14919:15;;;:22;;14938:3;;14919:22;:::i;:::-;;;;-1:-1:-1;;14958:11:0;;14954:137;;15004:4;14986:24;;;;:9;:24;;;;;:35;;15014:7;;14986:24;:35;;15014:7;;14986:35;:::i;:::-;;;;-1:-1:-1;;15041:38:0;;1942:25:1;;;15064:4:0;;-1:-1:-1;;;;;15041:38:0;;;-1:-1:-1;;;;;;;;;;;15041:38:0;1930:2:1;1915:18;15041:38:0;;;;;;;14954:137;15105:12;;15101:138;;15144:12;;-1:-1:-1;;;;;15144:12:0;15134:23;;;;:9;:23;;;;;:35;;15161:8;;15134:23;:35;;15161:8;;15134:35;:::i;:::-;;;;-1:-1:-1;;15204:12:0;;15189:38;;1942:25:1;;;-1:-1:-1;;;;;15204:12:0;;;;15189:38;;;-1:-1:-1;;;;;;;;;;;15189:38:0;1930:2:1;1915:18;15189:38:0;;;;;;;15101:138;15253:8;;15249:120;;15288:9;;-1:-1:-1;;;;;15288:9:0;15278:20;;;;:9;:20;;;;;:28;;15302:4;;15278:20;:28;;15302:4;;15278:28;:::i;:::-;;;;-1:-1:-1;;15341:9:0;;15326:31;;1942:25:1;;;-1:-1:-1;;;;;15341:9:0;;;;15326:31;;;-1:-1:-1;;;;;;;;;;;15326:31:0;1930:2:1;1915:18;15326:31:0;;;;;;;15249:120;-1:-1:-1;15388:6:0;;14478:924;-1:-1:-1;;;;;14478:924:0:o;2820:631::-;2752:7;:14;;-1:-1:-1;;2752:14:0;2762:4;2752:14;;;3046:16:::1;::::0;;3060:1:::1;3046:16:::0;;;;;::::1;::::0;;-1:-1:-1;;3046:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;3046:16:0::1;3022:40;;3091:4;3073;3078:1;3073:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;3073:23:0::1;;;-1:-1:-1::0;;;;;3073:23:0::1;;;::::0;::::1;3117:16;-1:-1:-1::0;;;;;3117:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3107:4;3112:1;3107:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3107:33:0;;::::1;:7;::::0;;::::1;::::0;;;;;:33;3231:212:::1;::::0;-1:-1:-1;;;3231:212:0;;:38;;::::1;::::0;::::1;::::0;:212:::1;::::0;3284:11;;3310:1:::1;::::0;3354:4;;3381::::1;::::0;3417:15:::1;::::0;3231:212:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2789:7:0;:15;;-1:-1:-1;;2789:15:0;;;-1:-1:-1;;;;;2820: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:128;5761:3;5792:1;5788:6;5785:1;5782:13;5779:39;;;5798:18;;:::i;:::-;-1:-1:-1;5834:9:1;;5721:128::o;5854:127::-;5915:10;5910:3;5906:20;5903:1;5896:31;5946:4;5943:1;5936:15;5970:4;5967:1;5960:15;5986:135;6025:3;-1:-1:-1;;6046:17:1;;6043:43;;;6066:18;;:::i;:::-;-1:-1:-1;6113:1:1;6102:13;;5986:135::o;6126:168::-;6166:7;6232:1;6228;6224:6;6220:14;6217:1;6214:21;6209:1;6202:9;6195:17;6191:45;6188:71;;;6239:18;;:::i;:::-;-1:-1:-1;6279:9:1;;6126:168::o;6299:217::-;6339:1;6365;6355:132;;6409:10;6404:3;6400:20;6397:1;6390:31;6444:4;6441:1;6434:15;6472:4;6469:1;6462:15;6355:132;-1:-1:-1;6501:9:1;;6299:217::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://5816bf4ebd2a1e82b1d4b613b228f1ac498b6a017373fcf5419e1f8e69a3b7e2

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.