ETH Price: $2,709.41 (+1.26%)

Contract

0xee3200F94a1A2345E6Cc486032a5Df1D50cb621c
 

Overview

ETH Balance

0.1709384097394933 ETH

Eth Value

$463.14 (@ $2,709.41/ETH)

More Info

Private Name Tags

TokenTracker

Transaction Hash
Method
Block
From
To
Approve218380572025-02-13 14:08:2334 hrs ago1739455703IN
ChartAI: Old CX Token
0 ETH0.00004291.63480617
Approve218298582025-02-12 10:37:232 days ago1739356643IN
ChartAI: Old CX Token
0 ETH0.000032811.3503457
Approve218286242025-02-12 6:26:352 days ago1739341595IN
ChartAI: Old CX Token
0 ETH0.000021990.83800564
Approve218285552025-02-12 6:12:352 days ago1739340755IN
ChartAI: Old CX Token
0 ETH0.000022360.85237641
Approve218231272025-02-11 11:57:113 days ago1739275031IN
ChartAI: Old CX Token
0 ETH0.000032031.22076982
Approve218230832025-02-11 11:48:233 days ago1739274503IN
ChartAI: Old CX Token
0 ETH0.000032511.23915611
Approve218225952025-02-11 10:10:233 days ago1739268623IN
ChartAI: Old CX Token
0 ETH0.000028281.07795535
Approve218224842025-02-11 9:48:113 days ago1739267291IN
ChartAI: Old CX Token
0 ETH0.000022550.85953677
Approve218222252025-02-11 8:55:473 days ago1739264147IN
ChartAI: Old CX Token
0 ETH0.000023560.89804988
Approve218134452025-02-10 3:30:594 days ago1739158259IN
ChartAI: Old CX Token
0 ETH0.000021010.80072779
Approve218084502025-02-09 10:46:595 days ago1739098019IN
ChartAI: Old CX Token
0 ETH0.000022130.84350362
Approve218081592025-02-09 9:48:355 days ago1739094515IN
ChartAI: Old CX Token
0 ETH0.000020570.78398381
Approve218078832025-02-09 8:52:355 days ago1739091155IN
ChartAI: Old CX Token
0 ETH0.00002510.95676054
Approve218078362025-02-09 8:43:115 days ago1739090591IN
ChartAI: Old CX Token
0 ETH0.000021180.80742711
Approve218077962025-02-09 8:35:115 days ago1739090111IN
ChartAI: Old CX Token
0 ETH0.000022760.86736285
Approve218076842025-02-09 8:12:355 days ago1739088755IN
ChartAI: Old CX Token
0 ETH0.000022960.87527255
Approve217802162025-02-05 12:12:599 days ago1738757579IN
ChartAI: Old CX Token
0 ETH0.000041471.71061633
Transfer216235972025-01-14 15:22:5931 days ago1736868179IN
ChartAI: Old CX Token
0 ETH0.000427611.04589074
Transfer216227912025-01-14 12:41:4731 days ago1736858507IN
ChartAI: Old CX Token
0 ETH0.000257946.62186747
Transfer216225352025-01-14 11:50:1131 days ago1736855411IN
ChartAI: Old CX Token
0 ETH0.000307595.07575156
Transfer216224792025-01-14 11:38:5931 days ago1736854739IN
ChartAI: Old CX Token
0 ETH0.000250634.48970379
Transfer216195692025-01-14 1:53:5931 days ago1736819639IN
ChartAI: Old CX Token
0 ETH0.000312295.5954483
Transfer216021542025-01-11 15:32:1134 days ago1736609531IN
ChartAI: Old CX Token
0 ETH0.000272844.88870825
Transfer215610742025-01-05 21:50:4740 days ago1736113847IN
ChartAI: Old CX Token
0 ETH0.000235896.96360866
Approve215274042025-01-01 5:03:5944 days ago1735707839IN
ChartAI: Old CX Token
0 ETH0.000096623.98566249
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ChartAI

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-08-28
*/

/**

     
Welcome to ChartAI - Unleash the Power of Data Visualization with our Ultimate Charting Bot.

Website: https://chartai.tech
Twitter: https://x.com/chartai_erc
Telegram: https://t.me/chartai_portal                                           //

**/

// SPDX-License-Identifier: Unlicensed

pragma solidity 0.8.18;

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

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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 transferOwnership(address newOwner) public onlyOwner {
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);
}

