ETH Price: $2,692.35 (-2.01%)

Contract

0xDeDe880FC7526eb75EaEe6c63CdcD752Fe5Ef486
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer192429572024-02-16 20:53:59192 days ago1708116839IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0018618526.86931573
Transfer192428642024-02-16 20:35:23192 days ago1708115723IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0026424238.13402881
Approve192428522024-02-16 20:32:59192 days ago1708115579IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0009523535.77984751
Approve192428522024-02-16 20:32:59192 days ago1708115579IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0009523535.77984751
Approve192428512024-02-16 20:32:47192 days ago1708115567IN
0xDeDe880F...2Fe5Ef486
0 ETH0.001676136.03213738
Approve192428172024-02-16 20:25:59192 days ago1708115159IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0012720927.34693943
Transfer192425982024-02-16 19:41:23192 days ago1708112483IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0016127823.27492721
Approve192423782024-02-16 18:57:11192 days ago1708109831IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0012708827.28559069
Approve192420412024-02-16 17:49:23192 days ago1708105763IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0016415135.51759952
Approve192420172024-02-16 17:44:35192 days ago1708105475IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0017232237.04498926
Approve192419952024-02-16 17:40:11192 days ago1708105211IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0016079934.52330647
Approve192419582024-02-16 17:32:35192 days ago1708104755IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0020874145.16542499
Approve192419572024-02-16 17:32:23192 days ago1708104743IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0020282543.60237288
Approve192419002024-02-16 17:20:59192 days ago1708104059IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0026561857.41231554
Approve192419002024-02-16 17:20:59192 days ago1708104059IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0026561857.41231554
Approve192419002024-02-16 17:20:59192 days ago1708104059IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0026561857.41231554
Approve192415852024-02-16 16:17:35192 days ago1708100255IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0016302135.04564826
Approve192415652024-02-16 16:13:35192 days ago1708100015IN
0xDeDe880F...2Fe5Ef486
0 ETH0.001537933.01846003
Approve192415602024-02-16 16:12:35192 days ago1708099955IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0017588937.81181833
Approve192414632024-02-16 15:52:35192 days ago1708098755IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0019437241.91499703
Approve192414312024-02-16 15:45:59192 days ago1708098359IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0023443650.69884821
Approve192414312024-02-16 15:45:59192 days ago1708098359IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0023443650.69884821
Approve192414312024-02-16 15:45:59192 days ago1708098359IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0023443650.69884821
Approve192414212024-02-16 15:43:59192 days ago1708098239IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0017646737.8873496
Approve192413652024-02-16 15:32:47192 days ago1708097567IN
0xDeDe880F...2Fe5Ef486
0 ETH0.0033759472.96969142
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
192419352024-02-16 17:27:59192 days ago1708104479
0xDeDe880F...2Fe5Ef486
0.03236472 ETH
192419352024-02-16 17:27:59192 days ago1708104479
0xDeDe880F...2Fe5Ef486
0.09709418 ETH
192419352024-02-16 17:27:59192 days ago1708104479
0xDeDe880F...2Fe5Ef486
0.12945891 ETH
192419012024-02-16 17:21:11192 days ago1708104071
0xDeDe880F...2Fe5Ef486
0.00181055 ETH
192419012024-02-16 17:21:11192 days ago1708104071
0xDeDe880F...2Fe5Ef486
0.00543167 ETH
192419012024-02-16 17:21:11192 days ago1708104071
0xDeDe880F...2Fe5Ef486
0.00724222 ETH
192419012024-02-16 17:21:11192 days ago1708104071
0xDeDe880F...2Fe5Ef486
0.01568318 ETH
192419012024-02-16 17:21:11192 days ago1708104071
0xDeDe880F...2Fe5Ef486
0.04704954 ETH
192419012024-02-16 17:21:11192 days ago1708104071
0xDeDe880F...2Fe5Ef486
0.06273272 ETH
192418252024-02-16 17:05:35192 days ago1708103135
0xDeDe880F...2Fe5Ef486
0.0003257 ETH
192418252024-02-16 17:05:35192 days ago1708103135
0xDeDe880F...2Fe5Ef486
0.00097711 ETH
192418252024-02-16 17:05:35192 days ago1708103135
0xDeDe880F...2Fe5Ef486
0.00130281 ETH
192418192024-02-16 17:04:23192 days ago1708103063
0xDeDe880F...2Fe5Ef486
0.00764491 ETH
192418192024-02-16 17:04:23192 days ago1708103063
0xDeDe880F...2Fe5Ef486
0.02293474 ETH
192418192024-02-16 17:04:23192 days ago1708103063
0xDeDe880F...2Fe5Ef486
0.03057966 ETH
192416612024-02-16 16:32:47192 days ago1708101167
0xDeDe880F...2Fe5Ef486
0.00611928 ETH
192416612024-02-16 16:32:47192 days ago1708101167
0xDeDe880F...2Fe5Ef486
0.01835786 ETH
192416612024-02-16 16:32:47192 days ago1708101167
0xDeDe880F...2Fe5Ef486
0.02447715 ETH
192415802024-02-16 16:16:35192 days ago1708100195
0xDeDe880F...2Fe5Ef486
0.00237034 ETH
192415802024-02-16 16:16:35192 days ago1708100195
0xDeDe880F...2Fe5Ef486
0.00711103 ETH
192415802024-02-16 16:16:35192 days ago1708100195
0xDeDe880F...2Fe5Ef486
0.00948138 ETH
192415712024-02-16 16:14:47192 days ago1708100087
0xDeDe880F...2Fe5Ef486
0.00077456 ETH
192415712024-02-16 16:14:47192 days ago1708100087
0xDeDe880F...2Fe5Ef486
0.00232368 ETH
192415712024-02-16 16:14:47192 days ago1708100087
0xDeDe880F...2Fe5Ef486
0.00309824 ETH
192415652024-02-16 16:13:35192 days ago1708100015
0xDeDe880F...2Fe5Ef486
0.00077456 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ECOVA

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-02-16
*/

