Skip to content

refactor(sentinel): update validator statuses to checkpoint-based naming#20372

Merged
spalladino merged 2 commits intomerge-train/spartanfrom
palla/sentinel-checkpoint-statuses
Feb 11, 2026
Merged

refactor(sentinel): update validator statuses to checkpoint-based naming#20372
spalladino merged 2 commits intomerge-train/spartanfrom
palla/sentinel-checkpoint-statuses

Conversation

@spalladino
Copy link
Contributor

@spalladino spalladino commented Feb 10, 2026

Summary

  • Decouples block and checkpoint concepts in the sentinel for multi-block-per-slot support
  • Renames block-mined/block-proposed to checkpoint-mined/checkpoint-proposed
  • Splits block-missed into blocks-missed (no block proposals at all) and checkpoint-missed (blocks proposed but checkpoint not attested)
  • Adds hasBlockProposalsForSlot to P2P attestation pool and client to distinguish the two missed cases
  • Updates ValidatorStatusType from 'block' | 'attestation' to 'proposer' | 'attestation'
  • Bumps sentinel store schema version (2 → 3) with new serialization mappings
  • Updates all tests and slasher README documentation

Test plan

  • Sentinel unit tests pass (36/36)
  • Store unit tests pass (8/8)
  • RPC interface tests pass (60/60)
  • E2E sentinel tests updated for new status names

🤖 Generated with Claude Code

Fixes A-527

@spalladino spalladino added the ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure label Feb 10, 2026
@spalladino spalladino force-pushed the palla/sentinel-checkpoint-statuses branch from 2cdd034 to 78d9a01 Compare February 10, 2026 19:33
@spalladino spalladino enabled auto-merge (squash) February 10, 2026 20:03
…ing for multi-block-per-slot

Decouples block and checkpoint concepts in the sentinel. Renames block-mined/block-proposed to
checkpoint-mined/checkpoint-proposed, and splits block-missed into blocks-missed (no block
proposals at all) and checkpoint-missed (blocks proposed but checkpoint not attested). Adds
hasBlockProposalsForSlot to P2P to distinguish the two missed cases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@spalladino spalladino force-pushed the palla/sentinel-checkpoint-statuses branch from 78d9a01 to bc0dd0e Compare February 11, 2026 18:01
@AztecBot
Copy link
Collaborator

⚠️ Docs Examples Validation Failed

TypeScript validation

