Deviant BCH wallet — CashTokens + covenants (Katalogos v1 · chipnet)
Find a file
Local Dev 7a6cb43e71 fix(brand): add trailing-slash guard so Theseus loads brand/mark/*.png
Symptom: visiting potidaea.asm/brand in Theseus shows the Potidaea trident
PNG as a broken image (alt text visible). The 5 SVG explorations below
still render because they're inline SVG, not external files.

Cause: Theseus serves BNS URLs as the user typed them. When the URL has no
trailing slash — potidaea.asm/brand instead of potidaea.asm/brand/ —
<base href="./"> anchors the relative resolution at '/' (parent of '/brand'
treated as a filename) rather than at '/brand/'. Images with src="mark/..."
then resolve to '/mark/...' which 404s.

The BNS gateway at navigate.st/bns/ already normalizes with a 302 that adds
the slash, and nginx-served paths at silentmode do the same. Theseus does
not. So the issue only shows under native BNS browsing.

Fix: inline <script> at the TOP of <head> (runs before any <img>, <link>, or
further <base> is parsed by the preloader) that redirects to the slash
version when the pathname is exactly '/brand'. No-op under the gateway
(pathname is '/bns/...' there) or when the slash is already present.

Applied to both pages — Deviant brand had the same latent bug, same guard
closes it.

Verified in-browser via gateway: location.href resolves to .../brand/,
trident PNG naturalWidth=1373 (loaded). Theseus verification requires a
reload from the user side; the script's logic is trivial and side-effect-
free.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-10-22 02:01:46 +03: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(mba): rename covenants to CoinMBA / ShareMBA / OracleMBA + reserve DynamicMBA 2026-10-09 00:00:15 +02:00
design feat(mainnet-infra): oracle client + Katalogos deploy script + design doc 2026-10-09 00:21:13 +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): add chipnet.bch.ninja — sats + CashToken genesis in one flow 2026-10-11 18:49:14 +02:00
public feat(onramp): SideShift Tier-3 in-wallet shift (ADR-0036 amendment) 2026-06-09 20:57:31 +02:00
scripts feat(mainnet-infra): oracle client + Katalogos deploy script + design doc 2026-10-09 00:21:13 +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(wallet-android): in-app QR scanner instead of Google Code Scanner 2026-10-22 01:41:00 +03:00
site fix(brand): add trailing-slash guard so Theseus loads brand/mark/*.png 2026-10-22 02:01:46 +03:00
snapshots feat(asm-sequencer): settings-UI toggle in both surfaces (wallet committed; Potidaea drafted) 2026-10-02 20:40:59 +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(asm): experimental MBA-adjacent covenants catalogue 2026-10-09 00:24:44 +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.