Skip to content

Add sysio.kicker contract types - #106

Merged
valthon merged 1 commit into
masterfrom
feature/sysio-kicker
Oct 27, 2026
Merged

valthon merged 1 commit into
masterfrom
feature/sysio-kicker

Conversation

@valthon

@valthon valthon commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Adds sdk-core contract types for the new sysio.kicker contract from Wire-Network/wire-sysio#675.

What changed:

  • New action types: kick, setconfig, addpool, setpool, rmpool.
  • New tables: kickcfg (including twap_window_sec and the spot-vs-TWAP guard max_spot_deviation_bps), kickpools (including the TWAP observation price_snapshot / price_time the spot_deviation diagnostic and the supply_snapshot gifts are sized on), and the cumulative_price struct.
  • New entries in SysioContractName, SysioContractAccount, SysioContractMapping and SysioContractDefinitions.
  • A client test, following Regenerate launch SDK types for Sysio #670 #102's precedent, that binds sysio.kicker, prepares kick and reads kickpools.

How the types were generated: with wire-sysio's own generator (contracts/tools/generate-sysio-contract-types.py, the recipe in wire-sysio's CLAUDE.md), run over #675's ABIs at 959454a660, then Prettier. Against this repo's master the diff is additions only: the kicker's types. #675 changes no other committed .abi.

Validation: rebased on master 42501b5 (v1.0.98). pnpm build, pnpm run lint and pnpm test, all RC 0: 83/83 suites and 948/948 tests (node 24.20).

Merge order: these types describe a contract that exists only on wire-sysio#675. They can merge independently, since nothing calls them until the contract is deployed, but they belong with #675.

1 commit on master.

🤖 Generated with Claude Code

Rebased onto master 6419c94 as f6d6598; the regenerated kicker types now include kick_pool.supply_snapshot (int64, after spent_today), which #675 added to size each gift on the supply present at the pool's last checkpoint. Gate on this head (per-commit, clean worktree): shared and sdk-core compile, sdk-core 56/56 suites, 644/644 tests. wire-tools-ts #122 was verified against this head.

Regenerated SysioContractTypes.ts with
contracts/tools/generate-sysio-contract-types.py -P snake against
wire-sysio 959454a660 (Wire-Network/wire-sysio#675), then formatted with
the repo's Prettier config. The only change is the new sysio.kicker
surface: kick, setconfig, addpool, setpool, rmpool, and the kickcfg and
kickpools tables, plus its entries in SysioContractName,
SysioContractAccount, SysioContractMapping and SysioContractDefinitions.
kick_config carries max_spot_deviation_bps and kick_pool carries
spot_deviation and supply_snapshot (int64 after spent_today).

A client test checks that the typed proxy binds sysio.kicker, prepares
kick, and reads kickpools.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Codex CLI (gpt via ChatGPT) <[email protected]>
@valthon
valthon force-pushed the feature/sysio-kicker branch from 7d84ead to f6d6598 Compare October 26, 2026 22:35
@valthon
valthon merged commit 6242ad0 into master Oct 27, 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