contract ChartAI is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 1_000_000_000e18;
    uint256 private constant onePercent = 10_000_000e18;
    uint256 private constant minSwap = 250_000e18;
    uint8 private constant _decimals = 18;

    IUniswapV2Router02 immutable uniswapV2Router;
    address immutable uniswapV2Pair;
    address immutable WETH;
    address payable immutable marketingWallet;

    uint256 public buyTax;
    uint256 public sellTax;

    uint8 private launch;
    uint8 private inSwapAndLiquify;

    uint256 private launchBlock;
    uint256 public maxTxAmount = onePercent; //max Tx for first mins after launch

    string private constant _name = "ChartAI";
    string private constant _symbol = "CX";

    mapping(address => uint256) private _balance;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFeeWallet;

    constructor() {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        WETH = uniswapV2Router.WETH();
        buyTax = 5;
        sellTax = 5;

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            WETH
        );

        marketingWallet = payable(0xCCCA95EBAF66002E0C2F4bc3B7D3F2c997609255);
        _balance[msg.sender] = _totalSupply;
        _isExcludedFromFeeWallet[marketingWallet] = true;
        _isExcludedFromFeeWallet[msg.sender] = true;
        _isExcludedFromFeeWallet[address(this)] = true;
        _allowances[address(this)][address(uniswapV2Router)] = type(uint256)
            .max;
        _allowances[msg.sender][address(uniswapV2Router)] = type(uint256).max;
        _allowances[marketingWallet][address(uniswapV2Router)] = type(uint256)
            .max;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()] - amount
        );
        return true;
    }

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

    function openTrading() external onlyOwner {
        launch = 1;
        launchBlock = block.number;
    }

    function addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
    }

    function changeTax(uint256 newBuyTax, uint256 newSellTax) external onlyOwner {
        buyTax = newBuyTax;
        sellTax = newSellTax;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 1e9, "Min transfer amt");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch / Max TxAmount 1% at launch"
            );

            if (inSwapAndLiquify == 1) {
                //No tax transfer
                _balance[from] -= amount;
                _balance[to] += amount;

                emit Transfer(from, to, amount);
                return;
            }

            if (from == uniswapV2Pair) {
                _tax = buyTax;
            } else if (to == uniswapV2Pair) {
                uint256 tokensToSwap = _balance[address(this)];
                if (tokensToSwap > minSwap && inSwapAndLiquify == 0) {
                    if (tokensToSwap > onePercent) {
                        tokensToSwap = onePercent;
                    }
                    inSwapAndLiquify = 1;
                    address[] memory path = new address[](2);
                    path[0] = address(this);
                    path[1] = WETH;
                    uniswapV2Router
                        .swapExactTokensForETHSupportingFeeOnTransferTokens(
                            tokensToSwap,
                            0,
                            path,
                            marketingWallet,
                            block.timestamp
                        );
                    inSwapAndLiquify = 0;
                }
                _tax = sellTax;
            } else {
                _tax = 0;
            }
        }

        //Is there tax for sender|receiver?
        if (_tax != 0) {
            //Tax transfer
            uint256 taxTokens = (amount * _tax) / 100;
            uint256 transferAmount = amount - taxTokens;

            _balance[from] -= amount;
            _balance[to] += transferAmount;
            _balance[address(this)] += taxTokens;
            emit Transfer(from, address(this), taxTokens);
            emit Transfer(from, to, transferAmount);
        } else {
            //No tax transfer
            _balance[from] -= amount;
            _balance[to] += amount;

            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

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":"wallet","type":"address"}],"name":"addExcludedWallet","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":"buyTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyTax","type":"uint256"},{"internalType":"uint256","name":"newSellTax","type":"uint256"}],"name":"changeTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6101006040526a084595161401484a0000006006553480156200002157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000330565b6001600160a01b0390811660c052600560028190556003556080516040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200013a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000160919062000330565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015620001b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d8919062000330565b6001600160a01b0390811660a05273ccca95ebaf66002e0c2f4bc3b7d3f2c99760925560e0523360008181526007602090815260408083206b033b2e3c9fd0803ce80000009055600982527fe1ebdd944a9bcd15f1c95e3831ce0b58e49a98f35414f45bb950b60435a00a718054600160ff19918216811790925582852080548216831790553085528285208054909116909117905560088083528184206080519096168085529583528184206000199081905594845282528083209483529381528382208390557ff9b4c10ccb1e8002296441db43fd441ef83e21292721dcf044ab847fc55a9b4e90529190912055620002d03390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b033b2e3c9fd0803ce80000006040516200032291815260200190565b60405180910390a362000362565b6000602082840312156200034357600080fd5b81516001600160a01b03811681146200035b57600080fd5b9392505050565b60805160a05160c05160e051611055620003a36000396000610aff01526000610a7201526000818161093c015261097e01526000610ac901526110556000f3fe6080604052600436106101185760003560e01c80638c0b5e22116100a0578063c9567bf911610064578063c9567bf91461031c578063cc1776d314610331578063dba9d42014610347578063dd62ed3e14610367578063f2fde38b146103ad57600080fd5b80638c0b5e22146102735780638da5cb5b146102895780639036ed4d146102b157806395d89b41146102d1578063a9059cbb146102fc57600080fd5b8063313ce567116100e7578063313ce567146101df5780634f7041a5146101fb57806370a0823114610211578063715018a614610247578063751039fc1461025e57600080fd5b806306fdde0314610124578063095ea7b31461016657806318160ddd1461019657806323b872dd146101bf57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506040805180820190915260078152664368617274414960c81b60208201525b60405161015d9190610da7565b60405180910390f35b34801561017257600080fd5b50610186610181366004610e11565b6103cd565b604051901515815260200161015d565b3480156101a257600080fd5b506b033b2e3c9fd0803ce80000005b60405190815260200161015d565b3480156101cb57600080fd5b506101866101da366004610e3b565b6103e4565b3480156101eb57600080fd5b506040516012815260200161015d565b34801561020757600080fd5b506101b160025481565b34801561021d57600080fd5b506101b161022c366004610e77565b6001600160a01b031660009081526007602052604090205490565b34801561025357600080fd5b5061025c610436565b005b34801561026a57600080fd5b5061025c6104b3565b34801561027f57600080fd5b506101b160065481565b34801561029557600080fd5b506000546040516001600160a01b03909116815260200161015d565b3480156102bd57600080fd5b5061025c6102cc366004610e99565b6104ef565b3480156102dd57600080fd5b50604080518082019091526002815261086b60f31b6020820152610150565b34801561030857600080fd5b50610186610317366004610e11565b610524565b34801561032857600080fd5b5061025c610531565b34801561033d57600080fd5b506101b160035481565b34801561035357600080fd5b5061025c610362366004610e77565b61056e565b34801561037357600080fd5b506101b1610382366004610ebb565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156103b957600080fd5b5061025c6103c8366004610e77565b6105bc565b60006103da3384846105f2565b5060015b92915050565b60006103f1848484610716565b6001600160a01b03841660009081526008602090815260408083203380855292529091205461042c918691610427908690610f04565b6105f2565b5060019392505050565b6000546001600160a01b031633146104695760405162461bcd60e51b815260040161046090610f17565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104dd5760405162461bcd60e51b815260040161046090610f17565b6b033b2e3c9fd0803ce8000000600655565b6000546001600160a01b031633146105195760405162461bcd60e51b815260040161046090610f17565b600291909155600355565b60006103da338484610716565b6000546001600160a01b0316331461055b5760405162461bcd60e51b815260040161046090610f17565b6004805460ff1916600117905543600555565b6000546001600160a01b031633146105985760405162461bcd60e51b815260040161046090610f17565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000546001600160a01b031633146105e65760405162461bcd60e51b815260040161046090610f17565b6105ef81610ce7565b50565b6001600160a01b0383166106545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610460565b6001600160a01b0382166106b55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610460565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661077a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610460565b633b9aca0081116107c05760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610460565b6001600160a01b03831660009081526009602052604081205460ff16806107ff57506001600160a01b03831660009081526009602052604090205460ff165b1561080c57506000610b76565b60045460ff161580159061082257506006548211155b6108795760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b6064820152608401610460565b600454610100900460ff1660010361093a576001600160a01b038416600090815260076020526040812080548492906108b3908490610f04565b90915550506001600160a01b038316600090815260076020526040812080548492906108e0908490610f4c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161092c91815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03160361097c5750600254610b76565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610b7257306000908152600760205260409020546934f086f3b33b68400000811180156109e65750600454610100900460ff16155b15610b68576a084595161401484a000000811115610a0c57506a084595161401484a0000005b6004805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610a5057610a50610f5f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610aa457610aa4610f5f565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790610b2990859060009086907f0000000000000000000000000000000000000000000000000000000000000000904290600401610f75565b600060405180830381600087803b158015610b4357600080fd5b505af1158015610b57573d6000803e3d6000fd5b50506004805461ff00191690555050505b5050600354610b76565b5060005b8015610cb95760006064610b8a8385610fe6565b610b949190610ffd565b90506000610ba28285610f04565b6001600160a01b038716600090815260076020526040812080549293508692909190610bcf908490610f04565b90915550506001600160a01b03851660009081526007602052604081208054839290610bfc908490610f4c565b90915550503060009081526007602052604081208054849290610c20908490610f4c565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610caa91815260200190565b60405180910390a35050610ce1565b6001600160a01b038416600090815260076020526040812080548492906108b3908490610f04565b50505050565b6001600160a01b038116610d4c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610460565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208083528351808285015260005b81811015610dd457858101830151858201604001528201610db8565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610e0c57600080fd5b919050565b60008060408385031215610e2457600080fd5b610e2d83610df5565b946020939093013593505050565b600080600060608486031215610e5057600080fd5b610e5984610df5565b9250610e6760208501610df5565b9150604084013590509250925092565b600060208284031215610e8957600080fd5b610e9282610df5565b9392505050565b60008060408385031215610eac57600080fd5b50508035926020909101359150565b60008060408385031215610ece57600080fd5b610ed783610df5565b9150610ee560208401610df5565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103de576103de610eee565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103de576103de610eee565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610fc55784516001600160a01b031683529383019391830191600101610fa0565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176103de576103de610eee565b60008261101a57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220612f5d84b49936d086b02274e94048725de8ebdd76819e00515ebb820208946364736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101185760003560e01c80638c0b5e22116100a0578063c9567bf911610064578063c9567bf91461031c578063cc1776d314610331578063dba9d42014610347578063dd62ed3e14610367578063f2fde38b146103ad57600080fd5b80638c0b5e22146102735780638da5cb5b146102895780639036ed4d146102b157806395d89b41146102d1578063a9059cbb146102fc57600080fd5b8063313ce567116100e7578063313ce567146101df5780634f7041a5146101fb57806370a0823114610211578063715018a614610247578063751039fc1461025e57600080fd5b806306fdde0314610124578063095ea7b31461016657806318160ddd1461019657806323b872dd146101bf57600080fd5b3661011f57005b600080fd5b34801561013057600080fd5b506040805180820190915260078152664368617274414960c81b60208201525b60405161015d9190610da7565b60405180910390f35b34801561017257600080fd5b50610186610181366004610e11565b6103cd565b604051901515815260200161015d565b3480156101a257600080fd5b506b033b2e3c9fd0803ce80000005b60405190815260200161015d565b3480156101cb57600080fd5b506101866101da366004610e3b565b6103e4565b3480156101eb57600080fd5b506040516012815260200161015d565b34801561020757600080fd5b506101b160025481565b34801561021d57600080fd5b506101b161022c366004610e77565b6001600160a01b031660009081526007602052604090205490565b34801561025357600080fd5b5061025c610436565b005b34801561026a57600080fd5b5061025c6104b3565b34801561027f57600080fd5b506101b160065481565b34801561029557600080fd5b506000546040516001600160a01b03909116815260200161015d565b3480156102bd57600080fd5b5061025c6102cc366004610e99565b6104ef565b3480156102dd57600080fd5b50604080518082019091526002815261086b60f31b6020820152610150565b34801561030857600080fd5b50610186610317366004610e11565b610524565b34801561032857600080fd5b5061025c610531565b34801561033d57600080fd5b506101b160035481565b34801561035357600080fd5b5061025c610362366004610e77565b61056e565b34801561037357600080fd5b506101b1610382366004610ebb565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b3480156103b957600080fd5b5061025c6103c8366004610e77565b6105bc565b60006103da3384846105f2565b5060015b92915050565b60006103f1848484610716565b6001600160a01b03841660009081526008602090815260408083203380855292529091205461042c918691610427908690610f04565b6105f2565b5060019392505050565b6000546001600160a01b031633146104695760405162461bcd60e51b815260040161046090610f17565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104dd5760405162461bcd60e51b815260040161046090610f17565b6b033b2e3c9fd0803ce8000000600655565b6000546001600160a01b031633146105195760405162461bcd60e51b815260040161046090610f17565b600291909155600355565b60006103da338484610716565b6000546001600160a01b0316331461055b5760405162461bcd60e51b815260040161046090610f17565b6004805460ff1916600117905543600555565b6000546001600160a01b031633146105985760405162461bcd60e51b815260040161046090610f17565b6001600160a01b03166000908152600960205260409020805460ff19166001179055565b6000546001600160a01b031633146105e65760405162461bcd60e51b815260040161046090610f17565b6105ef81610ce7565b50565b6001600160a01b0383166106545760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610460565b6001600160a01b0382166106b55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610460565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661077a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610460565b633b9aca0081116107c05760405162461bcd60e51b815260206004820152601060248201526f135a5b881d1c985b9cd9995c88185b5d60821b6044820152606401610460565b6001600160a01b03831660009081526009602052604081205460ff16806107ff57506001600160a01b03831660009081526009602052604090205460ff165b1561080c57506000610b76565b60045460ff161580159061082257506006548211155b6108795760405162461bcd60e51b815260206004820152602260248201527f4c61756e6368202f204d6178205478416d6f756e74203125206174206c61756e6044820152610c6d60f31b6064820152608401610460565b600454610100900460ff1660010361093a576001600160a01b038416600090815260076020526040812080548492906108b3908490610f04565b90915550506001600160a01b038316600090815260076020526040812080548492906108e0908490610f4c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161092c91815260200190565b60405180910390a350505050565b7f0000000000000000000000001b68a290d3d67cd8fb38c1412fbd56b6a33e5fe56001600160a01b0316846001600160a01b03160361097c5750600254610b76565b7f0000000000000000000000001b68a290d3d67cd8fb38c1412fbd56b6a33e5fe56001600160a01b0316836001600160a01b031603610b7257306000908152600760205260409020546934f086f3b33b68400000811180156109e65750600454610100900460ff16155b15610b68576a084595161401484a000000811115610a0c57506a084595161401484a0000005b6004805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610a5057610a50610f5f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610aa457610aa4610f5f565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790610b2990859060009086907f000000000000000000000000ccca95ebaf66002e0c2f4bc3b7d3f2c997609255904290600401610f75565b600060405180830381600087803b158015610b4357600080fd5b505af1158015610b57573d6000803e3d6000fd5b50506004805461ff00191690555050505b5050600354610b76565b5060005b8015610cb95760006064610b8a8385610fe6565b610b949190610ffd565b90506000610ba28285610f04565b6001600160a01b038716600090815260076020526040812080549293508692909190610bcf908490610f04565b90915550506001600160a01b03851660009081526007602052604081208054839290610bfc908490610f4c565b90915550503060009081526007602052604081208054849290610c20908490610f4c565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610caa91815260200190565b60405180910390a35050610ce1565b6001600160a01b038416600090815260076020526040812080548492906108b3908490610f04565b50505050565b6001600160a01b038116610d4c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610460565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208083528351808285015260005b81811015610dd457858101830151858201604001528201610db8565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610e0c57600080fd5b919050565b60008060408385031215610e2457600080fd5b610e2d83610df5565b946020939093013593505050565b600080600060608486031215610e5057600080fd5b610e5984610df5565b9250610e6760208501610df5565b9150604084013590509250925092565b600060208284031215610e8957600080fd5b610e9282610df5565b9392505050565b60008060408385031215610eac57600080fd5b50508035926020909101359150565b60008060408385031215610ece57600080fd5b610ed783610df5565b9150610ee560208401610df5565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103de576103de610eee565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b808201808211156103de576103de610eee565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610fc55784516001600160a01b031683529383019391830191600101610fa0565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176103de576103de610eee565b60008261101a57634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220612f5d84b49936d086b02274e94048725de8ebdd76819e00515ebb820208946364736f6c63430008120033

Deployed Bytecode Sourcemap

2936:6889:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4915:83;;;;;;;;;;-1:-1:-1;4985:5:0;;;;;;;;;;;;-1:-1:-1;;;4985:5:0;;;;4915:83;;;;;;;:::i;:::-;;;;;;;;5825:193;;;;;;;;;;-1:-1:-1;5825:193:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;5825:193:0;1004:187:1;5192:100:0;;;;;;;;;;-1:-1:-1;3028:16:0;5192:100;;;1342:25:1;;;1330:2;1315:18;5192:100:0;1196:177:1;6026:350:0;;;;;;;;;;-1:-1:-1;6026:350:0;;;;;:::i;:::-;;:::i;5101:83::-;;;;;;;;;;-1:-1:-1;5101:83:0;;3196:2;1853:36:1;;1841:2;1826:18;5101:83:0;1711:184:1;3375:21:0;;;;;;;;;;;;;;;;5300:118;;;;;;;;;;-1:-1:-1;5300:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;5393:17:0;5366:7;5393:17;;;:8;:17;;;;;;;5300:118;2263:148;;;;;;;;;;;;;:::i;:::-;;7005:88;;;;;;;;;;;;;:::i;3534:39::-;;;;;;;;;;;;;;;;1658:79;;;;;;;;;;-1:-1:-1;1696:7:0;1723:6;1658:79;;-1:-1:-1;;;;;1723:6:0;;;2237:51:1;;2225:2;2210:18;1658:79:0;2091:203:1;7101:145:0;;;;;;;;;;-1:-1:-1;7101:145:0;;;;;:::i;:::-;;:::i;5006:87::-;;;;;;;;;;-1:-1:-1;5078:7:0;;;;;;;;;;;;-1:-1:-1;;;5078:7:0;;;;5006:87;;5426:199;;;;;;;;;;-1:-1:-1;5426:199:0;;;;;:::i;:::-;;:::i;6761:108::-;;;;;;;;;;;;;:::i;3403:22::-;;;;;;;;;;;;;;;;6877:120;;;;;;;;;;-1:-1:-1;6877:120:0;;;;;:::i;:::-;;:::i;5633:184::-;;;;;;;;;;-1:-1:-1;5633:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;5782:18:0;;;5750:7;5782:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5633:184;1872:109;;;;;;;;;;-1:-1:-1;1872:109:0;;;;;:::i;:::-;;:::i;5825:193::-;5927:4;5949:39;452:10;5972:7;5981:6;5949:8;:39::i;:::-;-1:-1:-1;6006:4:0;5825:193;;;;;:::o;6026:350::-;6158:4;6175:36;6185:6;6193:9;6204:6;6175:9;:36::i;:::-;-1:-1:-1;;;;;6293:19:0;;;;;;:11;:19;;;;;;;;452:10;6293:33;;;;;;;;;6222:124;;6245:6;;6293:42;;6329:6;;6293:42;:::i;:::-;6222:8;:124::i;:::-;-1:-1:-1;6364:4:0;6026:350;;;;;:::o;2263:148::-;1785:6;;-1:-1:-1;;;;;1785:6:0;452:10;1785:22;1777:67;;;;-1:-1:-1;;;1777:67:0;;;;;;;:::i;:::-;;;;;;;;;2370:1:::1;2354:6:::0;;2333:40:::1;::::0;-1:-1:-1;;;;;2354:6:0;;::::1;::::0;2333:40:::1;::::0;2370:1;;2333:40:::1;2401:1;2384:19:::0;;-1:-1:-1;;;;;;2384:19:0::1;::::0;;2263:148::o;7005:88::-;1785:6;;-1:-1:-1;;;;;1785:6:0;452:10;1785:22;1777:67;;;;-1:-1:-1;;;1777:67:0;;;;;;;:::i;:::-;3028:16:::1;7059:11;:26:::0;7005:88::o;7101:145::-;1785:6;;-1:-1:-1;;;;;1785:6:0;452:10;1785:22;1777:67;;;;-1:-1:-1;;;1777:67:0;;;;;;;:::i;:::-;7189:6:::1;:18:::0;;;;7218:7:::1;:20:::0;7101:145::o;5426:199::-;5531:4;5553:42;452:10;5577:9;5588:6;5553:9;:42::i;6761:108::-;1785:6;;-1:-1:-1;;;;;1785:6:0;452:10;1785:22;1777:67;;;;-1:-1:-1;;;1777:67:0;;;;;;;:::i;:::-;6814:6:::1;:10:::0;;-1:-1:-1;;6814:10:0::1;6823:1;6814:10;::::0;;6849:12:::1;6835:11;:26:::0;6761:108::o;6877:120::-;1785:6;;-1:-1:-1;;;;;1785:6:0;452:10;1785:22;1777:67;;;;-1:-1:-1;;;1777:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;6950:32:0::1;;::::0;;;:24:::1;:32;::::0;;;;:39;;-1:-1:-1;;6950:39:0::1;6985:4;6950:39;::::0;;6877:120::o;1872:109::-;1785:6;;-1:-1:-1;;;;;1785:6:0;452:10;1785:22;1777:67;;;;-1:-1:-1;;;1777:67:0;;;;;;;:::i;:::-;1945:28:::1;1964:8;1945:18;:28::i;:::-;1872:109:::0;:::o;6384:369::-;-1:-1:-1;;;;;6511:19:0;;6503:68;;;;-1:-1:-1;;;6503:68:0;;3645:2:1;6503:68:0;;;3627:21:1;3684:2;3664:18;;;3657:30;3723:34;3703:18;;;3696:62;-1:-1:-1;;;3774:18:1;;;3767:34;3818:19;;6503:68:0;3443:400:1;6503:68:0;-1:-1:-1;;;;;6590:21:0;;6582:68;;;;-1:-1:-1;;;6582:68:0;;4050:2:1;6582:68:0;;;4032:21:1;4089:2;4069:18;;;4062:30;4128:34;4108:18;;;4101:62;-1:-1:-1;;;4179:18:1;;;4172:32;4221:19;;6582:68:0;3848:398:1;6582:68:0;-1:-1:-1;;;;;6661:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6713:32;;1342:25:1;;;6713:32:0;;1315:18:1;6713:32:0;;;;;;;6384:369;;;:::o;7254:2531::-;-1:-1:-1;;;;;7376:18:0;;7368:68;;;;-1:-1:-1;;;7368:68:0;;4453:2:1;7368:68:0;;;4435:21:1;4492:2;4472:18;;;4465:30;4531:34;4511:18;;;4504:62;-1:-1:-1;;;4582:18:1;;;4575:35;4627:19;;7368:68:0;4251:401:1;7368:68:0;7464:3;7455:6;:12;7447:41;;;;-1:-1:-1;;;7447:41:0;;4859:2:1;7447:41:0;;;4841:21:1;4898:2;4878:18;;;4871:30;-1:-1:-1;;;4917:18:1;;;4910:46;4973:18;;7447:41:0;4657:340:1;7447:41:0;-1:-1:-1;;;;;7528:30:0;;7501:12;7528:30;;;:24;:30;;;;;;;;;:62;;-1:-1:-1;;;;;;7562:28:0;;;;;;:24;:28;;;;;;;;7528:62;7524:1604;;;-1:-1:-1;7614:1:0;7524:1604;;;7674:6;;;;:11;;;;:36;;;7699:11;;7689:6;:21;;7674:36;7648:132;;;;-1:-1:-1;;;7648:132:0;;5204:2:1;7648:132:0;;;5186:21:1;5243:2;5223:18;;;5216:30;5282:34;5262:18;;;5255:62;-1:-1:-1;;;5333:18:1;;;5326:32;5375:19;;7648:132:0;5002:398:1;7648:132:0;7801:16;;;;;;;;:21;7797:239;;-1:-1:-1;;;;;7878:14:0;;;;;;:8;:14;;;;;:24;;7896:6;;7878:14;:24;;7896:6;;7878:24;:::i;:::-;;;;-1:-1:-1;;;;;;;7921:12:0;;;;;;:8;:12;;;;;:22;;7937:6;;7921:12;:22;;7937:6;;7921:22;:::i;:::-;;;;;;;;7984:2;-1:-1:-1;;;;;7969:26:0;7978:4;-1:-1:-1;;;;;7969:26:0;;7988:6;7969:26;;;;1342:25:1;;1330:2;1315:18;;1196:177;7969:26:0;;;;;;;;8014:7;7254:2531;;;:::o;7797:239::-;8064:13;-1:-1:-1;;;;;8056:21:0;:4;-1:-1:-1;;;;;8056:21:0;;8052:1065;;-1:-1:-1;8105:6:0;;8052:1065;;;8143:13;-1:-1:-1;;;;;8137:19:0;:2;-1:-1:-1;;;;;8137:19:0;;8133:984;;8217:4;8177:20;8200:23;;;:8;:23;;;;;;3144:10;8246:22;;:47;;;;-1:-1:-1;8272:16:0;;;;;;;:21;8246:47;8242:778;;;3089:13;8322:12;:25;8318:107;;;-1:-1:-1;3089:13:0;8318:107;8447:16;:20;;-1:-1:-1;;8447:20:0;;;;;8514:16;;;8528:1;8514:16;;;;;;;;-1:-1:-1;;8514:16:0;;;;;;;;;;-1:-1:-1;8514:16:0;8490:40;;8571:4;8553;8558:1;8553:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;8553:23:0;;;-1:-1:-1;;;;;8553:23:0;;;;;8609:4;8599;8604:1;8599:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8599:14:0;;;:7;;;;;;;;;:14;8636:321;;-1:-1:-1;;;8636:321:0;;:15;:92;;;;;;:321;;8759:12;;8802:1;;8834:4;;8869:15;;8915;;8636:321;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8980:16:0;:20;;-1:-1:-1;;8980:20:0;;;-1:-1:-1;;;8242:778:0;-1:-1:-1;;9045:7:0;;8133:984;;;-1:-1:-1;9100:1:0;8133:984;9189:9;;9185:593;;9243:17;9281:3;9264:13;9273:4;9264:6;:13;:::i;:::-;9263:21;;;;:::i;:::-;9243:41;-1:-1:-1;9299:22:0;9324:18;9243:41;9324:6;:18;:::i;:::-;-1:-1:-1;;;;;9359:14:0;;;;;;:8;:14;;;;;:24;;9299:43;;-1:-1:-1;9377:6:0;;9359:14;;;:24;;9377:6;;9359:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9398:12:0;;;;;;:8;:12;;;;;:30;;9414:14;;9398:12;:30;;9414:14;;9398:30;:::i;:::-;;;;-1:-1:-1;;9460:4:0;9443:23;;;;:8;:23;;;;;:36;;9470:9;;9443:23;:36;;9470:9;;9443:36;:::i;:::-;;;;-1:-1:-1;;9499:40:0;;1342:25:1;;;9522:4:0;;-1:-1:-1;;;;;9499:40:0;;;;;1330:2:1;1315:18;9499:40:0;;;;;;;9574:2;-1:-1:-1;;;;;9559:34:0;9568:4;-1:-1:-1;;;;;9559:34:0;;9578:14;9559:34;;;;1342:25:1;;1330:2;1315:18;;1196:177;9559:34:0;;;;;;;;9200:405;;9185:593;;;-1:-1:-1;;;;;9657:14:0;;;;;;:8;:14;;;;;:24;;9675:6;;9657:14;:24;;9675:6;;9657:24;:::i;9185:593::-;7357:2428;7254:2531;;;:::o;1989:266::-;-1:-1:-1;;;;;2077:22:0;;2055:110;;;;-1:-1:-1;;;2055:110:0;;7389:2:1;2055:110:0;;;7371:21:1;7428:2;7408:18;;;7401:30;7467:34;7447:18;;;7440:62;-1:-1:-1;;;7518:18:1;;;7511:36;7564:19;;2055:110:0;7187:402:1;2055:110:0;2202:6;;;2181:38;;-1:-1:-1;;;;;2181:38:0;;;;2202:6;;;2181:38;;;2230:6;:17;;-1:-1:-1;;;;;;2230:17:0;-1:-1:-1;;;;;2230:17:0;;;;;;;;;;1989:266::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:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:1:o;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2552:260::-;2620:6;2628;2681:2;2669:9;2660:7;2656:23;2652:32;2649:52;;;2697:1;2694;2687:12;2649:52;2720:29;2739:9;2720:29;:::i;:::-;2710:39;;2768:38;2802:2;2791:9;2787:18;2768:38;:::i;:::-;2758:48;;2552:260;;;;;:::o;2817:127::-;2878:10;2873:3;2869:20;2866:1;2859:31;2909:4;2906:1;2899:15;2933:4;2930:1;2923:15;2949:128;3016:9;;;3037:11;;;3034:37;;;3051:18;;:::i;3082:356::-;3284:2;3266:21;;;3303:18;;;3296:30;3362:34;3357:2;3342:18;;3335:62;3429:2;3414:18;;3082:356::o;5405:125::-;5470:9;;;5491:10;;;5488:36;;;5504:18;;:::i;5667:127::-;5728:10;5723:3;5719:20;5716:1;5709:31;5759:4;5756:1;5749:15;5783:4;5780:1;5773:15;5799:988;6069:4;6117:3;6106:9;6102:19;6148:6;6137:9;6130:25;6174:2;6212:6;6207:2;6196:9;6192:18;6185:34;6255:3;6250:2;6239:9;6235:18;6228:31;6279:6;6314;6308:13;6345:6;6337;6330:22;6383:3;6372:9;6368:19;6361:26;;6422:2;6414:6;6410:15;6396:29;;6443:1;6453:195;6467:6;6464:1;6461:13;6453:195;;;6532:13;;-1:-1:-1;;;;;6528:39:1;6516:52;;6623:15;;;;6588:12;;;;6564:1;6482:9;6453:195;;;-1:-1:-1;;;;;;;6704:32:1;;;;6699:2;6684:18;;6677:60;-1:-1:-1;;;6768:3:1;6753:19;6746:35;6665:3;5799:988;-1:-1:-1;;;5799:988:1:o;6792:168::-;6865:9;;;6896;;6913:15;;;6907:22;;6893:37;6883:71;;6934:18;;:::i;6965:217::-;7005:1;7031;7021:132;;7075:10;7070:3;7066:20;7063:1;7056:31;7110:4;7107:1;7100:15;7138:4;7135:1;7128:15;7021:132;-1:-1:-1;7167:9:1;;6965:217::o

Swarm Source

ipfs://612f5d84b49936d086b02274e94048725de8ebdd76819e00515ebb8202089463

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Introducing ChartAI: Where trends can shift in the blink of an eye, having access to accurate and real-time data is crucial for making informed decisions. Enter ChartAI, the cryptocurrency tool that harnesses the power of AI to bring you instant and personalized charting within your Telegram chat.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.