Chore: regenerate SysioContractTypes for sysio.chains outpost addrs - #72
Open
heifner wants to merge 2 commits into
Open
Chore: regenerate SysioContractTypes for sysio.chains outpost addrs#72heifner wants to merge 2 commits into
heifner wants to merge 2 commits into
Conversation
…st addrs Regenerate packages/sdk-core/src/types/SysioContractTypes.ts from the wire-sysio system-contract ABIs (contracts/tools/generate-sysio-contract-types.py -P snake), picking up the sysio.chains outpost-address change. - sysio.chains: add the outpost_addrs type (opp_addr, opp_inbound_addr, operator_registry_addr, source_deposit_addr) and the setoutpost action - sysio.chains: regchain and chain_row gain the nested outpost field - sysio.chains: setoutpost joins the contract's action list Nothing else in the file changes. Required by the cluster-tool change that seeds each outpost chain's remote contract addresses onto its registry row.
This was referenced Aug 20, 2026
Open
Regenerating the types alone left the hand-written sysio.chains client broken: regchain's action data gained a required `outpost` field, so `createRegisterChainActionData` no longer satisfied its own return type and `tsc -b` failed. More seriously, `ChainsRegisterChain` is the runtime serializer the contract proxy actually encodes with. Without the nested struct it would have encoded five fields where the ABI now expects six, so every regchain would have been rejected on chain — a typecheck-only fix would have compiled and then failed at runtime. Adds ChainsOutpostAddrs and ChainsSetOutpost serializers, the setoutpost descriptor entry and action builders, a ChainOutpostAddresses type, and the addresses on ChainRecord. `ChainRegistration.outpost` is optional and every omitted role defaults to empty, matching the protocol's register-then-configure path: empty means not deployed yet, and both operator daemons skip such a chain rather than acting on a wrong address.
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.
Regenerated from the wire-sysio system-contract ABIs with
contracts/tools/generate-sysio-contract-types.py -P snake, picking up thesysio.chainschange that moves each outpost's remote contract addresses onto its registry row (Wire-Network/wire-sysio#579).sysio.chains: newoutpost_addrstype —opp_addr,opp_inbound_addr,operator_registry_addr,source_deposit_addrsysio.chains: newsetoutpostaction, and it joins the contract's action listsysio.chains:regchainandchain_rowgain the nestedoutpostfieldNothing else in the file changes.
Cross-repo
This needs to publish before the cluster-tool change can land:
@wireio/sdk-coreis a published dependency there, not a workspace link, and the cluster-tool step that seeds the addresses callschains.actions.setoutpost.Merge order: the two wire-sysio PRs, then this and its publish, then wire-tools-ts#77.