Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (2024)

Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (1)

0x1FdB29Ad49330B07aE5a87483F598AA6b292039E

Living The Dream: LTD Token

Source Code

Token Contract

  • Token Approvals Beta
  • Validate Account Balance
  • Check Previous Balance
  • Update Name Tag or Label
  • Remove Name Tag
  • Report/Flag Address

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

  • ERC-20 Tokens (2)

  • LivingTheDream31,672,670.8171714 LTD$628.24@0.00
  • The Meme Gam... (MGMES)1,000 MGMES
View All Holdings

More Info

Private Name Tags

Add

ContractCreator

Living The Dream: Deployer at txn 0xaa6f79c2418a31ae5a581a173ba7b9d9b3969ba4f16a124c68a82dcf05f3688e

TokenTracker

LivingTheDream (LTD) (@$0.00)

Multichain Info

$628.24 (Multichain Portfolio)

No addresses found

  • Transactions
  • Internal Transactions
  • Token Transfers (ERC-20)
  • Contract
  • Events
  • Analytics
  • Multichain Portfolio
  • CardsNew
  • Info

Advanced Filter

  • Filter by Tx Type:
  • Tx
  • Internal Tx
  • ERC-20

Latest 25 from a total of 1,710 transactions

  • View Completed Txns
  • View Pending Txns
  • View Failed Txns
  • View Outgoing Txns
  • View Incoming Txns
  • View Contract Creation
Transaction Hash

Method

Block

From

To

0x1ecac19946963d22de657c4966c1d4423b928ce243ebf722fe6110badd28daa3

Approve2064791025 mins ago

0xC705D00b...97a64962a

IN

Living The Dream: LTD Token

0 ETH0.00006186

0x05ced0a4e8deb48d1f58e3074d3c044cd73c5e3655ed9dad9ced6464c3317b80

Transfer2064789029 mins ago

Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (16) Gate.io 1

IN

Living The Dream: LTD Token

0 ETH0.00013851

0x3172719a7b75025806ce18f95ccb67991a5657d08a67d46d0393b916fb1773e3

Transfer2064779449 mins ago

Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (17) Gate.io 1

IN

Living The Dream: LTD Token

0 ETH0.00012643

0xccad64681b00e4e5a9cd671df9c9ea6e990dd80cbfd2586fcf82c201f1db0eca

Approve2064774758 mins ago

0x0219957f...2CF5131bf

IN

Living The Dream: LTD Token

0 ETH0.00027611

0xcab6ce74354721f0b0967a7a31bb2faed8675b18fbe8dd3159cccc1a52d3f6c6

Transfer2064774658 mins ago

Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (18) Gate.io 1

IN

Living The Dream: LTD Token

0 ETH0.00013385

0x5a9b36932534c810c554763502da51d3fb9ede99dbec7879b29b51f748bd5f28

Transfer206476761 hr ago

Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (19) Gate.io 1

IN

Living The Dream: LTD Token

0 ETH0.00008555

0xe300016599f1416ba9ce09072969131af1d5e9bc4db59865f232210a93609b8f

Approve206475401 hr ago

0x43c20104...2a3125C0d

IN

Living The Dream: LTD Token

0 ETH0.00005654

0x289a2eb489e06c5c6cce16a80e57ec10ce4518231b8682fa5947eaf003088b52

Approve206474831 hr ago

Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (20)wooos.eth

IN

Living The Dream: LTD Token

0 ETH0.00005099

0x6de6e97415273760a8f9dfb7a07c91c26b712c2694ed8533af7998853f2aea91

Approve206474232 hrs ago

0x2bFfc339...A8815879A

IN

Living The Dream: LTD Token

0 ETH0.00012144

0x6cfb5eb263eb2923f5d942718dc064d6499b6b243113170919270325a7551be6

Approve206472442 hrs ago

0xDe3715b3...ef7486149

IN

Living The Dream: LTD Token

0 ETH0.00002904

0xb4a797bf330fbcdb670b3b1eca87332698955e9fb899aead03b500f223472aa2

Approve206472442 hrs ago

0x9990A64f...D79FC1E00

IN

Living The Dream: LTD Token

0 ETH0.00005179

0x6b30a883855cbb5eaef7c3268b826854e24297a5df0eb991bd03995690b5ba4f

Approve206472422 hrs ago

0x2F429484...94E427949

IN

Living The Dream: LTD Token

0 ETH0.00005413

0x31a695ee1fb51e7d50f26607d066e50df0f2c3a3d4ef4047816ae01ac70de29d

Approve206471582 hrs ago

0x5b28502F...f73fc11F3

IN

Living The Dream: LTD Token

0 ETH0.0001292

0x3a29330dad7aca1b220b890f4ec212eca9b476ccc83d5e8d0bd3144896cbf6bd

Transfer206469923 hrs ago

0x2122Aad4...639B7f591

IN

Living The Dream: LTD Token

0 ETH0.00007532

0xf17b1f7c09dad8dcbec8e14ea5eec7e5f4d150ca751052623d4dbf2dfc319956

Transfer206468613 hrs ago

0x1c272607...C1750c9C7

IN

Living The Dream: LTD Token

0 ETH0.00009331

0xa2aa9b936d75c00218fc770525b4c2713a1706d0a0e7247207f82877d8a996ad

Approve206467184 hrs ago

0x3607B0f4...a44872534

IN

Living The Dream: LTD Token

0 ETH0.00012289

0x10fe964bd491ce42d5c35f235ef5dd21e215a2b01893715cd2b14ce85337bc8a

Approve206466884 hrs ago

0xe4d307Ee...fFe39B4a7

IN

Living The Dream: LTD Token

0 ETH0.00012241

0x65eeed950a6ab59c9e71a5d7c60475f65ac526eb5280c5a2d05e961264802db0

Approve206463865 hrs ago

0x7252Af8F...515225269

IN

Living The Dream: LTD Token

0 ETH0.00001752

0x60de769ad770ee369d66d778da324e780ab5fe0a3bd60673a2d70316e6df85dc

Approve206463775 hrs ago

0xBAD9dFF1...6f6f229Ac

IN

Living The Dream: LTD Token

0 ETH0.00005389

0x9315894e6a4e740b562c05d00c38cefb6f1c2ee52dd7b304dbcff477d31066a3

Transfer206463185 hrs ago

0xf9dE67fB...DD1d8fd64

IN

Living The Dream: LTD Token

0 ETH0.00007158

0x1d1116ccedf0fcb583f76699f43c312b0f3211bc01462a3906bb745d2cf4c2c2

Transfer206462815 hrs ago

Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (21) Gate.io 1

IN

Living The Dream: LTD Token

0 ETH0.00010925

0x2e222f1f94924ca2b826994af11389c9b5d15f3c2ee1f36dac8e3d09ccc07e77

Approve206462076 hrs ago

0x7252Af8F...515225269

IN

Living The Dream: LTD Token

0 ETH0.00001853

0x89602855f78a21b532466a32466dbf047e77271d2110dd3261567f6fd7dd07a5

Approve206461356 hrs ago

0x7252Af8F...515225269

IN

Living The Dream: LTD Token

0 ETH0.00001966

0xcf2f38a4ac61aff45e964e13387f2e1aa4073f3f6fca173a67e20d951b07e43d

Approve206461166 hrs ago

0x7252Af8F...515225269

IN

Living The Dream: LTD Token

0 ETH0.00001693

0x2441b91f5f34a52e1b05753f4e707ea6d8d846f64ed3cd3a2761848afdca26dd

Approve206460906 hrs ago

0x7252Af8F...515225269

IN

Living The Dream: LTD Token

0 ETH0.00001688

View all transactions

View more zero value Internal Transactions inAdvanced View mode

Advanced mode:

Loading...

Loading

  • Code
  • Read Contract
  • Write Contract

Contract Source Code Verified (Exact Match)

Contract Name:

LivingTheDream

Compiler Version

v0.8.26+commit.8a97fa7a

Optimization Enabled:

Yes with 200 runs

Other Settings:

paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (22)Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (23)IDE

  • Similar
  • Sol2Uml
  • Submit Audit
  • Compare

File 1 of 11 : LivingTheDream.sol

