Skip to content

fix(specs): use MAX_SIGNERS in multisig initialize harness - #170

Closed
Stevengre wants to merge 1 commit into
codex/upstream/bootstrap-runtime-verification-max-signers-3from
codex/upstream/issue-013-spec-max-signers-from-constant
Closed

fix(specs): use MAX_SIGNERS in multisig initialize harness#170
Stevengre wants to merge 1 commit into
codex/upstream/bootstrap-runtime-verification-max-signers-3from
codex/upstream/issue-013-spec-max-signers-from-constant

Conversation

@Stevengre

Copy link
Copy Markdown

Summary

This replaces the shared initialize-multisig harness's hardcoded 11 bounds with spl_token_interface::instruction::MAX_SIGNERS.

Context

Once the runtime-verification path switches to a 3-signer multisig layout, the shared initialize harness must use the same bound as the implementation. Keeping literal 11 in the spec admits out-of-model branches that the proof-only implementation no longer allows.

Red vs Green

Red:

  • The runtime-verification implementation constrains multisig inputs to MAX_SIGNERS = 3.
  • The shared spec still accepts 1..=11, so impossible branches survive inside test_process_initialize_multisig / test_process_initialize_multisig2.

Green:

  • The harness now uses the canonical MAX_SIGNERS constant.
  • The spec domain matches the implementation domain on the proof-only path.

References

@Stevengre

Copy link
Copy Markdown
Author

Folded into #169 so the proof-only multisig implementation/layout change and the shared initialize harness bound stay in one review unit. Closing this PR as redundant.

@Stevengre Stevengre closed this Mar 6, 2026
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