ETH Price: $3,189.86 (+0.21%)
Gas: 2 Gwei

Contract

0xf59b6497df02A1FAe968461F070abDFA3aaB9799
 

Overview

ETH Balance

0.118106055409486271 ETH

Eth Value

$376.74 (@ $3,189.86/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve183780572023-10-18 15:13:23281 days ago1697642003IN
0xf59b6497...A3aaB9799
0 ETH0.000313612.95346536
Approve183210502023-10-10 15:48:35289 days ago1696952915IN
0xf59b6497...A3aaB9799
0 ETH0.000393958.51500559
Transfer183208442023-10-10 15:06:59289 days ago1696950419IN
0xf59b6497...A3aaB9799
0 ETH0.0004771811.27239576
Approve182905592023-10-06 9:26:11293 days ago1696584371IN
0xf59b6497...A3aaB9799
0 ETH0.000316156.79984028
Approve182455092023-09-30 2:21:47299 days ago1696040507IN
0xf59b6497...A3aaB9799
0 ETH0.000209127.1144218
Approve182455082023-09-30 2:21:35299 days ago1696040495IN
0xf59b6497...A3aaB9799
0 ETH0.000301976.52523689
Transfer182454942023-09-30 2:18:47299 days ago1696040327IN
0xf59b6497...A3aaB9799
0 ETH0.000382866.72313872
Transfer182454872023-09-30 2:17:23299 days ago1696040243IN
0xf59b6497...A3aaB9799
0 ETH0.000364986.40507732
Transfer182454822023-09-30 2:16:23299 days ago1696040183IN
0xf59b6497...A3aaB9799
0 ETH0.00035256.18988016
Transfer182454762023-09-30 2:15:11299 days ago1696040111IN
0xf59b6497...A3aaB9799
0 ETH0.000360326.32732206
Transfer182454722023-09-30 2:14:11299 days ago1696040051IN
0xf59b6497...A3aaB9799
0 ETH0.001359456.56869467
Approve182453922023-09-30 1:58:11300 days ago1696039091IN
0xf59b6497...A3aaB9799
0 ETH0.000309716.69417125
Transfer182453762023-09-30 1:54:59300 days ago1696038899IN
0xf59b6497...A3aaB9799
0 ETH0.000283876.70412048
Transfer182379032023-09-29 0:47:59301 days ago1695948479IN
0xf59b6497...A3aaB9799
0 ETH0.000556597.40417377
Approve182365962023-09-28 20:24:47301 days ago1695932687IN
0xf59b6497...A3aaB9799
0 ETH0.0006060613.09968215
Approve182283392023-09-27 16:39:11302 days ago1695832751IN
0xf59b6497...A3aaB9799
0 ETH0.0010275322.209207
Approve182030722023-09-24 3:46:11305 days ago1695527171IN
0xf59b6497...A3aaB9799
0 ETH0.00034227.39262443
Transfer180840432023-09-07 10:46:59322 days ago1694083619IN
0xf59b6497...A3aaB9799
0 ETH0.0010996411.9157173
Approve180651002023-09-04 19:07:35325 days ago1693854455IN
0xf59b6497...A3aaB9799
0 ETH0.0019456942
Approve178991942023-08-12 13:51:59348 days ago1691848319IN
0xf59b6497...A3aaB9799
0 ETH0.0007835516.85275813
Approve178605442023-08-07 4:01:59353 days ago1691380919IN
0xf59b6497...A3aaB9799
0 ETH0.0009241619.9492109
Approve178600102023-08-07 2:14:35353 days ago1691374475IN
0xf59b6497...A3aaB9799
0 ETH0.0016677336
Approve178495032023-08-05 14:56:11355 days ago1691247371IN
0xf59b6497...A3aaB9799
0 ETH0.0010840423.31573324
Approve178436262023-08-04 19:13:11356 days ago1691176391IN
0xf59b6497...A3aaB9799
0 ETH0.0008665118.72892876
Approve178414082023-08-04 11:45:47356 days ago1691149547IN
0xf59b6497...A3aaB9799
0 ETH0.0007719816.58263807
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
182454722023-09-30 2:14:11299 days ago1696040051
0xf59b6497...A3aaB9799
0.00512546 ETH
182454722023-09-30 2:14:11299 days ago1696040051
0xf59b6497...A3aaB9799
0.00640683 ETH
180651032023-09-04 19:08:11325 days ago1693854491
0xf59b6497...A3aaB9799
0.0091064 ETH
180651032023-09-04 19:08:11325 days ago1693854491
0xf59b6497...A3aaB9799
0.011383 ETH
178436282023-08-04 19:13:35356 days ago1691176415
0xf59b6497...A3aaB9799
0.01677042 ETH
178436282023-08-04 19:13:35356 days ago1691176415
0xf59b6497...A3aaB9799
0.02096303 ETH
177712612023-07-25 16:20:23366 days ago1690302023
0xf59b6497...A3aaB9799
0.04184336 ETH
177712612023-07-25 16:20:23366 days ago1690302023
0xf59b6497...A3aaB9799
0.0523042 ETH
177527822023-07-23 2:16:59368 days ago1690078619
0xf59b6497...A3aaB9799
0.00008871 ETH
177527822023-07-23 2:16:59368 days ago1690078619
0xf59b6497...A3aaB9799
0.00769153 ETH
177527822023-07-23 2:16:59368 days ago1690078619
0xf59b6497...A3aaB9799
0.06153228 ETH
177527822023-07-23 2:16:59368 days ago1690078619
0xf59b6497...A3aaB9799
0.06922382 ETH
177249622023-07-19 4:47:47372 days ago1689742067
0xf59b6497...A3aaB9799
0.00012359 ETH
177249622023-07-19 4:47:47372 days ago1689742067
0xf59b6497...A3aaB9799
0.00941725 ETH
177249622023-07-19 4:47:47372 days ago1689742067
0xf59b6497...A3aaB9799
0.075338 ETH
177249622023-07-19 4:47:47372 days ago1689742067
0xf59b6497...A3aaB9799
0.08475525 ETH
177159782023-07-17 22:33:11374 days ago1689633191
0xf59b6497...A3aaB9799
0.00013496 ETH
177159782023-07-17 22:33:11374 days ago1689633191
0xf59b6497...A3aaB9799
0.00992575 ETH
177159782023-07-17 22:33:11374 days ago1689633191
0xf59b6497...A3aaB9799
0.07940603 ETH
177159782023-07-17 22:33:11374 days ago1689633191
0xf59b6497...A3aaB9799
0.08933179 ETH
177068302023-07-16 15:46:35375 days ago1689522395
0xf59b6497...A3aaB9799
0.03373973 ETH
177068302023-07-16 15:46:35375 days ago1689522395
0xf59b6497...A3aaB9799
0.04217466 ETH
177024362023-07-16 0:54:35376 days ago1689468875
0xf59b6497...A3aaB9799
0.02922429 ETH
177024362023-07-16 0:54:35376 days ago1689468875
0xf59b6497...A3aaB9799
0.03653037 ETH
177024222023-07-16 0:51:47376 days ago1689468707
0xf59b6497...A3aaB9799
0.02922429 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
REKTIFY

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : rektify.sol
/**
 *Submitted for verification at Etherscan.io on 2023-07-01
*/

/*

https://t.me/REKTIFY2023
https://twitter.com/REKTIFY2023
Website will be live once RetifyNation gets $RKTF to 1 mil mcap

Many dreams have come true in Defi and many dreams have been destroyed by unhonest team/devs
If you are one of the folks who have been trying hard and have been rekt
This is the token for you.  You jeet you won't make it.  You stay strong we all will make it


*/

// SPDX-License-Identifier: MIT


pragma solidity 0.8.20;

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}



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

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

