Snapshot commit rolling up ~255 files of coherent-but-multi-domain in-flight
work that had accumulated on this branch. Split by area:
Contracts + covenants
- New: AsmFxSwap, DeviantOpenMintNBA, DeviantTieredMintOracleFT,
TermCouponVault, UniformReserve, UniformReserveAggregate.
- Verify-artifact refresh (src/verify/artifacts/*.json + canonical.ts).
Wallet + shell (shells/app + src/wallet)
- App.tsx, MainScreen, ArtemisionScreen, AssetDetail, AgoraScreen,
SettingsScreen, Unlock, TokenImportModal, UniformFiat/DepositPanel,
KatalogosPanel (renamed from PinaxPanel), shell.css.
- src/wallet: wallet.ts, runtime.ts, index.ts. Core registry/chipnetFile.
- Deleted stale hook: useAllDevBalances.ts.
Cross-chain + correspondent (services/correspondent + scripts)
- Correspondent server/bch/config updates for PYUSD Solana, EURC Sepolia,
aggregate reserve flows.
- New scripts: PYUSD roundtrip, EURC onboarding, GMX game loop /
genesis / mint sanity, tiered mint fee, aggregate reserve, product2
shares dividends, product3 t-bond, uniform fiat cell tests.
Telegram order-book (P2PExchange bot)
- db.ts, index.ts, en/ru locales — updates upstream from the extracted
standalone repo at D:/Dev/P2PExchange.
Docs — Parameters (specs), wiki, snapshots, design mockups
- Parameters: FIATm/MBA_Shares/Potidaea/Anthemus refinements +
ASM_CrossChain/DebitCredit + UniformFiat + Anthemus DEX MVP prompt +
Artemision + Athenae Politeia + Philosophy + SSHkeyServer runbook +
new dApp/{Artemision,Katalogos,Pinax,Pari_escrow,SURFACES}.
- wiki: cross-chain, games-tote, glossary, governance/voting-systems,
infra, wallet, wallet-ui-design, decisions (ADR log).
- snapshots: catch-up entries and INDEX regeneration.
- design: mockups refreshed (agora, asset-detail, assets-tab, potidaea)
+ Potidaea assets + tote deploy notes.
Housekeeping
- .gitignore: exclude the new root test/session state files
(.sol-vault-keys.json, .football-tote-state.json,
.tote-platform-state.json, .redeem-roundtrip-state.json,
.eurc-onboard-state.json — some contain oracle privkeys / vault
secretKeyBase58; NEVER commit) + the .usdm-historical-chart.html
chart output + MS Office `~$*` lock files + scripts/bundle-surfaces
`build/` output. Also add scripts/bundle-surfaces.mjs.
- CLAUDE.md, WALLET-COORDINATION.md, snapshots/INDEX.md, design/README.md
refreshed.
- package.json / package-lock.json bumps.
Verified: sensitive files at repo root confirmed ignored (git check-ignore
each). No `.env`, no raw WIF/xprv/mnemonic/secretKey/oraclePriv strings in
the staged diff. MS Word autosave file (`Parameters/Philosophy/~$*.docx`)
excluded and gitignored.
The WizardConnect responder work landed separately in the previous commit
(6987591); this is everything else that had accumulated alongside it.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.8 KiB
| domain | summary | tags |
|---|---|---|
| cross-chain | PYUSD (PayPal USD) onboarded into the Uniform USD basket on LIVE CHIPNET — the SAME issuer on TWO chains (Ethereum + Solana) became two distinct (issuer×chain) cells folding into ONE unified USD aggregate. Added PYUSD.Ethereum + PYUSD.Solana to the vetted catalog (USD now 12 cells); deposits driven from buildLedger + 2-of-3 quorum; verified on-chain (user holds 7.00 USD = 4.00 + 3.00). EVM real-lock rail ready for PYUSD.Ethereum; Solana rail is a follow-on. | uniform-fiat, pyusd, onboarding, issuer-x-chain, same-asset-two-chains, chipnet, e2e, vetted-catalog, aggregate-covenant, adr-0053, scaling, cross-chain |
Snapshot 0215 — PYUSD onboarding: one issuer, two chains, on live chipnet
Date: 2026-07-21
Track: Cross-chain / Uniform Fiat — scaling the basket with a real candidate
Status: ✅ Onboarded + validated on live chipnet, verdict 5/5, independently re-verified on-chain.
First real use of the ADR-0053 scaling path (catalog row → buildLedger → covenant). Follows 0214.
What happened
The user funded PYUSD (PayPal USD) on both Ethereum and Solana testnets and asked to onboard it —
the same asset on two chains, which is the textbook case for the (issuer × chain) cell model.
-
Catalog — added
PYUSD.Ethereum(sepolia, cap $30M) andPYUSD.Solana(devnet, cap $20M) toservices/uniform-registry/registry.mjs(CURRENCIES.USD.cells), bothvetting, oraclePYUSD/USD median. USD is now 12 cells. PYUSD is a fiat-reserve, NYDFS-regulated (Paxos) coin. -
Chipnet onboarding (
scripts/chipnet-onboard-pyusd.mjs --yes) on the productionUniformReserveAggregatecovenant, cells sourced frombuildLedger('USD'):Step Result txid Genesis USD aggregate basket commitment = aggregate(0) ‖ root 804fe43c…Deposit PYUSD·Ethereum 4.00 minted 4.00 USD, aggregate 4.00 471fe820…Deposit PYUSD·Solana 3.00 minted 3.00 USD, aggregate 7.00 048093b0…Verdict 5/5, independently re-verified by querying the chain: the user holds 7.00 unified USD (= 4.00 + 3.00) under one category; the on-chain aggregate (7.00) equals the off-chain ledger aggregate;
PYUSD.EthereumandPYUSD.Solanaare two distinct cells under one ticker.
What this proves
- The same asset on two chains is two cells, one unified USD. Diversifying an issuer along the chain axis is two catalog rows and two deposits — no code, no new covenant.
- The ADR-0053 scaling path works end-to-end on live chipnet: vetted catalog →
buildLedger→ oracle-priced, quorum-attested deposit → aggregate-commitment covenant. USD scaled to 12 cells with the on-chain state still just an 8-byte aggregate + a root. - Caps came from the catalog ($30M / $20M), enforced off-chain and ratified by the 2-of-3 quorum.
Honest scope (what is and isn't real yet)
- The source-chain lock is oracle-attested here (the basket layer tested in isolation — the same validated pattern the aggregate model runs on, ADR-0047). It is NOT yet a real PYUSD lock on Sepolia or Solana.
- PYUSD·Ethereum's real Sepolia lock is READY via the generic EVM rail (
services/correspondent/evm.mjs, reusing the validatedeth-bch-lock-mint) — it needs the PYUSD Sepolia token address wired into a ledger config, then a user-signeddepositToBitcoinCashlock. - PYUSD·Solana has NO lock-mint rail yet — Solana correspondent support is unbuilt; its real source leg is a follow-on.
- Therefore both cells stay
vetting— they graduate tointegratedonly after their real source-chain rail runs, not off an attested basket deposit.
Next
- PYUSD·Ethereum real lock: wire the PYUSD Sepolia token address into a
services/correspondentledger, run a real SepoliadepositToBitcoinCash→ oracle attest → mint into the basket, then flip the cellvetting → integrated. - Solana rail: build the Solana lock-mint correspondent (the missing chain rail).
- M6b wallet UI (UI session). Option 1b (Merkle-hard caps) if wanted.
Pointers
- Driver:
scripts/chipnet-onboard-pyusd.mjs· catalogservices/uniform-registry/registry.mjs - Covenant:
contracts/UniformReserveAggregate.cash· indexerledger.mjs - EVM real-lock rail:
services/correspondent/evm.mjs - Builds on: 0213 (aggregate migration) · 0214 (catalog) · ADR-0053
- Memory: crosschain-fx-desk-debit-credit · testnet-addresses-funded · correspondent-system-and-reserve-covenant