ETH Price: $2,550.02 (-0.54%)

Contract

0x96665680f4889891f3209713cb9a8205Dce7278D
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve207970262024-09-21 6:00:2336 mins ago1726898423IN
0x96665680...5Dce7278D
0 ETH0.0006257813.41844963
Approve207969612024-09-21 5:47:2349 mins ago1726897643IN
0x96665680...5Dce7278D
0 ETH0.000408628.83474902
Approve207969572024-09-21 5:46:3550 mins ago1726897595IN
0x96665680...5Dce7278D
0 ETH0.0006098813.07757507
Approve207969492024-09-21 5:44:5951 mins ago1726897499IN
0x96665680...5Dce7278D
0 ETH0.0005149611.0394092
Approve207969002024-09-21 5:35:111 hr ago1726896911IN
0x96665680...5Dce7278D
0 ETH0.0005000410.71951477
Approve207966602024-09-21 4:46:231 hr ago1726893983IN
0x96665680...5Dce7278D
0 ETH0.0003574912.25317353
Approve207964462024-09-21 4:03:112 hrs ago1726891391IN
0x96665680...5Dce7278D
0 ETH0.0006401713.72352853
Approve207962212024-09-21 3:17:593 hrs ago1726888679IN
0x96665680...5Dce7278D
0 ETH0.0006292213.48880652
Approve207961592024-09-21 3:05:353 hrs ago1726887935IN
0x96665680...5Dce7278D
0 ETH0.0007180215.39629415
Approve207959702024-09-21 2:27:354 hrs ago1726885655IN
0x96665680...5Dce7278D
0 ETH0.000422729.06196453
Approve207959592024-09-21 2:25:234 hrs ago1726885523IN
0x96665680...5Dce7278D
0 ETH0.00040088.66108885
Approve207959362024-09-21 2:20:474 hrs ago1726885247IN
0x96665680...5Dce7278D
0 ETH0.0005052210.84443103
Approve207958902024-09-21 2:11:354 hrs ago1726884695IN
0x96665680...5Dce7278D
0 ETH0.0005012110.74458065
Transfer207958642024-09-21 2:06:234 hrs ago1726884383IN
0x96665680...5Dce7278D
0 ETH0.000892119.72171629
Transfer207958532024-09-21 2:04:114 hrs ago1726884251IN
0x96665680...5Dce7278D
0 ETH0.0009665410.53145784
Approve207957802024-09-21 1:49:354 hrs ago1726883375IN
0x96665680...5Dce7278D
0 ETH0.0006914814.8272437
Transfer207957602024-09-21 1:45:354 hrs ago1726883135IN
0x96665680...5Dce7278D
0 ETH0.0003103710.76988636
Approve207957542024-09-21 1:44:234 hrs ago1726883063IN
0x96665680...5Dce7278D
0 ETH0.0006545114.03102716
Approve207956802024-09-21 1:29:235 hrs ago1726882163IN
0x96665680...5Dce7278D
0 ETH0.0005538611.87319206
Transfer207955892024-09-21 1:11:115 hrs ago1726881071IN
0x96665680...5Dce7278D
0 ETH0.0009602412.86075477
Transfer207954872024-09-21 0:50:235 hrs ago1726879823IN
0x96665680...5Dce7278D
0 ETH0.0012892517.26724764
Approve207954632024-09-21 0:45:355 hrs ago1726879535IN
0x96665680...5Dce7278D
0 ETH0.0011461924.76872079
Approve207954242024-09-21 0:37:235 hrs ago1726879043IN
0x96665680...5Dce7278D
0 ETH0.0013113628.11197725
Approve207954242024-09-21 0:37:235 hrs ago1726879043IN
0x96665680...5Dce7278D
0 ETH0.0013113628.11197725
Approve207954242024-09-21 0:37:235 hrs ago1726879043IN
0x96665680...5Dce7278D
0 ETH0.001544633.11197725
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
207969062024-09-21 5:36:231 hr ago1726896983
0x96665680...5Dce7278D
0.03369652 ETH
207969062024-09-21 5:36:231 hr ago1726896983
0x96665680...5Dce7278D
0.06739304 ETH
207969062024-09-21 5:36:231 hr ago1726896983
0x96665680...5Dce7278D
0.06739304 ETH
207969062024-09-21 5:36:231 hr ago1726896983
0x96665680...5Dce7278D
0.16848262 ETH
207965712024-09-21 4:28:232 hrs ago1726892903
0x96665680...5Dce7278D
0.03730567 ETH
207965712024-09-21 4:28:232 hrs ago1726892903
0x96665680...5Dce7278D
0.07461135 ETH
207965712024-09-21 4:28:232 hrs ago1726892903
0x96665680...5Dce7278D
0.07461135 ETH
207965712024-09-21 4:28:232 hrs ago1726892903
0x96665680...5Dce7278D
0.18652839 ETH
207963402024-09-21 3:41:472 hrs ago1726890107
0x96665680...5Dce7278D
0.04936636 ETH
207963402024-09-21 3:41:472 hrs ago1726890107
0x96665680...5Dce7278D
0.09873273 ETH
207963402024-09-21 3:41:472 hrs ago1726890107
0x96665680...5Dce7278D
0.09873273 ETH
207963402024-09-21 3:41:472 hrs ago1726890107
0x96665680...5Dce7278D
0.24683184 ETH
207960062024-09-21 2:34:474 hrs ago1726886087
0x96665680...5Dce7278D
0.04382129 ETH
207960062024-09-21 2:34:474 hrs ago1726886087
0x96665680...5Dce7278D
0.08764259 ETH
207960062024-09-21 2:34:474 hrs ago1726886087
0x96665680...5Dce7278D
0.08764259 ETH
207960062024-09-21 2:34:474 hrs ago1726886087
0x96665680...5Dce7278D
0.21910649 ETH
207959312024-09-21 2:19:474 hrs ago1726885187
0x96665680...5Dce7278D
0.04741716 ETH
207959312024-09-21 2:19:474 hrs ago1726885187
0x96665680...5Dce7278D
0.09483433 ETH
207959312024-09-21 2:19:474 hrs ago1726885187
0x96665680...5Dce7278D
0.09483433 ETH
207959312024-09-21 2:19:474 hrs ago1726885187
0x96665680...5Dce7278D
0.23708584 ETH
207959142024-09-21 2:16:234 hrs ago1726884983
0x96665680...5Dce7278D
0.04744152 ETH
207959142024-09-21 2:16:234 hrs ago1726884983
0x96665680...5Dce7278D
0.09488304 ETH
207959142024-09-21 2:16:234 hrs ago1726884983
0x96665680...5Dce7278D
0.09488304 ETH
207959142024-09-21 2:16:234 hrs ago1726884983
0x96665680...5Dce7278D
0.23720761 ETH
207958082024-09-21 1:55:114 hrs ago1726883711
0x96665680...5Dce7278D
0.04686692 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xE039cc88...32F736130
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
NyxCipher

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 1 : NyxCipher.sol
/**
 *Submitted for verification at Etherscan.io on 2024-09-20
 */

