ETH Price: $3,456.71 (+1.12%)

Contract

0x3B9Ace8617Ef738f138a14A1C3AE77e605a223a2
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve200391972024-06-07 9:56:23200 days ago1717754183IN
0x3B9Ace86...605a223a2
0 ETH0.000568112.1160296
Approve200300582024-06-06 3:18:47201 days ago1717643927IN
0x3B9Ace86...605a223a2
0 ETH0.0005996912.70521229
Approve199914762024-05-31 18:02:47207 days ago1717178567IN
0x3B9Ace86...605a223a2
0 ETH0.000839417.78354863
Approve199910382024-05-31 16:34:59207 days ago1717173299IN
0x3B9Ace86...605a223a2
0 ETH0.0015327232.51354667
Approve199909982024-05-31 16:26:59207 days ago1717172819IN
0x3B9Ace86...605a223a2
0 ETH0.0012229725.90983365
Approve199909972024-05-31 16:26:47207 days ago1717172807IN
0x3B9Ace86...605a223a2
0 ETH0.001185325.1438493
Approve199909882024-05-31 16:24:59207 days ago1717172699IN
0x3B9Ace86...605a223a2
0 ETH0.0014139729.99454637
Approve199909872024-05-31 16:24:47207 days ago1717172687IN
0x3B9Ace86...605a223a2
0 ETH0.0012007525.4716051
Approve199909782024-05-31 16:22:59207 days ago1717172579IN
0x3B9Ace86...605a223a2
0 ETH0.001311227.98544108
Approve199909722024-05-31 16:21:47207 days ago1717172507IN
0x3B9Ace86...605a223a2
0 ETH0.0014020829.70449282
Approve199909692024-05-31 16:21:11207 days ago1717172471IN
0x3B9Ace86...605a223a2
0 ETH0.0012984227.71271885
Approve199909692024-05-31 16:21:11207 days ago1717172471IN
0x3B9Ace86...605a223a2
0 ETH0.0013514528.66845421
Approve199909672024-05-31 16:20:47207 days ago1717172447IN
0x3B9Ace86...605a223a2
0 ETH0.001272526.99352988
Approve199909582024-05-31 16:18:59207 days ago1717172339IN
0x3B9Ace86...605a223a2
0 ETH0.0012082425.59777358
Transfer199909502024-05-31 16:17:23207 days ago1717172243IN
0x3B9Ace86...605a223a2
0 ETH0.0013414526.10388694
Transfer199909492024-05-31 16:17:11207 days ago1717172231IN
0x3B9Ace86...605a223a2
0 ETH0.0016959924.7673961
Approve199909412024-05-31 16:15:35207 days ago1717172135IN
0x3B9Ace86...605a223a2
0 ETH0.001383229.30457575
Approve199909402024-05-31 16:15:23207 days ago1717172123IN
0x3B9Ace86...605a223a2
0 ETH0.0013793429.22282565
Transfer199909362024-05-31 16:14:35207 days ago1717172075IN
0x3B9Ace86...605a223a2
0 ETH0.0015042829.27247708
Transfer199909352024-05-31 16:14:23207 days ago1717172063IN
0x3B9Ace86...605a223a2
0 ETH0.0017529225.5987512
Approve199909322024-05-31 16:13:47207 days ago1717172027IN
0x3B9Ace86...605a223a2
0 ETH0.0014789131.33223442
Approve199909302024-05-31 16:13:23207 days ago1717172003IN
0x3B9Ace86...605a223a2
0 ETH0.0015482532.80137887
Approve199909282024-05-31 16:12:59207 days ago1717171979IN
0x3B9Ace86...605a223a2
0 ETH0.0015854333.58903603
Approve199909282024-05-31 16:12:59207 days ago1717171979IN
0x3B9Ace86...605a223a2
0 ETH0.0015854333.58903603
Approve199909272024-05-31 16:12:47207 days ago1717171967IN
0x3B9Ace86...605a223a2
0 ETH0.001540732.6413028
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
201030972024-06-16 8:16:11191 days ago1718525771
0x3B9Ace86...605a223a2
0.00050196 ETH
201030972024-06-16 8:16:11191 days ago1718525771
0x3B9Ace86...605a223a2
0.00953735 ETH
201030972024-06-16 8:16:11191 days ago1718525771
0x3B9Ace86...605a223a2
0.01003932 ETH
200392132024-06-07 9:59:35200 days ago1717754375
0x3B9Ace86...605a223a2
0.00052679 ETH
200392132024-06-07 9:59:35200 days ago1717754375
0x3B9Ace86...605a223a2
0.01000912 ETH
200392132024-06-07 9:59:35200 days ago1717754375
0x3B9Ace86...605a223a2
0.01053592 ETH
199969282024-06-01 12:20:23206 days ago1717244423
0x3B9Ace86...605a223a2
0.00053751 ETH
199969282024-06-01 12:20:23206 days ago1717244423
0x3B9Ace86...605a223a2
0.01021275 ETH
199969282024-06-01 12:20:23206 days ago1717244423
0x3B9Ace86...605a223a2
0.01075026 ETH
199922782024-05-31 20:44:23207 days ago1717188263
0x3B9Ace86...605a223a2
0.00055498 ETH
199922782024-05-31 20:44:23207 days ago1717188263
0x3B9Ace86...605a223a2
0.01054479 ETH
199922782024-05-31 20:44:23207 days ago1717188263
0x3B9Ace86...605a223a2
0.01109978 ETH
199916632024-05-31 18:40:35207 days ago1717180835
0x3B9Ace86...605a223a2
0.00057107 ETH
199916632024-05-31 18:40:35207 days ago1717180835
0x3B9Ace86...605a223a2
0.01085034 ETH
199916632024-05-31 18:40:35207 days ago1717180835
0x3B9Ace86...605a223a2
0.01142141 ETH
199914782024-05-31 18:03:11207 days ago1717178591
0x3B9Ace86...605a223a2
0.00061441 ETH
199914782024-05-31 18:03:11207 days ago1717178591
0x3B9Ace86...605a223a2
0.0116738 ETH
199914782024-05-31 18:03:11207 days ago1717178591
0x3B9Ace86...605a223a2
0.01228821 ETH
199913122024-05-31 17:29:47207 days ago1717176587
0x3B9Ace86...605a223a2
0.00064663 ETH
199913122024-05-31 17:29:47207 days ago1717176587
0x3B9Ace86...605a223a2
0.0122861 ETH
199913122024-05-31 17:29:47207 days ago1717176587
0x3B9Ace86...605a223a2
0.01293274 ETH
199911912024-05-31 17:05:35207 days ago1717175135
0x3B9Ace86...605a223a2
0.00067031 ETH
199911912024-05-31 17:05:35207 days ago1717175135
0x3B9Ace86...605a223a2
0.01273605 ETH
199911912024-05-31 17:05:35207 days ago1717175135
0x3B9Ace86...605a223a2
0.01340637 ETH
199911422024-05-31 16:55:47207 days ago1717174547
0x3B9Ace86...605a223a2
0.00068468 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BUNDLE

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-31
*/