// SPDX-License-Identifier: Nonepragma solidity ^0.8.26;// Importing required contracts and interfaces from OpenZeppelin and Uniswapimport "@openzeppelin/contracts/token/ERC20/ERC20.sol";import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";import "@openzeppelin/contracts/access/Ownable.sol";import "@uniswap/v2-periphery/contracts/interfaces/IUniswapV2Router02.sol";import "@uniswap/v2-core/contracts/interfaces/IUniswapV2Factory.sol";// Custom errors for better error handlingerror InvalidTransfer(address from, address to);error InvalidConfiguration();error TradingNotEnabled();// Custom events for reportingevent FeesProcessed(uint256 swapTokensAtAmount);event FeesChanged(uint256 buy, uint256 sell);event SwapThresholdAdjusted(uint256 amount);event TradingStatus(bool enable);// Main contractcontract LivingTheDream is ERC20, ERC20Burnable, Ownable {// Struct for storing user information struct UserInfo { bool isFeeExempt; // If true, the user doesn't have to pay fees bool isBlacklisted; // If true, the user is blacklisted and cannot perform transactions bool isAMM; // If true, the user is an Automated Market Maker } // Maximum supply of the token uint256 public constant MAX_SUPPLY = 333_333_333_333 * 10**18; // Uniswap router and pair for dex functions IUniswapV2Router02 public immutable uniswapV2Router; address public immutable pair; // Wallet where the treasury funds are stored address payable public treasuryWallet; // If true, trading is enabled. Default is false. bool public isTradingEnabled; // Variables for swapping mechanism. Enabled/disabled and threshold amount / amount to swap. uint256 public swapping; uint256 public swapTokensAtAmount = 41666666666625 * 10**13; // 0.125% of total supply // Variables for fee mechanism. Total fee tokens current held and buy/sell fees. uint256 public totalFeeTokens; uint256 public buyFee = 10; uint256 public sellFee = 7; // Mapping to store user privlages/permissions (see struct UserInfo) mapping (address => UserInfo) public userInfo; // Ran on deployment to set up the contract. Pass in the treasury wallet and the router address. constructor( address _treasuryWallet, address _router ) ERC20("LivingTheDream", "LTD") Ownable(msg.sender) payable { // Set the Uniswap router and give it approval to spend the contract's tokens IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_router); uniswapV2Router = _uniswapV2Router; _approve(address(this), address(uniswapV2Router), type(uint256).max); // Create a Uniswap pair for the token pair = IUniswapV2Factory(_uniswapV2Router.factory()) .createPair(address(this), _uniswapV2Router.WETH()); // Set the treasury wallet to the address passed in treasuryWallet = payable(_treasuryWallet); // Set this contract as the fee exempt and set the AMM flag for the pair userInfo[address(this)].isFeeExempt = true; userInfo[pair].isAMM = true; // Mint the total supply to the owner super._update(address(0), owner(), MAX_SUPPLY); } // Internal transfer logic (run on each transfer) function _update( address from, address to, uint256 amount ) internal override { UserInfo storage sender = userInfo[from]; UserInfo storage recipient = userInfo[to]; if (sender.isBlacklisted || recipient.isBlacklisted) { revert InvalidTransfer(from, to); } if (swapping == 2 || from == owner() || to == owner() || amount == 0) { super._update(from, to, amount); return; } // Dissallow transfers if trading is not enabled. if (!isTradingEnabled) { revert TradingNotEnabled(); } // Determine if we have reached the swapping threshold and swap if we have (unless we are already swapping) if (totalFeeTokens >= swapTokensAtAmount && !sender.isAMM) { swapping = 2; swapAndSend(swapTokensAtAmount); totalFeeTokens -= swapTokensAtAmount; emit FeesProcessed(swapTokensAtAmount); swapping = 1; } // Calculate fees and update balances, assuming the sender and recipient are not fee exempt if (!sender.isFeeExempt && !recipient.isFeeExempt) { uint256 fees; if (recipient.isAMM) { //sell fees = amount * sellFee / 100; } else if (sender.isAMM) { //buy fees = amount * buyFee / 100; } if (fees != 0) { totalFeeTokens += fees; amount -= fees; super._update(from, address(this), fees); // Transfer fees } } // Transfer the remaining amount (full amount if a fee-exempt transfer) super._update(from, to, amount); } // Function to swap tokens for ETH and send them to the treasury wallet function swapAndSend(uint256 tokenAmount) internal { // Generate the Uniswap pair path of token -> weth address[] memory path = new address[](2); path[0] = address(this); path[1] = uniswapV2Router.WETH(); // Swap tokens for ETH, depositing resulting ETH to the treasury wallet uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, // accept any amount of ETH path, treasuryWallet, block.timestamp ); } // Admin function to change buy and sell fees up to 10% maximum function changeFees(uint256 buy, uint256 sell) external onlyOwner { if (buy > 10 || sell > 10) { revert InvalidConfiguration(); } buyFee = buy; sellFee = sell; emit FeesChanged(buy, sell); } // Admin function to set a single address as fee exempt function setFeeExempt(address account, bool value) public onlyOwner { userInfo[account].isFeeExempt = value; } // Admin function to set many addresses as fee exempt function setFeeExemptMany(address[] memory accounts) public onlyOwner { uint256 len = accounts.length; for (uint256 i; i < len; ++i) { userInfo[accounts[i]].isFeeExempt = true; } } // Admin function to set aa single address as blacklisted function setBlacklisted(address account, bool value) external onlyOwner { userInfo[account].isBlacklisted = value; } // Admin function to set many addresses as blacklisted function setBlacklistedMany(address[] memory accounts) external onlyOwner { uint256 len = accounts.length; for (uint256 i = 0; i < len; ++i) { userInfo[accounts[i]].isBlacklisted = true; } } // Admin function to set a single address as an AMM function setAMM(address account, bool value) external onlyOwner { userInfo[account].isAMM = value; } // Admin function to update the treasury wallet address function setTreasuryWallet(address newWallet) external onlyOwner { treasuryWallet = payable(newWallet); } // Admin function to update the swapping threshold function setSwapAtAmount(uint256 amount) external onlyOwner { swapTokensAtAmount = amount; emit SwapThresholdAdjusted(amount); } // Admin function to enable trading (no option to disable trading once enabled) function enableTrading(bool enable) external onlyOwner { isTradingEnabled = enable; emit TradingStatus(enable); } // Admin function to withdraw stuck tokens (excluding fee tokens) function withdrawStuckTokens(address token) external onlyOwner { if (token == address(this)) { super._update(address(this), _msgSender(), balanceOf(address(this)) - totalFeeTokens); } else { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, _msgSender(), IERC20(token).balanceOf(address(this)))); if (!success || (data.length != 0 && !abi.decode(data, (bool)))) { revert InvalidTransfer(address(this), _msgSender()); } } } // Public function to get the circulating supply. Subtracts tokens in the 0xdead burn address. function getCirculatingSupply() external view returns (uint256) { return totalSupply() - balanceOf(address(0xdead)); }}

File 2 of 11 : Ownable.sol

// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)pragma solidity ^0.8.20;import {Context} from "../utils/Context.sol";/** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); }}

File 3 of 11 : draft-IERC6093.sol

// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/draft-IERC6093.sol)pragma solidity ^0.8.20;/** * @dev Standard ERC20 Errors * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC20 tokens. */interface IERC20Errors { /** * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. * @param balance Current balance for the interacting account. * @param needed Minimum amount required to perform a transfer. */ error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed); /** * @dev Indicates a failure with the token `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. */ error ERC20InvalidSender(address sender); /** * @dev Indicates a failure with the token `receiver`. Used in transfers. * @param receiver Address to which tokens are being transferred. */ error ERC20InvalidReceiver(address receiver); /** * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers. * @param spender Address that may be allowed to operate on tokens without being their owner. * @param allowance Amount of tokens a `spender` is allowed to operate with. * @param needed Minimum amount required to perform a transfer. */ error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed); /** * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. * @param approver Address initiating an approval operation. */ error ERC20InvalidApprover(address approver); /** * @dev Indicates a failure with the `spender` to be approved. Used in approvals. * @param spender Address that may be allowed to operate on tokens without being their owner. */ error ERC20InvalidSpender(address spender);}/** * @dev Standard ERC721 Errors * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC721 tokens. */interface IERC721Errors { /** * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in EIP-20. * Used in balance queries. * @param owner Address of the current owner of a token. */ error ERC721InvalidOwner(address owner); /** * @dev Indicates a `tokenId` whose `owner` is the zero address. * @param tokenId Identifier number of a token. */ error ERC721NonexistentToken(uint256 tokenId); /** * @dev Indicates an error related to the ownership over a particular token. Used in transfers. * @param sender Address whose tokens are being transferred. * @param tokenId Identifier number of a token. * @param owner Address of the current owner of a token. */ error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner); /** * @dev Indicates a failure with the token `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. */ error ERC721InvalidSender(address sender); /** * @dev Indicates a failure with the token `receiver`. Used in transfers. * @param receiver Address to which tokens are being transferred. */ error ERC721InvalidReceiver(address receiver); /** * @dev Indicates a failure with the `operator`’s approval. Used in transfers. * @param operator Address that may be allowed to operate on tokens without being their owner. * @param tokenId Identifier number of a token. */ error ERC721InsufficientApproval(address operator, uint256 tokenId); /** * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. * @param approver Address initiating an approval operation. */ error ERC721InvalidApprover(address approver); /** * @dev Indicates a failure with the `operator` to be approved. Used in approvals. * @param operator Address that may be allowed to operate on tokens without being their owner. */ error ERC721InvalidOperator(address operator);}/** * @dev Standard ERC1155 Errors * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC1155 tokens. */interface IERC1155Errors { /** * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. * @param balance Current balance for the interacting account. * @param needed Minimum amount required to perform a transfer. * @param tokenId Identifier number of a token. */ error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId); /** * @dev Indicates a failure with the token `sender`. Used in transfers. * @param sender Address whose tokens are being transferred. */ error ERC1155InvalidSender(address sender); /** * @dev Indicates a failure with the token `receiver`. Used in transfers. * @param receiver Address to which tokens are being transferred. */ error ERC1155InvalidReceiver(address receiver); /** * @dev Indicates a failure with the `operator`’s approval. Used in transfers. * @param operator Address that may be allowed to operate on tokens without being their owner. * @param owner Address of the current owner of a token. */ error ERC1155MissingApprovalForAll(address operator, address owner); /** * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals. * @param approver Address initiating an approval operation. */ error ERC1155InvalidApprover(address approver); /** * @dev Indicates a failure with the `operator` to be approved. Used in approvals. * @param operator Address that may be allowed to operate on tokens without being their owner. */ error ERC1155InvalidOperator(address operator); /** * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. * Used in batch transfers. * @param idsLength Length of the array of token identifiers * @param valuesLength Length of the array of token amounts */ error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);}

