diff --git a/CLAUDE.md b/CLAUDE.md index 0e4661c..9262fc2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -51,14 +51,24 @@ add application/business logic unless explicitly asked. - Automatic Pump.fun launch - User-contributed Essence vault - Custom PYRE Solana program (Anchor) -- Token-2022 support - NFT handling (incl. compressed NFTs) - Automatic valuable-token sacrifice - Custodial signing - Background wallet automation +- On-chain swap routing (TRANSMUTABLE) and Token-2022 confidential-transfer / + fee-harvest flows -v0.1 ships: wallet connect → scan token accounts → classify → close eligible -empty ATAs (optionally burn obvious junk) → return rent to user → show receipt. +**Token-2022 IS in v0.1 scope** (Rev 2 — most new/pump.fun tokens are Token-2022), +supported conservatively with account+mint **extension gating**: confidential +transfer / withheld transfer fees / frozen / unknown extensions are skipped; +transfer-hook & permanent-delegate mints are cleanable but flagged. See +[`docs/PYRE_MVP_DESIGN.md`](docs/PYRE_MVP_DESIGN.md) §7.1. (Note: the classifier +code currently still skips all Token-2022 as a safe subset until the +extension-aware implementation lands.) + +v0.1 ships: wallet connect → scan token accounts (classic SPL + Token-2022) → +classify → close eligible empty ATAs (optionally burn obvious junk) → return rent +to user → show receipt. --- diff --git a/docs/TOKEN_CLASSIFICATION.md b/docs/TOKEN_CLASSIFICATION.md index 069e1da..7000155 100644 --- a/docs/TOKEN_CLASSIFICATION.md +++ b/docs/TOKEN_CLASSIFICATION.md @@ -175,15 +175,20 @@ non-destructive category — **Unknown means skip.** ``` scan account - ├─ not classic SPL? ───────────────────────────────► UNSUPPORTED - ├─ bad metadata / layout / unhandled extension? ───► UNSUPPORTED - ├─ NFT / cNFT / LP / receipt / staked / major / - │ valuable / SOL-WSOL / suspicious / frozen / - │ delegated / over-threshold? ────────────────────► PROTECTED_SKIP - ├─ balance == 0? ──────────────────────────────────► EMPTY_CLOSE_ONLY - ├─ safe swap route + passes risk checks? ──────────► TRANSMUTABLE - └─ otherwise (burnable junk, no safe route) ───────► INCINERATE_ONLY + ├─ unknown/other token program (not SPL or Token-2022)? ─► UNSUPPORTED + ├─ Token-2022 unsafe/unknown extension + │ (confidential transfer / withheld fee / unrecognized)? ► UNSUPPORTED + ├─ bad metadata / unsupported layout? ───────────────────► UNSUPPORTED + ├─ frozen or delegated? (regardless of balance) ────────► PROTECTED_SKIP + ├─ balance == 0? (closes regardless of mint identity) ──► EMPTY_CLOSE_ONLY + ├─ NON-empty & NFT / cNFT / LP / receipt / staked / major / + │ valuable / SOL-WSOL / suspicious / over-threshold? ───► PROTECTED_SKIP + ├─ NON-empty & safe swap route + passes risk checks? ────► TRANSMUTABLE + └─ otherwise (burnable junk, no safe route) ─────────────► INCINERATE_ONLY ``` +(Transfer-hook & permanent-delegate Token-2022 mints pass the program/extension +gates — they are cleanable — but are flagged and excluded from swap. See design +doc §7.1.) --- diff --git a/infra/status/index.html b/infra/status/index.html index 2eb43c0..3e5e30c 100644 --- a/infra/status/index.html +++ b/infra/status/index.html @@ -147,10 +147,10 @@

Overall MVP Progress

- 27% + 29%
-
-

14 of 51 phase deliverables complete

+
+

15 of 51 phase deliverables complete

Development Phases

@@ -172,12 +172,12 @@
  • Environment templates
  • -
    +

    Phase 1 Wallet Scanner

    - IN PROGRESS + DONE
    -

    6 / 7 complete

    +

    7 / 7 complete

    diff --git a/infra/status/status.json b/infra/status/status.json index 58acf0b..a11c8c5 100644 --- a/infra/status/status.json +++ b/infra/status/status.json @@ -23,7 +23,7 @@ { "id": 1, "name": "Wallet Scanner", - "state": "in_progress", + "state": "done", "items": [ { "label": "Wallet connect frontend", "done": true }, { "label": "Scan endpoint (POST /api/scan)", "done": true }, @@ -31,7 +31,7 @@ { "label": "Basic classification (conservative, 43 tests)", "done": true }, { "label": "Scan results UI (grouped)", "done": true }, { "label": "Protected/skipped UI", "done": true }, - { "label": "Deploy app + live-wallet e2e verification", "done": false } + { "label": "Deployed live at feedthepyre.com + scan verified e2e", "done": true } ] }, {