Skip to content

SPIKE: Protocol 28 (CAP-0084)#2141

Draft
sisuresh wants to merge 1 commit into
stellar:mainfrom
sisuresh:p28-cap-0084
Draft

SPIKE: Protocol 28 (CAP-0084)#2141
sisuresh wants to merge 1 commit into
stellar:mainfrom
sisuresh:p28-cap-0084

Conversation

@sisuresh

@sisuresh sisuresh commented Jul 3, 2026

Copy link
Copy Markdown

SPIKE: Protocol 28 (CAP-0084) — Muxed Contract Addresses.

Lab decodes XDR data-driven via @stellar/stellar-sdk + @stellar/stellar-xdr-json; SC_ADDRESS_TYPE_MUXED_CONTRACT renders with no lab source change once those deps carry CAP-0084.

Changes

  • Pin @stellar/stellar-sdk and @stellar/stellar-xdr-json to local CAP-0084 tarballs (.p28-tarballs/, file: refs) built from the upstream PRs below. Verified: pnpm build, lint:ts, lint, test:unit all pass.
  • js-stellar-sdk@16 vendors stellar-base internally, so no separate @stellar/stellar-base tarball/override is needed (the only base@15 in the tree is the unrelated Trezor chain, off the tx-render path — plan's base-override step dropped as unnecessary).
  • Kept the @ts-expect-error in TransactionDetails.tsx — new types still don't expose innerTx() on the fee-bump path (tsc TS2339 without it).
  • Add NEXT_PUBLIC_CUSTOM_{HORIZON_URL,RPC_URL,PASSPHRASE} fallbacks to defaultCustomNetwork for the Quickstart-bundled lab.

Deferred

  • Swap file: tarball pins for published versions once upstream releases; drop .p28-tarballs/.
  • Known e2e limitation: the CAP-0084 sdk CJS build (federation/server.js) require()s ESM-only @noble/hashes@2.2.0/sha2.js, so Playwright e2e collection fails under Node CJS (ERR_REQUIRE_ESM). Next.js prod build (ESM/webpack) and jest unit tests are unaffected. Resolves when upstream sdk ships a CJS-safe @noble/hashes interop / published release. PR stays draft until then.

Upstream (CAP-0084 chain, unmerged/unpublished)

stellar/js-stellar-base#981 · stellar/js-stellar-sdk#1507 · stellar/js-stellar-xdr-json#59 · stellar/stellar-xdr#307 · stellar/rs-stellar-xdr#552 · stellar/rs-soroban-env#1700 · stellar/rs-soroban-sdk#1924 · stellar/stellar-core#5337 · stellar/go-stellar-sdk#5961 · stellar/stellar-horizon#203 · stellar/stellar-rpc#837 · stellar/quickstart#950

@github-project-automation github-project-automation Bot moved this to Backlog (Not Ready) in DevX Jul 3, 2026
@stellar-jenkins-ci

Copy link
Copy Markdown

@sisuresh

sisuresh commented Jul 3, 2026

Copy link
Copy Markdown
Author

Lab decodes XDR data-driven via @stellar/stellar-sdk +
@stellar/stellar-xdr-json; SC_ADDRESS_TYPE_MUXED_CONTRACT renders with no
lab source change once those deps carry CAP-0084.

Pins @stellar/stellar-sdk (js-stellar-sdk#1507) and @stellar/stellar-xdr-json
(js-stellar-xdr-json#59) to local CAP-0084 tarballs under .p28-tarballs via
file: refs. js-stellar-sdk@16 now vendors stellar-base internally, so no
separate @stellar/stellar-base tarball/override is needed (the only base@15 in
the tree is the unrelated Trezor chain, off the tx-render path). The
@ts-expect-error in TransactionDetails.tsx is kept — the new types still don't
expose innerTx() on the fee-bump path (tsc TS2339 without it).

pnpm build + lint:ts + lint + test:unit all pass with the pins in place.

Adds NEXT_PUBLIC_CUSTOM_{HORIZON_URL,RPC_URL,PASSPHRASE} fallbacks to
defaultCustomNetwork for the Quickstart-bundled lab.
@stellar-jenkins-ci

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog (Not Ready)

Development

Successfully merging this pull request may close these issues.

1 participant