// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity 0.8.26;
import {ERC20} from "openzeppelin-contracts/token/ERC20/ERC20.sol";
/// @notice One ordinary, fixed-supply answer token in a Retard Market V9 market.
/// @dev There is no owner, proxy, tax, pause, blacklist, mint, or transfer hook.
contract RetardV097Token is ERC20 {
uint256 public constant FIXED_SUPPLY = 1_000_000_000 ether;
string public constant TOKEN_PREFIX = "r";
address public immutable MARKET;
error BadConfig();
error Unauthorized();
constructor(string memory name_, string memory symbol_, address recipient_)
ERC20(name_, string.concat(TOKEN_PREFIX, symbol_))
{
if (recipient_ == address(0) || bytes(name_).length == 0 || bytes(symbol_).length == 0) {
revert BadConfig();
}
MARKET = recipient_;
_mint(recipient_, FIXED_SUPPLY);
}
/// @notice Burns recovered official-liquidity inventory and redeemed winners.
function burn(uint256 amount) external {
if (msg.sender != MARKET) revert Unauthorized();
_burn(msg.sender, amount);
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "name_",
"type": "string",
"internalType": "string"
},
{
"name": "symbol_",
"type": "string",
"internalType": "string"
},
{
"name": "recipient_",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "BadConfig",
"type": "error",
"inputs": []
},
{
"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": "Unauthorized",
"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": "FIXED_SUPPLY",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "MARKET",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "TOKEN_PREFIX",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"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": "burn",
"type": "function",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"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": "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"
}
]0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146105ac57508063095ea7b31461052a57806318160ddd1461050d57806323b872dd1461042e578063313ce5671461041357806342966c681461033557806370a08231146102fe57806373f83e8b1461029e57806395d89b411461019a578063a9059cbb14610169578063c969943e14610143578063dd62ed3e146100f35763f46f16c2146100ab575f80fd5b346100ef575f3660031901126100ef576040517f000000000000000000000000823163f3529acc5db94d6c5e236bd6425170a51b6001600160a01b03168152602090f35b5f80fd5b346100ef5760403660031901126100ef5761010c61068e565b6101146106a4565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b346100ef575f3660031901126100ef5760206040516b033b2e3c9fd0803ce80000008152f35b346100ef5760403660031901126100ef5761018f61018561068e565b60243590336106dc565b602060405160018152f35b346100ef575f3660031901126100ef576040515f6004548060011c90600181168015610294575b6020831081146102805782855290811561025c57506001146101fe575b6101fa836101ee818503826106ba565b60405191829182610664565b0390f35b91905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f905b808210610242575090915081016020016101ee6101de565b91926001816020925483858801015201910190929161022a565b60ff191660208086019190915291151560051b840190910191506101ee90506101de565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101c1565b346100ef575f3660031901126100ef57604051604081019080821067ffffffffffffffff8311176102ea576101fa9160405260018152603960f91b602082015260405191829182610664565b634e487b7160e01b5f52604160045260245ffd5b346100ef5760203660031901126100ef576001600160a01b0361031f61068e565b165f525f602052602060405f2054604051908152f35b346100ef5760203660031901126100ef576004357f000000000000000000000000823163f3529acc5db94d6c5e236bd6425170a51b6001600160a01b031633036104055733156103f257335f525f60205260405f20548181106103d95790805f923384528360205203604083205580600254036002556040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a3005b63391434e360e21b5f523360045260245260445260645ffd5b634b637e8f60e11b5f525f60045260245ffd5b6282b42960e81b5f5260045ffd5b346100ef575f3660031901126100ef57602060405160128152f35b346100ef5760603660031901126100ef5761044761068e565b61044f6106a4565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f19811061048d575b5061018f93506106dc565b8381106104f25784156104df5733156104cc5761018f945f52600160205260405f2060018060a01b0333165f526020528360405f209103905584610482565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b346100ef575f3660031901126100ef576020600254604051908152f35b346100ef5760403660031901126100ef5761054361068e565b6024359033156104df576001600160a01b03169081156104cc57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346100ef575f3660031901126100ef575f6003548060011c9060018116801561065a575b6020831081146102805782855290811561025c57506001146105fc576101fa836101ee818503826106ba565b91905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f905b808210610640575090915081016020016101ee6101de565b919260018160209254838588010152019101909291610628565b91607f16916105d0565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036100ef57565b602435906001600160a01b03821682036100ef57565b90601f8019910116810190811067ffffffffffffffff8211176102ea57604052565b6001600160a01b03169081156103f2576001600160a01b031691821561077357815f525f60205260405f205481811061075a57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffdfea164736f6c634300081a000a
| 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 |
|---|---|---|---|
| 0xcc13e9…37b1a5 | 4 days agoTue, 11 Aug 2026 21:12:19 UTC | Transfer | [0] 0x000000000000…5170a51b [1] 0x000000000000…00000000 data: 0x000000000000000000…e7ffffff |
| 0xcc13e9…37b1a5 | 4 days agoTue, 11 Aug 2026 21:12:19 UTC | Transfer | [0] 0x000000000000…1d412f44 [1] 0x000000000000…5170a51b data: 0x000000000000000000…85988be9 |
| 0xd08c0b…f37380 | 4 days agoTue, 11 Aug 2026 20:42:18 UTC | Transfer | [0] 0x000000000000…5170a51b [1] 0x000000000000…1d412f44 data: 0x000000000000000000…85988bea |
| 0xd08c0b…f37380 | 4 days agoTue, 11 Aug 2026 20:42:18 UTC | Transfer | [0] 0x000000000000…00000000 [1] 0x000000000000…5170a51b data: 0x000000000000000000…e8000000 |
| 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 | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| No direct transactions — this address is only ever reached via internal calls (common for a contract only invoked through a router or proxy). View Internal Transactions → | |||||||||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 33,958,353 | 4 days agoTue, 11 Aug 2026 20:42:18 UTC | 0xd08c0b…f37380 | CREATE | launch | 0x8231…a51b | IN | 0x12dd…07cb | 0 ETH |