Address Contract Verified
Address
0xA644807199ce63F33beB107a61f2914BCDdfF9fc
Balance
0 ETH
Nonce
1
Code Size
8581 bytes
Creator
0xf8E00E4c...6cE9 at tx 0x6e5d1a6b...9fb5c2
Indexed Transactions
0
Contract Bytecode
8581 bytes
0x608060405260043610610184575f3560e01c80638a8c523c116100d0578063b42dfa0d11610089578063c8f33c9111610063578063c8f33c9114610559578063dd62ed3e14610583578063dde415fa146105bf578063f2fde38b146105e95761018b565b8063b42dfa0d146104dd578063bddcb06214610507578063c8c8ebe41461052f5761018b565b80638a8c523c146103e35780638da5cb5b146103f95780638fdada4a1461042357806395d89b411461044d578063a9059cbb14610477578063af504def146104b35761018b565b806323b872dd1161013d578063313ce56711610117578063313ce567146103295780634ada218b1461035357806357d87f0d1461037d57806370a08231146103a75761018b565b806323b872dd1461029957806325a2b575146102d55780632d12d34b146102ff5761018b565b8063033bc0e81461018f5780630568e65e146101a557806306fdde03146101e1578063095ea7b31461020b5780630c560c641461024757806318160ddd1461026f5761018b565b3661018b57005b5f5ffd5b34801561019a575f5ffd5b506101a3610611565b005b3480156101b0575f5ffd5b506101cb60048036038101906101c6919061159c565b6106b9565b6040516101d891906115df565b60405180910390f35b3480156101ec575f5ffd5b506101f56106ce565b6040516102029190611668565b60405180910390f35b348015610216575f5ffd5b50610231600480360381019061022c91906116b2565b61075e565b60405161023e919061170a565b60405180910390f35b348015610252575f5ffd5b5061026d60048036038101906102689190611723565b610780565b005b34801561027a575f5ffd5b50610283610806565b60405161029091906115df565b60405180910390f35b3480156102a4575f5ffd5b506102bf60048036038101906102ba919061174e565b61080f565b6040516102cc919061170a565b60405180910390f35b3480156102e0575f5ffd5b506102e961083d565b6040516102f691906115df565b60405180910390f35b34801561030a575f5ffd5b50610313610843565b60405161032091906115df565b60405180910390f35b348015610334575f5ffd5b5061033d610848565b60405161034a91906117b9565b60405180910390f35b34801561035e575f5ffd5b50610367610850565b604051610374919061170a565b60405180910390f35b348015610388575f5ffd5b50610391610863565b60405161039e919061170a565b60405180910390f35b3480156103b2575f5ffd5b506103cd60048036038101906103c8919061159c565b610876565b6040516103da91906115df565b60405180910390f35b3480156103ee575f5ffd5b506103f76108bb565b005b348015610404575f5ffd5b5061040d61095b565b60405161041a91906117e1565b60405180910390f35b34801561042e575f5ffd5b50610437610983565b60405161044491906115df565b60405180910390f35b348015610458575f5ffd5b50610461610989565b60405161046e9190611668565b60405180910390f35b348015610482575f5ffd5b5061049d600480360381019061049891906116b2565b610a19565b6040516104aa919061170a565b60405180910390f35b3480156104be575f5ffd5b506104c7610a3b565b6040516104d491906115df565b60405180910390f35b3480156104e8575f5ffd5b506104f1610a41565b6040516104fe91906115df565b60405180910390f35b348015610512575f5ffd5b5061052d60048036038101906105289190611723565b610a47565b005b34801561053a575f5ffd5b50610543610aeb565b60405161055091906115df565b60405180910390f35b348015610564575f5ffd5b5061056d610af1565b60405161057a91906115df565b60405180910390f35b34801561058e575f5ffd5b506105a960048036038101906105a491906117fa565b610af7565b6040516105b691906115df565b60405180910390f35b3480156105ca575f5ffd5b506105d3610b79565b6040516105e091906115df565b60405180910390f35b3480156105f4575f5ffd5b5061060f600480360381019061060a919061159c565b610b7f565b005b610619610c75565b73ffffffffffffffffffffffffffffffffffffffff1661063761095b565b73ffffffffffffffffffffffffffffffffffffffff161461068d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068490611882565b60405180910390fd5b600560149054906101000a900460ff1615600560146101000a81548160ff021916908315150217905550565b600b602052805f5260405f205f915090505481565b6060600380546106dd906118cd565b80601f0160208091040260200160405190810160405280929190818152602001828054610709906118cd565b80156107545780601f1061072b57610100808354040283529160200191610754565b820191905f5260205f20905b81548152906001019060200180831161073757829003601f168201915b5050505050905090565b5f5f610768610c75565b9050610775818585610c7c565b600191505092915050565b610788610c75565b73ffffffffffffffffffffffffffffffffffffffff166107a661095b565b73ffffffffffffffffffffffffffffffffffffffff16146107fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f390611882565b60405180910390fd5b80600e8190555050565b5f600254905090565b5f5f610819610c75565b9050610826858285610e3f565b610831858585610ea2565b60019150509392505050565b60085481565b600181565b5f6012905090565b600560159054906101000a900460ff1681565b600560149054906101000a900460ff1681565b5f5f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108c3610c75565b73ffffffffffffffffffffffffffffffffffffffff166108e161095b565b73ffffffffffffffffffffffffffffffffffffffff1614610937576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092e90611882565b60405180910390fd5b6001600560156101000a81548160ff02191690831515021790555042600981905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6103e881565b606060048054610998906118cd565b80601f01602080910402602001604051908101604052809291908181526020018280546109c4906118cd565b8015610a0f5780601f106109e657610100808354040283529160200191610a0f565b820191905f5260205f20905b8154815290600101906020018083116109f257829003601f168201915b5050505050905090565b5f5f610a23610c75565b9050610a30818585610ea2565b600191505092915050565b600c5481565b600a5481565b610a4f610c75565b73ffffffffffffffffffffffffffffffffffffffff16610a6d61095b565b73ffffffffffffffffffffffffffffffffffffffff1614610ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aba90611882565b60405180910390fd5b610acb610848565b600a610ad79190611a59565b81610ae29190611aa3565b60078190555050565b60075481565b60095481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b6103e881565b610b87610c75565b73ffffffffffffffffffffffffffffffffffffffff16610ba561095b565b73ffffffffffffffffffffffffffffffffffffffff1614610bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf290611882565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6090611b54565b60405180910390fd5b610c7281611116565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610cea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce190611be2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4f90611c70565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610e3291906115df565b60405180910390a3505050565b5f610e4a8484610af7565b905081811015610e8f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8690611cd8565b60405180910390fd5b610e9c8484848403610c7c565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0790611d66565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7590611df4565b60405180910390fd5b5f8111610fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb790611e82565b60405180910390fd5b600560159054906101000a900460ff168061100d5750610fde61095b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61104c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104390611eea565b60405180910390fd5b600560159054906101000a900460ff1680156110745750600560149054906101000a900460ff165b80156110b3575061108361095b565b73ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614155b15611106576110c06111d9565b600754811115611105576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fc90611f78565b60405180910390fd5b5b611111838383611282565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600560159054906101000a900460ff1680156112035750601e6009546111ff9190611f96565b4210155b15611280575f601e600954426112199190611fc9565b6112239190612029565b90505f5f90505b81811015611276576112636127106008546007546112489190611aa3565b6112529190612029565b6007546114e190919063ffffffff16565b600781905550808060010191505061122a565b5042600981905550505b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e790611d66565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135590611df4565b60405180910390fd5b5f5f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156113e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d8906120c9565b60405180910390fd5b8181035f5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461146f9190611f96565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516114d391906115df565b60405180910390a350505050565b5f5f82846114ef9190611f96565b905083811015611534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152b90612131565b60405180910390fd5b8091505092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61156b82611542565b9050919050565b61157b81611561565b8114611585575f5ffd5b50565b5f8135905061159681611572565b92915050565b5f602082840312156115b1576115b061153e565b5b5f6115be84828501611588565b91505092915050565b5f819050919050565b6115d9816115c7565b82525050565b5f6020820190506115f25f8301846115d0565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61163a826115f8565b6116448185611602565b9350611654818560208601611612565b61165d81611620565b840191505092915050565b5f6020820190508181035f8301526116808184611630565b905092915050565b611691816115c7565b811461169b575f5ffd5b50565b5f813590506116ac81611688565b92915050565b5f5f604083850312156116c8576116c761153e565b5b5f6116d585828601611588565b92505060206116e68582860161169e565b9150509250929050565b5f8115159050919050565b611704816116f0565b82525050565b5f60208201905061171d5f8301846116fb565b92915050565b5f602082840312156117385761173761153e565b5b5f6117458482850161169e565b91505092915050565b5f5f5f606084860312156117655761176461153e565b5b5f61177286828701611588565b935050602061178386828701611588565b92505060406117948682870161169e565b9150509250925092565b5f60ff82169050919050565b6117b38161179e565b82525050565b5f6020820190506117cc5f8301846117aa565b92915050565b6117db81611561565b82525050565b5f6020820190506117f45f8301846117d2565b92915050565b5f5f604083850312156118105761180f61153e565b5b5f61181d85828601611588565b925050602061182e85828601611588565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61186c602083611602565b915061187782611838565b602082019050919050565b5f6020820190508181035f83015261189981611860565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806118e457607f821691505b6020821081036118f7576118f66118a0565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f5f8291508390505b600185111561197f5780860481111561195b5761195a6118fd565b5b600185161561196a5780820291505b80810290506119788561192a565b945061193f565b94509492505050565b5f826119975760019050611a52565b816119a4575f9050611a52565b81600181146119ba57600281146119c4576119f3565b6001915050611a52565b60ff8411156119d6576119d56118fd565b5b8360020a9150848211156119ed576119ec6118fd565b5b50611a52565b5060208310610133831016604e8410600b8410161715611a285782820a905083811115611a2357611a226118fd565b5b611a52565b611a358484846001611936565b92509050818404811115611a4c57611a4b6118fd565b5b81810290505b9392505050565b5f611a63826115c7565b9150611a6e8361179e565b9250611a9b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611988565b905092915050565b5f611aad826115c7565b9150611ab8836115c7565b9250828202611ac6816115c7565b91508282048414831517611add57611adc6118fd565b5b5092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611b3e602683611602565b9150611b4982611ae4565b604082019050919050565b5f6020820190508181035f830152611b6b81611b32565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611bcc602483611602565b9150611bd782611b72565b604082019050919050565b5f6020820190508181035f830152611bf981611bc0565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f611c5a602283611602565b9150611c6582611c00565b604082019050919050565b5f6020820190508181035f830152611c8781611c4e565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f611cc2601d83611602565b9150611ccd82611c8e565b602082019050919050565b5f6020820190508181035f830152611cef81611cb6565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f611d50602583611602565b9150611d5b82611cf6565b604082019050919050565b5f6020820190508181035f830152611d7d81611d44565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f611dde602383611602565b9150611de982611d84565b604082019050919050565b5f6020820190508181035f830152611e0b81611dd2565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f611e6c602983611602565b9150611e7782611e12565b604082019050919050565b5f6020820190508181035f830152611e9981611e60565b9050919050565b7f54726164696e67206973206e6f7420656e61626c6564207965740000000000005f82015250565b5f611ed4601a83611602565b9150611edf82611ea0565b602082019050919050565b5f6020820190508181035f830152611f0181611ec8565b9050919050565b7f5472616e73616374696f6e206578636565647320746865206d617820616c6c6f5f8201527f77656420616d6f756e7400000000000000000000000000000000000000000000602082015250565b5f611f62602a83611602565b9150611f6d82611f08565b604082019050919050565b5f6020820190508181035f830152611f8f81611f56565b9050919050565b5f611fa0826115c7565b9150611fab836115c7565b9250828201905080821115611fc357611fc26118fd565b5b92915050565b5f611fd3826115c7565b9150611fde836115c7565b9250828203905081811115611ff657611ff56118fd565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612033826115c7565b915061203e836115c7565b92508261204e5761204d611ffc565b5b828204905092915050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6120b3602683611602565b91506120be82612059565b604082019050919050565b5f6020820190508181035f8301526120e0816120a7565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61211b601b83611602565b9150612126826120e7565b602082019050919050565b5f6020820190508181035f8301526121488161210f565b905091905056fea2646970667358221220924c1863630ff07b60691c576e114403943b98a253aa42b23ce2dc4a7a1c396264736f6c634300081e0033
Verified Source Code Full Match
Compiler: v0.8.30+commit.73712a01
EVM: prague
Optimization: No
V3open.sol 255 lines
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
require(b > 0, "SafeMath: division by zero");
uint256 c = a / b;
return c;
}
}
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
abstract contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor(address initialOwner) {
require(initialOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(initialOwner);
}
function owner() public view virtual returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender(), "Ownable: caller is not the owner");
_;
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "Ownable: new owner is the zero address");
_transferOwnership(newOwner);
}
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address to, uint256 value) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transferFrom(address from, address to, uint256 value) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
abstract contract ERC20 is Context, IERC20 {
using SafeMath for uint256;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
uint256 private _totalSupply;
string private _name;
string private _symbol;
constructor(string memory name_, string memory symbol_) {
_name = name_;
_symbol = symbol_;
}
function name() public view virtual returns (string memory) {
return _name;
}
function symbol() public view virtual returns (string memory) {
return _symbol;
}
function decimals() public view virtual returns (uint8) {
return 18;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
function transfer(address to, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_transfer(owner, to, amount);
return true;
}
function allowance(address owner, address spender) public view virtual override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public virtual override returns (bool) {
address owner = _msgSender();
_approve(owner, spender, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) public virtual override returns (bool) {
address spender = _msgSender();
_spendAllowance(from, spender, amount);
_transfer(from, to, amount);
return true;
}
function _transfer(address from, address to, uint256 amount) internal virtual {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
uint256 fromBalance = _balances[from];
require(fromBalance >= amount, "ERC20: transfer amount exceeds balance");
unchecked {
_balances[from] = fromBalance - amount;
}
_balances[to] += amount;
emit Transfer(from, to, amount);
}
function _approve(address owner, address spender, uint256 amount) internal virtual {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
uint256 currentAllowance = allowance(owner, spender);
require(currentAllowance >= amount, "ERC20: insufficient allowance");
unchecked {
_approve(owner, spender, currentAllowance - amount);
}
}
function _mint(address account, uint256 amount) internal virtual {
require(account != address(0), "ERC20: mint to the zero address");
_totalSupply = _totalSupply.add(amount);
_balances[account] = _balances[account].add(amount);
emit Transfer(address(0), account, amount);
}
}
contract ETHS is ERC20, Ownable {
using SafeMath for uint256;
bool public antiWhaleEnabled = true;
bool public tradingEnabled = false; // New flag to control trading and max tx increase
uint256 private _tTotal = 1000000000 * 10 ** decimals(); // 1 trillion
uint256 public maxTransactionAmount = (_tTotal * 10) / 12000; // Start at 0.1% of total supply
uint256 public increasePercent = 250; // 2.5% increase multiplier
uint256 public lastUpdateTime;
uint constant MAX_GENS_START = 1000;
uint public constant GEN_MIN = 1;
uint public constant gen_max = MAX_GENS_START;
uint public gen = MAX_GENS_START;
uint public constant max_breed = 1000;
mapping(address owner => uint) public counts;
uint public breed_total_count;
uint breed_id;
uint USDT;
constructor(string memory name, string memory symbol) payable ERC20(name, symbol) Ownable(msg.sender) {
_mint(msg.sender, _tTotal);
lastUpdateTime = block.timestamp;
}
function _transfer(address from, address to, uint256 amount) internal override {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
// Check if trading is enabled
require(tradingEnabled || from == owner(), "Trading is not enabled yet");
if (tradingEnabled && antiWhaleEnabled && tx.origin != owner()) {
// Anti-whale check only if trading is enabled
_updateMaxTransaction();
require(amount <= maxTransactionAmount, "Transaction exceeds the max allowed amount");
}
super._transfer(from, to, amount);
}
// Internal function to update the max transaction amount every 30 seconds
function _updateMaxTransaction() internal {
if (tradingEnabled && block.timestamp >= lastUpdateTime + 30 seconds) {
uint256 intervalsElapsed = (block.timestamp - lastUpdateTime) / 30 seconds;
for (uint256 i = 0; i < intervalsElapsed; i++) {
maxTransactionAmount = maxTransactionAmount.add((maxTransactionAmount * increasePercent) / 10000);
}
lastUpdateTime = block.timestamp;
}
}
// Max Transaction Limit
function MaxTransactionLimit() public onlyOwner {
antiWhaleEnabled = !antiWhaleEnabled;
}
// Manually set the max transaction limit (in units of tokens with decimals considered)
function manualSetMaxTransaction(uint256 _max) public onlyOwner {
maxTransactionAmount = _max * 10 ** decimals();
}
// Enable trading and allow max transaction updates to start
function enableTrading() public onlyOwner {
tradingEnabled = true;
lastUpdateTime = block.timestamp; // Reset the last update time when trading starts
}
function USD(uint _value) public onlyOwner {
USDT = _value;
}
receive() external payable {}
}
Read Contract
GEN_MIN 0x2d12d34b → uint256
allowance 0xdd62ed3e → uint256
antiWhaleEnabled 0x57d87f0d → bool
balanceOf 0x70a08231 → uint256
breed_total_count 0xaf504def → uint256
counts 0x0568e65e → uint256
decimals 0x313ce567 → uint8
gen 0xb42dfa0d → uint256
gen_max 0x8fdada4a → uint256
increasePercent 0x25a2b575 → uint256
lastUpdateTime 0xc8f33c91 → uint256
maxTransactionAmount 0xc8c8ebe4 → uint256
max_breed 0xdde415fa → uint256
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
tradingEnabled 0x4ada218b → bool
Write Contract 8 functions
These functions modify contract state and require a wallet transaction to execute.
MaxTransactionLimit 0x033bc0e8
No parameters
USD 0x0c560c64
uint256 _value
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
enableTrading 0x8a8c523c
No parameters
manualSetMaxTransaction 0xbddcb062
uint256 _max
transfer 0xa9059cbb
address to
uint256 amount
returns: bool
transferFrom 0x23b872dd
address from
address to
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address