// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
/// @notice Minimal fixed-supply ERC-20 used by the EVM launch engine scaffold.
/// @dev No mint function exists after construction. Supply is minted once to the factory,
/// then transferred into the bonding market by the factory during create/create+buy.
contract MemeToken {
string public name;
string public symbol;
uint8 public immutable decimals;
uint256 public immutable totalSupply;
address public immutable creator;
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);
error InvalidAddress();
error InsufficientBalance();
error InsufficientAllowance();
constructor(
string memory name_,
string memory symbol_,
uint8 decimals_,
uint256 totalSupply_,
address initialHolder_,
address creator_
) {
if (initialHolder_ == address(0) || creator_ == address(0)) revert InvalidAddress();
name = name_;
symbol = symbol_;
decimals = decimals_;
totalSupply = totalSupply_;
creator = creator_;
balanceOf[initialHolder_] = totalSupply_;
emit Transfer(address(0), initialHolder_, totalSupply_);
}
function transfer(address to, uint256 amount) external returns (bool) {
_transfer(msg.sender, to, 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 from, address to, uint256 amount) external returns (bool) {
uint256 allowed = allowance[from][msg.sender];
if (allowed < amount) revert InsufficientAllowance();
if (allowed != type(uint256).max) {
allowance[from][msg.sender] = allowed - amount;
emit Approval(from, msg.sender, allowance[from][msg.sender]);
}
_transfer(from, to, amount);
return true;
}
function _transfer(address from, address to, uint256 amount) internal {
if (to == address(0)) revert InvalidAddress();
uint256 bal = balanceOf[from];
if (bal < amount) revert InsufficientBalance();
unchecked {
balanceOf[from] = bal - amount;
balanceOf[to] += amount;
}
emit Transfer(from, to, amount);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "decimals_",
"type": "uint8",
"internalType": "uint8"
},
{
"name": "totalSupply_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "initialHolder_",
"type": "address",
"internalType": "address"
},
{
"name": "creator_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "InsufficientAllowance",
"type": "error",
"inputs": []
},
{
"name": "InsufficientBalance",
"type": "error",
"inputs": []
},
{
"name": "InvalidAddress",
"type": "error",
"inputs": []
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "creator",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
}
]0x6080604090808252600480361015610015575f80fd5b5f3560e01c91826302d05d3f146105155750816306fdde031461043d578163095ea7b3146103ce57816318160ddd1461039457816323b872dd146102a1578163313ce5671461026457816370a082311461022d57816395d89b411461010b57508063a9059cbb146100db5763dd62ed3e1461008e575f80fd5b346100d757806003193601126100d7576020906100a961059d565b6100b16105b3565b906001600160a01b038091165f5260038452825f2091165f528252805f20549051908152f35b5f80fd5b50346100d757806003193601126100d7576020906101046100fa61059d565b60243590336105c9565b5160018152f35b82346100d7575f3660031901126100d7578051905f60018054908160011c9060018316928315610223575b6020938484108114610210578388529081156101f4575060011461019e575b505050829003601f01601f191682019267ffffffffffffffff84118385101761018b5750829182610187925282610556565b0390f35b604190634e487b7160e01b5f525260245ffd5b60015f908152929350837fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8385106101e05750505050830101848080610155565b8054888601830152930192849082016101ca565b60ff1916878501525050151560051b8401019050848080610155565b602289634e487b7160e01b5f525260245ffd5b91607f1691610136565b82346100d75760203660031901126100d7576020906001600160a01b0361025261059d565b165f5260028252805f20549051908152f35b82346100d7575f3660031901126100d7576020905160ff7f0000000000000000000000000000000000000000000000000000000000000012168152f35b82346100d75760603660031901126100d7576102bb61059d565b906102c46105b3565b604435906001600160a01b03841693845f5260209460038652845f20335f528652845f20548481106103845760018101610306575b50509061010492916105c9565b8481039081116103715761010495969750815f5260038852865f20335f528852865f2055805f5260038752855f20335f528752855f20549086519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925883393a3859493876102f9565b601188634e487b7160e01b5f525260245ffd5b85516313be252b60e01b81528890fd5b82346100d7575f3660031901126100d757602090517f0000000000000000000000000000000000000000033b2e3c9fd0803ce80000008152f35b82346100d757806003193601126100d7576020906103ea61059d565b602435335f52600384526001600160a01b03835f20921691825f52845280835f205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b82346100d7575f3660031901126100d7578051905f805460018160011c906001831692831561050b575b6020938484108114610210578388529081156101f457506001146104b757505050829003601f01601f191682019267ffffffffffffffff84118385101761018b5750829182610187925282610556565b5f808052929350837f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8385106104f75750505050830101848080610155565b8054888601830152930192849082016104e1565b91607f1691610467565b346100d7575f3660031901126100d7576020906001600160a01b037f00000000000000000000000046f4ae4d8db16b0333ee726b9a02b583dbe58657168152f35b602080825282518183018190529093925f5b82811061058957505060409293505f838284010152601f8019910116010190565b818101860151848201604001528501610568565b600435906001600160a01b03821682036100d757565b602435906001600160a01b03821682036100d757565b91906001600160a01b0380911692831561064e571690815f52600260205260405f205481811061063c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f52600284520360405f2055845f5260405f20818154019055604051908152a3565b604051631e9acf1760e31b8152600490fd5b60405163e6c4247b60e01b8152600490fdfea26469706673582212203ede4b9d82624e48aec9c32ad882389a19a70a61a7867a1175c3c42d52e02b3b64736f6c63430008180033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x8f630f…18227f | 12 days agoMon, 03 Aug 2026 11:28:13 UTC | Transfer | [0] 0x000000000000…dbe58657 [1] 0x000000000000…194aaecd data: 0x000000000000000000…7b300000 |
| 0x8f630f…18227f | 12 days agoMon, 03 Aug 2026 11:28:13 UTC | Approval | [0] 0x000000000000…dbe58657 [1] 0x000000000000…72c22734 data: 0x000000000000000000…00000000 |
| 0xe1c1fe…80302a | 12 days agoMon, 03 Aug 2026 11:28:07 UTC | Approval | [0] 0x000000000000…dbe58657 [1] 0x000000000000…72c22734 data: 0x000000000000000000…7b300000 |
| 0x8faa0f…49e388 | 17 days agoWed, 29 Jul 2026 10:05:50 UTC | Transfer | [0] 0x000000000000…20cbbe5f [1] 0x000000000000…dbe58657 data: 0x000000000000000000…42356e7f |
| 0x8faa0f…49e388 | 17 days agoWed, 29 Jul 2026 10:05:50 UTC | Transfer | [0] 0x000000000000…20cbbe5f [1] 0x000000000000…24c8fce5 data: 0x000000000000000000…0d643feb |
| 0x8faa0f…49e388 | 17 days agoWed, 29 Jul 2026 10:05:50 UTC | Transfer | [0] 0x000000000000…194aaecd [1] 0x000000000000…20cbbe5f data: 0x000000000000000000…4f99ae6a |
| 0x6a3bf6…304583 | 17 days agoWed, 29 Jul 2026 10:05:44 UTC | Transfer | [0] 0x000000000000…dbe58657 [1] 0x000000000000…194aaecd data: 0x000000000000000000…3b580000 |
| 0x6a3bf6…304583 | 17 days agoWed, 29 Jul 2026 10:05:44 UTC | Approval | [0] 0x000000000000…dbe58657 [1] 0x000000000000…72c22734 data: 0x000000000000000000…00000000 |
| 0xe65ce7…c333b1 | 17 days agoWed, 29 Jul 2026 10:05:41 UTC | Approval | [0] 0x000000000000…dbe58657 [1] 0x000000000000…72c22734 data: 0x000000000000000000…3b580000 |
| 0x424cb6…1b2df7 | 17 days agoWed, 29 Jul 2026 09:54:21 UTC | Transfer | [0] 0x000000000000…9008d703 [1] 0x000000000000…194aaecd data: 0x000000000000000000…f942251c |
| 0x424cb6…1b2df7 | 17 days agoWed, 29 Jul 2026 09:54:21 UTC | Approval | [0] 0x000000000000…9008d703 [1] 0x000000000000…3ac78ba3 data: 0xffffffffffffffffff…ffffffff |
| 0x203817…2f7b21 | 17 days agoWed, 29 Jul 2026 09:53:48 UTC | Transfer | [0] 0x000000000000…20cbbe5f [1] 0x000000000000…dbe58657 data: 0x000000000000000000…c44c240b |
| 0x203817…2f7b21 | 17 days agoWed, 29 Jul 2026 09:53:48 UTC | Transfer | [0] 0x000000000000…194aaecd [1] 0x000000000000…20cbbe5f data: 0x000000000000000000…c44c240b |
| 0x8f74e7…ebf133 | 17 days agoWed, 29 Jul 2026 09:52:07 UTC | Transfer | [0] 0x000000000000…194aaecd [1] 0x000000000000…9008d703 data: 0x000000000000000000…f942251c |
| 0x799f6f…cde797 | 17 days agoWed, 29 Jul 2026 09:51:03 UTC | Transfer | [0] 0x000000000000…b3d06280 [1] 0x000000000000…194aaecd data: 0x000000000000000000…95f9359f |
| 0xf3f0a9…83bc85 | 17 days agoWed, 29 Jul 2026 09:51:03 UTC | Approval | [0] 0x000000000000…b3d06280 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0x654330…9ff3e0 | 17 days agoWed, 29 Jul 2026 09:50:50 UTC | Transfer | [0] 0x000000000000…194aaecd [1] 0x000000000000…b3d06280 data: 0x000000000000000000…bae2cc5d |
| 0x4485fa…78d2e3 | 17 days agoWed, 29 Jul 2026 09:50:47 UTC | Transfer | [0] 0x000000000000…194aaecd [1] 0x000000000000…b3d06280 data: 0x000000000000000000…db166942 |
| 0xdfd517…a8a26f | 17 days agoWed, 29 Jul 2026 09:50:25 UTC | Transfer | [0] 0x000000000000…d199a0b5 [1] 0x000000000000…81bf3262 data: 0x000000000000000000…000055b0 |
| 0xdfd517…a8a26f | 17 days agoWed, 29 Jul 2026 09:50:25 UTC | Transfer | [0] 0x000000000000…d199a0b5 [1] 0x000000000000…194aaecd data: 0x000000000000000000…e7ffaa50 |
| 0xdfd517…a8a26f | 17 days agoWed, 29 Jul 2026 09:50:25 UTC | Approval | [0] 0x000000000000…d199a0b5 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…000055b0 |
| 0xdfd517…a8a26f | 17 days agoWed, 29 Jul 2026 09:50:25 UTC | Approval | [0] 0x000000000000…d199a0b5 [1] 0x000000000000…638de0d3 data: 0x000000000000000000…e8000000 |
| 0xdfd517…a8a26f | 17 days agoWed, 29 Jul 2026 09:50:25 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…d199a0b5 data: 0x000000000000000000…e8000000 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xe1c1fe…80302a | Approve | 26,726,171 | 12 days agoMon, 03 Aug 2026 11:28:07 UTC | 0x46f4…8657 | IN | WAW | $0.000 ETH | 0.00000092 | |
| 0xe65ce7…c333b1 | Approve | 22,368,242 | 17 days agoWed, 29 Jul 2026 10:05:41 UTC | 0x46f4…8657 | IN | WAW | $0.000 ETH | 0.00000109 | |
| 0xf3f0a9…83bc85 | Approve | 22,359,492 | 17 days agoWed, 29 Jul 2026 09:51:03 UTC | 0xc5c3…6280 | IN | WAW | $0.000 ETH | 0.00000110 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 22,359,122 | 17 days agoWed, 29 Jul 2026 09:50:25 UTC | 0xdfd517…a8a26f | CREATE | 0x048cb5d6 | 0xb8d2…a0b5 | IN | 0x98f8…a4d4 | 0 ETH |