Skip to content

refactor(pxe): batch log RPC calls in LogService.fetchLogsByTag#23088

Merged
nchamo merged 1 commit into
merge-train/fairiesfrom
rpc-opt-log-service
May 8, 2026
Merged

refactor(pxe): batch log RPC calls in LogService.fetchLogsByTag#23088
nchamo merged 1 commit into
merge-train/fairiesfrom
rpc-opt-log-service

Conversation

@nchamo
Copy link
Copy Markdown
Contributor

@nchamo nchamo commented May 8, 2026

Summary

  • Replaces per-request RPC calls in LogService.fetchLogsByTag with a single batched call for all public logs and a single batched call for all private logs, reducing RPC round-trips from O(2n) to O(2)
  • Extracts #extractSingleLog helper to deduplicate the single-log-from-batch logic shared between public and private paths
  • Adds tests covering the batching behavior and the empty-request early exit

@nchamo nchamo self-assigned this May 8, 2026
@nchamo nchamo requested review from Thunkar and dbanks12 May 8, 2026 12:03
Copy link
Copy Markdown
Contributor

@Thunkar Thunkar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🥳

@nchamo nchamo merged commit 41916d2 into merge-train/fairies May 8, 2026
29 checks passed
@nchamo nchamo deleted the rpc-opt-log-service branch May 8, 2026 12:55
@AztecBot
Copy link
Copy Markdown
Collaborator

AztecBot commented May 8, 2026

✅ Successfully backported to backport-to-v4-next-staging #23080.

vezenovm added a commit that referenced this pull request May 8, 2026
)

## Summary

CI3 on PR #23080 failed because the backported tests in
`log_service.test.ts` (from #23088) call `Tag.random()`, but the `Tag`
class on `v4-next` does not yet have that static factory — it was added
on `next` by #22516, which has not been backported.

This adds `Tag.random()` (and switches `Fr` from a type-only import) on
the v4-next branch. Mirrors the upstream definition exactly.

## Test plan

- CI on PR #23080 should now pass `pxe` unit tests once this lands on
`backport-to-v4-next-staging`.

ClaudeBox log: https://claudebox.work/s/3be07c7bc11fd1d8?run=1
AztecBot added a commit that referenced this pull request May 9, 2026
BEGIN_COMMIT_OVERRIDE
fix(aztec-up): Aztec installer does not shadow user installed binaries
on PATH (#22902)
fix: include sqlite binary in its npm package (#23039)
chore: backport #23041 (add sendMessagesAs to wallet api schemas) to
v4-next (#23081)
chore: backport DeployMethod refactor (#22985) to v4-next (#23029)
refactor(pxe): deduplicate tx hash lookups in MessageContextService
(#23075)
refactor(pxe): batch tagged private log queries across all secrets
(#23048)
refactor(pxe): batch log RPC calls in LogService.fetchLogsByTag (#23088)
feat(aztec-nr): Initial handshake registry contract with non interactive
handshake function (#22854)
fix: add Tag.random() helper required by backported #23088 tests
(#23094)
chore: backport: fix(aztec-up): installer does not shadow user binaries
on PATH (#22902) (#23060)
chore: backport handshake registry contract (#22854) to v4-next (#23063)
feat: deploy method refactor 2 (#23033)
refactor(pxe): skip redundant getBlock RPC when querying at anchor block
(#23100)
port(v4-next): feat(docs): autogenerate node JSON-RPC API reference
(#22543) (#23046)
chore: backport feat: deploy method refactor 2 (#23033) to v4-next
(#23103)
port(v4-next): feat(ci): Snapshots for aztec-nr contract compilation
failures and nargo expand (#23061) (#23104)
feat(txe): allow authorizing cross-contract utility calls in nr tests
(#23064)
END_COMMIT_OVERRIDE
github-merge-queue Bot pushed a commit that referenced this pull request May 10, 2026
BEGIN_COMMIT_OVERRIDE
fix: include sqlite binary in its npm package (#23039)
fix: add sendMessagesAs to wallet api schemas (#23041)
refactor(pxe): deduplicate tx hash lookups in MessageContextService
(#23075)
refactor(pxe): batch tagged private log queries across all secrets
(#23048)
refactor(pxe): batch log RPC calls in LogService.fetchLogsByTag (#23088)
feat(pxe,nr): flesh out account stubs and don't exclude syncing for
overrides (#23054)
feat: deploy method refactor 2 (#23033)
feat: fastForwardContractUpdate cheatcode for simulating contract
updates (#22905)
refactor(stdlib): consolidate find-function-by-selector helpers (#23008)
feat(ci): Snapshots for aztec-nr contract compilation failures and nargo
expand (#23061)
chore: kv store test fully on vitest (#23096)
refactor(pxe): skip redundant getBlock RPC when querying at anchor block
(#23100)
chore(playground): bump main chunk size limit 1750 → 1800 KB (#23107)
feat(txe): allow authorizing cross-contract utility calls in nr tests
(#23064)
chore: bench public fns with emit repro (#23105)
END_COMMIT_OVERRIDE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants