ETH Price: $2,514.98 (+2.48%)

Contract

0x65cA08479274387b6179D239fd93BbC424982a55
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer205399652024-08-16 8:21:5917 days ago1723796519IN
0x65cA0847...424982a55
0 ETH0.000121341.98314482
Transfer205333002024-08-15 10:01:2318 days ago1723716083IN
0x65cA0847...424982a55
0 ETH0.00011392.57186771
Transfer204388412024-08-02 5:41:4732 days ago1722577307IN
0x65cA0847...424982a55
0 ETH0.000106312.41064658
Transfer204338992024-08-01 13:09:1132 days ago1722517751IN
0x65cA0847...424982a55
0 ETH0.000373839.4585921
Transfer204322272024-08-01 7:32:3532 days ago1722497555IN
0x65cA0847...424982a55
0 ETH0.000236965.37329764
Transfer204322002024-08-01 7:27:1132 days ago1722497231IN
0x65cA0847...424982a55
0 ETH0.000232225.27011702
Transfer204319502024-08-01 6:37:1132 days ago1722494231IN
0x65cA0847...424982a55
0 ETH0.000147953.34
Transfer204318122024-08-01 6:09:3533 days ago1722492575IN
0x65cA0847...424982a55
0 ETH0.000178923.16
Transfer203912982024-07-26 14:23:5938 days ago1722003839IN
0x65cA0847...424982a55
0 ETH0.000637610.42030672
Transfer203477972024-07-20 12:39:2344 days ago1721479163IN
0x65cA0847...424982a55
0 ETH0.000269154.77316706
Transfer203388122024-07-19 6:33:5945 days ago1721370839IN
0x65cA0847...424982a55
0 ETH0.000284224.63
Transfer202048332024-06-30 13:34:4764 days ago1719754487IN
0x65cA0847...424982a55
0 ETH0.000285637.27237915
Transfer201232452024-06-19 3:55:4776 days ago1718769347IN
0x65cA0847...424982a55
0 ETH0.000274344.47
Transfer201200662024-06-18 17:15:3576 days ago1718730935IN
0x65cA0847...424982a55
0 ETH0.000486912.39672927
Transfer201067242024-06-16 20:24:5978 days ago1718569499IN
0x65cA0847...424982a55
0 ETH0.000352555.74432356
Approve201054402024-06-16 16:06:3578 days ago1718553995IN
0x65cA0847...424982a55
0 ETH0.000356897.70239414
Transfer200987392024-06-15 17:39:1179 days ago1718473151IN
0x65cA0847...424982a55
0 ETH0.000388829.89648642
Transfer200987372024-06-15 17:38:4779 days ago1718473127IN
0x65cA0847...424982a55
0 ETH0.000438159.94074822
Transfer200987242024-06-15 17:36:1179 days ago1718472971IN
0x65cA0847...424982a55
0 ETH0.000435759.88360107
Transfer200914202024-06-14 17:04:2380 days ago1718384663IN
0x65cA0847...424982a55
0 ETH0.0010318423.29909104
Approve200876902024-06-14 4:34:2381 days ago1718339663IN
0x65cA0847...424982a55
0 ETH0.000440369.5110299
Transfer200476542024-06-08 14:17:3586 days ago1717856255IN
0x65cA0847...424982a55
0 ETH0.00034377.79359734
Transfer200467892024-06-08 11:23:1186 days ago1717845791IN
0x65cA0847...424982a55
0 ETH0.000278966.3006451
Transfer200465452024-06-08 10:34:1186 days ago1717842851IN
0x65cA0847...424982a55
0 ETH0.000259545.85899262
Transfer200454432024-06-08 6:52:4786 days ago1717829567IN
0x65cA0847...424982a55
0 ETH0.000267616.07157234
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EHX

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : ehx.sol
// SPDX-License-Identifier: MIT                                                                               
                                                    
pragma solidity ^0.8.16;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);

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

contract ERC20 is Context, IERC20 {
    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 recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, 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) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance");
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

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

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

        return true;
    }

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

        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

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

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

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        unchecked {
            _balances[account] = accountBalance - amount;
            // Overflow not possible: amount <= accountBalance <= totalSupply.
            _totalSupply -= amount;
        }

        emit Transfer(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);
    }
}

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

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

library Roles {
    struct Role {
        mapping (address => bool) bearer;
    }

    function add(Role storage role, address account) internal {
        require(!has(role, account), "Roles: account already has role");
        role.bearer[account] = true;
    }

    function remove(Role storage role, address account) internal {
        require(has(role, account), "Roles: account does not have role");
        role.bearer[account] = false;
    }

    function has(Role storage role, address account) internal view returns (bool) {
        require(account != address(0), "Roles: account is the zero address");
        return role.bearer[account];
    }
}

contract AuthorizedRole is Ownable {
    using Roles for Roles.Role;

    event AuthorizedAdded(address indexed account);
    event AuthorizedRemoved(address indexed account);

    Roles.Role private _authorizeds;

    modifier onlyAuthorized() {
        require(isAuthorized(msg.sender), "AuthorizedRole: caller does not have the Authorized role");
        _;
    }

    function isAuthorized(address account) public view returns (bool) {
        return _authorizeds.has(account);
    }

    function addAuthorized(address account) public onlyOwner {
        _addAuthorized(account);
    }

    function removeAuthorized(address account) public onlyOwner {
        _removeAuthorized(account);
    }

    function renounceAuthorized() public {
        _removeAuthorized(msg.sender);
    }

    function _addAuthorized(address account) internal {
        _authorizeds.add(account);
        emit AuthorizedAdded(account);
    }

    function _removeAuthorized(address account) internal {
        _authorizeds.remove(account);
        emit AuthorizedRemoved(account);
    }
}

