Deviant BCH wallet — CashTokens + covenants (Katalogos v1 · chipnet)
Find a file
Local Dev 8ea2cb0c92 feat(potidaea): correct swap math + my-assets row actions + preview ribbon + wizard autosave
Four improvements in one pass:

1) Swap preview matches on-chain result (fixes user-reported drift)
   The mockup's recalc applied a flat 0.5 % fee to the FROM amount, then
   converted. The covenant works differently:
     - CLAIM (BCH → MBA): gross BCH enters covenant; user receives
       floor(gross / rate) MBA units. Fee is an EXTRA BCH output
       deducted from wallet change, NOT from the mint amount.
     - REDEEM (MBA → BCH): user burns units; receives units × rate
       − miner_fee bits. No founder / platform fee.
   User reported "preview showed 999.5 ASM, receipt 1005 ASM" — off by
   the mockup's fake 0.5 %. Now the preview reads 100,000 ASM for
   0.1 BCH → ASM and 0.04997 BCH for 50,000 ASM → BCH, both matching
   handleRealSwapConfirm's integer math.
   main.ts exposes potidaeaEstimateNet(from, to, amt) using KNOWN_MBAS;
   recalc + recalcFromOut call it first, fall back to the mockup's flat
   approximation for unknown pairs (USDm etc.).
   Fee-value display now uses 6 decimals when denominated in BCH (was
   fixed at 2 — rounded 0.0015 BCH to "0.00").

2) My-assets rows get action buttons
   Every row now shows Swap → · Publish → · ↗:
     - Swap → sets from=BCH / to=<ticker> and jumps to swap view.
     - Publish → keeps the existing wiring to openPublishOverlay.
     - ↗ links to chipnet.imaginary.cash/tx/<genesisTxid>.
   loadLocalKnownMbas now includes the genesis txid so the ↗ works
   without a second lookup.

3) Anthemus preview ribbon
   The DEX view is a mockup (hardcoded book / AMM pool / quotes) but was
   sitting silently next to real Potidaea flows. Adds a persistent amber
   banner at the top of #v-anthemus: "Anthemus is a preview. Order book,
   AMM pool and quotes on this page are illustrative — no real orders
   are broadcast." + "Try Potidaea instead ↗" link. Stops eroding trust
   in the shipped surface.

4) Wizard draft autosave
   sessionStorage snapshot of every wizard field (asSym / asName /
   asRate / asFee / asDec / asGlyph + wiz.step / family / cls) on every
   input change and every step transition. Restored on next Artemision
   visit — a stray refresh mid-flow no longer wipes progress. Successful
   broadcast (mockup + real via runArtemisionGenesis) clears the draft
   so the next fresh visit starts clean.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-22 08:44:27 +02:00
