Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 62 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Approve | 24320079 | 36 days ago | IN | 0 ETH | 0.0000204 | ||||
| Approve | 24276112 | 43 days ago | IN | 0 ETH | 0.00000624 | ||||
| Approve | 24276106 | 43 days ago | IN | 0 ETH | 0.0000064 | ||||
| Approve | 24240002 | 48 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24235859 | 48 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24234522 | 48 days ago | IN | 0 ETH | 0.00002691 | ||||
| Approve | 24222017 | 50 days ago | IN | 0 ETH | 0.00000531 | ||||
| Approve | 24221375 | 50 days ago | IN | 0 ETH | 0.00000549 | ||||
| Approve | 24220255 | 50 days ago | IN | 0 ETH | 0.00000954 | ||||
| Approve | 24219698 | 50 days ago | IN | 0 ETH | 0.00001619 | ||||
| Approve | 24218572 | 51 days ago | IN | 0 ETH | 0.00000552 | ||||
| Approve | 24218540 | 51 days ago | IN | 0 ETH | 0.00000606 | ||||
| Approve | 24218008 | 51 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24218002 | 51 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24217997 | 51 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24217992 | 51 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24217846 | 51 days ago | IN | 0 ETH | 0.00000559 | ||||
| Approve | 24217837 | 51 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24217716 | 51 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24217704 | 51 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24217673 | 51 days ago | IN | 0 ETH | 0.00009802 | ||||
| Approve | 24217605 | 51 days ago | IN | 0 ETH | 0.00000696 | ||||
| Approve | 24217599 | 51 days ago | IN | 0 ETH | 0.00000774 | ||||
| Approve | 24217578 | 51 days ago | IN | 0 ETH | 0.00000872 | ||||
| Approve | 24217532 | 51 days ago | IN | 0 ETH | 0.00000916 |
Latest 1 internal transaction
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x3d602d80 | 24145934 | 61 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Minimal Proxy Contract for 0xf1a4031e5627da5c914cc21848776fc29d91d2d4
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x362DEd28...Fb5E65f57 The constructor portion of the code might be different and could alter the actual behaviour of the contract
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
/*
Powered by XPAD
---------------------
XPAD: The decentralized launchpad with lottery + low fees
Create your own token today at
https://xpad.fun
Join us on telegram: https://t.me/Xerc20
Join us on X: http://x.com/XERS_official
*/
pragma solidity ^0.8.28;
import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
interface IWETH {
function deposit() external payable;
function withdraw(uint256) external;
function approve(address spender, uint256 amount) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function balanceOf(address owner) external view returns (uint256);
}
interface IUniswapV2Router {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function getAmountsOut(
uint amountIn,
address[] calldata path
) external view returns (uint[] memory amounts);
function WETH() external pure returns (address);
function factory() external view returns (address);
}
interface IUniswapV2Factory {
function getPair(
address tokenA,
address tokenB
) external view returns (address pair);
function createPair(
address tokenA,
address tokenB
) external returns (address pair);
}
contract XpadToken is ReentrancyGuard {
string public name;
string public symbol;
uint8 public decimals;
address public factory;
address payable public creator;
address payable public treasury;
address payable public uniswapMarketingWallet;
address payable public uniswapDevelopmentWallet;
IUniswapV2Router public uniswapRouter;
address public uniswapPair;
bool public isBondingCurve;
bool public initialized;
uint256 public maxSupply;
uint256 public taxFeeToTreasury;
uint256 public uniswapMarketingTaxFee;
uint256 public uniswapDevelopmentTaxFee;
uint256 public uniswapCreatorTaxFee;
uint256 public totalSupply;
uint256 public pendingSwapAmount;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
mapping(address => bool) public isFeeWhitelisted;
mapping(address => uint256) public failedPayments;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event FactoryRenounced();
event UniswapPairCreated(address pair);
event FallbackToWETH(address indexed to, uint256 amount);
event PaymentFailed(address indexed to, uint256 amount);
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,
address _uniswapRouter
) external {
require(!initialized, "Already initialized");
// Input validation
require(_creator != address(0), "Creator cannot be zero address");
require(_treasury != address(0), "Treasury cannot be zero address");
require(_uniswapRouter != address(0), "Router cannot be zero address");
name = _name;
symbol = _symbol;
creator = payable(_creator);
factory = msg.sender;
treasury = payable(_treasury);
uniswapMarketingWallet = payable(_uniswapMarketingWallet);
uniswapDevelopmentWallet = payable(_uniswapDevelopmentWallet);
uniswapMarketingTaxFee = _uniswapMarketingTaxFee;
uniswapDevelopmentTaxFee = _uniswapDevelopmentTaxFee;
uniswapCreatorTaxFee = _uniswapCreatorTaxFee;
taxFeeToTreasury = _feeTreasury;
maxSupply = _maxSupply;
uniswapRouter = IUniswapV2Router(_uniswapRouter);
isFeeWhitelisted[msg.sender] = true;
isFeeWhitelisted[address(this)] = true;
pendingSwapAmount = 0;
decimals = 18;
isBondingCurve = true;
initialized = true;
// Ensure Uniswap pair exists
address weth = uniswapRouter.WETH();
address pair = IUniswapV2Factory(uniswapRouter.factory()).getPair(
address(this),
weth
);
require(pair == address(0), "Pair already exists");
pair = IUniswapV2Factory(uniswapRouter.factory()).createPair(
address(this),
weth
);
require(pair != address(0), "Pair creation failed");
uniswapPair = pair;
emit UniswapPairCreated(pair);
}
/**
* @notice Adds or removes an address from the fee whitelist.
*/
function feeWL(address _address, bool _status) external onlyFactory {
isFeeWhitelisted[_address] = _status;
}
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) {
_approve(msg.sender, spender, amount);
return true;
}
function _approve(address owner, address spender, uint256 amount) internal {
allowance[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function renounceFactory() external onlyFactory {
factory = address(0);
emit FactoryRenounced();
}
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) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
require(to != address(0), "Transfer to zero address");
// block transfers to uniswap pair until migration
if (isBondingCurve && to == uniswapPair) {
revert("Trading not enabled yet");
}
uint256 feeTreasury = 0;
uint256 feeMarketing = 0;
uint256 feeDevelopment = 0;
uint256 feeCreator = 0;
// Detect if this is a DEX swap
bool isBuy = msg.sender == uniswapPair;
bool isSell = to == uniswapPair;
if (
!isBondingCurve &&
!isFeeWhitelisted[msg.sender] &&
!isFeeWhitelisted[to] &&
(isBuy || isSell)
) {
feeTreasury = (amount * taxFeeToTreasury) / 10000;
feeMarketing = (amount * uniswapMarketingTaxFee) / 10000;
feeDevelopment = (amount * uniswapDevelopmentTaxFee) / 10000;
feeCreator = (amount * uniswapCreatorTaxFee) / 10000;
}
uint256 totalFee = feeTreasury +
feeMarketing +
feeDevelopment +
feeCreator;
require(totalFee <= amount / 4, "Fee calculation error");
uint256 amountAfterFee = amount - totalFee;
balanceOf[msg.sender] -= amount;
// Swap fees to ETH immediately
if (totalFee > 0) {
// Accumulate fees in contract
balanceOf[address(this)] += totalFee;
emit Transfer(msg.sender, address(this), totalFee);
pendingSwapAmount += totalFee; // ? ACCUMULATE instead of swapping
if (isSell && pendingSwapAmount > 0) {
swapAndSendToFee(pendingSwapAmount);
}
}
// Transfer net amount
balanceOf[to] += amountAfterFee;
emit Transfer(msg.sender, to, amountAfterFee);
return true;
}
function transferFrom(
address from,
address to,
uint256 amount
) external returns (bool) {
require(
allowance[from][msg.sender] >= amount,
"Insufficient allowance"
);
require(balanceOf[from] >= amount, "Insufficient balance");
require(to != address(0), "Transfer to zero address");
// block transfers to uniswap pair until migration
if (isBondingCurve && to == uniswapPair) {
revert("Trading not enabled yet");
}
allowance[from][msg.sender] -= amount;
balanceOf[from] -= amount;
uint256 feeTreasury = 0;
uint256 feeMarketing = 0;
uint256 feeDevelopment = 0;
uint256 feeCreator = 0;
// Detect if this is a DEX swap
bool isBuy = from == uniswapPair;
bool isSell = to == uniswapPair;
if (
!isBondingCurve &&
!isFeeWhitelisted[from] &&
!isFeeWhitelisted[to] &&
(isBuy || isSell)
) {
require(amount > 0, "Amount must be positive");
feeTreasury = (amount * taxFeeToTreasury) / 10000;
feeMarketing = (amount * uniswapMarketingTaxFee) / 10000;
feeDevelopment = (amount * uniswapDevelopmentTaxFee) / 10000;
feeCreator = (amount * uniswapCreatorTaxFee) / 10000;
}
uint256 totalFee = feeTreasury +
feeMarketing +
feeDevelopment +
feeCreator;
require(totalFee <= amount / 4, "Fee calculation error");
uint256 amountAfterFee = amount - totalFee;
// Swap fees to ETH immediately
if (totalFee > 0) {
// Accumulate fees in contract
balanceOf[address(this)] += totalFee;
emit Transfer(from, address(this), totalFee);
pendingSwapAmount += totalFee;
// Only swap if enough tokens accumulated
if (isSell && pendingSwapAmount > 0) {
swapAndSendToFee(pendingSwapAmount);
}
}
// Transfer net amount
balanceOf[to] += amountAfterFee;
emit Transfer(from, to, amountAfterFee);
return true;
}
function swapAndSendToFee(uint256 tokenAmount) internal nonReentrant {
uint256 initialBalance = address(this).balance;
_swapFeeTokensToETH(tokenAmount);
uint256 newBalance = address(this).balance - initialBalance;
uint256 totalFeePerc = taxFeeToTreasury +
uniswapMarketingTaxFee +
uniswapDevelopmentTaxFee +
uniswapCreatorTaxFee;
if (newBalance > 0 && totalFeePerc > 0) {
if (taxFeeToTreasury > 0)
_safeSend(
treasury,
(newBalance * taxFeeToTreasury) /
totalFeePerc +
failedPayments[treasury]
);
if (uniswapMarketingTaxFee > 0)
_safeSend(
uniswapMarketingWallet,
(newBalance * uniswapMarketingTaxFee) /
totalFeePerc +
failedPayments[uniswapMarketingWallet]
);
if (uniswapDevelopmentTaxFee > 0)
_safeSend(
uniswapDevelopmentWallet,
(newBalance * uniswapDevelopmentTaxFee) /
totalFeePerc +
failedPayments[uniswapDevelopmentWallet]
);
if (uniswapCreatorTaxFee > 0)
_safeSend(
creator,
(newBalance * uniswapCreatorTaxFee) /
totalFeePerc +
failedPayments[creator]
);
}
}
function _safeSend(address payable to, uint256 amount) private {
(bool success, ) = to.call{value: amount, gas: 10000}("");
if (!success) {
IWETH weth = IWETH(uniswapRouter.WETH());
try weth.deposit{value: amount}() {
bool wethSuccess = weth.transfer(to, amount);
require(wethSuccess, "WETH transfer failed");
// Emit event to notify recipient they received WETH instead of ETH
emit FallbackToWETH(to, amount);
} catch {
// As last resort, store failed payment for manual withdrawal
failedPayments[to] += amount;
emit PaymentFailed(to, amount);
}
}
}
function _swapFeeTokensToETH(uint256 tokenAmount) private {
require(balanceOf[address(this)] >= tokenAmount, "Not enough tokens");
_approve(address(this), address(uniswapRouter), tokenAmount);
uint256 minEthOut = (getExpectedEthOutput(tokenAmount) * 95) / 100;
require(minEthOut >= 0, "Min ETH output is zero");
pendingSwapAmount = 0;
address[] memory path = new address[](2);
path[0] = address(this); // Token address
path[1] = uniswapRouter.WETH(); // WETH address
try
uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp + 300
)
{
pendingSwapAmount = 0;
} catch {
pendingSwapAmount = tokenAmount;
}
}
function getExpectedEthOutput(
uint256 tokenAmount
) public view returns (uint256) {
address[] memory path = new address[](2);
path[0] = address(this); // your token
path[1] = uniswapRouter.WETH();
uint[] memory amounts = uniswapRouter.getAmountsOut(tokenAmount, path);
return amounts[1]; // expected ETH output
}
receive() external payable {}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuard.sol)
pragma solidity ^0.8.20;
/**
* @dev Contract module that helps prevent reentrant calls to a function.
*
* Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
* available, which can be applied to functions to make sure there are no nested
* (reentrant) calls to them.
*
* Note that because there is a single `nonReentrant` guard, functions marked as
* `nonReentrant` may not call one another. This can be worked around by making
* those functions `private`, and then adding `external` `nonReentrant` entry
* points to them.
*
* TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,
* consider using {ReentrancyGuardTransient} instead.
*
* TIP: If you would like to learn more about reentrancy and alternative ways
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
*/
abstract contract ReentrancyGuard {
// Booleans are more expensive than uint256 or any type that takes up a full
// word because each write operation emits an extra SLOAD to first read the
// slot's contents, replace the bits taken up by the boolean, and then write
// back. This is the compiler's defense against contract upgrades and
// pointer aliasing, and it cannot be disabled.
// The values being non-zero value makes deployment a bit more expensive,
// but in exchange the refund on every call to nonReentrant will be lower in
// amount. Since refunds are capped to a percentage of the total
// transaction's gas, it is best to keep them low in cases like this one, to
// increase the likelihood of the full refund coming into effect.
uint256 private constant NOT_ENTERED = 1;
uint256 private constant ENTERED = 2;
uint256 private _status;
/**
* @dev Unauthorized reentrant call.
*/
error ReentrancyGuardReentrantCall();
constructor() {
_status = NOT_ENTERED;
}
/**
* @dev Prevents a contract from calling itself, directly or indirectly.
* Calling a `nonReentrant` function from another `nonReentrant`
* function is not supported. It is possible to prevent this from happening
* by making the `nonReentrant` function external, and making it call a
* `private` function that does the actual work.
*/
modifier nonReentrant() {
_nonReentrantBefore();
_;
_nonReentrantAfter();
}
function _nonReentrantBefore() private {
// On the first call to nonReentrant, _status will be NOT_ENTERED
if (_status == ENTERED) {
revert ReentrancyGuardReentrantCall();
}
// Any calls to nonReentrant after this point will fail
_status = ENTERED;
}
function _nonReentrantAfter() private {
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = NOT_ENTERED;
}
/**
* @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
* `nonReentrant` function in the call stack.
*/
function _reentrancyGuardEntered() internal view returns (bool) {
return _status == ENTERED;
}
}{
"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[{"inputs":[],"name":"ReentrancyGuardReentrantCall","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":[],"name":"FactoryRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FallbackToWETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PaymentFailed","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"pair","type":"address"}],"name":"UniswapPairCreated","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 payable","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":"","type":"address"}],"name":"failedPayments","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"feeWL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"getExpectedEthOutput","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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"},{"internalType":"address","name":"_uniswapRouter","type":"address"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeWhitelisted","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":[],"name":"pendingSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceFactory","outputs":[],"stateMutability":"nonpayable","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 payable","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 payable","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 payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapV2Router","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ 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.