interface IDexRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
}

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

contract EHX is ERC20, Ownable, AuthorizedRole {

    uint256 public maxTransaction;

    address public robinHoodWallet;
    uint256 public robinHoodPercent = 10;

    IDexRouter public immutable dexRouter;
    //address public immutable lpPair;
    address public immutable lpPairEth;

    mapping (address => uint256) public lastBuyBlock;

    uint256 public tradingActiveBlock = 0; // 0 means trading is not active
    mapping (address => bool) public restrictedWallets;
    uint256 public blockForPenaltyEnd;

    bool public limitsInEffect = true;
    bool public tradingActive = false;
    bool public robinHoodActive = true;
    
    mapping (address => bool) public _isWhitelisted;

    mapping (address => bool) public automatedMarketMakerPairs;

    // Events

    event SetAutomatedMarketMakerPair(address indexed pair, bool indexed value);
    event EnabledTrading();
    event RemovedLimits();
    event Whitelisted(address indexed account, bool isWhitelisted);
    event UpdatedMaxTransaction(uint256 newAmount);
    event TransferForeignToken(address token, uint256 amount);

    constructor() ERC20("Eterna", "EHX") {

        address stablecoinAddress;
        address _dexRouter;

        // automatically detect router/desired stablecoin
        if(block.chainid == 1){
            stablecoinAddress = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48; // USDC
            _dexRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH: Uniswap V2
        } else if(block.chainid == 4){
            stablecoinAddress  = 0xE7d541c18D6aDb863F4C570065c57b75a53a64d3; // Rinkeby Testnet USDC
            _dexRouter = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; // ETH: Uniswap V2
        } else if(block.chainid == 56){
            stablecoinAddress  = 0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56; // BUSD
            _dexRouter = 0x10ED43C718714eb63d5aA57B78B54704E256024E; // BNB Chain: PCS V2
        } else if(block.chainid == 97){
            stablecoinAddress  = 0x78867BbEeF44f2326bF8DDd1941a4439382EF2A7; // BSC Testnet BUSD
            _dexRouter = 0xD99D1c33F9fC3444f8101754aBC46c52416550D1; // BNB Chain: PCS V2
        } else {
            revert("Chain not configured");
        }

        dexRouter = IDexRouter(_dexRouter);

        // create pair
        // lpPair = IDexFactory(dexRouter.factory()).createPair(address(this), address(stablecoinAddress));
        // setAutomatedMarketMakerPair(address(lpPair), true);

        lpPairEth = IDexFactory(dexRouter.factory()).createPair(address(this), dexRouter.WETH());
        setAutomatedMarketMakerPair(address(lpPairEth), true);

        uint256 totalSupply = 2 * 1e9 * 1e18;
        
        maxTransaction = totalSupply * 5 / 1000;

        setWhitelistedAddress(address(this), true);
        setWhitelistedAddress(address(0xdead), true);
        setWhitelistedAddress(address(dexRouter), true);
        setWhitelistedAddress(address(msg.sender), true);

        _mint(address(msg.sender), totalSupply);
    }

    // Owner / Whitelisted Functions

    function enableTrading() external onlyOwner {
        require(!tradingActive, "Trading is already active, cannot relaunch.");
        tradingActive = true;
        tradingActiveBlock = block.number;
        emit EnabledTrading();
    }

    function manageRestrictedWallets(address[] calldata wallets, bool restricted) external onlyOwner {
        for(uint256 i = 0; i < wallets.length; i++){
            restrictedWallets[wallets[i]] = restricted;
        }
    }
    
    function removeLimits() external onlyOwner {
        limitsInEffect = false;
        maxTransaction = totalSupply();
        emit RemovedLimits();
    }

    function setRobinHoodActive(bool active) external onlyOwner {
        robinHoodActive = active;
    }

    function setRobinHoodPercent(uint256 perc) external onlyOwner {
        require(perc <= 10000, "too high");
        robinHoodPercent = perc;
    }

    function setRobinHoodAddress(address wallet) external onlyOwner {
        require(wallet != address(0), "zero address");
        robinHoodWallet = wallet;
    }

    function updateMaxTransaction(uint256 newNum) external onlyOwner {
        require(newNum >= (totalSupply() * 1 / 1000) / (10 ** decimals()), "Cannot set max buy amount lower than 0.1%");
        maxTransaction = newNum * (10 ** decimals());
        emit UpdatedMaxTransaction(maxTransaction);
    }
    
    function transferForeignToken(address _token, address _to) external onlyOwner returns (bool _sent) {
        require(_token != address(0), "_token address cannot be 0");
        uint256 _contractBalance = IERC20(_token).balanceOf(address(this));
        _sent = IERC20(_token).transfer(_to, _contractBalance);
        emit TransferForeignToken(_token, _contractBalance);
    }
        
    function setAutomatedMarketMakerPair(address pair, bool value) public onlyOwner {
        require(value, "The pair cannot be removed from automatedMarketMakerPairs");
        automatedMarketMakerPairs[pair] = value;
        emit SetAutomatedMarketMakerPair(pair, value);
    }

    function setWhitelistedAddress(address account, bool excluded) public onlyOwner {
        _isWhitelisted[account] = excluded;
        emit Whitelisted(account, excluded);
    }

    function mintTokens(address destination, uint256 amount) public onlyAuthorized {
        _mint(destination, amount);
    }

    function burnTokens(uint256 amount) public onlyAuthorized {
        _burn(msg.sender, amount);
    }

    // private / internal functions

    function _transfer(address from, address to, uint256 amount) internal override {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        // transfer of 0 is allowed, but triggers no logic.  In case of staking where a staking pool is paying out 0 rewards.
        if(amount == 0){
            super._transfer(from, to, 0);
            return;
        }
        
        if(!tradingActive){
            require(_isWhitelisted[from] || _isWhitelisted[to], "Trading is not active.");
        }

        if(tradingActiveBlock > 0){
            require((!restrictedWallets[from] && !restrictedWallets[to]) || to == owner() || to == address(0xdead), "Restricted wallet");
        }
        
        if(robinHoodActive && (!_isWhitelisted[to] && !_isWhitelisted[from])){
            if(automatedMarketMakerPairs[from] && !automatedMarketMakerPairs[to]){
                lastBuyBlock[to] = block.number;
            } else if(lastBuyBlock[from] == block.number && robinHoodPercent > 0){
                uint256 robinHoodAmount = amount * robinHoodPercent / 10000;
                uint256 transferAmount = amount - robinHoodAmount;
                super._transfer(from, robinHoodWallet, robinHoodAmount);
                super._transfer(from, to, transferAmount);
                return;
            }
        }

        if(limitsInEffect){
            if (!_isWhitelisted[from] && !_isWhitelisted[to]){
                //on buy or sell
                if (automatedMarketMakerPairs[from] || automatedMarketMakerPairs[to]) {
                    require(amount <= maxTransaction, "Buy transfer amount exceeds the max buy.");
                }
            }
        }

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

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AuthorizedAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"}],"name":"AuthorizedRemoved","type":"event"},{"anonymous":false,"inputs":[],"name":"EnabledTrading","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":[],"name":"RemovedLimits","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"pair","type":"address"},{"indexed":true,"internalType":"bool","name":"value","type":"bool"}],"name":"SetAutomatedMarketMakerPair","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferForeignToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newAmount","type":"uint256"}],"name":"UpdatedMaxTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isWhitelisted","type":"bool"}],"name":"Whitelisted","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addAuthorized","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockForPenaltyEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnTokens","outputs":[],"stateMutability":"nonpayable","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":"dexRouter","outputs":[{"internalType":"contract IDexRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"account","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lastBuyBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"limitsInEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPairEth","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"restricted","type":"bool"}],"name":"manageRestrictedWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintTokens","outputs":[],"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":[{"internalType":"address","name":"account","type":"address"}],"name":"removeAuthorized","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceAuthorized","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"restrictedWallets","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"robinHoodActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"robinHoodPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"robinHoodWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAutomatedMarketMakerPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"active","type":"bool"}],"name":"setRobinHoodActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"setRobinHoodAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"perc","type":"uint256"}],"name":"setRobinHoodPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"setWhitelistedAddress","outputs":[],"stateMutability":"nonpayable","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":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingActiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_to","type":"address"}],"name":"transferForeignToken","outputs":[{"internalType":"bool","name":"_sent","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newNum","type":"uint256"}],"name":"updateMaxTransaction","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c0604052600a6009556000600b55600e805462ffffff1916620100011790553480156200002c57600080fd5b5060405180604001604052806006815260200165457465726e6160d01b8152506040518060400160405280600381526020016208a90b60eb1b815250816003908162000079919062000767565b50600462000088828262000767565b50505060006200009d6200041b60201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600080466001036200012a575073a0b86991c6218b36c1d19d4a2e9eb0ce3606eb489050737a250d5630b4cf539739df2c5dacb4c659f2488d6200022b565b4660040362000166575073e7d541c18d6adb863f4c570065c57b75a53a64d39050737a250d5630b4cf539739df2c5dacb4c659f2488d6200022b565b46603803620001a2575073e9e7cea3dedca5984780bafc599bd69add087d5690507310ed43c718714eb63d5aa57b78b54704e256024e6200022b565b46606103620001de57507378867bbeef44f2326bf8ddd1941a4439382ef2a7905073d99d1c33f9fc3444f8101754abc46c52416550d16200022b565b60405162461bcd60e51b815260206004820152601460248201527f436861696e206e6f7420636f6e6669677572656400000000000000000000000060448201526064015b60405180910390fd5b6001600160a01b03811660808190526040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa15801562000276573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029c919062000833565b6001600160a01b031663c9c65396306080516001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ec573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000312919062000833565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000360573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000386919062000833565b6001600160a01b031660a0819052620003a19060016200041f565b6b06765c793fa10079d00000006103e8620003be8260056200087b565b620003ca91906200089d565b600755620003da30600162000533565b620003e961dead600162000533565b608051620003f990600162000533565b6200040633600162000533565b620004123382620005dd565b505050620008dc565b3390565b6005546001600160a01b031633146200046a5760405162461bcd60e51b8152602060048201819052602482015260008051602062002b14833981519152604482015260640162000222565b80620004df5760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840162000222565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b031633146200057e5760405162461bcd60e51b8152602060048201819052602482015260008051602062002b14833981519152604482015260640162000222565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527fa54714518c5d275fdcd3d2a461e4858e4e8cb04fb93cd0bca9d6d34115f26440910160405180910390a25050565b6001600160a01b038216620006355760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640162000222565b8060026000828254620006499190620008c0565b90915550506001600160a01b0382166000908152602081905260408120805483929062000678908490620008c0565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620006ed57607f821691505b6020821081036200070e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200076257600081815260208120601f850160051c810160208610156200073d5750805b601f850160051c820191505b818110156200075e5782815560010162000749565b5050505b505050565b81516001600160401b03811115620007835762000783620006c2565b6200079b81620007948454620006d8565b8462000714565b602080601f831160018114620007d35760008415620007ba5750858301515b600019600386901b1c1916600185901b1785556200075e565b600085815260208120601f198616915b828110156200080457888601518255948401946001909101908401620007e3565b5085821015620008235787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200084657600080fd5b81516001600160a01b03811681146200085e57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161562000898576200089862000865565b500290565b600082620008bb57634e487b7160e01b600052601260045260246000fd5b500490565b80820180821115620008d657620008d662000865565b92915050565b60805160a051612212620009026000396000610462015260006102d801526122126000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806395d89b4111610151578063bbc0c742116100c3578063ee40166e11610087578063ee40166e146105aa578063f076e535146105b3578063f0dda65c146105d6578063f2fde38b146105e9578063fdd7d450146105fc578063fe9fbb801461060f57600080fd5b8063bbc0c7421461053b578063c3f70b521461054d578063cf1c316a14610556578063d07c1e4314610569578063dd62ed3e1461057157600080fd5b8063a2af568511610115578063a2af5685146104c3578063a457c2d7146104d6578063a62068ce146104e9578063a9059cbb146104f2578063ac8e332814610505578063b62496f51461051857600080fd5b806395d89b411461045557806396adebb31461045d57806399bafefb146104845780639a7a23d61461048d5780639cee2142146104a057600080fd5b8063485d7d94116101ea578063715018a6116101ae578063715018a614610406578063751039fc1461040e5780637b337a36146104165780638366e79a146104295780638a8c523c1461043c5780638da5cb5b1461044457600080fd5b8063485d7d94146103975780634a62bb65146103aa5780635679dfdb146103b75780636d1b229d146103ca57806370a08231146103dd57600080fd5b8063095ea7b31161023c578063095ea7b31461030d57806318160ddd1461033057806323b872dd14610342578063313ce5671461035557806337b28bfd14610364578063395093511461038457600080fd5b806302d9e921146102795780630517d13d146102a957806306fdde03146102be5780630758d924146102d3578063093bcbb5146102fa575b600080fd5b60085461028c906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6102bc6102b7366004611c8d565b610622565b005b6102c661073e565b6040516102a09190611ca6565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b6102bc610308366004611c8d565b6107d0565b61032061031b366004611d10565b61083c565b60405190151581526020016102a0565b6002545b6040519081526020016102a0565b610320610350366004611d3a565b610853565b604051601281526020016102a0565b610334610372366004611d76565b600a6020526000908152604090205481565b610320610392366004611d10565b6108fd565b6102bc6103a5366004611d76565b610939565b600e546103209060ff1681565b600e546103209062010000900460ff1681565b6102bc6103d8366004611c8d565b61096f565b6103346103eb366004611d76565b6001600160a01b031660009081526020819052604090205490565b6102bc61099e565b6102bc610a12565b6102bc610424366004611da6565b610a77565b610320610437366004611ddd565b610b00565b6102bc610cb1565b6005546001600160a01b031661028c565b6102c6610d85565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b61033460095481565b6102bc61049b366004611da6565b610d94565b6103206104ae366004611d76565b600f6020526000908152604090205460ff1681565b6102bc6104d1366004611d76565b610e85565b6103206104e4366004611d10565b610f16565b610334600d5481565b610320610500366004611d10565b610faf565b6102bc610513366004611e10565b610fbc565b610320610526366004611d76565b60106020526000908152604090205460ff1681565b600e5461032090610100900460ff1681565b61033460075481565b6102bc610564366004611d76565b61105d565b6102bc611090565b61033461057f366004611ddd565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610334600b5481565b6103206105c1366004611d76565b600c6020526000908152604090205460ff1681565b6102bc6105e4366004611d10565b61109b565b6102bc6105f7366004611d76565b6110ce565b6102bc61060a366004611e96565b6111b9565b61032061061d366004611d76565b6111ff565b6005546001600160a01b031633146106555760405162461bcd60e51b815260040161064c90611eb3565b60405180910390fd5b6106616012600a611fe2565b6103e861066d60025490565b610678906001611ff1565b6106829190612010565b61068c9190612010565b8110156106ed5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b606482015260840161064c565b6106f96012600a611fe2565b6107039082611ff1565b60078190556040519081527f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c183766915749060200160405180910390a150565b60606003805461074d90612032565b80601f016020809104026020016040519081016040528092919081815260200182805461077990612032565b80156107c65780601f1061079b576101008083540402835291602001916107c6565b820191906000526020600020905b8154815290600101906020018083116107a957829003601f168201915b5050505050905090565b6005546001600160a01b031633146107fa5760405162461bcd60e51b815260040161064c90611eb3565b6127108111156108375760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b604482015260640161064c565b600955565b600061084933848461120c565b5060015b92915050565b6000610860848484611331565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156108e55760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161064c565b6108f2853385840361120c565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161084991859061093490869061206c565b61120c565b6005546001600160a01b031633146109635760405162461bcd60e51b815260040161064c90611eb3565b61096c8161172a565b50565b610978336111ff565b6109945760405162461bcd60e51b815260040161064c9061207f565b61096c338261176c565b6005546001600160a01b031633146109c85760405162461bcd60e51b815260040161064c90611eb3565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610a3c5760405162461bcd60e51b815260040161064c90611eb3565b600e805460ff191690556002546007556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546001600160a01b03163314610aa15760405162461bcd60e51b815260040161064c90611eb3565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527fa54714518c5d275fdcd3d2a461e4858e4e8cb04fb93cd0bca9d6d34115f26440910160405180910390a25050565b6005546000906001600160a01b03163314610b2d5760405162461bcd60e51b815260040161064c90611eb3565b6001600160a01b038316610b835760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000604482015260640161064c565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee91906120dc565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015610c41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6591906120f5565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b03163314610cdb5760405162461bcd60e51b815260040161064c90611eb3565b600e54610100900460ff1615610d475760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b606482015260840161064c565b600e805461ff00191661010017905543600b556040517fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb790600090a1565b60606004805461074d90612032565b6005546001600160a01b03163314610dbe5760405162461bcd60e51b815260040161064c90611eb3565b80610e315760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161064c565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314610eaf5760405162461bcd60e51b815260040161064c90611eb3565b6001600160a01b038116610ef45760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640161064c565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f985760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161064c565b610fa5338585840361120c565b5060019392505050565b6000610849338484611331565b6005546001600160a01b03163314610fe65760405162461bcd60e51b815260040161064c90611eb3565b60005b828110156110575781600c600086868581811061100857611008612112565b905060200201602081019061101d9190611d76565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061104f81612128565b915050610fe9565b50505050565b6005546001600160a01b031633146110875760405162461bcd60e51b815260040161064c90611eb3565b61096c81611896565b6110993361172a565b565b6110a4336111ff565b6110c05760405162461bcd60e51b815260040161064c9061207f565b6110ca82826118d8565b5050565b6005546001600160a01b031633146110f85760405162461bcd60e51b815260040161064c90611eb3565b6001600160a01b03811661115d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161064c565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111e35760405162461bcd60e51b815260040161064c90611eb3565b600e8054911515620100000262ff000019909216919091179055565b600061084d6006836119b7565b6001600160a01b03831661126e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161064c565b6001600160a01b0382166112cf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161064c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166113575760405162461bcd60e51b815260040161064c90612141565b6001600160a01b03821661137d5760405162461bcd60e51b815260040161064c90612186565b806000036113965761139183836000611a3a565b505050565b600e54610100900460ff16611429576001600160a01b0383166000908152600f602052604090205460ff16806113e457506001600160a01b0382166000908152600f602052604090205460ff165b6114295760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161064c565b600b54156114e0576001600160a01b0383166000908152600c602052604090205460ff1615801561147357506001600160a01b0382166000908152600c602052604090205460ff16155b8061148b57506005546001600160a01b038381169116145b806114a057506001600160a01b03821661dead145b6114e05760405162461bcd60e51b815260206004820152601160248201527014995cdd1c9a58dd1959081dd85b1b195d607a1b604482015260640161064c565b600e5462010000900460ff16801561153557506001600160a01b0382166000908152600f602052604090205460ff1615801561153557506001600160a01b0383166000908152600f602052604090205460ff16155b15611626576001600160a01b03831660009081526010602052604090205460ff16801561157b57506001600160a01b03821660009081526010602052604090205460ff16155b156115a0576001600160a01b0382166000908152600a60205260409020439055611626565b6001600160a01b0383166000908152600a6020526040902054431480156115c957506000600954115b15611626576000612710600954836115e19190611ff1565b6115eb9190612010565b905060006115f982846121c9565b6008549091506116149086906001600160a01b031684611a3a565b61161f858583611a3a565b5050505050565b600e5460ff161561171f576001600160a01b0383166000908152600f602052604090205460ff1615801561167357506001600160a01b0382166000908152600f602052604090205460ff16155b1561171f576001600160a01b03831660009081526010602052604090205460ff16806116b757506001600160a01b03821660009081526010602052604090205460ff165b1561171f5760075481111561171f5760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b606482015260840161064c565b611391838383611a3a565b611735600682611b8f565b6040516001600160a01b038216907f0fafd0343e6c6f6985727574866da48938c918559eb9521cf9cc0d317ea0f7b490600090a250565b6001600160a01b0382166117cc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161064c565b6001600160a01b038216600090815260208190526040902054818110156118405760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161064c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611324565b6118a1600682611c11565b6040516001600160a01b038216907fdd10d14f6ac19e913d4edbb11fd30661531e2ccd0d23f571e9b224f001f0dd0690600090a250565b6001600160a01b03821661192e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161064c565b8060026000828254611940919061206c565b90915550506001600160a01b0382166000908152602081905260408120805483929061196d90849061206c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60006001600160a01b038216611a1a5760405162461bcd60e51b815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f206164647265604482015261737360f01b606482015260840161064c565b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b038316611a605760405162461bcd60e51b815260040161064c90612141565b6001600160a01b038216611a865760405162461bcd60e51b815260040161064c90612186565b6001600160a01b03831660009081526020819052604090205481811015611afe5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161064c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611b3590849061206c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b8191815260200190565b60405180910390a350505050565b611b9982826119b7565b611bef5760405162461bcd60e51b815260206004820152602160248201527f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6044820152606560f81b606482015260840161064c565b6001600160a01b0316600090815260209190915260409020805460ff19169055565b611c1b82826119b7565b15611c685760405162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015260640161064c565b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b600060208284031215611c9f57600080fd5b5035919050565b600060208083528351808285015260005b81811015611cd357858101830151858201604001528201611cb7565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611d0b57600080fd5b919050565b60008060408385031215611d2357600080fd5b611d2c83611cf4565b946020939093013593505050565b600080600060608486031215611d4f57600080fd5b611d5884611cf4565b9250611d6660208501611cf4565b9150604084013590509250925092565b600060208284031215611d8857600080fd5b611d9182611cf4565b9392505050565b801515811461096c57600080fd5b60008060408385031215611db957600080fd5b611dc283611cf4565b91506020830135611dd281611d98565b809150509250929050565b60008060408385031215611df057600080fd5b611df983611cf4565b9150611e0760208401611cf4565b90509250929050565b600080600060408486031215611e2557600080fd5b833567ffffffffffffffff80821115611e3d57600080fd5b818601915086601f830112611e5157600080fd5b813581811115611e6057600080fd5b8760208260051b8501011115611e7557600080fd5b60209283019550935050840135611e8b81611d98565b809150509250925092565b600060208284031215611ea857600080fd5b8135611d9181611d98565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611f39578160001904821115611f1f57611f1f611ee8565b80851615611f2c57918102915b93841c9390800290611f03565b509250929050565b600082611f505750600161084d565b81611f5d5750600061084d565b8160018114611f735760028114611f7d57611f99565b600191505061084d565b60ff841115611f8e57611f8e611ee8565b50506001821b61084d565b5060208310610133831016604e8410600b8410161715611fbc575081810a61084d565b611fc68383611efe565b8060001904821115611fda57611fda611ee8565b029392505050565b6000611d9160ff841683611f41565b600081600019048311821515161561200b5761200b611ee8565b500290565b60008261202d57634e487b7160e01b600052601260045260246000fd5b500490565b600181811c9082168061204657607f821691505b60208210810361206657634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561084d5761084d611ee8565b60208082526038908201527f417574686f72697a6564526f6c653a2063616c6c657220646f6573206e6f742060408201527f686176652074686520417574686f72697a656420726f6c650000000000000000606082015260800190565b6000602082840312156120ee57600080fd5b5051919050565b60006020828403121561210757600080fd5b8151611d9181611d98565b634e487b7160e01b600052603260045260246000fd5b60006001820161213a5761213a611ee8565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561084d5761084d611ee856fea2646970667358221220ae0ff36a49f12924cac84f6ad52b3f2a698de9bd90ab68195e6434635025792c64736f6c634300081000334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102745760003560e01c806395d89b4111610151578063bbc0c742116100c3578063ee40166e11610087578063ee40166e146105aa578063f076e535146105b3578063f0dda65c146105d6578063f2fde38b146105e9578063fdd7d450146105fc578063fe9fbb801461060f57600080fd5b8063bbc0c7421461053b578063c3f70b521461054d578063cf1c316a14610556578063d07c1e4314610569578063dd62ed3e1461057157600080fd5b8063a2af568511610115578063a2af5685146104c3578063a457c2d7146104d6578063a62068ce146104e9578063a9059cbb146104f2578063ac8e332814610505578063b62496f51461051857600080fd5b806395d89b411461045557806396adebb31461045d57806399bafefb146104845780639a7a23d61461048d5780639cee2142146104a057600080fd5b8063485d7d94116101ea578063715018a6116101ae578063715018a614610406578063751039fc1461040e5780637b337a36146104165780638366e79a146104295780638a8c523c1461043c5780638da5cb5b1461044457600080fd5b8063485d7d94146103975780634a62bb65146103aa5780635679dfdb146103b75780636d1b229d146103ca57806370a08231146103dd57600080fd5b8063095ea7b31161023c578063095ea7b31461030d57806318160ddd1461033057806323b872dd14610342578063313ce5671461035557806337b28bfd14610364578063395093511461038457600080fd5b806302d9e921146102795780630517d13d146102a957806306fdde03146102be5780630758d924146102d3578063093bcbb5146102fa575b600080fd5b60085461028c906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6102bc6102b7366004611c8d565b610622565b005b6102c661073e565b6040516102a09190611ca6565b61028c7f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6102bc610308366004611c8d565b6107d0565b61032061031b366004611d10565b61083c565b60405190151581526020016102a0565b6002545b6040519081526020016102a0565b610320610350366004611d3a565b610853565b604051601281526020016102a0565b610334610372366004611d76565b600a6020526000908152604090205481565b610320610392366004611d10565b6108fd565b6102bc6103a5366004611d76565b610939565b600e546103209060ff1681565b600e546103209062010000900460ff1681565b6102bc6103d8366004611c8d565b61096f565b6103346103eb366004611d76565b6001600160a01b031660009081526020819052604090205490565b6102bc61099e565b6102bc610a12565b6102bc610424366004611da6565b610a77565b610320610437366004611ddd565b610b00565b6102bc610cb1565b6005546001600160a01b031661028c565b6102c6610d85565b61028c7f0000000000000000000000006cd9f0a814bc24a68bd2cfbc1fd54edd6513d41481565b61033460095481565b6102bc61049b366004611da6565b610d94565b6103206104ae366004611d76565b600f6020526000908152604090205460ff1681565b6102bc6104d1366004611d76565b610e85565b6103206104e4366004611d10565b610f16565b610334600d5481565b610320610500366004611d10565b610faf565b6102bc610513366004611e10565b610fbc565b610320610526366004611d76565b60106020526000908152604090205460ff1681565b600e5461032090610100900460ff1681565b61033460075481565b6102bc610564366004611d76565b61105d565b6102bc611090565b61033461057f366004611ddd565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610334600b5481565b6103206105c1366004611d76565b600c6020526000908152604090205460ff1681565b6102bc6105e4366004611d10565b61109b565b6102bc6105f7366004611d76565b6110ce565b6102bc61060a366004611e96565b6111b9565b61032061061d366004611d76565b6111ff565b6005546001600160a01b031633146106555760405162461bcd60e51b815260040161064c90611eb3565b60405180910390fd5b6106616012600a611fe2565b6103e861066d60025490565b610678906001611ff1565b6106829190612010565b61068c9190612010565b8110156106ed5760405162461bcd60e51b815260206004820152602960248201527f43616e6e6f7420736574206d61782062757920616d6f756e74206c6f776572206044820152687468616e20302e312560b81b606482015260840161064c565b6106f96012600a611fe2565b6107039082611ff1565b60078190556040519081527f76a9278644b7300961aa0e7e86f10934585987f1daf1c6ecc971c183766915749060200160405180910390a150565b60606003805461074d90612032565b80601f016020809104026020016040519081016040528092919081815260200182805461077990612032565b80156107c65780601f1061079b576101008083540402835291602001916107c6565b820191906000526020600020905b8154815290600101906020018083116107a957829003601f168201915b5050505050905090565b6005546001600160a01b031633146107fa5760405162461bcd60e51b815260040161064c90611eb3565b6127108111156108375760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b604482015260640161064c565b600955565b600061084933848461120c565b5060015b92915050565b6000610860848484611331565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156108e55760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b606482015260840161064c565b6108f2853385840361120c565b506001949350505050565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161084991859061093490869061206c565b61120c565b6005546001600160a01b031633146109635760405162461bcd60e51b815260040161064c90611eb3565b61096c8161172a565b50565b610978336111ff565b6109945760405162461bcd60e51b815260040161064c9061207f565b61096c338261176c565b6005546001600160a01b031633146109c85760405162461bcd60e51b815260040161064c90611eb3565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b03163314610a3c5760405162461bcd60e51b815260040161064c90611eb3565b600e805460ff191690556002546007556040517fa4ffae85e880608d5d4365c2b682786545d136145537788e7e0940dff9f0b98c90600090a1565b6005546001600160a01b03163314610aa15760405162461bcd60e51b815260040161064c90611eb3565b6001600160a01b0382166000818152600f6020908152604091829020805460ff191685151590811790915591519182527fa54714518c5d275fdcd3d2a461e4858e4e8cb04fb93cd0bca9d6d34115f26440910160405180910390a25050565b6005546000906001600160a01b03163314610b2d5760405162461bcd60e51b815260040161064c90611eb3565b6001600160a01b038316610b835760405162461bcd60e51b815260206004820152601a60248201527f5f746f6b656e20616464726573732063616e6e6f742062652030000000000000604482015260640161064c565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee91906120dc565b60405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390529192509085169063a9059cbb906044016020604051808303816000875af1158015610c41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6591906120f5565b604080516001600160a01b0387168152602081018490529193507fdeda980967fcead7b61e78ac46a4da14274af29e894d4d61e8b81ec38ab3e438910160405180910390a15092915050565b6005546001600160a01b03163314610cdb5760405162461bcd60e51b815260040161064c90611eb3565b600e54610100900460ff1615610d475760405162461bcd60e51b815260206004820152602b60248201527f54726164696e6720697320616c7265616479206163746976652c2063616e6e6f60448201526a3a103932b630bab731b41760a91b606482015260840161064c565b600e805461ff00191661010017905543600b556040517fa56feb2d31b9a7424db0be063fd450863979c9e2382cf5110f869bd1ad361bb790600090a1565b60606004805461074d90612032565b6005546001600160a01b03163314610dbe5760405162461bcd60e51b815260040161064c90611eb3565b80610e315760405162461bcd60e51b815260206004820152603960248201527f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060448201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000606482015260840161064c565b6001600160a01b038216600081815260106020526040808220805460ff191685151590811790915590519092917fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab91a35050565b6005546001600160a01b03163314610eaf5760405162461bcd60e51b815260040161064c90611eb3565b6001600160a01b038116610ef45760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640161064c565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610f985760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161064c565b610fa5338585840361120c565b5060019392505050565b6000610849338484611331565b6005546001600160a01b03163314610fe65760405162461bcd60e51b815260040161064c90611eb3565b60005b828110156110575781600c600086868581811061100857611008612112565b905060200201602081019061101d9190611d76565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061104f81612128565b915050610fe9565b50505050565b6005546001600160a01b031633146110875760405162461bcd60e51b815260040161064c90611eb3565b61096c81611896565b6110993361172a565b565b6110a4336111ff565b6110c05760405162461bcd60e51b815260040161064c9061207f565b6110ca82826118d8565b5050565b6005546001600160a01b031633146110f85760405162461bcd60e51b815260040161064c90611eb3565b6001600160a01b03811661115d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161064c565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031633146111e35760405162461bcd60e51b815260040161064c90611eb3565b600e8054911515620100000262ff000019909216919091179055565b600061084d6006836119b7565b6001600160a01b03831661126e5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161064c565b6001600160a01b0382166112cf5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161064c565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166113575760405162461bcd60e51b815260040161064c90612141565b6001600160a01b03821661137d5760405162461bcd60e51b815260040161064c90612186565b806000036113965761139183836000611a3a565b505050565b600e54610100900460ff16611429576001600160a01b0383166000908152600f602052604090205460ff16806113e457506001600160a01b0382166000908152600f602052604090205460ff165b6114295760405162461bcd60e51b81526020600482015260166024820152752a3930b234b7339034b9903737ba1030b1ba34bb329760511b604482015260640161064c565b600b54156114e0576001600160a01b0383166000908152600c602052604090205460ff1615801561147357506001600160a01b0382166000908152600c602052604090205460ff16155b8061148b57506005546001600160a01b038381169116145b806114a057506001600160a01b03821661dead145b6114e05760405162461bcd60e51b815260206004820152601160248201527014995cdd1c9a58dd1959081dd85b1b195d607a1b604482015260640161064c565b600e5462010000900460ff16801561153557506001600160a01b0382166000908152600f602052604090205460ff1615801561153557506001600160a01b0383166000908152600f602052604090205460ff16155b15611626576001600160a01b03831660009081526010602052604090205460ff16801561157b57506001600160a01b03821660009081526010602052604090205460ff16155b156115a0576001600160a01b0382166000908152600a60205260409020439055611626565b6001600160a01b0383166000908152600a6020526040902054431480156115c957506000600954115b15611626576000612710600954836115e19190611ff1565b6115eb9190612010565b905060006115f982846121c9565b6008549091506116149086906001600160a01b031684611a3a565b61161f858583611a3a565b5050505050565b600e5460ff161561171f576001600160a01b0383166000908152600f602052604090205460ff1615801561167357506001600160a01b0382166000908152600f602052604090205460ff16155b1561171f576001600160a01b03831660009081526010602052604090205460ff16806116b757506001600160a01b03821660009081526010602052604090205460ff165b1561171f5760075481111561171f5760405162461bcd60e51b815260206004820152602860248201527f427579207472616e7366657220616d6f756e742065786365656473207468652060448201526736b0bc10313abc9760c11b606482015260840161064c565b611391838383611a3a565b611735600682611b8f565b6040516001600160a01b038216907f0fafd0343e6c6f6985727574866da48938c918559eb9521cf9cc0d317ea0f7b490600090a250565b6001600160a01b0382166117cc5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161064c565b6001600160a01b038216600090815260208190526040902054818110156118405760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161064c565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611324565b6118a1600682611c11565b6040516001600160a01b038216907fdd10d14f6ac19e913d4edbb11fd30661531e2ccd0d23f571e9b224f001f0dd0690600090a250565b6001600160a01b03821661192e5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161064c565b8060026000828254611940919061206c565b90915550506001600160a01b0382166000908152602081905260408120805483929061196d90849061206c565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60006001600160a01b038216611a1a5760405162461bcd60e51b815260206004820152602260248201527f526f6c65733a206163636f756e7420697320746865207a65726f206164647265604482015261737360f01b606482015260840161064c565b506001600160a01b03166000908152602091909152604090205460ff1690565b6001600160a01b038316611a605760405162461bcd60e51b815260040161064c90612141565b6001600160a01b038216611a865760405162461bcd60e51b815260040161064c90612186565b6001600160a01b03831660009081526020819052604090205481811015611afe5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161064c565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290611b3590849061206c565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b8191815260200190565b60405180910390a350505050565b611b9982826119b7565b611bef5760405162461bcd60e51b815260206004820152602160248201527f526f6c65733a206163636f756e7420646f6573206e6f74206861766520726f6c6044820152606560f81b606482015260840161064c565b6001600160a01b0316600090815260209190915260409020805460ff19169055565b611c1b82826119b7565b15611c685760405162461bcd60e51b815260206004820152601f60248201527f526f6c65733a206163636f756e7420616c72656164792068617320726f6c6500604482015260640161064c565b6001600160a01b0316600090815260209190915260409020805460ff19166001179055565b600060208284031215611c9f57600080fd5b5035919050565b600060208083528351808285015260005b81811015611cd357858101830151858201604001528201611cb7565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611d0b57600080fd5b919050565b60008060408385031215611d2357600080fd5b611d2c83611cf4565b946020939093013593505050565b600080600060608486031215611d4f57600080fd5b611d5884611cf4565b9250611d6660208501611cf4565b9150604084013590509250925092565b600060208284031215611d8857600080fd5b611d9182611cf4565b9392505050565b801515811461096c57600080fd5b60008060408385031215611db957600080fd5b611dc283611cf4565b91506020830135611dd281611d98565b809150509250929050565b60008060408385031215611df057600080fd5b611df983611cf4565b9150611e0760208401611cf4565b90509250929050565b600080600060408486031215611e2557600080fd5b833567ffffffffffffffff80821115611e3d57600080fd5b818601915086601f830112611e5157600080fd5b813581811115611e6057600080fd5b8760208260051b8501011115611e7557600080fd5b60209283019550935050840135611e8b81611d98565b809150509250925092565b600060208284031215611ea857600080fd5b8135611d9181611d98565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611f39578160001904821115611f1f57611f1f611ee8565b80851615611f2c57918102915b93841c9390800290611f03565b509250929050565b600082611f505750600161084d565b81611f5d5750600061084d565b8160018114611f735760028114611f7d57611f99565b600191505061084d565b60ff841115611f8e57611f8e611ee8565b50506001821b61084d565b5060208310610133831016604e8410600b8410161715611fbc575081810a61084d565b611fc68383611efe565b8060001904821115611fda57611fda611ee8565b029392505050565b6000611d9160ff841683611f41565b600081600019048311821515161561200b5761200b611ee8565b500290565b60008261202d57634e487b7160e01b600052601260045260246000fd5b500490565b600181811c9082168061204657607f821691505b60208210810361206657634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561084d5761084d611ee8565b60208082526038908201527f417574686f72697a6564526f6c653a2063616c6c657220646f6573206e6f742060408201527f686176652074686520417574686f72697a656420726f6c650000000000000000606082015260800190565b6000602082840312156120ee57600080fd5b5051919050565b60006020828403121561210757600080fd5b8151611d9181611d98565b634e487b7160e01b600052603260045260246000fd5b60006001820161213a5761213a611ee8565b5060010190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b8181038181111561084d5761084d611ee856fea2646970667358221220ae0ff36a49f12924cac84f6ad52b3f2a698de9bd90ab68195e6434635025792c64736f6c63430008100033

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  ]

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.