Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
566d7f5
refactor(p2p): merge FastTxCollection into TxCollection with sequenti…
fcarreiro May 13, 2026
a7a0d8c
refactor(publisher): bundle-level simulate; drop per-action enqueue s…
spalladino May 13, 2026
4b52402
Merge branch 'next' into merge-train/spartan
May 13, 2026
ad97697
Merge branch 'next' into merge-train/spartan
May 13, 2026
460a87e
refactor(stdlib): remove deprecated RevertCode/TxExecutionResult alia…
spalladino May 13, 2026
1eaca4b
Merge branch 'next' into merge-train/spartan
May 14, 2026
498b961
test(e2e): fix race in 'proposer invalidates multiple checkpoints' (#…
spalladino May 14, 2026
437eacb
fix: clean up old jobs regardless of pending status (#23260)
alexghr May 14, 2026
db4bd98
refactor(p2p): remove unused sendBatchRequest (#23273)
fcarreiro May 14, 2026
6eedaa5
chore(p2p): remove proposal_tx_collector leftovers (#23276)
fcarreiro May 14, 2026
816aef3
feat: slash truncated checkpoint proposals (#23250)
alexghr May 14, 2026
55df962
refactor: remove unused map in attestation pool (#23284)
alexghr May 14, 2026
e52eb69
Merge branch 'next' into merge-train/spartan
May 14, 2026
85f9c92
Merge branch 'next' into merge-train/spartan
May 14, 2026
8a6316f
Merge branch 'next' into merge-train/spartan
May 14, 2026
71d3b16
Merge branch 'next' into merge-train/spartan
May 14, 2026
78c6e81
chore(p2p): assert last block in checkpoint proposal is correct (#23274)
spalladino May 14, 2026
0da3480
refactor(l1-tx-utils): use DateProvider for fail-fast timeout check (…
spalladino May 14, 2026
9759aa6
Merge branch 'next' into merge-train/spartan
May 15, 2026
fff23f9
feat(sandbox): support proposer pipelining in local network (#23277)
spalladino May 15, 2026
7551378
Merge branch 'next' into merge-train/spartan
May 15, 2026
3ba6dbe
test(e2e): fix race in broadcasted_invalid_block_proposal_slash under…
AztecBot May 15, 2026
e0f2339
fix(archiver): atomic getter for L2 tips (#23295)
spalladino May 15, 2026
0291cc2
fix(sequencer): use targetSlot in tryVoteWhenEscapeHatchOpen under pi…
spalladino May 15, 2026
1c09902
fix(world-state): make fork close idempotent for pruned forks (#23298)
spalladino May 15, 2026
943ca27
test(e2e): migrate passing tests to proposer pipelining (#23275)
spalladino May 15, 2026
111f72d
chore: update dashboard (#23312)
alexghr May 15, 2026
fc2a31c
Merge branch 'next' into merge-train/spartan
May 15, 2026
69f57fe
chore: Revert "feat(sandbox): support proposer pipelining in local ne…
alexghr May 15, 2026
fed608b
test: slash on bad attestation (#23184)
alexghr May 15, 2026
58acdae
feat(slasher): per-slot data-withholding watcher (A-523, A-525) (#23116)
PhilWindle May 15, 2026
a948115
test(e2e): enable pipelining on e2e debug trace (#23301)
spalladino May 15, 2026
bf608d1
test(e2e): enable pipelining on l1-to-l2 test (#23300)
spalladino May 15, 2026
8bb87b0
Merge branch 'next' into merge-train/spartan
May 16, 2026
397a5de
test(e2e): switch fee_settings to organic fee bumps under pipelining …
spalladino May 16, 2026
f0578c8
fix(ci): retry sqlite3mc-wasm download on transient DNS/TLS failures …
AztecBot May 16, 2026
b38f967
test(e2e): wait for real oracle rotation in fee_settings inflate help…
AztecBot May 16, 2026
6874e44
test(e2e): anchor e2e_amm PXE to checkpointed tip under pipelining (#…
AztecBot May 16, 2026
553a8e0
Merge branch 'next' into merge-train/spartan
May 16, 2026
48be067
fix(spartan-bench): tolerate older node images in SlasherConfig schem…
AztecBot May 18, 2026
d33427a
Merge branch 'next' into merge-train/spartan
May 18, 2026
a719a03
fix: interrupt prover jobs in stop (#23358)
alexghr May 18, 2026
fe4792b
test(e2e): enable pipelining on bot, fees, and avm simulator tests (#…
spalladino May 18, 2026
87c71ce
feat(sentinel): end-of-epoch evaluation with re-execution outcomes (#…
PhilWindle May 18, 2026
8caa1d3
feat: slash for invalid checkpoint proposals (#23270)
alexghr May 18, 2026
68dbe93
Merge branch 'next' into merge-train/spartan
May 19, 2026
7c97cc4
Merge branch 'next' into merge-train/spartan
May 19, 2026
b78eabf
fix: fork closure in epoch proving jobs (#23390)
alexghr May 19, 2026
7900be5
Merge branch 'next' into merge-train/spartan
May 19, 2026
e3b608e
fix(slasher): anchor watcher scans at archiver synced L2 slot (#23394)
PhilWindle May 19, 2026
16ebffe
fix: avoid npm uplink for aztec-up local publishes (#23396)
alexghr May 19, 2026
f37220d
Merge branch 'next' into merge-train/spartan
May 19, 2026
c177956
Merge branch 'next' into merge-train/spartan
May 20, 2026
56210ac
test(e2e): ignore benign 'Insufficient valid txs' block-build-failed …
AztecBot May 20, 2026
c542360
chore: refactor weekly proving test wait (#23395)
alexghr May 20, 2026
d6fe5e0
refactor: add fifo set (#23271)
alexghr May 20, 2026
3319211
feat(sandbox): support proposer pipelining in local network (#23327)
spalladino May 20, 2026
84a9213
Merge branch 'next' into merge-train/spartan
May 20, 2026
a2baf79
fix(p2p): validate BLOCK_TXS in BatchTxRequester (#23371)
fcarreiro May 20, 2026
5031497
chore(p2p): simplify IBatchRequestTxValidator (#23373)
fcarreiro May 20, 2026
340f144
Merge branch 'next' into merge-train/spartan
May 20, 2026
051617e
Merge branch 'next' into merge-train/spartan
May 20, 2026
8af1672
Merge branch 'next' into merge-train/spartan
May 20, 2026
5aad4bd
Merge branch 'next' into merge-train/spartan
May 20, 2026
b9fe0cc
Merge branch 'next' into merge-train/spartan
May 21, 2026
e22dc85
feat(sequencer): AutomineSequencer for single-sequencer e2e tests (#2…
spalladino May 21, 2026
c0d253a
fix(prover): wait for previous epoch to be proven (#23458)
spalladino May 21, 2026
ea2cfb2
chore: collocate provers (#23439)
alexghr May 21, 2026
b840fbc
chore: rm staging-ignition (#23440)
alexghr May 21, 2026
29a4dc7
chore: rm unused networks (#23441)
alexghr May 21, 2026
e011d80
test(e2e): migrate block_building, multi_validator_node, publisher_fu…
spalladino May 21, 2026
65989b5
fix(archiver): reconcile local blocks with L1 checkpoints by block nu…
spalladino May 21, 2026
5fae563
feat: Updated slash conditions on block proposals (#23466)
PhilWindle May 21, 2026
36011a0
test(e2e): migrate HA full test to pipelining (#23463)
spalladino May 21, 2026
ad6b16a
chore: update resource profiles (#23442)
alexghr May 21, 2026
0d1ffa1
chore: update debug log levels (#23456)
alexghr May 21, 2026
9c95d6b
Merge remote-tracking branch 'origin/next' into merge-train/spartan
PhilWindle May 21, 2026
855df97
Fix merge
PhilWindle May 21, 2026
2a2f49e
Merge branch 'next' into merge-train/spartan
May 21, 2026
1fd63ef
test: fix flaky sentinel_status_slash by asserting the fault on the c…
AztecBot May 22, 2026
7bbece1
feat(slasher): slash checkpoint equivocation between P2P and L1 (A-98…
PhilWindle May 22, 2026
819c328
refactor(slasher): rename ATTESTED_DESCENDANT_OF_INVALID -> PROPOSED_…
PhilWindle May 22, 2026
65a197f
Fix merge
PhilWindle May 22, 2026
a006f71
fix: reject block proposals in poisoned slots (#23411)
alexghr May 22, 2026
151a4a0
Merge branch 'next' into merge-train/spartan
May 22, 2026
9675beb
fix: retry nargo dep + solc downloads to survive transient DNS drops …
AztecBot May 22, 2026
f964428
fix: enrich json-rpc tracing (#23412)
alexghr May 22, 2026
9d8d481
feat: add trace export controls (#23413)
alexghr May 22, 2026
a5e3879
test(e2e): assert no equivocation offenses in HA full test (#23496)
spalladino May 22, 2026
5369286
test: cover invalid checkpoint proposal slashing (#23503)
alexghr May 22, 2026
8211880
test(e2e): migrate more e2e suites to proposer pipelining (#23482)
spalladino May 22, 2026
522f6e8
test: flag e2e_slashing_attested_invalid_proposal as flake under pipe…
spalladino May 22, 2026
1ff8b0d
chore(e2e): flag l1-to-l2 as flake
spalladino May 22, 2026
c50c672
chore: flag e2e_bot as flake
spalladino May 22, 2026
02f9536
Merge branch 'next' into merge-train/spartan
May 22, 2026
5e90b3f
test: flag e2e_p2p_duplicate_proposal_slash as flake under pipelining…
AztecBot May 22, 2026
80fdec9
test(e2e): require cross-observer agreement on sentinel fault slot (#…
AztecBot May 23, 2026
afbeb1a
test: flag e2e_ha_full afterAll hook timeout as flake under pipelinin…
AztecBot May 23, 2026
574588b
fix(e2e): propagate l1ContractsArgs into node config so archiver matc…
AztecBot May 23, 2026
735cfae
test: flag e2e_multi_validator_node_key_store P2P tx-dropped failure …
AztecBot May 23, 2026
b2d91f3
test(cheat-codes): retry warpL2TimeAtLeastTo in-current-slot test on …
AztecBot May 24, 2026
5c65498
Merge branch 'next' into merge-train/spartan
May 24, 2026
d38da91
test(e2e_ha_full): parallel HA peer node teardown with per-node deadl…
AztecBot May 24, 2026
482ca36
test: flag e2e_ha_full as flake under HA pipelining (#23541)
AztecBot May 24, 2026
8572c0a
test(ci): skip e2e_ha_full entirely on merge-train/spartan (#23542)
AztecBot May 24, 2026
26aa7c1
test(ci): skip e2e_multi_validator_node_key_store entirely on merge-t…
AztecBot May 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/workflows/deploy-irm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
workflow_call:
inputs:
network:
description: "Network that IRM will be monitoring e.g. testnet, staging-ignition..."
description: "Network that IRM will be monitoring e.g. testnet..."
required: true
type: string
default: "testnet"
Expand Down Expand Up @@ -41,7 +41,7 @@ on:
workflow_dispatch:
inputs:
network:
description: "Network that IRM will be monitoring e.g. testnet, staging-ignition..."
description: "Network that IRM will be monitoring e.g. testnet..."
required: true
type: string
default: "testnet"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-network.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ on:
workflow_dispatch:
inputs:
network:
description: "Network to deploy (e.g., staging-public, staging-ignition, testnet, next-net)"
description: "Network to deploy (e.g., staging-public, testnet, next-net)"
required: true
type: choice
options:
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/deploy-staging-public.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
name: Deploy to staging-public

on:
workflow_run:
workflows: ["Nightly Release Tag (v4-next)"]
types:
- completed
workflow_dispatch:
inputs:
tag:
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/ensure-funded-environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
workflow_call:
inputs:
environment:
description: 'Environment to fund (e.g., staging-public, next-net, staging-ignition, testnet)'
description: 'Environment to fund (e.g., staging-public, next-net, testnet)'
required: true
type: string
low_watermark:
Expand All @@ -32,7 +32,6 @@ on:
options:
- staging-public
- next-net
- staging-ignition
- testnet
- devnet
- tps-scenario
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/metrics-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ jobs:
GRAFANA_DASHBOARD_PASSWORD_SECRET_NAME: ${{ inputs.grafana_dashboard_password_secret_name }}
SLACK_WEBHOOK_URL_SECRET_NAME: slack-webhook-url
SLACK_WEBHOOK_STAGING_PUBLIC_SECRET_NAME: slack-webhook-staging-public-url
SLACK_WEBHOOK_STAGING_IGNITION_SECRET_NAME: slack-webhook-staging-ignition-url
SLACK_WEBHOOK_NEXT_SCENARIO_SECRET_NAME: slack-webhook-next-scenario-url
SLACK_WEBHOOK_NEXT_NET_SECRET_NAME: slack-webhook-next-net-url
SLACK_WEBHOOK_TESTNET_SECRET_NAME: slack-webhook-testnet-url
Expand Down Expand Up @@ -164,7 +163,6 @@ jobs:
-var="GRAFANA_PASSWORD_SECRET_NAME=${{ env.GRAFANA_DASHBOARD_PASSWORD_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_SECRET_NAME=${{ env.SLACK_WEBHOOK_URL_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_STAGING_PUBLIC_SECRET_NAME=${{ env.SLACK_WEBHOOK_STAGING_PUBLIC_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_STAGING_IGNITION_SECRET_NAME=${{ env.SLACK_WEBHOOK_STAGING_IGNITION_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_NEXT_SCENARIO_SECRET_NAME=${{ env.SLACK_WEBHOOK_NEXT_SCENARIO_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_NEXT_NET_SECRET_NAME=${{ env.SLACK_WEBHOOK_NEXT_NET_SECRET_NAME }}" \
-lock=${{ inputs.respect_tf_lock }}
Expand All @@ -179,7 +177,6 @@ jobs:
-var="GRAFANA_PASSWORD_SECRET_NAME=${{ env.GRAFANA_DASHBOARD_PASSWORD_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_SECRET_NAME=${{ env.SLACK_WEBHOOK_URL_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_STAGING_PUBLIC_SECRET_NAME=${{ env.SLACK_WEBHOOK_STAGING_PUBLIC_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_STAGING_IGNITION_SECRET_NAME=${{ env.SLACK_WEBHOOK_STAGING_IGNITION_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_NEXT_SCENARIO_SECRET_NAME=${{ env.SLACK_WEBHOOK_NEXT_SCENARIO_SECRET_NAME }}" \
-var="SLACK_WEBHOOK_NEXT_NET_SECRET_NAME=${{ env.SLACK_WEBHOOK_NEXT_NET_SECRET_NAME }}" \
-out=tfplan \
Expand Down
73 changes: 61 additions & 12 deletions .test_patterns.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,9 +116,7 @@ tests:
error_regex: "✕ Repay"
owners:
- *lasse
# http://ci.aztec-labs.com/e85ff6c5da65a1e7
- regex: "src/e2e_cross_chain_messaging/l1_to_l2.test.ts"
error_regex: "Failed to advance block"
- regex: "src/e2e_cross_chain_messaging/l1_to_l2"
owners:
- *palla
- regex: "src/e2e_cross_chain_messaging/token_bridge_private"
Expand All @@ -141,6 +139,10 @@ tests:
error_regex: "Anvil failed to stop in time|Cannot read properties of undefined"
owners:
- *palla
- regex: "src/e2e_bot.test.ts"
error_regex: "Tx dropped"
owners:
- *palla

# yarn-project tests
# Attempt to catch all kv-store browser test failures (consider them quarantined for now)
Expand All @@ -164,6 +166,10 @@ tests:
error_regex: "Error: Timeout of 2000ms exceeded"
owners:
- *martin
- regex: "kv-store/.*store\\.test"
error_regex: "guards against too many cursors"
owners:
- *palla
- regex: "ethereum/src/test/tx_delayer.test.ts"
error_regex: "delays a transaction until a given L1 timestamp"
owners:
Expand All @@ -172,6 +178,18 @@ tests:
error_regex: "ContractFunctionExecutionError: The contract function"
owners:
- *mitch
# Under proposer pipelining each validator votes in its own slot and the votes
# don't aggregate into the same round, so the slashing quorum (3) is never
# reached within the 414s budget; the test consistently times out at the docker
# outer 600s (exit 124). The publisher refactor lands all vote-offenses tx's
# on L1 successfully — voteCount on the slasher proposer simply stays at 1
# per round. This is a slashing-payload aggregation issue independent of
# publisher work; skip until the slashing team addresses it separately.
- regex: "e2e_p2p/valid_epoch_pruned_slash.test.ts"
skip: true
owners:
- *mitch
- *palla
- regex: "archiver/src/archiver/archiver.test.ts"
error_regex: "Received number of calls: 1"
owners:
Expand All @@ -185,14 +203,6 @@ tests:
- *phil
- *palla

# http://ci.aztec-labs.com/64a972aafaa40dd0
# ProvingBroker › Retries › does not retry if job is stale — kv-store closes
# before the broker's final reportProvingJobError write lands.
- regex: "prover-client/src/proving_broker/proving_broker.test.ts"
error_regex: "does not retry if job is stale|Store is closed"
owners:
- *alex

# Nightly GKE tests
- regex: "spartan/bootstrap.sh"
owners:
Expand Down Expand Up @@ -347,11 +357,42 @@ tests:
owners:
- *esau

# http://ci.aztec-labs.com/6db6103599cb22e6
# Under pipelining, the lazy validator's attestation can arrive after the
# p2p checkpoint-attestation-validator's acceptance window, getting rejected
# before the slasher's gossip callback fires. The slasher then never records
# ATTESTED_TO_INVALID_CHECKPOINT_PROPOSAL and the test times out.
- regex: "src/e2e_slashing/attested_invalid_proposal.test.ts"
error_regex: "Timeout awaiting honest validator slash offenses for invalid proposal attestation"
owners:
- *palla

# HA full suite is unstable under HA pipelining: multiple distinct failure
# modes (governance vote coord, work distribution, afterAll teardown hook
# timeouts, peer races on checkpoint proposals — see #23344, #23541,
# ci.aztec-labs.com/136431da99834194). Flagging individual error_regex
# entries and even the whole-suite flake match still let it dequeue PRs
# because ci3 retries once and the suite fails both attempts. Skip
# outright on merge-train/spartan until HA pipelining stabilises.
- regex: "yarn-project/end-to-end/scripts/run_test.sh ha src/composed/ha/e2e_ha_full.test.ts"
error_regex: "✕ should coordinate governance voting across HA nodes"
skip: true
owners:
- *spyros

# Multi-validator web3signer suite is unstable under proposer pipelining:
# two distinct failure modes have been seen in the same "should build blocks
# & attest with multiple validator keys" case — Promise.all index-0
# waitForTx aborting with "Tx dropped by P2P node"
# (ci.aztec-labs.com/9a5fa90aa18f62e7), and the proposer missing the slot's
# 5-attestation deadline ("AttestationTimeoutError" / "Block .* not found .*
# reorg") on PR #23344 run 26370196367 (ci.aztec-labs.com/b91d3218b5e88ae4).
# Error-regex flake matches still let ci3 retry-and-fail both attempts. Skip
# outright on merge-train/spartan until proposer pipelining stabilises.
- regex: "yarn-project/end-to-end/scripts/run_test.sh web3signer src/composed/web3signer/e2e_multi_validator_node_key_store.test.ts"
skip: true
owners:
- *palla

# http://ci.aztec-labs.com/98d59d04f85223f8
# Build-cache flake: module not found during Jest startup
- regex: "src/e2e_sequencer/gov_proposal.parallel.test.ts"
Expand All @@ -374,3 +415,11 @@ tests:
error_regex: "✕ verifies transactions at 10 TPS"
owners:
- *phil

# http://ci.aztec-labs.com/930ddc9ede87059f
# Pipelining race: slasher doesn't record the duplicate proposal offense before
# the test's wait timeout — same family as #23501.
- regex: "src/e2e_p2p/duplicate_proposal_slash.test.ts"
error_regex: "TimeoutError: Timeout awaiting duplicate proposal offense"
owners:
- *palla
19 changes: 19 additions & 0 deletions aztec-up/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ function build {
echo

# Create Verdaccio config.
# publish.allow_offline lets verdaccio accept publishes when the npmjs
# uplink is briefly unreachable, instead of returning 503. We never want
# the upstream existence check to gate these local fake-publishes.
cat > /tmp/verdaccio-config.yaml <<EOF
storage: $PWD/verdaccio-storage
max_body_size: 1000mb
Expand All @@ -28,7 +31,23 @@ uplinks:
npmjs:
url: https://registry.npmjs.org/

publish:
allow_offline: true

packages:
# @aztec/viem is a third-party fork published to npm, not built locally.
# Match it before @aztec/* so it falls through to the npmjs uplink.
"@aztec/viem":
access: \$all
publish: \$all
unpublish: \$all
proxy: npmjs

"@aztec/*":
access: \$all
publish: \$all
unpublish: \$all

"@*/*":
access: \$all
publish: \$all
Expand Down
2 changes: 2 additions & 0 deletions aztec-up/test/amm_flow.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env bash
set -euo pipefail

export SEQ_ENABLE_PROPOSER_PIPELINING=true

# Start local network and wait for port to open.
aztec start --local-network &
local_network_pid=$!
Expand Down
1 change: 1 addition & 0 deletions aztec-up/test/basic_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ echo

export LOG_LEVEL=silent
export PXE_PROVER=none
export SEQ_ENABLE_PROPOSER_PIPELINING=true

# Start local network and wait for port to open.
aztec start --local-network &
Expand Down
2 changes: 2 additions & 0 deletions aztec-up/test/bridge_and_claim.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env bash
set -euo pipefail

export SEQ_ENABLE_PROPOSER_PIPELINING=true

# Start local network and wait for port to open.
aztec start --local-network &
local_network_pid=$!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Enable different levels of logging on the local network or node by setting `LOG_

```bash
# Set log level (options: fatal, error, warn, info, verbose, debug, trace)
LOG_LEVEL=debug aztec start --local-network
LOG_LEVEL="debug; info: json-rpc, simulator" aztec start --local-network

# Different levels for different services
LOG_LEVEL="verbose;info:sequencer" aztec start --local-network
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ Aztec automatically retries failed requests on alternative endpoints when multip
Enable detailed RPC logging:

```bash
LOG_LEVEL=debug # or verbose
LOG_LEVEL="debug; info: json-rpc, simulator" # or verbose
```

Look for log entries related to:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ SLASH_DATA_WITHHOLDING_PENALTY=0 # Set to >0 to enable

# Invalid attestations and blocks
SLASH_PROPOSE_INVALID_ATTESTATIONS_PENALTY=2000000000000000000000 # 2000 tokens
SLASH_ATTEST_DESCENDANT_OF_INVALID_PENALTY=2000000000000000000000 # 2000 tokens
SLASH_PROPOSE_DESCENDANT_OF_CHECKPOINT_WITH_INVALID_ATTESTATIONS_PENALTY=2000000000000000000000 # 2000 tokens
SLASH_INVALID_BLOCK_PENALTY=2000000000000000000000 # 2000 tokens

# Offense expiration
Expand Down
5 changes: 4 additions & 1 deletion docs/examples/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,10 @@ function execute-examples {
}

function test_cmds {
echo "$hash:ONLY_TERM_PARENT=1 docs/examples/bootstrap.sh execute"
# Bumped from the default 600s by ~50% (now 15m) to absorb cumulative-runtime growth
# under merge-queue load — example_swap's `wait-for-proven` poll was tipping SIGTERM
# near the old limit. See PR #23253 dequeue log http://ci.aztec-labs.com/b08ac48286302949.
echo "$hash:ONLY_TERM_PARENT=1:TIMEOUT=15m docs/examples/bootstrap.sh execute"
}

function test {
Expand Down
1 change: 1 addition & 0 deletions docs/examples/ts/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ services:
WS_BLOCK_CHECK_INTERVAL_MS: 500
ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500
P2P_MIN_TX_POOL_AGE_MS: 0
SEQ_ENABLE_PROPOSER_PIPELINING: 'true'
HARDWARE_CONCURRENCY: ${HARDWARE_CONCURRENCY:-}

docs-examples:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ Aztec automatically retries failed requests on alternative endpoints when multip
Enable detailed RPC logging:

```bash
LOG_LEVEL=debug # or verbose
LOG_LEVEL="debug; info: json-rpc, simulator" # or verbose
```

Look for log entries related to:
Expand Down
2 changes: 1 addition & 1 deletion docs/static/typescript-api/mainnet/foundation.md
Original file line number Diff line number Diff line change
Expand Up @@ -1422,7 +1422,7 @@ type NetworkConfigMap = z.infer<typeof NetworkConfigMapSchema>

### NetworkNames
```typescript
type NetworkNames = "local" | "staging-ignition" | "staging-public" | "testnet" | "mainnet" | "next-net" | "devnet"
type NetworkNames = "local" | "staging-public" | "testnet" | "mainnet" | "next-net" | "devnet"
```

### PartialBy
Expand Down
7 changes: 5 additions & 2 deletions l1-contracts/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,11 @@ function download_solc {
echo_stderr "Downloading solc $solc_version via svm..."
# svm-rs always uses ~/.svm if it exists. Make sure it does for a consistent path across OS/architecture.
mkdir -p "$HOME/.svm"
# We build a minimal file to trigger svm download of solc.
forge build --use "$solc_version" src/core/libraries/ConstantsGen.sol 2>/dev/null
# We build a minimal file to trigger svm download of solc. svm fetches the
# binary from binaries.soliditylang.org, which intermittently fails to resolve
# under heavy parallel CI load; retry to ride out transient DNS drops. (The
# merge queue disables the cache above, so this download path runs every time.)
retry "forge build --use \"$solc_version\" src/core/libraries/ConstantsGen.sol 2>/dev/null"

# Copy from svm cache to local path
local svm_path="$HOME/.svm/$solc_version/solc-$solc_version"
Expand Down
11 changes: 5 additions & 6 deletions l1-contracts/src/core/slashing/SlashingProposer.sol
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,11 @@ import {SafeCast} from "@oz/utils/math/SafeCast.sol";
*
* About SLASH_OFFSET_IN_ROUNDS:
* - This offset gives us time to detect an offense and then vote on it in a later
* round. For instance, an `VALID_EPOCH_PRUNED` offense for epoch N is only triggered after
* `PROOF_SUBMISSION_WINDOW` epochs. Consider the following:
* - Epoch 1 is valid
* - At the end of epoch 3, the proof for 1 has not landed, so epoch 1 is pruned
* - Network decides to slash the committee of epoch 1
* - This means that only starting from epoch 4 we should be voting for slashing the committee of epoch 1
* round. For instance, a `DATA_WITHHOLDING` offense for slot S is only triggered after
* `DATA_WITHHOLDING_TOLERANCE_SLOTS` slots. Consider:
* - Slot S publishes a checkpoint
* - At slot S + tolerance, observers find missing data and want to slash the attesters
* - Voting on that slash needs to happen in a round that starts after detection
* - In terms of voting, this parameter means that in round R we are voting for the committee of epochs starting
* from (R - SLASH_OFFSET_IN_ROUNDS) * ROUND_SIZE_IN_EPOCHS.
* - For example, with SLASH_OFFSET_IN_ROUNDS=2, ROUND_SIZE=10, and EPOCH_DURATION=2
Expand Down
11 changes: 8 additions & 3 deletions noir-projects/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,14 @@ function build {
function prep {
set -eu
(cd noir-protocol-circuits && yarn && node ./scripts/generate_variants.js)
for dir in noir-contracts noir-protocol-circuits mock-protocol-circuits aztec-nr; do
(cd $dir && ../../noir/noir-repo/target/release/nargo fmt --check)
done
# nargo downloads its git dependencies (e.g. noir-lang/poseidon) on first use.
# Under heavy parallel CI load the VPC DNS resolver drops lookups
# ("Could not resolve host: github.com"), leaving a half-cloned dependency dir
# that then fails with "Cannot read file .../Nargo.toml". Retry the download,
# wiping the partial dependency cache after a failure so the next attempt
# re-clones cleanly. A warm cache is left intact on success.
local fmt_check='( set -e; for dir in noir-contracts noir-protocol-circuits mock-protocol-circuits aztec-nr; do (cd "$dir" && ../../noir/noir-repo/target/release/nargo fmt --check); done )'
RETRY_SLEEP=10 retry "$fmt_check || { rm -rf \"\$HOME/nargo\"; exit 1; }"
}
export -f prep

Expand Down
1 change: 1 addition & 0 deletions playground/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ services:
WS_BLOCK_CHECK_INTERVAL_MS: 50
ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500
P2P_MIN_TX_POOL_AGE_MS: 0
SEQ_ENABLE_PROPOSER_PIPELINING: 'true'
healthcheck:
test: ['CMD', 'curl', '-fSs', 'http://127.0.0.1:8080/status']
interval: 3s
Expand Down
Loading
Loading