Skip to content

sdk: syndication underwriting, emergency stop and live custody totals - #92

Merged
valthon merged 6 commits into
masterfrom
feature/syndication-underwriting
Oct 8, 2026
Merged

valthon merged 6 commits into
masterfrom
feature/syndication-underwriting

Conversation

@valthon

@valthon valthon commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Expose the generated depot contract interfaces needed by underwriting, syndication and emergency-stop clients. Keep action and table consumers aligned with the new contract ABIs.

Design sources: WIRE-V1-SYNDICATION-UNDERWRITING-SPEC.md and WIRE-V1-UNDERWRITING-REQUIREMENTS.md in the platform workspace. Test citations below are retained local ledgers/reports under that workspace; recorded results refer to the revisions named in those reports, not a fresh run of this PR tip.

What changes

CI and OPP dependency compatibility

  • Preserve the strict-null SDK gate and narrow the serializer guard to a required callable toABI, matching its runtime check. Cover callable encoders and carriers with absent/non-callable encoders.
  • Update @wireio/opp-typescript-models to ^1.0.51 in both consumers and resolve version 1.0.51 in the lockfile, preserving unrelated dependency versions.
  • Remove the touched serializer file from the switch/inline-type lint debt lists and replace those grandfathered patterns with equivalent compliant code.

Generated contract surface

  • 5f64182 — Regenerate SysioContractTypes for sysio.bond, sysio.synd and sysio.andon; expose their actions/tables and move sweep/desyndicate types from liq to synd.

Included from earlier work

  • 1198cc4 — chore(sdk-core): regenerate SysioContractTypes for depot-native collateral

How it was tested

  • Fresh validation of the CI repair on 2026-10-08: clean locked npm installation without sibling links; pnpm run test:ci passed the build, strict-null check, and 82 suites / 941 tests. Repository lint and formatting checks for the changed TypeScript files passed. The earlier counts below are historical results from previous revisions.

  • At control 1198cc4 and generated-types revision 5f64182, pnpm build, lint and test all returned RC 0: 90 suites / 981 tests passed at each revision. The pre-commit hook repeated the same passing tally. Source: wire-sysio/.superpowers/sdd/syndication-underwriting-part-e/task-E1-report.md.

  • The same report verifies andon/bond/synd declarations in source and built typings, removal of the old liq action types, and the sibling TypeScript model bundle carrying totalSyndicated. Model bundles are produced/published by wire-sysio; this PR changes generated SDK contract types.

  • The SDK model-package dependency conflicts with the current platform policy; the manifest documents that unresolved policy decision. Source: wire-sysio/.superpowers/sdd/syndication-underwriting-part-e/progress.md and wire-sysio/.superpowers/sdd/syndication-underwriting-part-e/task-manifest-report.md.

Landing order and dependencies

  1. Merge wire-sysio first, then publish wire-opp-solana-models, @wireio/opp-solidity-models, and @wireio/opp-typescript-models with the new total_syndicated field.
  2. Land wire-solana and wire-ethereum after those packages publish. Their standalone CI cannot compile against the older models; Ethereum also requires @wireio/opp-solidity-models ^1.0.51. Solana targets codex/operation-disabled; Ethereum targets next.
  3. Land wire-libraries-ts after wire-sysio so its generated contract types match the deployed ABIs.
  4. Land wire-tools-ts after wire-libraries-ts and after cluster-tool + flow-liq-syndication: drive the simple_swap liq attestations through the real liqsol_core paths wire-tools-ts#98 and cluster-tool + flow-liq-yield: bootstrap sysio.swap/sysio.liq and drive the LIQ reward flow end to end wire-tools-ts#104 (chore(release): patch bump v1.0.97 (stable) #104 is stacked on Add exact depot swap quotes with pending yield and output fees #98).
  5. Land wire-platform-manifest last, aligning documentation and rules with the runtime changes.

Ethereum includes the SyndicationPool commit from draft https://github.com/Wire-Network/wire-ethereum/pull/207 unchanged as 8ed70fb8; subsequent changes extend and harden it.

Related PRs

🤖 Generated with Claude Code

https://claude.ai/code/session_01WvJpbenHM8A16MLiMteYtj

valthon and others added 2 commits September 29, 2026 09:52
…teral

Regenerated from the committed sysio.* ABIs on wire-sysio
feature/depot-native-collateral (cab0e65fc5). Only sysio.opreg differs.

sysio.opreg ABI delta:
- deposit, withdraw and claimremit actions carry token_code
- claimyield and sweepyield actions added
- remitclaims row and its key carry token_code
- yieldpool table added; yield_pool carries received, credited, pulled_index, pulled_owed, keyed by yield_pool_key
- operator balance entry gains shadow_yield, typed by the new position type

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WvJpbenHM8A16MLiMteYtj
…synd and sysio.andon

Generated from wire-sysio 491988dc8c committed ABIs. SysioContractName gains andon, bond and synd; sweep and desyndicate move from the liq surface to synd.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
Claude-Session: https://claude.ai/code/session_01WvJpbenHM8A16MLiMteYtj
Expose the operational syndication tables, acknowledged bond outcomes,
restricted LIQ settlement, and separate WIRE claims from the rebuilt
contract ABIs. Remove the retired reporting fields from generated types.

Validation: regenerated output matches the final ABIs and the SDK builds.
Remove depot reserve and swap-underwriting clients, external custody
workflows, stale exports and dedicated tests. Regenerate contract types
and retain verified OPP, LIQ and node-owner client boundaries.

Validation: build and 939 tests passed; 38 outpost tests also passed
against refreshed artifacts. The strict-null gate reports an existing
optional toABI call in unchanged serializer/Builtins.ts.
Remove retired reserve and swap SDK clients
@valthon
valthon merged commit f787415 into master Oct 8, 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.

2 participants