File 4 of 11 : ERC20.sol

// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/ERC20.sol)pragma solidity ^0.8.20;import {IERC20} from "./IERC20.sol";import {IERC20Metadata} from "./extensions/IERC20Metadata.sol";import {Context} from "../../utils/Context.sol";import {IERC20Errors} from "../../interfaces/draft-IERC6093.sol";/** * @dev Implementation of the {IERC20} interface. * * This implementation is agnostic to the way tokens are created. This means * that a supply mechanism has to be added in a derived contract using {_mint}. * * TIP: For a detailed writeup see our guide * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How * to implement supply mechanisms]. * * The default value of {decimals} is 18. To change this, you should override * this function so it returns a different value. * * We have followed general OpenZeppelin Contracts guidelines: functions revert * instead returning `false` on failure. This behavior is nonetheless * conventional and does not conflict with the expectations of ERC20 * applications. * * Additionally, an {Approval} event is emitted on calls to {transferFrom}. * This allows applications to reconstruct the allowance for all accounts just * by listening to said events. Other implementations of the EIP may not emit * these events, as it isn't required by the specification. */abstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors { mapping(address account => uint256) private _balances; mapping(address account => mapping(address spender => uint256)) private _allowances; uint256 private _totalSupply; string private _name; string private _symbol; /** * @dev Sets the values for {name} and {symbol}. * * All two of these values are immutable: they can only be set once during * construction. */ constructor(string memory name_, string memory symbol_) { _name = name_; _symbol = symbol_; } /** * @dev Returns the name of the token. */ function name() public view virtual returns (string memory) { return _name; } /** * @dev Returns the symbol of the token, usually a shorter version of the * name. */ function symbol() public view virtual returns (string memory) { return _symbol; } /** * @dev Returns the number of decimals used to get its user representation. * For example, if `decimals` equals `2`, a balance of `505` tokens should * be displayed to a user as `5.05` (`505 / 10 ** 2`). * * Tokens usually opt for a value of 18, imitating the relationship between * Ether and Wei. This is the default value returned by this function, unless * it's overridden. * * NOTE: This information is only used for _display_ purposes: it in * no way affects any of the arithmetic of the contract, including * {IERC20-balanceOf} and {IERC20-transfer}. */ function decimals() public view virtual returns (uint8) { return 18; } /** * @dev See {IERC20-totalSupply}. */ function totalSupply() public view virtual returns (uint256) { return _totalSupply; } /** * @dev See {IERC20-balanceOf}. */ function balanceOf(address account) public view virtual returns (uint256) { return _balances[account]; } /** * @dev See {IERC20-transfer}. * * Requirements: * * - `to` cannot be the zero address. * - the caller must have a balance of at least `value`. */ function transfer(address to, uint256 value) public virtual returns (bool) { address owner = _msgSender(); _transfer(owner, to, value); return true; } /** * @dev See {IERC20-allowance}. */ function allowance(address owner, address spender) public view virtual returns (uint256) { return _allowances[owner][spender]; } /** * @dev See {IERC20-approve}. * * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on * `transferFrom`. This is semantically equivalent to an infinite approval. * * Requirements: * * - `spender` cannot be the zero address. */ function approve(address spender, uint256 value) public virtual returns (bool) { address owner = _msgSender(); _approve(owner, spender, value); return true; } /** * @dev See {IERC20-transferFrom}. * * Emits an {Approval} event indicating the updated allowance. This is not * required by the EIP. See the note at the beginning of {ERC20}. * * NOTE: Does not update the allowance if the current allowance * is the maximum `uint256`. * * Requirements: * * - `from` and `to` cannot be the zero address. * - `from` must have a balance of at least `value`. * - the caller must have allowance for ``from``'s tokens of at least * `value`. */ function transferFrom(address from, address to, uint256 value) public virtual returns (bool) { address spender = _msgSender(); _spendAllowance(from, spender, value); _transfer(from, to, value); return true; } /** * @dev Moves a `value` amount of tokens from `from` to `to`. * * This internal function is equivalent to {transfer}, and can be used to * e.g. implement automatic token fees, slashing mechanisms, etc. * * Emits a {Transfer} event. * * NOTE: This function is not virtual, {_update} should be overridden instead. */ function _transfer(address from, address to, uint256 value) internal { if (from == address(0)) { revert ERC20InvalidSender(address(0)); } if (to == address(0)) { revert ERC20InvalidReceiver(address(0)); } _update(from, to, value); } /** * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from` * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding * this function. * * Emits a {Transfer} event. */ function _update(address from, address to, uint256 value) internal virtual { if (from == address(0)) { // Overflow check required: The rest of the code assumes that totalSupply never overflows _totalSupply += value; } else { uint256 fromBalance = _balances[from]; if (fromBalance < value) { revert ERC20InsufficientBalance(from, fromBalance, value); } unchecked { // Overflow not possible: value <= fromBalance <= totalSupply. _balances[from] = fromBalance - value; } } if (to == address(0)) { unchecked { // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply. _totalSupply -= value; } } else { unchecked { // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256. _balances[to] += value; } } emit Transfer(from, to, value); } /** * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0). * Relies on the `_update` mechanism * * Emits a {Transfer} event with `from` set to the zero address. * * NOTE: This function is not virtual, {_update} should be overridden instead. */ function _mint(address account, uint256 value) internal { if (account == address(0)) { revert ERC20InvalidReceiver(address(0)); } _update(address(0), account, value); } /** * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply. * Relies on the `_update` mechanism. * * Emits a {Transfer} event with `to` set to the zero address. * * NOTE: This function is not virtual, {_update} should be overridden instead */ function _burn(address account, uint256 value) internal { if (account == address(0)) { revert ERC20InvalidSender(address(0)); } _update(account, address(0), value); } /** * @dev Sets `value` as the allowance of `spender` over the `owner` s tokens. * * This internal function is equivalent to `approve`, and can be used to * e.g. set automatic allowances for certain subsystems, etc. * * Emits an {Approval} event. * * Requirements: * * - `owner` cannot be the zero address. * - `spender` cannot be the zero address. * * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument. */ function _approve(address owner, address spender, uint256 value) internal { _approve(owner, spender, value, true); } /** * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event. * * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any * `Approval` event during `transferFrom` operations. * * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to * true using the following override: * ``` * function _approve(address owner, address spender, uint256 value, bool) internal virtual override { * super._approve(owner, spender, value, true); * } * ``` * * Requirements are the same as {_approve}. */ function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual { if (owner == address(0)) { revert ERC20InvalidApprover(address(0)); } if (spender == address(0)) { revert ERC20InvalidSpender(address(0)); } _allowances[owner][spender] = value; if (emitEvent) { emit Approval(owner, spender, value); } } /** * @dev Updates `owner` s allowance for `spender` based on spent `value`. * * Does not update the allowance value in case of infinite allowance. * Revert if not enough allowance is available. * * Does not emit an {Approval} event. */ function _spendAllowance(address owner, address spender, uint256 value) internal virtual { uint256 currentAllowance = allowance(owner, spender); if (currentAllowance != type(uint256).max) { if (currentAllowance < value) { revert ERC20InsufficientAllowance(spender, currentAllowance, value); } unchecked { _approve(owner, spender, currentAllowance - value, false); } } }}

File 5 of 11 : ERC20Burnable.sol

// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Burnable.sol)pragma solidity ^0.8.20;import {ERC20} from "../ERC20.sol";import {Context} from "../../../utils/Context.sol";/** * @dev Extension of {ERC20} that allows token holders to destroy both their own * tokens and those that they have an allowance for, in a way that can be * recognized off-chain (via event analysis). */abstract contract ERC20Burnable is Context, ERC20 { /** * @dev Destroys a `value` amount of tokens from the caller. * * See {ERC20-_burn}. */ function burn(uint256 value) public virtual { _burn(_msgSender(), value); } /** * @dev Destroys a `value` amount of tokens from `account`, deducting from * the caller's allowance. * * See {ERC20-_burn} and {ERC20-allowance}. * * Requirements: * * - the caller must have allowance for ``accounts``'s tokens of at least * `value`. */ function burnFrom(address account, uint256 value) public virtual { _spendAllowance(account, _msgSender(), value); _burn(account, value); }}

File 6 of 11 : IERC20Metadata.sol

// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/IERC20Metadata.sol)pragma solidity ^0.8.20;import {IERC20} from "../IERC20.sol";/** * @dev Interface for the optional metadata functions from the ERC20 standard. */interface IERC20Metadata is IERC20 { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8);}

