Skip to content

chore(sdk-core): regenerate SysioContractTypes for the swap-fee surface - #60

Merged
heifner merged 3 commits into
masterfrom
feat/swap-fee-distribution
Aug 11, 2026
Merged

chore(sdk-core): regenerate SysioContractTypes for the swap-fee surface#60
heifner merged 3 commits into
masterfrom
feat/swap-fee-distribution

Conversation

@heifner

@heifner heifner commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Regenerated SysioContractTypes.ts from the wire-sysio ABIs so the harness can consume the new fee surface.

What the regen adds

  • sysio.reserv actions setrsvfee / claimrsvfee / rsvfeebal (reserve owner fee) and setconfig (the rewards-pool emissions share), plus claimuwfee / uwfeebal (underwriter fee)
  • Tables uwfees and reservcfg, and the owner_fee_bps / owner_fee_accrued / owner_fee_lifetime columns on reserve_row

Pre-existing staleness this also picks up

The committed types were well behind the contracts, so the regen brings in surface that had already landed in wire-sysio and never propagated — notably the whole sysio.councl contract and the sysio.chalg dispute actions. That widens the diff beyond the fee work.

Worth flagging because the staleness was masking a real defect: the harness had been calling sysio.uwrit::setconfig without its two uwreq lifecycle fields and type-checking clean against the stale definitions. It only surfaced as a compile error once the types were refreshed. (The fix for that had independently landed upstream in wire-tools-ts as SEC-129 / PR #38.)

This is the gap the e2e-gate-no-sct-regen note describes — a wire-sysio ABI change needs a companion regen branch here, because the e2e gate builds the harness against these committed types.

Verification

pnpm build clean; the new symbols are present in both the CJS and ESM lib/ output.


Related PRs — one change across four repos

Land in this order; the first three are coupled:

  1. feat(fees): pay underwriters and reserve owners out of the swap fee wire-sysio#546 — contracts: the fee split, accruals, and claim actions
  2. chore(sdk-core): regenerate SysioContractTypes for the swap-fee surface #60 — regenerated SysioContractTypes from those ABIs ← this PR
  3. feat(fees): mirror the swap-fee split and cover it end-to-end wire-tools-ts#54 — harness mirror + e2e flow coverage
  4. Wire-Network/wire-platform-manifest#5 — bootstrap-doc corrections

wire-libraries-ts#60 must merge before wire-tools-ts#54 (the harness builds against the committed SysioContractTypes), and both need wire-sysio#546's ABIs first. The manifest PR is doc-only and independent.

Running the e2e gate on this set needs all three code branches passed explicitly:
BRANCH_WIRE_SYSIO=feat/swap-fee-distribution, BRANCH_WIRE_LIBRARIES_TS=feat/swap-fee-distribution, BRANCH_WIRE_TOOLS_TS=feat/swap-fee-distribution.

The tools-ts override is not optional — without it the gate discovers and runs master's flows, so none of the new fee coverage executes. wire-ethereum / wire-solana stay on their manifest defaults (next); neither repo is touched by this change.

Gate run: all 13 flows passed (2026-08-05) — resolved wire-sysio@f982725a, wire-libraries-ts@ab92a844, wire-tools-ts@74b2f092; wire-ethereum / wire-solana on manifest default next.

Regenerated from the wire-sysio ABIs. Adds the fee surface the depot
change introduces:

- sysio.reserv actions setrsvfee / claimrsvfee / rsvfeebal (reserve owner
  fee) and setconfig (the rewards-pool emissions share), plus claimuwfee /
  uwfeebal (underwriter fee)
- tables uwfees + reservcfg, and the owner_fee_bps / owner_fee_accrued /
  owner_fee_lifetime columns on reserve_row

The regen also picks up surface that had already landed in wire-sysio but
never propagated here — notably the whole sysio.councl contract and the
sysio.chalg dispute actions. That staleness was masking a real defect: the
harness was calling sysio.uwrit::setconfig without its two uwreq lifecycle
fields and type-checking clean against the stale definitions.

Change-Id: I8033e62c03003e067bfc24b4ed3a08c23ab5ab56
…ibution

Change-Id: Ia0dc1395cb2d2ac3cb0456fa064495c5f98f8ade
…ibution

Change-Id: I91e5c8795107dacdabfc0aa77b097ea39c049c87
@heifner
heifner merged commit 8f3cd80 into master Aug 11, 2026
1 check passed
@heifner
heifner deleted the feat/swap-fee-distribution branch August 11, 2026 14:38
heifner added a commit that referenced this pull request Aug 12, 2026
wire-sysio#549 adds `challenge_id` to `uw_request_t` — the marker `holdlocks`
stamps while an underwriter-fault challenge is OPEN, cleared by `freelocks` and
`sweeplocks`, and the flag `pruneuwreqs` refuses to erase a row on.

The regen against the branch's ABIs picks up exactly that one additive field on
`SysioUwritUwRequestTType`; merging master first (for #60's swap-fee surface)
keeps the diff to the single line.

Unblocks the wire-tools-ts flow reading the marker to assert a challenged uwreq
survives the retention sweep.

Change-Id: I4d9dd8a7332651b0af6d8c4023704eafee24f94e
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.

2 participants