// SPDX-License-Identifier: MIT
pragma solidity 0.8.25;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
/// @title PartyToken
/// @notice Minimal fixed-supply ERC20 launched by PartyFactory via CREATE2.
/// @dev No owner, no mint, no transfer hooks. The full supply is minted once to
/// `recipient` (the factory) in the constructor. The caller-bound CREATE2
/// salt is mined off-chain so this token sorts below the paired asset (token0).
contract PartyToken is ERC20 {
/// @notice IPFS (or https) URI of the token's metadata JSON.
string public metadataUri;
constructor(
string memory name_,
string memory symbol_,
uint256 supply_,
address recipient_,
string memory metadataUri_
) ERC20(name_, symbol_) {
metadataUri = metadataUri_;
_mint(recipient_, supply_);
}
/// @notice Alias for `metadataUri`, mirroring the ERC721 tokenURI convention.
function tokenURI() external view returns (string memory) {
return metadataUri;
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "supply_",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "recipient_",
"type": "address",
"internalType": "address"
},
{
"name": "metadataUri_",
"type": "string",
"internalType": "string"
}
],
"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": "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": "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": "tokenURI",
"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"
}
]0x6080604090808252600480361015610015575f80fd5b5f3560e01c91826306fdde031461046557508163095ea7b3146103bd57816318160ddd1461039f57816323b872dd146102ad578163313ce567146102925781633c130d901461023457816370a082311461025c57816377a4d5591461023457816395d89b411461011557508063a9059cbb146100e55763dd62ed3e14610099575f80fd5b346100e157806003193601126100e1576020906100b4610567565b6100bc61057d565b9060018060a01b038091165f5260018452825f2091165f528252805f20549051908152f35b5f80fd5b50346100e157806003193601126100e15760209061010e610104610567565b6024359033610698565b5160018152f35b82346100e1575f3660031901126100e1578051905f835460018160011c906001831692831561022a575b6020938484108114610217578388529081156101fb57506001146101a7575b505050829003601f01601f191682019267ffffffffffffffff841183851017610194575082918261019092528261053d565b0390f35b604190634e487b7160e01b5f525260245ffd5b5f878152929350837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8385106101e7575050505083010184808061015e565b8054888601830152930192849082016101d1565b60ff1916878501525050151560051b840101905084808061015e565b602289634e487b7160e01b5f525260245ffd5b91607f169161013f565b82346100e1575f3660031901126100e15761019090610251610593565b90519182918261053d565b82346100e15760203660031901126100e1576020906001600160a01b03610281610567565b165f525f8252805f20549051908152f35b82346100e1575f3660031901126100e1576020905160128152f35b9050346100e15760603660031901126100e1576102c8610567565b6102d061057d565b906044359260018060a01b038216805f526001602052855f20335f52602052855f2054915f19831061030b575b60208761010e888888610698565b85831061037357811561035d57331561034757505f9081526001602090815286822033835281529086902091859003909155829061010e6102fd565b6024905f885191634a1406b160e11b8352820152fd5b6024905f88519163e602df0560e01b8352820152fd5b8651637dc7a0d960e11b8152339181019182526020820193909352604081018690528291506060010390fd5b82346100e1575f3660031901126100e1576020906002549051908152f35b82346100e157806003193601126100e1576103d6610567565b60243590331561044f576001600160a01b03169081156104395760209350335f5260018452825f20825f52845280835f205582519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925843392a35160018152f35b8251634a1406b160e11b81525f81860152602490fd5b825163e602df0560e01b81525f81860152602490fd5b83346100e1575f3660031901126100e1575f60035460018160011c9060018316928315610533575b6020938484108114610217578388529081156101fb57506001146104dd57505050829003601f01601f191682019267ffffffffffffffff841183851017610194575082918261019092528261053d565b60035f908152929350837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b83851061051f575050505083010184808061015e565b805488860183015293019284908201610509565b91607f169161048d565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100e157565b602435906001600160a01b03821682036100e157565b604051905f60055460018160011c906001831692831561068e575b602093848410811461067a5783885290811561065e5750600114610608575b505050829003601f01601f1916820167ffffffffffffffff8111838210176105f457604052565b634e487b7160e01b5f52604160045260245ffd5b60055f908152929350837f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b83851061064a57505050508301015f80806105cd565b805488860183015293019284908201610634565b60ff1916878501525050151560051b84010190505f80806105cd565b634e487b7160e01b5f52602260045260245ffd5b91607f16916105ae565b916001600160a01b0380841692831561075a571692831561074257825f525f60205260405f2054908282106107105750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101829052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fdfea2646970667358221220d17c4219ae719cdd67293c7cc1df6199db324657aed7aeb144d3027dcf6fac5364736f6c63430008190033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xa5311f…5c6a1a | 13 mins agoMon, 17 Aug 2026 21:38:28 UTC | Transfer | [0] 0x000000000000…01bcd75e [1] 0x000000000000…8c8bfce0 data: 0x000000000000000000…55da0e44 |
| 0xa5311f…5c6a1a | 13 mins agoMon, 17 Aug 2026 21:38:28 UTC | Transfer | [0] 0x000000000000…4210c21f [1] 0x000000000000…01bcd75e data: 0x000000000000000000…ab5091d5 |
| 0x47cff7…6471e1 | 13 mins agoMon, 17 Aug 2026 21:38:00 UTC | Transfer | [0] 0x000000000000…9d0100b1 [1] 0x000000000000…4210c21f data: 0x000000000000000000…eb78ea0a |
| 0x47cff7…6471e1 | 13 mins agoMon, 17 Aug 2026 21:38:00 UTC | Transfer | [0] 0x000000000000…8c8bfce0 [1] 0x000000000000…9d0100b1 data: 0x000000000000000000…eb78ea0a |
| 0x8baa6e…0be922 | 44 mins agoMon, 17 Aug 2026 21:07:47 UTC | Transfer | [0] 0x000000000000…01bcd75e [1] 0x000000000000…8c8bfce0 data: 0x000000000000000000…72dbc9f0 |
| 0x8baa6e…0be922 | 44 mins agoMon, 17 Aug 2026 21:07:47 UTC | Transfer | [0] 0x000000000000…4210c21f [1] 0x000000000000…01bcd75e data: 0x000000000000000000…0f92bc6b |
| 0xeb6b25…2de099 | 44 mins agoMon, 17 Aug 2026 21:07:17 UTC | Transfer | [0] 0x000000000000…9d0100b1 [1] 0x000000000000…4210c21f data: 0x000000000000000000…15517bd4 |
| 0xeb6b25…2de099 | 44 mins agoMon, 17 Aug 2026 21:07:17 UTC | Transfer | [0] 0x000000000000…8c8bfce0 [1] 0x000000000000…9d0100b1 data: 0x000000000000000000…15517bd4 |
| 0x49cac2…c816d6 | 1 hr agoMon, 17 Aug 2026 20:34:21 UTC | Transfer | [0] 0x000000000000…01bcd75e [1] 0x000000000000…8c8bfce0 data: 0x000000000000000000…efd1e399 |
| 0x49cac2…c816d6 | 1 hr agoMon, 17 Aug 2026 20:34:21 UTC | Transfer | [0] 0x000000000000…4210c21f [1] 0x000000000000…01bcd75e data: 0x000000000000000000…6bc65c7f |
| 0x4bb397…ffb60c | 1 hr agoMon, 17 Aug 2026 20:33:48 UTC | Transfer | [0] 0x000000000000…9d0100b1 [1] 0x000000000000…4210c21f data: 0x000000000000000000…197c1af7 |
| 0x4bb397…ffb60c | 1 hr agoMon, 17 Aug 2026 20:33:48 UTC | Transfer | [0] 0x000000000000…8c8bfce0 [1] 0x000000000000…9d0100b1 data: 0x000000000000000000…197c1af7 |
| 0x01aa54…d9219d | 1 hr agoMon, 17 Aug 2026 20:02:55 UTC | Transfer | [0] 0x000000000000…01bcd75e [1] 0x000000000000…8c8bfce0 data: 0x000000000000000000…29266371 |
| 0x01aa54…d9219d | 1 hr agoMon, 17 Aug 2026 20:02:55 UTC | Transfer | [0] 0x000000000000…4210c21f [1] 0x000000000000…01bcd75e data: 0x000000000000000000…336ffc4d |
| 0x09df64…39aa6b | 1 hr agoMon, 17 Aug 2026 20:02:01 UTC | Transfer | [0] 0x000000000000…9d0100b1 [1] 0x000000000000…4210c21f data: 0x000000000000000000…17be84b1 |
| 0x09df64…39aa6b | 1 hr agoMon, 17 Aug 2026 20:02:01 UTC | Transfer | [0] 0x000000000000…8c8bfce0 [1] 0x000000000000…9d0100b1 data: 0x000000000000000000…17be84b1 |
| 0x38b405…b28fb1 | 2 hrs agoMon, 17 Aug 2026 19:29:36 UTC | Transfer | [0] 0x000000000000…01bcd75e [1] 0x000000000000…8c8bfce0 data: 0x000000000000000000…12662eb3 |
| 0x38b405…b28fb1 | 2 hrs agoMon, 17 Aug 2026 19:29:36 UTC | Transfer | [0] 0x000000000000…4210c21f [1] 0x000000000000…01bcd75e data: 0x000000000000000000…16ffba5f |
| 0xcba835…efb67f | 2 hrs agoMon, 17 Aug 2026 19:29:06 UTC | Transfer | [0] 0x000000000000…9d0100b1 [1] 0x000000000000…4210c21f data: 0x000000000000000000…fbe4c723 |
| 0xcba835…efb67f | 2 hrs agoMon, 17 Aug 2026 19:29:06 UTC | Transfer | [0] 0x000000000000…8c8bfce0 [1] 0x000000000000…9d0100b1 data: 0x000000000000000000…fbe4c723 |
| 0x0b02d4…bb476e | 2 hrs agoMon, 17 Aug 2026 18:58:44 UTC | Transfer | [0] 0x000000000000…01bcd75e [1] 0x000000000000…8c8bfce0 data: 0x000000000000000000…0c3d99a4 |
| 0x0b02d4…bb476e | 2 hrs agoMon, 17 Aug 2026 18:58:44 UTC | Transfer | [0] 0x000000000000…4210c21f [1] 0x000000000000…01bcd75e data: 0x000000000000000000…8f4d000c |
| 0xe3d155…04497b | 2 hrs agoMon, 17 Aug 2026 18:58:12 UTC | Transfer | [0] 0x000000000000…9d0100b1 [1] 0x000000000000…4210c21f data: 0x000000000000000000…fa13cc31 |
| 0xe3d155…04497b | 2 hrs agoMon, 17 Aug 2026 18:58:12 UTC | Transfer | [0] 0x000000000000…8c8bfce0 [1] 0x000000000000…9d0100b1 data: 0x000000000000000000…fa13cc31 |
| 0x93152a…887829 | 3 hrs agoMon, 17 Aug 2026 18:27:42 UTC | Transfer | [0] 0x000000000000…01bcd75e [1] 0x000000000000…8c8bfce0 data: 0x000000000000000000…3ce0cd83 |
| 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 | |||||||||
| 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 ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x184ea3…44200f | Approve | 37,634,508 | 1 day agoSun, 16 Aug 2026 02:57:16 UTC | 0x6b6f…5ba9 | IN | Eat a Frog | $0.000 ETH | 0.00000120 | |
| 0x21d112…6a3119 | Transfer | 36,420,485 | 3 days agoFri, 14 Aug 2026 17:08:38 UTC | 0x1dea…3810 | IN | Eat a Frog | $0.000 ETH | 0.00000185 | |
| 0xe4e841…374667 | Approve | 36,411,168 | 3 days agoFri, 14 Aug 2026 16:53:05 UTC | 0x7a16…8a3f | IN | Eat a Frog | $0.000 ETH | 0.00000183 | |
| 0xa78337…e61e36 | Approve | 36,388,065 | 3 days agoFri, 14 Aug 2026 16:14:30 UTC | 0x2cc6…6a66 | IN | Eat a Frog | $0.000 ETH | 0.00000183 | |
| 0x88dd7f…a835f3 | Approve | 36,386,473 | 3 days agoFri, 14 Aug 2026 16:11:50 UTC | 0x94f5…d604 | IN | Eat a Frog | $0.000 ETH | 0.00000183 | |
| 0x04ec08…5e3db9 | Approve | 36,385,607 | 3 days agoFri, 14 Aug 2026 16:10:22 UTC | 0x6b6f…5ba9 | IN | Eat a Frog | $0.000 ETH | 0.00000186 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 36,385,444 | 3 days agoFri, 14 Aug 2026 16:10:07 UTC | 0xa1a5ef…3eb8d1 | CREATE2 | launch | 0x626c…b3d4 | IN | 0x0013…8fcb | 0 ETH |