ETH Price: $1,848.09 (-13.80%)
 

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

Click here to update the token information / general information
# 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);
    }
}

Settings
{
  "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.