Two-tier registration per ADR-0055: your own list stays free (ADR-0008),
inscribing into the shared Katalogos writes on-chain state and costs
$1-worth of DEA, oracle-priced (ADR-0052 pattern), covenant-enforced.
Entries are immutable per-entry NFTs whose commitment IS the target
category id; a shared minting NFT is the state UTXO.
The registry is version-aware from day one (KATALOGOS_VERSIONS in the
shell config). Re-pricing or switching to the paymaster fallback = one
config line; discovery reads across every known version; old entries
stay valid forever.
Shipped:
contracts/KatalogosRegistryV1.cash — covenant (7/7 regtest)
src/wallet/katalogos.ts — planner + discovery (11/11 unit)
shells/app/src/core/katalogos.ts — shell publisher + version list
shells/app/src/core/katalogos-oracle-dev.ts — chipnet dev oracle for signing
shells/app/src/components/TokenImportModal.tsx — Publish button on success screen
shells/app/src/asm-core/AsmCore.tsx — picker reads shared list
scripts/chipnet-katalogos-register.mjs — deploy + register end-to-end
Live on chipnet: registry at
bchtest:rwm0e4rnq0htx97g3sllrgld652w7ztxlnqlx7820kd3mhklk6v8vmtth22xs,
CHE + ATD inscribed. Full deploy record in ChipnetTests/.chipnet-katalogos.json.
Amends ADR-0048: featured discovery is paid; unlisted assets stay swappable
at the protocol layer (paste-a-category). "Never the right to swap" invariant
preserved — the ASM covenant consults no registry.
Not yet built: paymaster fallback (v2, designed only), Katalogos second-tab
paste-address lookup, mainnet oracle wiring (dev key baked for chipnet only).
Full record: wiki/decisions.md ADR-0055 amendment, snapshot 0248.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Brings the whole project into git (previously only the on-ramp feature and
a few parallel files were tracked). Includes: wallet core (src/), CashScript
contracts/, the Capacitor shell (shells/), scripts/, tests, and the docs
corpus (wiki/, snapshots/, Parameters/, Archive/, KnowledgeBase text).
Excluded via .gitignore: node_modules/, dist/, .env (secrets), testnet WIF
key files (.chipnet-*.json, devWallets.ts), KnowledgeBase/RAW media (~9.6 GB),
transcripts/ (session logs), and machine-local config (.claude/*.local,
*.lock). Secret-scanned before commit — no credentials in the tree.
Note: src/swapMath.ts, src/swapBuilder.ts, contracts/OpenMintToken.cash are
legacy (OP_RETURN era) but still imported; committed as-is, flagged for a
separate removal once de-referenced.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>