// SPDX-License-Identifier: MIT

/*
    Bundle Tools - $BUNDLE is an Ethereum-based token, powered by @The_Briber_Bot. Briber Bot is a cutting-edge Telegram bot that simplifies and revolutionizes token launches for developers and snipers. Supporting Ethereum, Base, and Solana (Beta), it eliminates high bribes and complex processes. With Briber Bot, enjoy fair, low-cost, and efficient token launches. Join us to elevate your launch experience with confidence and ease.

    Simulate bundler spends
    Revenue Share
    Launch fast and safe
    Control Supply 
    Manage project efficiently
    Avoid high tips 
    Create community bundles 
    Bundle multiple chains 
    Scan new listings on Bundle Tools ecosystem 
    Pro Dev Support 24/7

    Website : https://bundletools.net
    Telegram: https://t.me/BundleToolsPortal
    Twitter : https://x.com/THEBUNDLETOOLS
    Guide: https://bundle-tools.gitbook.io/briber_bot
    Bot : @The_Briber_Bot
    Support : https://t.me/DrBribe
*/

pragma solidity ^0.8.22;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from,
        address to,
        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);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;

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

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

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

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        address owner = _msgSender();
        _transfer(owner, to, amount);
        return true;
    }

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

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

    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(from, spender, amount);
        _transfer(from, to, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, _allowances[owner][spender] + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = _allowances[owner][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        unchecked {
            _approve(owner, spender, currentAllowance - subtractedValue);
        }

        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _beforeTokenTransfer(from, to, amount);

        uint256 fromBalance = _balances[from];
        require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[from] = fromBalance - amount;
        }
        _balances[to] += amount;

        emit Transfer(from, to, amount);

        _afterTokenTransfer(from, to, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _beforeTokenTransfer(address(0), account, amount);

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);

        _afterTokenTransfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
        }
        _totalSupply -= amount;

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

        _afterTokenTransfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _spendAllowance(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount, "ERC20: insufficient allowance");
            unchecked {
                _approve(owner, spender, currentAllowance - amount);
            }
        }
    }

    function _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}

    function _afterTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {}
}

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

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

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

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

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

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

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

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

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

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

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
        function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract BUNDLE is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 private constant _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    address public uniV2PairAddress;
    address public immutable feeRecipient;

    uint256 public swapThresholdAmount;
    uint256 private _contractSwapMax = 3;
    uint256 private _contractSwapMin = 7;
    mapping(uint256 => uint256) private _swapBlocks;

    uint256 public swapFee;
    uint256 public swapBackFee;

    bool private _inSwap;
    mapping (address => bool) private _excludedLimits;

    event FeeSwap(uint256 indexed value);

    constructor() ERC20("Bundle Tools", "BUNDLE") payable {
        uint256 totalSupply = 1000000000 * 1e18;
        uint256 lpSupply = totalSupply.mul(80).div(100);
        uint256 caSupply = totalSupply.mul(17).div(100);

        swapThresholdAmount = totalSupply.mul(5).div(1000);

        feeRecipient = 0x6de9706047B0d09fa05f95f815b20d11603632B2;

        swapFee = 5;
        swapBackFee = 5;

        _excludedLimits[feeRecipient] = true;
        _excludedLimits[msg.sender] = true;
        _excludedLimits[tx.origin] = true;
        _excludedLimits[address(this)] = true;
        _excludedLimits[address(0xdead)] = true;

        _mint(address(this), caSupply);
        _mint(tx.origin, totalSupply.sub(lpSupply).sub(caSupply));

        _mint(msg.sender, lpSupply);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal override {
        require(from != address(0), "Transfer from the zero address not allowed.");
        require(to != address(0), "Transfer to the zero address not allowed.");
        require(amount > 0, 'Transfer amount must be greater than zero.');

        bool excluded = _excludedLimits[from] || _excludedLimits[to];
        require(uniV2PairAddress != address(0) || excluded, "Liquidity pair not yet created.");

        bool isSell = to == uniV2PairAddress;
        bool isBuy = from == uniV2PairAddress;

        if (
          balanceOf(address(this)) >= swapThresholdAmount &&
          !_inSwap &&
          isSell &&
          !excluded && shouldSwapBack(amount)
        ) {
            _inSwap = true;
            _swapTokenFee();
            _inSwap = false;
        }

        uint256 fee = isBuy ? swapFee : swapBackFee;

        if (fee > 0) {
            if (!excluded && !_inSwap && (isBuy || isSell)) {
                uint256 fees = amount.mul(fee).div(100);

                if (fees > 0)
                    super._transfer(from, address(this), fees);

                amount = amount.sub(fees);
            }
        }

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

    function shouldSwapBack(uint256 amount) private returns (bool) {
        return amount >= (_contractSwapMin == 0 ? 0 : swapThresholdAmount / _contractSwapMin) && _swapBlocks[block.number]++ < 2;
      }

    function _swapTokenFee() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) return;
        if (contractBalance > swapThresholdAmount) contractBalance = swapThresholdAmount;

        uint256 initETHBal = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _router.WETH();

        _approve(address(this), address(_router), contractBalance);

        _router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractBalance,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 ethFee = address(this).balance.sub(initETHBal);
        uint256 splitFee = ethFee.mul(5).div(100);

        ethFee = ethFee.sub(splitFee);
        payable(feeRecipient).transfer(ethFee);
        payable(0x3cA2c6efbBd74A2E4C4Cc2E9f03c9DFE42367eD7).transfer(splitFee);

        emit FeeSwap(splitFee);
    }

    function startTrading() external onlyOwner {
        uniV2PairAddress = IUniswapV2Factory(_router.factory()).getPair(address(this), _router.WETH());
    }

    function updateFeeThreshold(uint256 newThreshold) external onlyOwner {
        require(newThreshold >= totalSupply().mul(1).div(100000), "Swap threshold cannot be lower than 0.001% total supply.");
        require(newThreshold <= totalSupply().mul(2).div(100), "Swap threshold cannot be higher than 2% total supply.");
        swapThresholdAmount = newThreshold;
    }

    function updateFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner {
        require(newBuyFee <= 5 && newSellFee <= 5, 'Attempting to set fee higher than initial fee.'); // smaller than or equal to initial fee
        swapFee = newBuyFee;
        swapBackFee = newSellFee;
    }

    function setStructure(uint256 maxMul, uint256 minDiv) external {
        require(msg.sender == feeRecipient);
        require(maxMul <= 4 && minDiv != 0);
        _contractSwapMax = maxMul;
        _contractSwapMin = minDiv;
    }

    function transferStuckETH() external onlyOwner {
        payable(feeRecipient).transfer(address(this).balance);
    }

    function transferStuckERC20(IERC20 token) external onlyOwner {
        token.transfer(feeRecipient, token.balanceOf(address(this)));
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":"uint256","name":"value","type":"uint256"}],"name":"FeeSwap","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeRecipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxMul","type":"uint256"},{"internalType":"uint256","name":"minDiv","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapBackFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThresholdAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"transferStuckERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniV2PairAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newThreshold","type":"uint256"}],"name":"updateFeeThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"updateFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60a0604052600360085560076009556040518060400160405280600c81526020017f42756e646c6520546f6f6c7300000000000000000000000000000000000000008152506040518060400160405280600681526020017f42554e444c45000000000000000000000000000000000000000000000000000081525081600390816200008b9190620008b7565b5080600490816200009d9190620008b7565b505050620000c0620000b4620003ca60201b60201c565b620003d160201b60201c565b5f6b033b2e3c9fd0803ce800000090505f620000fc6064620000ed6050856200049460201b90919060201c565b620004ab60201b90919060201c565b90505f6200012a60646200011b6011866200049460201b90919060201c565b620004ab60201b90919060201c565b9050620001586103e8620001496005866200049460201b90919060201c565b620004ab60201b90919060201c565b600781905550736de9706047b0d09fa05f95f815b20d11603632b273ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250506005600b819055506005600c819055506001600e5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600e5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620003753082620004c260201b60201c565b620003af32620003a3836200039486886200063260201b90919060201c565b6200063260201b90919060201c565b620004c260201b60201c565b620003c13383620004c260201b60201c565b50505062000b94565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8183620004a39190620009c8565b905092915050565b5f8183620004ba919062000a3f565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000533576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200052a9062000ad4565b60405180910390fd5b620005465f83836200064960201b60201c565b8060025f82825462000559919062000af4565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254620005ad919062000af4565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000613919062000b3f565b60405180910390a36200062e5f83836200064e60201b60201c565b5050565b5f818362000641919062000b5a565b905092915050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620006cf57607f821691505b602082108103620006e557620006e46200068a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620007497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200070c565b6200075586836200070c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200079f6200079962000793846200076d565b62000776565b6200076d565b9050919050565b5f819050919050565b620007ba836200077f565b620007d2620007c982620007a6565b84845462000718565b825550505050565b5f90565b620007e8620007da565b620007f5818484620007af565b505050565b5b818110156200081c57620008105f82620007de565b600181019050620007fb565b5050565b601f8211156200086b576200083581620006eb565b6200084084620006fd565b8101602085101562000850578190505b620008686200085f85620006fd565b830182620007fa565b50505b505050565b5f82821c905092915050565b5f6200088d5f198460080262000870565b1980831691505092915050565b5f620008a783836200087c565b9150826002028217905092915050565b620008c28262000653565b67ffffffffffffffff811115620008de57620008dd6200065d565b5b620008ea8254620006b7565b620008f782828562000820565b5f60209050601f8311600181146200092d575f841562000918578287015190505b6200092485826200089a565b86555062000993565b601f1984166200093d86620006eb565b5f5b8281101562000966578489015182556001820191506020850194506020810190506200093f565b8683101562000986578489015162000982601f8916826200087c565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620009d4826200076d565b9150620009e1836200076d565b9250828202620009f1816200076d565b9150828204841483151762000a0b5762000a0a6200099b565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000a4b826200076d565b915062000a58836200076d565b92508262000a6b5762000a6a62000a12565b5b828204905092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000abc601f8362000a76565b915062000ac98262000a86565b602082019050919050565b5f6020820190508181035f83015262000aed8162000aae565b9050919050565b5f62000b00826200076d565b915062000b0d836200076d565b925082820190508082111562000b285762000b276200099b565b5b92915050565b62000b39816200076d565b82525050565b5f60208201905062000b545f83018462000b2e565b92915050565b5f62000b66826200076d565b915062000b73836200076d565b925082820390508181111562000b8e5762000b8d6200099b565b5b92915050565b60805161321362000bc95f395f81816106ff01528181610a7701528181610ccc015281816111350152611d9301526132135ff3fe608060405260043610610169575f3560e01c8063578878b4116100d057806395d89b4111610089578063d0aa7abe11610063578063d0aa7abe14610510578063d18afa851461053a578063dd62ed3e14610562578063f2fde38b1461059e57610170565b806395d89b411461046e578063a457c2d714610498578063a9059cbb146104d457610170565b8063578878b41461037a57806362aaff3a146103a25780636db79437146103ca57806370a08231146103f2578063715018a61461042e5780638da5cb5b1461044457610170565b8063313ce56711610122578063313ce5671461026c578063395093511461029657806346904840146102d257806353945d7b146102fc57806354c35c281461032657806354cf2aeb1461035057610170565b806306fdde0314610174578063095ea7b31461019e57806318160ddd146101da5780631fac6a3b1461020457806323b872dd1461021a578063293230b81461025657610170565b3661017057005b5f80fd5b34801561017f575f80fd5b506101886105c6565b60405161019591906121a0565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf9190612251565b610656565b6040516101d191906122a9565b60405180910390f35b3480156101e5575f80fd5b506101ee610678565b6040516101fb91906122d1565b60405180910390f35b34801561020f575f80fd5b50610218610681565b005b348015610225575f80fd5b50610240600480360381019061023b91906122ea565b610763565b60405161024d91906122a9565b60405180910390f35b348015610261575f80fd5b5061026a610791565b005b348015610277575f80fd5b506102806109c8565b60405161028d9190612355565b60405180910390f35b3480156102a1575f80fd5b506102bc60048036038101906102b79190612251565b6109d0565b6040516102c991906122a9565b60405180910390f35b3480156102dd575f80fd5b506102e6610a75565b6040516102f3919061237d565b60405180910390f35b348015610307575f80fd5b50610310610a99565b60405161031d919061237d565b60405180910390f35b348015610331575f80fd5b5061033a610abe565b60405161034791906122d1565b60405180910390f35b34801561035b575f80fd5b50610364610ac4565b60405161037191906122d1565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190612396565b610aca565b005b3480156103ad575f80fd5b506103c860048036038101906103c391906123fc565b610c32565b005b3480156103d5575f80fd5b506103f060048036038101906103eb9190612427565b610dc4565b005b3480156103fd575f80fd5b5061041860048036038101906104139190612465565b610ea3565b60405161042591906122d1565b60405180910390f35b348015610439575f80fd5b50610442610ee8565b005b34801561044f575f80fd5b50610458610f6f565b604051610465919061237d565b60405180910390f35b348015610479575f80fd5b50610482610f97565b60405161048f91906121a0565b60405180910390f35b3480156104a3575f80fd5b506104be60048036038101906104b99190612251565b611027565b6040516104cb91906122a9565b60405180910390f35b3480156104df575f80fd5b506104fa60048036038101906104f59190612251565b61110b565b60405161050791906122a9565b60405180910390f35b34801561051b575f80fd5b5061052461112d565b60405161053191906122d1565b60405180910390f35b348015610545575f80fd5b50610560600480360381019061055b9190612427565b611133565b005b34801561056d575f80fd5b5061058860048036038101906105839190612490565b6111b5565b60405161059591906122d1565b60405180910390f35b3480156105a9575f80fd5b506105c460048036038101906105bf9190612465565b611237565b005b6060600380546105d5906124fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610601906124fb565b801561064c5780601f106106235761010080835404028352916020019161064c565b820191905f5260205f20905b81548152906001019060200180831161062f57829003601f168201915b5050505050905090565b5f8061066061132d565b905061066d818585611334565b600191505092915050565b5f600254905090565b61068961132d565b73ffffffffffffffffffffffffffffffffffffffff166106a7610f6f565b73ffffffffffffffffffffffffffffffffffffffff16146106fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f490612575565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610760573d5f803e3d5ffd5b50565b5f8061076d61132d565b905061077a8582856114f7565b610785858585611582565b60019150509392505050565b61079961132d565b73ffffffffffffffffffffffffffffffffffffffff166107b7610f6f565b73ffffffffffffffffffffffffffffffffffffffff161461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490612575565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088e91906125a7565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092b91906125a7565b6040518363ffffffff1660e01b81526004016109489291906125d2565b602060405180830381865afa158015610963573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098791906125a7565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f6012905090565b5f806109da61132d565b9050610a6a81858560015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a659190612626565b611334565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600b5481565b610ad261132d565b73ffffffffffffffffffffffffffffffffffffffff16610af0610f6f565b73ffffffffffffffffffffffffffffffffffffffff1614610b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3d90612575565b60405180910390fd5b610b76620186a0610b686001610b5a610678565b6119bc90919063ffffffff16565b6119d190919063ffffffff16565b811015610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf906126c9565b60405180910390fd5b610be66064610bd86002610bca610678565b6119bc90919063ffffffff16565b6119d190919063ffffffff16565b811115610c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1f90612757565b60405180910390fd5b8060078190555050565b610c3a61132d565b73ffffffffffffffffffffffffffffffffffffffff16610c58610f6f565b73ffffffffffffffffffffffffffffffffffffffff1614610cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca590612575565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f00000000000000000000000000000000000000000000000000000000000000008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d24919061237d565b602060405180830381865afa158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d639190612789565b6040518363ffffffff1660e01b8152600401610d809291906127b4565b6020604051808303815f875af1158015610d9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc09190612805565b5050565b610dcc61132d565b73ffffffffffffffffffffffffffffffffffffffff16610dea610f6f565b73ffffffffffffffffffffffffffffffffffffffff1614610e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3790612575565b60405180910390fd5b60058211158015610e52575060058111155b610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e88906128a0565b60405180910390fd5b81600b8190555080600c819055505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ef061132d565b73ffffffffffffffffffffffffffffffffffffffff16610f0e610f6f565b73ffffffffffffffffffffffffffffffffffffffff1614610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b90612575565b60405180910390fd5b610f6d5f6119e6565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610fa6906124fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd2906124fb565b801561101d5780601f10610ff45761010080835404028352916020019161101d565b820191905f5260205f20905b81548152906001019060200180831161100057829003601f168201915b5050505050905090565b5f8061103161132d565b90505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050838110156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e99061292e565b60405180910390fd5b6110ff8286868403611334565b60019250505092915050565b5f8061111561132d565b9050611122818585611582565b600191505092915050565b60075481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461118a575f80fd5b6004821115801561119b57505f8114155b6111a3575f80fd5b81600881905550806009819055505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61123f61132d565b73ffffffffffffffffffffffffffffffffffffffff1661125d610f6f565b73ffffffffffffffffffffffffffffffffffffffff16146112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612575565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611321576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611318906129bc565b60405180910390fd5b61132a816119e6565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139990612a4a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140790612ad8565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ea91906122d1565b60405180910390a3505050565b5f61150284846111b5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461157c578181101561156e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156590612b40565b60405180910390fd5b61157b8484848403611334565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790612bce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590612c5c565b60405180910390fd5b5f81116116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169790612cea565b60405180910390fd5b5f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061173c5750600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415806117975750805b6117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cd90612d52565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905060075461188830610ea3565b101580156118a25750600d5f9054906101000a900460ff16155b80156118ab5750815b80156118b5575082155b80156118c657506118c584611aa9565b5b15611907576001600d5f6101000a81548160ff0219169083151502179055506118ed611b04565b5f600d5f6101000a81548160ff0219169083151502179055505b5f8161191557600c54611919565b600b545b90505f8111156119a8578315801561193d5750600d5f9054906101000a900460ff16155b801561194e5750818061194d5750825b5b156119a7575f61197a606461196c84896119bc90919063ffffffff16565b6119d190919063ffffffff16565b90505f8111156119905761198f883083611e82565b5b6119a381876120f790919063ffffffff16565b9550505b5b6119b3878787611e82565b50505050505050565b5f81836119c99190612d70565b905092915050565b5f81836119de9190612dde565b905092915050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8060095414611ac857600954600754611ac39190612dde565b611aca565b5f5b8210158015611afd57506002600a5f4381526020019081526020015f205f815480929190611af790612e0e565b91905055105b9050919050565b5f611b0e30610ea3565b90505f8103611b1d5750611e80565b600754811115611b2d5760075490505b5f4790505f600267ffffffffffffffff811115611b4d57611b4c612e55565b5b604051908082528060200260200182016040528015611b7b5781602001602082028036833780820191505090505b50905030815f81518110611b9257611b91612e82565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4d91906125a7565b81600181518110611c6157611c60612e82565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cba30737a250d5630b4cf539739df2c5dacb4c659f2488d85611334565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b8152600401611d0f959493929190612fa8565b5f604051808303815f87803b158015611d26575f80fd5b505af1158015611d38573d5f803e3d5ffd5b505050505f611d5083476120f790919063ffffffff16565b90505f611d7a6064611d6c6005856119bc90919063ffffffff16565b6119d190919063ffffffff16565b9050611d8f81836120f790919063ffffffff16565b91507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015611df4573d5f803e3d5ffd5b50733ca2c6efbbd74a2e4c4cc2e9f03c9dfe42367ed773ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e4c573d5f803e3d5ffd5b50807f1cfca31204cc745553128283c3bd97acb07e803bd611f352db637c644eb59b8760405160405180910390a250505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee790613070565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f55906130fe565b60405180910390fd5b611f6983838361210c565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe39061318c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461207a9190612626565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120de91906122d1565b60405180910390a36120f1848484612111565b50505050565b5f818361210491906131aa565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561214d578082015181840152602081019050612132565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61217282612116565b61217c8185612120565b935061218c818560208601612130565b61219581612158565b840191505092915050565b5f6020820190508181035f8301526121b88184612168565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121ed826121c4565b9050919050565b6121fd816121e3565b8114612207575f80fd5b50565b5f81359050612218816121f4565b92915050565b5f819050919050565b6122308161221e565b811461223a575f80fd5b50565b5f8135905061224b81612227565b92915050565b5f8060408385031215612267576122666121c0565b5b5f6122748582860161220a565b92505060206122858582860161223d565b9150509250929050565b5f8115159050919050565b6122a38161228f565b82525050565b5f6020820190506122bc5f83018461229a565b92915050565b6122cb8161221e565b82525050565b5f6020820190506122e45f8301846122c2565b92915050565b5f805f60608486031215612301576123006121c0565b5b5f61230e8682870161220a565b935050602061231f8682870161220a565b92505060406123308682870161223d565b9150509250925092565b5f60ff82169050919050565b61234f8161233a565b82525050565b5f6020820190506123685f830184612346565b92915050565b612377816121e3565b82525050565b5f6020820190506123905f83018461236e565b92915050565b5f602082840312156123ab576123aa6121c0565b5b5f6123b88482850161223d565b91505092915050565b5f6123cb826121e3565b9050919050565b6123db816123c1565b81146123e5575f80fd5b50565b5f813590506123f6816123d2565b92915050565b5f60208284031215612411576124106121c0565b5b5f61241e848285016123e8565b91505092915050565b5f806040838503121561243d5761243c6121c0565b5b5f61244a8582860161223d565b925050602061245b8582860161223d565b9150509250929050565b5f6020828403121561247a576124796121c0565b5b5f6124878482850161220a565b91505092915050565b5f80604083850312156124a6576124a56121c0565b5b5f6124b38582860161220a565b92505060206124c48582860161220a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061251257607f821691505b602082108103612525576125246124ce565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61255f602083612120565b915061256a8261252b565b602082019050919050565b5f6020820190508181035f83015261258c81612553565b9050919050565b5f815190506125a1816121f4565b92915050565b5f602082840312156125bc576125bb6121c0565b5b5f6125c984828501612593565b91505092915050565b5f6040820190506125e55f83018561236e565b6125f2602083018461236e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126308261221e565b915061263b8361221e565b9250828201905080821115612653576126526125f9565b5b92915050565b7f53776170207468726573686f6c642063616e6e6f74206265206c6f77657220745f8201527f68616e20302e3030312520746f74616c20737570706c792e0000000000000000602082015250565b5f6126b3603883612120565b91506126be82612659565b604082019050919050565b5f6020820190508181035f8301526126e0816126a7565b9050919050565b7f53776170207468726573686f6c642063616e6e6f7420626520686967686572205f8201527f7468616e20322520746f74616c20737570706c792e0000000000000000000000602082015250565b5f612741603583612120565b915061274c826126e7565b604082019050919050565b5f6020820190508181035f83015261276e81612735565b9050919050565b5f8151905061278381612227565b92915050565b5f6020828403121561279e5761279d6121c0565b5b5f6127ab84828501612775565b91505092915050565b5f6040820190506127c75f83018561236e565b6127d460208301846122c2565b9392505050565b6127e48161228f565b81146127ee575f80fd5b50565b5f815190506127ff816127db565b92915050565b5f6020828403121561281a576128196121c0565b5b5f612827848285016127f1565b91505092915050565b7f417474656d7074696e6720746f207365742066656520686967686572207468615f8201527f6e20696e697469616c206665652e000000000000000000000000000000000000602082015250565b5f61288a602e83612120565b915061289582612830565b604082019050919050565b5f6020820190508181035f8301526128b78161287e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612918602583612120565b9150612923826128be565b604082019050919050565b5f6020820190508181035f8301526129458161290c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129a6602683612120565b91506129b18261294c565b604082019050919050565b5f6020820190508181035f8301526129d38161299a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a34602483612120565b9150612a3f826129da565b604082019050919050565b5f6020820190508181035f830152612a6181612a28565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ac2602283612120565b9150612acd82612a68565b604082019050919050565b5f6020820190508181035f830152612aef81612ab6565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612b2a601d83612120565b9150612b3582612af6565b602082019050919050565b5f6020820190508181035f830152612b5781612b1e565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f2061646472657373206e5f8201527f6f7420616c6c6f7765642e000000000000000000000000000000000000000000602082015250565b5f612bb8602b83612120565b9150612bc382612b5e565b604082019050919050565b5f6020820190508181035f830152612be581612bac565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373206e6f745f8201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000602082015250565b5f612c46602983612120565b9150612c5182612bec565b604082019050919050565b5f6020820190508181035f830152612c7381612c3a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b5f612cd4602a83612120565b9150612cdf82612c7a565b604082019050919050565b5f6020820190508181035f830152612d0181612cc8565b9050919050565b7f4c69717569646974792070616972206e6f742079657420637265617465642e005f82015250565b5f612d3c601f83612120565b9150612d4782612d08565b602082019050919050565b5f6020820190508181035f830152612d6981612d30565b9050919050565b5f612d7a8261221e565b9150612d858361221e565b9250828202612d938161221e565b91508282048414831517612daa57612da96125f9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612de88261221e565b9150612df38361221e565b925082612e0357612e02612db1565b5b828204905092915050565b5f612e188261221e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e4a57612e496125f9565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f612edb612ed6612ed184612eaf565b612eb8565b61221e565b9050919050565b612eeb81612ec1565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f23816121e3565b82525050565b5f612f348383612f1a565b60208301905092915050565b5f602082019050919050565b5f612f5682612ef1565b612f608185612efb565b9350612f6b83612f0b565b805f5b83811015612f9b578151612f828882612f29565b9750612f8d83612f40565b925050600181019050612f6e565b5085935050505092915050565b5f60a082019050612fbb5f8301886122c2565b612fc86020830187612ee2565b8181036040830152612fda8186612f4c565b9050612fe9606083018561236e565b612ff660808301846122c2565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61305a602583612120565b915061306582613000565b604082019050919050565b5f6020820190508181035f8301526130878161304e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130e8602383612120565b91506130f38261308e565b604082019050919050565b5f6020820190508181035f830152613115816130dc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613176602683612120565b91506131818261311c565b604082019050919050565b5f6020820190508181035f8301526131a38161316a565b9050919050565b5f6131b48261221e565b91506131bf8361221e565b92508282039050818111156131d7576131d66125f9565b5b9291505056fea2646970667358221220f6bbbf04fa13379517753a7e3e0bbd0d01afb8f194ef89422d36672a146457f564736f6c63430008160033

