Skip to content

WIRE-339/WIRE-353: align generated claim interfaces with no-expiry policy - #87

Draft
huangminghuang wants to merge 6 commits into
masterfrom
chore/wire-339-claim-types
Draft

huangminghuang wants to merge 6 commits into
masterfrom
chore/wire-339-claim-types

Conversation

@huangminghuang

@huangminghuang huangminghuang commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Align generated operator-pay, returned-collateral, DClaim, and reserve claim declarations with the no-expiry contract schemas.
  • Remove DClaim expiry configuration and the setclmwindow, flushexpired, and reserve sweepclaims actions from the generated client surface and action metadata.
  • Correct the serializer type guard so its existing toABI function check also narrows the optional method under strict-null checking.

Why

WIRE-339 and the approved WIRE-353 policy keep all four claim ledgers claimable indefinitely, including reserve swap payouts and refunds. The SDK must match the contract schemas and stop advertising removed expiry actions. The serializer guard correction is type-only and preserves runtime behavior while integrating the target branch's slug_name serializer.

Published @wireio/sdk-core 1.0.92 still exposes expiry declarations and reserve sweepclaims in both ESM and CJS. Merge this source after the contract companion and publish a compatible SDK through the normal release process before updating registry consumers.

Validation

  • Full generation from the candidate contract ABIs exactly matches the checked-in declarations; both built ESM/CJS declaration sets omit the removed fields and actions.
  • SDK compilation, hybrid exports, and strict-null typechecking passed. All 22 targeted generic system-contract and reserve client/action/slug tests passed across four suites for the reserve follow-up.
  • The preceding serializer integration passed its sdk-core and slug-serialization coverage; the new follow-up changes only generated contract declarations and action metadata.
  • Independent correctness and architecture/compliance reviews found no remaining actionable issues.

Companion PRs

  • wire-sysio #639: removes expiry storage and forfeiture across the four claim ledgers, including the epoch-to-reserve sweep call. Merge before SDK source and release. Deploy epoch before reserve, or atomically; the second of SYSIO #639/#603 to land must rebuild epoch WASM.
  • wire-tools-ts #107: updates the emissions flow and bootstrap documentation while preserving exact collateral-code identity. It remains draft pending a compatible SDK release, minimum-version update, and registry-only validation.

Change-Id: Iac3556e891d9ee29ec1d315b9ce232b8945ceacd
…m-types

Change-Id: I027c362b816cefffb7814f284a30654dc5817d48
@huangminghuang
huangminghuang marked this pull request as ready for review September 24, 2026 19:01
@huangminghuang
huangminghuang marked this pull request as draft September 24, 2026 20:34
Change-Id: I16383ec843a80443da897da8c2096b072e4699d0
@huangminghuang huangminghuang changed the title WIRE-339: remove expiry fields from generated claim types WIRE-339/WIRE-353: align generated claim interfaces with no-expiry policy Sep 24, 2026
@huangminghuang
huangminghuang marked this pull request as ready for review September 24, 2026 23:47
@huangminghuang
huangminghuang marked this pull request as draft September 25, 2026 16:26
Change-Id: I065a57a2311b7d039d2213411cff728635c5d44e
Change-Id: Ia8cf355b25c2327bf8384ab3d9158315918462a8
Change-Id: I5e5818882663dbdafbee2b463cae50bbd5c0935b

This branch has not been deployed

No deployments
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