@aztec/wallet-sdk 4.0.0-devnet.1-patch.1 → 4.0.0-devnet.2-patch.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -2,11 +2,12 @@ import type { Account } from '@aztec/aztec.js/account';
|
|
|
2
2
|
import type { CallIntent, IntentInnerHash } from '@aztec/aztec.js/authorization';
|
|
3
3
|
import { type InteractionWaitOptions, type SendReturn } from '@aztec/aztec.js/contracts';
|
|
4
4
|
import type { FeePaymentMethod } from '@aztec/aztec.js/fee';
|
|
5
|
-
import type { Aliased, AppCapabilities, BatchResults, BatchedMethod, PrivateEvent, PrivateEventFilter, ProfileOptions, SendOptions, SimulateOptions, Wallet, WalletCapabilities } from '@aztec/aztec.js/wallet';
|
|
5
|
+
import type { Aliased, AppCapabilities, BatchResults, BatchedMethod, PrivateEvent, PrivateEventFilter, ProfileOptions, SendOptions, SimulateOptions, SimulateUtilityOptions, Wallet, WalletCapabilities } from '@aztec/aztec.js/wallet';
|
|
6
6
|
import { AccountFeePaymentMethodOptions } from '@aztec/entrypoints/account';
|
|
7
7
|
import type { ChainInfo } from '@aztec/entrypoints/interfaces';
|
|
8
8
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
9
9
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
10
|
+
import type { AccessScopes } from '@aztec/pxe/client/lazy';
|
|
10
11
|
import type { PXE } from '@aztec/pxe/server';
|
|
11
12
|
import { type ContractArtifact, type EventMetadataDefinition, type FunctionCall } from '@aztec/stdlib/abi';
|
|
12
13
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
@@ -40,6 +41,7 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
40
41
|
protected minFeePadding: number;
|
|
41
42
|
protected cancellableTransactions: boolean;
|
|
42
43
|
protected constructor(pxe: PXE, aztecNode: AztecNode, log?: import("@aztec/foundation/log").Logger);
|
|
44
|
+
protected scopesFor(from: AztecAddress): AztecAddress[];
|
|
43
45
|
protected abstract getAccountFromAddress(address: AztecAddress): Promise<Account>;
|
|
44
46
|
abstract getAccounts(): Promise<Aliased<AztecAddress>[]>;
|
|
45
47
|
/**
|
|
@@ -103,8 +105,9 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
103
105
|
* @param feeOptions - Fee options for the transaction.
|
|
104
106
|
* @param skipTxValidation - Whether to skip tx validation.
|
|
105
107
|
* @param skipFeeEnforcement - Whether to skip fee enforcement.
|
|
108
|
+
* @param scopes - The scopes to use for the simulation.
|
|
106
109
|
*/
|
|
107
|
-
protected simulateViaEntrypoint(executionPayload: ExecutionPayload, from: AztecAddress, feeOptions: FeeOptions, skipTxValidation?: boolean, skipFeeEnforcement?: boolean): Promise<TxSimulationResult>;
|
|
110
|
+
protected simulateViaEntrypoint(executionPayload: ExecutionPayload, from: AztecAddress, feeOptions: FeeOptions, scopes: AccessScopes, skipTxValidation?: boolean, skipFeeEnforcement?: boolean): Promise<TxSimulationResult>;
|
|
108
111
|
/**
|
|
109
112
|
* Simulates a transaction, optimizing leading public static calls by running them directly
|
|
110
113
|
* on the node while sending the remaining calls through the standard PXE path.
|
|
@@ -117,7 +120,7 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
117
120
|
profileTx(executionPayload: ExecutionPayload, opts: ProfileOptions): Promise<TxProfileResult>;
|
|
118
121
|
sendTx<W extends InteractionWaitOptions = undefined>(executionPayload: ExecutionPayload, opts: SendOptions<W>): Promise<SendReturn<W>>;
|
|
119
122
|
protected contextualizeError(err: Error, ...context: string[]): Error;
|
|
120
|
-
simulateUtility(call: FunctionCall,
|
|
123
|
+
simulateUtility(call: FunctionCall, opts: SimulateUtilityOptions): Promise<UtilitySimulationResult>;
|
|
121
124
|
getPrivateEvents<T>(eventDef: EventMetadataDefinition, eventFilter: PrivateEventFilter): Promise<PrivateEvent<T>[]>;
|
|
122
125
|
getContractMetadata(address: AztecAddress): Promise<{
|
|
123
126
|
instance: ContractInstanceWithAddress | undefined;
|
|
@@ -131,4 +134,4 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
131
134
|
isContractClassPubliclyRegistered: boolean;
|
|
132
135
|
}>;
|
|
133
136
|
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlLXdhbGxldC9iYXNlX3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakYsT0FBTyxFQUFFLEtBQUssc0JBQXNCLEVBQVcsS0FBSyxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUNWLE9BQU8sRUFDUCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixNQUFNLEVBQ04sa0JBQWtCLEVBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFPaEMsT0FBTyxFQUFFLDhCQUE4QixFQUF3QyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xILE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQXNCLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/base-wallet/base_wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,KAAK,sBAAsB,EAAW,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EACf,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,eAAe,EACf,MAAM,EACN,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAAE,8BAA8B,EAAwC,MAAM,4BAA4B,CAAC;AAClH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,GAAG,EAAsB,MAAM,mBAAmB,CAAC;AACjE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EAElB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,KAAK,2BAA2B,EAGjC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAO,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,kBAAkB,EAClB,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAM5E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,gBAAgB,CAAC;IAC1C,+FAA+F;IAC/F,8BAA8B,EAAE,8BAA8B,CAAC;IAC/D,kDAAkD;IAClD,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,8BAAsB,UAAW,YAAW,MAAM;IAM9C,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG;IAC3B,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS;IACvC,SAAS,CAAC,GAAG;IAPf,SAAS,CAAC,aAAa,SAAO;IAC9B,SAAS,CAAC,uBAAuB,UAAS;IAG1C,SAAS,aACY,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EAC7B,GAAG,yCAAyC,EACpD;
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/base-wallet/base_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,13 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
28
28
|
this.minFeePadding = 0.5;
|
|
29
29
|
this.cancellableTransactions = false;
|
|
30
30
|
}
|
|
31
|
+
// When `from` is the zero address (e.g. when deploying a new account contract), we return an
|
|
32
|
+
// empty scope list which acts as deny-all: no notes are visible and no keys are accessible.
|
|
33
|
+
scopesFor(from) {
|
|
34
|
+
return from.isZero() ? [] : [
|
|
35
|
+
from
|
|
36
|
+
];
|
|
37
|
+
}
|
|
31
38
|
/**
|
|
32
39
|
* Returns the list of aliased contacts associated with the wallet.
|
|
33
40
|
* This base implementation directly returns PXE's senders, but note that in general contacts are a superset of senders.
|
|
@@ -191,12 +198,14 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
191
198
|
* @param feeOptions - Fee options for the transaction.
|
|
192
199
|
* @param skipTxValidation - Whether to skip tx validation.
|
|
193
200
|
* @param skipFeeEnforcement - Whether to skip fee enforcement.
|
|
194
|
-
|
|
201
|
+
* @param scopes - The scopes to use for the simulation.
|
|
202
|
+
*/ async simulateViaEntrypoint(executionPayload, from, feeOptions, scopes, skipTxValidation, skipFeeEnforcement) {
|
|
195
203
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, from, feeOptions);
|
|
196
204
|
return this.pxe.simulateTx(txRequest, {
|
|
197
205
|
simulatePublic: true,
|
|
198
206
|
skipTxValidation,
|
|
199
|
-
skipFeeEnforcement
|
|
207
|
+
skipFeeEnforcement,
|
|
208
|
+
scopes
|
|
200
209
|
});
|
|
201
210
|
}
|
|
202
211
|
/**
|
|
@@ -224,7 +233,7 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
224
233
|
}
|
|
225
234
|
const [optimizedResults, normalResult] = await Promise.all([
|
|
226
235
|
optimizableCalls.length > 0 ? simulateViaNode(this.aztecNode, optimizableCalls, opts.from, chainInfo, feeOptions.gasSettings, blockHeader, opts.skipFeeEnforcement ?? true) : Promise.resolve([]),
|
|
227
|
-
remainingCalls.length > 0 ? this.simulateViaEntrypoint(remainingPayload, opts.from, feeOptions, opts.skipTxValidation, opts.skipFeeEnforcement ?? true) : Promise.resolve(null)
|
|
236
|
+
remainingCalls.length > 0 ? this.simulateViaEntrypoint(remainingPayload, opts.from, feeOptions, this.scopesFor(opts.from), opts.skipTxValidation, opts.skipFeeEnforcement ?? true) : Promise.resolve(null)
|
|
228
237
|
]);
|
|
229
238
|
return buildMergedSimulationResult(optimizedResults, normalResult);
|
|
230
239
|
}
|
|
@@ -233,13 +242,14 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
233
242
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
234
243
|
return this.pxe.profileTx(txRequest, {
|
|
235
244
|
profileMode: opts.profileMode,
|
|
236
|
-
skipProofGeneration: opts.skipProofGeneration ?? true
|
|
245
|
+
skipProofGeneration: opts.skipProofGeneration ?? true,
|
|
246
|
+
scopes: this.scopesFor(opts.from)
|
|
237
247
|
});
|
|
238
248
|
}
|
|
239
249
|
async sendTx(executionPayload, opts) {
|
|
240
250
|
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
241
251
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
242
|
-
const provenTx = await this.pxe.proveTx(txRequest);
|
|
252
|
+
const provenTx = await this.pxe.proveTx(txRequest, this.scopesFor(opts.from));
|
|
243
253
|
const tx = await provenTx.toTx();
|
|
244
254
|
const txHash = tx.getTxHash();
|
|
245
255
|
if (await this.aztecNode.getTxEffect(txHash)) {
|
|
@@ -271,9 +281,12 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
271
281
|
}
|
|
272
282
|
return err;
|
|
273
283
|
}
|
|
274
|
-
simulateUtility(call,
|
|
284
|
+
simulateUtility(call, opts) {
|
|
275
285
|
return this.pxe.simulateUtility(call, {
|
|
276
|
-
authwits
|
|
286
|
+
authwits: opts.authWitnesses,
|
|
287
|
+
scopes: [
|
|
288
|
+
opts.scope
|
|
289
|
+
]
|
|
277
290
|
});
|
|
278
291
|
}
|
|
279
292
|
async getPrivateEvents(eventDef, eventFilter) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/wallet-sdk",
|
|
3
3
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/wallet-sdk",
|
|
4
|
-
"version": "4.0.0-devnet.
|
|
4
|
+
"version": "4.0.0-devnet.2-patch.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
"./base-wallet": "./dest/base-wallet/index.js",
|
|
@@ -71,15 +71,15 @@
|
|
|
71
71
|
]
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
|
-
"@aztec/aztec.js": "4.0.0-devnet.
|
|
75
|
-
"@aztec/constants": "4.0.0-devnet.
|
|
76
|
-
"@aztec/entrypoints": "4.0.0-devnet.
|
|
77
|
-
"@aztec/foundation": "4.0.0-devnet.
|
|
78
|
-
"@aztec/pxe": "4.0.0-devnet.
|
|
79
|
-
"@aztec/stdlib": "4.0.0-devnet.
|
|
74
|
+
"@aztec/aztec.js": "4.0.0-devnet.2-patch.1",
|
|
75
|
+
"@aztec/constants": "4.0.0-devnet.2-patch.1",
|
|
76
|
+
"@aztec/entrypoints": "4.0.0-devnet.2-patch.1",
|
|
77
|
+
"@aztec/foundation": "4.0.0-devnet.2-patch.1",
|
|
78
|
+
"@aztec/pxe": "4.0.0-devnet.2-patch.1",
|
|
79
|
+
"@aztec/stdlib": "4.0.0-devnet.2-patch.1"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@aztec/noir-contracts.js": "4.0.0-devnet.
|
|
82
|
+
"@aztec/noir-contracts.js": "4.0.0-devnet.2-patch.1",
|
|
83
83
|
"@jest/globals": "^30.0.0",
|
|
84
84
|
"@types/jest": "^30.0.0",
|
|
85
85
|
"@types/node": "^22.15.17",
|
|
@@ -13,6 +13,7 @@ import type {
|
|
|
13
13
|
ProfileOptions,
|
|
14
14
|
SendOptions,
|
|
15
15
|
SimulateOptions,
|
|
16
|
+
SimulateUtilityOptions,
|
|
16
17
|
Wallet,
|
|
17
18
|
WalletCapabilities,
|
|
18
19
|
} from '@aztec/aztec.js/wallet';
|
|
@@ -27,6 +28,7 @@ import type { ChainInfo } from '@aztec/entrypoints/interfaces';
|
|
|
27
28
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
28
29
|
import { createLogger } from '@aztec/foundation/log';
|
|
29
30
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
31
|
+
import type { AccessScopes } from '@aztec/pxe/client/lazy';
|
|
30
32
|
import type { PXE, PackedPrivateEvent } from '@aztec/pxe/server';
|
|
31
33
|
import {
|
|
32
34
|
type ContractArtifact,
|
|
@@ -87,6 +89,12 @@ export abstract class BaseWallet implements Wallet {
|
|
|
87
89
|
protected log = createLogger('wallet-sdk:base_wallet'),
|
|
88
90
|
) {}
|
|
89
91
|
|
|
92
|
+
// When `from` is the zero address (e.g. when deploying a new account contract), we return an
|
|
93
|
+
// empty scope list which acts as deny-all: no notes are visible and no keys are accessible.
|
|
94
|
+
protected scopesFor(from: AztecAddress): AztecAddress[] {
|
|
95
|
+
return from.isZero() ? [] : [from];
|
|
96
|
+
}
|
|
97
|
+
|
|
90
98
|
protected abstract getAccountFromAddress(address: AztecAddress): Promise<Account>;
|
|
91
99
|
|
|
92
100
|
abstract getAccounts(): Promise<Aliased<AztecAddress>[]>;
|
|
@@ -291,16 +299,18 @@ export abstract class BaseWallet implements Wallet {
|
|
|
291
299
|
* @param feeOptions - Fee options for the transaction.
|
|
292
300
|
* @param skipTxValidation - Whether to skip tx validation.
|
|
293
301
|
* @param skipFeeEnforcement - Whether to skip fee enforcement.
|
|
302
|
+
* @param scopes - The scopes to use for the simulation.
|
|
294
303
|
*/
|
|
295
304
|
protected async simulateViaEntrypoint(
|
|
296
305
|
executionPayload: ExecutionPayload,
|
|
297
306
|
from: AztecAddress,
|
|
298
307
|
feeOptions: FeeOptions,
|
|
308
|
+
scopes: AccessScopes,
|
|
299
309
|
skipTxValidation?: boolean,
|
|
300
310
|
skipFeeEnforcement?: boolean,
|
|
301
311
|
) {
|
|
302
312
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, from, feeOptions);
|
|
303
|
-
return this.pxe.simulateTx(txRequest, { simulatePublic: true, skipTxValidation, skipFeeEnforcement });
|
|
313
|
+
return this.pxe.simulateTx(txRequest, { simulatePublic: true, skipTxValidation, skipFeeEnforcement, scopes });
|
|
304
314
|
}
|
|
305
315
|
|
|
306
316
|
/**
|
|
@@ -345,6 +355,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
345
355
|
remainingPayload,
|
|
346
356
|
opts.from,
|
|
347
357
|
feeOptions,
|
|
358
|
+
this.scopesFor(opts.from),
|
|
348
359
|
opts.skipTxValidation,
|
|
349
360
|
opts.skipFeeEnforcement ?? true,
|
|
350
361
|
)
|
|
@@ -360,6 +371,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
360
371
|
return this.pxe.profileTx(txRequest, {
|
|
361
372
|
profileMode: opts.profileMode,
|
|
362
373
|
skipProofGeneration: opts.skipProofGeneration ?? true,
|
|
374
|
+
scopes: this.scopesFor(opts.from),
|
|
363
375
|
});
|
|
364
376
|
}
|
|
365
377
|
|
|
@@ -369,7 +381,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
369
381
|
): Promise<SendReturn<W>> {
|
|
370
382
|
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
371
383
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
372
|
-
const provenTx = await this.pxe.proveTx(txRequest);
|
|
384
|
+
const provenTx = await this.pxe.proveTx(txRequest, this.scopesFor(opts.from));
|
|
373
385
|
const tx = await provenTx.toTx();
|
|
374
386
|
const txHash = tx.getTxHash();
|
|
375
387
|
if (await this.aztecNode.getTxEffect(txHash)) {
|
|
@@ -405,8 +417,8 @@ export abstract class BaseWallet implements Wallet {
|
|
|
405
417
|
return err;
|
|
406
418
|
}
|
|
407
419
|
|
|
408
|
-
simulateUtility(call: FunctionCall,
|
|
409
|
-
return this.pxe.simulateUtility(call, { authwits });
|
|
420
|
+
simulateUtility(call: FunctionCall, opts: SimulateUtilityOptions): Promise<UtilitySimulationResult> {
|
|
421
|
+
return this.pxe.simulateUtility(call, { authwits: opts.authWitnesses, scopes: [opts.scope] });
|
|
410
422
|
}
|
|
411
423
|
|
|
412
424
|
async getPrivateEvents<T>(
|