Deployed Bytecode

0x608060405260043610610169575f3560e01c8063578878b4116100d057806395d89b4111610089578063d0aa7abe11610063578063d0aa7abe14610510578063d18afa851461053a578063dd62ed3e14610562578063f2fde38b1461059e57610170565b806395d89b411461046e578063a457c2d714610498578063a9059cbb146104d457610170565b8063578878b41461037a57806362aaff3a146103a25780636db79437146103ca57806370a08231146103f2578063715018a61461042e5780638da5cb5b1461044457610170565b8063313ce56711610122578063313ce5671461026c578063395093511461029657806346904840146102d257806353945d7b146102fc57806354c35c281461032657806354cf2aeb1461035057610170565b806306fdde0314610174578063095ea7b31461019e57806318160ddd146101da5780631fac6a3b1461020457806323b872dd1461021a578063293230b81461025657610170565b3661017057005b5f80fd5b34801561017f575f80fd5b506101886105c6565b60405161019591906121a0565b60405180910390f35b3480156101a9575f80fd5b506101c460048036038101906101bf9190612251565b610656565b6040516101d191906122a9565b60405180910390f35b3480156101e5575f80fd5b506101ee610678565b6040516101fb91906122d1565b60405180910390f35b34801561020f575f80fd5b50610218610681565b005b348015610225575f80fd5b50610240600480360381019061023b91906122ea565b610763565b60405161024d91906122a9565b60405180910390f35b348015610261575f80fd5b5061026a610791565b005b348015610277575f80fd5b506102806109c8565b60405161028d9190612355565b60405180910390f35b3480156102a1575f80fd5b506102bc60048036038101906102b79190612251565b6109d0565b6040516102c991906122a9565b60405180910390f35b3480156102dd575f80fd5b506102e6610a75565b6040516102f3919061237d565b60405180910390f35b348015610307575f80fd5b50610310610a99565b60405161031d919061237d565b60405180910390f35b348015610331575f80fd5b5061033a610abe565b60405161034791906122d1565b60405180910390f35b34801561035b575f80fd5b50610364610ac4565b60405161037191906122d1565b60405180910390f35b348015610385575f80fd5b506103a0600480360381019061039b9190612396565b610aca565b005b3480156103ad575f80fd5b506103c860048036038101906103c391906123fc565b610c32565b005b3480156103d5575f80fd5b506103f060048036038101906103eb9190612427565b610dc4565b005b3480156103fd575f80fd5b5061041860048036038101906104139190612465565b610ea3565b60405161042591906122d1565b60405180910390f35b348015610439575f80fd5b50610442610ee8565b005b34801561044f575f80fd5b50610458610f6f565b604051610465919061237d565b60405180910390f35b348015610479575f80fd5b50610482610f97565b60405161048f91906121a0565b60405180910390f35b3480156104a3575f80fd5b506104be60048036038101906104b99190612251565b611027565b6040516104cb91906122a9565b60405180910390f35b3480156104df575f80fd5b506104fa60048036038101906104f59190612251565b61110b565b60405161050791906122a9565b60405180910390f35b34801561051b575f80fd5b5061052461112d565b60405161053191906122d1565b60405180910390f35b348015610545575f80fd5b50610560600480360381019061055b9190612427565b611133565b005b34801561056d575f80fd5b5061058860048036038101906105839190612490565b6111b5565b60405161059591906122d1565b60405180910390f35b3480156105a9575f80fd5b506105c460048036038101906105bf9190612465565b611237565b005b6060600380546105d5906124fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610601906124fb565b801561064c5780601f106106235761010080835404028352916020019161064c565b820191905f5260205f20905b81548152906001019060200180831161062f57829003601f168201915b5050505050905090565b5f8061066061132d565b905061066d818585611334565b600191505092915050565b5f600254905090565b61068961132d565b73ffffffffffffffffffffffffffffffffffffffff166106a7610f6f565b73ffffffffffffffffffffffffffffffffffffffff16146106fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f490612575565b60405180910390fd5b7f0000000000000000000000006de9706047b0d09fa05f95f815b20d11603632b273ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610760573d5f803e3d5ffd5b50565b5f8061076d61132d565b905061077a8582856114f7565b610785858585611582565b60019150509392505050565b61079961132d565b73ffffffffffffffffffffffffffffffffffffffff166107b7610f6f565b73ffffffffffffffffffffffffffffffffffffffff161461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490612575565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561086a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061088e91906125a7565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610907573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092b91906125a7565b6040518363ffffffff1660e01b81526004016109489291906125d2565b602060405180830381865afa158015610963573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061098791906125a7565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f6012905090565b5f806109da61132d565b9050610a6a81858560015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610a659190612626565b611334565b600191505092915050565b7f0000000000000000000000006de9706047b0d09fa05f95f815b20d11603632b281565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b600b5481565b610ad261132d565b73ffffffffffffffffffffffffffffffffffffffff16610af0610f6f565b73ffffffffffffffffffffffffffffffffffffffff1614610b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3d90612575565b60405180910390fd5b610b76620186a0610b686001610b5a610678565b6119bc90919063ffffffff16565b6119d190919063ffffffff16565b811015610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf906126c9565b60405180910390fd5b610be66064610bd86002610bca610678565b6119bc90919063ffffffff16565b6119d190919063ffffffff16565b811115610c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1f90612757565b60405180910390fd5b8060078190555050565b610c3a61132d565b73ffffffffffffffffffffffffffffffffffffffff16610c58610f6f565b73ffffffffffffffffffffffffffffffffffffffff1614610cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca590612575565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f0000000000000000000000006de9706047b0d09fa05f95f815b20d11603632b28373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d24919061237d565b602060405180830381865afa158015610d3f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d639190612789565b6040518363ffffffff1660e01b8152600401610d809291906127b4565b6020604051808303815f875af1158015610d9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dc09190612805565b5050565b610dcc61132d565b73ffffffffffffffffffffffffffffffffffffffff16610dea610f6f565b73ffffffffffffffffffffffffffffffffffffffff1614610e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3790612575565b60405180910390fd5b60058211158015610e52575060058111155b610e91576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e88906128a0565b60405180910390fd5b81600b8190555080600c819055505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ef061132d565b73ffffffffffffffffffffffffffffffffffffffff16610f0e610f6f565b73ffffffffffffffffffffffffffffffffffffffff1614610f64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5b90612575565b60405180910390fd5b610f6d5f6119e6565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610fa6906124fb565b80601f0160208091040260200160405190810160405280929190818152602001828054610fd2906124fb565b801561101d5780601f10610ff45761010080835404028352916020019161101d565b820191905f5260205f20905b81548152906001019060200180831161100057829003601f168201915b5050505050905090565b5f8061103161132d565b90505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050838110156110f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e99061292e565b60405180910390fd5b6110ff8286868403611334565b60019250505092915050565b5f8061111561132d565b9050611122818585611582565b600191505092915050565b60075481565b7f0000000000000000000000006de9706047b0d09fa05f95f815b20d11603632b273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461118a575f80fd5b6004821115801561119b57505f8114155b6111a3575f80fd5b81600881905550806009819055505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61123f61132d565b73ffffffffffffffffffffffffffffffffffffffff1661125d610f6f565b73ffffffffffffffffffffffffffffffffffffffff16146112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612575565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611321576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611318906129bc565b60405180910390fd5b61132a816119e6565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139990612a4a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611410576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140790612ad8565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ea91906122d1565b60405180910390a3505050565b5f61150284846111b5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461157c578181101561156e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156590612b40565b60405180910390fd5b61157b8484848403611334565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036115f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115e790612bce565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361165e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165590612c5c565b60405180910390fd5b5f81116116a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169790612cea565b60405180910390fd5b5f600e5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061173c5750600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415806117975750805b6117d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cd90612d52565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614905060075461188830610ea3565b101580156118a25750600d5f9054906101000a900460ff16155b80156118ab5750815b80156118b5575082155b80156118c657506118c584611aa9565b5b15611907576001600d5f6101000a81548160ff0219169083151502179055506118ed611b04565b5f600d5f6101000a81548160ff0219169083151502179055505b5f8161191557600c54611919565b600b545b90505f8111156119a8578315801561193d5750600d5f9054906101000a900460ff16155b801561194e5750818061194d5750825b5b156119a7575f61197a606461196c84896119bc90919063ffffffff16565b6119d190919063ffffffff16565b90505f8111156119905761198f883083611e82565b5b6119a381876120f790919063ffffffff16565b9550505b5b6119b3878787611e82565b50505050505050565b5f81836119c99190612d70565b905092915050565b5f81836119de9190612dde565b905092915050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f8060095414611ac857600954600754611ac39190612dde565b611aca565b5f5b8210158015611afd57506002600a5f4381526020019081526020015f205f815480929190611af790612e0e565b91905055105b9050919050565b5f611b0e30610ea3565b90505f8103611b1d5750611e80565b600754811115611b2d5760075490505b5f4790505f600267ffffffffffffffff811115611b4d57611b4c612e55565b5b604051908082528060200260200182016040528015611b7b5781602001602082028036833780820191505090505b50905030815f81518110611b9257611b91612e82565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c4d91906125a7565b81600181518110611c6157611c60612e82565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cba30737a250d5630b4cf539739df2c5dacb4c659f2488d85611334565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b8152600401611d0f959493929190612fa8565b5f604051808303815f87803b158015611d26575f80fd5b505af1158015611d38573d5f803e3d5ffd5b505050505f611d5083476120f790919063ffffffff16565b90505f611d7a6064611d6c6005856119bc90919063ffffffff16565b6119d190919063ffffffff16565b9050611d8f81836120f790919063ffffffff16565b91507f0000000000000000000000006de9706047b0d09fa05f95f815b20d11603632b273ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015611df4573d5f803e3d5ffd5b50733ca2c6efbbd74a2e4c4cc2e9f03c9dfe42367ed773ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e4c573d5f803e3d5ffd5b50807f1cfca31204cc745553128283c3bd97acb07e803bd611f352db637c644eb59b8760405160405180910390a250505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611ef0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ee790613070565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f55906130fe565b60405180910390fd5b611f6983838361210c565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611fec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fe39061318c565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461207a9190612626565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516120de91906122d1565b60405180910390a36120f1848484612111565b50505050565b5f818361210491906131aa565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561214d578082015181840152602081019050612132565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61217282612116565b61217c8185612120565b935061218c818560208601612130565b61219581612158565b840191505092915050565b5f6020820190508181035f8301526121b88184612168565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121ed826121c4565b9050919050565b6121fd816121e3565b8114612207575f80fd5b50565b5f81359050612218816121f4565b92915050565b5f819050919050565b6122308161221e565b811461223a575f80fd5b50565b5f8135905061224b81612227565b92915050565b5f8060408385031215612267576122666121c0565b5b5f6122748582860161220a565b92505060206122858582860161223d565b9150509250929050565b5f8115159050919050565b6122a38161228f565b82525050565b5f6020820190506122bc5f83018461229a565b92915050565b6122cb8161221e565b82525050565b5f6020820190506122e45f8301846122c2565b92915050565b5f805f60608486031215612301576123006121c0565b5b5f61230e8682870161220a565b935050602061231f8682870161220a565b92505060406123308682870161223d565b9150509250925092565b5f60ff82169050919050565b61234f8161233a565b82525050565b5f6020820190506123685f830184612346565b92915050565b612377816121e3565b82525050565b5f6020820190506123905f83018461236e565b92915050565b5f602082840312156123ab576123aa6121c0565b5b5f6123b88482850161223d565b91505092915050565b5f6123cb826121e3565b9050919050565b6123db816123c1565b81146123e5575f80fd5b50565b5f813590506123f6816123d2565b92915050565b5f60208284031215612411576124106121c0565b5b5f61241e848285016123e8565b91505092915050565b5f806040838503121561243d5761243c6121c0565b5b5f61244a8582860161223d565b925050602061245b8582860161223d565b9150509250929050565b5f6020828403121561247a576124796121c0565b5b5f6124878482850161220a565b91505092915050565b5f80604083850312156124a6576124a56121c0565b5b5f6124b38582860161220a565b92505060206124c48582860161220a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061251257607f821691505b602082108103612525576125246124ce565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61255f602083612120565b915061256a8261252b565b602082019050919050565b5f6020820190508181035f83015261258c81612553565b9050919050565b5f815190506125a1816121f4565b92915050565b5f602082840312156125bc576125bb6121c0565b5b5f6125c984828501612593565b91505092915050565b5f6040820190506125e55f83018561236e565b6125f2602083018461236e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126308261221e565b915061263b8361221e565b9250828201905080821115612653576126526125f9565b5b92915050565b7f53776170207468726573686f6c642063616e6e6f74206265206c6f77657220745f8201527f68616e20302e3030312520746f74616c20737570706c792e0000000000000000602082015250565b5f6126b3603883612120565b91506126be82612659565b604082019050919050565b5f6020820190508181035f8301526126e0816126a7565b9050919050565b7f53776170207468726573686f6c642063616e6e6f7420626520686967686572205f8201527f7468616e20322520746f74616c20737570706c792e0000000000000000000000602082015250565b5f612741603583612120565b915061274c826126e7565b604082019050919050565b5f6020820190508181035f83015261276e81612735565b9050919050565b5f8151905061278381612227565b92915050565b5f6020828403121561279e5761279d6121c0565b5b5f6127ab84828501612775565b91505092915050565b5f6040820190506127c75f83018561236e565b6127d460208301846122c2565b9392505050565b6127e48161228f565b81146127ee575f80fd5b50565b5f815190506127ff816127db565b92915050565b5f6020828403121561281a576128196121c0565b5b5f612827848285016127f1565b91505092915050565b7f417474656d7074696e6720746f207365742066656520686967686572207468615f8201527f6e20696e697469616c206665652e000000000000000000000000000000000000602082015250565b5f61288a602e83612120565b915061289582612830565b604082019050919050565b5f6020820190508181035f8301526128b78161287e565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f612918602583612120565b9150612923826128be565b604082019050919050565b5f6020820190508181035f8301526129458161290c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129a6602683612120565b91506129b18261294c565b604082019050919050565b5f6020820190508181035f8301526129d38161299a565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a34602483612120565b9150612a3f826129da565b604082019050919050565b5f6020820190508181035f830152612a6181612a28565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ac2602283612120565b9150612acd82612a68565b604082019050919050565b5f6020820190508181035f830152612aef81612ab6565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612b2a601d83612120565b9150612b3582612af6565b602082019050919050565b5f6020820190508181035f830152612b5781612b1e565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f2061646472657373206e5f8201527f6f7420616c6c6f7765642e000000000000000000000000000000000000000000602082015250565b5f612bb8602b83612120565b9150612bc382612b5e565b604082019050919050565b5f6020820190508181035f830152612be581612bac565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373206e6f745f8201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000602082015250565b5f612c46602983612120565b9150612c5182612bec565b604082019050919050565b5f6020820190508181035f830152612c7381612c3a565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b5f612cd4602a83612120565b9150612cdf82612c7a565b604082019050919050565b5f6020820190508181035f830152612d0181612cc8565b9050919050565b7f4c69717569646974792070616972206e6f742079657420637265617465642e005f82015250565b5f612d3c601f83612120565b9150612d4782612d08565b602082019050919050565b5f6020820190508181035f830152612d6981612d30565b9050919050565b5f612d7a8261221e565b9150612d858361221e565b9250828202612d938161221e565b91508282048414831517612daa57612da96125f9565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612de88261221e565b9150612df38361221e565b925082612e0357612e02612db1565b5b828204905092915050565b5f612e188261221e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e4a57612e496125f9565b5b600182019050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f612edb612ed6612ed184612eaf565b612eb8565b61221e565b9050919050565b612eeb81612ec1565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f23816121e3565b82525050565b5f612f348383612f1a565b60208301905092915050565b5f602082019050919050565b5f612f5682612ef1565b612f608185612efb565b9350612f6b83612f0b565b805f5b83811015612f9b578151612f828882612f29565b9750612f8d83612f40565b925050600181019050612f6e565b5085935050505092915050565b5f60a082019050612fbb5f8301886122c2565b612fc86020830187612ee2565b8181036040830152612fda8186612f4c565b9050612fe9606083018561236e565b612ff660808301846122c2565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61305a602583612120565b915061306582613000565b604082019050919050565b5f6020820190508181035f8301526130878161304e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6130e8602383612120565b91506130f38261308e565b604082019050919050565b5f6020820190508181035f830152613115816130dc565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f613176602683612120565b91506131818261311c565b604082019050919050565b5f6020820190508181035f8301526131a38161316a565b9050919050565b5f6131b48261221e565b91506131bf8361221e565b92508282039050818111156131d7576131d66125f9565b5b9291505056fea2646970667358221220f6bbbf04fa13379517753a7e3e0bbd0d01afb8f194ef89422d36672a146457f564736f6c63430008160033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.