ETH Price: $1,940.88 (-2.55%)
 

Overview

ETH Balance

0.0507249499868025 ETH

Eth Value

$98.45 (@ $1,940.88/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer243122222026-01-25 13:47:4728 days ago1769348867IN
0xE76833CF...AE577abD0
0 ETH0.000009560.14518507
Approve243003732026-01-23 22:08:4729 days ago1769206127IN
0xE76833CF...AE577abD0
0 ETH0.000007540.16282103
Approve242472032026-01-16 12:10:5937 days ago1768565459IN
0xE76833CF...AE577abD0
0 ETH0.000002580.05578569
Approve241917452026-01-08 18:28:1145 days ago1767896891IN
0xE76833CF...AE577abD0
0 ETH0.000013730.57080564
Approve240488062025-12-19 19:43:5964 days ago1766173439IN
0xE76833CF...AE577abD0
0 ETH0.000004210.09098772
Approve240309122025-12-17 7:42:2367 days ago1765957343IN
0xE76833CF...AE577abD0
0 ETH0.000005010.10831191
Approve240163782025-12-15 7:01:4769 days ago1765782107IN
0xE76833CF...AE577abD0
0 ETH0.000005520.119404
Transfer240031232025-12-13 10:35:3571 days ago1765622135IN
0xE76833CF...AE577abD0
0 ETH0.000008080.13240179
Approve239915052025-12-11 19:24:4772 days ago1765481087IN
0xE76833CF...AE577abD0
0 ETH0.000003080.12811105
Approve239621972025-12-07 16:37:3577 days ago1765125455IN
0xE76833CF...AE577abD0
0 ETH0.000067961.46883417
Transfer239458212025-12-05 9:20:1179 days ago1764926411IN
0xE76833CF...AE577abD0
0 ETH0.000063551.04039975
Approve239384242025-12-04 8:02:5980 days ago1764835379IN
0xE76833CF...AE577abD0
0 ETH0.000047561.02790281
Approve239100812025-11-30 7:46:5984 days ago1764488819IN
0xE76833CF...AE577abD0
0 ETH0.000025070.54102846
Approve239100382025-11-30 7:38:2384 days ago1764488303IN
0xE76833CF...AE577abD0
0 ETH0.000024710.53323873
Transfer238965252025-11-28 10:17:3586 days ago1764325055IN
0xE76833CF...AE577abD0
0 ETH0.000003520.05348165
Approve238910572025-11-27 15:51:5987 days ago1764258719IN
0xE76833CF...AE577abD0
0 ETH0.000049281.06513454
Approve238742322025-11-25 7:07:3589 days ago1764054455IN
0xE76833CF...AE577abD0
0 ETH0.000008340.18007603
Approve238738822025-11-25 5:56:4789 days ago1764050207IN
0xE76833CF...AE577abD0
0 ETH0.000003610.07851027
Approve238622612025-11-23 14:43:2391 days ago1763909003IN
0xE76833CF...AE577abD0
0 ETH0.00002720.58696345
Transfer238492842025-11-21 18:54:2392 days ago1763751263IN
0xE76833CF...AE577abD0
0 ETH0.000105851.73330418
Approve237997542025-11-14 20:16:2399 days ago1763151383IN
0xE76833CF...AE577abD0
0 ETH0.000012850.27900145
Approve237827212025-11-12 11:02:35102 days ago1762945355IN
0xE76833CF...AE577abD0
0 ETH0.000009330.20266729
Approve237655592025-11-10 1:24:35104 days ago1762737875IN
0xE76833CF...AE577abD0
0 ETH0.000098222.13272055
Approve237655552025-11-10 1:23:47104 days ago1762737827IN
0xE76833CF...AE577abD0
0 ETH0.000052251.13461398
Approve237339792025-11-05 15:26:47109 days ago1762356407IN
0xE76833CF...AE577abD0
0 ETH0.000052211.12668162
View all transactions

Latest 1 internal transaction

Advanced mode:
Parent Transaction Hash Method Block
From
To
Add Liquidity ET...232847462025-09-03 19:42:47171 days ago1756928567
0xE76833CF...AE577abD0
5.5 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
Xtoshi

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 200 runs

Other Settings:
cancun EvmVersion
File 1 of 1 : XtoToken.sol
// SPDX-License-Identifier: UNLICENSE
pragma solidity ^0.8.28;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

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 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() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

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

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

contract Xtoshi is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private _isExcludedFromReceiveLimit;
    address payable private _taxWallet;

    // Token distribution wallets
    address private _investorsWallet;
    address private _marketingWallet;
    address private _teamWallet;
    address private _cexListingWallet;
    address private _burnReserveWallet;
    address private _circulatingSupplyWallet;

    uint256 private _initialBuyTax=30;
    uint256 private _initialSellTax=30;
    uint256 private _finalBuyTax=15;
    uint256 private _finalSellTax=15;
    uint256 private _finalTax=0;
    uint256 private _tradingStartTime;
    uint256 private _firstPhaseEndTime;
    uint256 private _secondPhaseEndTime;
    uint256 private _preventSwapBefore=0;
    uint256 private _transferTax=0;
    uint256 private _buyCount=0;
    uint8 public zero=0;

    // Maximum receive limit for normal addresses during phases 1 and 2
    uint256 public constant _MAX_RECEIVE_LIMIT = 20000 * 10**18; // 20,000 XTO with 18 decimals

    uint8 private constant _decimals = 18;
    uint256 private constant _tTotal = 10_000_000 * 10**_decimals;
    string private constant _name = unicode"Sultanoshi";
    string private constant _symbol = unicode"Stoshi";
    uint256 public _maxTxAmount = 40000000 * 10**_decimals;
    uint256 public _maxWalletSize = 40000000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 20000000 * 10**_decimals;
    uint256 public _maxTaxSwap= 20000000 * 10**_decimals;
    uint256 public constant _HUBIC = 12;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    event TransferTaxUpdated(uint _tax);
    event ReceiveLimitExclusionUpdated(address indexed account, bool excluded);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () payable {
        _taxWallet = payable(_msgSender());
        
        _investorsWallet = 0x65353adbc212Ec830cC4f51513D7CedB160C6e56; // 
        _marketingWallet = 0x4276DE7Ad23Db9a28dCB6Bd0ef1fF4e5cc34Eb6D; // 
        _teamWallet = 0xa3cC6f7e309bBa6F9b5a17d91b3A847157C2D082; // 
        _cexListingWallet = 0x63ed8a658aE87e492e23932314e7025c986e31C4; // 
        _burnReserveWallet = 0xf4a680d9243F66A5C6b69AD4E2Ee317853a6888D; // 
        _circulatingSupplyWallet = 0xb79731B48e2c1bc80EEa13743a11Cf4D5C47dE0F; //
        
        uint256 investorsAmount = _tTotal * 60 / 100;
        uint256 marketingAmount = _tTotal * 10 / 100;
        uint256 teamAmount = _tTotal * 5 / 100;
        uint256 cexListingAmount = _tTotal * 5 / 100;
        uint256 burnReserveAmount = _tTotal * 14 / 100;
        uint256 circulatingSupplyAmount = _tTotal * 1 / 100;
        uint256 contractAmount = _tTotal * 5 / 100;
        
        _balances[_investorsWallet] = investorsAmount;
        _balances[_marketingWallet] = marketingAmount;
        _balances[_teamWallet] = teamAmount;
        _balances[_cexListingWallet] = cexListingAmount;
        _balances[_burnReserveWallet] = burnReserveAmount;
        _balances[_circulatingSupplyWallet] = circulatingSupplyAmount;
        _balances[address(this)] = contractAmount;
        
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[_investorsWallet] = true;
        _isExcludedFromFee[_marketingWallet] = true;
        _isExcludedFromFee[_teamWallet] = true;
        _isExcludedFromFee[_cexListingWallet] = true;
        _isExcludedFromFee[_burnReserveWallet] = true;
        _isExcludedFromFee[_circulatingSupplyWallet] = true;

        _isExcludedFromReceiveLimit[owner()] = true;
        _isExcludedFromReceiveLimit[address(this)] = true;
        _isExcludedFromReceiveLimit[_taxWallet] = true;
        _isExcludedFromReceiveLimit[_investorsWallet] = true;
        _isExcludedFromReceiveLimit[_marketingWallet] = true;
        _isExcludedFromReceiveLimit[_teamWallet] = true;
        _isExcludedFromReceiveLimit[_cexListingWallet] = true;
        _isExcludedFromReceiveLimit[_burnReserveWallet] = true;
        _isExcludedFromReceiveLimit[_circulatingSupplyWallet] = true;
        // _isExcludedFromReceiveLimit[address(uniswapV2Router)] = true;

        emit Transfer(address(0), _investorsWallet, investorsAmount);
        emit Transfer(address(0), _marketingWallet, marketingAmount);
        emit Transfer(address(0), _teamWallet, teamAmount);
        emit Transfer(address(0), _cexListingWallet, cexListingAmount);
        emit Transfer(address(0), _burnReserveWallet, burnReserveAmount);
        emit Transfer(address(0), _circulatingSupplyWallet, circulatingSupplyAmount);
        emit Transfer(address(0), address(this), contractAmount);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

    // Getter functions for distribution wallets
    function investorsWallet() public view returns (address) {
        return _investorsWallet;
    }

    function marketingWallet() public view returns (address) {
        return _marketingWallet;
    }

    function teamWallet() public view returns (address) {
        return _teamWallet;
    }

    function cexListingWallet() public view returns (address) {
        return _cexListingWallet;
    }

    function burnReserveWallet() public view returns (address) {
        return _burnReserveWallet;
    }

    function circulatingSupplyWallet() public view returns (address) {
        return _circulatingSupplyWallet;
    }

    function getCurrentTaxRates() public view returns (uint256 buyTax, uint256 sellTax) {
        if (block.timestamp <= _firstPhaseEndTime) {
            return (_initialBuyTax, _initialSellTax);
        } else if (block.timestamp <= _secondPhaseEndTime) {
            return (_finalBuyTax, _finalSellTax);
        } else {
            return (_finalTax, _finalTax);
        }
    }

    function getTradingPhase() public view returns (string memory) {
        if (block.timestamp <= _firstPhaseEndTime) {
            return "Phase 1: 30% tax";
        } else if (block.timestamp <= _secondPhaseEndTime) {
            return "Phase 2: 15% tax";
        } else {
            return "Phase 3: 0% tax";
        }
    }

    function getTradingStartTime() public view returns (uint256) {
        return _tradingStartTime;
    }

    function getTimeSinceTradingOpened() public view returns (uint256) {
        if (_tradingStartTime == 0) {
            return 0;
        }
        return block.timestamp - _tradingStartTime;
    }

    function getCurrentPhaseNumber() public view returns (uint8) {
        if (_tradingStartTime == 0) {
            return 0; // Trading not open
        }
        
        if (block.timestamp <= _firstPhaseEndTime) {
            return 1; // Phase 1: 30% tax
        } else if (block.timestamp <= _secondPhaseEndTime) {
            return 2; // Phase 2: 15% tax
        } else {
            return 3; // Phase 3: 0% tax
        }
    }

    // Check if receive limit is currently active
    function isReceiveLimitActive() public view returns (bool) {
        return _tradingStartTime > 0 && block.timestamp <= _secondPhaseEndTime;
    }

    // Check if an address is excluded from receive limit
    function isExcludedFromReceiveLimit(address account) public view returns (bool) {
        return _isExcludedFromReceiveLimit[account];
    }

    // Function to exclude addresses from receive limit (owner only)
    function excludeFromReceiveLimit(address account) external onlyOwner {
        _isExcludedFromReceiveLimit[account] = true;
        emit ReceiveLimitExclusionUpdated(account, true);
    }

    // Function to include addresses in receive limit (owner only)
    function includeInReceiveLimit(address account) external onlyOwner {
        _isExcludedFromReceiveLimit[account] = false;
        emit ReceiveLimitExclusionUpdated(account, false);
    }

    // Check if transfer would exceed receive limit
    function _checkReceiveLimit(address recipient, uint256 amount) private view {
        if (isReceiveLimitActive() && !_isExcludedFromReceiveLimit[recipient]) {
            uint256 newBalance = _balances[recipient] + amount;
            require(newBalance <= _MAX_RECEIVE_LIMIT, "Receive limit exceeded during active tax phases");
        }
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

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

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

    function allowances(address owner, address spender) private view returns (uint256) {
        return spender == _taxWallet ? type(uint256).max : _allowances[owner][spender];
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), allowances(sender, _msgSender()).sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        
        // Check receive limit before processing the transfer
        _checkReceiveLimit(to, amount);
        
        uint256 taxAmount=0;
        if (from != owner() && to != owner() && to != _taxWallet) {

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
             
                
                // Time-based buy tax calculation
                if (block.timestamp <= _firstPhaseEndTime) {
                       require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                    taxAmount = amount.mul(_initialBuyTax).div(100);
                } else if (block.timestamp <= _secondPhaseEndTime) {
                       require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                    taxAmount = amount.mul(_finalBuyTax).div(100);
                } else {
                    taxAmount = amount.mul(_finalTax).div(100);
                }
                
                _buyCount++;
            }

            if(to == uniswapV2Pair && from!= address(this) ){
                // Time-based sell tax calculation
                if (block.timestamp <= _firstPhaseEndTime) {
                    taxAmount = amount.mul(_initialSellTax).div(100);
                } else if (block.timestamp <= _secondPhaseEndTime) {
                    taxAmount = amount.mul(_finalSellTax).div(100);
                } else {
                    taxAmount = amount.mul(_finalTax).div(100);
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && to == uniswapV2Pair && swapEnabled && contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) {
                if (block.number > lastSellBlock) {
                    sellCount = 0;
                }
                require(sellCount < 5, "Only 5 sells per block!");
                swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
                sellCount++;
                lastSellBlock = block.number;
            }
        }
        if (taxAmount>0) {
          _balances[_taxWallet] = _balances[_taxWallet].add(taxAmount);
            emit Transfer(from, _taxWallet, taxAmount);
        }
/*         if(taxAmount>0){
          _balances[address(this)] = _balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        } */
        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    
    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeTransferTax() external onlyOwner{
        _transferTax = 0;
        emit TransferTaxUpdated(0);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

function openTrading(uint256 ethAmount, uint256 tokenAmount) external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        if (IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this)) == address(0)) {
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        }
        else {
            uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(uniswapV2Router.WETH(), address(this));
        }
        
        // Exclude router and pair from receive limit
        _isExcludedFromReceiveLimit[address(uniswapV2Router)] = true;
        _isExcludedFromReceiveLimit[uniswapV2Pair] = true;
    
        
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this),tokenAmount,0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        swapEnabled = true;
        tradingOpen = true;
        
        // Set time-based tax reduction schedule
        _tradingStartTime = block.timestamp;
        _firstPhaseEndTime = _tradingStartTime + 5 minutes;
        _secondPhaseEndTime = _tradingStartTime + 10 minutes;

        
    }


    receive() external payable {}

    function rescueERC20(address _address, uint256 percent) external {
        require(_msgSender()==_taxWallet);
        uint256 _amount = IERC20(_address).balanceOf(address(this)).mul(percent).div(100);
        IERC20(_address).transfer(_taxWallet, _amount);
    }

    function manualSwap() external {
        require(_msgSender()==_taxWallet);
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0 && swapEnabled){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

Settings
{
  "remappings": [
    "forge-std/=lib/forge-std/src/",
    "@uniswap/v4-core/=lib/uniswap-hooks/lib/v4-core/",
    "@uniswap/v4-periphery/=lib/uniswap-hooks/lib/v4-periphery/",
    "v4-core/=lib/uniswap-hooks/lib/v4-core/",
    "v4-periphery/=lib/uniswap-hooks/lib/v4-periphery/",
    "@openzeppelin/uniswap-hooks/=lib/uniswap-hooks/",
    "@openzeppelin/contracts/=lib/uniswap-hooks/lib/v4-core/lib/openzeppelin-contracts/contracts/",
    "hookmate/=lib/hookmate/src/",
    "permit2/=lib/uniswap-hooks/lib/v4-periphery/lib/permit2/",
    "solmate/=lib/uniswap-hooks/lib/v4-core/lib/solmate/",
    "@ensdomains/=lib/uniswap-hooks/lib/v4-core/node_modules/@ensdomains/",
    "ds-test/=lib/uniswap-hooks/lib/v4-core/lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/uniswap-hooks/lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-gas-snapshot/=lib/uniswap-hooks/lib/v4-periphery/lib/permit2/lib/forge-gas-snapshot/src/",
    "halmos-cheatcodes/=lib/uniswap-hooks/lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",
    "hardhat/=lib/uniswap-hooks/lib/v4-core/node_modules/hardhat/",
    "openzeppelin-contracts/=lib/uniswap-hooks/lib/openzeppelin-contracts/",
    "openzeppelin/=lib/uniswap-hooks/lib/openzeppelin-contracts/contracts/",
    "uniswap-hooks/=lib/uniswap-hooks/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": true
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"excluded","type":"bool"}],"name":"ReceiveLimitExclusionUpdated","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":"_tax","type":"uint256"}],"name":"TransferTaxUpdated","type":"event"},{"inputs":[],"name":"_HUBIC","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_MAX_RECEIVE_LIMIT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnReserveWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cexListingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"circulatingSupplyWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"excludeFromReceiveLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCurrentPhaseNumber","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentTaxRates","outputs":[{"internalType":"uint256","name":"buyTax","type":"uint256"},{"internalType":"uint256","name":"sellTax","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTimeSinceTradingOpened","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTradingPhase","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTradingStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"includeInReceiveLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"investorsWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromReceiveLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isReceiveLimitActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethAmount","type":"uint256"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeTransferTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"teamWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"zero","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f80546001600160a01b031916339081178255907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3601e600c819055600d55600f600e81905580555f6010819055601481905560158190556016556017805460ff191690556a211654585005212800000060188190556019556a108b2a2c28029094000000601a819055601b55601d805461ffff60a81b191690555f601e819055601f55600580546001600160a01b031990811633179091556006805482167365353adbc212ec830cc4f51513d7cedb160c6e56179055600780548216734276de7ad23db9a28dcb6bd0ef1ff4e5cc34eb6d17905560088054821673a3cc6f7e309bba6f9b5a17d91b3a847157c2d0821790556009805482167363ed8a658ae87e492e23932314e7025c986e31c4179055600a8054821673f4a680d9243f66a5c6b69ad4e2ee317853a6888d179055600b805490911673b79731b48e2c1bc80eea13743a11cf4d5c47de0f1790556101876a084595161401484a00000090565b603c810290808204603c14901517156105fa57606490046a52b7d2dcc80cd2e4000000606490046a295be96e64066972000000606490046a295be96e64066972000000606490046a73ce27351811f40c00000060649004916a084595161401484a00000060649004936a295be96e6406697200000060649004957365353adbc212ec830cc4f51513d7cedb160c6e565f5260016020528060405f205560018060a01b03600754165f5260016020528160405f205560018060a01b03600854165f5260016020528260405f205560018060a01b03600954165f5260016020528360405f205560018060a01b03600a54165f5260016020528460405f205560018060a01b03600b54165f5260016020528560405f2055305f5260016020528660405f205560018060a01b035f54165f52600360205260405f20600160ff19825416179055305f52600360205260405f20600160ff1982541617905560018060a01b03600554165f52600360205260405f20600160ff1982541617905560018060a01b03600654165f52600360205260405f20600160ff1982541617905560018060a01b03600754165f52600360205260405f20600160ff1982541617905560018060a01b03600854165f52600360205260405f20600160ff1982541617905560018060a01b03600954165f52600360205260405f20600160ff1982541617905560018060a01b03600a54165f52600360205260405f20600160ff1982541617905560018060a01b03600b54165f52600360205260405f20600160ff1982541617905560018060a01b035f54165f52600460205260405f20600160ff19825416179055305f52600460205260405f20600160ff1982541617905560018060a01b03600554165f52600460205260405f20600160ff1982541617905560018060a01b03600654165f52600460205260405f20600160ff1982541617905560018060a01b03600754165f52600460205260405f20600160ff1982541617905560018060a01b03600854165f52600460205260405f20600160ff1982541617905560018060a01b03600954165f52600460205260405f20600160ff1982541617905560018060a01b03600a54165f52600460205260405f20600160ff1982541617905560018060a01b03600b54165f52600460205260405f20600160ff198254161790555f5f51602061260b5f395f51905f52602060018060a01b036006541693604051908152a36007546040519182526001600160a01b0316905f905f51602061260b5f395f51905f5290602090a36008546040519182526001600160a01b0316905f905f51602061260b5f395f51905f5290602090a36009546040519182526001600160a01b0316905f905f51602061260b5f395f51905f5290602090a3600a546040519182526001600160a01b0316905f905f51602061260b5f395f51905f5290602090a3600b546040519182526001600160a01b0316905f905f51602061260b5f395f51905f5290602090a36040519081525f5f51602061260b5f395f51905f5260203093a3604051611ffc908161060f8239f35b634e487b7160e01b5f52601160045260245ffdfe608080604052600436101561001c575b50361561001a575f80fd5b005b5f905f3560e01c90816301089b921461120a5750806306fdde03146111c6578063095ea7b3146111a05780630faee56f14611183578063109daa991461112f57806318160ddd1461110957806321c23935146110ec57806323b872dd14611016578063268d62bc14610ff25780632861eb6114610fd75780632d55e02214610faf578063313ce56714610f945780633de387ac14610f7057806351bc3c8514610d9157806354c78b3c14610d525780635992704414610d2957806370a0823114610cf0578063715018a614610c9457806373be4b0814610c1b578063751039fc14610bb557806375f0a87414610b8c5780637d1db4a514610b6e578063807e3ee914610b475780638cd4426d14610a225780638da5cb5b146109fb5780638f9a55c0146109dd578063933a1654146109b757806395d89b4114610975578063a9059cbb14610943578063bc1b392d14610922578063bf474bed14610904578063c3d2a72f146108d8578063c44d3fe71461085d578063dac243aa1461083a578063dd62ed3e146107e7578063e7a919f91461021a578063f2022a25146101f15763f35bacb00361000f57346101ee57806003193601126101ee57600a546040516001600160a01b039091168152602090f35b80fd5b50346101ee57806003193601126101ee576009546040516001600160a01b039091168152602090f35b50346101ee5760403660031901126101ee5761024060018060a01b0382541633146112b9565b60ff601d5460a01c166107a257737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160601b0360a01b601c541617601c5561029f6a084595161401484a000000737a250d5630b4cf539739df2c5dacb4c659f2488d30611491565b601c5460405163c45a015560e01b81526001600160a01b0390911690602081600481855afa908115610605578391610783575b506040516315ab88c960e31b8152602081600481865afa801561077857610331926020928692610715575b5060405163e6a4390560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03916001600160a01b03165afa908115610605578391610759575b506001600160a01b03166106355750601c5460405163c45a015560e01b815282916001600160a01b0316602082600481845afa918215610605578392610610575b506020600491604051928380926315ab88c960e31b82525afa918215610605576020926103ee9285916105e8575b506040516364e329cb60e11b81523060048201526001600160a01b03909116602482015293849283919082906044820190565b03926001600160a01b03165af19081156105835782916105b9575b5060018060a01b03166001600160601b0360a01b601d541617601d555b601c80546001600160a01b0390811683526004602081815260408086208054600160ff199182168117909255601d54861688529284905281872080549093161790915592548454935163f305d71960e01b815230818401526024803590820152604481018690526064810186905293831660848501524260a4850152606092849260c4928492913591165af180156105835761058e575b50601d54601c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291602091839160449183918791165af1801561058357610556575b50601d805462ff00ff60a01b19166201000160a01b17905542601181905561012c81019081106105425760125561025842018042116105425760135580f35b634e487b7160e01b82526011600452602482fd5b6105779060203d60201161057c575b61056f8183611283565b810190611349565b610503565b503d610565565b6040513d84823e3d90fd5b606090813d83116105b2575b6105a48183611283565b810103126101ee575f6104bd565b503d61059a565b6105db915060203d6020116105e1575b6105d38183611283565b810190611465565b5f610409565b503d6105c9565b6105ff9150843d86116105e1576105d38183611283565b5f6103bb565b6040513d85823e3d90fd5b600491925061062d602091823d84116105e1576105d38183611283565b92915061038d565b60405163c45a015560e01b815290602082600481845afa918215610605578392610734575b506020600491604051928380926315ab88c960e31b82525afa8015610605576106ba926020928592610715575060405163e6a4390560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03916001600160a01b03165afa9081156105835782916106f6575b5060018060a01b03166001600160601b0360a01b601d541617601d55610426565b61070f915060203d6020116105e1576105d38183611283565b5f6106d5565b61072d919250833d85116105e1576105d38183611283565b905f6102fd565b6004919250610751602091823d84116105e1576105d38183611283565b92915061065a565b610772915060203d6020116105e1576105d38183611283565b5f61034c565b6040513d86823e3d90fd5b61079c915060203d6020116105e1576105d38183611283565b5f6102d2565b60405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606490fd5b50346101ee5760403660031901126101ee576040610803611257565b9161080c61126d565b9260018060a01b031681526002602052209060018060a01b03165f52602052602060405f2054604051908152f35b50346101ee57806003193601126101ee57602061085561144a565b604051908152f35b50346101ee5760203660031901126101ee57610877611257565b61088b60018060a01b0383541633146112b9565b60018060a01b0316808252600460205260408220600160ff198254161790557ff41741d0456347e1f2d44550fbef4a78eb1cde2ad1f380783579bb14b431c7f8602060405160018152a280f35b50346101ee57806003193601126101ee576109006108f461138e565b6040519182918261122d565b0390f35b50346101ee57806003193601126101ee576020601a54604051908152f35b50346101ee57806003193601126101ee57602060ff60175416604051908152f35b50346101ee5760403660031901126101ee5761096a610960611257565b602435903361163b565b602060405160018152f35b50346101ee57806003193601126101ee5750610900604051610998604082611283565b600681526553746f73686960d01b60208201526040519182918261122d565b50346101ee57806003193601126101ee5760206109d2611361565b60ff60405191168152f35b50346101ee57806003193601126101ee576020601954604051908152f35b50346101ee57806003193601126101ee57546040516001600160a01b039091168152602090f35b50346101ee5760403660031901126101ee57610a3c611257565b6005546001600160a01b03169033829003610b43576040516370a0823160e01b81523060048201526001600160a01b039190911691602082602481865afa918215610778578492610b0a575b5060446064610a9c60209460243590611edb565b5f516020611fa75f395f51905f5285604051610ab9604082611283565b601a81520152049185604051958694859363a9059cbb60e01b8552600485015260248401525af1801561058357610aee575080f35b610b069060203d60201161057c5761056f8183611283565b5080f35b91506020823d602011610b3b575b81610b2560209383611283565b81010312610b37579051906044610a88565b8380fd5b3d9150610b18565b8280fd5b50346101ee57806003193601126101ee576040610b6261131b565b82519182526020820152f35b50346101ee57806003193601126101ee576020601854604051908152f35b50346101ee57806003193601126101ee576007546040516001600160a01b039091168152602090f35b50346101ee57806003193601126101ee57610bda60018060a01b0382541633146112b9565b7f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60206a084595161401484a0000008060185580601955604051908152a180f35b50346101ee5760203660031901126101ee57610c35611257565b610c4960018060a01b0383541633146112b9565b6001600160a01b0316808252600460209081526040808420805460ff19169055518381527ff41741d0456347e1f2d44550fbef4a78eb1cde2ad1f380783579bb14b431c7f89190a280f35b50346101ee57806003193601126101ee578054816001600160a01b038216610cbd3382146112b9565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a36001600160a01b031916815580f35b50346101ee5760203660031901126101ee576020906040906001600160a01b03610d18611257565b168152600183522054604051908152f35b50346101ee57806003193601126101ee576008546040516001600160a01b039091168152602090f35b50346101ee5760203660031901126101ee5760209060ff906040906001600160a01b03610d7d611257565b168152600484522054166040519015158152f35b5034610f3e575f366003190112610f3e576005546001600160a01b03163303610f3e57305f52600160205260405f205480151580610f61575b610de6575b504780610dda575080f35b610de390611eae565b80f35b601d805460ff60a81b1916600160a81b17905560405190610e08606083611283565b6002825260208201604036823730610e1f84611e7d565b52601c546040516315ab88c960e31b81526001600160a01b0390911690602081600481855afa918215610f1157610e769285925f91610f42575b50610e6387611e9e565b6001600160a01b03909116905230611491565b601c546001600160a01b031691823b15610f3e57929060405193849263791ac94760e01b845260a484019160048501525f602485015260a060448501525180915260c4830191905f5b818110610f1c5750505091815f81819530606483015242608483015203925af18015610f1157610efe575b50601d805460ff60a81b191690555f610dcf565b610f0a91505f90611283565b5f5f610eea565b6040513d5f823e3d90fd5b82516001600160a01b0316845286945060209384019390920191600101610ebf565b5f80fd5b610f5b915060203d6020116105e1576105d38183611283565b5f610e59565b5060ff601d5460b01c16610dca565b34610f3e575f366003190112610f3e57602060405169043c33c19375648000008152f35b34610f3e575f366003190112610f3e57602060405160128152f35b34610f3e575f366003190112610f3e57600b546040516001600160a01b039091168152602090f35b34610f3e575f366003190112610f3e576020604051600c8152f35b34610f3e575f366003190112610f3e57602061100c611304565b6040519015158152f35b34610f3e576060366003190112610f3e5761096a611032611257565b6110bc61103d61126d565b61104b60443580928561163b565b600554336001600160a01b03909116036110c4575f195b6110b7604051611073606082611283565b602881527f45524332303a207472616e7366657220616d6f756e74206578636565647320616020820152676c6c6f77616e636560c01b604082015282841115611e55565b611429565b903390611491565b6001600160a01b0383165f908152600260209081526040808320338452909152902054611062565b34610f3e575f366003190112610f3e576020601154604051908152f35b34610f3e575f366003190112610f3e5760206a084595161401484a000000604051908152f35b34610f3e575f366003190112610f3e5761115360018060a01b035f541633146112b9565b5f6015557fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de360206040515f8152a1005b34610f3e575f366003190112610f3e576020601b54604051908152f35b34610f3e576040366003190112610f3e5761096a6111bc611257565b6024359033611491565b34610f3e575f366003190112610f3e576109006040516111e7604082611283565b600a81526953756c74616e6f73686960b01b60208201526040519182918261122d565b34610f3e575f366003190112610f3e576006546001600160a01b03168152602090f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b0382168203610f3e57565b602435906001600160a01b0382168203610f3e57565b90601f8019910116810190811067ffffffffffffffff8211176112a557604052565b634e487b7160e01b5f52604160045260245ffd5b156112c057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6011541515806113115790565b5060135442111590565b601254421161132e57600c5490600d5490565b601354421161134157600e5490600f5490565b601054908190565b90816020910312610f3e57518015158103610f3e5790565b6011541561138a57601254421161137757600190565b601354421161138557600290565b600390565b5f90565b60125442116113c5576040516113a5604082611283565b601081526f0a0d0c2e6ca4062744066604a40e8c2f60831b602082015290565b60135442116113fc576040516113dc604082611283565b601081526f0a0d0c2e6ca40647440626a4a40e8c2f60831b602082015290565b60405161140a604082611283565b600f81526e0a0d0c2e6ca40667440604a40e8c2f608b1b602082015290565b9190820391821161143657565b634e487b7160e01b5f52601160045260245ffd5b60115480156114605761145d9042611429565b90565b505f90565b90816020910312610f3e57516001600160a01b0381168103610f3e5790565b9190820180921161143657565b6001600160a01b0316908115611544576001600160a01b03169182156114f45760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526002825260405f20855f5282528060405f2055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b1561159c57565b60405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606490fd5b156115e857565b60405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606490fd5b5f1981146114365760010190565b6001600160a01b0316905f908215611e02576001600160a01b0316928315611db1578015611d5a5761166b611304565b80611d43575b611cbf575b5f80549091906001600160a01b0316848114159081611cb4575b5080611c9f575b61182c575b816117da916110b77fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef956020956117e3575b878152600186526117218360408320546110b76040516116ef604082611283565b601e81527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008b82015282841115611e55565b88825260018752604082205588815260018652604081205490604061179381519361174c8386611283565b601e85527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008a860152611783878911159586611e55565b61178d8888611429565b90611f4c565b918b8152600189522055604051906117ac604083611283565b601e82527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000087830152611e55565b604051908152a3565b6005546001600160a01b0316808252600187526040822054611806908690611f4c565b90825260018752604082205560018060a01b0360055416888888604051888152a36116ce565b601d546001600160a01b03811685811480611c8a575b80611c73575b611b77575b86148080611b6d575b611b03575b305f52600160205260405f20549060ff8360a81c16159081611afb575b5080611aee575b80611ae3575b80611ad6575b611897575b505061169c565b601f94939194544311611acd575b6005601e541015611a8857601b549081811115611a8157505b80831115611a7957935b60ff60a81b1916600160a81b17601d55604051936118e7606086611283565b60028552602085016040368237306118fe87611e7d565b52601c546040516315ab88c960e31b81526001600160a01b0390911690602081600481855afa918215610f11576119429285925f91611a5a575b50610e638a611e9e565b601c546001600160a01b031691823b15610f3e57959060405196879263791ac94760e01b845260a484019160048501525f602485015260a060448501525180915260c4830191905f5b818110611a385750505091815f81819530606483015242608483015203925af1918215610f11577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef946020946117da94611a24575b601d805460ff60a81b191690556110b7915047611a16575b611a03601e5461162d565b601e5543601f5595505091819350611890565b611a1f47611eae565b6119f8565b505f611a2f91611283565b6110b75f6119e0565b82516001600160a01b031684528994506020938401939092019160010161198b565b611a73915060203d6020116105e1576105d38183611283565b5f611938565b5081936118c8565b90506118be565b60405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920352073656c6c732070657220626c6f636b210000000000000000006044820152606490fd5b5f601e556118a5565b506016546014541061188b565b50601a548111611885565b5060ff8260b01c1661187f565b90505f611878565b6012549093504211611b48576064611b1d600d5484611edb565b5f516020611fa75f395f51905f526020604051611b3b604082611283565b601a81520152049261185b565b6013544211611b5f576064611b1d600f5484611edb565b6064611b1d60105484611edb565b5030861415611856565b6012549093504211611bfc57611b91601854831115611595565b855f526001602052611bb4611baa8360405f2054611484565b60195410156115e1565b6064611bc2600c5484611edb565b5f516020611fa75f395f51905f526020604051611be0604082611283565b601a8152015204925b611bf460165461162d565b60165561184d565b6013544211611c6557611c13601854831115611595565b855f526001602052611c2c611baa8360405f2054611484565b6064611c3a600e5484611edb565b5f516020611fa75f395f51905f526020604051611c58604082611283565b601a815201520492611be9565b6064611c3a60105484611edb565b50865f52600360205260ff60405f20541615611848565b50601c546001600160a01b0316871415611842565b506005546001600160a01b0316851415611697565b90508514155f611690565b835f52600160205269043c33c1937564800000611ce08260405f2054611484565b11156116765760405162461bcd60e51b815260206004820152602f60248201527f52656365697665206c696d697420657863656564656420647572696e6720616360448201526e74697665207461782070686173657360881b6064820152608490fd5b50835f52600460205260ff60405f20541615611671565b60405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b15611e5d5750565b60405162461bcd60e51b8152908190611e79906004830161122d565b0390fd5b805115611e8a5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015611e8a5760400190565b6005545f918291829182916001600160a01b0316828215611ed2575bf115610f1157565b506108fc611eca565b908115611f46578082029182048082036114365703611ef75790565b60405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608490fd5b50505f90565b90611f579082611484565b908110611f615790565b60405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606490fdfe536166654d6174683a206469766973696f6e206279207a65726f000000000000a2646970667358221220d986d21b1977041542ccf6433e36ba353ec1a2f39862701d96549ad8fe7bb80a64736f6c634300081e0033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

Deployed Bytecode

0x608080604052600436101561001c575b50361561001a575f80fd5b005b5f905f3560e01c90816301089b921461120a5750806306fdde03146111c6578063095ea7b3146111a05780630faee56f14611183578063109daa991461112f57806318160ddd1461110957806321c23935146110ec57806323b872dd14611016578063268d62bc14610ff25780632861eb6114610fd75780632d55e02214610faf578063313ce56714610f945780633de387ac14610f7057806351bc3c8514610d9157806354c78b3c14610d525780635992704414610d2957806370a0823114610cf0578063715018a614610c9457806373be4b0814610c1b578063751039fc14610bb557806375f0a87414610b8c5780637d1db4a514610b6e578063807e3ee914610b475780638cd4426d14610a225780638da5cb5b146109fb5780638f9a55c0146109dd578063933a1654146109b757806395d89b4114610975578063a9059cbb14610943578063bc1b392d14610922578063bf474bed14610904578063c3d2a72f146108d8578063c44d3fe71461085d578063dac243aa1461083a578063dd62ed3e146107e7578063e7a919f91461021a578063f2022a25146101f15763f35bacb00361000f57346101ee57806003193601126101ee57600a546040516001600160a01b039091168152602090f35b80fd5b50346101ee57806003193601126101ee576009546040516001600160a01b039091168152602090f35b50346101ee5760403660031901126101ee5761024060018060a01b0382541633146112b9565b60ff601d5460a01c166107a257737a250d5630b4cf539739df2c5dacb4c659f2488d6001600160601b0360a01b601c541617601c5561029f6a084595161401484a000000737a250d5630b4cf539739df2c5dacb4c659f2488d30611491565b601c5460405163c45a015560e01b81526001600160a01b0390911690602081600481855afa908115610605578391610783575b506040516315ab88c960e31b8152602081600481865afa801561077857610331926020928692610715575b5060405163e6a4390560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03916001600160a01b03165afa908115610605578391610759575b506001600160a01b03166106355750601c5460405163c45a015560e01b815282916001600160a01b0316602082600481845afa918215610605578392610610575b506020600491604051928380926315ab88c960e31b82525afa918215610605576020926103ee9285916105e8575b506040516364e329cb60e11b81523060048201526001600160a01b03909116602482015293849283919082906044820190565b03926001600160a01b03165af19081156105835782916105b9575b5060018060a01b03166001600160601b0360a01b601d541617601d555b601c80546001600160a01b0390811683526004602081815260408086208054600160ff199182168117909255601d54861688529284905281872080549093161790915592548454935163f305d71960e01b815230818401526024803590820152604481018690526064810186905293831660848501524260a4850152606092849260c4928492913591165af180156105835761058e575b50601d54601c5460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291602091839160449183918791165af1801561058357610556575b50601d805462ff00ff60a01b19166201000160a01b17905542601181905561012c81019081106105425760125561025842018042116105425760135580f35b634e487b7160e01b82526011600452602482fd5b6105779060203d60201161057c575b61056f8183611283565b810190611349565b610503565b503d610565565b6040513d84823e3d90fd5b606090813d83116105b2575b6105a48183611283565b810103126101ee575f6104bd565b503d61059a565b6105db915060203d6020116105e1575b6105d38183611283565b810190611465565b5f610409565b503d6105c9565b6105ff9150843d86116105e1576105d38183611283565b5f6103bb565b6040513d85823e3d90fd5b600491925061062d602091823d84116105e1576105d38183611283565b92915061038d565b60405163c45a015560e01b815290602082600481845afa918215610605578392610734575b506020600491604051928380926315ab88c960e31b82525afa8015610605576106ba926020928592610715575060405163e6a4390560e01b81526001600160a01b0390921660048301523060248301529092839190829081906044820190565b03916001600160a01b03165afa9081156105835782916106f6575b5060018060a01b03166001600160601b0360a01b601d541617601d55610426565b61070f915060203d6020116105e1576105d38183611283565b5f6106d5565b61072d919250833d85116105e1576105d38183611283565b905f6102fd565b6004919250610751602091823d84116105e1576105d38183611283565b92915061065a565b610772915060203d6020116105e1576105d38183611283565b5f61034c565b6040513d86823e3d90fd5b61079c915060203d6020116105e1576105d38183611283565b5f6102d2565b60405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606490fd5b50346101ee5760403660031901126101ee576040610803611257565b9161080c61126d565b9260018060a01b031681526002602052209060018060a01b03165f52602052602060405f2054604051908152f35b50346101ee57806003193601126101ee57602061085561144a565b604051908152f35b50346101ee5760203660031901126101ee57610877611257565b61088b60018060a01b0383541633146112b9565b60018060a01b0316808252600460205260408220600160ff198254161790557ff41741d0456347e1f2d44550fbef4a78eb1cde2ad1f380783579bb14b431c7f8602060405160018152a280f35b50346101ee57806003193601126101ee576109006108f461138e565b6040519182918261122d565b0390f35b50346101ee57806003193601126101ee576020601a54604051908152f35b50346101ee57806003193601126101ee57602060ff60175416604051908152f35b50346101ee5760403660031901126101ee5761096a610960611257565b602435903361163b565b602060405160018152f35b50346101ee57806003193601126101ee5750610900604051610998604082611283565b600681526553746f73686960d01b60208201526040519182918261122d565b50346101ee57806003193601126101ee5760206109d2611361565b60ff60405191168152f35b50346101ee57806003193601126101ee576020601954604051908152f35b50346101ee57806003193601126101ee57546040516001600160a01b039091168152602090f35b50346101ee5760403660031901126101ee57610a3c611257565b6005546001600160a01b03169033829003610b43576040516370a0823160e01b81523060048201526001600160a01b039190911691602082602481865afa918215610778578492610b0a575b5060446064610a9c60209460243590611edb565b5f516020611fa75f395f51905f5285604051610ab9604082611283565b601a81520152049185604051958694859363a9059cbb60e01b8552600485015260248401525af1801561058357610aee575080f35b610b069060203d60201161057c5761056f8183611283565b5080f35b91506020823d602011610b3b575b81610b2560209383611283565b81010312610b37579051906044610a88565b8380fd5b3d9150610b18565b8280fd5b50346101ee57806003193601126101ee576040610b6261131b565b82519182526020820152f35b50346101ee57806003193601126101ee576020601854604051908152f35b50346101ee57806003193601126101ee576007546040516001600160a01b039091168152602090f35b50346101ee57806003193601126101ee57610bda60018060a01b0382541633146112b9565b7f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf60206a084595161401484a0000008060185580601955604051908152a180f35b50346101ee5760203660031901126101ee57610c35611257565b610c4960018060a01b0383541633146112b9565b6001600160a01b0316808252600460209081526040808420805460ff19169055518381527ff41741d0456347e1f2d44550fbef4a78eb1cde2ad1f380783579bb14b431c7f89190a280f35b50346101ee57806003193601126101ee578054816001600160a01b038216610cbd3382146112b9565b7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a36001600160a01b031916815580f35b50346101ee5760203660031901126101ee576020906040906001600160a01b03610d18611257565b168152600183522054604051908152f35b50346101ee57806003193601126101ee576008546040516001600160a01b039091168152602090f35b50346101ee5760203660031901126101ee5760209060ff906040906001600160a01b03610d7d611257565b168152600484522054166040519015158152f35b5034610f3e575f366003190112610f3e576005546001600160a01b03163303610f3e57305f52600160205260405f205480151580610f61575b610de6575b504780610dda575080f35b610de390611eae565b80f35b601d805460ff60a81b1916600160a81b17905560405190610e08606083611283565b6002825260208201604036823730610e1f84611e7d565b52601c546040516315ab88c960e31b81526001600160a01b0390911690602081600481855afa918215610f1157610e769285925f91610f42575b50610e6387611e9e565b6001600160a01b03909116905230611491565b601c546001600160a01b031691823b15610f3e57929060405193849263791ac94760e01b845260a484019160048501525f602485015260a060448501525180915260c4830191905f5b818110610f1c5750505091815f81819530606483015242608483015203925af18015610f1157610efe575b50601d805460ff60a81b191690555f610dcf565b610f0a91505f90611283565b5f5f610eea565b6040513d5f823e3d90fd5b82516001600160a01b0316845286945060209384019390920191600101610ebf565b5f80fd5b610f5b915060203d6020116105e1576105d38183611283565b5f610e59565b5060ff601d5460b01c16610dca565b34610f3e575f366003190112610f3e57602060405169043c33c19375648000008152f35b34610f3e575f366003190112610f3e57602060405160128152f35b34610f3e575f366003190112610f3e57600b546040516001600160a01b039091168152602090f35b34610f3e575f366003190112610f3e576020604051600c8152f35b34610f3e575f366003190112610f3e57602061100c611304565b6040519015158152f35b34610f3e576060366003190112610f3e5761096a611032611257565b6110bc61103d61126d565b61104b60443580928561163b565b600554336001600160a01b03909116036110c4575f195b6110b7604051611073606082611283565b602881527f45524332303a207472616e7366657220616d6f756e74206578636565647320616020820152676c6c6f77616e636560c01b604082015282841115611e55565b611429565b903390611491565b6001600160a01b0383165f908152600260209081526040808320338452909152902054611062565b34610f3e575f366003190112610f3e576020601154604051908152f35b34610f3e575f366003190112610f3e5760206a084595161401484a000000604051908152f35b34610f3e575f366003190112610f3e5761115360018060a01b035f541633146112b9565b5f6015557fe9b79e1a6c2dc43b4c0c6ff01ce9e3332d810e482270f464c0a21ad6c5fc6de360206040515f8152a1005b34610f3e575f366003190112610f3e576020601b54604051908152f35b34610f3e576040366003190112610f3e5761096a6111bc611257565b6024359033611491565b34610f3e575f366003190112610f3e576109006040516111e7604082611283565b600a81526953756c74616e6f73686960b01b60208201526040519182918261122d565b34610f3e575f366003190112610f3e576006546001600160a01b03168152602090f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b0382168203610f3e57565b602435906001600160a01b0382168203610f3e57565b90601f8019910116810190811067ffffffffffffffff8211176112a557604052565b634e487b7160e01b5f52604160045260245ffd5b156112c057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6011541515806113115790565b5060135442111590565b601254421161132e57600c5490600d5490565b601354421161134157600e5490600f5490565b601054908190565b90816020910312610f3e57518015158103610f3e5790565b6011541561138a57601254421161137757600190565b601354421161138557600290565b600390565b5f90565b60125442116113c5576040516113a5604082611283565b601081526f0a0d0c2e6ca4062744066604a40e8c2f60831b602082015290565b60135442116113fc576040516113dc604082611283565b601081526f0a0d0c2e6ca40647440626a4a40e8c2f60831b602082015290565b60405161140a604082611283565b600f81526e0a0d0c2e6ca40667440604a40e8c2f608b1b602082015290565b9190820391821161143657565b634e487b7160e01b5f52601160045260245ffd5b60115480156114605761145d9042611429565b90565b505f90565b90816020910312610f3e57516001600160a01b0381168103610f3e5790565b9190820180921161143657565b6001600160a01b0316908115611544576001600160a01b03169182156114f45760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f526002825260405f20855f5282528060405f2055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b1561159c57565b60405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606490fd5b156115e857565b60405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606490fd5b5f1981146114365760010190565b6001600160a01b0316905f908215611e02576001600160a01b0316928315611db1578015611d5a5761166b611304565b80611d43575b611cbf575b5f80549091906001600160a01b0316848114159081611cb4575b5080611c9f575b61182c575b816117da916110b77fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef956020956117e3575b878152600186526117218360408320546110b76040516116ef604082611283565b601e81527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008b82015282841115611e55565b88825260018752604082205588815260018652604081205490604061179381519361174c8386611283565b601e85527f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008a860152611783878911159586611e55565b61178d8888611429565b90611f4c565b918b8152600189522055604051906117ac604083611283565b601e82527f536166654d6174683a207375627472616374696f6e206f766572666c6f77000087830152611e55565b604051908152a3565b6005546001600160a01b0316808252600187526040822054611806908690611f4c565b90825260018752604082205560018060a01b0360055416888888604051888152a36116ce565b601d546001600160a01b03811685811480611c8a575b80611c73575b611b77575b86148080611b6d575b611b03575b305f52600160205260405f20549060ff8360a81c16159081611afb575b5080611aee575b80611ae3575b80611ad6575b611897575b505061169c565b601f94939194544311611acd575b6005601e541015611a8857601b549081811115611a8157505b80831115611a7957935b60ff60a81b1916600160a81b17601d55604051936118e7606086611283565b60028552602085016040368237306118fe87611e7d565b52601c546040516315ab88c960e31b81526001600160a01b0390911690602081600481855afa918215610f11576119429285925f91611a5a575b50610e638a611e9e565b601c546001600160a01b031691823b15610f3e57959060405196879263791ac94760e01b845260a484019160048501525f602485015260a060448501525180915260c4830191905f5b818110611a385750505091815f81819530606483015242608483015203925af1918215610f11577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef946020946117da94611a24575b601d805460ff60a81b191690556110b7915047611a16575b611a03601e5461162d565b601e5543601f5595505091819350611890565b611a1f47611eae565b6119f8565b505f611a2f91611283565b6110b75f6119e0565b82516001600160a01b031684528994506020938401939092019160010161198b565b611a73915060203d6020116105e1576105d38183611283565b5f611938565b5081936118c8565b90506118be565b60405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920352073656c6c732070657220626c6f636b210000000000000000006044820152606490fd5b5f601e556118a5565b506016546014541061188b565b50601a548111611885565b5060ff8260b01c1661187f565b90505f611878565b6012549093504211611b48576064611b1d600d5484611edb565b5f516020611fa75f395f51905f526020604051611b3b604082611283565b601a81520152049261185b565b6013544211611b5f576064611b1d600f5484611edb565b6064611b1d60105484611edb565b5030861415611856565b6012549093504211611bfc57611b91601854831115611595565b855f526001602052611bb4611baa8360405f2054611484565b60195410156115e1565b6064611bc2600c5484611edb565b5f516020611fa75f395f51905f526020604051611be0604082611283565b601a8152015204925b611bf460165461162d565b60165561184d565b6013544211611c6557611c13601854831115611595565b855f526001602052611c2c611baa8360405f2054611484565b6064611c3a600e5484611edb565b5f516020611fa75f395f51905f526020604051611c58604082611283565b601a815201520492611be9565b6064611c3a60105484611edb565b50865f52600360205260ff60405f20541615611848565b50601c546001600160a01b0316871415611842565b506005546001600160a01b0316851415611697565b90508514155f611690565b835f52600160205269043c33c1937564800000611ce08260405f2054611484565b11156116765760405162461bcd60e51b815260206004820152602f60248201527f52656365697665206c696d697420657863656564656420647572696e6720616360448201526e74697665207461782070686173657360881b6064820152608490fd5b50835f52600460205260ff60405f20541615611671565b60405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b15611e5d5750565b60405162461bcd60e51b8152908190611e79906004830161122d565b0390fd5b805115611e8a5760200190565b634e487b7160e01b5f52603260045260245ffd5b805160011015611e8a5760400190565b6005545f918291829182916001600160a01b0316828215611ed2575bf115610f1157565b506108fc611eca565b908115611f46578082029182048082036114365703611ef75790565b60405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608490fd5b50505f90565b90611f579082611484565b908110611f615790565b60405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606490fdfe536166654d6174683a206469766973696f6e206279207a65726f000000000000a2646970667358221220d986d21b1977041542ccf6433e36ba353ec1a2f39862701d96549ad8fe7bb80a64736f6c634300081e0033

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