Skip to content

chore: Accumulated backports to v4-next#22474

Merged
Thunkar merged 9 commits into
v4-nextfrom
backport-to-v4-next-staging
Apr 10, 2026
Merged

chore: Accumulated backports to v4-next#22474
Thunkar merged 9 commits into
v4-nextfrom
backport-to-v4-next-staging

Conversation

@AztecBot

@AztecBot AztecBot commented Apr 10, 2026

Copy link
Copy Markdown
Collaborator

BEGIN_COMMIT_OVERRIDE
cherry-pick: fix: passing in user call info from wallet (#21937)
fix: passing in user call info from wallet (backport #21937) (#22459)
fix: prepopulated scopes in simulateviaentrypoint (#22464)
chore: backport #22464 (fix: prepopulated scopes in simulateviaentrypoint) to v4-next (#22470)
docs: add macOS prerequisites and improve Node.js version guidance (#22408)
END_COMMIT_OVERRIDE

benesjan and others added 8 commits April 10, 2026 09:34
Cherry-pick of a186a55 with conflict markers preserved.
Resolved conflicts in batch_call.ts and batch_call.test.ts:
- Removed unused TxSimulationResult and HashedValues imports
- Used TxSimulationResultWithAppOffset type for simulatedTx variable
- Used getPrivateReturnValuesOfAppCall instead of getPrivateReturnValues
## Summary
Backport of #21937
to v4-next.

Robustly handles selection of return value when simulating private
function by passing in the information of which call corresponds to the
return value "user intends to get" from the wallet via
`TxSimulationResultWithAppOffset`.

## Cherry-pick conflicts resolved
- `batch_call.ts`: Removed stale `TxSimulationResult` import, used
`TxSimulationResultWithAppOffset`, added non-null assertions for the
now-optional `simulatedTx` variable
- `batch_call.test.ts`: Added `NestedProcessReturnValues` import (needed
by test), removed unused `HashedValues`

## Commit structure
1. Cherry-pick with conflict markers preserved
2. Conflict resolution
3. Build fix (non-null assertions)

Original PR by @benesjan.

ClaudeBox log: https://claudebox.work/s/c28e647e71336658?run=2
This is a bug, was causing problems since the method receives scopes
pre-populated.

Fixing it surfaced another issue @spalladino was running into, which is
that our account contract stubs do not provide a constructor. This was
causing the cryptic error described here:
#22421

This PR creates a stub account contract per account type (since we need
the selector to match, and Schnorr/ECDSA have very different
constructors) + adds a meaningful error when the proxied contract store
doesn't find a method in the stub
…oint) to v4-next (#22470)

## Summary
Backport of #22464
to v4-next.

Cherry-pick applied cleanly (no conflicts) thanks to a previous backport
that unified the branches.

The original PR fixes a bug where scopes were being pre-populated
incorrectly in `simulateViaEntrypoint`, and also adds per-account-type
stub contracts (splitting `SimulatedAccount` into
`SimulatedSchnorrAccount` and `SimulatedEcdsaAccount`).
…22408)

## Summary

- Adds macOS-specific prerequisites (Homebrew and modern Bash) to the
developer getting-started guide and operator prerequisites page,
including versioned copies.
- Updates the shared Node.js version snippet to clarify that the
installer will attempt to upgrade Node via nvm if available, and
explains what to do if nvm is not installed.

## Test plan

- [ ] Verify the docs site builds without errors (`yarn build` in
`docs/`)
- [ ] Check the macOS prerequisites section renders correctly on the
getting started page
- [ ] Check the macOS admonition renders correctly on the operator
prerequisites page
- [ ] Confirm the updated Node.js snippet reads clearly
@Thunkar Thunkar enabled auto-merge April 10, 2026 17:53
@Thunkar Thunkar merged commit 49aa094 into v4-next Apr 10, 2026
9 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.

4 participants