/**

Website: https://ecovadao.com
Twitter: https://twitter.com/ecova_dao
Telegram: https://t.me/ecova_dao

*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.17;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

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

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address _owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

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

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

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

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

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

    function WETH() external pure returns (address);

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

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

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

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

contract ECOVA is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Ecova DAO";
    string private constant _symbol = "ECOVA";
    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 100_000_000 * (10**_decimals);
    uint256 private _maxTxAmount = 2_000_000 * (10**_decimals);
    uint256 private _maxWalletAmount = 2_000_000 * (10**_decimals);
    uint256 private _swapThresTokens = 1_000_000 * (10**_decimals);
    uint256 private _minSwapTokens = 72 * (10**_decimals);
    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    IRouter router;
    address public pair;
    bool private tradingAllowed = false;
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 2;
    uint256 private utilityFee = 0;
    uint256 private buyFee = 2;
    uint256 private sellFee = 2;
    uint256 private transferFee = 0;
    uint256 private denominator = 100;
    bool private swapEnabled = true;
    bool private swapping;
    modifier lockTheSwap() {
        swapping = true;
        _;
        swapping = false;
    }

    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal constant daoWallet =
        0x252B70Dff80486CA5b8b23aD025B8f8C3BD89C04;
    address internal constant marketingWallet =
        0x252B70Dff80486CA5b8b23aD025B8f8C3BD89C04;
    address private lpWallet = msg.sender;

    constructor() Ownable() {
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[lpWallet] = true;
        _isExcludedFromFee[marketingWallet] = true;
        _isExcludedFromFee[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

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

    function createDAO() external onlyOwner {
        require(!tradingAllowed, "Trading allowed");

        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(
            address(this),
            _router.WETH()
        );
        router = _router;
        pair = _pair;

        addLiquidity(balanceOf(address(this)), address(this).balance);
    }

    function startCarbon() external onlyOwner {
        require(!tradingAllowed, "Tradeing already allowed");
        marketingFee = 32;
        buyFee = 32;
        sellFee = 19;
        tradingAllowed = true;
    }

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

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

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

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

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

    function preTxCheck(
        address sender,
        address recipient,
        uint256 amount
    ) internal pure {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(
            amount > uint256(0),
            "Transfer amount must be greater than zero"
        );
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        preTxCheck(sender, recipient, amount);
        checkTradingAllowed(sender, recipient);
        checkMaxWallet(sender, recipient, amount);
        checkTxLimit(sender, recipient, amount);
        swapBack(sender, recipient, amount);
        (uint256 amountSent, uint256 amountReceived) = takeFees(
            sender,
            recipient,
            amount
        );
        _balances[sender] = _balances[sender].sub(amountSent);
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function reduceFee(uint256 _fee) external onlyOwner {
        marketingFee = _fee;
        buyFee = _fee;
        sellFee = _fee;

        require(
            buyFee <= 10 && sellFee <= 10,
            "buyFee and sellFee cannot be more than 10%"
        );
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = type(uint256).max;
        _maxWalletAmount = type(uint256).max;
    }

    function checkTradingAllowed(address sender, address recipient)
        internal
        view
    {
        if (!_isExcludedFromFee[sender] && !_isExcludedFromFee[recipient]) {
            require(tradingAllowed, "tradingAllowed");
        }
    }

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

    function checkTxLimit(
        address sender,
        address recipient,
        uint256 amount
    ) internal view {
        require(
            amount <= _maxTxAmount ||
                _isExcludedFromFee[sender] ||
                _isExcludedFromFee[recipient],
            "TX Limit Exceeded"
        );
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (
            liquidityFee.add(1).add(marketingFee).add(utilityFee)
        ).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(
            _denominator
        );
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance = deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if (ETHToAddLiquidityWith > uint256(0)) {
            addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith);
        }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if (marketingAmt > 0) {
            payable(marketingWallet).transfer(marketingAmt);
        }
        uint256 remainingBalance = address(this).balance;
        if (remainingBalance > uint256(0)) {
            payable(daoWallet).transfer(remainingBalance);
        }
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpWallet,
            block.timestamp
        );
    }

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

    function shouldSwapBack(
        address sender,
        address recipient,
        uint256 amount
    ) internal view returns (bool) {
        bool aboveMin = amount >= _minSwapTokens;
        bool aboveThreshold = balanceOf(address(this)) >= _minSwapTokens;
        return
            !swapping &&
            swapEnabled &&
            tradingAllowed &&
            aboveMin &&
            !_isExcludedFromFee[sender] &&
            recipient == pair &&
            aboveThreshold;
    }

    function swapBack(
        address sender,
        address recipient,
        uint256 amount
    ) internal {
        if (shouldSwapBack(sender, recipient, amount)) {
            uint256 swapTokens = balanceOf(address(this));
            if (swapTokens > _swapThresTokens) swapTokens = _swapThresTokens;
            swapAndLiquify(swapTokens);
        }
    }

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

    function getFee(address sender, address recipient)
        internal
        view
        returns (uint256)
    {
        if (recipient == pair) {
            return sellFee;
        }
        if (sender == pair) {
            return buyFee;
        }
        return transferFee;
    }

    function takeFees(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (uint256, uint256) {
        uint256 xAmount = amount;
        uint256 yAmount = amount;
        uint256 feeAmount;
        if (sender != address(this) && recipient != address(this)) {
            if (couldFeeTake(sender, recipient)) {
                if (getFee(sender, recipient) > 0) {
                    feeAmount = amount.div(denominator).mul(
                        getFee(sender, recipient)
                    );
                    _balances[address(this)] = _balances[address(this)].add(
                        feeAmount
                    );
                    emit Transfer(sender, address(this), feeAmount);

                    yAmount = amount.sub(feeAmount);
                }
            } else {
                if (recipient == pair && sender != owner()) xAmount = feeAmount;
            }
        }
        return (xAmount, yAmount);
    }

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

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"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":"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":"createDAO","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startCarbon","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a62000307565b62000022906305f5e1006200031e565b600155620000336009600a62000307565b6200004290621e84806200031e565b600255620000536009600a62000307565b6200006290621e84806200031e565b600355620000736009600a62000307565b6200008290620f42406200031e565b600455620000936009600a62000307565b620000a09060486200031e565b600555600a805460ff60a01b191690555f600b8190556002600c819055600d829055600e819055600f5560105560646011556012805461ff01600160b01b031916336201000002176001179055348015620000f9575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350305f9081526008602090815260408083208054600160ff1991821681179092556012546001600160a01b036201000090910416855282852080548216831790557f62c342dcbb30701ed4d5d071c55feae2fc4146e73ae032a2e51f23eaa18ebb5380548216831790553380865283862080549092168317909155905460068452828520819055915191825292917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000338565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200024c57815f1904821115620002305762000230620001f8565b808516156200023e57918102915b93841c939080029062000211565b509250929050565b5f82620002645750600162000301565b816200027257505f62000301565b81600181146200028b57600281146200029657620002b6565b600191505062000301565b60ff841115620002aa57620002aa620001f8565b50506001821b62000301565b5060208310610133831016604e8410600b8410161715620002db575081810a62000301565b620002e783836200020c565b805f1904821115620002fd57620002fd620001f8565b0290505b92915050565b5f6200031760ff84168362000254565b9392505050565b8082028115828204841417620003015762000301620001f8565b61174b80620003465f395ff3fe6080604052600436106100f2575f3560e01c80637ef4d7fa11610087578063a8aa1b3111610057578063a8aa1b31146102ae578063a9059cbb146102cd578063dd62ed3e146102ec578063ec1f3f6314610330575f80fd5b80637ef4d7fa146102295780638da5cb5b1461023d57806395d89b411461026d5780639caddac21461029a575f80fd5b8063313ce567116100c2578063313ce567146101b057806370a08231146101cb578063715018a6146101ff578063751039fc14610215575f80fd5b806306fdde03146100fd578063095ea7b31461014057806318160ddd1461016f57806323b872dd14610191575f80fd5b366100f957005b5f80fd5b348015610108575f80fd5b5060408051808201909152600981526845636f76612044414f60b81b60208201525b604051610137919061144c565b60405180910390f35b34801561014b575f80fd5b5061015f61015a3660046114ac565b61034f565b6040519015158152602001610137565b34801561017a575f80fd5b50610183610365565b604051908152602001610137565b34801561019c575f80fd5b5061015f6101ab3660046114d6565b6103d5565b3480156101bb575f80fd5b5060405160098152602001610137565b3480156101d6575f80fd5b506101836101e5366004611514565b6001600160a01b03165f9081526006602052604090205490565b34801561020a575f80fd5b5061021361043c565b005b348015610220575f80fd5b506102136104b6565b348015610234575f80fd5b506102136104eb565b348015610248575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610137565b348015610278575f80fd5b5060408051808201909152600581526445434f564160d81b602082015261012a565b3480156102a5575f80fd5b50610213610592565b3480156102b9575f80fd5b50600a54610255906001600160a01b031681565b3480156102d8575f80fd5b5061015f6102e73660046114ac565b6107ba565b3480156102f7575f80fd5b5061018361030636600461152f565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561033b575f80fd5b5061021361034a366004611566565b6107c6565b5f61035b338484610874565b5060015b92915050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead5f9081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225460015491926103d09290916103ca9190610997565b90610997565b905090565b5f6103e18484846109a9565b610432843361042d856040518060600160405280602881526020016116ee602891396001600160a01b038a165f9081526007602090815260408083203384529091529020549190610aa3565b610874565b5060019392505050565b5f546001600160a01b0316331461046e5760405162461bcd60e51b81526004016104659061157d565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104df5760405162461bcd60e51b81526004016104659061157d565b5f196002819055600355565b5f546001600160a01b031633146105145760405162461bcd60e51b81526004016104659061157d565b600a54600160a01b900460ff161561056e5760405162461bcd60e51b815260206004820152601860248201527f5472616465696e6720616c726561647920616c6c6f77656400000000000000006044820152606401610465565b6020600c819055600e556013600f55600a805460ff60a01b1916600160a01b179055565b5f546001600160a01b031633146105bb5760405162461bcd60e51b81526004016104659061157d565b600a54600160a01b900460ff16156106075760405162461bcd60e51b815260206004820152600f60248201526e151c98591a5b99c8185b1b1bddd959608a1b6044820152606401610465565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068091906115b2565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ef91906115b2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075d91906115b2565b600980546001600160a01b038086166001600160a01b031992831617909255600a80549284169290911691909117905590506107b66107b0306001600160a01b03165f9081526006602052604090205490565b47610ace565b5050565b5f61035b3384846109a9565b5f546001600160a01b031633146107ef5760405162461bcd60e51b81526004016104659061157d565b600c819055600e819055600f819055600a81118015906108125750600a600f5411155b6108715760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2031302560b01b6064820152608401610465565b50565b6001600160a01b0383166108d65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610465565b6001600160a01b0382166109375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610465565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6109a282846115e1565b9392505050565b6109b4838383610b85565b6109be8383610cb1565b6109c9838383610d40565b6109d4838383610e29565b6109df838383610eb3565b5f806109ec858585610ef0565b6001600160a01b0387165f908152600660205260409020549193509150610a139083610997565b6001600160a01b038087165f908152600660205260408082209390935590861681522054610a419082611023565b6001600160a01b038086165f8181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a949085815260200190565b60405180910390a35050505050565b5f8184841115610ac65760405162461bcd60e51b8152600401610465919061144c565b505050900390565b600954610ae69030906001600160a01b031684610874565b60095460125460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0362010000909204821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015610b59573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b7e91906115f4565b5050505050565b6001600160a01b038316610be95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610465565b6001600160a01b038216610c4b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610465565b5f8111610cac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610465565b505050565b6001600160a01b0382165f9081526008602052604090205460ff16158015610cf157506001600160a01b0381165f9081526008602052604090205460ff16155b156107b657600a54600160a01b900460ff166107b65760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610465565b6001600160a01b0383165f9081526008602052604090205460ff16158015610d8057506001600160a01b0382165f9081526008602052604090205460ff16155b8015610d9a5750600a546001600160a01b03838116911614155b8015610db157506001600160a01b03821661dead14155b15610cac576003546001600160a01b0383165f90815260066020526040902054610ddb9083611023565b1115610cac5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610465565b60025481111580610e5157506001600160a01b0383165f9081526008602052604090205460ff165b80610e7357506001600160a01b0382165f9081526008602052604090205460ff165b610cac5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610465565b610ebe83838361102e565b15610cac57305f90815260066020526040902054600454811115610ee157506004545b610eea816110d3565b50505050565b5f808280826001600160a01b0388163014801590610f1757506001600160a01b0387163014155b1561101657610f268888611258565b15610fe3575f610f36898961129c565b1115610fde57610f5d610f49898961129c565b601154610f579089906112e6565b906112f1565b305f90815260066020526040902054909150610f799082611023565b305f81815260066020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc99085815260200190565b60405180910390a3610fdb8682610997565b91505b611016565b600a546001600160a01b03888116911614801561100d57505f546001600160a01b03898116911614155b15611016578092505b5090969095509350505050565b5f6109a2828461161f565b600554305f908152600660205260408120546012549192808510159291101590610100900460ff16158015611065575060125460ff165b801561107a5750600a54600160a01b900460ff165b80156110835750815b80156110a757506001600160a01b0386165f9081526008602052604090205460ff16155b80156110c05750600a546001600160a01b038681169116145b80156110c95750805b9695505050505050565b6012805461ff001916610100179055600d54600c54600b545f9261110c92600292610f5792916111069182906001611023565b90611023565b90505f61112e82611128600b54866112f190919063ffffffff16565b906112e6565b90505f61113b8483610997565b905047611147826112fc565b5f6111524783610997565b90505f61117461116d600b548861099790919063ffffffff16565b83906112e6565b90505f61118c600b54836112f190919063ffffffff16565b9050801561119e5761119e8682610ace565b600c545f906111b290610f578560026112f1565b905080156111fa5760405173252b70dff80486ca5b8b23ad025b8f8c3bd89c049082156108fc029083905f818181858888f193505050501580156111f8573d5f803e3d5ffd5b505b4780156112415760405173252b70dff80486ca5b8b23ad025b8f8c3bd89c049082156108fc029083905f818181858888f1935050505015801561123f573d5f803e3d5ffd5b505b50506012805461ff00191690555050505050505050565b6001600160a01b0382165f9081526008602052604081205460ff161580156109a25750506001600160a01b03165f9081526008602052604090205460ff1615919050565b600a545f906001600160a01b03908116908316036112bd5750600f5461035f565b600a546001600160a01b03908116908416036112dc5750600e5461035f565b5060105492915050565b5f6109a28284611632565b5f6109a28284611651565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061132f5761132f611668565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611386573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113aa91906115b2565b816001815181106113bd576113bd611668565b6001600160a01b0392831660209182029290920101526009546113e39130911684610874565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141b9085905f9086903090429060040161167c565b5f604051808303815f87803b158015611432575f80fd5b505af1158015611444573d5f803e3d5ffd5b505050505050565b5f602080835283518060208501525f5b818110156114785785810183015185820160400152820161145c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610871575f80fd5b5f80604083850312156114bd575f80fd5b82356114c881611498565b946020939093013593505050565b5f805f606084860312156114e8575f80fd5b83356114f381611498565b9250602084013561150381611498565b929592945050506040919091013590565b5f60208284031215611524575f80fd5b81356109a281611498565b5f8060408385031215611540575f80fd5b823561154b81611498565b9150602083013561155b81611498565b809150509250929050565b5f60208284031215611576575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115c2575f80fd5b81516109a281611498565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561035f5761035f6115cd565b5f805f60608486031215611606575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561035f5761035f6115cd565b5f8261164c57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761035f5761035f6115cd565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156116cc5784516001600160a01b0316835293830193918301916001016116a7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e872d8d70b4125dfa385b5eebef5920fa47c15a03564fc68836c1818b965e5d964736f6c63430008160033

Deployed Bytecode

0x6080604052600436106100f2575f3560e01c80637ef4d7fa11610087578063a8aa1b3111610057578063a8aa1b31146102ae578063a9059cbb146102cd578063dd62ed3e146102ec578063ec1f3f6314610330575f80fd5b80637ef4d7fa146102295780638da5cb5b1461023d57806395d89b411461026d5780639caddac21461029a575f80fd5b8063313ce567116100c2578063313ce567146101b057806370a08231146101cb578063715018a6146101ff578063751039fc14610215575f80fd5b806306fdde03146100fd578063095ea7b31461014057806318160ddd1461016f57806323b872dd14610191575f80fd5b366100f957005b5f80fd5b348015610108575f80fd5b5060408051808201909152600981526845636f76612044414f60b81b60208201525b604051610137919061144c565b60405180910390f35b34801561014b575f80fd5b5061015f61015a3660046114ac565b61034f565b6040519015158152602001610137565b34801561017a575f80fd5b50610183610365565b604051908152602001610137565b34801561019c575f80fd5b5061015f6101ab3660046114d6565b6103d5565b3480156101bb575f80fd5b5060405160098152602001610137565b3480156101d6575f80fd5b506101836101e5366004611514565b6001600160a01b03165f9081526006602052604090205490565b34801561020a575f80fd5b5061021361043c565b005b348015610220575f80fd5b506102136104b6565b348015610234575f80fd5b506102136104eb565b348015610248575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610137565b348015610278575f80fd5b5060408051808201909152600581526445434f564160d81b602082015261012a565b3480156102a5575f80fd5b50610213610592565b3480156102b9575f80fd5b50600a54610255906001600160a01b031681565b3480156102d8575f80fd5b5061015f6102e73660046114ac565b6107ba565b3480156102f7575f80fd5b5061018361030636600461152f565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561033b575f80fd5b5061021361034a366004611566565b6107c6565b5f61035b338484610874565b5060015b92915050565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead5f9081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e225460015491926103d09290916103ca9190610997565b90610997565b905090565b5f6103e18484846109a9565b610432843361042d856040518060600160405280602881526020016116ee602891396001600160a01b038a165f9081526007602090815260408083203384529091529020549190610aa3565b610874565b5060019392505050565b5f546001600160a01b0316331461046e5760405162461bcd60e51b81526004016104659061157d565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146104df5760405162461bcd60e51b81526004016104659061157d565b5f196002819055600355565b5f546001600160a01b031633146105145760405162461bcd60e51b81526004016104659061157d565b600a54600160a01b900460ff161561056e5760405162461bcd60e51b815260206004820152601860248201527f5472616465696e6720616c726561647920616c6c6f77656400000000000000006044820152606401610465565b6020600c819055600e556013600f55600a805460ff60a01b1916600160a01b179055565b5f546001600160a01b031633146105bb5760405162461bcd60e51b81526004016104659061157d565b600a54600160a01b900460ff16156106075760405162461bcd60e51b815260206004820152600f60248201526e151c98591a5b99c8185b1b1bddd959608a1b6044820152606401610465565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90505f816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061068091906115b2565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ef91906115b2565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610739573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075d91906115b2565b600980546001600160a01b038086166001600160a01b031992831617909255600a80549284169290911691909117905590506107b66107b0306001600160a01b03165f9081526006602052604090205490565b47610ace565b5050565b5f61035b3384846109a9565b5f546001600160a01b031633146107ef5760405162461bcd60e51b81526004016104659061157d565b600c819055600e819055600f819055600a81118015906108125750600a600f5411155b6108715760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2031302560b01b6064820152608401610465565b50565b6001600160a01b0383166108d65760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610465565b6001600160a01b0382166109375760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610465565b6001600160a01b038381165f8181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6109a282846115e1565b9392505050565b6109b4838383610b85565b6109be8383610cb1565b6109c9838383610d40565b6109d4838383610e29565b6109df838383610eb3565b5f806109ec858585610ef0565b6001600160a01b0387165f908152600660205260409020549193509150610a139083610997565b6001600160a01b038087165f908152600660205260408082209390935590861681522054610a419082611023565b6001600160a01b038086165f8181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a949085815260200190565b60405180910390a35050505050565b5f8184841115610ac65760405162461bcd60e51b8152600401610465919061144c565b505050900390565b600954610ae69030906001600160a01b031684610874565b60095460125460405163f305d71960e01b8152306004820152602481018590525f6044820181905260648201526001600160a01b0362010000909204821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af1158015610b59573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610b7e91906115f4565b5050505050565b6001600160a01b038316610be95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610465565b6001600160a01b038216610c4b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610465565b5f8111610cac5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610465565b505050565b6001600160a01b0382165f9081526008602052604090205460ff16158015610cf157506001600160a01b0381165f9081526008602052604090205460ff16155b156107b657600a54600160a01b900460ff166107b65760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b6044820152606401610465565b6001600160a01b0383165f9081526008602052604090205460ff16158015610d8057506001600160a01b0382165f9081526008602052604090205460ff16155b8015610d9a5750600a546001600160a01b03838116911614155b8015610db157506001600160a01b03821661dead14155b15610cac576003546001600160a01b0383165f90815260066020526040902054610ddb9083611023565b1115610cac5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610465565b60025481111580610e5157506001600160a01b0383165f9081526008602052604090205460ff165b80610e7357506001600160a01b0382165f9081526008602052604090205460ff165b610cac5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610465565b610ebe83838361102e565b15610cac57305f90815260066020526040902054600454811115610ee157506004545b610eea816110d3565b50505050565b5f808280826001600160a01b0388163014801590610f1757506001600160a01b0387163014155b1561101657610f268888611258565b15610fe3575f610f36898961129c565b1115610fde57610f5d610f49898961129c565b601154610f579089906112e6565b906112f1565b305f90815260066020526040902054909150610f799082611023565b305f81815260066020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fc99085815260200190565b60405180910390a3610fdb8682610997565b91505b611016565b600a546001600160a01b03888116911614801561100d57505f546001600160a01b03898116911614155b15611016578092505b5090969095509350505050565b5f6109a2828461161f565b600554305f908152600660205260408120546012549192808510159291101590610100900460ff16158015611065575060125460ff165b801561107a5750600a54600160a01b900460ff165b80156110835750815b80156110a757506001600160a01b0386165f9081526008602052604090205460ff16155b80156110c05750600a546001600160a01b038681169116145b80156110c95750805b9695505050505050565b6012805461ff001916610100179055600d54600c54600b545f9261110c92600292610f5792916111069182906001611023565b90611023565b90505f61112e82611128600b54866112f190919063ffffffff16565b906112e6565b90505f61113b8483610997565b905047611147826112fc565b5f6111524783610997565b90505f61117461116d600b548861099790919063ffffffff16565b83906112e6565b90505f61118c600b54836112f190919063ffffffff16565b9050801561119e5761119e8682610ace565b600c545f906111b290610f578560026112f1565b905080156111fa5760405173252b70dff80486ca5b8b23ad025b8f8c3bd89c049082156108fc029083905f818181858888f193505050501580156111f8573d5f803e3d5ffd5b505b4780156112415760405173252b70dff80486ca5b8b23ad025b8f8c3bd89c049082156108fc029083905f818181858888f1935050505015801561123f573d5f803e3d5ffd5b505b50506012805461ff00191690555050505050505050565b6001600160a01b0382165f9081526008602052604081205460ff161580156109a25750506001600160a01b03165f9081526008602052604090205460ff1615919050565b600a545f906001600160a01b03908116908316036112bd5750600f5461035f565b600a546001600160a01b03908116908416036112dc5750600e5461035f565b5060105492915050565b5f6109a28284611632565b5f6109a28284611651565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061132f5761132f611668565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611386573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113aa91906115b2565b816001815181106113bd576113bd611668565b6001600160a01b0392831660209182029290920101526009546113e39130911684610874565b60095460405163791ac94760e01b81526001600160a01b039091169063791ac9479061141b9085905f9086903090429060040161167c565b5f604051808303815f87803b158015611432575f80fd5b505af1158015611444573d5f803e3d5ffd5b505050505050565b5f602080835283518060208501525f5b818110156114785785810183015185820160400152820161145c565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610871575f80fd5b5f80604083850312156114bd575f80fd5b82356114c881611498565b946020939093013593505050565b5f805f606084860312156114e8575f80fd5b83356114f381611498565b9250602084013561150381611498565b929592945050506040919091013590565b5f60208284031215611524575f80fd5b81356109a281611498565b5f8060408385031215611540575f80fd5b823561154b81611498565b9150602083013561155b81611498565b809150509250929050565b5f60208284031215611576575f80fd5b5035919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f602082840312156115c2575f80fd5b81516109a281611498565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561035f5761035f6115cd565b5f805f60608486031215611606575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561035f5761035f6115cd565b5f8261164c57634e487b7160e01b5f52601260045260245ffd5b500490565b808202811582820484141761035f5761035f6115cd565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156116cc5784516001600160a01b0316835293830193918301916001016116a7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e872d8d70b4125dfa385b5eebef5920fa47c15a03564fc68836c1818b965e5d964736f6c63430008160033

Deployed Bytecode Sourcemap

6159:11679:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8109:83;;;;;;;;;;-1:-1:-1;8179:5:0;;;;;;;;;;;;-1:-1:-1;;;8179:5:0;;;;8109:83;;;;;;;:::i;:::-;;;;;;;;9585:191;;;;;;;;;;-1:-1:-1;9585:191:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;9585:191:0;1023:187:1;9784:148:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;9784:148:0;1215:177:1;17016:442:0;;;;;;;;;;-1:-1:-1;17016:442:0;;;;;:::i;:::-;;:::i;8295:83::-;;;;;;;;;;-1:-1:-1;8295:83:0;;6366:1;2000:36:1;;1988:2;1973:18;8295:83:0;1858:184:1;9061:119:0;;;;;;;;;;-1:-1:-1;9061:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9154:18:0;9127:7;9154:18;;;:9;:18;;;;;;;9061:119;4435:148;;;;;;;;;;;;;:::i;:::-;;11353:141;;;;;;;;;;;;;:::i;8835:218::-;;;;;;;;;;;;;:::i;4221:79::-;;;;;;;;;;-1:-1:-1;4259:7:0;4286:6;-1:-1:-1;;;;;4286:6:0;4221:79;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;4221:79:0;2299:203:1;8200:87:0;;;;;;;;;;-1:-1:-1;8272:7:0;;;;;;;;;;;;-1:-1:-1;;;8272:7:0;;;;8200:87;;8386:441;;;;;;;;;;;;;:::i;6901:19::-;;;;;;;;;;-1:-1:-1;6901:19:0;;;;-1:-1:-1;;;;;6901:19:0;;;9188:197;;;;;;;;;;-1:-1:-1;9188:197:0;;;;;:::i;:::-;;:::i;9393:184::-;;;;;;;;;;-1:-1:-1;9393:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9542:18:0;;;9510:7;9542:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9393:184;11072:273;;;;;;;;;;-1:-1:-1;11072:273:0;;;;;:::i;:::-;;:::i;9585:191::-;9687:4;9709:37;9718:10;9730:7;9739:6;9709:8;:37::i;:::-;-1:-1:-1;9764:4:0;9585:191;;;;;:::o;9784:148::-;9154:9;:18;;;;7432:42;9837:7;9154:18;;;;;9864:12;;9837:7;;9864:60;;9154:18;;9864:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;9857:67;;9784:148;:::o;17016:442::-;17148:4;17165:36;17175:6;17183:9;17194:6;17165:9;:36::i;:::-;17212:216;17235:6;17256:10;17281:136;17335:6;17281:136;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17281:19:0;;;;;;:11;:19;;;;;;;;17301:10;17281:31;;;;;;;;;:136;:35;:136::i;:::-;17212:8;:216::i;:::-;-1:-1:-1;17446:4:0;17016:442;;;;;:::o;4435:148::-;4348:6;;-1:-1:-1;;;;;4348:6:0;296:10;4348:22;4340:67;;;;-1:-1:-1;;;4340:67:0;;;;;;;:::i;:::-;;;;;;;;;4542:1:::1;4526:6:::0;;4505:40:::1;::::0;-1:-1:-1;;;;;4526:6:0;;::::1;::::0;4505:40:::1;::::0;4542:1;;4505:40:::1;4573:1;4556:19:::0;;-1:-1:-1;;;;;;4556:19:0::1;::::0;;4435:148::o;11353:141::-;4348:6;;-1:-1:-1;;;;;4348:6:0;296:10;4348:22;4340:67;;;;-1:-1:-1;;;4340:67:0;;;;;;;:::i;:::-;-1:-1:-1;;11407:12:0::1;:32:::0;;;11450:16:::1;:36:::0;11353:141::o;8835:218::-;4348:6;;-1:-1:-1;;;;;4348:6:0;296:10;4348:22;4340:67;;;;-1:-1:-1;;;4340:67:0;;;;;;;:::i;:::-;8897:14:::1;::::0;-1:-1:-1;;;8897:14:0;::::1;;;8896:15;8888:52;;;::::0;-1:-1:-1;;;8888:52:0;;3648:2:1;8888:52:0::1;::::0;::::1;3630:21:1::0;3687:2;3667:18;;;3660:30;3726:26;3706:18;;;3699:54;3770:18;;8888:52:0::1;3446:348:1::0;8888:52:0::1;8966:2;8951:12;:17:::0;;;8979:6:::1;:11:::0;9011:2:::1;9001:7;:12:::0;9024:14:::1;:21:::0;;-1:-1:-1;;;;9024:21:0::1;-1:-1:-1::0;;;9024:21:0::1;::::0;;8835:218::o;8386:441::-;4348:6;;-1:-1:-1;;;;;4348:6:0;296:10;4348:22;4340:67;;;;-1:-1:-1;;;4340:67:0;;;;;;;:::i;:::-;8446:14:::1;::::0;-1:-1:-1;;;8446:14:0;::::1;;;8445:15;8437:43;;;::::0;-1:-1:-1;;;8437:43:0;;4001:2:1;8437:43:0::1;::::0;::::1;3983:21:1::0;4040:2;4020:18;;;4013:30;-1:-1:-1;;;4059:18:1;;;4052:45;4114:18;;8437:43:0::1;3799:339:1::0;8437:43:0::1;8493:15;8519:42;8493:69;;8573:13;8598:7;-1:-1:-1::0;;;;;8598:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8589:38:0::1;;8650:4;8670:7;-1:-1:-1::0;;;;;8670:12:0::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8589:106;::::0;-1:-1:-1;;;;;;8589:106:0::1;::::0;;;;;;-1:-1:-1;;;;;4629:15:1;;;8589:106:0::1;::::0;::::1;4611:34:1::0;4681:15;;4661:18;;;4654:43;4546:18;;8589:106:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8706:6;:16:::0;;-1:-1:-1;;;;;8706:16:0;;::::1;-1:-1:-1::0;;;;;;8706:16:0;;::::1;;::::0;;;8733:4:::1;:12:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;8573:122;-1:-1:-1;8758:61:0::1;8771:24;8789:4;-1:-1:-1::0;;;;;9154:18:0;9127:7;9154:18;;;:9;:18;;;;;;;9061:119;8771:24:::1;8797:21;8758:12;:61::i;:::-;8426:401;;8386:441::o:0;9188:197::-;9293:4;9315:40;9325:10;9337:9;9348:6;9315:9;:40::i;11072:273::-;4348:6;;-1:-1:-1;;;;;4348:6:0;296:10;4348:22;4340:67;;;;-1:-1:-1;;;4340:67:0;;;;;;;:::i;:::-;11135:12:::1;:19:::0;;;11165:6:::1;:13:::0;;;11189:7:::1;:14:::0;;;11248:2:::1;11238:12:::0;::::1;::::0;::::1;::::0;:29:::1;;;11265:2;11254:7;;:13;;11238:29;11216:121;;;::::0;-1:-1:-1;;;11216:121:0;;4910:2:1;11216:121:0::1;::::0;::::1;4892:21:1::0;4949:2;4929:18;;;4922:30;4988:34;4968:18;;;4961:62;-1:-1:-1;;;5039:18:1;;;5032:40;5089:19;;11216:121:0::1;4708:406:1::0;11216:121:0::1;11072:273:::0;:::o;17466:369::-;-1:-1:-1;;;;;17593:19:0;;17585:68;;;;-1:-1:-1;;;17585:68:0;;5321:2:1;17585:68:0;;;5303:21:1;5360:2;5340:18;;;5333:30;5399:34;5379:18;;;5372:62;-1:-1:-1;;;5450:18:1;;;5443:34;5494:19;;17585:68:0;5119:400:1;17585:68:0;-1:-1:-1;;;;;17672:21:0;;17664:68;;;;-1:-1:-1;;;17664:68:0;;5726:2:1;17664:68:0;;;5708:21:1;5765:2;5745:18;;;5738:30;5804:34;5784:18;;;5777:62;-1:-1:-1;;;5855:18:1;;;5848:32;5897:19;;17664:68:0;5524:398:1;17664:68:0;-1:-1:-1;;;;;17743:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;17795:32;;1361:25:1;;;17795:32:0;;1334:18:1;17795:32:0;;;;;;;17466:369;;;:::o;451:98::-;509:7;536:5;540:1;536;:5;:::i;:::-;529:12;451:98;-1:-1:-1;;;451:98:0:o;10359:705::-;10482:37;10493:6;10501:9;10512:6;10482:10;:37::i;:::-;10530:38;10550:6;10558:9;10530:19;:38::i;:::-;10579:41;10594:6;10602:9;10613:6;10579:14;:41::i;:::-;10631:39;10644:6;10652:9;10663:6;10631:12;:39::i;:::-;10681:35;10690:6;10698:9;10709:6;10681:8;:35::i;:::-;10728:18;10748:22;10774:85;10797:6;10818:9;10842:6;10774:8;:85::i;:::-;-1:-1:-1;;;;;10890:17:0;;;;;;:9;:17;;;;;;10727:132;;-1:-1:-1;10727:132:0;-1:-1:-1;10890:33:0;;10727:132;10890:21;:33::i;:::-;-1:-1:-1;;;;;10870:17:0;;;;;;;:9;:17;;;;;;:53;;;;10957:20;;;;;;;:40;;10982:14;10957:24;:40::i;:::-;-1:-1:-1;;;;;10934:20:0;;;;;;;:9;:20;;;;;;;:63;;;;11013:43;;;;;;;;;;11041:14;1361:25:1;;1349:2;1334:18;;1215:177;11013:43:0;;;;;;;;10471:593;;10359:705;;;:::o;2151:240::-;2271:7;2332:12;2324:6;;;;2316:29;;;;-1:-1:-1;;;2316:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2367:5:0;;;2151:240::o;13792:343::-;13905:6;;13873:53;;13890:4;;-1:-1:-1;;;;;13905:6:0;13914:11;13873:8;:53::i;:::-;13937:6;;14078:8;;13937:190;;-1:-1:-1;;;13937:190:0;;14000:4;13937:190;;;6533:34:1;6583:18;;;6576:34;;;-1:-1:-1;6626:18:1;;;6619:34;;;6669:18;;;6662:34;-1:-1:-1;;;;;14078:8:0;;;;;;6712:19:1;;;6705:44;14101:15:0;6765:19:1;;;6758:35;13937:6:0;;;:22;;13967:9;;6467:19:1;;13937:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;13792:343;;:::o;9940:411::-;-1:-1:-1;;;;;10078:20:0;;10070:70;;;;-1:-1:-1;;;10070:70:0;;7317:2:1;10070:70:0;;;7299:21:1;7356:2;7336:18;;;7329:30;7395:34;7375:18;;;7368:62;-1:-1:-1;;;7446:18:1;;;7439:35;7491:19;;10070:70:0;7115:401:1;10070:70:0;-1:-1:-1;;;;;10159:23:0;;10151:71;;;;-1:-1:-1;;;10151:71:0;;7723:2:1;10151:71:0;;;7705:21:1;7762:2;7742:18;;;7735:30;7801:34;7781:18;;;7774:62;-1:-1:-1;;;7852:18:1;;;7845:33;7895:19;;10151:71:0;7521:399:1;10151:71:0;10272:1;10255:6;:19;10233:110;;;;-1:-1:-1;;;10233:110:0;;8127:2:1;10233:110:0;;;8109:21:1;8166:2;8146:18;;;8139:30;8205:34;8185:18;;;8178:62;-1:-1:-1;;;8256:18:1;;;8249:39;8305:19;;10233:110:0;7925:405:1;10233:110:0;9940:411;;;:::o;11502:254::-;-1:-1:-1;;;;;11619:26:0;;;;;;:18;:26;;;;;;;;11618:27;:61;;;;-1:-1:-1;;;;;;11650:29:0;;;;;;:18;:29;;;;;;;;11649:30;11618:61;11614:135;;;11704:14;;-1:-1:-1;;;11704:14:0;;;;11696:41;;;;-1:-1:-1;;;11696:41:0;;8537:2:1;11696:41:0;;;8519:21:1;8576:2;8556:18;;;8549:30;-1:-1:-1;;;8595:18:1;;;8588:44;8649:18;;11696:41:0;8335:338:1;11764:504:0;-1:-1:-1;;;;;11917:26:0;;;;;;:18;:26;;;;;;;;11916:27;:74;;;;-1:-1:-1;;;;;;11961:29:0;;;;;;:18;:29;;;;;;;;11960:30;11916:74;:117;;;;-1:-1:-1;12028:4:0;;-1:-1:-1;;;;;12007:26:0;;;12028:4;;12007:26;;11916:117;:160;;;;-1:-1:-1;;;;;;12050:26:0;;7432:42;12050:26;;11916:160;11898:363;;;12167:16;;-1:-1:-1;;;;;12130:20:0;;;;;;:9;:20;;;;;;:32;;12155:6;12130:24;:32::i;:::-;12129:54;;12103:146;;;;-1:-1:-1;;;12103:146:0;;8880:2:1;12103:146:0;;;8862:21:1;8919:2;8899:18;;;8892:30;8958:32;8938:18;;;8931:60;9008:18;;12103:146:0;8678:354:1;12276:326:0;12440:12;;12430:6;:22;;:69;;;-1:-1:-1;;;;;;12473:26:0;;;;;;:18;:26;;;;;;;;12430:69;:119;;;-1:-1:-1;;;;;;12520:29:0;;;;;;:18;:29;;;;;;;;12430:119;12408:186;;;;-1:-1:-1;;;12408:186:0;;9239:2:1;12408:186:0;;;9221:21:1;9278:2;9258:18;;;9251:30;-1:-1:-1;;;9297:18:1;;;9290:47;9354:18;;12408:186:0;9037:341:1;15108:369:0;15235:41;15250:6;15258:9;15269:6;15235:14;:41::i;:::-;15231:239;;;15332:4;15293:18;9154;;;:9;:18;;;;;;15370:16;;15357:29;;15353:64;;;-1:-1:-1;15401:16:0;;15353:64;15432:26;15447:10;15432:14;:26::i;:::-;15278:192;15108:369;;;:::o;16002:1006::-;16123:7;;16170:6;;16123:7;-1:-1:-1;;;;;16254:23:0;;16272:4;16254:23;;;;:53;;-1:-1:-1;;;;;;16281:26:0;;16302:4;16281:26;;16254:53;16250:715;;;16328:31;16341:6;16349:9;16328:12;:31::i;:::-;16324:630;;;16412:1;16384:25;16391:6;16399:9;16384:6;:25::i;:::-;:29;16380:455;;;16450:102;16504:25;16511:6;16519:9;16504:6;:25::i;:::-;16461:11;;16450:23;;:6;;:10;:23::i;:::-;:27;;:102::i;:::-;16620:4;16602:24;;;;:9;:24;;;;;;16438:114;;-1:-1:-1;16602:87:0;;16438:114;16602:28;:87::i;:::-;16593:4;16575:24;;;;:9;:24;;;;;;;:114;;;;16717:42;;-1:-1:-1;;;;;16717:42:0;;;;;;;16749:9;1361:25:1;;1349:2;1334:18;;1215:177;16717:42:0;;;;;;;;16794:21;:6;16805:9;16794:10;:21::i;:::-;16784:31;;16380:455;16324:630;;;16892:4;;-1:-1:-1;;;;;16879:17:0;;;16892:4;;16879:17;:38;;;;-1:-1:-1;4259:7:0;4286:6;-1:-1:-1;;;;;16900:17:0;;;4286:6;;16900:17;;16879:38;16875:63;;;16929:9;16919:19;;16875:63;-1:-1:-1;16983:7:0;;;;-1:-1:-1;16002:1006:0;-1:-1:-1;;;;16002:1006:0:o;345:98::-;403:7;430:5;434:1;430;:5;:::i;14595:505::-;14770:14;;14835:4;14727;9154:18;;;:9;:18;;;;;;14891:8;;14727:4;;14760:24;;;;;-1:-1:-1;;14817:42:0;;14891:8;;;;;14890:9;:37;;;;-1:-1:-1;14916:11:0;;;;14890:37;:68;;;;-1:-1:-1;14944:14:0;;-1:-1:-1;;;14944:14:0;;;;14890:68;:93;;;;;14975:8;14890:93;:137;;;;-1:-1:-1;;;;;;15001:26:0;;;;;;:18;:26;;;;;;;;15000:27;14890:137;:171;;;;-1:-1:-1;15057:4:0;;-1:-1:-1;;;;;15044:17:0;;;15057:4;;15044:17;14890:171;:202;;;;;15078:14;14890:202;14870:222;14595:505;-1:-1:-1;;;;;;14595:505:0:o;12610:1174::-;7329:8;:15;;-1:-1:-1;;7329:15:0;;;;;12761:10:::1;::::0;12743:12:::1;::::0;12719::::1;::::0;7329:15;;12704:86:::1;::::0;12788:1:::1;::::0;12719:53:::1;::::0;12761:10;12719:37:::1;::::0;;;7340:4;12719:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;12704:86::-;12681:109;;12801:32;12836:66;12879:12;12836:24;12847:12;;12836:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:66::i;:::-;12801:101:::0;-1:-1:-1;12913:14:0::1;12930:36;:6:::0;12801:101;12930:10:::1;:36::i;:::-;12913:53:::0;-1:-1:-1;13002:21:0::1;13034:24;12913:53:::0;13034:16:::1;:24::i;:::-;13069:20;13092:41;:21;13118:14:::0;13092:25:::1;:41::i;:::-;13069:64;;13144:19;13166:48;13183:30;13200:12;;13183;:16;;:30;;;;:::i;:::-;13166:12:::0;;:16:::1;:48::i;:::-;13144:70;;13225:29;13257;13273:12;;13257:11;:15;;:29;;;;:::i;:::-;13225:61:::0;-1:-1:-1;13301:34:0;;13297:128:::1;;13352:61;13365:24;13391:21;13352:12;:61::i;:::-;13481:12;::::0;13435:20:::1;::::0;13458:36:::1;::::0;:18:::1;:11:::0;13474:1:::1;13458:15;:18::i;:36::-;13435:59:::0;-1:-1:-1;13509:16:0;;13505:96:::1;;13542:47;::::0;7630:42:::1;::::0;13542:47;::::1;;;::::0;13576:12;;13542:47:::1;::::0;;;13576:12;7630:42;13542:47;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13505:96;13638:21;13674:29:::0;;13670:107:::1;;13720:45;::::0;7528:42:::1;::::0;13720:45;::::1;;;::::0;13748:16;;13720:45:::1;::::0;;;13748:16;7528:42;13720:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;13670:107;-1:-1:-1::0;;7367:8:0;:16;;-1:-1:-1;;7367:16:0;;;-1:-1:-1;;;;;;;;12610:1174:0:o;15485:205::-;-1:-1:-1;;;;;15622:26:0;;15592:4;15622:26;;;:18;:26;;;;;;;;15621:27;:61;;;;-1:-1:-1;;;;;;;15653:29:0;;;;;:18;:29;;;;;;;;15652:30;;15485:205;-1:-1:-1;15485:205:0:o;15698:296::-;15841:4;;15799:7;;-1:-1:-1;;;;;15841:4:0;;;15828:17;;;;15824:64;;-1:-1:-1;15869:7:0;;15862:14;;15824:64;15912:4;;-1:-1:-1;;;;;15912:4:0;;;15902:14;;;;15898:60;;-1:-1:-1;15940:6:0;;15933:13;;15898:60;-1:-1:-1;15975:11:0;;15698:296;;;;:::o;663:98::-;721:7;748:5;752:1;748;:5;:::i;557:98::-;615:7;642:5;646:1;642;:5;:::i;14143:444::-;14233:16;;;14247:1;14233:16;;;;;;;;14209:21;;14233:16;;;;;;;;;;-1:-1:-1;14233:16:0;14209:40;;14278:4;14260;14265:1;14260:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14260:23:0;;;:7;;;;;;;;;;:23;;;;14304:6;;:13;;;-1:-1:-1;;;14304:13:0;;;;:6;;;;;:11;;:13;;;;;14260:7;;14304:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14294:4;14299:1;14294:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;14294:23:0;;;:7;;;;;;;;;:23;14360:6;;14328:53;;14345:4;;14360:6;14369:11;14328:8;:53::i;:::-;14392:6;;:187;;-1:-1:-1;;;14392:187:0;;-1:-1:-1;;;;;14392:6:0;;;;:57;;:187;;14464:11;;14392:6;;14506:4;;14533;;14553:15;;14392:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14198:389;14143:444;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:180::-;2959:6;3012:2;3000:9;2991:7;2987:23;2983:32;2980:52;;;3028:1;3025;3018:12;2980:52;-1:-1:-1;3051:23:1;;2900:180;-1:-1:-1;2900:180:1:o;3085:356::-;3287:2;3269:21;;;3306:18;;;3299:30;3365:34;3360:2;3345:18;;3338:62;3432:2;3417:18;;3085:356::o;4143:251::-;4213:6;4266:2;4254:9;4245:7;4241:23;4237:32;4234:52;;;4282:1;4279;4272:12;4234:52;4314:9;4308:16;4333:31;4358:5;4333:31;:::i;5927:127::-;5988:10;5983:3;5979:20;5976:1;5969:31;6019:4;6016:1;6009:15;6043:4;6040:1;6033:15;6059:128;6126:9;;;6147:11;;;6144:37;;;6161:18;;:::i;6804:306::-;6892:6;6900;6908;6961:2;6949:9;6940:7;6936:23;6932:32;6929:52;;;6977:1;6974;6967:12;6929:52;7006:9;7000:16;6990:26;;7056:2;7045:9;7041:18;7035:25;7025:35;;7100:2;7089:9;7085:18;7079:25;7069:35;;6804:306;;;;;:::o;9383:125::-;9448:9;;;9469:10;;;9466:36;;;9482:18;;:::i;9513:217::-;9553:1;9579;9569:132;;9623:10;9618:3;9614:20;9611:1;9604:31;9658:4;9655:1;9648:15;9686:4;9683:1;9676:15;9569:132;-1:-1:-1;9715:9:1;;9513:217::o;9735:168::-;9808:9;;;9839;;9856:15;;;9850:22;;9836:37;9826:71;;9877:18;;:::i;10040:127::-;10101:10;10096:3;10092:20;10089:1;10082:31;10132:4;10129:1;10122:15;10156:4;10153:1;10146:15;10172:980;10434:4;10482:3;10471:9;10467:19;10513:6;10502:9;10495:25;10539:2;10577:6;10572:2;10561:9;10557:18;10550:34;10620:3;10615:2;10604:9;10600:18;10593:31;10644:6;10679;10673:13;10710:6;10702;10695:22;10748:3;10737:9;10733:19;10726:26;;10787:2;10779:6;10775:15;10761:29;;10808:1;10818:195;10832:6;10829:1;10826:13;10818:195;;;10897:13;;-1:-1:-1;;;;;10893:39:1;10881:52;;10988:15;;;;10953:12;;;;10929:1;10847:9;10818:195;;;-1:-1:-1;;;;;;;11069:32:1;;;;11064:2;11049:18;;11042:60;-1:-1:-1;;;11133:3:1;11118:19;11111:35;11030:3;10172:980;-1:-1:-1;;;10172:980:1:o

Swarm Source

ipfs://e872d8d70b4125dfa385b5eebef5920fa47c15a03564fc68836c1818b965e5d9

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.