Skip to content

refactor(committor): remove the global validator authority keypair - #1868

Merged
snawaz merged 1 commit into
fix/replayable-settlement-receiptsfrom
refactor/remove-global-validator-keypair
Nov 4, 2026
Merged

snawaz merged 1 commit into
fix/replayable-settlement-receiptsfrom
refactor/remove-global-validator-keypair

Conversation

@snawaz

@snawaz snawaz commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

What changed

Removes Magic Program's global validator keypair and startup initialization. Accept and set-stage transactions now use Engine's borrowed signer; builtin authority checks continue using Engine's thread-local pubkey. Test helpers initialize only a pubkey.

Partially addresses #1535.

Remaining work for #1535

The leader still copies the authority keypair into the callback service, committor, and Chainlink, and clones Engine's signer for fee-vault funding. The committor execution context still owns a Keypair. Those paths must use Engine's signer without owning copies before Engine is the sole keypair owner.

The stack's receipt coverage uses RedSuite PR #302.

@snawaz
snawaz added this pull request to stack #1869 November 1, 2026 09:22
@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 00f2791 and a441660.

Files selected for processing: 11
  • bins/validator/src/leader.rs
  • committor/src/execution/test_utils.rs
  • committor/src/shared/outbox/outbox_client.rs
  • programs/magic-program/Cargo.toml
  • programs/magic-program/src/intent_bundles/process_execute_callback.rs
  • programs/magic-program/src/intent_bundles/schedule/process_schedule_commit_tests.rs
  • programs/magic-program/src/outbox_intent/process_close_outbox_intent.rs
  • programs/magic-program/src/schedule_task/process_schedule_task.rs
  • programs/magic-program/src/test_utils/mod.rs
  • programs/magic-program/src/utils/instruction_utils.rs
  • programs/magic-program/src/validator.rs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Tip

🎯 Customize your risk assessments

Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.

✅ Automatic approvals, with your rules

Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch from 7c5f8ff to 5698f0d Compare November 2, 2026 13:40
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch from 5698f0d to 2778394 Compare November 2, 2026 23:38
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch from 2778394 to 664f086 Compare November 2, 2026 23:57
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch from 664f086 to 590ddf3 Compare November 3, 2026 00:43
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch 2 times, most recently from 76ba625 to d06ef4b Compare November 3, 2026 01:06
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch 4 times, most recently from 29e5d83 to 7f75fbc Compare November 3, 2026 11:59
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch from 7f75fbc to 430199b Compare November 3, 2026 13:42
@snawaz
snawaz marked this pull request as ready for review November 3, 2026 14:00
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch from 430199b to 1e02d99 Compare November 3, 2026 15:33
@snawaz
snawaz requested a review from bmuddha November 3, 2026 15:53
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch from 1e02d99 to a441660 Compare November 3, 2026 22:54
Scheduling no longer pre-signs settlement notifications. The remaining
accept and set-stage transaction builders still obtained their signer
from Magic Program's process-wide keypair, even though the outbox client
already has access to Engine.

Build those instructions with an explicit authority pubkey and sign the
transactions in the outbox client using Engine's borrowed signer and
blockhash. Preserve the existing RPC retries and confirmation handling.

Remove the global keypair, its accessors and initialization, and the
leader startup call that populated it. Delete the signed instruction
wrappers and the unused transaction helper. Builtin authority and signer
checks continue using Engine's thread-local public identity.

Move test authority setup into test_utils, initializing only a pubkey
when the current thread has none. Remove obsolete committor test setup,
update existing builder callers, and verify that closing an outbox works
with an explicitly supplied authority. Move Magic Program's keypair,
signer, and transaction dependencies to dev-dependencies.

Validation:
- cargo fmt --check and git diff --check
- cargo check --tests for Magic Program, committor, and validator
- cargo clippy --workspace --all-targets -- -D warnings
- cargo test --workspace: 516 tests and 2 doctests passed

RedSuite qualification has not been run.

Refs #1535
@snawaz
snawaz force-pushed the refactor/remove-global-validator-keypair branch from a441660 to 6bd636f Compare November 4, 2026 02:54
@snawaz
snawaz merged commit bb8d5bc into master Nov 4, 2026
7 of 14 checks passed
@snawaz
snawaz deleted the refactor/remove-global-validator-keypair branch November 4, 2026 02:55
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