// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.28;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import {
TOKEN_DECIMALS,
TOKEN_TOTAL_SUPPLY
} from "./libraries/TokenConstants.sol";
/// @title SushiLaunchpadToken
/// @notice A fixed-supply ERC-20 created by SushiLaunchpad.
contract SushiLaunchpadToken is ERC20 {
error ZeroAddress();
/// @param name_ Immutable ERC-20 name.
/// @param symbol_ Immutable ERC-20 symbol.
/// @param supplyRecipient_ SushiLaunchpad instance receiving the supply.
constructor(
string memory name_,
string memory symbol_,
address supplyRecipient_
) ERC20(name_, symbol_) {
if (supplyRecipient_ == address(0)) revert ZeroAddress();
_mint(supplyRecipient_, TOKEN_TOTAL_SUPPLY);
}
function decimals() public pure override returns (uint8) {
return TOKEN_DECIMALS;
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "supplyRecipient_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "ERC20InsufficientAllowance",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "allowance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InsufficientBalance",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InvalidApprover",
"type": "error",
"inputs": [
{
"name": "approver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSpender",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
}
]
},
{
"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": "",
"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": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "pure"
},
{
"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"
}
]0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146103ef57508063095ea7b31461036d57806318160ddd1461035057806323b872dd14610271578063313ce5671461025657806370a082311461021f57806395d89b4114610104578063a9059cbb146100d35763dd62ed3e1461007f575f80fd5b346100cf5760403660031901126100cf576100986104e8565b6100a06104fe565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b346100cf5760403660031901126100cf576100f96100ef6104e8565b6024359033610514565b602060405160018152f35b346100cf575f3660031901126100cf576040515f6004548060011c90600181168015610215575b602083108114610201578285529081156101e55750600114610190575b50819003601f01601f191681019067ffffffffffffffff82118183101761017c57610178829182604052826104be565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b8282106101cf57506020915082010182610148565b60018160209254838588010152019101906101ba565b90506020925060ff191682840152151560051b82010182610148565b634e487b7160e01b5f52602260045260245ffd5b91607f169161012b565b346100cf5760203660031901126100cf576001600160a01b036102406104e8565b165f525f602052602060405f2054604051908152f35b346100cf575f3660031901126100cf57602060405160128152f35b346100cf5760603660031901126100cf5761028a6104e8565b6102926104fe565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f1981106102d0575b506100f99350610514565b83811061033557841561032257331561030f576100f9945f52600160205260405f2060018060a01b0333165f526020528360405f2091039055846102c5565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346100cf575f3660031901126100cf576020600254604051908152f35b346100cf5760403660031901126100cf576103866104e8565b602435903315610322576001600160a01b031690811561030f57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100cf575f3660031901126100cf575f6003548060011c906001811680156104b4575b602083108114610201578285529081156101e5575060011461045f5750819003601f01601f191681019067ffffffffffffffff82118183101761017c57610178829182604052826104be565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b82821061049e57506020915082010182610148565b6001816020925483858801015201910190610489565b91607f1691610413565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100cf57565b602435906001600160a01b03821682036100cf57565b6001600160a01b03169081156105be576001600160a01b03169182156105ab57815f525f60205260405f205481811061059257817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffdfea26469706673582212206a0a0630fc8504e11383512c5ca33dc33f78fba1cf4033955c27514877a2832464736f6c634300081c0033
| 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 | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x19f0fc…d68f9e | 11 days agoThu, 06 Aug 2026 09:37:02 UTC | Approval | [0] 0x000000000000…13c7e9ef [1] 0x000000000000…2e5fb996 data: 0x000000000000000000…00000000 |
| 0x1c92d7…ab5e02 | 23 days agoSat, 25 Jul 2026 19:20:54 UTC | Transfer | [0] 0x000000000000…2e5fb996 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…acdff24b |
| 0x1c92d7…ab5e02 | 23 days agoSat, 25 Jul 2026 19:20:54 UTC | Approval | [0] 0x000000000000…2e5fb996 [1] 0x000000000000…bafad669 data: 0x000000000000000000…acdff24b |
| 0x1c92d7…ab5e02 | 23 days agoSat, 25 Jul 2026 19:20:54 UTC | Transfer | [0] 0x000000000000…e2eb4438 [1] 0x000000000000…2e5fb996 data: 0x000000000000000000…acdff24b |
| 0xac3d4a…4566dd | 23 days agoSat, 25 Jul 2026 18:19:06 UTC | Transfer | [0] 0x000000000000…2e5fb996 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…cbfcc857 |
| 0xac3d4a…4566dd | 23 days agoSat, 25 Jul 2026 18:19:06 UTC | Approval | [0] 0x000000000000…2e5fb996 [1] 0x000000000000…bafad669 data: 0x000000000000000000…cbfcc857 |
| 0xac3d4a…4566dd | 23 days agoSat, 25 Jul 2026 18:19:06 UTC | Transfer | [0] 0x000000000000…81384d95 [1] 0x000000000000…2e5fb996 data: 0x000000000000000000…cbfcc857 |
| 0x5d300b…f8ee6e | 23 days agoSat, 25 Jul 2026 18:18:33 UTC | Transfer | [0] 0x000000000000…31554740 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…7ff81c16 |
| 0xb43200…3a62fe | 23 days agoSat, 25 Jul 2026 18:18:33 UTC | Approval | [0] 0x000000000000…31554740 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0x125eb0…87efe9 | 23 days agoSat, 25 Jul 2026 18:18:30 UTC | Transfer | [0] 0x000000000000…2e5fb996 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…bad52e27 |
| 0x125eb0…87efe9 | 23 days agoSat, 25 Jul 2026 18:18:30 UTC | Approval | [0] 0x000000000000…2e5fb996 [1] 0x000000000000…bafad669 data: 0x000000000000000000…bad52e27 |
| 0x125eb0…87efe9 | 23 days agoSat, 25 Jul 2026 18:18:30 UTC | Transfer | [0] 0x000000000000…13c7e9ef [1] 0x000000000000…2e5fb996 data: 0x000000000000000000…bad52e27 |
| 0x09c08d…c36994 | 23 days agoSat, 25 Jul 2026 18:18:24 UTC | Transfer | [0] 0x000000000000…b3d06280 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…eb4e7ba4 |
| 0xf475a4…02bb95 | 23 days agoSat, 25 Jul 2026 18:18:24 UTC | Approval | [0] 0x000000000000…b3d06280 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0xd7c9e1…425b74 | 23 days agoSat, 25 Jul 2026 18:18:22 UTC | Approval | [0] 0x000000000000…13c7e9ef [1] 0x000000000000…2e5fb996 data: 0xffffffffffffffffff…ffffffff |
| 0x78e4da…e8f26c | 23 days agoSat, 25 Jul 2026 18:18:21 UTC | Transfer | [0] 0x000000000000…e72d5ef1 [1] 0x000000000000…13c7e9ef data: 0x000000000000000000…bad52e27 |
| 0xfd1c61…8d5ffb | 23 days agoSat, 25 Jul 2026 18:18:18 UTC | Transfer | [0] 0x000000000000…e72d5ef1 [1] 0x000000000000…31554740 data: 0x000000000000000000…7ff81c16 |
| 0xbcb365…720117 | 23 days agoSat, 25 Jul 2026 18:18:09 UTC | Transfer | [0] 0x000000000000…e72d5ef1 [1] 0x000000000000…b3d06280 data: 0x000000000000000000…eb4e7ba4 |
| 0x42b84b…570030 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | Transfer | [0] 0x000000000000…9396a146 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…dbf0cd02 |
| 0x5958da…147dd7 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | Approval | [0] 0x000000000000…9396a146 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0xf2b78a…bd60c9 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | Transfer | [0] 0x000000000000…6cc2ca42 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…a3e3e464 |
| 0x4bfa92…d2ad36 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | Approval | [0] 0x000000000000…6cc2ca42 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| 0x8fbcbe…d838f1 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | Transfer | [0] 0x000000000000…e631c560 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…c41704ca |
| 0xbbe7d7…dfcb83 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | Transfer | [0] 0x000000000000…944e8620 [1] 0x000000000000…e72d5ef1 data: 0x000000000000000000…ee67b915 |
| 0x635bea…970907 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | Approval | [0] 0x000000000000…944e8620 [1] 0x000000000000…262c40dc data: 0xffffffffffffffffff…ffffffff |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x19f0fc…d68f9e | Approve | 29,246,054 | 11 days agoThu, 06 Aug 2026 09:37:02 UTC | 0x33b3…e9ef | IN | TEST | $0.000 ETH | 0.00000064 | |
| 0xb43200…3a62fe | Approve | 19,219,159 | 23 days agoSat, 25 Jul 2026 18:18:33 UTC | 0xa541…4740 | IN | TEST | $0.000 ETH | 0.00000351 | |
| 0xf475a4…02bb95 | Approve | 19,219,071 | 23 days agoSat, 25 Jul 2026 18:18:24 UTC | 0xc5c3…6280 | IN | TEST | $0.000 ETH | 0.00000351 | |
| 0xd7c9e1…425b74 | Approve | 19,219,049 | 23 days agoSat, 25 Jul 2026 18:18:22 UTC | 0x33b3…e9ef | IN | TEST | $0.000 ETH | 0.00000350 | |
| 0x5958da…147dd7 | Approve | 19,218,176 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | 0x91e9…a146 | IN | TEST | $0.000 ETH | 0.00000353 | |
| 0x4bfa92…d2ad36 | Approve | 19,218,176 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | 0xcfc0…ca42 | IN | TEST | $0.000 ETH | 0.00000353 | |
| 0x635bea…970907 | Approve | 19,218,176 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | 0x39db…8620 | IN | TEST | $0.000 ETH | 0.00000353 | |
| 0xa9aa5a…81267b | Approve | 19,218,176 | 23 days agoSat, 25 Jul 2026 18:16:56 UTC | 0xc8ed…c560 | IN | TEST | $0.000 ETH | 0.00000353 | |
| 0x86158a…3a942d | Approve | 19,217,999 | 23 days agoSat, 25 Jul 2026 18:16:38 UTC | 0x09ff…4438 | IN | TEST | $0.000 ETH | 0.00000349 | |
| 0xa5e3d4…9deb1a | Approve | 19,217,862 | 23 days agoSat, 25 Jul 2026 18:16:24 UTC | 0x2744…4d95 | IN | TEST | $0.000 ETH | 0.00000351 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 19,217,730 | 23 days agoSat, 25 Jul 2026 18:16:11 UTC | 0xd2a663…9b0acd | CREATE2 | launch | 0x30dd…0554 | IN | 0xce90…cdb8 | 0 ETH |