feat!: remove ALL_SCOPES#22136
Merged
Merged
Conversation
Thunkar
approved these changes
Mar 30, 2026
Collaborator
|
❌ Failed to cherry-pick to |
AztecBot
pushed a commit
that referenced
this pull request
Mar 30, 2026
AztecBot
pushed a commit
that referenced
this pull request
Mar 30, 2026
This is a breaking change in the interface between PXE and wallets. ALL_SCOPES allowed wallets to request PXE to run operations "for all its known accounts". This PR removes that option and forces all layers of the system to explicitly state which addresses to use as scope by providing an array of addresses. An empty array now means "no account in scope" (it used to default to "ALL_SCOPES" particularly when executing utilities).
mverzilli
added a commit
that referenced
this pull request
Mar 30, 2026
## Summary Backport of #22136 to v4-next, stacked on #22157 (backport of #22113 scoped capsules). Removes the `ALL_SCOPES` option and `AccessScopes` type, forcing all callers to explicitly specify which addresses are in scope via `AztecAddress[]`. This is a breaking change in the PXE/wallet interface. ## Stacking This PR is stacked on `claudebox/backport-22113-scoped-capsules` (#22157) which introduces CapsuleService. With that base in place, the cherry-pick applies cleanly with no conflicts.
AztecBot
added a commit
that referenced
this pull request
Mar 30, 2026
PR #22136 replaced ALL_SCOPES with keyStore.getAccounts() in the TXE's CapsuleService construction. This broke capsule unit tests that use arbitrary scope addresses (e.g. 0xface) since no accounts are registered in those tests, resulting in an empty allowed scopes list. Add CapsuleService.unrestricted() factory method and use it in TXE to restore the pre-#22136 behavior where test environments allow all scopes.
This was referenced Mar 30, 2026
benesjan
added a commit
that referenced
this pull request
Mar 31, 2026
The removal of ALL_SCOPES (#22136) broke CapsuleArray tests because they used hardcoded scope addresses (0xface, 0xaaa, 0xbbb) that were not registered in the keystore. Replace them with real accounts created via create_light_account(), which registers them as allowed scopes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 task
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Apr 1, 2026
BEGIN_COMMIT_OVERRIDE feat!: remove ALL_SCOPES (#22136) chore: syncing oracle versions (#22131) fix(aztec-nr): use registered accounts as capsule test scopes (#22171) chore: reverting accidentally merged AI slop (#22175) feat: move event size check from declaration to private emission (#22168) fix: prevent oracle failure on tag computation for invalid recipient (#22163) feat: disable noir test cache on merge-train/fairies (#22206) END_COMMIT_OVERRIDE
AztecBot
added a commit
that referenced
this pull request
Apr 1, 2026
The test used NO_FROM without additionalScopes, resulting in empty scopes. Since PR #22136 removed ALL_SCOPES, empty scopes means no account keys are accessible during simulation. DeployAccountMethod.send() auto-injects the contract address via injectContractAddressIntoScopes, but proveInteraction bypasses that path. Adding accountManager.address to additionalScopes fixes the key validation error.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a breaking change in the interface between PXE and wallets.
ALL_SCOPES allowed wallets to request PXE to run operations "for all its known accounts". This PR removes that option and forces all layers of the system to explicitly state which addresses to use as scope by providing an array of addresses. An empty array means "no account in scope" (it used to default to "ALL_SCOPES" particularly when executing utilities.
Closes F-488