Conversation
Fixes lifecycle rules and adds a new one for tx data. Fix A-501
Collaborator
Author
Flakey Tests🤖 says: This CI run detected 2 tests that failed, but were tolerated due to a .test_patterns.yml entry. |
Make k8s enricher exit early unless K8S_ENRICHER=1 is set. Enables it on relevant test/bench commands.
## Summary - Implements slashing for validators who send duplicate checkpoint attestations (equivocation): signing attestations for different proposals at the same slot - Adds per-signer-per-slot tracking in the attestation pool with a cap of 3 attestations per (slot, signer) - Detection callback fires on the first duplicate (count goes from 1 to 2), and duplicates are propagated so other nodes can also detect the offense - Equivocation prevention in the validator client: `shouldAttestToSlot` check inside `createCheckpointAttestationsFromProposal` to minimize the race window - Includes E2E test with malicious proposer nodes that share a key (creating duplicate proposals) and attest to both (creating duplicate attestations) - Adds `SLASH_DUPLICATE_ATTESTATION_PENALTY` env var across all spartan deployment configs ## Test plan - Unit tests for attestation pool duplicate detection, per-signer cap, cross-slot isolation, and cleanup - Unit tests for validator client with updated config - LibP2P service tests updated for new constant names - E2E test `e2e_p2p_duplicate_attestation_slash` verifies offense detection end-to-end Fixes A-349 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
It was broken with the latest changes to the attestation pool.
- add glob to typescript style rule so it's only loaded on ts files - enforce claude not to add the `echo` bash for loading exit codes, which breaks permissions
Improve HA testing by killing nodes after they successfully propose a block, to ensure the HA setup keeps working with the remaining nodes
It was broken with the latest changes to the attestation pool.
- add glob to typescript style rule so it's only loaded on ts files - enforce claude not to add the `echo` bash for loading exit codes, which breaks permissions
Fixes a bad merge
Adds the concept of actor and instanceId, recently added to logs, to the subagent analyze-logs.
Fix A-502 Fix A-503
Fixes issue introduced with duplicate proposal/attestation checks.
This was not being used. Also removes all the conditional access to undefined components in the e2e context that we now know to be defined.
This was not being used. Also removes all the conditional access to undefined components in the e2e context that we now know to be defined.
bad tests
<img width="1117" height="1143" alt="image" src="https://github.com/user-attachments/assets/299bc754-6d03-429f-9dd3-3c57cc4cbb2d" /> Fixes A-529
## Summary - Mock `Math.random` in `FileStoreTxCollection` tests to ensure deterministic file store iteration order - The `downloadTx` method picks a random starting index for round-robin across file stores, which caused two tests to intermittently fail depending on which store was tried first ## Test plan - [x] All 6 tests in `file_store_tx_collection.test.ts` pass consistently 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Same as `next-net` but with: ``` SEQ_BUILD_CHECKPOINT_IF_EMPTY=true SEQ_BLOCK_DURATION_MS=6000 LOG_LEVEL=verbose BOT_TRANSFERS_TX_INTERVAL_SECONDS=8 BOT_SWAPS_TX_INTERVAL_SECONDS=8 ``` And without the RPC ingress configuration
In a HA setup, if we receive a block or checkpoint proposal from an address we control, there's no point in processing it. We should just add it to the attestation pool to track equivocations (which is handled by the libp2p service), and that's it.
…slash test (#20320) ## Summary - The `e2e_p2p_duplicate_proposal_slash` test was flaking because malicious nodes were not actually broadcasting duplicate proposals to the network. - The `P2PClient.broadcastProposal()` method throws when it detects a duplicate block proposal for the same slot, unless `broadcastEquivocatedProposals` is set to `true`. - Added `broadcastEquivocatedProposals: true` to both malicious node configs, matching what the `duplicate_attestation_slash` test already does. ## Test plan - The existing `e2e_p2p_duplicate_proposal_slash` test should now pass reliably since the duplicate proposals will actually reach the network and be detected by the slasher. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Collaborator
Author
Compile (Noir contracts)TypeScript validationAction required: Please fix the docs examples or update them to match the current API. cc @AztecProtocol/devrel |
1 task
Collaborator
Author
|
🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass. |
…ort-forward (#20327) This will revert the changes made to the upgrade rollup test for RPC endpoints. This should allow for both the local and the network tests endpoints to resolve correctly.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 10, 2026
…20324) ## Summary - Replaces deprecated `dep::aztec` path with `::aztec` in 4 docs example contract files (`nft`, `nft_bridge`, `counter_contract`) - Also replaces `dep::NFTPunk` with `NFTPunk` in `nft_bridge` - Fixes the docs examples validation failures reported in #20278 (comment) - The `bob_token_contract` TS validation failure was a cascading issue from the compile failures ## Test plan - [ ] CI docs examples validation passes (Noir compile + TS validation) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
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: add new retention policy to cloudflare R2 (#20276)
fix: k8s enricher opt-in (#20279)
feat(slasher): add duplicate attestation slashing (#20218)
chore: improve HA e2e (#20280)
chore(test): fix p2p integration test (#20283)
chore(claude): minor changes to claude md and rules (#20284)
chore(test): fix p2p message propagation test build error (#20289)
chore(claude): add actor info to analyze-logs (#20290)
feat: tx file store source for tx collector (#20165)
chore(test): fix validator integration test (#20288)
chore(e2e): remove setup with remote env in e2e tests (#20294)
chore: fix test flakes (#20295)
chore: user-perceived latency explorer (#20298)
fix(p2p): fix flaky file store tx collection tests (#20318)
chore(spartan): add mbps-net env definition (#20308)
fix(validator): do not process proposals from self (#20314)
chore(ci): track history in merge-trains (#20321)
fix(e2e): enable broadcastEquivocatedProposals in duplicate proposal slash test (#20320)
chore: use respective get endpoints for rollup test instead of only port-forward (#20327)
END_COMMIT_OVERRIDE