@ancientpantheon/codex
v0.11.0
Published
The consumer-facing multi-chain Codex aggregator — install this one package to get the whole wallet (core + UI + every chain module) exposed through provider/hooks/ui and per-chain subpath exports. The four internal member packages are bundled in; consume
Readme
@ancientpantheon/codex
The consumer-facing multi-chain Codex aggregator. Install this single package to get the whole wallet — the chain-agnostic core, the browser interface layer, and every chain module — re-exposed through subpath exports:
| Import | What you get |
| --- | --- |
| @ancientpantheon/codex | the chain-agnostic root: codec, vault, adapter/snapshot + foreign-chain contracts, connection/resolver factory (no React) |
| @ancientpantheon/codex/provider | the composed top-level <CodexProvider> |
| @ancientpantheon/codex/hooks | the React hooks (useCodex, useCodexAuth, useOuroAccounts, …) |
| @ancientpantheon/codex/ui | the full UI (tabs, settings, cards, the debouncer) |
| @ancientpantheon/codex/ouronet | the Ouronet (Kadena/Pact) chain module — adapter, connection, identity, resolver, state, errors, types |
| @ancientpantheon/codex/arweave | the Arweave chain module — adapter, keyring, connection, panel |
| @ancientpantheon/codex/ui.css | the merged stylesheet (import "@ancientpantheon/codex/ui.css") |
A React app gets the full multi-chain wallet from one dependency; a headless consumer imports only the core it needs without pulling React.
Install
npm install @ancientpantheon/codex @ancientpantheon/arweave-core@ancientpantheon/arweave-core is the aggregate's one external @ancientpantheon dependency (published separately). You also provide the peers you already have: react, react-dom, the @stoachain/* chain primitives, @noble/curves, and lucide-react.
How the bundle works
The four internal member packages (codex-core, codex-ui, codex-ouronet, codex-arweave) stay private and are bundled — their compiled JS and types are inlined into this package's dist (via tsup). A consumer never installs or resolves them. Everything third-party (React, the @stoachain/* primitives, zustand, CodeMirror, arweave, @ardrive/turbo-sdk, …) stays external and is provided through this package's dependencies/peerDependencies.
Browser note: @ardrive/turbo-sdk ships a Node build at its root export. A browser consumer (Vite/Next/webpack) must alias it onto its /web build — the same aliasing arweave-core documents — so the browser crypto driver is bundled instead of the Node build.
Status
Version 0.11.0 on public npmjs. The aggregate: the six subpath barrels wired to the members and the members bundled in (JS + types self-contained — a TypeScript consumer type-checks against only this package + arweave-core).
Version history
v0.11.0 — Two new chain capabilities. Arweave: Pure Keys (RSA-4096 generate/import, PEM + JSON keyfiles) and Seeds (Direct Deterministic RSA + Seed Words, unified seed picker/reveal) categories wired end-to-end; live per-account balances with native AR send (Fee Included/Fee On Top modes, real on-chain confirmation polling via the gateway's own status endpoint, a ViewBlock explorer link with an honest indexing-lag caption, and a live "Updated Xs ago" balance-freshness indicator); the watch-list and Prime Arweave Seed now persist through codex backup export/import; real gateway mode is the default. Direct native Stoa/UrStoa movement: a Stoa/UrStoa toggle on the Chainweb Accounts tab exposing Transfer/Stake/Unstake/Collect (liquid + staked + claimable balances, live tooltips) alongside native Stoa send (now showing the sending chain + the sender's balance on that specific chain). Cross-cutting fix: every signed action above — plus Send AR — now pops the real password prompt on a locked codex and resumes automatically, instead of dead-ending on a static error. codex-only release (arweave-core unchanged).
v0.10.0 — Transaction gas-price fix (affects every signed transaction). All 13 transaction-building sites omitted meta.gasPrice, so Pact's 1e-8 default went out on the wire instead of the live Yin Engine floor. Re-pinned to @stoachain/stoa-core / @stoachain/kadena-stoic-legacy >=4.4.0 and @ouronet/ouronet-core >=4.6.0, whose CodexSigningStrategy.execute() now performs ONE stoaGasMeta() clock read per call and injects gasPrice + creationTime into every build(ctx) callback (alongside gasLimit). Every site now takes both from that ctx instead of re-reading the clock — which also fixes a latent request-key bug, since build() runs twice (simulation + real) and a per-call safeCreationTime() produced a different command hash between the two passes. Consumers must have @stoachain/stoa-core >=4.4.0 and @ouronet/ouronet-core >=4.6.0. codex-only release.
v0.9.1 — Address Book display fix. Long Ouronet addresses no longer bulge past the page width — the entry-list grid is clamped with minmax(0, 1fr) so unbreakable addresses truncate instead of overflowing (fixes all three sub-tabs: Ouronet, StoaChain, StoicTags). Ouronet entries now render with the same blue-highlighted, width-filling, centered middle-truncation component as the Ouronet Accounts tab, and render directly in their final form (no visible "retract" flash). Removes the erroneous KADENA:MAINNET chain chip from the Address Book (StoaChain is mainnet-only). codex-only release.
v0.9.0 — Pythia consumer-API-key management. Two new Ouronet-account sub-tabs — Single API (link Apollo ₱./Π. halves into a dual API key) and Dual API (manage the linked composite keys) — with three both-owner-authorized ZBOM transaction modals: Link (no fee), Rename lane (100 STOA, 4-way split), and Revoke (1 IGNIS kill-switch); costs + split receivers are read from the on-chain INFO so they never drift. Adds a post-transaction refresh so the accounts view re-reads chain state automatically after any tx confirms (no manual reload). codex-only release.
v0.8.1 — bug fix. The Ouronet account card no longer hides an account's Payment Key when that payment-key address has never held STOA. The chain's payment-key-existance flag reports funding (virgin vs funded), not whether a payment key exists — every registered account has one — so the card now shows the payment-key address regardless of funding, with a "virgin · never funded" marker instead of dropping the whole section.
v0.8.0 — additive, no breaking changes. Adds createHeadlessKadenaResolver, exported from @ancientpantheon/codex/ouronet: a server-safe, pre-bound Kadena KeyResolver for headless Khronoton automatons (Pythia, Mnemosyne). A consumer supplies a loadSnapshot + getPassword thunk pair and binds zero @stoachain crypto itself — all seedType-aware derivation (koala / chainweaver / eckowallet / pure-foreign, with the wrong-key refusal guard) is delegated to Codex's one canonical headless resolver instead of hand-rolled per consumer. Loads no React/DOM from /ouronet. codex-only release (arweave-core unchanged).
v0.7.0 — additive, no breaking changes. Adds autoSignApolloChallenge, exported from @ancientpantheon/codex/ouronet: lets a server-side Automaton (Pythia first) prove ₱./Π. Apollo-account ownership autonomously, on a recurring timer, with zero browser and zero human prompt. Reuses the exact canonical challenge message and dalos-apollo Schnorr signing already proven by the existing browser /apollo-verify flow, so a signature it produces verifies against Pythia's existing verifier unchanged. codex-only release (arweave-core unchanged).
v0.6.1 — dependency rename, no behaviour change. Released 2026-07-22. The Ouronet libraries moved to @ouronet/ouronet-core and @ouronet/dalos-crypto in the Phase-4 reorganisation; the old names are deprecated. The codec version gate now reflects the core's widened reader (accepts "1.2" and "1.3") while asserting the writer stays pinned at "1.2". 1570 specs pass.
v0.6.0 — Codex password rotation. New rekeyCodex(snapshot, old, new) — a pure, isomorphic transform (from @ancientpantheon/codex/ouronet) that re-encrypts the WHOLE secret inventory old→new (pre-flight verify, skip-not-drop, V2 output). Plus a changeCodexPassword store action wired as the default onChangePassword, so the change-password card works out of the box. Resolves Handoff 07.
v0.5.1 — Fix the zbom STOA fee mark (StoaChainCostDisplay): render the gold ❖ glyph inline instead of an <img> to a host-app asset that broke in consumers (e.g. Mnemosyne). Self-contained in the bundle. No API changes.
v0.5.0 — First functional aggregate: wired + bundled codex-core/codex-ui/codex-ouronet/codex-arweave through provider/hooks/ui/ouronet/arweave + ui.css; tsup dts-rollup so the .d.ts are self-contained.
v0.0.1 — Initial package skeleton (empty barrels).
Bundled member versions
| Member package | Version |
| --- | --- |
| @ancientpantheon/codex-core | 0.3.0 |
| @ancientpantheon/codex-ui | 0.5.0 |
| @ancientpantheon/codex-ouronet | 0.11.0 |
| @ancientpantheon/codex-arweave | 0.3.0 |
| @ancientpantheon/arweave-core | 0.2.0 |