.claude chore(hooks): auto-regenerate snapshots/INDEX.md on snapshot writes 2026-07-07 01:58:15 +02:00
brand brand(landing): clean URLs — wordmark → ./ + deviant_website.html now redirects 2026-08-30 00:30:29 +02:00
contracts feat(potidaea): real Katalogos Publish broadcast · TST431 registered on chipnet 2026-09-06 18:35:41 +02:00
design feat(potidaea): correct swap math + my-assets row actions + preview ribbon + wizard autosave 2026-09-22 08:44:27 +02:00
docs docs(reorg): rename DEX_Anthemus -> Anthemus_DEX; consolidate both DEX cells + the taxonomy there 2026-07-19 22:29:08 +02:00
KnowledgeBase refactor(taxonomy): regular-form class names + DEA renamed to Direct Emission Asset 2026-09-02 00:02:53 +02:00
Parameters feat(faucet): master-password unlock (v:3) — one password reveals all wallets 2026-09-19 01:24:40 +02:00
public feat(onramp): SideShift Tier-3 in-wallet shift (ADR-0036 amendment) 2026-06-09 20:57:31 +02:00
scripts design(cross-chain): sketch atomic-swap deposit/withdrawal HTLCs 2026-09-06 12:58:45 +02:00
services feat(cross-chain): DGB-side HTLC primitives for the atomic-swap rail 2026-09-16 01:25:02 +02:00
shells feat(anthemus.dex): live cross-nav + BCH/USD/EUR chips + sequential PIN 2026-09-19 21:38:48 +02:00
site/deviant feat(anthemus.dex): serve DEX-only kiosk at root — no wallet chrome 2026-09-16 01:02:20 +02:00
snapshots design(cross-chain): DGB rail commits to atomic-swap-primary (snapshot 0271) 2026-09-16 01:20:58 +02:00
spike chore: checkpoint working tree — shell Tier-B retirement + accumulated WIP 2026-06-17 01:01:37 +02:00
src feat(wallet): adjustable-fee end-to-end — Artemision + AssetDetail + updateFee 2026-09-02 08:15:40 +02:00
telegram-orderbook chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
test feat(cross-chain): DGB-side HTLC primitives for the atomic-swap rail 2026-09-16 01:25:02 +02:00
wiki docs(cross-chain): handoff — snapshot 0271 + DGB HTLC primitives landed 2026-09-16 01:25:41 +02:00
.calibration-sweep.json chore: checkpoint working tree — shell Tier-B retirement + accumulated WIP 2026-06-17 01:01:37 +02:00
.catalytic-sweep.json chore: checkpoint working tree — shell Tier-B retirement + accumulated WIP 2026-06-17 01:01:37 +02:00
.env.example feat(onramp): SideShift Tier-3 in-wallet shift (ADR-0036 amendment) 2026-06-09 20:57:31 +02:00
.gitignore feat(explorer): master-password unlock + all 15 keystore addresses 2026-09-19 01:18:41 +02:00
.kac-extract.txt chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
.sim-athenae.json chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
adaptive-data.json chore: checkpoint working tree — shell Tier-B retirement + accumulated WIP 2026-06-17 01:01:37 +02:00
bch-history.json chore: checkpoint working tree — shell Tier-B retirement + accumulated WIP 2026-06-17 01:01:37 +02:00
bch-market.json chore: checkpoint working tree — shell Tier-B retirement + accumulated WIP 2026-06-17 01:01:37 +02:00
BCH_Token_Economy_Concept_Paper.md chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
bch_wallet_architecture.svg chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
CLAUDE.md feat(asm): Potidaea swap-relay + tally refresh to 52,998 2026-08-14 01:39:41 +02:00
deviant_technical_spec_v2.7.md chore: checkpoint in-flight work across shell, contracts, and docs 2026-07-07 02:02:05 +02:00
package-lock.json chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
package.json chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
project-context.md feat(asm): Potidaea swap-relay + tally refresh to 52,998 2026-08-14 01:39:41 +02:00
README.md chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
tsconfig.json chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
usdm-historical.json chore: checkpoint working tree — shell Tier-B retirement + accumulated WIP 2026-06-17 01:01:37 +02:00

Deviant

BCH two-tier token economy platform. Pre-implementation. See BCH_Token_Economy_Concept_Paper.md for the full design.

Status

Bootstrap snapshot — protocol swap mechanism is the validation target.

Project map

Path Purpose
BCH_Token_Economy_Concept_Paper.md Architecture spec, all [PROPOSED] claims
CLAUDE.md Working agreement for Claude sessions
src/ TypeScript wallet + token logic
contracts/ CashScript source for Architecture A contracts
test/ Unit tests (regtest) + integration plan (chipnet, mainnet)
scripts/ Code-scan, snapshot, compile helpers
wiki/ Living docs: architecture, decisions, testing strategy, code map
snapshots/ Numbered progress snapshots

Quickstart

npm install
npm run compile:contracts   # produces artifacts from contracts/*.cash
npm run test:regtest        # runs regtest suite
npm run scan                # regenerates wiki/code-map.md
npm run snapshot            # appends a new snapshot

Build priorities (active)

  1. Protocol swap mechanism — most novel claim, needs validation first.
  2. CashScript enforcement on mainnet — not just theoretical verification.
  3. tokenId correlation across A/B tiers — edge cases expected.

See wiki/testing-strategy.md for the staged regtest → chipnet → mainnet plan.