Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
1,000,000,000 DEF1
Holders
265
Transfers
-
0
Market
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
| # | Exchange | Pair | Price | 24H Volume | % Volume |
|---|
Minimal Proxy Contract for 0xf83f0547690a41229ee3c378f46493dbd663be12
Contract Name:
XpadToken
Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;
contract XpadToken {
string public name;
string public symbol;
uint8 public decimals;
address public factory;
address public creator;
address public treasury;
address public uniswapMarketingWallet;
address public uniswapDevelopmentWallet;
bool public isBondingCurve;
bool public initialized;
uint256 public maxSupply;
uint256 public taxFeeToTreasury;
uint256 public uniswapMarketingTaxFee;
uint256 public uniswapDevelopmentTaxFee;
uint256 public uniswapCreatorTaxFee;
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
modifier onlyFactory() {
require(msg.sender == factory, "Only factory can call");
_;
}
function initialize(
string memory _name,
string memory _symbol,
address _creator,
address _uniswapMarketingWallet,
address _uniswapDevelopmentWallet,
address _treasury,
uint256 _uniswapMarketingTaxFee,
uint256 _uniswapDevelopmentTaxFee,
uint256 _uniswapCreatorTaxFee,
uint256 _feeTreasury,
uint256 _maxSupply
) external {
require(!initialized, "Already initialized");
name = _name;
symbol = _symbol;
creator = _creator;
factory = msg.sender;
treasury = _treasury;
uniswapMarketingWallet = _uniswapMarketingWallet;
uniswapDevelopmentWallet = _uniswapDevelopmentWallet;
uniswapMarketingTaxFee = _uniswapMarketingTaxFee;
uniswapDevelopmentTaxFee = _uniswapDevelopmentTaxFee;
uniswapCreatorTaxFee = _uniswapCreatorTaxFee;
taxFeeToTreasury = _feeTreasury;
maxSupply = _maxSupply;
decimals = 18;
isBondingCurve = true;
initialized = true;
}
function setIsBondingCurve(bool _isBondingCurve) external onlyFactory {
isBondingCurve = _isBondingCurve;
}
function _mint(address to, uint256 amount) internal {
require(to != address(0), "Mint to zero address");
balanceOf[to] += amount;
totalSupply += amount;
emit Transfer(address(0), to, amount);
}
function mintFromFactory(address to, uint256 amount) external onlyFactory {
require(totalSupply + amount <= maxSupply, "Cap exceeded");
_mint(to, amount);
}
function approve(address spender, uint256 amount) external returns (bool) {
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function increaseAllowance(address spender, uint256 addedValue) external returns (bool) {
allowance[msg.sender][spender] += addedValue;
emit Approval(msg.sender, spender, allowance[msg.sender][spender]);
return true;
}
function decreaseAllowance(address spender, uint256 subtractedValue) external returns (bool) {
uint256 current = allowance[msg.sender][spender];
require(current >= subtractedValue, "Decreased below zero");
allowance[msg.sender][spender] = current - subtractedValue;
emit Approval(msg.sender, spender, allowance[msg.sender][spender]);
return true;
}
function transfer(address to, uint256 amount) external returns (bool) {
_transfer(msg.sender, to, amount);
emit Transfer(msg.sender, to, amount);
return true;
}
function transferFrom(address from, address to, uint256 amount) external returns (bool) {
require(allowance[from][msg.sender] >= amount, "Insufficient allowance");
allowance[from][msg.sender] -= amount;
_transfer(from, to, amount);
emit Transfer(msg.sender, to, amount);
return true;
}
function _transfer(address from, address to, uint256 amount) internal {
require(from != address(0), "From zero address");
require(to != address(0), "To zero address");
require(balanceOf[from] >= amount, "Insufficient balance");
// Deduct total from sender
balanceOf[from] -= amount;
uint256 feeTreasury = 0;
uint256 feeMarketing = 0;
uint256 feeDevelopment = 0;
uint256 feeCreator = 0;
if (!isBondingCurve) {
feeTreasury = (amount * taxFeeToTreasury) / 10000;
feeMarketing = (amount * uniswapMarketingTaxFee) / 10000;
feeDevelopment = (amount * uniswapDevelopmentTaxFee) / 10000;
feeCreator = (amount * uniswapCreatorTaxFee) / 10000;
}
uint256 totalFee = feeTreasury + feeMarketing + feeDevelopment + feeCreator;
uint256 amountAfterFee = amount - totalFee;
// Transfer fees to fee wallets
if (feeTreasury > 0) {
balanceOf[treasury] += feeTreasury;
emit Transfer(from, treasury, feeTreasury);
}
if (feeMarketing > 0) {
balanceOf[uniswapMarketingWallet] += feeMarketing;
emit Transfer(from, uniswapMarketingWallet, feeMarketing);
}
if (feeDevelopment > 0) {
balanceOf[uniswapDevelopmentWallet] += feeDevelopment;
emit Transfer(from, uniswapDevelopmentWallet, feeDevelopment);
}
if (feeCreator > 0) {
balanceOf[creator] += feeCreator;
emit Transfer(from, creator, feeCreator);
}
// Transfer net amount to recipient
balanceOf[to] += amountAfterFee;
emit Transfer(from, to, amountAfterFee);
}
}{
"viaIR": true,
"metadata": {
"bytecodeHash": "none",
"useLiteralContent": true
},
"optimizer": {
"enabled": true,
"runs": 200
},
"evmVersion": "paris",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract ABI
API[{"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":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":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"address","name":"_creator","type":"address"},{"internalType":"address","name":"_uniswapMarketingWallet","type":"address"},{"internalType":"address","name":"_uniswapDevelopmentWallet","type":"address"},{"internalType":"address","name":"_treasury","type":"address"},{"internalType":"uint256","name":"_uniswapMarketingTaxFee","type":"uint256"},{"internalType":"uint256","name":"_uniswapDevelopmentTaxFee","type":"uint256"},{"internalType":"uint256","name":"_uniswapCreatorTaxFee","type":"uint256"},{"internalType":"uint256","name":"_feeTreasury","type":"uint256"},{"internalType":"uint256","name":"_maxSupply","type":"uint256"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isBondingCurve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintFromFactory","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_isBondingCurve","type":"bool"}],"name":"setIsBondingCurve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxFeeToTreasury","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":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasury","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapCreatorTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapDevelopmentTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapDevelopmentWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapMarketingTaxFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapMarketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.
Add Token to MetaMask (Web3)