File 7 of 11 : IERC20.sol

// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)pragma solidity ^0.8.20;/** * @dev Interface of the ERC20 standard as defined in the EIP. */interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the value of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the value of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves a `value` amount of tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 value) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets a `value` amount of tokens as the allowance of `spender` over the * caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 value) external returns (bool); /** * @dev Moves a `value` amount of tokens from `from` to `to` using the * allowance mechanism. `value` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 value) external returns (bool);}

File 8 of 11 : Context.sol

// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)pragma solidity ^0.8.20;/** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; }}

File 9 of 11 : IUniswapV2Factory.sol

pragma solidity >=0.5.0;interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external;}

File 10 of 11 : IUniswapV2Router01.sol

pragma solidity >=0.6.2;interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); 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);}

File 11 of 11 : IUniswapV2Router02.sol

pragma solidity >=0.6.2;import './IUniswapV2Router01.sol';interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external;}

Settings

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

Contract Security Audit

  • No Contract Security Audit Submitted- Submit Audit Here

Contract ABI

  • JSON Format
  • RAW/Text Format
[{"inputs":[{"internalType":"address","name":"_treasuryWallet","type":"address"},{"internalType":"address","name":"_router","type":"address"}],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientAllowance","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"ERC20InsufficientBalance","type":"error"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"name":"ERC20InvalidApprover","type":"error"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"name":"ERC20InvalidReceiver","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"ERC20InvalidSender","type":"error"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"name":"ERC20InvalidSpender","type":"error"},{"inputs":[],"name":"InvalidConfiguration","type":"error"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"InvalidTransfer","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"TradingNotEnabled","type":"error"},{"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":"buy","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"sell","type":"uint256"}],"name":"FeesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"FeesProcessed","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":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapThresholdAdjusted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enable","type":"bool"}],"name":"TradingStatus","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":"MAX_SUPPLY","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":"value","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":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"changeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"enable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isTradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setAMM","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setBlacklisted","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"setBlacklistedMany","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"}],"name":"setFeeExemptMany","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"setTreasuryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapping","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFeeTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"bool","name":"isFeeExempt","type":"bool"},{"internalType":"bool","name":"isBlacklisted","type":"bool"},{"internalType":"bool","name":"isAMM","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"withdrawStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Contract Creation Code

Decompile Bytecode Switch to Opcodes View

60c080604052604081612049803803809161001a82856106e2565b83398101031261041457610039602061003283610705565b9201610705565b604051916100486040846106e2565b600e83526d4c6976696e67546865447265616d60901b6020840152604051916100726040846106e2565b600383526213151160ea1b602084015283516001600160401b0381116105eb57600354600181811c911680156106d8575b60208210146105cb57601f8111610673575b50602094601f821160011461060c57948192939495600092610601575b50508160011b916000199060031b1c1916176003555b82516001600160401b0381116105eb57600454600181811c911680156105e1575b60208210146105cb57601f8111610566575b506020601f82116001146104ff57819293946000926104f4575b50508160011b916000199060031b1c1916176004555b33156104de5760058054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36b0158a899429565249c02a000600855600a80556007600b556001600160a01b031660808190529030156104c85781156104b257306000526001602052604060002082600052602052604060002060001990558160405160001981527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203092a360405163c45a015560e01b815291602083600481845afa92831561042157600093610471575b506020600491604051928380926315ab88c960e31b82525afa9081156104215760009161042d575b506040516364e329cb60e11b81523060048201526001600160a01b0391821660248201529260209184916044918391600091165af1918215610421576000926103e0575b5060a0829052600680546001600160a01b0319166001600160a01b03928316179055306000908152600c6020526040808220805460ff19166001179055928216815291909120805462ff00001916620100001790556005546002549116906c04350edef012dc12678834000081019081106103ca57600255806103a4576c04350edef012dc12678833ffff19600254016002555b60007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60206040516c04350edef012dc1267883400008152a360405161192f908161071a8239608051818181610c070152818161133c01526116c7015260a051816105ca0152f35b80600052600060205260406000206c04350edef012dc126788340000815401905561033c565b634e487b7160e01b600052601160045260246000fd5b9091506020813d602011610419575b816103fc602093836106e2565b810103126104145761040d90610705565b90386102a8565b600080fd5b3d91506103ef565b6040513d6000823e3d90fd5b90506020813d602011610469575b81610448602093836106e2565b81010312610414576000926044610460602093610705565b92505092610264565b3d915061043b565b9092506020813d6020116104aa575b8161048d602093836106e2565b810103126104145760206104a2600492610705565b93915061023c565b3d9150610480565b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b631e4fbdf760e01b600052600060045260246000fd5b015190503880610135565b601f198216906004600052806000209160005b81811061054e57509583600195969710610535575b505050811b0160045561014b565b015160001960f88460031b161c19169055388080610527565b9192602060018192868b015181550194019201610512565b60046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106105c1575b601f0160051c01905b8181106105b5575061011b565b600081556001016105a8565b909150819061059f565b634e487b7160e01b600052602260045260246000fd5b90607f1690610109565b634e487b7160e01b600052604160045260246000fd5b0151905038806100d2565b601f198216956003600052806000209160005b88811061065b57508360019596979810610642575b505050811b016003556100e8565b015160001960f88460031b161c19169055388080610634565b9192602060018192868501518155019401920161061f565b60036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106106ce575b601f0160051c01905b8181106106c257506100b5565b600081556001016106b5565b90915081906106ac565b90607f16906100a3565b601f909101601f19168101906001600160401b038211908210176105eb57604052565b51906001600160a01b03821682036104145756fe608080604052600436101561001357600080fd5b60003560e01c908163064a59d014610da75750806306fdde0314610ce8578063095ea7b314610c365780631694505e14610bf15780631732cded14610bd357806318160ddd14610bb55780631959a00214610b5c57806321ecff5b14610ad957806323b872dd14610aa15780632b112e4914610a6a5780632b14ca5614610a4c578063313ce56714610a3057806332cb6b0c14610a0857806342966c68146109eb5780634626402b146109c257806347062402146109a45780634ca8a395146109865780636402511e1461093a57806370a0823114610900578063715018a6146108a357806379cc6790146108735780638a841e53146108185780638da5cb5b146107ef5780638ebfc7961461079c57806395d89b4114610694578063a226838a1461063c578063a8602fea146105f9578063a8aa1b31146105b4578063a9059cbb14610583578063a9d3cd8a14610527578063cb9637281461036f578063d01dd6d214610315578063dd62ed3e146102c4578063e2f45605146102a6578063f275f64b1461023a5763f2fde38b146101ab57600080fd5b34610235576020366003190112610235576101c4610e13565b6101cc610f77565b6001600160a01b0316801561021f57600580546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b34610235576020366003190112610235576004358015158091036102355760207f6481faded63842e4c5bb4367bf33ac32b141cd941b0160d448a61af7a7361ff391610284610f77565b6006805460ff60a01b191660a083901b60ff60a01b16179055604051908152a1005b34610235576000366003190112610235576020600854604051908152f35b34610235576040366003190112610235576102dd610e13565b6102e5610e29565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b346102355760403660031901126102355761032e610e13565b610336610efe565b9061033f610f77565b6001600160a01b03166000908152600c60205260409020805461ff00191691151560081b61ff0016919091179055005b3461023557602036600319011261023557610388610e13565b610390610f77565b6001600160a01b0381163081036103ca5750503060005260006020526103c86103c160406000205460095490610f0d565b33306110c4565b005b6020602491604051928380926370a0823160e01b82523060048301525afa90811561051b576000916104e8575b50600091829182604051602081019263a9059cbb60e01b845233602483015260448201526044815261042a606482610e3f565b51925af13d156104e0573d9067ffffffffffffffff82116104ca576040519161045d601f8201601f191660200184610e3f565b82523d6000602084013e5b15908115610491575b5061047857005b63709ac01760e01b600052306004523360245260446000fd5b80518015159250826104a6575b505081610471565b8192509060209181010312610235576020015180159081150361023557818061049e565b634e487b7160e01b600052604160045260246000fd5b606090610468565b90506020813d602011610513575b8161050360209383610e3f565b81010312610235575160006103f7565b3d91506104f6565b6040513d6000823e3d90fd5b3461023557604036600319011261023557610540610e13565b610548610efe565b90610551610f77565b6001600160a01b03166000908152600c60205260409020805462ff0000191691151560101b62ff000016919091179055005b34610235576040366003190112610235576105a961059f610e13565b6024359033611047565b602060405160018152f35b34610235576000366003190112610235576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461023557602036600319011261023557610612610e13565b61061a610f77565b600680546001600160a01b0319166001600160a01b0392909216919091179055005b346102355761064a36610e61565b610652610f77565b805160005b81811061066057005b6001906001600160a01b036106758286610f63565b5116600052600c60205260406000208260ff1982541617905501610657565b346102355760003660031901126102355760405160006004548060011c90600181168015610792575b60208310811461077e5782855290811561075a57506001146106fa575b6106f6836106ea81850382610e3f565b60405191829182610dca565b0390f35b91905060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b916000905b808210610740575090915081016020016106ea6106da565b919260018160209254838588010152019101909291610728565b60ff191660208086019190915291151560051b840190910191506106ea90506106da565b634e487b7160e01b84526022600452602484fd5b91607f16916106bd565b34610235576040366003190112610235576107b5610e13565b6107bd610efe565b906107c6610f77565b60018060a01b0316600052600c60205260406000209060ff801983541691151516179055600080f35b34610235576000366003190112610235576005546040516001600160a01b039091168152602090f35b346102355761082636610e61565b61082e610f77565b805160005b81811061083c57005b6001906001600160a01b036108518286610f63565b5116600052600c602052604060002061010061ff001982541617905501610833565b34610235576040366003190112610235576103c861088f610e13565b6024359061089e823383610fa0565b61109e565b34610235576000366003190112610235576108bc610f77565b600580546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610235576020366003190112610235576001600160a01b03610921610e13565b1660005260006020526020604060002054604051908152f35b34610235576020366003190112610235577f8b5be6593b6b1ccd9b0e1ddb4b27e30993aa0f0cbe03b614493bf2cd48796ed06020600435610979610f77565b80600855604051908152a1005b34610235576000366003190112610235576020600954604051908152f35b34610235576000366003190112610235576020600a54604051908152f35b34610235576000366003190112610235576006546040516001600160a01b039091168152602090f35b34610235576020366003190112610235576103c86004353361109e565b346102355760003660031901126102355760206040516c04350edef012dc1267883400008152f35b3461023557600036600319011261023557602060405160128152f35b34610235576000366003190112610235576020600b54604051908152f35b34610235576000366003190112610235576020610a9960025461dead6000526000835260406000205490610f0d565b604051908152f35b34610235576060366003190112610235576105a9610abd610e13565b610ac5610e29565b60443591610ad4833383610fa0565b611047565b3461023557604036600319011261023557600435602435610af8610f77565b600a82118015610b52575b610b4157816040917f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd06893600a5580600b5582519182526020820152a1005b63c52a9bd360e01b60005260046000fd5b50600a8111610b03565b34610235576020366003190112610235576001600160a01b03610b7d610e13565b16600052600c602052606060406000205460ff6040519181811615158352818160081c161515602084015260101c1615156040820152f35b34610235576000366003190112610235576020600254604051908152f35b34610235576000366003190112610235576020600754604051908152f35b34610235576000366003190112610235576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b3461023557604036600319011261023557610c4f610e13565b602435903315610cd2576001600160a01b0316908115610cbc57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b346102355760003660031901126102355760405160006003548060011c90600181168015610d9d575b60208310811461077e5782855290811561075a5750600114610d3d576106f6836106ea81850382610e3f565b91905060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b916000905b808210610d83575090915081016020016106ea6106da565b919260018160209254838588010152019101909291610d6b565b91607f1691610d11565b346102355760003660031901126102355760209060ff60065460a01c1615158152f35b91909160208152825180602083015260005b818110610dfd575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610ddc565b600435906001600160a01b038216820361023557565b602435906001600160a01b038216820361023557565b90601f8019910116810190811067ffffffffffffffff8211176104ca57604052565b6020600319820112610235576004359067ffffffffffffffff821161023557806023830112156102355781600401359067ffffffffffffffff82116104ca5760208260051b0192610eb56040519485610e3f565b8284526024602085019360051b82010191821161023557602401915b818310610ede5750505090565b82356001600160a01b038116810361023557815260209283019201610ed1565b60243590811515820361023557565b91908203918211610f1a57565b634e487b7160e01b600052601160045260246000fd5b805115610f3d5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015610f3d5760400190565b8051821015610f3d5760209160051b010190565b6005546001600160a01b03163303610f8b57565b63118cdaa760e01b6000523360045260246000fd5b6001600160a01b0390811660008181526001602081815260408084209587168452949052929020549392918401610fd8575b50505050565b828410611022578015610cd2576001600160a01b03821615610cbc57600052600160205260406000209060018060a01b031660005260205260406000209103905538808080610fd2565b508290637dc7a0d960e11b60005260018060a01b031660045260245260445260646000fd5b91906001600160a01b03831615611088576001600160a01b03811615611072576110709261156d565b565b63ec442f0560e01b600052600060045260246000fd5b634b637e8f60e11b600052600060045260246000fd5b906001600160a01b0382161561108857611070916111c0565b91908201809211610f1a57565b6001600160a01b031690816111405760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91611103856002546110b7565b6002555b6001600160a01b031693846111285780600254036002555b604051908152a3565b8460005260008252604060002081815401905561111f565b816000526000602052604060002054838110611190577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9184602092856000526000845203604060002055611107565b91905063391434e360e21b60005260045260245260445260646000fd5b81810292918115918404141715610f1a57565b6001600160a01b0381166000818152600c6020526040812081805280549095949391927f13649b2456f1b42fef0f0040b3aaeabcd21a76a0f3f5defd4f583839455116e89160081c60ff16801561155f575b61154857600260075414908115611533575b508015611520575b8015611518575b61150c576006549560ff8760a01c16156114fd5760095460085480911015806114ee575b611300575b506110709596505460ff811615806112f4575b61127b575b50506110c4565b60ff84925460101c166000146112d4575050606461129b600b54856111ad565b045b806112a9575b80611274565b926112c6846112ce926112be826009546110b7565b600955610f0d565b9330836110c4565b386112a3565b60101c60ff161561129d575060646112ee600a54856111ad565b0461129d565b5060ff8254161561126f565b60026007556040519761131460608a610e3f565b60028952602089019060403683373061132c8b610f30565b526040516315ab88c960e31b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390602081600481885afa9081156114e357899161149d575b506113878c610f53565b6001600160a01b039091169052833b156114995799918793916040519b8c9463791ac94760e01b865260a4860191600487015286602487015260a060448701525180915260c485019290865b818110611474575050506001600160a01b0316606484015242608484015282900390829084905af1968715611469576110709697611455575b507fd9cfd3c17aa5eead9ffc8208c88b064edcb903b0ec624c5e83df13761d6c9340602060085461143f81600954610f0d565b600955604051908152a16001600755869561125c565b8461146291959295610e3f565b923861140c565b6040513d86823e3d90fd5b82516001600160a01b031685528b97508e9650602094850194909201916001016113d3565b8780fd5b90506020813d6020116114db575b816114b860209383610e3f565b810103126114d757516001600160a01b03811681036114d7573861137d565b8880fd5b3d91506114ab565b6040513d8b823e3d90fd5b5060ff825460101c1615611257565b6312f1f92360e01b8452600484fd5b506110709394506110c4565b508315611233565b506005546001600160a01b03161561122c565b6005546001600160a01b031614905038611224565b63709ac01760e01b84526004526024839052604483fd5b5060ff825460081c16611212565b6001600160a01b038082166000818152600c602052604080822093861680835290822084549498979695949093919060081c60ff1680156118eb575b6118d5576002600754149182156118c0575b5081156118ab575b5080156118a3575b611896576006549660ff8860a01c1615611887576009546008548091101580611878575b611688575b50611070969750549060ff8216158061167c575b611615575b5050506110c4565b915460101c60ff161561165c5750506064611632600b54856111ad565b045b80611641575b808061160d565b926112c684611656926112be826009546110b7565b3861163a565b60101c60ff161561163457506064611676600a54856111ad565b04611634565b5060ff83541615611608565b60026007939293556040519861169f60608b610e3f565b60028a5260208a01906040368337306116b78c610f30565b526040516315ab88c960e31b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169390602081600481885afa90811561186d578691611827575b506117128d610f53565b6001600160a01b039091169052833b15611823579a918493916040519c8d9463791ac94760e01b865260a4860191600487015286602487015260a060448701525180915260c485019290865b8181106117fe575050506001600160a01b0316606484015242608484015282900390829084905af19788156117f15761107097986117e1575b50907fd9cfd3c17aa5eead9ffc8208c88b064edcb903b0ec624c5e83df13761d6c934060206008546117cb81600954610f0d565b600955604051908152a1600160075587966115f4565b816117eb91610e3f565b38611797565b50604051903d90823e3d90fd5b82516001600160a01b031685528897508f96506020948501949092019160010161175e565b8480fd5b90506020813d602011611865575b8161184260209383610e3f565b8101031261186157516001600160a01b03811681036118615738611708565b8580fd5b3d9150611835565b6040513d88823e3d90fd5b5060ff825460101c16156115ef565b6312f1f92360e01b8252600482fd5b50506110709394506110c4565b5084156115cb565b6005546001600160a01b0316149050386115c3565b6005546001600160a01b0316149150386115bb565b6044929163709ac01760e01b8352600452602452fd5b5060ff845460081c166115a956fea2646970667358221220c84b2fce6368333d8bad7f3e597260b5cca418e42044877542ba5046b6458ea164736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


Deployed Bytecode

0x608080604052600436101561001357600080fd5b60003560e01c908163064a59d014610da75750806306fdde0314610ce8578063095ea7b314610c365780631694505e14610bf15780631732cded14610bd357806318160ddd14610bb55780631959a00214610b5c57806321ecff5b14610ad957806323b872dd14610aa15780632b112e4914610a6a5780632b14ca5614610a4c578063313ce56714610a3057806332cb6b0c14610a0857806342966c68146109eb5780634626402b146109c257806347062402146109a45780634ca8a395146109865780636402511e1461093a57806370a0823114610900578063715018a6146108a357806379cc6790146108735780638a841e53146108185780638da5cb5b146107ef5780638ebfc7961461079c57806395d89b4114610694578063a226838a1461063c578063a8602fea146105f9578063a8aa1b31146105b4578063a9059cbb14610583578063a9d3cd8a14610527578063cb9637281461036f578063d01dd6d214610315578063dd62ed3e146102c4578063e2f45605146102a6578063f275f64b1461023a5763f2fde38b146101ab57600080fd5b34610235576020366003190112610235576101c4610e13565b6101cc610f77565b6001600160a01b0316801561021f57600580546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b34610235576020366003190112610235576004358015158091036102355760207f6481faded63842e4c5bb4367bf33ac32b141cd941b0160d448a61af7a7361ff391610284610f77565b6006805460ff60a01b191660a083901b60ff60a01b16179055604051908152a1005b34610235576000366003190112610235576020600854604051908152f35b34610235576040366003190112610235576102dd610e13565b6102e5610e29565b6001600160a01b039182166000908152600160209081526040808320949093168252928352819020549051908152f35b346102355760403660031901126102355761032e610e13565b610336610efe565b9061033f610f77565b6001600160a01b03166000908152600c60205260409020805461ff00191691151560081b61ff0016919091179055005b3461023557602036600319011261023557610388610e13565b610390610f77565b6001600160a01b0381163081036103ca5750503060005260006020526103c86103c160406000205460095490610f0d565b33306110c4565b005b6020602491604051928380926370a0823160e01b82523060048301525afa90811561051b576000916104e8575b50600091829182604051602081019263a9059cbb60e01b845233602483015260448201526044815261042a606482610e3f565b51925af13d156104e0573d9067ffffffffffffffff82116104ca576040519161045d601f8201601f191660200184610e3f565b82523d6000602084013e5b15908115610491575b5061047857005b63709ac01760e01b600052306004523360245260446000fd5b80518015159250826104a6575b505081610471565b8192509060209181010312610235576020015180159081150361023557818061049e565b634e487b7160e01b600052604160045260246000fd5b606090610468565b90506020813d602011610513575b8161050360209383610e3f565b81010312610235575160006103f7565b3d91506104f6565b6040513d6000823e3d90fd5b3461023557604036600319011261023557610540610e13565b610548610efe565b90610551610f77565b6001600160a01b03166000908152600c60205260409020805462ff0000191691151560101b62ff000016919091179055005b34610235576040366003190112610235576105a961059f610e13565b6024359033611047565b602060405160018152f35b34610235576000366003190112610235576040517f0000000000000000000000007cbacdee3d1f0306a2282985c2e371f1500104ec6001600160a01b03168152602090f35b3461023557602036600319011261023557610612610e13565b61061a610f77565b600680546001600160a01b0319166001600160a01b0392909216919091179055005b346102355761064a36610e61565b610652610f77565b805160005b81811061066057005b6001906001600160a01b036106758286610f63565b5116600052600c60205260406000208260ff1982541617905501610657565b346102355760003660031901126102355760405160006004548060011c90600181168015610792575b60208310811461077e5782855290811561075a57506001146106fa575b6106f6836106ea81850382610e3f565b60405191829182610dca565b0390f35b91905060046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b916000905b808210610740575090915081016020016106ea6106da565b919260018160209254838588010152019101909291610728565b60ff191660208086019190915291151560051b840190910191506106ea90506106da565b634e487b7160e01b84526022600452602484fd5b91607f16916106bd565b34610235576040366003190112610235576107b5610e13565b6107bd610efe565b906107c6610f77565b60018060a01b0316600052600c60205260406000209060ff801983541691151516179055600080f35b34610235576000366003190112610235576005546040516001600160a01b039091168152602090f35b346102355761082636610e61565b61082e610f77565b805160005b81811061083c57005b6001906001600160a01b036108518286610f63565b5116600052600c602052604060002061010061ff001982541617905501610833565b34610235576040366003190112610235576103c861088f610e13565b6024359061089e823383610fa0565b61109e565b34610235576000366003190112610235576108bc610f77565b600580546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610235576020366003190112610235576001600160a01b03610921610e13565b1660005260006020526020604060002054604051908152f35b34610235576020366003190112610235577f8b5be6593b6b1ccd9b0e1ddb4b27e30993aa0f0cbe03b614493bf2cd48796ed06020600435610979610f77565b80600855604051908152a1005b34610235576000366003190112610235576020600954604051908152f35b34610235576000366003190112610235576020600a54604051908152f35b34610235576000366003190112610235576006546040516001600160a01b039091168152602090f35b34610235576020366003190112610235576103c86004353361109e565b346102355760003660031901126102355760206040516c04350edef012dc1267883400008152f35b3461023557600036600319011261023557602060405160128152f35b34610235576000366003190112610235576020600b54604051908152f35b34610235576000366003190112610235576020610a9960025461dead6000526000835260406000205490610f0d565b604051908152f35b34610235576060366003190112610235576105a9610abd610e13565b610ac5610e29565b60443591610ad4833383610fa0565b611047565b3461023557604036600319011261023557600435602435610af8610f77565b600a82118015610b52575b610b4157816040917f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd06893600a5580600b5582519182526020820152a1005b63c52a9bd360e01b60005260046000fd5b50600a8111610b03565b34610235576020366003190112610235576001600160a01b03610b7d610e13565b16600052600c602052606060406000205460ff6040519181811615158352818160081c161515602084015260101c1615156040820152f35b34610235576000366003190112610235576020600254604051908152f35b34610235576000366003190112610235576020600754604051908152f35b34610235576000366003190112610235576040517f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03168152602090f35b3461023557604036600319011261023557610c4f610e13565b602435903315610cd2576001600160a01b0316908115610cbc57336000526001602052604060002082600052602052806040600020556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b634a1406b160e11b600052600060045260246000fd5b63e602df0560e01b600052600060045260246000fd5b346102355760003660031901126102355760405160006003548060011c90600181168015610d9d575b60208310811461077e5782855290811561075a5750600114610d3d576106f6836106ea81850382610e3f565b91905060036000527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b916000905b808210610d83575090915081016020016106ea6106da565b919260018160209254838588010152019101909291610d6b565b91607f1691610d11565b346102355760003660031901126102355760209060ff60065460a01c1615158152f35b91909160208152825180602083015260005b818110610dfd575060409293506000838284010152601f8019910116010190565b8060208092870101516040828601015201610ddc565b600435906001600160a01b038216820361023557565b602435906001600160a01b038216820361023557565b90601f8019910116810190811067ffffffffffffffff8211176104ca57604052565b6020600319820112610235576004359067ffffffffffffffff821161023557806023830112156102355781600401359067ffffffffffffffff82116104ca5760208260051b0192610eb56040519485610e3f565b8284526024602085019360051b82010191821161023557602401915b818310610ede5750505090565b82356001600160a01b038116810361023557815260209283019201610ed1565b60243590811515820361023557565b91908203918211610f1a57565b634e487b7160e01b600052601160045260246000fd5b805115610f3d5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015610f3d5760400190565b8051821015610f3d5760209160051b010190565b6005546001600160a01b03163303610f8b57565b63118cdaa760e01b6000523360045260246000fd5b6001600160a01b0390811660008181526001602081815260408084209587168452949052929020549392918401610fd8575b50505050565b828410611022578015610cd2576001600160a01b03821615610cbc57600052600160205260406000209060018060a01b031660005260205260406000209103905538808080610fd2565b508290637dc7a0d960e11b60005260018060a01b031660045260245260445260646000fd5b91906001600160a01b03831615611088576001600160a01b03811615611072576110709261156d565b565b63ec442f0560e01b600052600060045260246000fd5b634b637e8f60e11b600052600060045260246000fd5b906001600160a01b0382161561108857611070916111c0565b91908201809211610f1a57565b6001600160a01b031690816111405760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91611103856002546110b7565b6002555b6001600160a01b031693846111285780600254036002555b604051908152a3565b8460005260008252604060002081815401905561111f565b816000526000602052604060002054838110611190577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9184602092856000526000845203604060002055611107565b91905063391434e360e21b60005260045260245260445260646000fd5b81810292918115918404141715610f1a57565b6001600160a01b0381166000818152600c6020526040812081805280549095949391927f13649b2456f1b42fef0f0040b3aaeabcd21a76a0f3f5defd4f583839455116e89160081c60ff16801561155f575b61154857600260075414908115611533575b508015611520575b8015611518575b61150c576006549560ff8760a01c16156114fd5760095460085480911015806114ee575b611300575b506110709596505460ff811615806112f4575b61127b575b50506110c4565b60ff84925460101c166000146112d4575050606461129b600b54856111ad565b045b806112a9575b80611274565b926112c6846112ce926112be826009546110b7565b600955610f0d565b9330836110c4565b386112a3565b60101c60ff161561129d575060646112ee600a54856111ad565b0461129d565b5060ff8254161561126f565b60026007556040519761131460608a610e3f565b60028952602089019060403683373061132c8b610f30565b526040516315ab88c960e31b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03169390602081600481885afa9081156114e357899161149d575b506113878c610f53565b6001600160a01b039091169052833b156114995799918793916040519b8c9463791ac94760e01b865260a4860191600487015286602487015260a060448701525180915260c485019290865b818110611474575050506001600160a01b0316606484015242608484015282900390829084905af1968715611469576110709697611455575b507fd9cfd3c17aa5eead9ffc8208c88b064edcb903b0ec624c5e83df13761d6c9340602060085461143f81600954610f0d565b600955604051908152a16001600755869561125c565b8461146291959295610e3f565b923861140c565b6040513d86823e3d90fd5b82516001600160a01b031685528b97508e9650602094850194909201916001016113d3565b8780fd5b90506020813d6020116114db575b816114b860209383610e3f565b810103126114d757516001600160a01b03811681036114d7573861137d565b8880fd5b3d91506114ab565b6040513d8b823e3d90fd5b5060ff825460101c1615611257565b6312f1f92360e01b8452600484fd5b506110709394506110c4565b508315611233565b506005546001600160a01b03161561122c565b6005546001600160a01b031614905038611224565b63709ac01760e01b84526004526024839052604483fd5b5060ff825460081c16611212565b6001600160a01b038082166000818152600c602052604080822093861680835290822084549498979695949093919060081c60ff1680156118eb575b6118d5576002600754149182156118c0575b5081156118ab575b5080156118a3575b611896576006549660ff8860a01c1615611887576009546008548091101580611878575b611688575b50611070969750549060ff8216158061167c575b611615575b5050506110c4565b915460101c60ff161561165c5750506064611632600b54856111ad565b045b80611641575b808061160d565b926112c684611656926112be826009546110b7565b3861163a565b60101c60ff161561163457506064611676600a54856111ad565b04611634565b5060ff83541615611608565b60026007939293556040519861169f60608b610e3f565b60028a5260208a01906040368337306116b78c610f30565b526040516315ab88c960e31b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b03169390602081600481885afa90811561186d578691611827575b506117128d610f53565b6001600160a01b039091169052833b15611823579a918493916040519c8d9463791ac94760e01b865260a4860191600487015286602487015260a060448701525180915260c485019290865b8181106117fe575050506001600160a01b0316606484015242608484015282900390829084905af19788156117f15761107097986117e1575b50907fd9cfd3c17aa5eead9ffc8208c88b064edcb903b0ec624c5e83df13761d6c934060206008546117cb81600954610f0d565b600955604051908152a1600160075587966115f4565b816117eb91610e3f565b38611797565b50604051903d90823e3d90fd5b82516001600160a01b031685528897508f96506020948501949092019160010161175e565b8480fd5b90506020813d602011611865575b8161184260209383610e3f565b8101031261186157516001600160a01b03811681036118615738611708565b8580fd5b3d9150611835565b6040513d88823e3d90fd5b5060ff825460101c16156115ef565b6312f1f92360e01b8252600482fd5b50506110709394506110c4565b5084156115cb565b6005546001600160a01b0316149050386115c3565b6005546001600160a01b0316149150386115bb565b6044929163709ac01760e01b8352600452602452fd5b5060ff845460081c166115a956fea2646970667358221220c84b2fce6368333d8bad7f3e597260b5cca418e42044877542ba5046b6458ea164736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000000000000000000000000000000000000000000000000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d

-----Decoded View---------------
Arg [0] : _treasuryWallet (address): 0x0000000000000000000000000000000000000000
Arg [1] : _router (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [1] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d


BlockTransactionDifficultyGas UsedReward

View All Blocks Produced

BlockUncle NumberDifficultyGas UsedReward

View All Uncles

Loading...

Loading

Loading...

Loading

OVERVIEW

Living the Dream ($LTD) is a decentralized ad platform connecting Web2 and Web3. It offers precise ad management, community governance, and strong Shib Dream community ties, supporting ad operations across traditional and blockchain ecosystems.

    Validator IndexBlockAmount

    View All Withdrawals

    Transaction HashBlockValueEth2 PubKeyValid

    View All Deposits

    Multichain Portfolio | 26 Chains

    Display all chains

    Last updated: less than 1 sec ago

    Ethereum (1)$628 (100%)
    BNB Chain (0)0 (0%)
    Polygon (0)0 (0%)
    Arbitrum One (0)0 (0%)
    Optimism (0)0 (0%)
    Base (0)0 (0%)
    BTTC (0)0 (0%)
    Celo (0)0 (0%)
    Fantom (0)0 (0%)
    Gnosis (0)0 (0%)
    Polygon zkEVM (0)0 (0%)
    Kroma (0)0 (0%)
    Linea (0)0 (0%)
    Moonbeam (0)0 (0%)
    Moonriver (0)0 (0%)
    Arbitrum Nova (0)0 (0%)
    Scroll (0)0 (0%)
    Wemix (0)0 (0%)
    Avax C-Chain (0)0 (0%)
    zkSync Era (0)0 (0%)
    opBNB (0)0 (0%)
    Fraxtal (0)0 (0%)
    Blast (0)0 (0%)
    Cronos (0)0 (0%)
    Mantle (0)0 (0%)
    Taiko (0)0 (0%)

    Show 25 more chains Hide 25 chains

    ChainTokenPortfolio %PriceAmountValue
    ETH

    Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (27)

    LivingTheDream (LTD)

    100.00%$0.0000231,672,670.8172$628.24

    Loading...

    Loading

    [Download: CSV Export ]

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

    Address QR Code
    My Address - Private Name Tag or Note

    My Name Tag:

    Private Name Tags (up to 35 characters) can be used for easy identification of addresses

    Private Note:

    A private note (up to 500 characters) can be attached to this address.
    Please DO NOT store any passwords or private keys here.

    View all Private Name Tags

    Connect a Wallet
    Connect a Wallet
    Connect a Wallet
    Address Cards

    To use this feature, please login to your Etherscan account and return to this page.

    Before You Copy

    `; } let ensZeroWidthWarningHtml = ""; if ($("#hdnIsEnsContainZeroWidthChars").val() == "true") { ensZeroWidthWarningHtml = `

    ${zeroWidthWarningMessage} Check the actual text at ENS.

    `; } const contentHtml = `
    Additional Info
    Full Name:

    Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (28)

    Note:
    • Name tag is displayed due to forward and reverse resolution. Find out more.
    • A Domain Name is not necessarily held by a person popularly associated with the name.

    ${ensUnicodeWarningHtml} ${ensZeroWidthWarningHtml}

    `; $('#ensName').popover({ html: true, content: contentHtml, trigger: 'manual' }); $('#ensName').click(function (event) { $("#ensName").popover('toggle'); event.stopPropagation(); }); $('#ensName').on('shown.bs.popover', async () => { //disable tooltip when hovering over ens name in the main page $("[rel='tooltipEns']").each(function () { $(this).tooltip('hide'); $(this).tooltip('disable'); }); //call ajax here to get result if (!otherENSNamesHtml) { const resolvedAddressesModel = await getEnsResolvedAddress($("#hdnAddress").val(), $("#hdnEnsText").val()); otherENSNamesHtml = generateEnsPopoverGrid(resolvedAddressesModel.d); if (!otherENSNamesHtml) { otherENSNamesHtml = "There are no other names resolving to this address." } } $(".popOverEnsOwnedAddressTable").html(otherENSNamesHtml); $("#divENSDisplayName").html(ensDisplayName); $("[data-bs-toggle='tooltip']").tooltip(); }); $('#ensName').on('hidden.bs.popover', () => { $("[rel='tooltipEns']").each(function () { $(this).tooltip('enable'); }); }); $('#ensName').on('hide.bs.popover', () => { $("[data-bs-toggle='tooltip']").tooltip('hide'); }); $(document).click(function () { $("#ensName").popover('hide'); }) } async function getEnsResolvedAddress(address, currentEnsText) { try { const requestModel = { "lookupAddress": address, "primaryDomainName": currentEnsText, "provider": "ENS" }; const response = await $.ajax({ url: "/name-lookup-search.aspx/GetOtherDomainNameForAddress", type: "POST", contentType: "application/json", dataType: "json", data: JSON.stringify({ requestModel: requestModel }) }) return response; } catch { return ""; } } function generateEnsPopoverGrid(model) { if (!model || model.DomainNames.length == 0) { return ""; } let listOtherENSNames = ""; model.DomainNames.forEach(x => listOtherENSNames += x.Name); let moreOtherENSNames = ""; if (model.Total > 5) { moreOtherENSNames = `More ` } const result = `
    Other names resolving to this address:

    ${listOtherENSNames} ${moreOtherENSNames}

    `; return result; } // ===== end ENS name tag var adjustPosition = 0; $(document).ready(function () { switchAmountToValue(document.getElementById("headerAmountValue"), 'Value (USD)', 'Amount', true); switchAmountToValue(document.getElementById("headerIntAmountValue"), 'Value (USD)', 'Amount', true); onDocumentReady(); $("[rel='tooltip']").tooltip(); $("[data-bs-toggle-second='tooltip']").tooltip({ trigger: 'hover' }); $("[rel='tooltipEns']").each(function () { $(this).tooltip({ title: $(this).attr("tooltip-title") }); }); //if (hash != '') { // activaTab(hash); //}; onAddressDocReady(); //// Note: this is causing "Copied" tooltip not showing when copy button is clicked in V3, and seems like not applicable to v3, comment out first in case there is issue //$('[data-bs-toggle="tooltip"]').click(function () { // $('[data-bs-toggle="tooltip"]').tooltip("hide"); //}); document.getElementById("copyaddressbutton").classList.remove("disabled"); if ($("#txtSearchContract").length) { initialiseKeyupOnDocReady(); } if (!!$('#ensName')[0]) { initEnsNamePopOver(); } handleToggle(); $("#btnLoginRequired").attr("href", "/login?ref=" + window.location.pathname.slice(1)); if (window.matchMedia("(max-width: 767px)").matches) { // Mobile adjustPosition = 90; } else { // Others adjustPosition = 50; } }); function displayAudit() { $('html, body').animate({ scrollTop: $("#auditReportId").offset().top - adjustPosition }); } function handleToggle() { var className = document.getElementsByClassName('editor'); var classNameCount = className.length; for (var j = 0; j < classNameCount; j++) { var editorSearch = ace.edit(className[j].id); if (getCookie('displaymode') === 'light' || themeMode === 'light') { editorSearch.setTheme('ace/theme/dawn'); } else if (getCookie('displaymode') === 'dim' || themeMode === 'dim') { editorSearch.setTheme('ace/theme/tomorrow_night_blue'); } else if (getCookie('displaymode') === 'dark' || themeMode === 'dark') { editorSearch.setTheme('ace/theme/tomorrow_night'); } if (editorSearch.session.getLength() < parseInt(MaxLines)) { var x = className[j].id.replace("editor", ""); if (x.trim() !== "") { $("#panel-sourcecode_" + x).hide(); } } } if ($('#panel-sourcecode').length) { var editorSetting = ace.edit("editor"); if (editorSetting.session.getLength() < parseInt(MaxLines)) { $("#panel-sourcecode").hide(); } } } // Bootstrap Dropdown in Table Responsive $('.table-responsive').on('shown.bs.dropdown', function (e) { var t = $(this), m = $(e.target).find('.dropdown-menu'), tb = t.offset().top + t.height(), mb = m.offset().top + m.outerHeight(true), d = 20; // Space for shadow + scrollbar. if (t[0].scrollWidth > t.innerWidth()) { if (mb + d > tb) { t.css('padding-bottom', ((mb + d) - tb)); } } else { t.css('overflow', 'visible'); } }).on('hidden.bs.dropdown', function () { $(this).css({ 'padding-bottom': '', 'overflow': '' }); }); var btn_ERC20_sort = { count: 0, reminder_count: 2, list: [], default_list: [], ERC20_sort_start: function (count) { if (document.getElementsByClassName('list-custom-divider-ERC20')[0]) { var self = this if (count != undefined) { self.count = count } var before_el = document.getElementsByClassName('list-custom-divider-ERC20')[0] var parent_el = before_el.parentNode var element_selector = parent_el.querySelectorAll(".list-custom-ERC20"); if (self.list.length == 0) { element_selector.forEach(function (e) { self.list.push(e); self.default_list.push(e); }); } $(".list-custom-ERC20").remove() var type = self.count % self.reminder_count self.sortList(type, parent_el, before_el); self.count++ } }, sortList: function (type, parent_el, before_el) { var self = this var sorted_list = [] var icon_el = $(before_el).find('button').find('i') switch (type) { case 1: icon_el.attr("class", "fad fa-sort-up") sorted_list = self.sortUsdAsc() break; default: icon_el.attr("class", "fad fa-sort-down") sorted_list = self.sortUsdDesc() } for (var i = sorted_list.length - 1; i >= 0; i--) { before_el.insertAdjacentElement('afterend', sorted_list[i]) } }, sortUsdAsc: function () { var self = this var sort_list = self.list sort_list.sort(function (a, b) { var target_a_value = self.formatCurrencyToNumber(a.querySelector('.list-usd-value').textContent.trim() || -1); var target_b_value = self.formatCurrencyToNumber(b.querySelector('.list-usd-value').textContent.trim() || -1); if (target_a_value == -1 || target_b_value == -1) { return 1; } if (target_a_value < target_b_value) { return -1; } if (target_a_value > target_b_value) { return 1; } return 0 }); return sort_list }, sortUsdDesc: function () { var self = this var sort_list = self.list sort_list.sort(function (a, b) { var target_a_value = self.formatCurrencyToNumber(a.querySelector('.list-usd-value').textContent.trim() || -1); var target_b_value = self.formatCurrencyToNumber(b.querySelector('.list-usd-value').textContent.trim() || -1); if (target_a_value < target_b_value) { return 1; } if (target_a_value > target_b_value) { return -1; } return 0 }); return sort_list }, formatCurrencyToNumber: function (strCurrency) { if (typeof strCurrency == "number") return strCurrency else return Number(strCurrency.replace(/[^0-9.-]+/g, "")); }, } $("#btn_ERC20_sort").on("click", function (event) { event.preventDefault(); setTimeout(function () { btn_ERC20_sort.ERC20_sort_start() }, 10) }) function hrefTokenHolding() { var location = "/tokenholdings?a=0x1FdB29Ad49330B07aE5a87483F598AA6b292039E" var queryString = $("input.form-control.form-control-xs.search.mb-3")[0].value if (queryString) { location += "&q=" + queryString } window.location.href = location } function toggleLoginModal() { $('#loginRequiredModal').modal('toggle'); }
    Living The Dream: LTD Token | Address 0x1FdB29Ad49330B07aE5a87483F598AA6b292039E | Etherscan (2024)

    References

    Top Articles
    Sam’s Club Gas Hours (Full Guide)    | RV and Playa
    Sam’s Club Gas (Price, Hours, Open, Quality, Discount, Diesel Locations) - Frugal Living - Lifestyle Blog
    Evil Dead Rise Review - IGN
    Dive Bars With Pool Tables Near Me
    Jay Cutler of NFL Biography, Wife, Career Stats, Net Worth &amp; Salary
    Can ETH reach 10k in 2024?
    LOVEBIRDS - Fly Babies Aviary
    Jeff Liebler Wife
    Sarah Lindstrom Telegram
    Craig Woolard Net Worth
    Look Who Got Busted Gregg County
    Solarmovies.ma
    8 Casablanca Restaurants You’ll Want to Fly For | Will Fly for Food
    Craigslist Indpls Free
    The First 10 Years, Leslie Bricusse - Qobuz
    Atl To London Google Flights
    Best 2 Player Tycoons To Play With Friends in Roblox
    Robert Rushing Net Worth, Daughter, Age, and Wikipedia
    2503 South Tacoma Way
    Genova Nail Spa Pearland Photos
    Naval Academy Baseball Roster
    Kristian Andersen | Scripps Research
    Broyhill Gazebo Instructions
    SF bay area cars & trucks "chevrolet 50" - craigslist
    Cal Poly 2027 College Confidential
    Zmanim 10977
    인민 을 위해 복무하라 다시보기
    Ts Central Nj
    Camwhor*s Bypass 2022
    Papamurphys Near Me
    Black Adam Showtimes Near Cinergy Amarillo
    Riverwood Family Services
    Mula Pelada
    Apex Item Store.com
    Bj 사슴이 분수
    9 best hotels in Atlanta to check out in 2023 - The Points Guy
    Dumb Money Showtimes Near Cinemark Century Mountain View 16
    Where does the Flying Pig come from? - EDC :: Engineering Design Center
    Exclaimer | Office 365, Exchange & G Suite Email Software
    Cashtapp Atm Near Me
    Monte Carlo Poker Club Coin Pusher
    Pensacola Tattoo Studio 2 Reviews
    Craigslist Ct Bridgeport
    GW2 Fractured update patch notes 26th Nov 2013
    Yuba Sutter Craigslist Free Stuff
    Warranty Killer Performance Reviews
    2015 | Ducati 1299 Panigale S Test
    Left Periprosthetic Femur Fracture Icd 10
    Marquette Gas Prices
    22 alternatieve zoekmachines om nu te gebruiken
    Santa Rosa Craigslist Free Stuff
    my Control Vitality Female Support Complex (10 ml)
    Latest Posts
    Article information

    Author: Chrissy Homenick

    Last Updated:

    Views: 5867

    Rating: 4.3 / 5 (74 voted)

    Reviews: 81% of readers found this page helpful

    Author information

    Name: Chrissy Homenick

    Birthday: 2001-10-22

    Address: 611 Kuhn Oval, Feltonbury, NY 02783-3818

    Phone: +96619177651654

    Job: Mining Representative

    Hobby: amateur radio, Sculling, Knife making, Gardening, Watching movies, Gunsmithing, Video gaming

    Introduction: My name is Chrissy Homenick, I am a tender, funny, determined, tender, glorious, fancy, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.