Skip to content

outpost_solana_client_plugin: --solana-outpost-program-name + required token custody - #517

Merged
jglanz merged 1 commit into
feature/packaging-deb-rpm-portablefrom
fix/solana-opp-integration
Jul 15, 2026
Merged

jglanz merged 1 commit into
feature/packaging-deb-rpm-portablefrom
fix/solana-opp-integration

Conversation

@jglanz

@jglanz jglanz commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Chained onto #511 (feature/packaging-deb-rpm-portable) — this PR carries ONLY the Solana-outpost plugin change on top of the packaging branch.

  • New --solana-outpost-program-name option (default opp_outpost) on outpost_solana_client_plugin selects which program IDL hosts the OPP outpost. The wire-solana cleanroom moved the outpost interface inside the liqsol_core Anchor program, so the wire-tools-ts harness passes liqsol_core; IDL filtering (filter_outpost_program_idls) and the create-client assert carry the configured name.
  • resolve_token_custody: mint + decimals resolve from OutpostConfig.token_addresses_by_code / precision_by_token_code and both entries are REQUIRED (parity with wire-ethereum's WIRE_TokenPrecisionUnset and the program's PrecisionUnconfigured); the zero mint is the native marker. reserve_info_for_codes reads custody from config at dispatch time (cleanroom Reserves carry no custody fields).
  • SEC-94 terminal-budget fixture identity updated to liqsol_core (measurements byte-identical: account count, discriminator, and args are unchanged; numbers verified equal to wire-solana's copy).
  • Plugin tests: IDL-name filtering, default constant, custody resolution + required-entry throws — 29/29 green.

Merge order

Merge this repo's chain before (or with) the wire-tools-ts companion — an updated harness against an older nodeop fails with Unknown option: --solana-outpost-program-name.

Companions

Validation

  • Plugin unit tests 29/29; contracts_unit_test + test_fc green on the pre-rebase base (master); nodeop --help exposes the option.
  • All 13 wire-tools-ts flows green locally against this plugin change.
  • The chained combination (this branch = packaging + this commit) is validated by the cross-repo e2e-tests dispatch over fix/solana-opp-integration in wire-sysio/wire-tools-ts/wire-solana.

🤖 Generated with Claude Code

…d token custody

- New --solana-outpost-program-name option (default opp_outpost) selects
  which program IDL hosts the OPP outpost; the wire-tools-ts harness
  passes liqsol_core since the cleanroom moved the outpost inside that
  program. IDL filtering (filter_outpost_program_idls) + the
  create-client assert carry the configured name.
- resolve_token_custody resolves mint + decimals from
  OutpostConfig.token_addresses_by_code / precision_by_token_code and
  REQUIRES both entries (parity with wire-ethereum's
  WIRE_TokenPrecisionUnset and the program's PrecisionUnconfigured);
  zero mint = native marker. reserve_info_for_codes reads custody from
  config at dispatch time (cleanroom Reserves carry no custody fields).
- sec-94 terminal-budget fixture identity updated to liqsol_core
  (measurements unchanged: account count, discriminator, and args are
  identical).
- Plugin tests: IDL-name filtering, default constant, custody
  resolution + required-entry throws (29/29 green).

Companion: wire-tools-ts branch fix/solana-opp-integration passes the
new option. Merge THIS repo first — an updated harness against an older
nodeop fails with "Unknown option".

Co-Authored-By: Claude Fable 5 <[email protected]>
Change-Id: If16a8d053ba8efeec94c39fa71c05984ae0b9b2d
@jglanz

jglanz commented Jul 14, 2026

Copy link
Copy Markdown
Contributor Author

e2e gate GREEN over this branch (chained on #511): all 13 flows passed — run: https://github.com/Wire-Network/wire-platform-build-system/actions/runs/29368882980. The wire-solana side (Wire-Network/wire-solana#374) is rebase-merged into its next; wire-tools-ts companion PR: Wire-Network/wire-tools-ts#27. Merge order: this repo before (or with) the tools-ts PR.

@jglanz
jglanz merged commit 74f2fe2 into feature/packaging-deb-rpm-portable Jul 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant