Skip to content

chore: Accumulated backports to v4-next#22666

Merged
Thunkar merged 8 commits intov4-nextfrom
backport-to-v4-next-staging
Apr 20, 2026
Merged

chore: Accumulated backports to v4-next#22666
Thunkar merged 8 commits intov4-nextfrom
backport-to-v4-next-staging

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented Apr 20, 2026

BEGIN_COMMIT_OVERRIDE
fix(abi): add missing ABI validation in argument encoder (backport #22529) (#22608)
fix(pxe): verify private event commitment matches content (#22638)
feat!: kv-store on SQLite-wasm over OPFS (backport #22666)
END_COMMIT_OVERRIDE

vezenovm and others added 6 commits April 16, 2026 15:38
…der (from PR #22529)

Cherry-pick of b882037 with conflicts preserved for review.
Removed 'should reload keystore' test block that was introduced by a
different PR not present on v4-next.
…2529) (#22608)

## Summary

Backport of #22529
to v4-next.

Adds missing ABI enforcement in the `ArgumentEncoder` that allowed
invalid inputs to be silently accepted during simulation via aztec.js:

- **Fixed-size arrays**: Oversized/undersized arrays were silently
truncated. Now throws if array length doesn't match.
- **Strings**: Strings longer than declared length were silently
truncated. Now throws if string exceeds max length.
- **Top-level argument count**: Extra arguments were silently ignored.
Now throws if argument count doesn't match.
- **Integer overflow**: Values outside valid range for declared width
were accepted without error. Now validates ranges.
- **Array type guard**: Non-array values for array parameters now get a
clear error.

## Cherry-pick conflict

One conflict in `e2e_ha_full.test.ts` — the incoming commit included a
"should reload keystore" test block from a different PR not present on
v4-next. Resolved by dropping the unrelated test block.

## Test plan

- [x] Encoder unit tests pass (34/34)
- [x] TypeScript compilation succeeds for changed packages
- [x] Verified Noir contract ABIs on v4-next match the updated test
arguments

ClaudeBox log: https://claudebox.work/s/49d536b7c0544efb?run=1
The v4-next-staging line moved DataStoreConfig out of @aztec/stdlib/kv-store
into kv-store's own ./config subpath (the new './config' export in
package.json). Mirror the indexeddb backend's local import so sqlite-opfs
compiles on the backport branch.

Port-specific: on next/merge-train/fairies this import is still
@aztec/stdlib/kv-store.
Backport of #22658
to v4-next.

## Original PR summary
Experimental support for SQLite as a backend to kv-store, with the goal
of eventually abandoning IndexedDB.

## Conflicts
Single conflict in `yarn-project/kv-store/package.json` exports map:
- v4-next keeps the `./config` export (still imported by archiver,
aztec-node, bot, node-lib, p2p, etc.) whereas that export had been
removed on `next`.
- Resolved by keeping all three exports: `./sqlite-opfs`, `./stores`,
and `./config`.

The rest of the cherry-pick (new `sqlite-opfs/` module, wallet
entrypoint wiring for `walletDb.store`, yarn.lock) applied cleanly.

## Commits
1. `cherry-pick: ...(with conflicts)` — original squash commit applied
with the conflict marker preserved in `package.json`.
2. `fix: resolve cherry-pick conflicts` — keeps the `./config` export
alongside the new `./sqlite-opfs` entry.

No additional build-adaptation commit was required.

ClaudeBox log: https://claudebox.work/s/3c079f039c55d141?run=1
@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​sqlite.org/​sqlite-wasm@​3.50.4-build19810010094100

View full report

@AztecBot
Copy link
Copy Markdown
Collaborator Author

Flakey Tests

🤖 says: This CI run detected 1 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/3701c731ef33b43c�3701c731ef33b43c8;;�):  yarn-project/end-to-end/scripts/run_test.sh simple src/e2e_epochs/epochs_l1_reorgs.parallel.test.ts "updates L1 to L2 messages changed due to an L1 reorg" (68s) (code: 0) group:e2e-p2p-epoch-flakes

@Thunkar Thunkar merged commit 30ce825 into v4-next Apr 20, 2026
11 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.

5 participants