You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`No public key registered for address`| Call `wallet.registerSender(...)`|
100
100
|`Direct invocation of ... functions is not supported`| Use `self.call()`, `self.view()`, or `self.enqueue()` to [call contract functions](framework-description/calling_contracts.md)|
101
101
|`Failed to solve brillig function`| Check function parameters and note validity |
102
+
|`Cross-contract utility call denied`| Configure an `authorizeUtilityCall`[execution hook](#cross-contract-utility-call-denied) on your PXE |
103
+
104
+
#### Cross-contract utility call denied
105
+
106
+
When a contract executes a utility function that calls into a different contract, PXE asks an **execution hook** whether the call should be allowed. If no hook is configured, or the hook denies the request, you will see:
To fix this, pass an `authorizeUtilityCall` hook when creating your PXE:
113
+
114
+
```typescript
115
+
import { PXE } from"@aztec/pxe/server";
116
+
117
+
const pxe =awaitPXE.create({
118
+
// ...other options
119
+
hooks: {
120
+
authorizeUtilityCall: async (request) => {
121
+
// Inspect request.caller, request.target, request.functionSelector, etc.
122
+
return { authorized: true };
123
+
},
124
+
},
125
+
});
126
+
```
127
+
128
+
The hook receives a `UtilityCallAuthorizationRequest` with the caller address, target address, function selector, function name, arguments, and caller context (`'private'` or `'utility'`). Return `{ authorized: true }` to allow or `{ authorized: false, reason: '...' }` to deny with a message.
Copy file name to clipboardExpand all lines: docs/docs-developers/docs/resources/migration_notes.md
+20Lines changed: 20 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,26 @@ Aztec is in active development. Each version may introduce breaking changes that
9
9
10
10
## TBD
11
11
12
+
### [Aztec.nr] TXE `call_public_incognito` no longer takes a `from` parameter
13
+
14
+
`TestEnvironment::call_public_incognito` previously accepted a `from` address that was silently ignored (the function always uses a null `msg_sender`). The `from` parameter has been removed.
`PXE.proveTx` used to accept `scopes` as a positional argument; it now takes an options bag consistent with `simulateTx` and `profileTx`, and adds an optional `senderForTags` field. Update direct callers:
0 commit comments