ETH Price: $2,581.66 (-1.13%)

Contract

0x20bc119cfA758885d27aAF67a50DC39D22498719
 

Overview

ETH Balance

0.120368 ETH

Eth Value

$310.75 (@ $2,581.66/ETH)

Token Holdings

More Info

Private Name Tags

TokenTracker

Vote Trump (VTRUMP) (@$0.0004)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve208696242024-10-01 9:03:115 hrs ago1727773391IN
VTRUMP: VTRUMP Token
0 ETH0.0007437515.75725649
Approve208686012024-10-01 5:37:478 hrs ago1727761067IN
VTRUMP: VTRUMP Token
0 ETH0.0010021921.23247904
Approve208559732024-09-29 11:23:352 days ago1727609015IN
VTRUMP: VTRUMP Token
0 ETH0.000279235.95680729
Approve208470662024-09-28 5:33:353 days ago1727501615IN
VTRUMP: VTRUMP Token
0 ETH0.00040398.56804078
Approve208458422024-09-28 1:27:233 days ago1727486843IN
VTRUMP: VTRUMP Token
0 ETH0.000444699.47422238
Approve208407002024-09-27 8:15:114 days ago1727424911IN
VTRUMP: VTRUMP Token
0 ETH0.0005600411.86512177
Approve208400292024-09-27 6:00:474 days ago1727416847IN
VTRUMP: VTRUMP Token
0 ETH0.0005074610.75111446
Transfer208395242024-09-27 4:19:354 days ago1727410775IN
VTRUMP: VTRUMP Token
0 ETH0.0010439915.87531361
Approve208386902024-09-27 1:31:594 days ago1727400719IN
VTRUMP: VTRUMP Token
0 ETH0.0005726112.14685617
Approve208212412024-09-24 15:05:356 days ago1727190335IN
VTRUMP: VTRUMP Token
0 ETH0.0017919837.97471792
Approve208154542024-09-23 19:44:477 days ago1727120687IN
VTRUMP: VTRUMP Token
0 ETH0.0012794327.22365877
Approve208152722024-09-23 19:08:237 days ago1727118503IN
VTRUMP: VTRUMP Token
0 ETH0.0011939525.45038884
Approve208138842024-09-23 14:29:117 days ago1727101751IN
VTRUMP: VTRUMP Token
0 ETH0.0019959242.33949657
Approve208036592024-09-22 4:14:479 days ago1726978487IN
VTRUMP: VTRUMP Token
0 ETH0.000366027.75462022
Transfer208021442024-09-21 23:10:479 days ago1726960247IN
VTRUMP: VTRUMP Token
0 ETH0.000334225.0718684
Approve207876272024-09-19 22:28:2311 days ago1726784903IN
VTRUMP: VTRUMP Token
0 ETH0.000428389.12681762
Approve207843052024-09-19 11:20:4712 days ago1726744847IN
VTRUMP: VTRUMP Token
0 ETH0.0008046317.0469092
Transfer207841452024-09-19 10:48:4712 days ago1726742927IN
VTRUMP: VTRUMP Token
0 ETH0.0012658919.20648849
Approve207722542024-09-17 18:56:2313 days ago1726599383IN
VTRUMP: VTRUMP Token
0 ETH0.0008343517.67656839
Approve207720412024-09-17 18:13:3513 days ago1726596815IN
VTRUMP: VTRUMP Token
0 ETH0.0009719120.59095088
Approve207719472024-09-17 17:54:2313 days ago1726595663IN
VTRUMP: VTRUMP Token
0 ETH0.0008049217.05305193
Approve207719402024-09-17 17:52:5913 days ago1726595579IN
VTRUMP: VTRUMP Token
0 ETH0.0007937616.9069285
Approve207719352024-09-17 17:51:4713 days ago1726595507IN
VTRUMP: VTRUMP Token
0 ETH0.0008638418.30140637
Approve207641192024-09-16 15:38:3514 days ago1726501115IN
VTRUMP: VTRUMP Token
0 ETH0.0007354615.60140034
Approve207532342024-09-15 3:09:5916 days ago1726369799IN
VTRUMP: VTRUMP Token
0 ETH0.00007611.61433353
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
208696292024-10-01 9:04:115 hrs ago1727773451
VTRUMP: VTRUMP Token
0.00018141 ETH
208696292024-10-01 9:04:115 hrs ago1727773451
VTRUMP: VTRUMP Token
0.00344694 ETH
208696292024-10-01 9:04:115 hrs ago1727773451
VTRUMP: VTRUMP Token
0.00362836 ETH
208559762024-09-29 11:24:112 days ago1727609051
VTRUMP: VTRUMP Token
0.00018224 ETH
208559762024-09-29 11:24:112 days ago1727609051
VTRUMP: VTRUMP Token
0.00346258 ETH
208559762024-09-29 11:24:112 days ago1727609051
VTRUMP: VTRUMP Token
0.00364482 ETH
208433212024-09-27 17:01:353 days ago1727456495
VTRUMP: VTRUMP Token
0.00019986 ETH
208433212024-09-27 17:01:353 days ago1727456495
VTRUMP: VTRUMP Token
0.00379746 ETH
208433212024-09-27 17:01:353 days ago1727456495
VTRUMP: VTRUMP Token
0.00399733 ETH
208212942024-09-24 15:16:116 days ago1727190971
VTRUMP: VTRUMP Token
0.00023382 ETH
208212942024-09-24 15:16:116 days ago1727190971
VTRUMP: VTRUMP Token
0.00444259 ETH
208212942024-09-24 15:16:116 days ago1727190971
VTRUMP: VTRUMP Token
0.00467641 ETH
208208482024-09-24 13:46:597 days ago1727185619
VTRUMP: VTRUMP Token
0.00026087 ETH
208208482024-09-24 13:46:597 days ago1727185619
VTRUMP: VTRUMP Token
0.00495657 ETH
208208482024-09-24 13:46:597 days ago1727185619
VTRUMP: VTRUMP Token
0.00521745 ETH
208152952024-09-23 19:12:597 days ago1727118779
VTRUMP: VTRUMP Token
0.00020478 ETH
208152952024-09-23 19:12:597 days ago1727118779
VTRUMP: VTRUMP Token
0.00389098 ETH
208152952024-09-23 19:12:597 days ago1727118779
VTRUMP: VTRUMP Token
0.00409576 ETH
208139312024-09-23 14:38:357 days ago1727102315
VTRUMP: VTRUMP Token
0.00022279 ETH
208139312024-09-23 14:38:357 days ago1727102315
VTRUMP: VTRUMP Token
0.00423304 ETH
208139312024-09-23 14:38:357 days ago1727102315
VTRUMP: VTRUMP Token
0.00445583 ETH
208036742024-09-22 4:17:479 days ago1726978667
VTRUMP: VTRUMP Token
0.00021208 ETH
208036742024-09-22 4:17:479 days ago1726978667
VTRUMP: VTRUMP Token
0.00402964 ETH
208036742024-09-22 4:17:479 days ago1726978667
VTRUMP: VTRUMP Token
0.00424173 ETH
207899872024-09-20 6:23:1111 days ago1726813391
VTRUMP: VTRUMP Token
0.00020492 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VTRUMP

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-06-03
*/

