Conversation
This should fix the timeouts on the test. We reduce the lag by 1 epoch or about ~40 minutes and bump up the timeout by 30 minutes. Since we run the test for a full epoch, we add the buffer in case of worst case hitting epoch boundary (which is usually hit due to wallet setup). - includes updates to .env files that reference the old lag variable - bump up benchmark timeout by 30 minutes Co-authored-by: danielntmd <danielntmd@nethermind.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Deleted transactions (eviction, validation failure, failed execution) are now slot-soft-deleted instead of immediately hard-deleted. They remain in the database for the rest of the current slot so other nodes can still fetch them via reqresp, then are cleaned up when prepareForSlot advances to a new slot. This coexists with the existing prune-based soft deletion which keeps txs from pruned blocks until their original mined block is finalized. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
add benchmarks around tx validators
Fix terraform API usage for R2 lifecycle rules
2 fixes: - Run "should distribute work across multiple HA nodes" test last because it kills nodes - Update ci scripts to allow for option to kill docker-compose volumes so the test can be retried
… shared worker pool (#20317) ## Summary - Rewrites `FileStoreTxCollection` with a shared worker pool, deadline-based expiry, and retry with round-robin and exponential backoff - Splits into two instances (fast/slow) with configurable worker counts and backoff settings via 6 new config fields - Extracts `getProofDeadlineForSlot` as a public free function from `SlowTxCollection` for reuse - Workers pull entries with priority (fewest attempts first), skip entries in backoff, and remove expired entries ## Test plan - All 10 `file_store_tx_collection.test.ts` tests pass (updated for new interface, added retry/backoff/deadline/clearPending tests) - All 22 `tx_collection.test.ts` tests pass (updated for two file store instances) - `yarn build` succeeds, `yarn format p2p` and `yarn lint p2p` clean - Tests use deterministic waits (`waitForSourceCalls`, `waitForTxsAdded`) instead of blind sleeps to avoid flakiness 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Alex Gherghisan <alexghr@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Updates spartan scripts to config the PXE_SYNC_CHAIN_TIP variable that controls the chain tip used for anchoring txs in the bot. Also updates the bot so it can be configured to follow (as in wait until each tx in mined in) the "proposed" or "checkpointed" chain, rather than the "pending" chain, which is an outdated name. Still, for backwards compatibility, we still allow "pending" and map it to "checkpointed". Fixes A-539
## Summary - Deleted transactions (eviction, validation failure, failed execution) are now slot-soft-deleted instead of immediately hard-deleted, remaining in the database for the rest of the current slot so other nodes can still fetch them via reqresp - `prepareForSlot` cleans up slot-soft-deleted txs from previous slots - Prune-based soft deletion (for txs from reorged blocks) is unaffected — those txs survive across slots until finalized - Re-added txs correctly clear their soft-deleted status, preserving prune tracking when applicable ## Test plan - 32 deleted_pool unit tests pass (15 new for slot-based deletion) - 186 tx_pool_v2 integration tests pass (9 new slot-based tests including edge cases for re-addition after both slot and prune soft deletion) - 25 compat tests pass (2 updated assertions) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Single bash command that installs all dependencies plus a network-isolated Claude in a local ubuntu lxc container. Put together using the devcontainer dockerfile and the official claude container dockerfile as guidelines.
This PR builds a new image during release (tagged) builds specifically for the prover-agent with pre-baked CRS. This makes the image larger (by about 2GB) but will reduce the time spent on downloading the CRS at boot. Fix A-536
## Summary - Adds a `receivedAt` timestamp to `TxMetaData` so the pool knows when each tx was first received - Adds `getEligiblePendingTxHashes(maxReceivedAt)` to the pool interface, filtering out txs that are too new - Adds `iterateEligiblePendingTxs()` to the P2P client, which computes the cutoff from `minTxPoolAgeMs` config (default 2000ms, env `P2P_MIN_TX_POOL_AGE_MS`) - Updates the sequencer's `CheckpointProposalJob` to use `iterateEligiblePendingTxs()` instead of `iteratePendingTxs()` - Existing `iteratePendingTxs` is unchanged — still used by `AztecNode.getMaxPriorityFees()` which should see all pending txs This gives the network time to propagate transactions before a proposer includes them in a block. Hydrated txs get `receivedAt: 0` so they're always eligible immediately on restart. ## Test plan - [x] `yarn build` passes - [x] `yarn workspace @aztec/p2p test src/mem_pools/tx_pool_v2/tx_pool_v2.test.ts` — 164 tests pass - [x] `yarn workspace @aztec/sequencer-client test src/sequencer/checkpoint_proposal_job.test.ts` — 26 tests pass 🤖 Generated with [Claude Code](https://claude.com/claude-code)
…ing (#20372) ## 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](https://claude.com/claude-code) Fixes A-527 Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
Log tx hashes when removing txs from the mempool
related to A-351. Adds some more metrics for fee analysis to count number of blobs that were in the finalized L1 block. This will help get better stats on inclusion rate per strategy during high blob congestion
Modifies the filestore to upload tx objects to `txs/aztec-<l1_chain_id>-<rollup_address>` (just like blobs and snapshots) and sets up next-net to upload/download from file store. Fix A-505
…#20426) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
This stack of pull requests is managed by Graphite. Learn more about stacking. |
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.

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