// SPDX-License-Identifier: MIT // ___ // __/_ `. .-"""-. // \_,` | \-' / )`-') // "") `"` \ ((`"` // ___Y , .'7 /| // (_,___/...-` (_/_/ // x.com/kimboavax // Kimbo , like the espresso! // $KIMBO is a meme coin with no intrinsic value or expectation of financial return. There is no formal team or roadmap. The coin is completely useless and for entertainment purposes only. pragma solidity ^0.8.20; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract KimboToken is ERC20, Ownable(msg.sender) { // Added state variable for lubrication - gently does it! // Lubrication prevents any wallet receiving more than 1% of Kimbo in the opening days. bool public lubricating = true; address public liquidityPool; // Mint the totalSupply to the deployer constructor() ERC20("Kimbo", "KIMBO") { _mint(msg.sender, 69420000000 * 10 ** 18); } // Function to set lubricating state function setLubricating(bool _state) external onlyOwner { lubricating = _state; } // Define the LP address to enable trading! function setLiquidityPool(address _liquidityPool) external onlyOwner { liquidityPool = _liquidityPool; } // Override _update function to include lubricating logic (previously _beforeTokenTransfer) function _update( address from, address to, uint256 amount ) internal virtual override { super._update(from, to, amount); // If liquidityPool is address(0) we've not yet enabled trading. Liquidity Loading.... if(liquidityPool == address(0)) { require(from == owner() || to == owner(), "Patience - Trading Not Started Yet!"); return; } // Allow deployer (owner) to send/receive any amount and the liquidityPool to receive any amount. // This allows for loading of the LP, and for people to sell tokens into the LP whilst lubrication in progress. if (lubricating && from != owner() && to != liquidityPool) { // Require that a receiving wallet will not hold more than 1% of supply after a transfer whilst lubrication is in effect require( balanceOf(to) <= totalSupply() / 100, "Just getting warmed up, limit of 1% of Kimbo can be Inu until Lubrication is complete!" ); } } // Renounce the contract and pass ownership to address(0) to lock the contract forever more. function renounceTokenOwnership() public onlyOwner { renounceOwnership(); } }
0.4.18