Skip to content

chore: Accumulated backports to v5-next - #25113

Merged
nchamo merged 6 commits into
v5-nextfrom
backport-to-v5-next-staging
Aug 5, 2026
Merged

chore: Accumulated backports to v5-next#25113
nchamo merged 6 commits into
v5-nextfrom
backport-to-v5-next-staging

Conversation

@AztecBot

@AztecBot AztecBot commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

BEGIN_COMMIT_OVERRIDE
feat(aztec.js): delay first receipt poll after sending a tx (#25089)
feat(pxe): hash-pinned node read cache (#24969)
feat(pxe): hash-pinned node read cache (backport #24969) (#25114)
feat(pxe): cache tag log queries bounded at the anchor block (#25074)
refactor(pxe): serve note and event validation from cached tx data (#25076)
END_COMMIT_OVERRIDE

## Motivation

Follow-up to #25074 and #25076 in the effort to reduce PXE↔node RPC
traffic. Two calls per sent tx were guaranteed wasted: a pre-send
`getTxReceipt` used only to reject settled duplicates, which the node's
tx validation already rejects via its double-spend check, and the first
receipt poll of `.wait()`, issued immediately after `sendTx` when the tx
cannot have been mined yet.

## The change

- `BaseWallet.sendTx` no longer reads the receipt before sending;
duplicate submissions are rejected by the node instead.
- `WaitOpts` gains `initialDelay`: seconds to sleep before the first
receipt poll. The wallet defaults it to the poll interval, so the first
poll now happens where the second poll used to. Environments where
receipts are available immediately after sending (e.g. automine) can
pass `initialDelay: 0`.
- The delay counts against `timeout` (the deadline is fixed before
sleeping) and does not consume the DROPPED-receipt grace period, which
starts at the first poll.

Wallet benchmark results:

| | Before → After |
|---|---|
| `getTxReceipt` calls | 40 → 32 (−20.0%) |
| Total node RPC calls | 232 → 224 (−3.4%) |
| Node RPC round trips | 163 → 156 (−4.3%) |
AztecBot and others added 4 commits August 5, 2026 14:05
Merge origin/v5-next into the backport staging branch. The staging
branch was 104 commits behind v5-next, which is the sole reason the
automatic backport of #24969 failed.
@nchamo
nchamo added this pull request to the merge queue Aug 5, 2026
Merged via the queue into v5-next with commit 4b22e37 Aug 5, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants