Chore: regenerate SysioContractTypes for claimable payout actions - #66
Open
heifner wants to merge 2 commits into
Open
Chore: regenerate SysioContractTypes for claimable payout actions#66heifner wants to merge 2 commits into
heifner wants to merge 2 commits into
Conversation
…ctions sysio.system, sysio.reserv and sysio.opreg now credit claimable balances on their never-throw payout paths instead of pushing sysio.token::transfer, so recipients pull their funds with a self-authorized claim action. Regenerated from those ABIs. Adds the three claim actions -- sysio.system::claimpay, sysio.reserv::claimwire and sysio.opreg::claimremit -- and the four ledger tables backing them: payclaims and payclaimtot on sysio.system, wireclaims on sysio.reserv, remitclaims on sysio.opreg. Without these, SDK consumers cannot call the claim actions or read what they are owed.
`SysioContractTypes.ts` is fully generated, so the conflict is resolved by
REGENERATING it from the current wire-sysio ABIs rather than by hand-merging two
generated outputs. Run against wire-sysio `fix/sec-150-claimable-payouts`
(c453c0c0e0), which is itself up to date with wire-sysio master.
That pulls in three things at once:
* master's own regenerations, which conflicted here.
* the swap-fee-distribution surface wire-sysio master has since gained —
`sysio.reserv::{setconfig,setrsvfee,rsvfeebal,claimrsvfee,uwfeebal,claimuwfee}`
plus the `uwfees` / `reservcfg` tables. This branch predated that work, so it
had none of it.
* the SEC-150 claimable-payout surface this PR exists for:
`sysio.system::claimpay` + `payclaims`/`payclaimtot`,
`sysio.reserv::claimwire` + `wireclaims`,
`sysio.opreg::claimremit` + `remitclaims`.
Also picks up today's retention-stamp change (wire-sysio c453c0c0e0):
`SysioSystemPayClaimType` and `SysioOpregRemitClaimType` each gain
`expires_at_sec`, matching `SysioReservWireClaimType`. The field is recorded but
unread on chain — no sweep is wired — so nothing here changes behaviour; the
types just have to carry the column.
Gate: `pnpm build`, `typecheck:strict-null:sdk-core`, and jest (76 suites, 885
tests) all pass.
Change-Id: I1c9d8cff2167a6a1587be2dfe357cc9324beb300
jglanz
approved these changes
Aug 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Companion to Wire-Network/wire-sysio#558 (SEC-150).
sysio.system,sysio.reservandsysio.opregno longer pushsysio.token::transferon their never-throw payout paths.sysio.token::transfernotifies its recipient, and the chain runs notified receivers with no exception isolation, so a recipient'son_notifyhandler could abort the enclosing transaction — which on the epoch-advance paths meant halting epoch advancement chain-wide. Those payouts now credit a claimable balance that the recipient pulls with a self-authorized action.Regenerated
SysioContractTypes.tsfrom the resulting ABIs.New actions
sysio.system::claimpaysysio.reserv::claimwiresysio.opreg::claimremitNew tables:
payclaimsandpayclaimtotonsysio.system,wireclaimsonsysio.reserv,remitclaimsonsysio.opreg. The per-account tables are readable to show a "you have X to claim" balance.Without this, SDK consumers cannot call the claim actions or read what they are owed.
Generated with
contracts/tools/generate-sysio-contract-types.py -P snake; no hand edits.