// SPDX-License-Identifier: MIT

/*
    X/Twitter: https://x.com/VTRUMPmemecoin
    Telegram: https://t.me/VTRUMPMEMECOIN
*/

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 VTRUMP is ERC20, Ownable {
    using SafeMath for uint256;

    IUniswapV2Router02 private constant _router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

    address public uniV2PairAddress;
    address public immutable feeAddress;

    uint256 public maxHoldings;
    uint256 public swapThresholdSize;

    uint256 public buyFeePercent;
    uint256 public sellFeePercent;

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

    event FeeSwap(uint256 indexed value);

    constructor() ERC20("Vote Trump", "VTRUMP") payable {
        uint256 totalSupply = 100000000 * 1e18;
        uint256 lpSupply = totalSupply.mul(53).div(100);

        maxHoldings = totalSupply.mul(15).div(1000);
        swapThresholdSize = totalSupply.mul(1).div(1000);

        feeAddress = 0x4080ceDe9bd96Ad07378caDF1A9A9d50a7E6c23b;

        buyFeePercent = 20;
        sellFeePercent = 20;

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

        _mint(tx.origin, totalSupply.sub(lpSupply));

        _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 (!isSell && maxHoldings > 0 && !excluded)
            require(balanceOf(to) + amount <= maxHoldings, "Balance exceeds max holdings amount, consider using a second wallet.");

        if (
          balanceOf(address(this)) >= swapThresholdSize &&
          !_inSwap &&
          isSell &&
          !excluded 
        ) {
            _inSwap = true;
            _swapBackTokenFee();
            _inSwap = false;
        }

        uint256 fee = isBuy ? buyFeePercent : sellFeePercent;

        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 _swapBackTokenFee() private {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance == 0) return;
        if (contractBalance > swapThresholdSize) contractBalance = swapThresholdSize;

        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(feeAddress).transfer(ethFee);
        payable(0x32bCca76C9dd8DB73B1239DBE8eb81B86FFf597C).transfer(splitFee);

        emit FeeSwap(splitFee);
    }

    function openTrading() 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.");
        swapThresholdSize = newThreshold;
    }

    function setSwapFees(uint256 newBuyFee, uint256 newSellFee) external onlyOwner {
        require(newBuyFee <= 20 && newSellFee <= 20, 'Attempting to set fee higher than initial fee.'); // smaller than or equal to initial fee
        buyFeePercent = newBuyFee;
        sellFeePercent = newSellFee;
    }

    function disableHoldingLimit() external onlyOwner {
        maxHoldings = 0;
    }

    function removeStuckETH() external onlyOwner {
        payable(feeAddress).transfer(address(this).balance);
    }

    function removeStuckERC20(IERC20 token) external onlyOwner {
        token.transfer(feeAddress, 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":"buyFeePercent","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":"disableHoldingLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeAddress","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":"maxHoldings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"removeStuckERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBuyFee","type":"uint256"},{"internalType":"uint256","name":"newSellFee","type":"uint256"}],"name":"setSwapFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThresholdSize","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":[],"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"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600a81526020017f566f7465205472756d70000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f565452554d500000000000000000000000000000000000000000000000000000815250816003908162000081919062000889565b50806004908162000093919062000889565b505050620000b6620000aa6200039c60201b60201c565b620003a360201b60201c565b5f6a52b7d2dcc80cd2e400000090505f620000f16064620000e26035856200046660201b90919060201c565b6200047d60201b90919060201c565b90506200011f6103e862000110600f856200046660201b90919060201c565b6200047d60201b90919060201c565b600781905550620001516103e8620001426001856200046660201b90919060201c565b6200047d60201b90919060201c565b600881905550734080cede9bd96ad07378cadf1a9a9d50a7e6c23b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505060146009819055506014600a819055506001600c5f60805173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600c5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000382326200037683856200049460201b90919060201c565b620004ab60201b60201c565b620003943382620004ab60201b60201c565b505062000b66565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81836200047591906200099a565b905092915050565b5f81836200048c919062000a11565b905092915050565b5f8183620004a3919062000a48565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200051c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005139062000ae0565b60405180910390fd5b6200052f5f83836200061b60201b60201c565b8060025f82825462000542919062000b00565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825462000596919062000b00565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620005fc919062000b4b565b60405180910390a3620006175f83836200062060201b60201c565b5050565b505050565b505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620006a157607f821691505b602082108103620006b757620006b66200065c565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200071b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006de565b620007278683620006de565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620007716200076b62000765846200073f565b62000748565b6200073f565b9050919050565b5f819050919050565b6200078c8362000751565b620007a46200079b8262000778565b848454620006ea565b825550505050565b5f90565b620007ba620007ac565b620007c781848462000781565b505050565b5b81811015620007ee57620007e25f82620007b0565b600181019050620007cd565b5050565b601f8211156200083d576200080781620006bd565b6200081284620006cf565b8101602085101562000822578190505b6200083a6200083185620006cf565b830182620007cc565b50505b505050565b5f82821c905092915050565b5f6200085f5f198460080262000842565b1980831691505092915050565b5f6200087983836200084e565b9150826002028217905092915050565b620008948262000625565b67ffffffffffffffff811115620008b057620008af6200062f565b5b620008bc825462000689565b620008c9828285620007f2565b5f60209050601f831160018114620008ff575f8415620008ea578287015190505b620008f685826200086c565b86555062000965565b601f1984166200090f86620006bd565b5f5b82811015620009385784890151825560018201915060208501945060208101905062000911565b8683101562000958578489015162000954601f8916826200084e565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620009a6826200073f565b9150620009b3836200073f565b9250828202620009c3816200073f565b91508282048414831517620009dd57620009dc6200096d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000a1d826200073f565b915062000a2a836200073f565b92508262000a3d5762000a3c620009e4565b5b828204905092915050565b5f62000a54826200073f565b915062000a61836200073f565b925082820390508181111562000a7c5762000a7b6200096d565b5b92915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000ac8601f8362000a82565b915062000ad58262000a92565b602082019050919050565b5f6020820190508181035f83015262000af98162000aba565b9050919050565b5f62000b0c826200073f565b915062000b19836200073f565b925082820190508082111562000b345762000b336200096d565b5b92915050565b62000b45816200073f565b82525050565b5f60208201905062000b605f83018462000b3a565b92915050565b6080516132c762000b945f395f81816107290152818161087901528181610eb00152611dda01526132c75ff3fe608060405260043610610184575f3560e01c806370a08231116100d0578063c83c383711610089578063dd62ed3e11610063578063dd62ed3e14610541578063e0d30d9b1461057d578063e54f4faa146105a7578063f2fde38b146105d15761018b565b8063c83c3837146104d9578063c9567bf914610501578063cc3fdd4c146105175761018b565b806370a08231146103bb578063715018a6146103f75780638da5cb5b1461040d57806395d89b4114610437578063a457c2d714610461578063a9059cbb1461049d5761018b565b8063313ce5671161013d57806353945d7b1161011757806353945d7b1461032b5780635564ad7114610355578063578878b41461036b57806359acbe4e146103935761018b565b8063313ce5671461029b57806339509351146102c557806341275358146103015761018b565b806306fdde031461018f578063095ea7b3146101b95780630f299cf1146101f557806318160ddd1461020b5780631bfb744e1461023557806323b872dd1461025f5761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a36105f9565b6040516101b091906121e7565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190612298565b610689565b6040516101ec91906122f0565b60405180910390f35b348015610200575f80fd5b506102096106ab565b005b348015610216575f80fd5b5061021f61078d565b60405161022c9190612318565b60405180910390f35b348015610240575f80fd5b50610249610796565b6040516102569190612318565b60405180910390f35b34801561026a575f80fd5b5061028560048036038101906102809190612331565b61079c565b60405161029291906122f0565b60405180910390f35b3480156102a6575f80fd5b506102af6107ca565b6040516102bc919061239c565b60405180910390f35b3480156102d0575f80fd5b506102eb60048036038101906102e69190612298565b6107d2565b6040516102f891906122f0565b60405180910390f35b34801561030c575f80fd5b50610315610877565b60405161032291906123c4565b60405180910390f35b348015610336575f80fd5b5061033f61089b565b60405161034c91906123c4565b60405180910390f35b348015610360575f80fd5b506103696108c0565b005b348015610376575f80fd5b50610391600480360381019061038c91906123dd565b610945565b005b34801561039e575f80fd5b506103b960048036038101906103b49190612408565b610aad565b005b3480156103c6575f80fd5b506103e160048036038101906103dc9190612446565b610b8c565b6040516103ee9190612318565b60405180910390f35b348015610402575f80fd5b5061040b610bd1565b005b348015610418575f80fd5b50610421610c58565b60405161042e91906123c4565b60405180910390f35b348015610442575f80fd5b5061044b610c80565b60405161045891906121e7565b60405180910390f35b34801561046c575f80fd5b5061048760048036038101906104829190612298565b610d10565b60405161049491906122f0565b60405180910390f35b3480156104a8575f80fd5b506104c360048036038101906104be9190612298565b610df4565b6040516104d091906122f0565b60405180910390f35b3480156104e4575f80fd5b506104ff60048036038101906104fa91906124ac565b610e16565b005b34801561050c575f80fd5b50610515610fa8565b005b348015610522575f80fd5b5061052b6111df565b6040516105389190612318565b60405180910390f35b34801561054c575f80fd5b50610567600480360381019061056291906124d7565b6111e5565b6040516105749190612318565b60405180910390f35b348015610588575f80fd5b50610591611267565b60405161059e9190612318565b60405180910390f35b3480156105b2575f80fd5b506105bb61126d565b6040516105c89190612318565b60405180910390f35b3480156105dc575f80fd5b506105f760048036038101906105f29190612446565b611273565b005b60606003805461060890612542565b80601f016020809104026020016040519081016040528092919081815260200182805461063490612542565b801561067f5780601f106106565761010080835404028352916020019161067f565b820191905f5260205f20905b81548152906001019060200180831161066257829003601f168201915b5050505050905090565b5f80610693611369565b90506106a0818585611370565b600191505092915050565b6106b3611369565b73ffffffffffffffffffffffffffffffffffffffff166106d1610c58565b73ffffffffffffffffffffffffffffffffffffffff1614610727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071e906125bc565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561078a573d5f803e3d5ffd5b50565b5f600254905090565b60085481565b5f806107a6611369565b90506107b3858285611533565b6107be8585856115be565b60019150509392505050565b5f6012905090565b5f806107dc611369565b905061086c81858560015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108679190612607565b611370565b600191505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c8611369565b73ffffffffffffffffffffffffffffffffffffffff166108e6610c58565b73ffffffffffffffffffffffffffffffffffffffff161461093c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610933906125bc565b60405180910390fd5b5f600781905550565b61094d611369565b73ffffffffffffffffffffffffffffffffffffffff1661096b610c58565b73ffffffffffffffffffffffffffffffffffffffff16146109c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b8906125bc565b60405180910390fd5b6109f1620186a06109e360016109d561078d565b611a5e90919063ffffffff16565b611a7390919063ffffffff16565b811015610a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2a906126aa565b60405180910390fd5b610a616064610a536002610a4561078d565b611a5e90919063ffffffff16565b611a7390919063ffffffff16565b811115610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a90612738565b60405180910390fd5b8060088190555050565b610ab5611369565b73ffffffffffffffffffffffffffffffffffffffff16610ad3610c58565b73ffffffffffffffffffffffffffffffffffffffff1614610b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b20906125bc565b60405180910390fd5b60148211158015610b3b575060148111155b610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b71906127c6565b60405180910390fd5b8160098190555080600a819055505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bd9611369565b73ffffffffffffffffffffffffffffffffffffffff16610bf7610c58565b73ffffffffffffffffffffffffffffffffffffffff1614610c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c44906125bc565b60405180910390fd5b610c565f611a88565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c8f90612542565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbb90612542565b8015610d065780601f10610cdd57610100808354040283529160200191610d06565b820191905f5260205f20905b815481529060010190602001808311610ce957829003601f168201915b5050505050905090565b5f80610d1a611369565b90505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083811015610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612854565b60405180910390fd5b610de88286868403611370565b60019250505092915050565b5f80610dfe611369565b9050610e0b8185856115be565b600191505092915050565b610e1e611369565b73ffffffffffffffffffffffffffffffffffffffff16610e3c610c58565b73ffffffffffffffffffffffffffffffffffffffff1614610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e89906125bc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f00000000000000000000000000000000000000000000000000000000000000008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f0891906123c4565b602060405180830381865afa158015610f23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f479190612886565b6040518363ffffffff1660e01b8152600401610f649291906128b1565b6020604051808303815f875af1158015610f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa49190612902565b5050565b610fb0611369565b73ffffffffffffffffffffffffffffffffffffffff16610fce610c58565b73ffffffffffffffffffffffffffffffffffffffff1614611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b906125bc565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611081573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a59190612941565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561111e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111429190612941565b6040518363ffffffff1660e01b815260040161115f92919061296c565b602060405180830381865afa15801561117a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119e9190612941565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b60075481565b61127b611369565b73ffffffffffffffffffffffffffffffffffffffff16611299610c58565b73ffffffffffffffffffffffffffffffffffffffff16146112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e6906125bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361135d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135490612a03565b60405180910390fd5b61136681611a88565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d590612a91565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390612b1f565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115269190612318565b60405180910390a3505050565b5f61153e84846111e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146115b857818110156115aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a190612b87565b60405180910390fd5b6115b78484848403611370565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162390612c15565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361169a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169190612ca3565b60405180910390fd5b5f81116116dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d390612d31565b60405180910390fd5b5f600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806117785750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415806117d35750805b611812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180990612d99565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16149050811580156118c757505f600754115b80156118d1575082155b1561192f57600754846118e387610b8c565b6118ed9190612607565b111561192e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192590612e4d565b60405180910390fd5b5b60085461193b30610b8c565b101580156119555750600b5f9054906101000a900460ff16155b801561195e5750815b8015611968575082155b156119a9576001600b5f6101000a81548160ff02191690831515021790555061198f611b4b565b5f600b5f6101000a81548160ff0219169083151502179055505b5f816119b757600a546119bb565b6009545b90505f811115611a4a57831580156119df5750600b5f9054906101000a900460ff16155b80156119f0575081806119ef5750825b5b15611a49575f611a1c6064611a0e8489611a5e90919063ffffffff16565b611a7390919063ffffffff16565b90505f811115611a3257611a31883083611ec9565b5b611a45818761213e90919063ffffffff16565b9550505b5b611a55878787611ec9565b50505050505050565b5f8183611a6b9190612e6b565b905092915050565b5f8183611a809190612ed9565b905092915050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611b5530610b8c565b90505f8103611b645750611ec7565b600854811115611b745760085490505b5f4790505f600267ffffffffffffffff811115611b9457611b93612f09565b5b604051908082528060200260200182016040528015611bc25781602001602082028036833780820191505090505b50905030815f81518110611bd957611bd8612f36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c949190612941565b81600181518110611ca857611ca7612f36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d0130737a250d5630b4cf539739df2c5dacb4c659f2488d85611370565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b8152600401611d5695949392919061305c565b5f604051808303815f87803b158015611d6d575f80fd5b505af1158015611d7f573d5f803e3d5ffd5b505050505f611d97834761213e90919063ffffffff16565b90505f611dc16064611db3600585611a5e90919063ffffffff16565b611a7390919063ffffffff16565b9050611dd6818361213e90919063ffffffff16565b91507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015611e3b573d5f803e3d5ffd5b507332bcca76c9dd8db73b1239dbe8eb81b86fff597c73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e93573d5f803e3d5ffd5b50807f1cfca31204cc745553128283c3bd97acb07e803bd611f352db637c644eb59b8760405160405180910390a250505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2e90613124565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9c906131b2565b60405180910390fd5b611fb0838383612153565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a90613240565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546120c19190612607565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121259190612318565b60405180910390a3612138848484612158565b50505050565b5f818361214b919061325e565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612194578082015181840152602081019050612179565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6121b98261215d565b6121c38185612167565b93506121d3818560208601612177565b6121dc8161219f565b840191505092915050565b5f6020820190508181035f8301526121ff81846121af565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122348261220b565b9050919050565b6122448161222a565b811461224e575f80fd5b50565b5f8135905061225f8161223b565b92915050565b5f819050919050565b61227781612265565b8114612281575f80fd5b50565b5f813590506122928161226e565b92915050565b5f80604083850312156122ae576122ad612207565b5b5f6122bb85828601612251565b92505060206122cc85828601612284565b9150509250929050565b5f8115159050919050565b6122ea816122d6565b82525050565b5f6020820190506123035f8301846122e1565b92915050565b61231281612265565b82525050565b5f60208201905061232b5f830184612309565b92915050565b5f805f6060848603121561234857612347612207565b5b5f61235586828701612251565b935050602061236686828701612251565b925050604061237786828701612284565b9150509250925092565b5f60ff82169050919050565b61239681612381565b82525050565b5f6020820190506123af5f83018461238d565b92915050565b6123be8161222a565b82525050565b5f6020820190506123d75f8301846123b5565b92915050565b5f602082840312156123f2576123f1612207565b5b5f6123ff84828501612284565b91505092915050565b5f806040838503121561241e5761241d612207565b5b5f61242b85828601612284565b925050602061243c85828601612284565b9150509250929050565b5f6020828403121561245b5761245a612207565b5b5f61246884828501612251565b91505092915050565b5f61247b8261222a565b9050919050565b61248b81612471565b8114612495575f80fd5b50565b5f813590506124a681612482565b92915050565b5f602082840312156124c1576124c0612207565b5b5f6124ce84828501612498565b91505092915050565b5f80604083850312156124ed576124ec612207565b5b5f6124fa85828601612251565b925050602061250b85828601612251565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061255957607f821691505b60208210810361256c5761256b612515565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6125a6602083612167565b91506125b182612572565b602082019050919050565b5f6020820190508181035f8301526125d38161259a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61261182612265565b915061261c83612265565b9250828201905080821115612634576126336125da565b5b92915050565b7f53776170207468726573686f6c642063616e6e6f74206265206c6f77657220745f8201527f68616e20302e3030312520746f74616c20737570706c792e0000000000000000602082015250565b5f612694603883612167565b915061269f8261263a565b604082019050919050565b5f6020820190508181035f8301526126c181612688565b9050919050565b7f53776170207468726573686f6c642063616e6e6f7420626520686967686572205f8201527f7468616e20322520746f74616c20737570706c792e0000000000000000000000602082015250565b5f612722603583612167565b915061272d826126c8565b604082019050919050565b5f6020820190508181035f83015261274f81612716565b9050919050565b7f417474656d7074696e6720746f207365742066656520686967686572207468615f8201527f6e20696e697469616c206665652e000000000000000000000000000000000000602082015250565b5f6127b0602e83612167565b91506127bb82612756565b604082019050919050565b5f6020820190508181035f8301526127dd816127a4565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61283e602583612167565b9150612849826127e4565b604082019050919050565b5f6020820190508181035f83015261286b81612832565b9050919050565b5f815190506128808161226e565b92915050565b5f6020828403121561289b5761289a612207565b5b5f6128a884828501612872565b91505092915050565b5f6040820190506128c45f8301856123b5565b6128d16020830184612309565b9392505050565b6128e1816122d6565b81146128eb575f80fd5b50565b5f815190506128fc816128d8565b92915050565b5f6020828403121561291757612916612207565b5b5f612924848285016128ee565b91505092915050565b5f8151905061293b8161223b565b92915050565b5f6020828403121561295657612955612207565b5b5f6129638482850161292d565b91505092915050565b5f60408201905061297f5f8301856123b5565b61298c60208301846123b5565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129ed602683612167565b91506129f882612993565b604082019050919050565b5f6020820190508181035f830152612a1a816129e1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a7b602483612167565b9150612a8682612a21565b604082019050919050565b5f6020820190508181035f830152612aa881612a6f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b09602283612167565b9150612b1482612aaf565b604082019050919050565b5f6020820190508181035f830152612b3681612afd565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612b71601d83612167565b9150612b7c82612b3d565b602082019050919050565b5f6020820190508181035f830152612b9e81612b65565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f2061646472657373206e5f8201527f6f7420616c6c6f7765642e000000000000000000000000000000000000000000602082015250565b5f612bff602b83612167565b9150612c0a82612ba5565b604082019050919050565b5f6020820190508181035f830152612c2c81612bf3565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373206e6f745f8201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000602082015250565b5f612c8d602983612167565b9150612c9882612c33565b604082019050919050565b5f6020820190508181035f830152612cba81612c81565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b5f612d1b602a83612167565b9150612d2682612cc1565b604082019050919050565b5f6020820190508181035f830152612d4881612d0f565b9050919050565b7f4c69717569646974792070616972206e6f742079657420637265617465642e005f82015250565b5f612d83601f83612167565b9150612d8e82612d4f565b602082019050919050565b5f6020820190508181035f830152612db081612d77565b9050919050565b7f42616c616e63652065786365656473206d617820686f6c64696e677320616d6f5f8201527f756e742c20636f6e7369646572207573696e672061207365636f6e642077616c60208201527f6c65742e00000000000000000000000000000000000000000000000000000000604082015250565b5f612e37604483612167565b9150612e4282612db7565b606082019050919050565b5f6020820190508181035f830152612e6481612e2b565b9050919050565b5f612e7582612265565b9150612e8083612265565b9250828202612e8e81612265565b91508282048414831517612ea557612ea46125da565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ee382612265565b9150612eee83612265565b925082612efe57612efd612eac565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f612f8f612f8a612f8584612f63565b612f6c565b612265565b9050919050565b612f9f81612f75565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612fd78161222a565b82525050565b5f612fe88383612fce565b60208301905092915050565b5f602082019050919050565b5f61300a82612fa5565b6130148185612faf565b935061301f83612fbf565b805f5b8381101561304f5781516130368882612fdd565b975061304183612ff4565b925050600181019050613022565b5085935050505092915050565b5f60a08201905061306f5f830188612309565b61307c6020830187612f96565b818103604083015261308e8186613000565b905061309d60608301856123b5565b6130aa6080830184612309565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61310e602583612167565b9150613119826130b4565b604082019050919050565b5f6020820190508181035f83015261313b81613102565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61319c602383612167565b91506131a782613142565b604082019050919050565b5f6020820190508181035f8301526131c981613190565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61322a602683612167565b9150613235826131d0565b604082019050919050565b5f6020820190508181035f8301526132578161321e565b9050919050565b5f61326882612265565b915061327383612265565b925082820390508181111561328b5761328a6125da565b5b9291505056fea2646970667358221220cda6a8d3e6b28249a992128842aae45cb58eba38984e5bb5cd64bdcc920a788b64736f6c63430008160033

