// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import {IERC20} from "./interfaces/IERC20.sol";
contract LaunchToken is IERC20 {
uint8 public constant decimals = 18;
string public name;
string public symbol;
string public metadataUri;
uint256 public immutable override totalSupply;
address public immutable factory;
mapping(address account => uint256 amount) public override balanceOf;
mapping(address owner => mapping(address spender => uint256 amount)) public override allowance;
constructor(string memory name_, string memory symbol_, string memory metadataUri_, address recipient, uint256 supply_) {
name = name_;
symbol = symbol_;
metadataUri = metadataUri_;
factory = msg.sender;
totalSupply = supply_;
balanceOf[recipient] = supply_;
emit Transfer(address(0), recipient, supply_);
}
function approve(address spender, uint256 value) external override returns (bool) {
allowance[msg.sender][spender] = value;
emit Approval(msg.sender, spender, value);
return true;
}
function transfer(address to, uint256 value) external override returns (bool) {
_transfer(msg.sender, to, value);
return true;
}
function transferFrom(address from, address to, uint256 value) external override returns (bool) {
uint256 allowed = allowance[from][msg.sender];
if (allowed != type(uint256).max) {
if (allowed < value) revert InsufficientAllowance();
allowance[from][msg.sender] = allowed - value;
emit Approval(from, msg.sender, allowance[from][msg.sender]);
}
_transfer(from, to, value);
return true;
}
function _transfer(address from, address to, uint256 value) internal {
if (to == address(0)) revert ZeroAddress();
uint256 balance = balanceOf[from];
if (balance < value) revert InsufficientBalance();
unchecked {
balanceOf[from] = balance - value;
balanceOf[to] += value;
}
emit Transfer(from, to, value);
}
error InsufficientAllowance();
error InsufficientBalance();
error ZeroAddress();
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "metadataUri_",
"type": "string",
"internalType": "string"
},
{
"name": "recipient",
"type": "address",
"internalType": "address"
},
{
"name": "supply_",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "InsufficientAllowance",
"type": "error",
"inputs": []
},
{
"name": "InsufficientBalance",
"type": "error",
"inputs": []
},
{
"name": "ZeroAddress",
"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": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "factory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "metadataUri",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"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": "value",
"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": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
}
]0x6080604081815260049182361015610015575f80fd5b5f3560e01c90816306fdde031461053d57508063095ea7b3146104cf57806318160ddd1461049557806323b872dd146103a7578063313ce5671461038c57806370a082311461035557806377a4d5591461027a57806395d89b4114610158578063a9059cbb14610128578063c45a0155146100e55763dd62ed3e14610098575f80fd5b346100e157806003193601126100e1576020916100b361065b565b6100bb610671565b6001600160a01b039182165f908152928552838320911682528352819020549051908152f35b5f80fd5b50346100e1575f3660031901126100e157517f000000000000000000000000ddcd66d6949f549ac239013876798f430a8db1996001600160a01b03168152602090f35b50346100e157806003193601126100e15760209061015161014761065b565b6024359033610687565b5160018152f35b50346100e1575f3660031901126100e1578051905f60018054908160011c9060018316928315610270575b602093848410811461025d5783885290811561024157506001146101eb575b505050829003601f01601f191682019267ffffffffffffffff8411838510176101d857508291826101d4925282610614565b0390f35b604190634e487b7160e01b5f525260245ffd5b60015f908152929350837fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b83851061022d57505050508301015f80806101a2565b805488860183015293019284908201610217565b60ff1916878501525050151560051b84010190505f80806101a2565b602289634e487b7160e01b5f525260245ffd5b91607f1691610183565b50346100e1575f3660031901126100e1578051905f60025460018160011c906001831692831561034b575b602093848410811461025d5783885290811561024157506001146102f557505050829003601f01601f191682019267ffffffffffffffff8411838510176101d857508291826101d4925282610614565b60025f908152929350837f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b83851061033757505050508301015f80806101a2565b805488860183015293019284908201610321565b91607f16916102a5565b50346100e15760203660031901126100e1576020906001600160a01b0361037a61065b565b165f5260038252805f20549051908152f35b50346100e1575f3660031901126100e1576020905160128152f35b50346100e15760603660031901126100e1576103c161065b565b906103ca610671565b6044359060018060a01b03841693845f52602094868652845f20335f528652845f20545f198103610403575b5050906101519291610687565b848110610485578481039081116104725796610151959697825f52818952875f20335f528952875f2055815f528752855f20335f528752855f20549086519182527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925883393a38594935f6103f6565b601188634e487b7160e01b5f525260245ffd5b85516313be252b60e01b81528890fd5b50346100e1575f3660031901126100e157602090517f0000000000000000000000000000000000000000033b2e3c9fd0803ce80000008152f35b50346100e157806003193601126100e1576020916104eb61065b565b9060243590335f528452825f209160018060a01b031691825f52845280835f205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b919050346100e1575f3660031901126100e1575f805460018160011c906001831692831561060a575b602093848410811461025d5783885290811561024157506001146105b657505050829003601f01601f191682019267ffffffffffffffff8411838510176101d857508291826101d4925282610614565b5f808052929350837f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8385106105f657505050508301015f80806101a2565b8054888601830152930192849082016105e0565b91607f1691610566565b602080825282518183018190529093925f5b82811061064757505060409293505f838284010152601f8019910116010190565b818101860151848201604001528501610626565b600435906001600160a01b03821682036100e157565b602435906001600160a01b03821682036100e157565b6001600160a01b03918216929190831561070c571690815f52600360205260405f20548181106106fa57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f52600384520360405f2055845f5260405f20818154019055604051908152a3565b604051631e9acf1760e31b8152600490fd5b60405163d92e233d60e01b8152600490fdfea2646970667358221220e5d0a34a057c9eaa1269d246d4cfa2302853e33763c79d16c48a1a008a8d1da564736f6c63430008180033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xadcfe5…d2f963 | 1 day agoSun, 16 Aug 2026 19:55:58 UTC | Transfer | [0] 0x000000000000…a5458110 [1] 0x000000000000…43e40951 data: 0x000000000000000000…8acee773 |
| 0xadcfe5…d2f963 | 1 day agoSun, 16 Aug 2026 19:55:58 UTC | Approval | [0] 0x000000000000…a5458110 [1] 0x000000000000…262c40dc data: 0x000000000000000000…00000000 |
| 0xe36f75…5e5e2d | 1 day agoSun, 16 Aug 2026 19:55:58 UTC | Approval | [0] 0x000000000000…a5458110 [1] 0x000000000000…262c40dc data: 0x000000000000000000…8acee773 |
| 0x3fa7f8…86ae56 | 4 days agoThu, 13 Aug 2026 13:35:52 UTC | Transfer | [0] 0x000000000000…db8c0904 [1] 0x000000000000…43e40951 data: 0x000000000000000000…42b1ebd2 |
| 0x3fa7f8…86ae56 | 4 days agoThu, 13 Aug 2026 13:35:52 UTC | Transfer | [0] 0x000000000000…0aafff1a [1] 0x000000000000…db8c0904 data: 0x000000000000000000…42b1ebd2 |
| 0xa009fe…89e94d | 4 days agoThu, 13 Aug 2026 12:19:10 UTC | Transfer | [0] 0x000000000000…db8c0904 [1] 0x000000000000…43e40951 data: 0x000000000000000000…966da555 |
| 0xa009fe…89e94d | 4 days agoThu, 13 Aug 2026 12:19:10 UTC | Transfer | [0] 0x000000000000…a71ca13d [1] 0x000000000000…db8c0904 data: 0x000000000000000000…966da555 |
| 0xc73d89…b96e12 | 4 days agoThu, 13 Aug 2026 11:58:15 UTC | Transfer | [0] 0x000000000000…50d53eb1 [1] 0x000000000000…43e40951 data: 0x000000000000000000…7386a114 |
| 0xc73d89…b96e12 | 4 days agoThu, 13 Aug 2026 11:58:15 UTC | Approval | [0] 0x000000000000…50d53eb1 [1] 0x000000000000…262c40dc data: 0x000000000000000000…00000000 |
| 0x37fe82…ccb7e2 | 4 days agoThu, 13 Aug 2026 11:58:15 UTC | Approval | [0] 0x000000000000…50d53eb1 [1] 0x000000000000…262c40dc data: 0x000000000000000000…7386a114 |
| 0x8be680…1efdce | 4 days agoThu, 13 Aug 2026 11:48:15 UTC | Transfer | [0] 0x000000000000…c3c3b991 [1] 0x000000000000…43e40951 data: 0x000000000000000000…7788238e |
| 0x9f0951…0b67f9 | 4 days agoThu, 13 Aug 2026 11:48:14 UTC | Transfer | [0] 0x000000000000…4b9233f1 [1] 0x000000000000…43e40951 data: 0x000000000000000000…b04ed827 |
| 0xff0baa…1f324b | 4 days agoThu, 13 Aug 2026 11:48:12 UTC | Transfer | [0] 0x000000000000…ebcae7cd [1] 0x000000000000…43e40951 data: 0x000000000000000000…cfed7e43 |
| 0x36cb4a…bbab40 | 4 days agoThu, 13 Aug 2026 11:48:12 UTC | Transfer | [0] 0x000000000000…aa281321 [1] 0x000000000000…43e40951 data: 0x000000000000000000…75725885 |
| 0xaf10ce…143d8a | 4 days agoThu, 13 Aug 2026 11:48:12 UTC | Transfer | [0] 0x000000000000…4cb97bcc [1] 0x000000000000…43e40951 data: 0x000000000000000000…42633f80 |
| 0x1cd839…31cfbe | 4 days agoThu, 13 Aug 2026 11:47:53 UTC | Transfer | [0] 0x000000000000…fe3390fd [1] 0x000000000000…43e40951 data: 0x000000000000000000…fa0b7e5b |
| 0x9c1dbe…16a2c5 | 4 days agoThu, 13 Aug 2026 11:47:51 UTC | Transfer | [0] 0x000000000000…8075041b [1] 0x000000000000…43e40951 data: 0x000000000000000000…183979e3 |
| 0x29797d…9c82c6 | 4 days agoThu, 13 Aug 2026 11:47:51 UTC | Transfer | [0] 0x000000000000…40bf7b21 [1] 0x000000000000…43e40951 data: 0x000000000000000000…f6341cdd |
| 0xc4507b…016c5c | 4 days agoThu, 13 Aug 2026 11:47:51 UTC | Transfer | [0] 0x000000000000…d78e1fe8 [1] 0x000000000000…43e40951 data: 0x000000000000000000…82ab5df4 |
| 0x9c51fc…0bf36e | 4 days agoThu, 13 Aug 2026 11:47:30 UTC | Transfer | [0] 0x000000000000…442d8f93 [1] 0x000000000000…43e40951 data: 0x000000000000000000…51f4f381 |
| 0xcf3eb9…b944a1 | 4 days agoThu, 13 Aug 2026 11:47:30 UTC | Transfer | [0] 0x000000000000…2d2c0a3e [1] 0x000000000000…43e40951 data: 0x000000000000000000…e8033239 |
| 0xa5df4d…16ffa7 | 4 days agoThu, 13 Aug 2026 11:47:30 UTC | Transfer | [0] 0x000000000000…c9e58db2 [1] 0x000000000000…43e40951 data: 0x000000000000000000…db088695 |
| 0x2cad64…54ad97 | 4 days agoThu, 13 Aug 2026 11:47:30 UTC | Transfer | [0] 0x000000000000…83e5934e [1] 0x000000000000…43e40951 data: 0x000000000000000000…e30e8d13 |
| 0xb711a3…2c8b65 | 4 days agoThu, 13 Aug 2026 11:47:30 UTC | Transfer | [0] 0x000000000000…c3136993 [1] 0x000000000000…43e40951 data: 0x000000000000000000…1c35c0f1 |
| 0x073667…6b548d | 4 days agoThu, 13 Aug 2026 08:15:02 UTC | Transfer | [0] 0x000000000000…befbdce5 [1] 0x000000000000…43e40951 data: 0x000000000000000000…1b3df746 |
| 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 ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xe36f75…5e5e2d | Approve | 38,243,312 | 1 day agoSun, 16 Aug 2026 19:55:58 UTC | 0x1569…8110 | IN | 404 Labs | $0.000 ETH | 0.00000092 | |
| 0x37fe82…ccb7e2 | Approve | 35,372,384 | 4 days agoThu, 13 Aug 2026 11:58:15 UTC | 0x25e5…3eb1 | IN | 404 Labs | $0.000 ETH | 0.00000211 | |
| 0x2e4016…933760 | Approve | 35,239,012 | 4 days agoThu, 13 Aug 2026 08:15:02 UTC | 0x7102…dce5 | IN | 404 Labs | $0.000 ETH | 0.00000226 | |
| 0x260202…fc8628 | Approve | 35,218,893 | 4 days agoThu, 13 Aug 2026 07:41:20 UTC | 0x0a38…ff1a | IN | 404 Labs | $0.000 ETH | 0.00000228 | |
| 0x3dfe90…2af9d2 | Approve | 35,217,273 | 4 days agoThu, 13 Aug 2026 07:38:37 UTC | 0x207d…3268 | IN | 404 Labs | $0.000 ETH | 0.00000228 | |
| 0xb2c973…2a992e | Approve | 35,216,722 | 4 days agoThu, 13 Aug 2026 07:37:43 UTC | 0xc02c…e1a3 | IN | 404 Labs | $0.000 ETH | 0.00000229 | |
| 0x2a9348…fa9990 | Approve | 35,216,722 | 4 days agoThu, 13 Aug 2026 07:37:43 UTC | 0x20f6…c7bb | IN | 404 Labs | $0.000 ETH | 0.00000229 | |
| 0xa9f67e…6e9302 | Approve | 35,216,720 | 4 days agoThu, 13 Aug 2026 07:37:43 UTC | 0x1836…d29b | IN | 404 Labs | $0.000 ETH | 0.00000229 | |
| 0x7183ad…684002 | Approve | 35,202,406 | 4 days agoThu, 13 Aug 2026 07:13:47 UTC | 0xd153…cade | IN | 404 Labs | $0.000 ETH | 0.00000230 | |
| 0xbd16e7…d5db03 | Approve | 35,200,361 | 4 days agoThu, 13 Aug 2026 07:10:22 UTC | 0x3fba…044d | IN | 404 Labs | $0.000 ETH | 0.00000228 | |
| 0x79dc77…754808 | Approve | 35,200,161 | 4 days agoThu, 13 Aug 2026 07:10:02 UTC | 0xfabf…8ac0 | IN | 404 Labs | $0.000 ETH | 0.00000228 | |
| 0x7330e5…f7691f | Approve | 35,200,158 | 4 days agoThu, 13 Aug 2026 07:10:01 UTC | 0xd819…ec59 | IN | 404 Labs | $0.000 ETH | 0.00000230 | |
| 0x0d52fc…8024ed | Approve | 35,198,192 | 4 days agoThu, 13 Aug 2026 07:06:44 UTC | 0xfcd7…bf37 | IN | 404 Labs | $0.000 ETH | 0.00000230 | |
| 0x788934…18d6e1 | Approve | 35,198,179 | 4 days agoThu, 13 Aug 2026 07:06:42 UTC | 0x491c…7406 | IN | 404 Labs | $0.000 ETH | 0.00000231 | |
| 0x8dfaa8…9c50f5 | Approve | 35,197,327 | 4 days agoThu, 13 Aug 2026 07:05:17 UTC | 0x9528…78e4 | IN | 404 Labs | $0.000 ETH | 0.00000232 | |
| 0x4160a8…cf8326 | Approve | 35,197,319 | 4 days agoThu, 13 Aug 2026 07:05:17 UTC | 0x66a8…0a3e | IN | 404 Labs | $0.000 ETH | 0.00000230 | |
| 0x787c94…6e1b57 | Approve | 35,197,252 | 4 days agoThu, 13 Aug 2026 07:05:10 UTC | 0x3881…8f93 | IN | 404 Labs | $0.000 ETH | 0.00000231 | |
| 0xadadb8…fb69d1 | Approve | 35,197,252 | 4 days agoThu, 13 Aug 2026 07:05:10 UTC | 0xa6f8…6993 | IN | 404 Labs | $0.000 ETH | 0.00000231 | |
| 0x6025b0…5090be | Approve | 35,197,252 | 4 days agoThu, 13 Aug 2026 07:05:10 UTC | 0x76e1…8db2 | IN | 404 Labs | $0.000 ETH | 0.00000231 | |
| 0x8fb1c1…6e6127 | Approve | 35,197,252 | 4 days agoThu, 13 Aug 2026 07:05:10 UTC | 0x43e2…934e | IN | 404 Labs | $0.000 ETH | 0.00000231 | |
| 0x48b07c…cc549c | Approve | 35,196,747 | 4 days agoThu, 13 Aug 2026 07:04:19 UTC | 0x8f6d…9c4f | IN | 404 Labs | $0.000 ETH | 0.00000231 | |
| 0xdf4de2…49c6e2 | Approve | 35,196,677 | 4 days agoThu, 13 Aug 2026 07:04:12 UTC | 0x0808…621f | IN | 404 Labs | $0.000 ETH | 0.00000231 | |
| 0x9d0608…c1ae11 | Approve | 35,196,565 | 4 days agoThu, 13 Aug 2026 07:04:01 UTC | 0x08c0…2ed5 | IN | 404 Labs | $0.000 ETH | 0.00000230 | |
| 0xa492a4…e322f8 | Approve | 35,196,467 | 4 days agoThu, 13 Aug 2026 07:03:51 UTC | 0x1088…86a0 | IN | 404 Labs | $0.000 ETH | 0.00000231 | |
| 0x0dbe28…6aa2db | Approve | 35,196,392 | 4 days agoThu, 13 Aug 2026 07:03:43 UTC | 0x1569…8110 | IN | 404 Labs | $0.000 ETH | 0.00000231 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 35,193,413 | 4 days agoThu, 13 Aug 2026 06:58:45 UTC | 0x5fd197…cfcc5d | CREATE2 | createLaunch | 0xddcd…b199 | IN | 0xa33a…0404 | 0 ETH |