/**

    ███╗░░██╗██╗░░░██╗██╗░░██╗░█████╗░██╗██████╗░██╗░░██╗███████╗██████╗░
    ████╗░██║╚██╗░██╔╝╚██╗██╔╝██╔══██╗██║██╔══██╗██║░░██║██╔════╝██╔══██╗
    ██╔██╗██║░╚████╔╝░░╚███╔╝░██║░░╚═╝██║██████╔╝███████║█████╗░░██████╔╝
    ██║╚████║░░╚██╔╝░░░██╔██╗░██║░░██╗██║██╔═══╝░██╔══██║██╔══╝░░██╔══██╗
    ██║░╚███║░░░██║░░░██╔╝╚██╗╚█████╔╝██║██║░░░░░██║░░██║███████╗██║░░██║
    ╚═╝░░╚══╝░░░╚═╝░░░╚═╝░░╚═╝░╚════╝░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝

    𝙰𝚗 𝙰𝙸-𝚙𝚘𝚠𝚎𝚛𝚎𝚍 𝚂𝚘𝚕𝚒𝚍𝚒𝚝𝚢 𝚂𝚖𝚊𝚛𝚝 𝙲𝚘𝚗𝚝𝚛𝚊𝚌𝚝 𝙰𝚞𝚍𝚒𝚝𝚘𝚛 𝚝𝚑𝚊𝚝 𝚞𝚜𝚎𝚜 𝙰𝙸 𝚝𝚘 𝚊𝚗𝚊𝚕𝚢𝚣𝚎 𝚊𝚗𝚍 𝚊𝚞𝚍𝚒𝚝 𝚜𝚖𝚊𝚛𝚝 
    𝚌𝚘𝚗𝚝𝚛𝚊𝚌𝚝 𝚌𝚘𝚍𝚎, 𝚏𝚒𝚗𝚍𝚜 𝚎𝚛𝚛𝚘𝚛𝚜 𝚊𝚗𝚍 𝚟𝚞𝚕𝚗𝚎𝚛𝚊𝚋𝚒𝚕𝚒𝚝𝚒𝚎𝚜, 𝚊𝚗𝚍 𝚙𝚛𝚘𝚟𝚒𝚍𝚎𝚜 𝚍𝚎𝚝𝚊𝚒𝚕𝚎𝚍 𝚛𝚎𝚙𝚘𝚛𝚝𝚜 𝚏𝚘𝚛 
    𝚜𝚎𝚌𝚞𝚛𝚎 𝚊𝚗𝚍 𝚎𝚛𝚛𝚘𝚛-𝚏𝚛𝚎𝚎 𝚜𝚖𝚊𝚛𝚝 𝚌𝚘𝚗𝚝𝚛𝚊𝚌𝚝𝚜.

    Home Page

    https://nyxcipher.ai/

    Web App

    https://app.nyxcipher.ai/

    Join our Telegram!

    https://t.me/nyxcipherportal

    Twitter

    https://x.com/nyxcipherai


*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

interface IERC20 {
    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
    );
}

interface IFactoryV2 {
    event PairCreated(
        address indexed token0,
        address indexed token1,
        address lpPair,
        uint
    );
    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address lpPair);
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address lpPair);
}

interface IV2Pair {
    function factory() external view returns (address);
    function getReserves()
        external
        view
        returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function sync() external;
}

interface IRouter01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    )
        external
        payable
        returns (uint amountToken, uint amountETH, uint liquidity);
    function 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 swapExactETHForTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(
        uint amountIn,
        address[] calldata path
    ) external view returns (uint[] memory amounts);
    function getAmountsIn(
        uint amountOut,
        address[] calldata path
    ) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        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 swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

interface Initializer {
    function setLaunch(
        address _initialLpPair,
        uint32 _liqAddBlock,
        uint64 _liqAddStamp,
        uint8 dec
    ) external;
    function getConfig() external returns (address, address);
    function getInits(uint256 amount) external returns (uint256, uint256);
    function setLpPair(address pair, bool enabled) 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 NyxCipher is IERC20 {
    using SafeMath for uint256;
    mapping(address => uint256) private _tOwned;
    mapping(address => bool) lpPairs;
    uint256 private timeSinceLastPair = 0;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _liquidityHolders;
    mapping(address => bool) private _isExcludedFromProtection;
    mapping(address => bool) private _isExcludedFromFees;
    uint256 private constant startingSupply = 100_000_000;
    string private constant _name = "NYX CIPHER";
    string private constant _symbol = "$NXCP";
    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = startingSupply * 10 ** _decimals;

    // Add these as state variables
    uint256 public constant initialTaxRate = 2500; // 25%
    uint256 public constant finalTaxRate = 500;    // 5%
    uint256 public constant taxReductionPerMinute = 500; // 5% reduction per minute
    uint256 public constant maxReductionMinutes = 4;     // Tax reduces for 4 minutes (25% -> 5%)


    struct Fees {
        uint16 buyFee;
        uint16 sellFee;
        uint16 transferFee;
    }

    struct Ratios {
        uint16 marketing;
        uint16 development;
        uint16 buyBackBurnLP;
        uint16 totalSwap;
    }
    // Define the Lock struct to store the amount and release time of locked tokens
    struct Lock {
        uint256 totalAmount;  // Total tokens to be vested/locked
        uint256 releaseTime;  // Time when initial lock period ends
        uint256 vestingStart; // When vesting starts (after lock period)
        uint256 vestingDuration;  // Total duration for linear vesting
        uint256 claimed;  // Tokens that have been claimed already
    }
    // Set the vesting parameters
    uint256 public constant TEAM_LOCK_PERIOD = 90 days;  // 3 months lock period
    uint256 public constant TEAM_VESTING_DURATION = 720 days;  // 24 months for vesting


    Fees public _taxRates = Fees({buyFee: 500, sellFee: 500, transferFee: 0});

    Ratios public _ratios =
        Ratios({
            marketing: 2,
            development: 2,
            buyBackBurnLP: 1,
            totalSwap: 5
        });

    uint256 public constant maxBuyTaxes = 1000;
    uint256 public constant maxSellTaxes = 1000;
    uint256 public constant maxTransferTaxes = 1000;
    uint256 constant masterTaxDivisor = 10000;
    // Mapping to keep track of locked tokens and their release times for each address
    mapping(address => Lock) public lockedTokens;

    bool public taxesAreLocked;
    IRouter02 public dexRouter;
    address public lpPair;
    address public constant DEAD = 0x000000000000000000000000000000000000dEaD;

    struct TaxWallets {
        address payable marketing;
        address payable development;
        address payable buyBackBurnLP;
    }

    TaxWallets public _taxWallets =
        TaxWallets({
            marketing: payable(0x0000000000000000000000000000000000000000),
            development: payable(0x0000000000000000000000000000000000000000),
            buyBackBurnLP: payable(0x0000000000000000000000000000000000000000)
        });

    bool inSwap;
    bool public contractSwapEnabled = false;
    uint256 public swapThreshold = _tTotal / 10000;
    uint256 public swapAmount =  _tTotal / 10000;
    bool public piContractSwapsEnabled = false;
    uint256 public piSwapPercent = 10;
    bool public tradingEnabled = false;
    bool public _hasLiqBeenAdded = false;
    Initializer initializer;
    uint256 public launchStamp;

    uint256 public maxTransferAmount; // Maximum transfer amount (1% of total supply)
    uint256 public maxWalletAmount;   // Maximum wallet amount (1% of total supply)


    event ContractSwapEnabledUpdated(bool enabled);
    event AutoLiquify(uint256 amountCurrency, uint256 amountTokens);

    modifier inSwapFlag() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(
        address payable marketingWallet,
        address payable developmentWallet,
        address payable buyBackBurnLPWallet,
        address payable teamFoundationWallet
    ) payable {
        // Set the owner.
        _owner = msg.sender;

        _tOwned[_owner] = _tTotal;
        emit Transfer(address(0), _owner, _tTotal);

        // Exclude certain addresses from fees
        _isExcludedFromFees[_owner] = true;
        _isExcludedFromFees[address(this)] = true;
        _isExcludedFromFees[DEAD] = true;
        _liquidityHolders[_owner] = true;

        _isExcludedFromFees[0x407993575c91ce7643a4d4cCACc9A98c36eE1BBE] = true; // PinkLock
        _isExcludedFromFees[0x663A5C229c09b049E36dCc11a9B0d4a8Eb9db214] = true; // Unicrypt (ETH)
        _isExcludedFromFees[0xDba68f07d1b7Ca219f78ae8582C213d975c25cAf] = true; // Unicrypt (ETH)

        // Set the tax wallets
        _taxWallets = TaxWallets({
            marketing: marketingWallet,
            development: developmentWallet,
            buyBackBurnLP: buyBackBurnLPWallet
        });

        // Distribute initial supply to designated wallets
        uint256 marketingTokens = (_tTotal * 10) / 100;
        uint256 developmentTokens = (_tTotal * 5) / 100;
        uint256 teamFoundationTokens = (_tTotal * 15) / 100;

        _tOwned[marketingWallet] = marketingTokens;
        _tOwned[developmentWallet] = developmentTokens;
        _tOwned[teamFoundationWallet] = teamFoundationTokens;

        // Set up the teamFoundationWallet's lock and vesting
        lockedTokens[teamFoundationWallet] = Lock({
            totalAmount: (_tTotal * 15) / 100,  // 15% of total supply
            releaseTime: block.timestamp + TEAM_LOCK_PERIOD,  // Lock for 3 months
            vestingStart: block.timestamp + TEAM_LOCK_PERIOD,  // Vesting starts after 3 months
            vestingDuration: TEAM_VESTING_DURATION,  // Linear vesting over 24 months
            claimed: 0  // No tokens claimed initially
        });
        
        // Initialize max transfer and holding limits as 1% of total supply
        maxTransferAmount = _tTotal / 100; // 1% of total supply
        maxWalletAmount = _tTotal / 100;   // 1% of total supply

        // Adjust owner's balance
        _tOwned[_owner] = _tTotal - (marketingTokens + developmentTokens + teamFoundationTokens);
        emit Transfer(_owner, marketingWallet, marketingTokens);
        emit Transfer(_owner, developmentWallet, developmentTokens);
        emit Transfer(_owner, teamFoundationWallet, teamFoundationTokens);
    }
    //===============================================================================================================
    //===============================================================================================================
    //===============================================================================================================
    // Ownable removed as a lib and added here to allow for custom transfers and renouncements.
    // This allows for removal of ownership privileges from the owner once renounced or transferred.

    address private _owner;

    modifier onlyOwner() {
        require(_owner == msg.sender, "Caller =/= owner.");
        _;
    }
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    function transferOwner(address newOwner) external onlyOwner {
        require(
            newOwner != address(0),
            "Call renounceOwnership to transfer owner to the zero address."
        );
        require(
            newOwner != DEAD,
            "Call renounceOwnership to transfer owner to the zero address."
        );
        setExcludedFromFees(_owner, false);
        setExcludedFromFees(newOwner, true);

        if (balanceOf(_owner) > 0) {
            finalizeTransfer(
                _owner,
                newOwner,
                balanceOf(_owner),
                false,
                false,
                true
            );
        }

        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function renounceOwnership() external onlyOwner {
        require(
            tradingEnabled,
            "Cannot renounce until trading has been enabled."
        );
        setExcludedFromFees(_owner, false);
        address oldOwner = _owner;
        _owner = address(0);
        emit OwnershipTransferred(oldOwner, address(0));
    }

    //===============================================================================================================
    //===============================================================================================================
    //===============================================================================================================

    receive() external payable {}
    function totalSupply() external pure override returns (uint256) {
        return _tTotal;
    }
    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 allowance(
        address holder,
        address spender
    ) external view override returns (uint256) {
        return _allowances[holder][spender];
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _tOwned[account];
    }

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

    function approve(
        address spender,
        uint256 amount
    ) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(
        address sender,
        address spender,
        uint256 amount
    ) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
        emit Approval(sender, spender, amount);
    }

    function approveContractContingency() external onlyOwner returns (bool) {
        _approve(address(this), address(dexRouter), type(uint256).max);
        return true;
    }


    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);
        }

        return _transfer(sender, recipient, amount);
    }

    function setNewRouter(address newRouter) external onlyOwner {
        require(!_hasLiqBeenAdded, "Cannot change after liquidity.");
        IRouter02 _newRouter = IRouter02(newRouter);
        address get_pair = IFactoryV2(_newRouter.factory()).getPair(
            address(this),
            _newRouter.WETH()
        );
        lpPairs[lpPair] = false;
        if (get_pair == address(0)) {
            lpPair = IFactoryV2(_newRouter.factory()).createPair(
                address(this),
                _newRouter.WETH()
            );
        } else {
            lpPair = get_pair;
        }
        dexRouter = _newRouter;
        lpPairs[lpPair] = true;
        _approve(address(this), address(dexRouter), type(uint256).max);
    }

    function setLpPair(address pair, bool enabled) external onlyOwner {
        if (!enabled) {
            lpPairs[pair] = false;
            initializer.setLpPair(pair, false);
        } else {
            if (timeSinceLastPair != 0) {
                require(
                    block.timestamp - timeSinceLastPair > 3 days,
                    "3 Day cooldown."
                );
            }
            require(!lpPairs[pair], "Pair already added to list.");
            lpPairs[pair] = true;
            timeSinceLastPair = block.timestamp;
            initializer.setLpPair(pair, true);
        }
    }

    function setInitializer(address init) public onlyOwner {
        require(!tradingEnabled);
        require(init != address(this), "Can't be self.");
        initializer = Initializer(init);
        try initializer.getConfig() returns (
            address router,
            address constructorLP
        ) {
            dexRouter = IRouter02(router);
            lpPair = constructorLP;
            lpPairs[lpPair] = true;
            _approve(_owner, address(dexRouter), type(uint256).max);
            _approve(address(this), address(dexRouter), type(uint256).max);
        } catch {
            revert();
        }
    }

    function isExcludedFromFees(address account) external view returns (bool) {
        return _isExcludedFromFees[account];
    }

    function setExcludedFromFees(
        address account,
        bool enabled
    ) public onlyOwner {
        _isExcludedFromFees[account] = enabled;
    }

    function isExcludedFromProtection(
        address account
    ) external view returns (bool) {
        return _isExcludedFromProtection[account];
    }

    function setExcludedFromProtection(
        address account,
        bool enabled
    ) external onlyOwner {
        _isExcludedFromProtection[account] = enabled;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (_tTotal - (balanceOf(DEAD) + balanceOf(address(0))));
    }

    function lockTaxes() external onlyOwner {
        // This will lock taxes at their current value forever, do not call this unless you're sure.
        taxesAreLocked = true;
    }

    function setTaxes(
        uint16 buyFee,
        uint16 sellFee,
        uint16 transferFee
    ) external onlyOwner {
        require(!taxesAreLocked, "Taxes are locked.");
        require(
            buyFee <= maxBuyTaxes &&
                sellFee <= maxSellTaxes &&
                transferFee <= maxTransferTaxes,
            "Cannot exceed maximums."
        );
        _taxRates.buyFee = buyFee;
        _taxRates.sellFee = sellFee;
        _taxRates.transferFee = transferFee;
    }

    function setRatios(
        uint16 marketing,
        uint16 development,
        uint16 buyBackBurnLP
    ) external onlyOwner {
        _ratios.marketing = marketing;
        _ratios.development = development;
        _ratios.buyBackBurnLP = buyBackBurnLP;
        _ratios.totalSwap = marketing + development + buyBackBurnLP;
        uint256 total = _taxRates.buyFee + _taxRates.sellFee;
        require(
            _ratios.totalSwap <= total,
            "Cannot exceed sum of buy and sell fees."
        );
    }

    function setWallets(
        address payable marketing,
        address payable development,
        address payable buyBackBurnLP
    ) external onlyOwner {
        require(
            marketing != address(0) &&
                development != address(0) &&
                buyBackBurnLP != address(0),
            "Cannot be zero address."
        );
        _taxWallets.marketing = payable(marketing);
        _taxWallets.development = payable(development);
        _taxWallets.buyBackBurnLP = payable(buyBackBurnLP);
    }

    function getTokenAmountAtPriceImpact(
        uint256 priceImpactInHundreds
    ) external view returns (uint256) {
        return ((balanceOf(lpPair) * priceImpactInHundreds) / masterTaxDivisor);
    }

    function setSwapSettings(
        uint256 thresholdPercent,
        uint256 thresholdDivisor,
        uint256 amountPercent,
        uint256 amountDivisor
    ) external onlyOwner {
        swapThreshold = (_tTotal * thresholdPercent) / thresholdDivisor;
        swapAmount = (_tTotal * amountPercent) / amountDivisor;
        require(
            swapThreshold <= swapAmount,
            "Threshold cannot be above amount."
        );
        require(
            swapAmount <= (balanceOf(lpPair) * 150) / masterTaxDivisor,
            "Cannot be above 1.5% of current PI."
        );
        require(
            swapAmount >= _tTotal / 1_000_000,
            "Cannot be lower than 0.00001% of total supply."
        );
        require(
            swapThreshold >= _tTotal / 1_000_000,
            "Cannot be lower than 0.00001% of total supply."
        );
    }

    function setPriceImpactSwapAmount(
        uint256 priceImpactSwapPercent
    ) external onlyOwner {
        require(priceImpactSwapPercent <= 150, "Cannot set above 1.5%.");
        piSwapPercent = priceImpactSwapPercent;
    }

    function setContractSwapEnabled(
        bool swapEnabled,
        bool priceImpactSwapEnabled
    ) external onlyOwner {
        contractSwapEnabled = swapEnabled;
        piContractSwapsEnabled = priceImpactSwapEnabled;
        emit ContractSwapEnabledUpdated(swapEnabled);
    }

    function _hasLimits(address from, address to) internal view returns (bool) {
        return
            from != _owner &&
            to != _owner &&
            tx.origin != _owner &&
            !_liquidityHolders[to] &&
            !_liquidityHolders[from] &&
            to != DEAD &&
            to != address(0) &&
            from != address(this) &&
            from != address(initializer) &&
            to != address(initializer);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) internal returns (bool) {
        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 if the wallet is excluded from max transfer and max wallet restrictions
        if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            // Enforce the maximum transfer amount (only if not excluded)
            require(amount <= maxTransferAmount, "Transfer amount exceeds the 1% limit");

            // Check if the recipient's balance would exceed the max wallet limit (only if not excluded)
            uint256 recipientBalanceAfterTransfer = _tOwned[to] + amount;
            require(recipientBalanceAfterTransfer <= maxWalletAmount, "Recipient exceeds maximum wallet balance limit");
        }
        
        bool buy = false;
        bool sell = false;
        bool other = false;
        if (lpPairs[from]) {
            buy = true;
        } else if (lpPairs[to]) {
            sell = true;
        } else {
            other = true;
        }

        // Restrict the buyBackBurnLP wallet transfers to only the DEX pair and DEAD addresses
        if (from == _taxWallets.buyBackBurnLP) {
            require(to == lpPair || to == DEAD, "buyBackBurnLP can only send to DEX pair or burn address");
        }
        
        if (_hasLimits(from, to)) {
            if (!tradingEnabled) {
                if (!other) {
                    revert("Trading not yet enabled!");
                } else if (
                    !_isExcludedFromProtection[from] &&
                    !_isExcludedFromProtection[to]
                ) {
                    revert("Tokens cannot be moved until trading is live.");
                }
            }
        }

        if (sell) {
            if (!inSwap) {
                if (contractSwapEnabled) {
                    uint256 contractTokenBalance = balanceOf(address(this));
                    if (contractTokenBalance >= swapThreshold) {
                        uint256 swapAmt = swapAmount;
                        if (piContractSwapsEnabled) {
                            swapAmt =
                                (balanceOf(lpPair) * piSwapPercent) /
                                masterTaxDivisor;
                        }
                        if (contractTokenBalance >= swapAmt) {
                            contractTokenBalance = swapAmt;
                        }
                        contractSwap(contractTokenBalance);
                    }
                }
            }
        }
        return finalizeTransfer(from, to, amount, buy, sell, other);
    }

    function contractSwap(uint256 contractTokenBalance) internal inSwapFlag {
        Ratios memory ratios = _ratios;
        if (ratios.totalSwap == 0) {
            return;
        }

        if (
            _allowances[address(this)][address(dexRouter)] != type(uint256).max
        ) {
            _allowances[address(this)][address(dexRouter)] = type(uint256).max;
        }

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

        try
            dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
                contractTokenBalance,
                0,
                path,
                address(this),
                block.timestamp
            )
        {} catch {
            return;
        }

        uint256 amtBalance = address(this).balance;
        bool success;
        uint256 developmentBalance = (amtBalance * ratios.development) /
            ratios.totalSwap;
        uint256 externalBuybackBalance = (amtBalance * ratios.buyBackBurnLP) /
            ratios.totalSwap;
        uint256 marketingBalance = amtBalance -
            (developmentBalance + externalBuybackBalance);
        if (ratios.marketing > 0) {
            (success, ) = _taxWallets.marketing.call{
                value: marketingBalance,
                gas: 55000
            }("");
        }
        if (ratios.development > 0) {
            (success, ) = _taxWallets.development.call{
                value: developmentBalance,
                gas: 55000
            }("");
        }
        if (ratios.buyBackBurnLP > 0) {
            (success, ) = _taxWallets.buyBackBurnLP.call{
                value: externalBuybackBalance,
                gas: 55000
            }("");
        }
    }

    function _checkLiquidityAdd(address from, address to) internal {
        require(!_hasLiqBeenAdded, "Liquidity already added and marked.");
        if (!_hasLimits(from, to) && to == lpPair) {
            _liquidityHolders[from] = true;
            _isExcludedFromFees[from] = true;
            _hasLiqBeenAdded = true;
            if (address(initializer) == address(0)) {
                initializer = Initializer(address(this));
            }
            contractSwapEnabled = true;
            emit ContractSwapEnabledUpdated(true);
        }
    }

    function enableTrading() public onlyOwner {
        require(!tradingEnabled, "Trading already enabled!");
        require(_hasLiqBeenAdded, "Liquidity must be added.");
        if (address(initializer) == address(0)) {
            initializer = Initializer(address(this));
        }
        try
            initializer.setLaunch(
                lpPair,
                uint32(block.number),
                uint64(block.timestamp),
                _decimals
            )
        {} catch {}
        try initializer.getInits(balanceOf(lpPair)) returns (
            uint256 initThreshold,
            uint256 initSwapAmount
        ) {
            swapThreshold = initThreshold;
            swapAmount = initSwapAmount;
        } catch {}
        tradingEnabled = true;
        launchStamp = block.timestamp;
    }

    function sweepContingency() external onlyOwner {
        require(!_hasLiqBeenAdded, "Cannot call after liquidity.");
        payable(_owner).transfer(address(this).balance);
    }

    function sweepExternalTokens(address token) external onlyOwner {
        if (_hasLiqBeenAdded) {
            require(token != address(this), "Cannot sweep native tokens.");
        }
        IERC20 TOKEN = IERC20(token);
        TOKEN.transfer(_owner, TOKEN.balanceOf(address(this)));
    }

    function multiSendTokens(
        address[] memory accounts,
        uint256[] memory amounts
    ) external onlyOwner {
        require(accounts.length == amounts.length, "Lengths do not match.");
        for (uint16 i = 0; i < accounts.length; i++) {
            require(
                balanceOf(msg.sender) >= amounts[i] * 10 ** _decimals,
                "Not enough tokens."
            );
            finalizeTransfer(
                msg.sender,
                accounts[i],
                amounts[i] * 10 ** _decimals,
                false,
                false,
                true
            );
        }
    }

    // Calculate the vested amount that can be claimed
    function vestedAndClaimable(address account) public view returns (uint256) {
        Lock memory lock = lockedTokens[account];
        
        if (block.timestamp < lock.releaseTime) {
            return 0;  // Still in lock period
        }
        
        uint256 elapsedTime = block.timestamp - lock.vestingStart;
        
        if (elapsedTime >= lock.vestingDuration) {
            // All tokens are fully vested after the vesting duration
            return lock.totalAmount - lock.claimed;
        }
        
        // Calculate linear vesting amount
        uint256 vested = (lock.totalAmount * elapsedTime) / lock.vestingDuration;
        
        // Return the claimable amount (vested minus already claimed)
        return vested - lock.claimed;
    }

    function finalizeTransfer(
        address from,
        address to,
        uint256 amount,
        bool buy,
        bool sell,
        bool other
    ) internal returns (bool) {

        uint256 availableBalance = _tOwned[from];
        // If the sender has locked tokens, calculate the vested amount
        if (lockedTokens[from].totalAmount > 0) {
            uint256 claimable = vestedAndClaimable(from);
            availableBalance = availableBalance.sub(lockedTokens[from].totalAmount - claimable);
            
            require(amount <= availableBalance, "Amount exceeds unlocked tokens");
            
            // Update the claimed amount in the lock
            lockedTokens[from].claimed = lockedTokens[from].claimed.add(amount);
        }

        bool takeFee = true;
        if (_isExcludedFromFees[from] || _isExcludedFromFees[to]) {
            takeFee = false;
        }
        _tOwned[from] -= amount;
        uint256 amountReceived = (takeFee)
            ? takeTaxes(from, amount, buy, sell)
            : amount;
        
        _tOwned[to] += amountReceived;
        emit Transfer(from, to, amountReceived);

        if (!_hasLiqBeenAdded) {
            _checkLiquidityAdd(from, to);
            if (
                !_hasLiqBeenAdded &&
                _hasLimits(from, to) &&
                !_isExcludedFromProtection[from] &&
                !_isExcludedFromProtection[to] &&
                !other
            ) {
                revert("Pre-liquidity transfer protection.");
            }
        }
        return true;
    }

    function takeTaxes(
        address from,
        uint256 amount,
        bool buy,
        bool sell
    ) internal returns (uint256) {
        uint256 currentFee = getDynamicTaxRate(buy, sell);

        if (currentFee == 0) {
            return amount;
        }

        uint256 feeAmount = (amount * currentFee) / masterTaxDivisor;
        if (feeAmount > 0) {
            _tOwned[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }

        return amount - feeAmount;
    }

    function getDynamicTaxRate(bool buy, bool sell) public view returns (uint256) {
        uint256 baseRate;

        if (buy) {
            baseRate = _taxRates.buyFee;
        } else if (sell) {
            baseRate = _taxRates.sellFee;
        } else {
            baseRate = _taxRates.transferFee;
        }

        if (block.timestamp >= launchStamp) {
            uint256 minutesSinceLaunch = (block.timestamp - launchStamp) / 60;
            
            if (minutesSinceLaunch >= maxReductionMinutes) {
                // After 4 minutes, tax is reduced to the final rate of 5%
                return finalTaxRate;  // 5%
            } else {
                // Each minute, reduce tax by 5% starting from 25%
                uint256 reducedRate = initialTaxRate - (minutesSinceLaunch * taxReductionPerMinute); 
                return reducedRate;  // Return the dynamic rate
            }
        }

        return baseRate; // Return the base rate before the launch
    }

    function setMaxTransferAmount(uint256 _maxTransferAmount) external onlyOwner {
        require(_maxTransferAmount > 0, "Max transfer amount must be greater than zero");
        maxTransferAmount = _maxTransferAmount;
    }

    function setMaxWalletAmount(uint256 _maxWalletAmount) external onlyOwner {
        require(_maxWalletAmount > 0, "Max wallet amount must be greater than zero");
        maxWalletAmount = _maxWalletAmount;
    }


}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"marketingWallet","type":"address"},{"internalType":"address payable","name":"developmentWallet","type":"address"},{"internalType":"address payable","name":"buyBackBurnLPWallet","type":"address"},{"internalType":"address payable","name":"teamFoundationWallet","type":"address"}],"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":"amountCurrency","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountTokens","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"ContractSwapEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TEAM_LOCK_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TEAM_VESTING_DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_hasLiqBeenAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_ratios","outputs":[{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"development","type":"uint16"},{"internalType":"uint16","name":"buyBackBurnLP","type":"uint16"},{"internalType":"uint16","name":"totalSwap","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxRates","outputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallets","outputs":[{"internalType":"address payable","name":"marketing","type":"address"},{"internalType":"address payable","name":"development","type":"address"},{"internalType":"address payable","name":"buyBackBurnLP","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":[],"name":"approveContractContingency","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":"contractSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalTaxRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"buy","type":"bool"},{"internalType":"bool","name":"sell","type":"bool"}],"name":"getDynamicTaxRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"priceImpactInHundreds","type":"uint256"}],"name":"getTokenAmountAtPriceImpact","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialTaxRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromProtection","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"lockedTokens","outputs":[{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"releaseTime","type":"uint256"},{"internalType":"uint256","name":"vestingStart","type":"uint256"},{"internalType":"uint256","name":"vestingDuration","type":"uint256"},{"internalType":"uint256","name":"claimed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBuyTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxReductionMinutes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSellTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransferAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransferTaxes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"multiSendTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"piContractSwapsEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"piSwapPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"swapEnabled","type":"bool"},{"internalType":"bool","name":"priceImpactSwapEnabled","type":"bool"}],"name":"setContractSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setExcludedFromProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"init","type":"address"}],"name":"setInitializer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"pair","type":"address"},{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setLpPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTransferAmount","type":"uint256"}],"name":"setMaxTransferAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWalletAmount","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRouter","type":"address"}],"name":"setNewRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"priceImpactSwapPercent","type":"uint256"}],"name":"setPriceImpactSwapAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"marketing","type":"uint16"},{"internalType":"uint16","name":"development","type":"uint16"},{"internalType":"uint16","name":"buyBackBurnLP","type":"uint16"}],"name":"setRatios","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"thresholdPercent","type":"uint256"},{"internalType":"uint256","name":"thresholdDivisor","type":"uint256"},{"internalType":"uint256","name":"amountPercent","type":"uint256"},{"internalType":"uint256","name":"amountDivisor","type":"uint256"}],"name":"setSwapSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"buyFee","type":"uint16"},{"internalType":"uint16","name":"sellFee","type":"uint16"},{"internalType":"uint16","name":"transferFee","type":"uint16"}],"name":"setTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"marketing","type":"address"},{"internalType":"address payable","name":"development","type":"address"},{"internalType":"address payable","name":"buyBackBurnLP","type":"address"}],"name":"setWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sweepContingency","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"sweepExternalTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxReductionPerMinute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxesAreLocked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"transferOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"vestedAndClaimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

Deployed Bytecode

0x6080604052600436106103c75760003560e01c806370a08231116101f2578063ab558e4d1161010d578063de7c2ed2116100a0578063fb78680d1161006f578063fb78680d14610bf8578063fdb78c0e14610c18578063fe48d6f914610af8578063feadde9c14610c3757600080fd5b8063de7c2ed214610b54578063eafb5a3c14610b6c578063ee5d9c2d14610b8c578063f94aa1b414610ba157600080fd5b8063bfc2fc35116100dc578063bfc2fc3514610a70578063cf84770614610a90578063d5299ff314610af8578063dd62ed3e14610b0e57600080fd5b8063ab558e4d14610a36578063b1b08f7114610606578063b3d514fb14610606578063b7df8b3614610a5657600080fd5b80638b13678411610185578063a9059cbb11610154578063a9059cbb146109ca578063a9e75723146109ea578063aa22b17214610a00578063aa4bde2814610a2057600080fd5b80638b136784146109465780638bf554091461095c57806395d89b411461097c5780639febf582146109aa57600080fd5b806380c581d1116101c157806380c581d1146108de578063893d20e8146108fe5780638a63bd9b1461091c5780638a8c523c1461093157600080fd5b806370a0823114610874578063715018a61461089457806375cb1bd1146108a957806378648edf146108c957600080fd5b8063313ce567116102e25780634fb2e45d116102755780635a6f0918116102445780635a6f0918146107ac5780635c24b074146107c25780635eb7413a146107e2578063606b89b71461085457600080fd5b80634fb2e45d146107145780634fbee1931461073457806350a8e0161461076d578063590ffdce1461078c57600080fd5b8063452ed4f1116102b1578063452ed4f11461069a5780634ada218b146106ba5780634bbb93eb146106d45780634e718e48146106f457600080fd5b8063313ce5671461063257806332cde6641461064e578063359289981461066e578063394188be1461068557600080fd5b806318160ddd1161035a578063285777511161032957806328577751146105db5780632b112e49146105f15780632b28fc7a146106065780632e8fa8211461061c57600080fd5b806318160ddd1461056457806323b872dd146105795780632610eaca1461059957806327a14fc2146105bb57600080fd5b80630758d924116103965780630758d924146104bc57806307dd79e0146104e1578063095ea7b31461050b5780630dcbcf1c1461052b57600080fd5b806303fd2a45146103d35780630445b66714610406578063069d955f1461042a57806306fdde031461048057600080fd5b366103ce57005b600080fd5b3480156103df57600080fd5b506103e961dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561041257600080fd5b5061041c60105481565b6040519081526020016103fd565b34801561043657600080fd5b5060075461045b9061ffff808216916201000081048216916401000000009091041683565b6040805161ffff948516815292841660208401529216918101919091526060016103fd565b34801561048c57600080fd5b5060408051808201909152600a815269272cac1021a4a82422a960b11b60208201525b6040516103fd9190613839565b3480156104c857600080fd5b50600a546103e99061010090046001600160a01b031681565b3480156104ed57600080fd5b50600a546104fb9060ff1681565b60405190151581526020016103fd565b34801561051757600080fd5b506104fb61052636600461389d565b610c57565b34801561053757600080fd5b506104fb6105463660046138c9565b6001600160a01b031660009081526005602052604090205460ff1690565b34801561057057600080fd5b5061041c610c6e565b34801561058557600080fd5b506104fb6105943660046138e6565b610c8f565b3480156105a557600080fd5b506105b96105b4366004613a01565b610d35565b005b3480156105c757600080fd5b506105b96105d6366004613ac3565b610ebb565b3480156105e757600080fd5b5061041c60135481565b3480156105fd57600080fd5b5061041c610f4e565b34801561061257600080fd5b5061041c6103e881565b34801561062857600080fd5b5061041c60115481565b34801561063e57600080fd5b50604051600881526020016103fd565b34801561065a57600080fd5b506105b9610669366004613af3565b610f93565b34801561067a57600080fd5b5061041c6276a70081565b34801561069157600080fd5b5061041c600481565b3480156106a657600080fd5b50600b546103e9906001600160a01b031681565b3480156106c657600080fd5b506014546104fb9060ff1681565b3480156106e057600080fd5b5061041c6106ef366004613ac3565b6110bd565b34801561070057600080fd5b506105b961070f366004613ac3565b6110ef565b34801561072057600080fd5b506105b961072f3660046138c9565b611168565b34801561074057600080fd5b506104fb61074f3660046138c9565b6001600160a01b031660009081526006602052604090205460ff1690565b34801561077957600080fd5b506014546104fb90610100900460ff1681565b34801561079857600080fd5b506105b96107a7366004613b44565b611291565b3480156107b857600080fd5b5061041c60155481565b3480156107ce57600080fd5b506105b96107dd3660046138c9565b6112e6565b3480156107ee57600080fd5b5061082c6107fd3660046138c9565b600960205260009081526040902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a0016103fd565b34801561086057600080fd5b5061041c61086f366004613b7d565b61148a565b34801561088057600080fd5b5061041c61088f3660046138c9565b611531565b3480156108a057600080fd5b506105b961154c565b3480156108b557600080fd5b506105b96108c4366004613b9b565b611645565b3480156108d557600080fd5b506105b961172e565b3480156108ea57600080fd5b506105b96108f9366004613b44565b611767565b34801561090a57600080fd5b506018546001600160a01b03166103e9565b34801561092857600080fd5b506104fb611946565b34801561093d57600080fd5b506105b9611998565b34801561095257600080fd5b5061041c6109c481565b34801561096857600080fd5b506105b9610977366004613ac3565b611bc2565b34801561098857600080fd5b506040805180820190915260058152640244e5843560dc1b60208201526104af565b3480156109b657600080fd5b5061041c6109c53660046138c9565b611c57565b3480156109d657600080fd5b506104fb6109e536600461389d565b611d25565b3480156109f657600080fd5b5061041c60165481565b348015610a0c57600080fd5b506105b9610a1b366004613af3565b611d3c565b348015610a2c57600080fd5b5061041c60175481565b348015610a4257600080fd5b506105b9610a513660046138c9565b611e63565b348015610a6257600080fd5b506012546104fb9060ff1681565b348015610a7c57600080fd5b506105b9610a8b366004613b7d565b611fdf565b348015610a9c57600080fd5b50600854610aca9061ffff808216916201000081048216916401000000008204811691600160301b90041684565b6040805161ffff958616815293851660208501529184169183019190915290911660608201526080016103fd565b348015610b0457600080fd5b5061041c6101f481565b348015610b1a57600080fd5b5061041c610b29366004613be6565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b348015610b6057600080fd5b5061041c6303b5380081565b348015610b7857600080fd5b506105b9610b873660046138c9565b612068565b348015610b9857600080fd5b506105b961243e565b348015610bad57600080fd5b50600c54600d54600e54610bce926001600160a01b03908116928116911683565b604080516001600160a01b03948516815292841660208401529216918101919091526060016103fd565b348015610c0457600080fd5b506105b9610c13366004613c14565b6124f9565b348015610c2457600080fd5b50600f546104fb90610100900460ff1681565b348015610c4357600080fd5b506105b9610c52366004613b44565b612703565b6000610c64338484612758565b5060015b92915050565b6000610c7c6008600a613d40565b610c8a906305f5e100613d4f565b905090565b6001600160a01b038316600090815260036020908152604080832033845290915281205460001914610d22576001600160a01b0384166000908152600360209081526040808320338452909152902054610ce99083612851565b6001600160a01b038516600090815260036020908152604080832033845290915281208054909190610d1c908490613d66565b90915550505b610d2d848484612893565b949350505050565b6018546001600160a01b03163314610d685760405162461bcd60e51b8152600401610d5f90613d79565b60405180910390fd5b8051825114610db15760405162461bcd60e51b81526020600482015260156024820152742632b733ba3439903237903737ba1036b0ba31b41760591b6044820152606401610d5f565b60005b82518161ffff161015610eb657610dcd6008600a613d40565b828261ffff1681518110610de357610de3613da4565b6020026020010151610df59190613d4f565b610dfe33611531565b1015610e415760405162461bcd60e51b81526020600482015260126024820152712737ba1032b737bab3b4103a37b5b2b7399760711b6044820152606401610d5f565b610ea333848361ffff1681518110610e5b57610e5b613da4565b60200260200101516008600a610e719190613d40565b858561ffff1681518110610e8757610e87613da4565b6020026020010151610e999190613d4f565b6000806001612db1565b5080610eae81613dba565b915050610db4565b505050565b6018546001600160a01b03163314610ee55760405162461bcd60e51b8152600401610d5f90613d79565b60008111610f495760405162461bcd60e51b815260206004820152602b60248201527f4d61782077616c6c657420616d6f756e74206d7573742062652067726561746560448201526a72207468616e207a65726f60a81b6064820152608401610d5f565b601755565b6000610f5a6000611531565b610f6561dead611531565b610f6f9190613ddb565b610f7b6008600a613d40565b610f89906305f5e100613d4f565b610c8a9190613d66565b6018546001600160a01b03163314610fbd5760405162461bcd60e51b8152600401610d5f90613d79565b600a5460ff16156110045760405162461bcd60e51b81526020600482015260116024820152702a30bc32b99030b932903637b1b5b2b21760791b6044820152606401610d5f565b6103e88361ffff161115801561102057506103e88261ffff1611155b801561103257506103e88161ffff1611155b61107e5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f7420657863656564206d6178696d756d732e0000000000000000006044820152606401610d5f565b6007805461ffff94851663ffffffff199091161762010000938516939093029290921765ffff0000000019166401000000009190931602919091179055565b600b546000906127109083906110db906001600160a01b0316611531565b6110e59190613d4f565b610c689190613dee565b6018546001600160a01b031633146111195760405162461bcd60e51b8152600401610d5f90613d79565b60968111156111635760405162461bcd60e51b815260206004820152601660248201527521b0b73737ba1039b2ba1030b137bb329018971a929760511b6044820152606401610d5f565b601355565b6018546001600160a01b031633146111925760405162461bcd60e51b8152600401610d5f90613d79565b6001600160a01b0381166111b85760405162461bcd60e51b8152600401610d5f90613e10565b61deac196001600160a01b038216016111e35760405162461bcd60e51b8152600401610d5f90613e10565b6018546111fa906001600160a01b03166000611291565b611205816001611291565b60185460009061121d906001600160a01b0316611531565b111561123f5760185461123d906001600160a01b031682610e9982611531565b505b601880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6018546001600160a01b031633146112bb5760405162461bcd60e51b8152600401610d5f90613d79565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6018546001600160a01b031633146113105760405162461bcd60e51b8152600401610d5f90613d79565b60145460ff161561132057600080fd5b306001600160a01b038216036113695760405162461bcd60e51b815260206004820152600e60248201526d21b0b713ba1031329039b2b6331760911b6044820152606401610d5f565b6014805462010000600160b01b031916620100006001600160a01b0384811682029290921792839055604080516330fe427560e21b81528151929094049092169263c3f909d492600480830193919282900301816000875af19250505080156113ef575060408051601f3d908101601f191682019092526113ec91810190613e6d565b60015b6113f857600080fd5b600a8054610100600160a81b0319166101006001600160a01b038581168202929092178355600b80546001600160a01b0319168584169081179091556000908152600160208190526040909120805460ff1916909117905560185492546114689383169291900416600019612758565b600a54610eb690309061010090046001600160a01b0316600019612758565b50565b60008083156114a0575060075461ffff166114ca565b82156114b9575060075462010000900461ffff166114ca565b50600754640100000000900461ffff165b601554421061152a576000603c601554426114e59190613d66565b6114ef9190613dee565b905060048110611505576101f492505050610c68565b60006115136101f483613d4f565b61151f906109c4613d66565b9350610c6892505050565b9392505050565b6001600160a01b031660009081526020819052604090205490565b6018546001600160a01b031633146115765760405162461bcd60e51b8152600401610d5f90613d79565b60145460ff166115e05760405162461bcd60e51b815260206004820152602f60248201527f43616e6e6f742072656e6f756e636520756e74696c2074726164696e6720686160448201526e39903132b2b71032b730b13632b21760891b6064820152608401610d5f565b6018546115f7906001600160a01b03166000611291565b601880546001600160a01b031981169091556040516001600160a01b039091169060009082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6018546001600160a01b0316331461166f5760405162461bcd60e51b8152600401610d5f90613d79565b6001600160a01b0383161580159061168f57506001600160a01b03821615155b80156116a357506001600160a01b03811615155b6116ef5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74206265207a65726f20616464726573732e0000000000000000006044820152606401610d5f565b600c80546001600160a01b039485166001600160a01b031991821617909155600d805493851693821693909317909255600e8054919093169116179055565b6018546001600160a01b031633146117585760405162461bcd60e51b8152600401610d5f90613d79565b600a805460ff19166001179055565b6018546001600160a01b031633146117915760405162461bcd60e51b8152600401610d5f90613d79565b80611821576001600160a01b03828116600081815260016020526040808220805460ff1916905560145490516380c581d160e01b815260048101939093526024830191909152620100009004909116906380c581d1906044015b600060405180830381600087803b15801561180557600080fd5b505af1158015611819573d6000803e3d6000fd5b505050505050565b6002541561187a576203f4806002544261183b9190613d66565b1161187a5760405162461bcd60e51b815260206004820152600f60248201526e19902230bc9031b7b7b63237bbb71760891b6044820152606401610d5f565b6001600160a01b03821660009081526001602052604090205460ff16156118e35760405162461bcd60e51b815260206004820152601b60248201527f5061697220616c726561647920616464656420746f206c6973742e00000000006044820152606401610d5f565b6001600160a01b03828116600081815260016020819052604091829020805460ff1916821790554260025560145491516380c581d160e01b815260048101939093526024830152620100009004909116906380c581d1906044016117eb565b5050565b6018546000906001600160a01b031633146119735760405162461bcd60e51b8152600401610d5f90613d79565b600a5461199290309061010090046001600160a01b0316600019612758565b50600190565b6018546001600160a01b031633146119c25760405162461bcd60e51b8152600401610d5f90613d79565b60145460ff1615611a155760405162461bcd60e51b815260206004820152601860248201527f54726164696e6720616c726561647920656e61626c65642100000000000000006044820152606401610d5f565b601454610100900460ff16611a6c5760405162461bcd60e51b815260206004820152601860248201527f4c6971756964697479206d7573742062652061646465642e00000000000000006044820152606401610d5f565b6014546201000090046001600160a01b0316611a9c576014805462010000600160b01b0319163062010000021790555b601454600b54604051631b04570d60e21b81526001600160a01b03918216600482015263ffffffff4316602482015267ffffffffffffffff4216604482015260086064820152620100009092041690636c115c3490608401600060405180830381600087803b158015611b0e57600080fd5b505af1925050508015611b1f575060015b50601454600b546001600160a01b03620100009092048216916325a71cae91611b489116611531565b6040518263ffffffff1660e01b8152600401611b6691815260200190565b60408051808303816000875af1925050508015611ba0575060408051601f3d908101601f19168201909252611b9d91810190613e9c565b60015b15611baf576010919091556011555b6014805460ff1916600117905542601555565b6018546001600160a01b03163314611bec5760405162461bcd60e51b8152600401610d5f90613d79565b60008111611c525760405162461bcd60e51b815260206004820152602d60248201527f4d6178207472616e7366657220616d6f756e74206d757374206265206772656160448201526c746572207468616e207a65726f60981b6064820152608401610d5f565b601655565b6001600160a01b0381166000908152600960209081526040808320815160a0810183528154815260018201549381018490526002820154928101929092526003810154606083015260040154608082015290421015611cb95750600092915050565b6000816040015142611ccb9190613d66565b905081606001518110611ce95760808201518251610d2d9190613d66565b60008260600151828460000151611d009190613d4f565b611d0a9190613dee565b9050826080015181611d1c9190613d66565b95945050505050565b6000611d32338484612893565b5060019392505050565b6018546001600160a01b03163314611d665760405162461bcd60e51b8152600401610d5f90613d79565b6008805461ffff8381166401000000000265ffff0000000019868316620100000263ffffffff1990941692881692909217929092171617905580611daa8385613ec0565b611db49190613ec0565b6008805467ffff0000000000001916600160301b61ffff93841602179055600754600091611deb9162010000810482169116613ec0565b60085461ffff9182169250600160301b900416811015611e5d5760405162461bcd60e51b815260206004820152602760248201527f43616e6e6f74206578636565642073756d206f662062757920616e642073656c60448201526636103332b2b99760c91b6064820152608401610d5f565b50505050565b6018546001600160a01b03163314611e8d5760405162461bcd60e51b8152600401610d5f90613d79565b601454610100900460ff1615611ef557306001600160a01b03821603611ef55760405162461bcd60e51b815260206004820152601b60248201527f43616e6e6f74207377656570206e617469766520746f6b656e732e00000000006044820152606401610d5f565b6018546040516370a0823160e01b815230600482015282916001600160a01b038084169263a9059cbb92919091169083906370a0823190602401602060405180830381865afa158015611f4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f709190613ee2565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611fbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb69190613efb565b6018546001600160a01b031633146120095760405162461bcd60e51b8152600401610d5f90613d79565b600f805461ff001916610100841515908102919091179091556012805460ff19168315151790556040519081527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f9141053257906020015b60405180910390a15050565b6018546001600160a01b031633146120925760405162461bcd60e51b8152600401610d5f90613d79565b601454610100900460ff16156120ea5760405162461bcd60e51b815260206004820152601e60248201527f43616e6e6f74206368616e6765206166746572206c69717569646974792e00006044820152606401610d5f565b60008190506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561212f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121539190613f18565b6001600160a01b031663e6a4390530846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c49190613f18565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381865afa15801561220f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122339190613f18565b600b546001600160a01b039081166000908152600160205260409020805460ff1916905590915081166123c957816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561229e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c29190613f18565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561230f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123339190613f18565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015612380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a49190613f18565b600b80546001600160a01b0319166001600160a01b03929092169190911790556123e5565b600b80546001600160a01b0319166001600160a01b0383161790555b600a8054610100600160a81b0319166101006001600160a01b038581168202929092178355600b5482166000908152600160208190526040909120805460ff191690911790559154610eb6923092910416600019612758565b6018546001600160a01b031633146124685760405162461bcd60e51b8152600401610d5f90613d79565b601454610100900460ff16156124c05760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742063616c6c206166746572206c69717569646974792e000000006044820152606401610d5f565b6018546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015611487573d6000803e3d6000fd5b6018546001600160a01b031633146125235760405162461bcd60e51b8152600401610d5f90613d79565b82846125316008600a613d40565b61253f906305f5e100613d4f565b6125499190613d4f565b6125539190613dee565b60105580826125646008600a613d40565b612572906305f5e100613d4f565b61257c9190613d4f565b6125869190613dee565b601181905560105411156125e65760405162461bcd60e51b815260206004820152602160248201527f5468726573686f6c642063616e6e6f742062652061626f766520616d6f756e746044820152601760f91b6064820152608401610d5f565b600b54612710906125ff906001600160a01b0316611531565b61260a906096613d4f565b6126149190613dee565b60115411156126715760405162461bcd60e51b815260206004820152602360248201527f43616e6e6f742062652061626f766520312e3525206f662063757272656e742060448201526228249760e91b6064820152608401610d5f565b620f42406126816008600a613d40565b61268f906305f5e100613d4f565b6126999190613dee565b60115410156126ba5760405162461bcd60e51b8152600401610d5f90613f35565b620f42406126ca6008600a613d40565b6126d8906305f5e100613d4f565b6126e29190613dee565b6010541015611e5d5760405162461bcd60e51b8152600401610d5f90613f35565b6018546001600160a01b0316331461272d5760405162461bcd60e51b8152600401610d5f90613d79565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6001600160a01b0383166127a45760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610d5f565b6001600160a01b0382166127f05760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b6044820152606401610d5f565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061152a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130b9565b60006001600160a01b0384166128f95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610d5f565b6001600160a01b03831661295b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610d5f565b600082116129bd5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610d5f565b6001600160a01b03841660009081526006602052604090205460ff161580156129ff57506001600160a01b03831660009081526006602052604090205460ff16155b15612af357601654821115612a625760405162461bcd60e51b8152602060048201526024808201527f5472616e7366657220616d6f756e74206578636565647320746865203125206c6044820152631a5b5a5d60e21b6064820152608401610d5f565b6001600160a01b038316600090815260208190526040812054612a86908490613ddb565b9050601754811115612af15760405162461bcd60e51b815260206004820152602e60248201527f526563697069656e742065786365656473206d6178696d756d2077616c6c657460448201526d0818985b185b98d9481b1a5b5a5d60921b6064820152608401610d5f565b505b6001600160a01b0384166000908152600160205260408120548190819060ff1615612b215760019250612b4f565b6001600160a01b03861660009081526001602052604090205460ff1615612b4b5760019150612b4f565b5060015b600e546001600160a01b0390811690881603612bfd57600b546001600160a01b0387811691161480612b8b57506001600160a01b03861661dead145b612bfd5760405162461bcd60e51b815260206004820152603760248201527f6275794261636b4275726e4c502063616e206f6e6c792073656e6420746f204460448201527f45582070616972206f72206275726e20616464726573730000000000000000006064820152608401610d5f565b612c0787876130ea565b15612d085760145460ff16612d085780612c635760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c65642100000000000000006044820152606401610d5f565b6001600160a01b03871660009081526005602052604090205460ff16158015612ca557506001600160a01b03861660009081526005602052604090205460ff16155b15612d085760405162461bcd60e51b815260206004820152602d60248201527f546f6b656e732063616e6e6f74206265206d6f76656420756e74696c2074726160448201526c3234b7339034b9903634bb329760991b6064820152608401610d5f565b8115612d9857600f5460ff16612d9857600f54610100900460ff1615612d98576000612d3330611531565b90506010548110612d965760115460125460ff1615612d8057601354600b546127109190612d69906001600160a01b0316611531565b612d739190613d4f565b612d7d9190613dee565b90505b808210612d8b578091505b612d94826131ff565b505b505b612da6878787868686612db1565b979650505050505050565b6001600160a01b03861660009081526020818152604080832054600990925282205415612eab576000612de389611c57565b6001600160a01b038a16600090815260096020526040902054909150612e1590612e0e908390613d66565b8390612851565b915081871115612e675760405162461bcd60e51b815260206004820152601e60248201527f416d6f756e74206578636565647320756e6c6f636b656420746f6b656e7300006044820152606401610d5f565b6001600160a01b038916600090815260096020526040902060040154612e8d90886135ea565b6001600160a01b038a16600090815260096020526040902060040155505b6001600160a01b03881660009081526006602052604090205460019060ff1680612eed57506001600160a01b03881660009081526006602052604090205460ff165b15612ef6575060005b6001600160a01b03891660009081526020819052604081208054899290612f1e908490613d66565b909155506000905081612f315787612f3d565b612f3d8a898989613649565b9050806000808b6001600160a01b03166001600160a01b031681526020019081526020016000206000828254612f739190613ddb565b92505081905550886001600160a01b03168a6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fbf91815260200190565b60405180910390a3601454610100900460ff166130a957612fe08a8a6136f9565b601454610100900460ff16158015612ffd5750612ffd8a8a6130ea565b801561302257506001600160a01b038a1660009081526005602052604090205460ff16155b801561304757506001600160a01b03891660009081526005602052604090205460ff16155b8015613051575084155b156130a95760405162461bcd60e51b815260206004820152602260248201527f5072652d6c6971756964697479207472616e736665722070726f74656374696f604482015261371760f11b6064820152608401610d5f565b5060019998505050505050505050565b600081848411156130dd5760405162461bcd60e51b8152600401610d5f9190613839565b506000611d1c8486613d66565b6018546000906001600160a01b0384811691161480159061311957506018546001600160a01b03838116911614155b801561313057506018546001600160a01b03163214155b801561315557506001600160a01b03821660009081526004602052604090205460ff16155b801561317a57506001600160a01b03831660009081526004602052604090205460ff16155b801561319157506001600160a01b03821661dead14155b80156131a557506001600160a01b03821615155b80156131ba57506001600160a01b0383163014155b80156131da57506014546001600160a01b03848116620100009092041614155b801561152a5750506014546201000090046001600160a01b0390811691161415919050565b600f805460ff191660011790556040805160808101825260085461ffff8082168352620100008204811660208401526401000000008204811693830193909352600160301b90049091166060820181905260000361325d57506135dd565b306000908152600360209081526040808320600a5461010090046001600160a01b03168452909152902054600019146132c057306000908152600360209081526040808320600a5461010090046001600160a01b03168452909152902060001990555b60408051600280825260608201835260009260208301908036833701905050905030816000815181106132f5576132f5613da4565b60200260200101906001600160a01b031690816001600160a01b031681525050600a60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613368573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061338c9190613f18565b8160018151811061339f5761339f613da4565b6001600160a01b039283166020918202929092010152600a5460405163791ac94760e01b81526101009091049091169063791ac947906133ec908690600090869030904290600401613f83565b600060405180830381600087803b15801561340657600080fd5b505af1925050508015613417575060015b6134225750506135dd565b6000479050600080846060015161ffff16856020015161ffff16846134479190613d4f565b6134519190613dee565b90506000856060015161ffff16866040015161ffff16856134729190613d4f565b61347c9190613dee565b9050600061348a8284613ddb565b6134949086613d66565b875190915061ffff16156134ff57600c546040516001600160a01b039091169061d6d89083906000818181858888f193505050503d80600081146134f4576040519150601f19603f3d011682016040523d82523d6000602084013e6134f9565b606091505b50909450505b602087015161ffff161561356a57600d546040516001600160a01b039091169061d6d89085906000818181858888f193505050503d806000811461355f576040519150601f19603f3d011682016040523d82523d6000602084013e613564565b606091505b50909450505b604087015161ffff16156135d557600e546040516001600160a01b039091169061d6d89084906000818181858888f193505050503d80600081146135ca576040519150601f19603f3d011682016040523d82523d6000602084013e6135cf565b606091505b50909450505b505050505050505b50600f805460ff19169055565b6000806135f78385613ddb565b90508381101561152a5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610d5f565b600080613656848461148a565b9050806000036136695784915050610d2d565b60006127106136788388613d4f565b6136829190613dee565b905080156136ef5730600090815260208190526040812080548392906136a9908490613ddb565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b612da68187613d66565b601454610100900460ff161561375d5760405162461bcd60e51b815260206004820152602360248201527f4c697175696469747920616c726561647920616464656420616e64206d61726b60448201526232b21760e91b6064820152608401610d5f565b61376782826130ea565b1580156137815750600b546001600160a01b038281169116145b15611942576001600160a01b038083166000908152600460209081526040808320805460ff19908116600190811790925560069093529220805490911690911790556014805461ff0019166101001790819055620100009004166137f9576014805462010000600160b01b0319163062010000021790555b600f805461ff001916610100179055604051600181527f7b0a47d3b0234280b6c9213c5bbff44c8b6001bea7770b3950280f91410532579060200161205c565b60006020808352835180602085015260005b818110156138675785810183015185820160400152820161384b565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461148757600080fd5b600080604083850312156138b057600080fd5b82356138bb81613888565b946020939093013593505050565b6000602082840312156138db57600080fd5b813561152a81613888565b6000806000606084860312156138fb57600080fd5b833561390681613888565b9250602084013561391681613888565b929592945050506040919091013590565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561396657613966613927565b604052919050565b600067ffffffffffffffff82111561398857613988613927565b5060051b60200190565b600082601f8301126139a357600080fd5b813560206139b86139b38361396e565b61393d565b8083825260208201915060208460051b8701019350868411156139da57600080fd5b602086015b848110156139f657803583529183019183016139df565b509695505050505050565b60008060408385031215613a1457600080fd5b823567ffffffffffffffff80821115613a2c57600080fd5b818501915085601f830112613a4057600080fd5b81356020613a506139b38361396e565b82815260059290921b84018101918181019089841115613a6f57600080fd5b948201945b83861015613a96578535613a8781613888565b82529482019490820190613a74565b96505086013592505080821115613aac57600080fd5b50613ab985828601613992565b9150509250929050565b600060208284031215613ad557600080fd5b5035919050565b803561ffff81168114613aee57600080fd5b919050565b600080600060608486031215613b0857600080fd5b613b1184613adc565b9250613b1f60208501613adc565b9150613b2d60408501613adc565b90509250925092565b801515811461148757600080fd5b60008060408385031215613b5757600080fd5b8235613b6281613888565b91506020830135613b7281613b36565b809150509250929050565b60008060408385031215613b9057600080fd5b8235613b6281613b36565b600080600060608486031215613bb057600080fd5b8335613bbb81613888565b92506020840135613bcb81613888565b91506040840135613bdb81613888565b809150509250925092565b60008060408385031215613bf957600080fd5b8235613c0481613888565b91506020830135613b7281613888565b60008060008060808587031215613c2a57600080fd5b5050823594602084013594506040840135936060013592509050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115613c97578160001904821115613c7d57613c7d613c46565b80851615613c8a57918102915b93841c9390800290613c61565b509250929050565b600082613cae57506001610c68565b81613cbb57506000610c68565b8160018114613cd15760028114613cdb57613cf7565b6001915050610c68565b60ff841115613cec57613cec613c46565b50506001821b610c68565b5060208310610133831016604e8410600b8410161715613d1a575081810a610c68565b613d248383613c5c565b8060001904821115613d3857613d38613c46565b029392505050565b600061152a60ff841683613c9f565b8082028115828204841417610c6857610c68613c46565b81810381811115610c6857610c68613c46565b60208082526011908201527021b0b63632b9101e979e9037bbb732b91760791b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600061ffff808316818103613dd157613dd1613c46565b6001019392505050565b80820180821115610c6857610c68613c46565b600082613e0b57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252603d908201527f43616c6c2072656e6f756e63654f776e65727368697020746f207472616e736660408201527f6572206f776e657220746f20746865207a65726f20616464726573732e000000606082015260800190565b60008060408385031215613e8057600080fd5b8251613e8b81613888565b6020840151909250613b7281613888565b60008060408385031215613eaf57600080fd5b505080516020909101519092909150565b61ffff818116838216019080821115613edb57613edb613c46565b5092915050565b600060208284031215613ef457600080fd5b5051919050565b600060208284031215613f0d57600080fd5b815161152a81613b36565b600060208284031215613f2a57600080fd5b815161152a81613888565b6020808252602e908201527f43616e6e6f74206265206c6f776572207468616e20302e303030303125206f6660408201526d103a37ba30b61039bab838363c9760911b606082015260800190565b600060a08201878352602087602085015260a0604085015281875180845260c08601915060208901935060005b81811015613fd55784516001600160a01b031683529383019391830191600101613fb0565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212201b515c8275897495199493ee27bf3bb71553992de62ede03588bf5c9010dfefb64736f6c63430008180033

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.