ETH Price: $2,061.58 (+3.50%)

Contract

0xc7dBe2DE82AA34c121faFA401b890c9A5f2C8c74
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve202875112024-07-12 2:42:11606 days ago1720752131IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000342977.36193877
Approve202875102024-07-12 2:41:59606 days ago1720752119IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000343737.37824569
Approve202875092024-07-12 2:41:47606 days ago1720752107IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000346297.43324646
Approve202875092024-07-12 2:41:47606 days ago1720752107IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000346297.43324646
Approve202875082024-07-12 2:41:35606 days ago1720752095IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000344717.39939575
Approve202875082024-07-12 2:41:35606 days ago1720752095IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000344717.39939575
Approve202875072024-07-12 2:41:23606 days ago1720752083IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000343977.38349259
Approve202875052024-07-12 2:40:59606 days ago1720752059IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325996.99760142
Approve202875052024-07-12 2:40:59606 days ago1720752059IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325996.99760142
Approve202875052024-07-12 2:40:59606 days ago1720752059IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325996.99760142
Approve202875032024-07-12 2:40:35606 days ago1720752035IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325386.98453209
Approve202875032024-07-12 2:40:35606 days ago1720752035IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325386.98453209
Approve202875032024-07-12 2:40:35606 days ago1720752035IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325386.98453209
Approve202875032024-07-12 2:40:35606 days ago1720752035IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325386.98453209
Approve202875032024-07-12 2:40:35606 days ago1720752035IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325386.98453209
Approve202875032024-07-12 2:40:35606 days ago1720752035IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000325386.98453209
Approve202875012024-07-12 2:40:11606 days ago1720752011IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000329527.07334564
Approve202875012024-07-12 2:40:11606 days ago1720752011IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000329527.07334564
Approve202875012024-07-12 2:40:11606 days ago1720752011IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000329527.07334564
Approve202875012024-07-12 2:40:11606 days ago1720752011IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000329527.07334564
Approve202874992024-07-12 2:39:47606 days ago1720751987IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000331397.11337092
Approve202874992024-07-12 2:39:47606 days ago1720751987IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000331397.11337092
Approve202874992024-07-12 2:39:47606 days ago1720751987IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000331397.11337092
Approve202874992024-07-12 2:39:47606 days ago1720751987IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000331397.11337092
Approve202874992024-07-12 2:39:47606 days ago1720751987IN
0xc7dBe2DE...A5f2C8c74
0 ETH0.000331397.11337092
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Sonka

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 2: Sonka.sol
// SPDX-License-Identifier: MIT
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 Sonka is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 10_000_000e18;
    uint256 private constant onePercent = 100_000e18;
    uint256 private constant minSwap = 2000e18;
    uint256 private constant maxWalletAmount = 300_000e18;

    uint256 private constant _delayBetweenTx = 120;
    mapping(address => uint256) private _previousTx;
    
    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 = 30_000e18;

    string private constant _name = "Sonka";
    string private constant _symbol = "SONKA";

    bool public limitsInEffect;

    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 = 0;
        sellTax = 0;

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

        marketingWallet = payable(0x401CbB8285cbfD39ED65D70528Fcf8183b9f4AD2);
        _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 addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

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

    function setLimit(uint256 amountLimit) external onlyOwner {
        maxTxAmount = amountLimit;
    }

    // do it after token is stable
    function removeAllLimits() external onlyOwner {
        limitsInEffect = false;
        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 > 0, "Min transfer amount");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch, max tx amount at exceeded"
            );

            if(limitsInEffect) {                                        
                // only when buy
                if (from == uniswapV2Pair) {
                    require(_previousTx[to] + _delayBetweenTx <= block.timestamp, "Protection: 120 sec/tx allowed");
                    _previousTx[to] = block.timestamp;                
                    require(amount + _balance[to] <= maxWalletAmount, "ERC20: maxWalletAmount is exceeded!");
                } 
                // sell, tr
                else {
                    require(_previousTx[from] + _delayBetweenTx <= block.timestamp, "Protection: 120 sec/tx allowed");
                    _previousTx[from] = block.timestamp;                   
                }
            }

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

        if (_tax != 0) {
            //Tax
            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            
            _balance[from] -= amount;
            _balance[to] += amount;            
            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

File 2 of 2: Sonka (1).sol
// SPDX-License-Identifier: MIT
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 Sonka is Context, IERC20, Ownable {
    uint256 private constant _totalSupply = 10_000_000e18;
    uint256 private constant onePercent = 100_000e18;
    uint256 private constant minSwap = 2000e18;
    uint256 private constant maxWalletAmount = 300_000e18;

    uint256 private constant _delayBetweenTx = 120;
    mapping(address => uint256) private _previousTx;
    
    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 = 30_000e18;

    string private constant _name = "Sonka";
    string private constant _symbol = "SONKA";

    bool public limitsInEffect;

    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 = 0;
        sellTax = 0;

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

        marketingWallet = payable(0x401CbB8285cbfD39ED65D70528Fcf8183b9f4AD2);
        _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 addExcludedWallet(address wallet) external onlyOwner {
        _isExcludedFromFeeWallet[wallet] = true;
    }

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

    function setLimit(uint256 amountLimit) external onlyOwner {
        maxTxAmount = amountLimit;
    }

    // do it after token is stable
    function removeAllLimits() external onlyOwner {
        limitsInEffect = false;
        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 > 0, "Min transfer amount");

        uint256 _tax;
        if (_isExcludedFromFeeWallet[from] || _isExcludedFromFeeWallet[to]) {
            _tax = 0;
        } else {
            
            require(
                launch != 0 && amount <= maxTxAmount,
                "Launch, max tx amount at exceeded"
            );

            if(limitsInEffect) {                                        
                // only when buy
                if (from == uniswapV2Pair) {
                    require(_previousTx[to] + _delayBetweenTx <= block.timestamp, "Protection: 120 sec/tx allowed");
                    _previousTx[to] = block.timestamp;                
                    require(amount + _balance[to] <= maxWalletAmount, "ERC20: maxWalletAmount is exceeded!");
                } 
                // sell, tr
                else {
                    require(_previousTx[from] + _delayBetweenTx <= block.timestamp, "Protection: 120 sec/tx allowed");
                    _previousTx[from] = block.timestamp;                   
                }
            }

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

        if (_tax != 0) {
            //Tax
            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            
            _balance[from] -= amount;
            _balance[to] += amount;            
            emit Transfer(from, to, amount);
        }
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"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":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"removeAllLimits","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":[{"internalType":"uint256","name":"amountLimit","type":"uint256"}],"name":"setLimit","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":"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"}]

61010060405269065a4da25d3016c000006007553480156200002057600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350737a250d5630b4cf539739df2c5dacb4c659f2488d6080819052604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620000b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000de91906200033c565b6001600160a01b031660c0816001600160a01b031681525050600060038190555060006004819055506080516001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000148573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200016e91906200033c565b60c0516040516364e329cb60e11b81523060048201526001600160a01b03918216602482015291169063c9c65396906044016020604051808303816000875af1158015620001c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e691906200033c565b6001600160a01b0390811660a05273401cbb8285cbfd39ed65d70528fcf8183b9f4ad260e0523360008181526009602090815260408083206a084595161401484a0000009055600b82527fda6ed8f5bdd443a7664a3f81465dadf67da9c094843ccf47c1faa4a9839ebd648054600160ff199182168117909255828520805482168317905530855282852080549091169091179055600a8083528184206080519096168085529583528184206000199081905594845282528083209483529381528382208390557fbacdc32a1dd0dff26af2a58f5850d761024b753ee365eded67a5370d22824ebe90529190912055620002dd3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a084595161401484a0000006040516200032e91815260200190565b60405180910390a36200036e565b6000602082840312156200034f57600080fd5b81516001600160a01b03811681146200036757600080fd5b9392505050565b60805160a05160c05160e0516112e7620003b66000396000610d7801526000610ceb01526000818161091d01528181610bb80152610bfa01526000610d4201526112e76000f3fe60806040526004361061012e5760003560e01c80638c0b5e22116100ab578063c9567bf91161006f578063c9567bf914610357578063cc1776d31461036c578063db05e5cb14610382578063dba9d42014610397578063dd62ed3e146103b7578063f2fde38b146103fd57600080fd5b80638c0b5e22146102ab5780638da5cb5b146102c15780639036ed4d146102e957806395d89b4114610309578063a9059cbb1461033757600080fd5b8063313ce567116100f2578063313ce567146102145780634a62bb65146102305780634f7041a51461024a57806370a0823114610260578063715018a61461029657600080fd5b806306fdde031461013a578063095ea7b31461017a57806318160ddd146101aa57806323b872dd146101d257806327ea6f2b146101f257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526005815264536f6e6b6160d81b60208201525b6040516101719190611020565b60405180910390f35b34801561018657600080fd5b5061019a61019536600461108a565b61041d565b6040519015158152602001610171565b3480156101b657600080fd5b506a084595161401484a0000005b604051908152602001610171565b3480156101de57600080fd5b5061019a6101ed3660046110b4565b610434565b3480156101fe57600080fd5b5061021261020d3660046110f0565b610486565b005b34801561022057600080fd5b5060405160128152602001610171565b34801561023c57600080fd5b5060085461019a9060ff1681565b34801561025657600080fd5b506101c460035481565b34801561026c57600080fd5b506101c461027b366004611109565b6001600160a01b031660009081526009602052604090205490565b3480156102a257600080fd5b506102126104be565b3480156102b757600080fd5b506101c460075481565b3480156102cd57600080fd5b506000546040516001600160a01b039091168152602001610171565b3480156102f557600080fd5b5061021261030436600461112b565b610532565b34801561031557600080fd5b50604080518082019091526005815264534f4e4b4160d81b6020820152610164565b34801561034357600080fd5b5061019a61035236600461108a565b610567565b34801561036357600080fd5b50610212610574565b34801561037857600080fd5b506101c460045481565b34801561038e57600080fd5b506102126105c1565b3480156103a357600080fd5b506102126103b2366004611109565b610606565b3480156103c357600080fd5b506101c46103d236600461114d565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561040957600080fd5b50610212610418366004611109565b610654565b600061042a33848461068a565b5060015b92915050565b60006104418484846107ae565b6001600160a01b0384166000908152600a602090815260408083203380855292529091205461047c918691610477908690611196565b61068a565b5060019392505050565b6000546001600160a01b031633146104b95760405162461bcd60e51b81526004016104b0906111a9565b60405180910390fd5b600755565b6000546001600160a01b031633146104e85760405162461bcd60e51b81526004016104b0906111a9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461055c5760405162461bcd60e51b81526004016104b0906111a9565b600391909155600455565b600061042a3384846107ae565b6000546001600160a01b0316331461059e5760405162461bcd60e51b81526004016104b0906111a9565b60058054600160ff19918216811790925560088054909116909117905543600655565b6000546001600160a01b031633146105eb5760405162461bcd60e51b81526004016104b0906111a9565b6008805460ff191690556a084595161401484a000000600755565b6000546001600160a01b031633146106305760405162461bcd60e51b81526004016104b0906111a9565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b0316331461067e5760405162461bcd60e51b81526004016104b0906111a9565b61068781610f60565b50565b6001600160a01b0383166106ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b0565b6001600160a01b03821661074d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b0565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108125760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b0565b600081116108585760405162461bcd60e51b8152602060048201526013602482015272135a5b881d1c985b9cd9995c88185b5bdd5b9d606a1b60448201526064016104b0565b6001600160a01b0383166000908152600b602052604081205460ff168061089757506001600160a01b0383166000908152600b602052604090205460ff165b156108a457506000610def565b60055460ff16158015906108ba57506007548211155b6109105760405162461bcd60e51b815260206004820152602160248201527f4c61756e63682c206d617820747820616d6f756e7420617420657863656564656044820152601960fa1b60648201526084016104b0565b60085460ff1615610af5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610a64576001600160a01b038316600090815260026020526040902054429061097b906078906111de565b11156109c95760405162461bcd60e51b815260206004820152601e60248201527f50726f74656374696f6e3a20313230207365632f747820616c6c6f776564000060448201526064016104b0565b6001600160a01b03831660009081526002602090815260408083204290556009909152902054693f870857a3e0e380000090610a0590846111de565b1115610a5f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a206d617857616c6c6574416d6f756e742069732065786365656460448201526265642160e81b60648201526084016104b0565b610af5565b6001600160a01b0384166000908152600260205260409020544290610a8b906078906111de565b1115610ad95760405162461bcd60e51b815260206004820152601e60248201527f50726f74656374696f6e3a20313230207365632f747820616c6c6f776564000060448201526064016104b0565b6001600160a01b03841660009081526002602052604090204290555b600554610100900460ff16600103610bb6576001600160a01b03841660009081526009602052604081208054849290610b2f908490611196565b90915550506001600160a01b03831660009081526009602052604081208054849290610b5c9084906111de565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ba891815260200190565b60405180910390a350505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031603610bf85750600354610def565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603610deb5730600090815260096020526040902054686c6b935b8bbd40000081118015610c615750600554610100900460ff16155b15610de15769152d02c7e14af6800000811115610c85575069152d02c7e14af68000005b6005805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610cc957610cc96111f1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610d1d57610d1d6111f1565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790610da290859060009086907f0000000000000000000000000000000000000000000000000000000000000000904290600401611207565b600060405180830381600087803b158015610dbc57600080fd5b505af1158015610dd0573d6000803e3d6000fd5b50506005805461ff00191690555050505b5050600454610def565b5060005b8015610f325760006064610e038385611278565b610e0d919061128f565b90506000610e1b8285611196565b6001600160a01b038716600090815260096020526040812080549293508692909190610e48908490611196565b90915550506001600160a01b03851660009081526009602052604081208054839290610e759084906111de565b90915550503060009081526009602052604081208054849290610e999084906111de565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f2391815260200190565b60405180910390a35050610f5a565b6001600160a01b03841660009081526009602052604081208054849290610b2f908490611196565b50505050565b6001600160a01b038116610fc55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104b0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208083528351808285015260005b8181101561104d57858101830151858201604001528201611031565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461108557600080fd5b919050565b6000806040838503121561109d57600080fd5b6110a68361106e565b946020939093013593505050565b6000806000606084860312156110c957600080fd5b6110d28461106e565b92506110e06020850161106e565b9150604084013590509250925092565b60006020828403121561110257600080fd5b5035919050565b60006020828403121561111b57600080fd5b6111248261106e565b9392505050565b6000806040838503121561113e57600080fd5b50508035926020909101359150565b6000806040838503121561116057600080fd5b6111698361106e565b91506111776020840161106e565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561042e5761042e611180565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561042e5761042e611180565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112575784516001600160a01b031683529383019391830191600101611232565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761042e5761042e611180565b6000826112ac57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212204f3a06c2ff230bc16c7ce9046c64eea430eba27b4d468ce80b9a3ead9641968464736f6c63430008120033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c80638c0b5e22116100ab578063c9567bf91161006f578063c9567bf914610357578063cc1776d31461036c578063db05e5cb14610382578063dba9d42014610397578063dd62ed3e146103b7578063f2fde38b146103fd57600080fd5b80638c0b5e22146102ab5780638da5cb5b146102c15780639036ed4d146102e957806395d89b4114610309578063a9059cbb1461033757600080fd5b8063313ce567116100f2578063313ce567146102145780634a62bb65146102305780634f7041a51461024a57806370a0823114610260578063715018a61461029657600080fd5b806306fdde031461013a578063095ea7b31461017a57806318160ddd146101aa57806323b872dd146101d257806327ea6f2b146101f257600080fd5b3661013557005b600080fd5b34801561014657600080fd5b50604080518082019091526005815264536f6e6b6160d81b60208201525b6040516101719190611020565b60405180910390f35b34801561018657600080fd5b5061019a61019536600461108a565b61041d565b6040519015158152602001610171565b3480156101b657600080fd5b506a084595161401484a0000005b604051908152602001610171565b3480156101de57600080fd5b5061019a6101ed3660046110b4565b610434565b3480156101fe57600080fd5b5061021261020d3660046110f0565b610486565b005b34801561022057600080fd5b5060405160128152602001610171565b34801561023c57600080fd5b5060085461019a9060ff1681565b34801561025657600080fd5b506101c460035481565b34801561026c57600080fd5b506101c461027b366004611109565b6001600160a01b031660009081526009602052604090205490565b3480156102a257600080fd5b506102126104be565b3480156102b757600080fd5b506101c460075481565b3480156102cd57600080fd5b506000546040516001600160a01b039091168152602001610171565b3480156102f557600080fd5b5061021261030436600461112b565b610532565b34801561031557600080fd5b50604080518082019091526005815264534f4e4b4160d81b6020820152610164565b34801561034357600080fd5b5061019a61035236600461108a565b610567565b34801561036357600080fd5b50610212610574565b34801561037857600080fd5b506101c460045481565b34801561038e57600080fd5b506102126105c1565b3480156103a357600080fd5b506102126103b2366004611109565b610606565b3480156103c357600080fd5b506101c46103d236600461114d565b6001600160a01b039182166000908152600a6020908152604080832093909416825291909152205490565b34801561040957600080fd5b50610212610418366004611109565b610654565b600061042a33848461068a565b5060015b92915050565b60006104418484846107ae565b6001600160a01b0384166000908152600a602090815260408083203380855292529091205461047c918691610477908690611196565b61068a565b5060019392505050565b6000546001600160a01b031633146104b95760405162461bcd60e51b81526004016104b0906111a9565b60405180910390fd5b600755565b6000546001600160a01b031633146104e85760405162461bcd60e51b81526004016104b0906111a9565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461055c5760405162461bcd60e51b81526004016104b0906111a9565b600391909155600455565b600061042a3384846107ae565b6000546001600160a01b0316331461059e5760405162461bcd60e51b81526004016104b0906111a9565b60058054600160ff19918216811790925560088054909116909117905543600655565b6000546001600160a01b031633146105eb5760405162461bcd60e51b81526004016104b0906111a9565b6008805460ff191690556a084595161401484a000000600755565b6000546001600160a01b031633146106305760405162461bcd60e51b81526004016104b0906111a9565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6000546001600160a01b0316331461067e5760405162461bcd60e51b81526004016104b0906111a9565b61068781610f60565b50565b6001600160a01b0383166106ec5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104b0565b6001600160a01b03821661074d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104b0565b6001600160a01b038381166000818152600a602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108125760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104b0565b600081116108585760405162461bcd60e51b8152602060048201526013602482015272135a5b881d1c985b9cd9995c88185b5bdd5b9d606a1b60448201526064016104b0565b6001600160a01b0383166000908152600b602052604081205460ff168061089757506001600160a01b0383166000908152600b602052604090205460ff165b156108a457506000610def565b60055460ff16158015906108ba57506007548211155b6109105760405162461bcd60e51b815260206004820152602160248201527f4c61756e63682c206d617820747820616d6f756e7420617420657863656564656044820152601960fa1b60648201526084016104b0565b60085460ff1615610af5577f000000000000000000000000885bd51778b990fe5bebb9c1a36b752c1fa05d6e6001600160a01b0316846001600160a01b031603610a64576001600160a01b038316600090815260026020526040902054429061097b906078906111de565b11156109c95760405162461bcd60e51b815260206004820152601e60248201527f50726f74656374696f6e3a20313230207365632f747820616c6c6f776564000060448201526064016104b0565b6001600160a01b03831660009081526002602090815260408083204290556009909152902054693f870857a3e0e380000090610a0590846111de565b1115610a5f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a206d617857616c6c6574416d6f756e742069732065786365656460448201526265642160e81b60648201526084016104b0565b610af5565b6001600160a01b0384166000908152600260205260409020544290610a8b906078906111de565b1115610ad95760405162461bcd60e51b815260206004820152601e60248201527f50726f74656374696f6e3a20313230207365632f747820616c6c6f776564000060448201526064016104b0565b6001600160a01b03841660009081526002602052604090204290555b600554610100900460ff16600103610bb6576001600160a01b03841660009081526009602052604081208054849290610b2f908490611196565b90915550506001600160a01b03831660009081526009602052604081208054849290610b5c9084906111de565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ba891815260200190565b60405180910390a350505050565b7f000000000000000000000000885bd51778b990fe5bebb9c1a36b752c1fa05d6e6001600160a01b0316846001600160a01b031603610bf85750600354610def565b7f000000000000000000000000885bd51778b990fe5bebb9c1a36b752c1fa05d6e6001600160a01b0316836001600160a01b031603610deb5730600090815260096020526040902054686c6b935b8bbd40000081118015610c615750600554610100900460ff16155b15610de15769152d02c7e14af6800000811115610c85575069152d02c7e14af68000005b6005805461ff0019166101001790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610cc957610cc96111f1565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610d1d57610d1d6111f1565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790610da290859060009086907f000000000000000000000000401cbb8285cbfd39ed65d70528fcf8183b9f4ad2904290600401611207565b600060405180830381600087803b158015610dbc57600080fd5b505af1158015610dd0573d6000803e3d6000fd5b50506005805461ff00191690555050505b5050600454610def565b5060005b8015610f325760006064610e038385611278565b610e0d919061128f565b90506000610e1b8285611196565b6001600160a01b038716600090815260096020526040812080549293508692909190610e48908490611196565b90915550506001600160a01b03851660009081526009602052604081208054839290610e759084906111de565b90915550503060009081526009602052604081208054849290610e999084906111de565b909155505060405182815230906001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f2391815260200190565b60405180910390a35050610f5a565b6001600160a01b03841660009081526009602052604081208054849290610b2f908490611196565b50505050565b6001600160a01b038116610fc55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104b0565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600060208083528351808285015260005b8181101561104d57858101830151858201604001528201611031565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461108557600080fd5b919050565b6000806040838503121561109d57600080fd5b6110a68361106e565b946020939093013593505050565b6000806000606084860312156110c957600080fd5b6110d28461106e565b92506110e06020850161106e565b9150604084013590509250925092565b60006020828403121561110257600080fd5b5035919050565b60006020828403121561111b57600080fd5b6111248261106e565b9392505050565b6000806040838503121561113e57600080fd5b50508035926020909101359150565b6000806040838503121561116057600080fd5b6111698361106e565b91506111776020840161106e565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561042e5761042e611180565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b8082018082111561042e5761042e611180565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112575784516001600160a01b031683529383019391830191600101611232565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761042e5761042e611180565b6000826112ac57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212204f3a06c2ff230bc16c7ce9046c64eea430eba27b4d468ce80b9a3ead9641968464736f6c63430008120033

Deployed Bytecode Sourcemap

2556:7732:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4616:81;;;;;;;;;;-1:-1:-1;4685:5:1;;;;;;;;;;;;-1:-1:-1;;;4685:5:1;;;;4616:81;;;;;;;:::i;:::-;;;;;;;;5488:186;;;;;;;;;;-1:-1:-1;5488:186:1;;;;;:::i;:::-;;:::i;:::-;;;1169:14:2;;1162:22;1144:41;;1132:2;1117:18;5488:186:1;1004:187:2;4881:98:1;;;;;;;;;;-1:-1:-1;2645:13:1;4881:98;;;1342:25:2;;;1330:2;1315:18;4881:98:1;1196:177:2;5680:338:1;;;;;;;;;;-1:-1:-1;5680:338:1;;;;;:::i;:::-;;:::i;6656:100::-;;;;;;;;;;-1:-1:-1;6656:100:1;;;;;:::i;:::-;;:::i;:::-;;4794:81;;;;;;;;;;-1:-1:-1;4794:81:1;;2971:2;2038:36:2;;2026:2;2011:18;4794:81:1;1896:184:2;3439:26:1;;;;;;;;;;-1:-1:-1;3439:26:1;;;;;;;;3149:21;;;;;;;;;;;;;;;;4985:116;;;;;;;;;;-1:-1:-1;4985:116:1;;;;;:::i;:::-;-1:-1:-1;;;;;5077:17:1;5051:7;5077:17;;;:8;:17;;;;;;;4985:116;1909:145;;;;;;;;;;;;;:::i;3301:38::-;;;;;;;;;;;;;;;;1326:77;;;;;;;;;;-1:-1:-1;1364:7:1;1390:6;1326:77;;-1:-1:-1;;;;;1390:6:1;;;2422:51:2;;2410:2;2395:18;1326:77:1;2276:203:2;6924:142:1;;;;;;;;;;-1:-1:-1;6924:142:1;;;;;:::i;:::-;;:::i;4703:85::-;;;;;;;;;;-1:-1:-1;4774:7:1;;;;;;;;;;;;-1:-1:-1;;;4774:7:1;;;;4703:85;;5107:192;;;;;;;;;;-1:-1:-1;5107:192:1;;;;;:::i;:::-;;:::i;6514:136::-;;;;;;;;;;;;;:::i;3176:22::-;;;;;;;;;;;;;;;;6797:121;;;;;;;;;;;;;:::i;6390:118::-;;;;;;;;;;-1:-1:-1;6390:118:1;;;;;:::i;:::-;;:::i;5305:177::-;;;;;;;;;;-1:-1:-1;5305:177:1;;;;;:::i;:::-;-1:-1:-1;;;;;5448:18:1;;;5418:7;5448:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5305:177;1531:107;;;;;;;;;;-1:-1:-1;1531:107:1;;;;;:::i;:::-;;:::i;5488:186::-;5587:4;5607:39;168:10;5630:7;5639:6;5607:8;:39::i;:::-;-1:-1:-1;5663:4:1;5488:186;;;;;:::o;5680:338::-;5808:4;5824:36;5834:6;5842:9;5853:6;5824:9;:36::i;:::-;-1:-1:-1;;;;;5938:19:1;;;;;;:11;:19;;;;;;;;168:10;5938:33;;;;;;;;;5870:120;;5892:6;;5938:42;;5974:6;;5938:42;:::i;:::-;5870:8;:120::i;:::-;-1:-1:-1;6007:4:1;5680:338;;;;;:::o;6656:100::-;1448:6;;-1:-1:-1;;;;;1448:6:1;168:10;1448:22;1440:67;;;;-1:-1:-1;;;1440:67:1;;;;;;;:::i;:::-;;;;;;;;;6724:11:::1;:25:::0;6656:100::o;1909:145::-;1448:6;;-1:-1:-1;;;;;1448:6:1;168:10;1448:22;1440:67;;;;-1:-1:-1;;;1440:67:1;;;;;;;:::i;:::-;2015:1:::1;1999:6:::0;;1978:40:::1;::::0;-1:-1:-1;;;;;1999:6:1;;::::1;::::0;1978:40:::1;::::0;2015:1;;1978:40:::1;2045:1;2028:19:::0;;-1:-1:-1;;;;;;2028:19:1::1;::::0;;1909:145::o;6924:142::-;1448:6;;-1:-1:-1;;;;;1448:6:1;168:10;1448:22;1440:67;;;;-1:-1:-1;;;1440:67:1;;;;;;;:::i;:::-;7011:6:::1;:18:::0;;;;7039:7:::1;:20:::0;6924:142::o;5107:192::-;5209:4;5229:42;168:10;5253:9;5264:6;5229:9;:42::i;6514:136::-;1448:6;;-1:-1:-1;;;;;1448:6:1;168:10;1448:22;1440:67;;;;-1:-1:-1;;;1440:67:1;;;;;;;:::i;:::-;6566:6:::1;:10:::0;;6575:1:::1;-1:-1:-1::0;;6566:10:1;;::::1;::::0;::::1;::::0;;;6586:14:::1;:21:::0;;;;::::1;::::0;;::::1;::::0;;6631:12:::1;6617:11;:26:::0;6514:136::o;6797:121::-;1448:6;;-1:-1:-1;;;;;1448:6:1;168:10;1448:22;1440:67;;;;-1:-1:-1;;;1440:67:1;;;;;;;:::i;:::-;6853:14:::1;:22:::0;;-1:-1:-1;;6853:22:1::1;::::0;;2645:13:::1;6885:11;:26:::0;6797:121::o;6390:118::-;1448:6;;-1:-1:-1;;;;;1448:6:1;168:10;1448:22;1440:67;;;;-1:-1:-1;;;1440:67:1;;;;;;;:::i;:::-;-1:-1:-1;;;;;6462:32:1::1;;::::0;;;:24:::1;:32;::::0;;;;:39;;-1:-1:-1;;6462:39:1::1;6497:4;6462:39;::::0;;6390:118::o;1531:107::-;1448:6;;-1:-1:-1;;;;;1448:6:1;168:10;1448:22;1440:67;;;;-1:-1:-1;;;1440:67:1;;;;;;;:::i;:::-;1603:28:::1;1622:8;1603:18;:28::i;:::-;1531:107:::0;:::o;6024:360::-;-1:-1:-1;;;;;6146:19:1;;6138:68;;;;-1:-1:-1;;;6138:68:1;;3830:2:2;6138:68:1;;;3812:21:2;3869:2;3849:18;;;3842:30;3908:34;3888:18;;;3881:62;-1:-1:-1;;;3959:18:2;;;3952:34;4003:19;;6138:68:1;3628:400:2;6138:68:1;-1:-1:-1;;;;;6224:21:1;;6216:68;;;;-1:-1:-1;;;6216:68:1;;4235:2:2;6216:68:1;;;4217:21:2;4274:2;4254:18;;;4247:30;4313:34;4293:18;;;4286:62;-1:-1:-1;;;4364:18:2;;;4357:32;4406:19;;6216:68:1;4033:398:2;6216:68:1;-1:-1:-1;;;;;6294:18:1;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6345:32;;1342:25:2;;;6345:32:1;;1315:18:2;6345:32:1;;;;;;;6024:360;;;:::o;7072:3179::-;-1:-1:-1;;;;;7189:18:1;;7181:68;;;;-1:-1:-1;;;7181:68:1;;4638:2:2;7181:68:1;;;4620:21:2;4677:2;4657:18;;;4650:30;4716:34;4696:18;;;4689:62;-1:-1:-1;;;4767:18:2;;;4760:35;4812:19;;7181:68:1;4436:401:2;7181:68:1;7276:1;7267:6;:10;7259:42;;;;-1:-1:-1;;;7259:42:1;;5044:2:2;7259:42:1;;;5026:21:2;5083:2;5063:18;;;5056:30;-1:-1:-1;;;5102:18:2;;;5095:49;5161:18;;7259:42:1;4842:343:2;7259:42:1;-1:-1:-1;;;;;7338:30:1;;7312:12;7338:30;;;:24;:30;;;;;;;;;:62;;-1:-1:-1;;;;;;7372:28:1;;;;;;:24;:28;;;;;;;;7338:62;7334:2320;;;-1:-1:-1;7423:1:1;7334:2320;;;7493:6;;;;:11;;;;:36;;;7518:11;;7508:6;:21;;7493:36;7468:128;;;;-1:-1:-1;;;7468:128:1;;5392:2:2;7468:128:1;;;5374:21:2;5431:2;5411:18;;;5404:30;5470:34;5450:18;;;5443:62;-1:-1:-1;;;5521:18:2;;;5514:31;5562:19;;7468:128:1;5190:397:2;7468:128:1;7614:14;;;;7611:733;;;7733:13;-1:-1:-1;;;;;7725:21:1;:4;-1:-1:-1;;;;;7725:21:1;;7721:609;;-1:-1:-1;;;;;7778:15:1;;;;;;:11;:15;;;;;;7815;;7778:33;;2869:3;;7778:33;:::i;:::-;:52;;7770:95;;;;-1:-1:-1;;;7770:95:1;;5924:2:2;7770:95:1;;;5906:21:2;5963:2;5943:18;;;5936:30;6002:32;5982:18;;;5975:60;6052:18;;7770:95:1;5722:354:2;7770:95:1;-1:-1:-1;;;;;7887:15:1;;;;;;:11;:15;;;;;;;;7905;7887:33;;7975:8;:12;;;;;;2809:10;;7966:21;;:6;:21;:::i;:::-;:40;;7958:88;;;;-1:-1:-1;;;7958:88:1;;6283:2:2;7958:88:1;;;6265:21:2;6322:2;6302:18;;;6295:30;6361:34;6341:18;;;6334:62;-1:-1:-1;;;6412:18:2;;;6405:33;6455:19;;7958:88:1;6081:399:2;7958:88:1;7721:609;;;-1:-1:-1;;;;;8146:17:1;;;;;;:11;:17;;;;;;8185:15;;8146:35;;2869:3;;8146:35;:::i;:::-;:54;;8138:97;;;;-1:-1:-1;;;8138:97:1;;5924:2:2;8138:97:1;;;5906:21:2;5963:2;5943:18;;;5936:30;6002:32;5982:18;;;5975:60;6052:18;;8138:97:1;5722:354:2;8138:97:1;-1:-1:-1;;;;;8257:17:1;;;;;;:11;:17;;;;;8277:15;8257:35;;7721:609;8362:16;;;;;;;;:21;8358:232;;-1:-1:-1;;;;;8437:14:1;;;;;;:8;:14;;;;;:24;;8455:6;;8437:14;:24;;8455:6;;8437:24;:::i;:::-;;;;-1:-1:-1;;;;;;;8479:12:1;;;;;;:8;:12;;;;;:22;;8495:6;;8479:12;:22;;8495:6;;8479:22;:::i;:::-;;;;;;;;8540:2;-1:-1:-1;;;;;8525:26:1;8534:4;-1:-1:-1;;;;;8525:26:1;;8544:6;8525:26;;;;1342:25:2;;1330:2;1315:18;;1196:177;8525:26:1;;;;;;;;8569:7;7072:3179;;;:::o;8358:232::-;8616:13;-1:-1:-1;;;;;8608:21:1;:4;-1:-1:-1;;;;;8608:21:1;;8604:1040;;-1:-1:-1;8656:6:1;;8604:1040;;;8693:13;-1:-1:-1;;;;;8687:19:1;:2;-1:-1:-1;;;;;8687:19:1;;8683:961;;8766:4;8726:20;8749:23;;;:8;:23;;;;;;2753:7;8794:22;;:47;;;;-1:-1:-1;8820:16:1;;;;;;;:21;8794:47;8790:761;;;2702:10;8869:12;:25;8865:105;;;-1:-1:-1;2702:10:1;8865:105;8991:16;:20;;-1:-1:-1;;8991:20:1;;;;;9057:16;;;9071:1;9057:16;;;;;;;;-1:-1:-1;;9057:16:1;;;;;;;;;;-1:-1:-1;9057:16:1;9033:40;;9113:4;9095;9100:1;9095:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;9095:23:1;;;-1:-1:-1;;;;;9095:23:1;;;;;9150:4;9140;9145:1;9140:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9140:14:1;;;:7;;;;;;;;;:14;9176:314;;-1:-1:-1;;;9176:314:1;;:15;:91;;;;;;:314;;9297:12;;9339:1;;9370:4;;9404:15;;9449;;9176:314;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9512:16:1;:20;;-1:-1:-1;;9512:20:1;;;-1:-1:-1;;;8790:761:1;-1:-1:-1;;9575:7:1;;8683:961;;;-1:-1:-1;9628:1:1;8683:961;9668:9;;9664:581;;9711:17;9749:3;9732:13;9741:4;9732:6;:13;:::i;:::-;9731:21;;;;:::i;:::-;9711:41;-1:-1:-1;9766:22:1;9791:18;9711:41;9791:6;:18;:::i;:::-;-1:-1:-1;;;;;9823:14:1;;;;;;:8;:14;;;;;:24;;9766:43;;-1:-1:-1;9841:6:1;;9823:14;;;:24;;9841:6;;9823:24;:::i;:::-;;;;-1:-1:-1;;;;;;;9861:12:1;;;;;;:8;:12;;;;;:30;;9877:14;;9861:12;:30;;9877:14;;9861:30;:::i;:::-;;;;-1:-1:-1;;9922:4:1;9905:23;;;;:8;:23;;;;;:36;;9932:9;;9905:23;:36;;9932:9;;9905:36;:::i;:::-;;;;-1:-1:-1;;9960:40:1;;1342:25:2;;;9983:4:1;;-1:-1:-1;;;;;9960:40:1;;;;;1330:2:2;1315:18;9960:40:1;;;;;;;10034:2;-1:-1:-1;;;;;10019:34:1;10028:4;-1:-1:-1;;;;;10019:34:1;;10038:14;10019:34;;;;1342:25:2;;1330:2;1315:18;;1196:177;10019:34:1;;;;;;;;9679:385;;9664:581;;;-1:-1:-1;;;;;10117:14:1;;;;;;:8;:14;;;;;:24;;10135:6;;10117:14;:24;;10135:6;;10117:24;:::i;9664:581::-;7171:3080;7072:3179;;;:::o;1644:259::-;-1:-1:-1;;;;;1730:22:1;;1709:107;;;;-1:-1:-1;;;1709:107:1;;8339:2:2;1709:107:1;;;8321:21:2;8378:2;8358:18;;;8351:30;8417:34;8397:18;;;8390:62;-1:-1:-1;;;8468:18:2;;;8461:36;8514:19;;1709:107:1;8137:402:2;1709:107:1;1852:6;;;1831:38;;-1:-1:-1;;;;;1831:38:1;;;;1852:6;;;1831:38;;;1879:6;:17;;-1:-1:-1;;;;;;1879:17:1;-1:-1:-1;;;;;1879:17:1;;;;;;;;;;1644:259::o;14:548:2:-;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:2;;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:2: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;1711:180::-;1770:6;1823:2;1811:9;1802:7;1798:23;1794:32;1791:52;;;1839:1;1836;1829:12;1791:52;-1:-1:-1;1862:23:2;;1711:180;-1:-1:-1;1711:180:2:o;2085:186::-;2144:6;2197:2;2185:9;2176:7;2172:23;2168:32;2165:52;;;2213:1;2210;2203:12;2165:52;2236:29;2255:9;2236:29;:::i;:::-;2226:39;2085:186;-1:-1:-1;;;2085:186:2:o;2484:248::-;2552:6;2560;2613:2;2601:9;2592:7;2588:23;2584:32;2581:52;;;2629:1;2626;2619:12;2581:52;-1:-1:-1;;2652:23:2;;;2722:2;2707:18;;;2694:32;;-1:-1:-1;2484:248:2:o;2737:260::-;2805:6;2813;2866:2;2854:9;2845:7;2841:23;2837:32;2834:52;;;2882:1;2879;2872:12;2834:52;2905:29;2924:9;2905:29;:::i;:::-;2895:39;;2953:38;2987:2;2976:9;2972:18;2953:38;:::i;:::-;2943:48;;2737:260;;;;;:::o;3002:127::-;3063:10;3058:3;3054:20;3051:1;3044:31;3094:4;3091:1;3084:15;3118:4;3115:1;3108:15;3134:128;3201:9;;;3222:11;;;3219:37;;;3236:18;;:::i;3267:356::-;3469:2;3451:21;;;3488:18;;;3481:30;3547:34;3542:2;3527:18;;3520:62;3614:2;3599:18;;3267:356::o;5592:125::-;5657:9;;;5678:10;;;5675:36;;;5691:18;;:::i;6617:127::-;6678:10;6673:3;6669:20;6666:1;6659:31;6709:4;6706:1;6699:15;6733:4;6730:1;6723:15;6749:988;7019:4;7067:3;7056:9;7052:19;7098:6;7087:9;7080:25;7124:2;7162:6;7157:2;7146:9;7142:18;7135:34;7205:3;7200:2;7189:9;7185:18;7178:31;7229:6;7264;7258:13;7295:6;7287;7280:22;7333:3;7322:9;7318:19;7311:26;;7372:2;7364:6;7360:15;7346:29;;7393:1;7403:195;7417:6;7414:1;7411:13;7403:195;;;7482:13;;-1:-1:-1;;;;;7478:39:2;7466:52;;7573:15;;;;7538:12;;;;7514:1;7432:9;7403:195;;;-1:-1:-1;;;;;;;7654:32:2;;;;7649:2;7634:18;;7627:60;-1:-1:-1;;;7718:3:2;7703:19;7696:35;7615:3;6749:988;-1:-1:-1;;;6749:988:2:o;7742:168::-;7815:9;;;7846;;7863:15;;;7857:22;;7843:37;7833:71;;7884:18;;:::i;7915:217::-;7955:1;7981;7971:132;;8025:10;8020:3;8016:20;8013:1;8006:31;8060:4;8057:1;8050:15;8088:4;8085:1;8078:15;7971:132;-1:-1:-1;8117:9:2;;7915:217::o

Swarm Source

ipfs://4f3a06c2ff230bc16c7ce9046c64eea430eba27b4d468ce80b9a3ead96419684

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.