Deployed Bytecode

0x608060405260043610610184575f3560e01c806370a08231116100d0578063c83c383711610089578063dd62ed3e11610063578063dd62ed3e14610541578063e0d30d9b1461057d578063e54f4faa146105a7578063f2fde38b146105d15761018b565b8063c83c3837146104d9578063c9567bf914610501578063cc3fdd4c146105175761018b565b806370a08231146103bb578063715018a6146103f75780638da5cb5b1461040d57806395d89b4114610437578063a457c2d714610461578063a9059cbb1461049d5761018b565b8063313ce5671161013d57806353945d7b1161011757806353945d7b1461032b5780635564ad7114610355578063578878b41461036b57806359acbe4e146103935761018b565b8063313ce5671461029b57806339509351146102c557806341275358146103015761018b565b806306fdde031461018f578063095ea7b3146101b95780630f299cf1146101f557806318160ddd1461020b5780631bfb744e1461023557806323b872dd1461025f5761018b565b3661018b57005b5f80fd5b34801561019a575f80fd5b506101a36105f9565b6040516101b091906121e7565b60405180910390f35b3480156101c4575f80fd5b506101df60048036038101906101da9190612298565b610689565b6040516101ec91906122f0565b60405180910390f35b348015610200575f80fd5b506102096106ab565b005b348015610216575f80fd5b5061021f61078d565b60405161022c9190612318565b60405180910390f35b348015610240575f80fd5b50610249610796565b6040516102569190612318565b60405180910390f35b34801561026a575f80fd5b5061028560048036038101906102809190612331565b61079c565b60405161029291906122f0565b60405180910390f35b3480156102a6575f80fd5b506102af6107ca565b6040516102bc919061239c565b60405180910390f35b3480156102d0575f80fd5b506102eb60048036038101906102e69190612298565b6107d2565b6040516102f891906122f0565b60405180910390f35b34801561030c575f80fd5b50610315610877565b60405161032291906123c4565b60405180910390f35b348015610336575f80fd5b5061033f61089b565b60405161034c91906123c4565b60405180910390f35b348015610360575f80fd5b506103696108c0565b005b348015610376575f80fd5b50610391600480360381019061038c91906123dd565b610945565b005b34801561039e575f80fd5b506103b960048036038101906103b49190612408565b610aad565b005b3480156103c6575f80fd5b506103e160048036038101906103dc9190612446565b610b8c565b6040516103ee9190612318565b60405180910390f35b348015610402575f80fd5b5061040b610bd1565b005b348015610418575f80fd5b50610421610c58565b60405161042e91906123c4565b60405180910390f35b348015610442575f80fd5b5061044b610c80565b60405161045891906121e7565b60405180910390f35b34801561046c575f80fd5b5061048760048036038101906104829190612298565b610d10565b60405161049491906122f0565b60405180910390f35b3480156104a8575f80fd5b506104c360048036038101906104be9190612298565b610df4565b6040516104d091906122f0565b60405180910390f35b3480156104e4575f80fd5b506104ff60048036038101906104fa91906124ac565b610e16565b005b34801561050c575f80fd5b50610515610fa8565b005b348015610522575f80fd5b5061052b6111df565b6040516105389190612318565b60405180910390f35b34801561054c575f80fd5b50610567600480360381019061056291906124d7565b6111e5565b6040516105749190612318565b60405180910390f35b348015610588575f80fd5b50610591611267565b60405161059e9190612318565b60405180910390f35b3480156105b2575f80fd5b506105bb61126d565b6040516105c89190612318565b60405180910390f35b3480156105dc575f80fd5b506105f760048036038101906105f29190612446565b611273565b005b60606003805461060890612542565b80601f016020809104026020016040519081016040528092919081815260200182805461063490612542565b801561067f5780601f106106565761010080835404028352916020019161067f565b820191905f5260205f20905b81548152906001019060200180831161066257829003601f168201915b5050505050905090565b5f80610693611369565b90506106a0818585611370565b600191505092915050565b6106b3611369565b73ffffffffffffffffffffffffffffffffffffffff166106d1610c58565b73ffffffffffffffffffffffffffffffffffffffff1614610727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071e906125bc565b60405180910390fd5b7f0000000000000000000000004080cede9bd96ad07378cadf1a9a9d50a7e6c23b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f1935050505015801561078a573d5f803e3d5ffd5b50565b5f600254905090565b60085481565b5f806107a6611369565b90506107b3858285611533565b6107be8585856115be565b60019150509392505050565b5f6012905090565b5f806107dc611369565b905061086c81858560015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546108679190612607565b611370565b600191505092915050565b7f0000000000000000000000004080cede9bd96ad07378cadf1a9a9d50a7e6c23b81565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6108c8611369565b73ffffffffffffffffffffffffffffffffffffffff166108e6610c58565b73ffffffffffffffffffffffffffffffffffffffff161461093c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610933906125bc565b60405180910390fd5b5f600781905550565b61094d611369565b73ffffffffffffffffffffffffffffffffffffffff1661096b610c58565b73ffffffffffffffffffffffffffffffffffffffff16146109c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b8906125bc565b60405180910390fd5b6109f1620186a06109e360016109d561078d565b611a5e90919063ffffffff16565b611a7390919063ffffffff16565b811015610a33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2a906126aa565b60405180910390fd5b610a616064610a536002610a4561078d565b611a5e90919063ffffffff16565b611a7390919063ffffffff16565b811115610aa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9a90612738565b60405180910390fd5b8060088190555050565b610ab5611369565b73ffffffffffffffffffffffffffffffffffffffff16610ad3610c58565b73ffffffffffffffffffffffffffffffffffffffff1614610b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b20906125bc565b60405180910390fd5b60148211158015610b3b575060148111155b610b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b71906127c6565b60405180910390fd5b8160098190555080600a819055505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610bd9611369565b73ffffffffffffffffffffffffffffffffffffffff16610bf7610c58565b73ffffffffffffffffffffffffffffffffffffffff1614610c4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c44906125bc565b60405180910390fd5b610c565f611a88565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610c8f90612542565b80601f0160208091040260200160405190810160405280929190818152602001828054610cbb90612542565b8015610d065780601f10610cdd57610100808354040283529160200191610d06565b820191905f5260205f20905b815481529060010190602001808311610ce957829003601f168201915b5050505050905090565b5f80610d1a611369565b90505f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083811015610ddb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dd290612854565b60405180910390fd5b610de88286868403611370565b60019250505092915050565b5f80610dfe611369565b9050610e0b8185856115be565b600191505092915050565b610e1e611369565b73ffffffffffffffffffffffffffffffffffffffff16610e3c610c58565b73ffffffffffffffffffffffffffffffffffffffff1614610e92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e89906125bc565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb7f0000000000000000000000004080cede9bd96ad07378cadf1a9a9d50a7e6c23b8373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f0891906123c4565b602060405180830381865afa158015610f23573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f479190612886565b6040518363ffffffff1660e01b8152600401610f649291906128b1565b6020604051808303815f875af1158015610f80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa49190612902565b5050565b610fb0611369565b73ffffffffffffffffffffffffffffffffffffffff16610fce610c58565b73ffffffffffffffffffffffffffffffffffffffff1614611024576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101b906125bc565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611081573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110a59190612941565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561111e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111429190612941565b6040518363ffffffff1660e01b815260040161115f92919061296c565b602060405180830381865afa15801561117a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119e9190612941565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60095481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600a5481565b60075481565b61127b611369565b73ffffffffffffffffffffffffffffffffffffffff16611299610c58565b73ffffffffffffffffffffffffffffffffffffffff16146112ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e6906125bc565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361135d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135490612a03565b60405180910390fd5b61136681611a88565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036113de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d590612a91565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361144c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144390612b1f565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115269190612318565b60405180910390a3505050565b5f61153e84846111e5565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146115b857818110156115aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a190612b87565b60405180910390fd5b6115b78484848403611370565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361162c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162390612c15565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361169a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169190612ca3565b60405180910390fd5b5f81116116dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d390612d31565b60405180910390fd5b5f600c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806117785750600c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415806117d35750805b611812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180990612d99565b60405180910390fd5b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490505f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16149050811580156118c757505f600754115b80156118d1575082155b1561192f57600754846118e387610b8c565b6118ed9190612607565b111561192e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192590612e4d565b60405180910390fd5b5b60085461193b30610b8c565b101580156119555750600b5f9054906101000a900460ff16155b801561195e5750815b8015611968575082155b156119a9576001600b5f6101000a81548160ff02191690831515021790555061198f611b4b565b5f600b5f6101000a81548160ff0219169083151502179055505b5f816119b757600a546119bb565b6009545b90505f811115611a4a57831580156119df5750600b5f9054906101000a900460ff16155b80156119f0575081806119ef5750825b5b15611a49575f611a1c6064611a0e8489611a5e90919063ffffffff16565b611a7390919063ffffffff16565b90505f811115611a3257611a31883083611ec9565b5b611a45818761213e90919063ffffffff16565b9550505b5b611a55878787611ec9565b50505050505050565b5f8183611a6b9190612e6b565b905092915050565b5f8183611a809190612ed9565b905092915050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f611b5530610b8c565b90505f8103611b645750611ec7565b600854811115611b745760085490505b5f4790505f600267ffffffffffffffff811115611b9457611b93612f09565b5b604051908082528060200260200182016040528015611bc25781602001602082028036833780820191505090505b50905030815f81518110611bd957611bd8612f36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611c70573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c949190612941565b81600181518110611ca857611ca7612f36565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611d0130737a250d5630b4cf539739df2c5dacb4c659f2488d85611370565b737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8430426040518663ffffffff1660e01b8152600401611d5695949392919061305c565b5f604051808303815f87803b158015611d6d575f80fd5b505af1158015611d7f573d5f803e3d5ffd5b505050505f611d97834761213e90919063ffffffff16565b90505f611dc16064611db3600585611a5e90919063ffffffff16565b611a7390919063ffffffff16565b9050611dd6818361213e90919063ffffffff16565b91507f0000000000000000000000004080cede9bd96ad07378cadf1a9a9d50a7e6c23b73ffffffffffffffffffffffffffffffffffffffff166108fc8390811502906040515f60405180830381858888f19350505050158015611e3b573d5f803e3d5ffd5b507332bcca76c9dd8db73b1239dbe8eb81b86fff597c73ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611e93573d5f803e3d5ffd5b50807f1cfca31204cc745553128283c3bd97acb07e803bd611f352db637c644eb59b8760405160405180910390a250505050505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2e90613124565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9c906131b2565b60405180910390fd5b611fb0838383612153565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a90613240565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546120c19190612607565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121259190612318565b60405180910390a3612138848484612158565b50505050565b5f818361214b919061325e565b905092915050565b505050565b505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612194578082015181840152602081019050612179565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6121b98261215d565b6121c38185612167565b93506121d3818560208601612177565b6121dc8161219f565b840191505092915050565b5f6020820190508181035f8301526121ff81846121af565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6122348261220b565b9050919050565b6122448161222a565b811461224e575f80fd5b50565b5f8135905061225f8161223b565b92915050565b5f819050919050565b61227781612265565b8114612281575f80fd5b50565b5f813590506122928161226e565b92915050565b5f80604083850312156122ae576122ad612207565b5b5f6122bb85828601612251565b92505060206122cc85828601612284565b9150509250929050565b5f8115159050919050565b6122ea816122d6565b82525050565b5f6020820190506123035f8301846122e1565b92915050565b61231281612265565b82525050565b5f60208201905061232b5f830184612309565b92915050565b5f805f6060848603121561234857612347612207565b5b5f61235586828701612251565b935050602061236686828701612251565b925050604061237786828701612284565b9150509250925092565b5f60ff82169050919050565b61239681612381565b82525050565b5f6020820190506123af5f83018461238d565b92915050565b6123be8161222a565b82525050565b5f6020820190506123d75f8301846123b5565b92915050565b5f602082840312156123f2576123f1612207565b5b5f6123ff84828501612284565b91505092915050565b5f806040838503121561241e5761241d612207565b5b5f61242b85828601612284565b925050602061243c85828601612284565b9150509250929050565b5f6020828403121561245b5761245a612207565b5b5f61246884828501612251565b91505092915050565b5f61247b8261222a565b9050919050565b61248b81612471565b8114612495575f80fd5b50565b5f813590506124a681612482565b92915050565b5f602082840312156124c1576124c0612207565b5b5f6124ce84828501612498565b91505092915050565b5f80604083850312156124ed576124ec612207565b5b5f6124fa85828601612251565b925050602061250b85828601612251565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061255957607f821691505b60208210810361256c5761256b612515565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6125a6602083612167565b91506125b182612572565b602082019050919050565b5f6020820190508181035f8301526125d38161259a565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61261182612265565b915061261c83612265565b9250828201905080821115612634576126336125da565b5b92915050565b7f53776170207468726573686f6c642063616e6e6f74206265206c6f77657220745f8201527f68616e20302e3030312520746f74616c20737570706c792e0000000000000000602082015250565b5f612694603883612167565b915061269f8261263a565b604082019050919050565b5f6020820190508181035f8301526126c181612688565b9050919050565b7f53776170207468726573686f6c642063616e6e6f7420626520686967686572205f8201527f7468616e20322520746f74616c20737570706c792e0000000000000000000000602082015250565b5f612722603583612167565b915061272d826126c8565b604082019050919050565b5f6020820190508181035f83015261274f81612716565b9050919050565b7f417474656d7074696e6720746f207365742066656520686967686572207468615f8201527f6e20696e697469616c206665652e000000000000000000000000000000000000602082015250565b5f6127b0602e83612167565b91506127bb82612756565b604082019050919050565b5f6020820190508181035f8301526127dd816127a4565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f61283e602583612167565b9150612849826127e4565b604082019050919050565b5f6020820190508181035f83015261286b81612832565b9050919050565b5f815190506128808161226e565b92915050565b5f6020828403121561289b5761289a612207565b5b5f6128a884828501612872565b91505092915050565b5f6040820190506128c45f8301856123b5565b6128d16020830184612309565b9392505050565b6128e1816122d6565b81146128eb575f80fd5b50565b5f815190506128fc816128d8565b92915050565b5f6020828403121561291757612916612207565b5b5f612924848285016128ee565b91505092915050565b5f8151905061293b8161223b565b92915050565b5f6020828403121561295657612955612207565b5b5f6129638482850161292d565b91505092915050565b5f60408201905061297f5f8301856123b5565b61298c60208301846123b5565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6129ed602683612167565b91506129f882612993565b604082019050919050565b5f6020820190508181035f830152612a1a816129e1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a7b602483612167565b9150612a8682612a21565b604082019050919050565b5f6020820190508181035f830152612aa881612a6f565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b09602283612167565b9150612b1482612aaf565b604082019050919050565b5f6020820190508181035f830152612b3681612afd565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f612b71601d83612167565b9150612b7c82612b3d565b602082019050919050565b5f6020820190508181035f830152612b9e81612b65565b9050919050565b7f5472616e736665722066726f6d20746865207a65726f2061646472657373206e5f8201527f6f7420616c6c6f7765642e000000000000000000000000000000000000000000602082015250565b5f612bff602b83612167565b9150612c0a82612ba5565b604082019050919050565b5f6020820190508181035f830152612c2c81612bf3565b9050919050565b7f5472616e7366657220746f20746865207a65726f2061646472657373206e6f745f8201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000602082015250565b5f612c8d602983612167565b9150612c9882612c33565b604082019050919050565b5f6020820190508181035f830152612cba81612c81565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f2e00000000000000000000000000000000000000000000602082015250565b5f612d1b602a83612167565b9150612d2682612cc1565b604082019050919050565b5f6020820190508181035f830152612d4881612d0f565b9050919050565b7f4c69717569646974792070616972206e6f742079657420637265617465642e005f82015250565b5f612d83601f83612167565b9150612d8e82612d4f565b602082019050919050565b5f6020820190508181035f830152612db081612d77565b9050919050565b7f42616c616e63652065786365656473206d617820686f6c64696e677320616d6f5f8201527f756e742c20636f6e7369646572207573696e672061207365636f6e642077616c60208201527f6c65742e00000000000000000000000000000000000000000000000000000000604082015250565b5f612e37604483612167565b9150612e4282612db7565b606082019050919050565b5f6020820190508181035f830152612e6481612e2b565b9050919050565b5f612e7582612265565b9150612e8083612265565b9250828202612e8e81612265565b91508282048414831517612ea557612ea46125da565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612ee382612265565b9150612eee83612265565b925082612efe57612efd612eac565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f819050919050565b5f612f8f612f8a612f8584612f63565b612f6c565b612265565b9050919050565b612f9f81612f75565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612fd78161222a565b82525050565b5f612fe88383612fce565b60208301905092915050565b5f602082019050919050565b5f61300a82612fa5565b6130148185612faf565b935061301f83612fbf565b805f5b8381101561304f5781516130368882612fdd565b975061304183612ff4565b925050600181019050613022565b5085935050505092915050565b5f60a08201905061306f5f830188612309565b61307c6020830187612f96565b818103604083015261308e8186613000565b905061309d60608301856123b5565b6130aa6080830184612309565b9695505050505050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61310e602583612167565b9150613119826130b4565b604082019050919050565b5f6020820190508181035f83015261313b81613102565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61319c602383612167565b91506131a782613142565b604082019050919050565b5f6020820190508181035f8301526131c981613190565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f61322a602683612167565b9150613235826131d0565b604082019050919050565b5f6020820190508181035f8301526132578161321e565b9050919050565b5f61326882612265565b915061327383612265565b925082820390508181111561328b5761328a6125da565b5b9291505056fea2646970667358221220cda6a8d3e6b28249a992128842aae45cb58eba38984e5bb5cd64bdcc920a788b64736f6c63430008160033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

OVERVIEW

Vote Trump's goal is to leverage blockchain technology and decentralization to drive engagement and shape political discourse around crypto-friendly policies.

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.