contract Ownable is Context {
    address public _owner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        authorizations[_owner] = true;
        emit OwnershipTransferred(address(0), msgSender);
    }
    mapping (address => bool) internal authorizations;

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

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

    function renounceOwnership() public 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;
    }
}

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

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface InterfaceLP {
    function sync() external;
}


library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

    address WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;
    

    string constant _name = "REKTIFY TOKEN";
    string constant _symbol = "RKTF";
    uint8 constant _decimals = 18; 


    event AutoLiquify(uint256 amountETH, uint256 amountTokens);
    event EditTax(uint8 Buy, uint8 Sell, uint8 Transfer);
    event user_exemptfromfees(address Wallet, bool Exempt);
    event user_TxExempt(address Wallet, bool Exempt);
    event ClearStuck(uint256 amount);
    event ClearToken(address TokenAddressCleared, uint256 Amount);
    event set_Receivers(address marketingFeeReceiver, address buybackFeeReceiver,address burnFeeReceiver,address devFeeReceiver);
    event set_MaxWallet(uint256 maxWallet);
    event set_MaxTX(uint256 maxTX);
    event set_SwapBack(uint256 Amount, bool Enabled);
  
    uint256 _totalSupply =  400000000000000 * 10**_decimals; 

    uint256 public _maxTxAmount = _totalSupply.mul(1).div(100);
    uint256 public _maxWalletToken = _totalSupply.mul(1).div(100);

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;  
    mapping (address => bool) isexemptfromfees;
    mapping (address => bool) isexemptfrommaxTX;

    uint256 private liquidityFee    = 1;
    uint256 private marketingFee    = 3;
    uint256 private devFee          = 0;
    uint256 private buybackFee      = 1; 
    uint256 private burnFee         = 0;
    uint256 public totalFee         = buybackFee + marketingFee + liquidityFee + devFee + burnFee;
    uint256 private feeDenominator  = 100;

    uint256 sellpercent = 200;
    uint256 buypercent = 200;
    uint256 transferpercent = 100; 

    address private autoLiquidityReceiver;
    address private marketingFeeReceiver;
    address private devFeeReceiver;
    address private buybackFeeReceiver;
    address private burnFeeReceiver;

    uint256 setRatio = 30;
    uint256 setRatioDenominator = 100;
    

    IDEXRouter public router;
    InterfaceLP private pairContract;
    address public pair;
    
    bool public TradingOpen = false; 

   
    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply * 60 / 1000; 
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }
    
    constructor () {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();
        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        pairContract = InterfaceLP(pair);
       
        
        _allowances[address(this)][address(router)] = type(uint256).max;

        isexemptfromfees[msg.sender] = true;            
        isexemptfrommaxTX[msg.sender] = true;
        isexemptfrommaxTX[pair] = true;
        isexemptfrommaxTX[marketingFeeReceiver] = true;
        isexemptfrommaxTX[address(this)] = true;
        
        autoLiquidityReceiver = msg.sender;
        marketingFeeReceiver = 0x86D52CAB18D0d30fCe4333a2F6E84d7e4667BBBd;
        devFeeReceiver = msg.sender;
        buybackFeeReceiver = msg.sender;
        burnFeeReceiver = DEAD; 

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);

    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) {return owner();}
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

        function maxWalletRule(uint256 maxWallPercent) external onlyOwner {
         require(maxWallPercent >= 1); 
        _maxWalletToken = (_totalSupply * maxWallPercent ) / 1000;
        emit set_MaxWallet(_maxWalletToken);
                
    }

      function removeLimits () external onlyOwner {
            _maxTxAmount = _totalSupply * 300 / 1000;
            _maxWalletToken = _totalSupply * 30 / 1000;
    }

      
    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!authorizations[sender] && !authorizations[recipient]){
            require(TradingOpen,"Trading not open yet");
        
          }
        
               
        if (!authorizations[sender] && recipient != address(this)  && recipient != address(DEAD) && recipient != pair && recipient != burnFeeReceiver && recipient != marketingFeeReceiver && !isexemptfrommaxTX[recipient]){
            uint256 heldTokens = balanceOf(recipient);
            require((heldTokens + amount) <= _maxWalletToken,"Total Holding is currently limited, you can not buy that much.");}

        checkTxLimit(sender, amount);  

        if(shouldSwapBack()){ swapBack(); }
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isexemptfromfees[sender] || isexemptfromfees[recipient]) ? amount : takeFee(sender, amount, recipient);
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
 
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function checkTxLimit(address sender, uint256 amount) internal view {
        require(amount <= _maxTxAmount || isexemptfrommaxTX[sender], "TX Limit Exceeded");
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isexemptfromfees[sender];
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        
        uint256 percent = transferpercent;
        if(recipient == pair) {
            percent = sellpercent;
        } else if(sender == pair) {
            percent = buypercent;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(percent).div(feeDenominator * 100);
        uint256 burnTokens = feeAmount.mul(burnFee).div(totalFee);
        uint256 contractTokens = feeAmount.sub(burnTokens);
        _balances[address(this)] = _balances[address(this)].add(contractTokens);
        _balances[burnFeeReceiver] = _balances[burnFeeReceiver].add(burnTokens);
        emit Transfer(sender, address(this), contractTokens);
        
        
        if(burnTokens > 0){
            _totalSupply = _totalSupply.sub(burnTokens);
            emit Transfer(sender, ZERO, burnTokens);  
        
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }

  
     function manualSend() external { 
             payable(autoLiquidityReceiver).transfer(address(this).balance);
            
    }

   function clearStuckToken(address tokenAddress, uint256 tokens) external returns (bool success) {
             if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        emit ClearToken(tokenAddress, tokens);
        return ERC20(tokenAddress).transfer(autoLiquidityReceiver, tokens);
    }

    function setStructure(uint256 _percentonbuy, uint256 _percentonsell, uint256 _wallettransfer) external onlyOwner {
        sellpercent = _percentonsell;
        buypercent = _percentonbuy;
        transferpercent = _wallettransfer;    
          
    }
       
    function startTrading() public onlyOwner {
        TradingOpen = true;
        buypercent = 1300;
        sellpercent = 1300;
        transferpercent = 1000;
                              
    }

      function reduceFee() public onlyOwner {
       
        buypercent = 400;
        sellpercent = 400;
        transferpercent = 500;
                              
    }

             
    function swapBack() internal swapping {
        uint256 dynamicLiquidityFee = checkRatio(setRatio, setRatioDenominator) ? 0 : liquidityFee;
        uint256 amountToLiquify = swapThreshold.mul(dynamicLiquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = swapThreshold.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance.sub(balanceBefore);

        uint256 totalETHFee = totalFee.sub(dynamicLiquidityFee.div(2));
        
        uint256 amountETHLiquidity = amountETH.mul(dynamicLiquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);
        uint256 amountETHbuyback = amountETH.mul(buybackFee).div(totalETHFee);
        uint256 amountETHdev = amountETH.mul(devFee).div(totalETHFee);

        (bool tmpSuccess,) = payable(marketingFeeReceiver).call{value: amountETHMarketing}("");
        (tmpSuccess,) = payable(devFeeReceiver).call{value: amountETHdev}("");
        (tmpSuccess,) = payable(buybackFeeReceiver).call{value: amountETHbuyback}("");
        
        tmpSuccess = false;

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                autoLiquidityReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }
    
  
    function set_fees() internal {
      
        emit EditTax( uint8(totalFee.mul(buypercent).div(100)),
            uint8(totalFee.mul(sellpercent).div(100)),
            uint8(totalFee.mul(transferpercent).div(100))
            );
    }
    
    function setParameters(uint256 _liquidityFee, uint256 _buybackFee, uint256 _marketingFee, uint256 _devFee, uint256 _burnFee, uint256 _feeDenominator) external onlyOwner {
        liquidityFee = _liquidityFee;
        buybackFee = _buybackFee;
        marketingFee = _marketingFee;
        devFee = _devFee;
        burnFee = _burnFee;
        totalFee = _liquidityFee.add(_buybackFee).add(_marketingFee).add(_devFee).add(_burnFee);
        feeDenominator = _feeDenominator;
        require(totalFee < feeDenominator / 2, "Fees can not be more than 50%"); 
        set_fees();
    }

   
    function setWallets(address _autoLiquidityReceiver, address _marketingFeeReceiver, address _devFeeReceiver, address _burnFeeReceiver, address _buybackFeeReceiver) external onlyOwner {
        autoLiquidityReceiver = _autoLiquidityReceiver;
        marketingFeeReceiver = _marketingFeeReceiver;
        devFeeReceiver = _devFeeReceiver;
        burnFeeReceiver = _burnFeeReceiver;
        buybackFeeReceiver = _buybackFeeReceiver;

        emit set_Receivers(marketingFeeReceiver, buybackFeeReceiver, burnFeeReceiver, devFeeReceiver);
    }

    function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = _amount;
        emit set_SwapBack(swapThreshold, swapEnabled);
    }

    function checkRatio(uint256 ratio, uint256 accuracy) public view returns (bool) {
        return showBacking(accuracy) > ratio;
    }

    function showBacking(uint256 accuracy) public view returns (uint256) {
        return accuracy.mul(balanceOf(pair).mul(2)).div(showSupply());
    }
    
    function showSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(ZERO));
    }


}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ClearStuck","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"TokenAddressCleared","type":"address"},{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"}],"name":"ClearToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"Buy","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Sell","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"Transfer","type":"uint8"}],"name":"EditTax","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxTX","type":"uint256"}],"name":"set_MaxTX","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"maxWallet","type":"uint256"}],"name":"set_MaxWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"marketingFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"buybackFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"burnFeeReceiver","type":"address"},{"indexed":false,"internalType":"address","name":"devFeeReceiver","type":"address"}],"name":"set_Receivers","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"Amount","type":"uint256"},{"indexed":false,"internalType":"bool","name":"Enabled","type":"bool"}],"name":"set_SwapBack","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_TxExempt","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"Wallet","type":"address"},{"indexed":false,"internalType":"bool","name":"Exempt","type":"bool"}],"name":"user_exemptfromfees","type":"event"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":[{"internalType":"uint256","name":"ratio","type":"uint256"},{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"checkRatio","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent","type":"uint256"}],"name":"maxWalletRule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_buybackFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"},{"internalType":"uint256","name":"_devFee","type":"uint256"},{"internalType":"uint256","name":"_burnFee","type":"uint256"},{"internalType":"uint256","name":"_feeDenominator","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentonbuy","type":"uint256"},{"internalType":"uint256","name":"_percentonsell","type":"uint256"},{"internalType":"uint256","name":"_wallettransfer","type":"uint256"}],"name":"setStructure","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_autoLiquidityReceiver","type":"address"},{"internalType":"address","name":"_marketingFeeReceiver","type":"address"},{"internalType":"address","name":"_devFeeReceiver","type":"address"},{"internalType":"address","name":"_burnFeeReceiver","type":"address"},{"internalType":"address","name":"_buybackFeeReceiver","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"accuracy","type":"uint256"}],"name":"showBacking","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"showSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","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":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000659565b620000259066016bcc41e9000062000669565b600381905562000046906064906200003f90600162000436565b90620004c9565b60045560035462000061906064906200003f90600162000436565b6005556001600a556003600b555f600c556001600d555f600e55600e54600c54600a54600b54600d5462000096919062000683565b620000a2919062000683565b620000ae919062000683565b620000ba919062000683565b600f556064601081905560c860118190556012556013819055601e601955601a55601d805461ffff60a01b1916600160a81b1790556003546103e8906200010390603c62000669565b6200010f919062000699565b601e553480156200011e575f80fd5b505f80546001600160a01b031916339081178255808252600160208190526040808420805460ff191690921790915551909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350601b80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa158015620001db573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002019190620006b9565b600280546001600160a01b0319166001600160a01b03928316179055601b546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200025e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002849190620006b9565b6002546040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af1158015620002d3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002f99190620006b9565b601d80546001600160a01b039283166001600160a01b031991821681178355601c805483169091179055305f818152600760209081526040808320601b548816845282528083205f1990553380845260088352818420805460ff19908116600190811790925560098552838620805482168317905597548916855282852080548916821790556015805490991685528285208054891682179055948452818420805490971690941790955560148054851684179055855484167386d52cab18d0d30fce4333a2f6e84d7e4667bbbd1790955560168054841683179055601780548416831790556018805490931661dead179092556003548183526006855283832081905592519283529290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200072e565b5f825f036200044757505f620004c3565b5f62000454838562000669565b90508262000463858362000699565b14620004c05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f620004c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200051260201b60201c565b5f8183620005355760405162461bcd60e51b8152600401620004b79190620006e1565b505f62000543848662000699565b95945050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620005a057815f19048211156200058457620005846200054c565b808516156200059257918102915b93841c939080029062000565565b509250929050565b5f82620005b857506001620004c3565b81620005c657505f620004c3565b8160018114620005df5760028114620005ea576200060a565b6001915050620004c3565b60ff841115620005fe57620005fe6200054c565b50506001821b620004c3565b5060208310610133831016604e8410600b84101617156200062f575081810a620004c3565b6200063b838362000560565b805f19048211156200065157620006516200054c565b029392505050565b5f620004c060ff841683620005a8565b8082028115828204841417620004c357620004c36200054c565b80820180821115620004c357620004c36200054c565b5f82620006b457634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215620006ca575f80fd5b81516001600160a01b0381168114620004c0575f80fd5b5f6020808352835180828501525f5b818110156200070e57858101830151858201604001528201620006f0565b505f604082860101526040601f19601f8301168501019250505092915050565b611fee806200073c5f395ff3fe60806040526004361061020a575f3560e01c806377b54bad11610113578063a9059cbb1161009d578063ded1e4381161006d578063ded1e43814610602578063df20fd4914610621578063f2fde38b14610640578063f42938901461065f578063f887ea4014610673575f80fd5b8063a9059cbb14610562578063b2bdfa7b14610581578063c0cbdea41461059f578063dd62ed3e146105be575f80fd5b8063893d20e8116100e3578063893d20e8146104b75780638da5cb5b146104e757806395d89b4114610503578063a70419d21461052f578063a8aa1b3114610543575f80fd5b806377b54bad1461044f57806378109e541461046e5780637d1db4a5146104835780638252879114610498575f80fd5b806330c9a6a0116101945780635d83e1d5116101645780635d83e1d5146103b45780636ddd1713146103d357806370a08231146103f3578063715018a614610427578063751039fc1461043b575f80fd5b806330c9a6a014610347578063313ce567146103665780635526566914610381578063571ac8b014610395575f80fd5b806318160ddd116101da57806318160ddd146102ca5780631df4ccfc146102de57806323b872dd146102f3578063282c874914610312578063293230b814610333575f80fd5b80630445b6671461021557806306fdde031461023d57806308fd3d051461027b578063095ea7b3146102ab575f80fd5b3661021157005b5f80fd5b348015610220575f80fd5b5061022a601e5481565b6040519081526020015b60405180910390f35b348015610248575f80fd5b5060408051808201909152600d81526c2922a5aa24a32c902a27a5a2a760991b60208201525b6040516102349190611bd9565b348015610286575f80fd5b50601d5461029b90600160a01b900460ff1681565b6040519015158152602001610234565b3480156102b6575f80fd5b5061029b6102c5366004611c3f565b610692565b3480156102d5575f80fd5b5060035461022a565b3480156102e9575f80fd5b5061022a600f5481565b3480156102fe575f80fd5b5061029b61030d366004611c67565b6106fe565b34801561031d575f80fd5b5061033161032c366004611ca0565b6107bc565b005b34801561033e575f80fd5b50610331610892565b348015610352575f80fd5b5061022a610361366004611cdf565b6108e1565b348015610371575f80fd5b5060405160128152602001610234565b34801561038c575f80fd5b5061022a610926565b3480156103a0575f80fd5b5061029b6103af366004611cf6565b610996565b3480156103bf575f80fd5b506103316103ce366004611cdf565b6109a2565b3480156103de575f80fd5b50601d5461029b90600160a81b900460ff1681565b3480156103fe575f80fd5b5061022a61040d366004611cf6565b6001600160a01b03165f9081526006602052604090205490565b348015610432575f80fd5b50610331610a2e565b348015610446575f80fd5b50610331610a9f565b34801561045a575f80fd5b5061029b610469366004611c3f565b610b09565b348015610479575f80fd5b5061022a60055481565b34801561048e575f80fd5b5061022a60045481565b3480156104a3575f80fd5b506103316104b2366004611d0f565b610c30565b3480156104c2575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610234565b3480156104f2575f80fd5b505f546001600160a01b03166104cf565b34801561050e575f80fd5b506040805180820190915260048152632925aa2360e11b602082015261026e565b34801561053a575f80fd5b50610331610d07565b34801561054e575f80fd5b50601d546104cf906001600160a01b031681565b34801561056d575f80fd5b5061029b61057c366004611c3f565b610d43565b34801561058c575f80fd5b505f546104cf906001600160a01b031681565b3480156105aa575f80fd5b506103316105b9366004611d70565b610d4f565b3480156105c9575f80fd5b5061022a6105d8366004611d99565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561060d575f80fd5b5061029b61061c366004611dca565b610d89565b34801561062c575f80fd5b5061033161063b366004611df7565b610d9c565b34801561064b575f80fd5b5061033161065a366004611cf6565b610e2e565b34801561066a575f80fd5b50610331610f15565b34801561067e575f80fd5b50601b546104cf906001600160a01b031681565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106ec9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f19146107a7576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600782528381203382529091529190912054610783918490610f4e565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b6107b2848484610f86565b90505b9392505050565b5f546001600160a01b031633146107ee5760405162461bcd60e51b81526004016107e590611e13565b60405180910390fd5b600a869055600d859055600b849055600c839055600e82905561081f82610819858188818c8c6112dd565b906112dd565b600f556010819055610832600282611e5c565b600f54106108825760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035302500000060448201526064016107e5565b61088a61133b565b505050505050565b5f546001600160a01b031633146108bb5760405162461bcd60e51b81526004016107e590611e13565b601d805460ff60a01b1916600160a01b17905561051460128190556011556103e8601355565b5f6106f86108ed610926565b601d546001600160a01b03165f9081526006602052604090205461092090610919906002905b906113d6565b85906113d6565b90611454565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead5f9081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254600354919261099192909161098b9190611495565b90611495565b905090565b5f6106f8825f19610692565b5f546001600160a01b031633146109cb5760405162461bcd60e51b81526004016107e590611e13565b60018110156109d8575f80fd5b6103e8816003546109e99190611e7b565b6109f39190611e5c565b60058190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be519060200160405180910390a150565b5f546001600160a01b03163314610a575760405162461bcd60e51b81526004016107e590611e13565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ac85760405162461bcd60e51b81526004016107e590611e13565b6103e860035461012c610adb9190611e7b565b610ae59190611e5c565b6004556003546103e890610afa90601e611e7b565b610b049190611e5c565b600555565b5f815f03610b7a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b779190611e92565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610c0c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b59190611ea9565b5f546001600160a01b03163314610c595760405162461bcd60e51b81526004016107e590611e13565b601480546001600160a01b038781166001600160a01b031992831617909255601580548784169083168117909155601680548785169084168117909155601880548786169085168117909155601780549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b5f546001600160a01b03163314610d305760405162461bcd60e51b81526004016107e590611e13565b61019060128190556011556101f4601355565b5f6107b5338484610f86565b5f546001600160a01b03163314610d785760405162461bcd60e51b81526004016107e590611e13565b601191909155601291909155601355565b5f82610d94836108e1565b119392505050565b5f546001600160a01b03163314610dc55760405162461bcd60e51b81526004016107e590611e13565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b5f546001600160a01b03163314610e575760405162461bcd60e51b81526004016107e590611e13565b6001600160a01b038116610ebc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e5565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f4b573d5f803e3d5ffd5b50565b5f8184841115610f715760405162461bcd60e51b81526004016107e59190611bd9565b505f610f7d8486611ec4565b95945050505050565b601f545f9060ff1615610fa557610f9e8484846114d6565b90506107b5565b6001600160a01b0384165f9081526001602052604090205460ff16158015610fe557506001600160a01b0383165f9081526001602052604090205460ff16155b1561103a57601d54600160a01b900460ff1661103a5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016107e5565b6001600160a01b0384165f9081526001602052604090205460ff1615801561106b57506001600160a01b0383163014155b801561108257506001600160a01b03831661dead14155b801561109c5750601d546001600160a01b03848116911614155b80156110b657506018546001600160a01b03848116911614155b80156110d057506015546001600160a01b03848116911614155b80156110f457506001600160a01b0383165f9081526009602052604090205460ff16155b15611194576001600160a01b0383165f9081526006602052604090205460055461111e8483611ed7565b11156111925760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016107e5565b505b61119e84836115a6565b6111a6611612565b156111b3576111b3611666565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f90815260069091529190912054611204918490610f4e565b6001600160a01b0385165f90815260066020908152604080832093909355600890529081205460ff168061124f57506001600160a01b0384165f9081526008602052604090205460ff165b6112635761125e858486611a2e565b611265565b825b6001600160a01b0385165f9081526006602052604090205490915061128a90826112dd565b6001600160a01b038086165f8181526006602052604090819020939093559151908716905f80516020611f99833981519152906112ca9085815260200190565b60405180910390a3506001949350505050565b5f806112e98385611ed7565b9050838110156107b55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107e5565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006113786064610920601254600f546113d690919063ffffffff16565b6113946064610920601154600f546113d690919063ffffffff16565b6113b06064610920601354600f546113d690919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b5f825f036113e557505f6106f8565b5f6113f08385611e7b565b9050826113fd8583611e5c565b146107b55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107e5565b5f6107b583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bad565b5f6107b583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f4e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600690915291822054611526918490610f4e565b6001600160a01b038086165f90815260066020526040808220939093559085168152205461155490836112dd565b6001600160a01b038085165f8181526006602052604090819020939093559151908616905f80516020611f99833981519152906115949086815260200190565b60405180910390a35060019392505050565b600454811115806115ce57506001600160a01b0382165f9081526009602052604090205460ff165b61160e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016107e5565b5050565b601d545f906001600160a01b031633148015906116325750601f5460ff16155b80156116475750601d54600160a81b900460ff165b8015610991575050601e54305f90815260066020526040902054101590565b601f805460ff19166001179055601954601a545f9161168491610d89565b61169057600a54611692565b5f5b90505f6116b56002610920600f5461092086601e546113d690919063ffffffff16565b90505f6116cd82601e5461149590919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061170557611705611eea565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061173657611736611eea565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac9479061177f9086905f90879030904290600401611efe565b5f604051808303815f87803b158015611796575f80fd5b505af11580156117a8573d5f803e3d5ffd5b505050505f6117c0824761149590919063ffffffff16565b90505f6117da6117d1886002611454565b600f5490611495565b90505f6117ee60026109208481878d6113d6565b90505f61180a83610920600b54876113d690919063ffffffff16565b90505f61182684610920600d54886113d690919063ffffffff16565b90505f61184285610920600c54896113d690919063ffffffff16565b6015546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f8114611891576040519150601f19603f3d011682016040523d82523d5f602084013e611896565b606091505b50506016546040519192506001600160a01b03169083905f81818185875af1925050503d805f81146118e3576040519150601f19603f3d011682016040523d82523d5f602084013e6118e8565b606091505b50506017546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611935576040519150601f19603f3d011682016040523d82523d5f602084013e61193a565b606091505b505f9250508b159050611a1657601b5460145460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156119b4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906119d99190611f6d565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601354601d545f91906001600160a01b0390811690841603611a535750601154611a6e565b601d546001600160a01b0390811690861603611a6e57506012545b5f611a9a6010546064611a819190611e7b565b61092084610913600f548a6113d690919063ffffffff16565b90505f611ab8600f54610920600e54856113d690919063ffffffff16565b90505f611ac58383611495565b305f90815260066020526040902054909150611ae190826112dd565b305f90815260066020526040808220929092556018546001600160a01b031681522054611b0e90836112dd565b6018546001600160a01b039081165f9081526006602090815260409182902093909355518381523092918b16915f80516020611f99833981519152910160405180910390a38115611b9757600354611b669083611495565b6003556040518281525f906001600160a01b038a16905f80516020611f998339815191529060200160405180910390a35b611ba18784611495565b98975050505050505050565b5f8183611bcd5760405162461bcd60e51b81526004016107e59190611bd9565b505f610f7d8486611e5c565b5f6020808352835180828501525f5b81811015611c0457858101830151858201604001528201611be8565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611c3a575f80fd5b919050565b5f8060408385031215611c50575f80fd5b611c5983611c24565b946020939093013593505050565b5f805f60608486031215611c79575f80fd5b611c8284611c24565b9250611c9060208501611c24565b9150604084013590509250925092565b5f805f805f8060c08789031215611cb5575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f60208284031215611cef575f80fd5b5035919050565b5f60208284031215611d06575f80fd5b6107b582611c24565b5f805f805f60a08688031215611d23575f80fd5b611d2c86611c24565b9450611d3a60208701611c24565b9350611d4860408701611c24565b9250611d5660608701611c24565b9150611d6460808701611c24565b90509295509295909350565b5f805f60608486031215611d82575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611daa575f80fd5b611db383611c24565b9150611dc160208401611c24565b90509250929050565b5f8060408385031215611ddb575f80fd5b50508035926020909101359150565b8015158114610f4b575f80fd5b5f8060408385031215611e08575f80fd5b8235611c5981611dea565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f82611e7657634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176106f8576106f8611e48565b5f60208284031215611ea2575f80fd5b5051919050565b5f60208284031215611eb9575f80fd5b81516107b581611dea565b818103818111156106f8576106f8611e48565b808201808211156106f8576106f8611e48565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611f4c5784516001600160a01b031683529383019391830191600101611f27565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611f7f575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122084d21e5d7f9314d0a1cf22034968eda77deb2af8e21b46939e6f93970849d58064736f6c63430008140033

Deployed Bytecode

0x60806040526004361061020a575f3560e01c806377b54bad11610113578063a9059cbb1161009d578063ded1e4381161006d578063ded1e43814610602578063df20fd4914610621578063f2fde38b14610640578063f42938901461065f578063f887ea4014610673575f80fd5b8063a9059cbb14610562578063b2bdfa7b14610581578063c0cbdea41461059f578063dd62ed3e146105be575f80fd5b8063893d20e8116100e3578063893d20e8146104b75780638da5cb5b146104e757806395d89b4114610503578063a70419d21461052f578063a8aa1b3114610543575f80fd5b806377b54bad1461044f57806378109e541461046e5780637d1db4a5146104835780638252879114610498575f80fd5b806330c9a6a0116101945780635d83e1d5116101645780635d83e1d5146103b45780636ddd1713146103d357806370a08231146103f3578063715018a614610427578063751039fc1461043b575f80fd5b806330c9a6a014610347578063313ce567146103665780635526566914610381578063571ac8b014610395575f80fd5b806318160ddd116101da57806318160ddd146102ca5780631df4ccfc146102de57806323b872dd146102f3578063282c874914610312578063293230b814610333575f80fd5b80630445b6671461021557806306fdde031461023d57806308fd3d051461027b578063095ea7b3146102ab575f80fd5b3661021157005b5f80fd5b348015610220575f80fd5b5061022a601e5481565b6040519081526020015b60405180910390f35b348015610248575f80fd5b5060408051808201909152600d81526c2922a5aa24a32c902a27a5a2a760991b60208201525b6040516102349190611bd9565b348015610286575f80fd5b50601d5461029b90600160a01b900460ff1681565b6040519015158152602001610234565b3480156102b6575f80fd5b5061029b6102c5366004611c3f565b610692565b3480156102d5575f80fd5b5060035461022a565b3480156102e9575f80fd5b5061022a600f5481565b3480156102fe575f80fd5b5061029b61030d366004611c67565b6106fe565b34801561031d575f80fd5b5061033161032c366004611ca0565b6107bc565b005b34801561033e575f80fd5b50610331610892565b348015610352575f80fd5b5061022a610361366004611cdf565b6108e1565b348015610371575f80fd5b5060405160128152602001610234565b34801561038c575f80fd5b5061022a610926565b3480156103a0575f80fd5b5061029b6103af366004611cf6565b610996565b3480156103bf575f80fd5b506103316103ce366004611cdf565b6109a2565b3480156103de575f80fd5b50601d5461029b90600160a81b900460ff1681565b3480156103fe575f80fd5b5061022a61040d366004611cf6565b6001600160a01b03165f9081526006602052604090205490565b348015610432575f80fd5b50610331610a2e565b348015610446575f80fd5b50610331610a9f565b34801561045a575f80fd5b5061029b610469366004611c3f565b610b09565b348015610479575f80fd5b5061022a60055481565b34801561048e575f80fd5b5061022a60045481565b3480156104a3575f80fd5b506103316104b2366004611d0f565b610c30565b3480156104c2575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610234565b3480156104f2575f80fd5b505f546001600160a01b03166104cf565b34801561050e575f80fd5b506040805180820190915260048152632925aa2360e11b602082015261026e565b34801561053a575f80fd5b50610331610d07565b34801561054e575f80fd5b50601d546104cf906001600160a01b031681565b34801561056d575f80fd5b5061029b61057c366004611c3f565b610d43565b34801561058c575f80fd5b505f546104cf906001600160a01b031681565b3480156105aa575f80fd5b506103316105b9366004611d70565b610d4f565b3480156105c9575f80fd5b5061022a6105d8366004611d99565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205490565b34801561060d575f80fd5b5061029b61061c366004611dca565b610d89565b34801561062c575f80fd5b5061033161063b366004611df7565b610d9c565b34801561064b575f80fd5b5061033161065a366004611cf6565b610e2e565b34801561066a575f80fd5b50610331610f15565b34801561067e575f80fd5b50601b546104cf906001600160a01b031681565b335f8181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906106ec9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526007602090815260408083203384529091528120545f19146107a7576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600782528381203382529091529190912054610783918490610f4e565b6001600160a01b0385165f9081526007602090815260408083203384529091529020555b6107b2848484610f86565b90505b9392505050565b5f546001600160a01b031633146107ee5760405162461bcd60e51b81526004016107e590611e13565b60405180910390fd5b600a869055600d859055600b849055600c839055600e82905561081f82610819858188818c8c6112dd565b906112dd565b600f556010819055610832600282611e5c565b600f54106108825760405162461bcd60e51b815260206004820152601d60248201527f466565732063616e206e6f74206265206d6f7265207468616e2035302500000060448201526064016107e5565b61088a61133b565b505050505050565b5f546001600160a01b031633146108bb5760405162461bcd60e51b81526004016107e590611e13565b601d805460ff60a01b1916600160a01b17905561051460128190556011556103e8601355565b5f6106f86108ed610926565b601d546001600160a01b03165f9081526006602052604090205461092090610919906002905b906113d6565b85906113d6565b90611454565b60066020527f54cdd369e4e8a8515e52ca72ec816c2101831ad1f18bf44102ed171459c9b4f85461dead5f9081527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e2254600354919261099192909161098b9190611495565b90611495565b905090565b5f6106f8825f19610692565b5f546001600160a01b031633146109cb5760405162461bcd60e51b81526004016107e590611e13565b60018110156109d8575f80fd5b6103e8816003546109e99190611e7b565b6109f39190611e5c565b60058190556040519081527f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be519060200160405180910390a150565b5f546001600160a01b03163314610a575760405162461bcd60e51b81526004016107e590611e13565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b03163314610ac85760405162461bcd60e51b81526004016107e590611e13565b6103e860035461012c610adb9190611e7b565b610ae59190611e5c565b6004556003546103e890610afa90601e611e7b565b610b049190611e5c565b600555565b5f815f03610b7a576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610b53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b779190611e92565b91505b604080516001600160a01b0385168152602081018490527fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f910160405180910390a160145460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610c0c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107b59190611ea9565b5f546001600160a01b03163314610c595760405162461bcd60e51b81526004016107e590611e13565b601480546001600160a01b038781166001600160a01b031992831617909255601580548784169083168117909155601680548785169084168117909155601880548786169085168117909155601780549587169590941685179093556040805192835260208301949094529281019190915260608101919091527f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b159060800160405180910390a15050505050565b5f546001600160a01b03163314610d305760405162461bcd60e51b81526004016107e590611e13565b61019060128190556011556101f4601355565b5f6107b5338484610f86565b5f546001600160a01b03163314610d785760405162461bcd60e51b81526004016107e590611e13565b601191909155601291909155601355565b5f82610d94836108e1565b119392505050565b5f546001600160a01b03163314610dc55760405162461bcd60e51b81526004016107e590611e13565b601d805460ff60a81b1916600160a81b84151581029190911791829055601e8390556040805184815260ff9290930491909116151560208301527f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60910160405180910390a15050565b5f546001600160a01b03163314610e575760405162461bcd60e51b81526004016107e590611e13565b6001600160a01b038116610ebc5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107e5565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6014546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610f4b573d5f803e3d5ffd5b50565b5f8184841115610f715760405162461bcd60e51b81526004016107e59190611bd9565b505f610f7d8486611ec4565b95945050505050565b601f545f9060ff1615610fa557610f9e8484846114d6565b90506107b5565b6001600160a01b0384165f9081526001602052604090205460ff16158015610fe557506001600160a01b0383165f9081526001602052604090205460ff16155b1561103a57601d54600160a01b900460ff1661103a5760405162461bcd60e51b8152602060048201526014602482015273151c98591a5b99c81b9bdd081bdc195b881e595d60621b60448201526064016107e5565b6001600160a01b0384165f9081526001602052604090205460ff1615801561106b57506001600160a01b0383163014155b801561108257506001600160a01b03831661dead14155b801561109c5750601d546001600160a01b03848116911614155b80156110b657506018546001600160a01b03848116911614155b80156110d057506015546001600160a01b03848116911614155b80156110f457506001600160a01b0383165f9081526009602052604090205460ff16155b15611194576001600160a01b0383165f9081526006602052604090205460055461111e8483611ed7565b11156111925760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016107e5565b505b61119e84836115a6565b6111a6611612565b156111b3576111b3611666565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f90815260069091529190912054611204918490610f4e565b6001600160a01b0385165f90815260066020908152604080832093909355600890529081205460ff168061124f57506001600160a01b0384165f9081526008602052604090205460ff165b6112635761125e858486611a2e565b611265565b825b6001600160a01b0385165f9081526006602052604090205490915061128a90826112dd565b6001600160a01b038086165f8181526006602052604090819020939093559151908716905f80516020611f99833981519152906112ca9085815260200190565b60405180910390a3506001949350505050565b5f806112e98385611ed7565b9050838110156107b55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107e5565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006113786064610920601254600f546113d690919063ffffffff16565b6113946064610920601154600f546113d690919063ffffffff16565b6113b06064610920601354600f546113d690919063ffffffff16565b6040805160ff9485168152928416602084015292168183015290519081900360600190a1565b5f825f036113e557505f6106f8565b5f6113f08385611e7b565b9050826113fd8583611e5c565b146107b55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107e5565b5f6107b583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bad565b5f6107b583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f4e565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600690915291822054611526918490610f4e565b6001600160a01b038086165f90815260066020526040808220939093559085168152205461155490836112dd565b6001600160a01b038085165f8181526006602052604090819020939093559151908616905f80516020611f99833981519152906115949086815260200190565b60405180910390a35060019392505050565b600454811115806115ce57506001600160a01b0382165f9081526009602052604090205460ff165b61160e5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016107e5565b5050565b601d545f906001600160a01b031633148015906116325750601f5460ff16155b80156116475750601d54600160a81b900460ff165b8015610991575050601e54305f90815260066020526040902054101590565b601f805460ff19166001179055601954601a545f9161168491610d89565b61169057600a54611692565b5f5b90505f6116b56002610920600f5461092086601e546113d690919063ffffffff16565b90505f6116cd82601e5461149590919063ffffffff16565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f8151811061170557611705611eea565b6001600160a01b03928316602091820292909201015260025482519116908290600190811061173657611736611eea565b6001600160a01b039283166020918202929092010152601b5460405163791ac94760e01b81524792919091169063791ac9479061177f9086905f90879030904290600401611efe565b5f604051808303815f87803b158015611796575f80fd5b505af11580156117a8573d5f803e3d5ffd5b505050505f6117c0824761149590919063ffffffff16565b90505f6117da6117d1886002611454565b600f5490611495565b90505f6117ee60026109208481878d6113d6565b90505f61180a83610920600b54876113d690919063ffffffff16565b90505f61182684610920600d54886113d690919063ffffffff16565b90505f61184285610920600c54896113d690919063ffffffff16565b6015546040519192505f916001600160a01b039091169085908381818185875af1925050503d805f8114611891576040519150601f19603f3d011682016040523d82523d5f602084013e611896565b606091505b50506016546040519192506001600160a01b03169083905f81818185875af1925050503d805f81146118e3576040519150601f19603f3d011682016040523d82523d5f602084013e6118e8565b606091505b50506017546040519192506001600160a01b03169084905f81818185875af1925050503d805f8114611935576040519150601f19603f3d011682016040523d82523d5f602084013e61193a565b606091505b505f9250508b159050611a1657601b5460145460405163f305d71960e01b8152306004820152602481018e90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990879060c40160606040518083038185885af11580156119b4573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906119d99190611f6d565b505060408051878152602081018e90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b5050601f805460ff1916905550505050505050505050565b601354601d545f91906001600160a01b0390811690841603611a535750601154611a6e565b601d546001600160a01b0390811690861603611a6e57506012545b5f611a9a6010546064611a819190611e7b565b61092084610913600f548a6113d690919063ffffffff16565b90505f611ab8600f54610920600e54856113d690919063ffffffff16565b90505f611ac58383611495565b305f90815260066020526040902054909150611ae190826112dd565b305f90815260066020526040808220929092556018546001600160a01b031681522054611b0e90836112dd565b6018546001600160a01b039081165f9081526006602090815260409182902093909355518381523092918b16915f80516020611f99833981519152910160405180910390a38115611b9757600354611b669083611495565b6003556040518281525f906001600160a01b038a16905f80516020611f998339815191529060200160405180910390a35b611ba18784611495565b98975050505050505050565b5f8183611bcd5760405162461bcd60e51b81526004016107e59190611bd9565b505f610f7d8486611e5c565b5f6020808352835180828501525f5b81811015611c0457858101830151858201604001528201611be8565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611c3a575f80fd5b919050565b5f8060408385031215611c50575f80fd5b611c5983611c24565b946020939093013593505050565b5f805f60608486031215611c79575f80fd5b611c8284611c24565b9250611c9060208501611c24565b9150604084013590509250925092565b5f805f805f8060c08789031215611cb5575f80fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b5f60208284031215611cef575f80fd5b5035919050565b5f60208284031215611d06575f80fd5b6107b582611c24565b5f805f805f60a08688031215611d23575f80fd5b611d2c86611c24565b9450611d3a60208701611c24565b9350611d4860408701611c24565b9250611d5660608701611c24565b9150611d6460808701611c24565b90509295509295909350565b5f805f60608486031215611d82575f80fd5b505081359360208301359350604090920135919050565b5f8060408385031215611daa575f80fd5b611db383611c24565b9150611dc160208401611c24565b90509250929050565b5f8060408385031215611ddb575f80fd5b50508035926020909101359150565b8015158114610f4b575f80fd5b5f8060408385031215611e08575f80fd5b8235611c5981611dea565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b5f82611e7657634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176106f8576106f8611e48565b5f60208284031215611ea2575f80fd5b5051919050565b5f60208284031215611eb9575f80fd5b81516107b581611dea565b818103818111156106f8576106f8611e48565b808201808211156106f8576106f8611e48565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611f4c5784516001600160a01b031683529383019391830191600101611f27565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f60608486031215611f7f575f80fd5b835192506020840151915060408401519050925092509256feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122084d21e5d7f9314d0a1cf22034968eda77deb2af8e21b46939e6f93970849d58064736f6c63430008140033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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