Skip to content

Commit 0dde9fa

Browse files
authored
feat: merge-train/spartan (#23762)
BEGIN_COMMIT_OVERRIDE chore: deploy next-net and reuse contracts (#23761) chore: turn on autoscaling (#23706) chore: rename staging-public to staging (#23767) chore(p2p): use sync hash for tx validation hashing (#23768) test(e2e): wait warmup slots in slashing tests (#23719) feat(api)!: make getTxReceipt the single tx-lookup API (#23660) fix: cap cloned n_tps fees within sponsored FPC balance (#23770) fix: protect HA validator Postgres from cluster scale-down (#23772) refactor: remove non-pipelining sequencer code path (#23665) feat(archiver): add getL2ToL1MembershipWitness node RPC (#23646) fix(p2p)!: revamp BLOCK_TXS validations (#23778) chore: name the bots (#23795) fix(e2e): ensure BBSync init (#23793) fix(p2p)!: fix BLOCK_TXS response under proposer equivocation (#23786) fix: reconnect L1 port-forward after epoch-boundary sleep in n_tps_prove (#23800) chore: add empty vscode settings for yarn-project (#23808) fix(sequencer): only warn about missing proposed checkpoint once overdue (#23807) fix: refresh n_tps fee quotes during sustained benchmark (#23797) fix(sequencer): enforce build-frame deadlines and align attestation/publish windows (#23776) END_COMMIT_OVERRIDE
2 parents 64f5310 + 4d1705f commit 0dde9fa

222 files changed

Lines changed: 4161 additions & 2620 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/deploy-network.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
workflow_call:
77
inputs:
88
network:
9-
description: "Network to deploy (e.g., staging-public, testnet, next-net)"
9+
description: "Network to deploy (e.g., staging, testnet, next-net)"
1010
required: true
1111
type: string
1212
semver:
@@ -46,12 +46,12 @@ on:
4646
workflow_dispatch:
4747
inputs:
4848
network:
49-
description: "Network to deploy (e.g., staging-public, testnet, next-net)"
49+
description: "Network to deploy (e.g., staging, testnet, next-net)"
5050
required: true
5151
type: choice
5252
options:
5353
- next-net
54-
- staging-public
54+
- staging
5555
- testnet
5656
- mainnet
5757
semver:

.github/workflows/deploy-next-net.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,19 @@ name: Deploy Next Net
55

66
on:
77
schedule:
8-
# Run every night at 4:00 AM UTC, after the nightly tag has been created
8+
# Run every morning at 6:00 AM UTC, after the nightly tag has been created
99
- cron: "0 6 * * *"
1010
workflow_dispatch:
1111
inputs:
1212
image_tag:
1313
description: "Docker image tag (e.g., 2.3.4, 3.0.0-nightly.20251004-amd64, or leave empty for latest nightly)"
1414
required: false
1515
type: string
16+
deploy_contracts:
17+
description: "Redeploy rollup contracts. Scheduled runs always redeploy contracts."
18+
required: false
19+
type: boolean
20+
default: false
1621

1722
concurrency:
1823
group: deploy-next-net-${{ inputs.image_tag || 'nightly' }}
@@ -70,4 +75,5 @@ jobs:
7075
semver: ${{ needs.get-image-tag.outputs.semver }}
7176
aztec_docker_image: "aztecprotocol/aztec:${{ needs.get-image-tag.outputs.tag }}"
7277
ref: ${{ github.ref }}
78+
deploy_contracts: ${{ github.event_name == 'schedule' || inputs.deploy_contracts == true }}
7379
secrets: inherit

.github/workflows/deploy-staging-public.yml renamed to .github/workflows/deploy-staging.yml

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
1-
name: Deploy to staging-public
1+
name: Deploy to staging
22

33
on:
4+
schedule:
5+
- cron: "0 7 * * *"
46
workflow_dispatch:
57
inputs:
68
tag:
7-
description: "Nightly tag to deploy (e.g., v4.2.0-nightly.20260330). Leave empty to use latest nightly tag."
9+
description: "Tag to deploy (v5.0.0 or any v5.0.0 prerelease). Leave empty to use today's 5.0.0 nightly tag."
810
required: false
911
type: string
12+
deploy_contracts:
13+
description: "Redeploy rollup contracts before deploying infra."
14+
required: false
15+
type: boolean
16+
default: false
1017

1118
concurrency:
12-
group: deploy-staging-public
19+
group: deploy-staging
1320
cancel-in-progress: true
1421

1522
env:
@@ -20,7 +27,7 @@ jobs:
2027
runs-on: ubuntu-latest
2128
if: >-
2229
github.event_name == 'workflow_dispatch' ||
23-
(github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success')
30+
github.event_name == 'schedule'
2431
outputs:
2532
tag: ${{ steps.resolve.outputs.tag }}
2633
semver: ${{ steps.resolve.outputs.semver }}
@@ -35,20 +42,16 @@ jobs:
3542
- name: Resolve nightly tag
3643
id: resolve
3744
run: |
38-
git fetch --tags --force
39-
4045
if [[ -n "${{ inputs.tag }}" ]]; then
4146
TAG="${{ inputs.tag }}"
4247
echo "Using manually specified tag: $TAG"
4348
else
44-
current_version=$(jq -r '."."' .release-please-manifest.json)
45-
TAG="v${current_version}-nightly.$(date -u +%Y%m%d)"
46-
echo "Nightly tag: $TAG"
49+
TAG="v5.0.0-nightly.$(date -u +%Y%m%d)"
50+
echo "Using today's nightly tag: $TAG"
4751
fi
4852
49-
# Validate tag exists
50-
if ! git rev-parse "$TAG" &>/dev/null; then
51-
echo "Error: Tag $TAG does not exist"
53+
if [[ ! "$TAG" =~ ^v5\.0\.0($|-.*) ]]; then
54+
echo "Error: Staging deploys require a v5.0.0 tag or prerelease, got '$TAG'"
5255
exit 1
5356
fi
5457
@@ -77,7 +80,8 @@ jobs:
7780
needs: [determine-tag, wait-for-ci3]
7881
uses: ./.github/workflows/deploy-network.yml
7982
with:
80-
network: staging-public
83+
network: staging
8184
semver: ${{ needs.determine-tag.outputs.semver }}
8285
source_tag: ${{ needs.determine-tag.outputs.tag }}
86+
deploy_contracts: ${{ inputs.deploy_contracts == true }}
8387
secrets: inherit

.github/workflows/ensure-funded-environment.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
workflow_call:
77
inputs:
88
environment:
9-
description: 'Environment to fund (e.g., staging-public, next-net, testnet)'
9+
description: 'Environment to fund (e.g., staging, next-net, testnet)'
1010
required: true
1111
type: string
1212
low_watermark:
@@ -30,7 +30,7 @@ on:
3030
required: true
3131
type: choice
3232
options:
33-
- staging-public
33+
- staging
3434
- next-net
3535
- testnet
3636
- devnet

.github/workflows/ensure-funded-environments.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949
run: |
5050
# Static environments
5151
static='[
52-
{"environment":"staging-public"},
52+
{"environment":"staging"},
5353
{"environment":"next-net"},
5454
{"environment":"testnet"}
5555
]'

.github/workflows/network-healthcheck.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
description: 'Comma-separated list of networks to check (default: all)'
1010
required: false
1111
type: string
12-
default: 'v4-devnet-2,testnet,mainnet,staging-public,next-net'
12+
default: 'testnet,mainnet,staging,next-net'
1313

1414
jobs:
1515
healthcheck:
@@ -24,7 +24,7 @@ jobs:
2424
GH_TOKEN: ${{ secrets.AZTEC_BOT_GITHUB_TOKEN }}
2525
CI: "1"
2626
run: |
27-
NETWORKS="${{ inputs.networks || 'next-net,staging-public,testnet,mainnet' }}"
27+
NETWORKS="${{ inputs.networks || 'next-net,staging,testnet,mainnet' }}"
2828
2929
PROMPT="Run a network healthcheck for: ${NETWORKS}.
3030

aztec-up/test/amm_flow.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
export SEQ_ENABLE_PROPOSER_PIPELINING=true
5-
64
# Start local network and wait for port to open.
75
aztec start --local-network &
86
local_network_pid=$!

aztec-up/test/basic_install.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ echo
1010

1111
export LOG_LEVEL=silent
1212
export PXE_PROVER=none
13-
export SEQ_ENABLE_PROPOSER_PIPELINING=true
1413

1514
# Start local network and wait for port to open.
1615
aztec start --local-network &

aztec-up/test/bridge_and_claim.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
#!/usr/bin/env bash
22
set -euo pipefail
33

4-
export SEQ_ENABLE_PROPOSER_PIPELINING=true
5-
64
# Start local network and wait for port to open.
75
aztec start --local-network &
86
local_network_pid=$!

docs/docs-developers/docs/aztec-js/how_to_send_transaction.md

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,35 @@ After sending a transaction without waiting, you can query its receipt using the
6868

6969
#include_code query_tx_status /docs/examples/ts/aztecjs_advanced/index.ts typescript
7070

71-
The receipt includes:
71+
`getTxReceipt` always resolves to one of three lifecycle variants of the `TxReceipt` union, depending on where the transaction is in its lifecycle:
7272

73-
- `status` - Transaction status (`pending`, `proposed`, `checkpointed`, `proven`, `finalized`, or `dropped`)
74-
- `blockNumber` - Block where the transaction was included
75-
- `transactionFee` - Fee paid for the transaction
76-
- `error` - Error message if the transaction reverted
73+
- `PendingTxReceipt` - still in the mempool. Exposes `status` (`pending`) and, when requested, the pending `tx`.
74+
- `DroppedTxReceipt` - dropped by the node. Exposes `status` (`dropped`) and an optional `error` message.
75+
- `MinedTxReceipt` - included in a block. Exposes `status` (`proposed`, `checkpointed`, `proven`, or `finalized`), `blockNumber`, `blockHash`, `txIndexInBlock`, `transactionFee`, and the execution result.
76+
77+
The `status`, `blockNumber`, and `transactionFee` fields are readable on the bare union, but block and fee details are only populated once the transaction is mined. Use the `isMined()`, `isPending()`, and `isDropped()` type guards to narrow to a specific variant before reading its fields:
78+
79+
```typescript
80+
const receipt = await node.getTxReceipt(txHash);
81+
if (receipt.isMined()) {
82+
console.log(`Mined in block ${receipt.blockNumber}, fee ${receipt.transactionFee}`);
83+
}
84+
```
85+
86+
You can pass a second `options` argument to attach extra data to the receipt:
87+
88+
- `includeTxEffect` - attaches the full `TxEffect` (note hashes, nullifiers, logs, and messages) to a mined receipt, available as `receipt.txEffect`.
89+
- `includePendingTx` - attaches the pending `Tx` to a pending receipt, available as `receipt.tx`.
90+
- `includeProof` - keeps the proof on that attached pending tx (only meaningful together with `includePendingTx`; the proof is stripped by default to avoid shipping large payloads over RPC).
91+
92+
For example, to read a mined transaction's effects, request them with `includeTxEffect` and read `receipt.txEffect` after narrowing with `isMined()`:
93+
94+
```typescript
95+
const receipt = await node.getTxReceipt(txHash, { includeTxEffect: true });
96+
if (receipt.isMined() && receipt.txEffect) {
97+
console.log(`Nullifiers: ${receipt.txEffect.nullifiers.length}`);
98+
}
99+
```
77100

78101
## Next steps
79102

0 commit comments

Comments
 (0)