(truncated)...
d�YN0072�]8;;�: │ The application uses portals and that's why �[96m--preserve-symlinks�[39m Node option is required for launching it
recursive_verification	�[94m➤�[39m �[90mYN0000�[39m: └ Completed
recursive_verification	�[93m➤�[39m YN0000: · Done with warnings in 0s 47ms
recursive_verification	Verifying linked packages...
recursive_verification	✓ @aztec/aztec.js: 76 .d.ts files
recursive_verification	✓ @aztec/accounts: 27 .d.ts files
recursive_verification	✓ @aztec/wallets: 10 .d.ts files
recursive_verification	✓ @aztec/kv-store: 70 .d.ts files
recursive_verification	✓ @aztec/pxe: 116 .d.ts files
recursive_verification	✓ @aztec/noir-contracts.js: 33 .d.ts files
recursive_verification	✓ @aztec/bb.js: 185 .d.ts files
token_bridge	�[94m➤�[39m YN0000: · �[1mYarn 4.5.2�[22m
recursive_verification	✓ @aztec/noir-noir_js: 5 .d.ts files
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: ┌ Resolution step
token_bridge	�[94m➤�[39m �]8;;https://yarnpkg.com/advanced/error-codes#yn0085---updated_resolution_record�YN0085�]8;;�: │ �[32m+�[39m �[91m@aztec/�[39m�[91maccounts�[39m�[96m@�[39m�[96mlink:/home/aztec-dev/aztec-packages/yarn-project/accounts::locator=token_bridge%40workspace%3A.�[39m, and �[93m5�[39m more.
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: └ Completed
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: ┌ Fetch step
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: └ Completed
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: ┌ Link step
token_bridge	�[93m➤�[39m �]8;;https://yarnpkg.com/advanced/error-codes#yn0072---nm_preserve_symlinks_required�YN0072�]8;;�: │ The application uses portals and that's why �[96m--preserve-symlinks�[39m Node option is required for launching it
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: └ Completed
token_bridge	�[93m➤�[39m YN0000: · Done with warnings in 0s 43ms
token_bridge	Adding npm deps: @aztec/viem@2.38.2
aztecjs_testing	Type checking 'aztecjs_testing'...
token_bridge	�[94m➤�[39m YN0000: · �[1mYarn 4.5.2�[22m
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: ┌ Resolution step
bob_token_contract	Type checking 'bob_token_contract'...
recursive_verification	Type checking 'recursive_verification'...
token_bridge	�[94m➤�[39m �]8;;https://yarnpkg.com/advanced/error-codes#yn0085---updated_resolution_record�YN0085�]8;;�: │ �[32m+�[39m �[91m@aztec/�[39m�[91mviem�[39m�[96m@�[39m�[96mnpm:2.38.2�[39m, �[91m@adraffy/�[39m�[91mens-normalize�[39m�[96m@�[39m�[96mnpm:1.11.1�[39m, �[91m@noble/�[39m�[91mciphers�[39m�[96m@�[39m�[96mnpm:1.3.0�[39m, �[91m@noble/�[39m�[91mcurves�[39m�[96m@�[39m�[96mnpm:1.9.1�[39m, �[91m@noble/�[39m�[91mcurves�[39m�[96m@�[39m�[96mnpm:1.9.7�[39m, and �[93m10�[39m more.
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: └ Completed in 0s 327ms
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: ┌ Fetch step
token_bridge	�[94m➤�[39m �]8;;https://yarnpkg.com/advanced/error-codes#yn0013---fetch_not_cached�YN0013�]8;;�: │ �[93m15�[39m packages were added to the project (�[91m+ 33.13 MiB�[39m).
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: └ Completed in 0s 943ms
token_bridge	�[94m➤�[39m �[90mYN0000�[39m: ┌ Link step
aztecjs_testing	✓ 'aztecjs_testing' validated successfully
aztecjs_testing	Cleaning up temporary files for 'aztecjs_testing'...
bob_token_contract	✓ 'bob_token_contract' validated successfully
bob_token_contract	Cleaning up temporary files for 'bob_token_contract'...
recursive_verification	index.ts(41,7): error TS2353: Object literal may only specify known properties, and 'dataDirectory' does not exist in type 'NodeEmbeddedWalletOptions'.
recursive_verification	index.ts(60,32): error TS2339: Property 'createAccount' does not exist on type 'NodeEmbeddedWallet'.
recursive_verification	ERROR: Type checking failed for 'recursive_verification'
recursive_verification	Validation failed for 'recursive_verification', cleaning up...
parallel: This job failed:
validate_project recursive_verification
Seq	Host	Starttime	JobRuntime	Send	Receive	Exitval	Signal	Command
3	:	1770833227.713	     4.876	0	1988	0	0	validate_project aztecjs_connection
2	:	1770833227.710	     4.901	0	1856	0	0	validate_project aztecjs_authwit
1	:	1770833227.708	     4.920	0	2080	0	0	validate_project aztecjs_advanced
4	:	1770833227.716	     5.095	0	1928	0	0	validate_project aztecjs_getting_started
5	:	1770833232.594	     3.572	0	1856	0	0	validate_project aztecjs_testing
6	:	1770833232.616	     4.009	0	1867	0	0	validate_project bob_token_contract
7	:	1770833232.631	     4.180	0	3574	1	0	validate_project recursive_verification
ERROR: Some project(s) failed validation

Action required: Please fix the docs examples or update them to match the current API.

cc @AztecProtocol/devrel

The inbox drift test manipulates L1 state in a way that prevents
checkpoints from landing, so the bot should not wait for CHECKPOINTED.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@spalladino spalladino merged commit 59d2acd into merge-train/spartan Feb 11, 2026
11 checks passed
@spalladino spalladino deleted the palla/sentinel-checkpoint-statuses branch February 11, 2026 19:36
github-merge-queue bot pushed a commit that referenced this pull request Feb 12, 2026
BEGIN_COMMIT_OVERRIDE
chore: Should fix proving benchmarks by reducing committee lag (#20381)
chore: standalone forge broadcast wrapper with retry, timeout, and anvil
detection (#19824)
chore: benchmark tx val (#20227)
fix: cloudflare terraform API (#20387)
fix: HA e2e test order & retries (#20383)
fix: incorporate forge broadcast review feedback (#20390)
refactor(p2p): rewrite FileStoreTxCollection with retry, backoff, and
shared worker pool (#20317)
chore(ci): run ci job on draft PRs (#20395)
feat(bot): allow anchoring txs to proposed chain (#20392)
feat(p2p): slot-based soft deletion for TxPoolV2 (#20388)
chore: add setup-container script (#20309)
feat: build aztec-prover-agent with baked-in CRS (#20391)
fix!: change protocol contracts deployer to be the contract address
(#20396)
feat(p2p): enforce minimum tx pool age for block building (#20384)
refactor(sentinel): update validator statuses to checkpoint-based naming
(#20372)
chore: log tx hash (#20413)
chore: update l1 fee analysis to measure blob count in L1 blocks
(#20414)
chore: set up tx file store in next-net (#20418)
chore(ci): gate draft PRs from CI, allow override with ci-draft label
(#20426)
fix: stabilize writing_an_account_contract.test.ts (#20420)
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants