@aztec/wallet-sdk 0.0.1-commit.d6f2b3f94 → 0.0.1-commit.e2b2873ed
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,7 +2,7 @@ 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';
|
|
@@ -39,7 +39,8 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
39
39
|
protected log: import("@aztec/foundation/log").Logger;
|
|
40
40
|
protected minFeePadding: number;
|
|
41
41
|
protected cancellableTransactions: boolean;
|
|
42
|
-
protected constructor(pxe: PXE, aztecNode: AztecNode);
|
|
42
|
+
protected constructor(pxe: PXE, aztecNode: AztecNode, log?: import("@aztec/foundation/log").Logger);
|
|
43
|
+
protected scopesFor(from: AztecAddress): AztecAddress[];
|
|
43
44
|
protected abstract getAccountFromAddress(address: AztecAddress): Promise<Account>;
|
|
44
45
|
abstract getAccounts(): Promise<Aliased<AztecAddress>[]>;
|
|
45
46
|
/**
|
|
@@ -103,8 +104,9 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
103
104
|
* @param feeOptions - Fee options for the transaction.
|
|
104
105
|
* @param skipTxValidation - Whether to skip tx validation.
|
|
105
106
|
* @param skipFeeEnforcement - Whether to skip fee enforcement.
|
|
107
|
+
* @param scopes - The scopes to use for the simulation.
|
|
106
108
|
*/
|
|
107
|
-
protected simulateViaEntrypoint(executionPayload: ExecutionPayload, from: AztecAddress, feeOptions: FeeOptions, skipTxValidation?: boolean, skipFeeEnforcement?: boolean): Promise<TxSimulationResult>;
|
|
109
|
+
protected simulateViaEntrypoint(executionPayload: ExecutionPayload, from: AztecAddress, feeOptions: FeeOptions, skipTxValidation?: boolean, skipFeeEnforcement?: boolean, scopes?: AztecAddress[]): Promise<TxSimulationResult>;
|
|
108
110
|
/**
|
|
109
111
|
* Simulates a transaction, optimizing leading public static calls by running them directly
|
|
110
112
|
* on the node while sending the remaining calls through the standard PXE path.
|
|
@@ -117,7 +119,7 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
117
119
|
profileTx(executionPayload: ExecutionPayload, opts: ProfileOptions): Promise<TxProfileResult>;
|
|
118
120
|
sendTx<W extends InteractionWaitOptions = undefined>(executionPayload: ExecutionPayload, opts: SendOptions<W>): Promise<SendReturn<W>>;
|
|
119
121
|
protected contextualizeError(err: Error, ...context: string[]): Error;
|
|
120
|
-
simulateUtility(call: FunctionCall,
|
|
122
|
+
simulateUtility(call: FunctionCall, opts: SimulateUtilityOptions): Promise<UtilitySimulationResult>;
|
|
121
123
|
getPrivateEvents<T>(eventDef: EventMetadataDefinition, eventFilter: PrivateEventFilter): Promise<PrivateEvent<T>[]>;
|
|
122
124
|
getContractMetadata(address: AztecAddress): Promise<{
|
|
123
125
|
instance: ContractInstanceWithAddress | undefined;
|
|
@@ -131,4 +133,4 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
131
133
|
isContractClassPubliclyRegistered: boolean;
|
|
132
134
|
}>;
|
|
133
135
|
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlLXdhbGxldC9iYXNlX3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakYsT0FBTyxFQUFFLEtBQUssc0JBQXNCLEVBQVcsS0FBSyxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRyxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUNWLE9BQU8sRUFDUCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGFBQWEsRUFDYixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsZUFBZSxFQUNmLHNCQUFzQixFQUN0QixNQUFNLEVBQ04sa0JBQWtCLEVBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFPaEMsT0FBTyxFQUFFLDhCQUE4QixFQUF3QyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xILE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQXNCLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxLQUFLLDJCQUEyQixFQUdqQyxNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBTyxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVyRCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBRUwsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxlQUFlLEVBQ3BCLGtCQUFrQixFQUNsQixLQUFLLHVCQUF1QixFQUM3QixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQU01RTs7R0FFRztBQUNILE1BQU0sTUFBTSxVQUFVLEdBQUc7SUFDdkI7OztPQUdHO0lBQ0gsc0JBQXNCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztJQUMxQywrRkFBK0Y7SUFDL0YsOEJBQThCLEVBQUUsOEJBQThCLENBQUM7SUFDL0Qsa0RBQWtEO0lBQ2xELFdBQVcsRUFBRSxXQUFXLENBQUM7Q0FDMUIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsOEJBQXNCLFVBQVcsWUFBVyxNQUFNO0lBTTlDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUc7SUFDM0IsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUztJQUN2QyxTQUFTLENBQUMsR0FBRztJQVBmLFNBQVMsQ0FBQyxhQUFhLFNBQU87SUFDOUIsU0FBUyxDQUFDLHVCQUF1QixVQUFTO0lBRzFDLFNBQVMsYUFDWSxHQUFHLEVBQUUsR0FBRyxFQUNSLFNBQVMsRUFBRSxTQUFTLEVBQzdCLEdBQUcseUNBQXlDLEVBQ3BEO0lBSUosU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxHQUFHLFlBQVksRUFBRSxDQUV0RDtJQUVELFNBQVMsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEYsUUFBUSxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUV6RDs7Ozs7O09BTUc7SUFDRyxjQUFjLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBR3ZEO0lBRUssWUFBWSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHdkM7SUFFRCxVQUFnQix5Q0FBeUMsQ0FDdkQsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLElBQUksRUFBRSxZQUFZLEVBQ2xCLFVBQVUsRUFBRSxVQUFVLEdBQ3JCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQWtCN0I7SUFFWSxhQUFhLENBQ3hCLElBQUksRUFBRSxZQUFZLEVBQ2xCLG1CQUFtQixFQUFFLGVBQWUsR0FBRyxVQUFVLEdBQ2hELE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FJdEI7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsZUFBZSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUVsRjtJQUVZLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLFNBQVMsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBZ0JqRztJQUVEOzs7Ozs7T0FNRztJQUNILFVBQWdCLGtCQUFrQixDQUNoQyxJQUFJLEVBQUUsWUFBWSxFQUNsQixRQUFRLENBQUMsRUFBRSxZQUFZLEVBQ3ZCLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsR0FDM0MsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQXNCckI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsVUFBZ0IsK0JBQStCLENBQzdDLElBQUksRUFBRSxZQUFZLEVBQ2xCLFFBQVEsQ0FBQyxFQUFFLFlBQVksRUFDdkIsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQXRLOUM7OztXQUdHOztRQUVILCtGQUErRjs7O09BbUw5RjtJQUVELGNBQWMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sR0FBRSxNQUFXLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUVoRjtJQUVLLGdCQUFnQixDQUNwQixRQUFRLEVBQUUsMkJBQTJCLEVBQ3JDLFFBQVEsQ0FBQyxFQUFFLGdCQUFnQixFQUMzQixTQUFTLENBQUMsRUFBRSxFQUFFLEdBQ2IsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBZ0N0QztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsVUFBZ0IscUJBQXFCLENBQ25DLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxJQUFJLEVBQUUsWUFBWSxFQUNsQixVQUFVLEVBQUUsVUFBVSxFQUN0QixnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sRUFDMUIsa0JBQWtCLENBQUMsRUFBRSxPQUFPLEVBQzVCLE1BQU0sQ0FBQyxFQUFFLFlBQVksRUFBRSwrQkFJeEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0csVUFBVSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBMEN2RztJQUVLLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsY0FBYyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FRbEc7SUFFWSxNQUFNLENBQUMsQ0FBQyxTQUFTLHNCQUFzQixHQUFHLFNBQVMsRUFDOUQsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQ25CLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0F1QnhCO0lBRUQsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQVlwRTtJQUVELGVBQWUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxzQkFBc0IsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FFbEc7SUFFSyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQ3RCLFFBQVEsRUFBRSx1QkFBdUIsRUFDakMsV0FBVyxFQUFFLGtCQUFrQixHQUM5QixPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FlNUI7SUFFSyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsWUFBWTs7Ozs7O09BZTlDO0lBRUssd0JBQXdCLENBQUMsRUFBRSxFQUFFLEVBQUU7OztPQU1wQztDQUNGIn0=
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/base-wallet/base_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,13 +21,20 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
21
21
|
minFeePadding;
|
|
22
22
|
cancellableTransactions;
|
|
23
23
|
// Protected because we want to force wallets to instantiate their own PXE.
|
|
24
|
-
constructor(pxe, aztecNode){
|
|
24
|
+
constructor(pxe, aztecNode, log = createLogger('wallet-sdk:base_wallet')){
|
|
25
25
|
this.pxe = pxe;
|
|
26
26
|
this.aztecNode = aztecNode;
|
|
27
|
-
this.log =
|
|
27
|
+
this.log = log;
|
|
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,9 +198,15 @@ 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, skipTxValidation, skipFeeEnforcement, scopes) {
|
|
195
203
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, from, feeOptions);
|
|
196
|
-
return this.pxe.simulateTx(txRequest,
|
|
204
|
+
return this.pxe.simulateTx(txRequest, {
|
|
205
|
+
simulatePublic: true,
|
|
206
|
+
skipTxValidation,
|
|
207
|
+
skipFeeEnforcement,
|
|
208
|
+
scopes
|
|
209
|
+
});
|
|
197
210
|
}
|
|
198
211
|
/**
|
|
199
212
|
* Simulates a transaction, optimizing leading public static calls by running them directly
|
|
@@ -210,22 +223,33 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
210
223
|
calls: remainingCalls
|
|
211
224
|
};
|
|
212
225
|
const chainInfo = await this.getChainInfo();
|
|
213
|
-
|
|
226
|
+
let blockHeader;
|
|
227
|
+
// PXE might not be synced yet, so we pull the latest header from the node
|
|
228
|
+
// To keep things consistent, we'll always try with PXE first
|
|
229
|
+
try {
|
|
230
|
+
blockHeader = await this.pxe.getSyncedBlockHeader();
|
|
231
|
+
} catch {
|
|
232
|
+
blockHeader = await this.aztecNode.getBlockHeader();
|
|
233
|
+
}
|
|
214
234
|
const [optimizedResults, normalResult] = await Promise.all([
|
|
215
235
|
optimizableCalls.length > 0 ? simulateViaNode(this.aztecNode, optimizableCalls, opts.from, chainInfo, feeOptions.gasSettings, blockHeader, opts.skipFeeEnforcement ?? true) : Promise.resolve([]),
|
|
216
|
-
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, opts.skipTxValidation, opts.skipFeeEnforcement ?? true, this.scopesFor(opts.from)) : Promise.resolve(null)
|
|
217
237
|
]);
|
|
218
238
|
return buildMergedSimulationResult(optimizedResults, normalResult);
|
|
219
239
|
}
|
|
220
240
|
async profileTx(executionPayload, opts) {
|
|
221
241
|
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
222
242
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
223
|
-
return this.pxe.profileTx(txRequest,
|
|
243
|
+
return this.pxe.profileTx(txRequest, {
|
|
244
|
+
profileMode: opts.profileMode,
|
|
245
|
+
skipProofGeneration: opts.skipProofGeneration ?? true,
|
|
246
|
+
scopes: this.scopesFor(opts.from)
|
|
247
|
+
});
|
|
224
248
|
}
|
|
225
249
|
async sendTx(executionPayload, opts) {
|
|
226
250
|
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
227
251
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
228
|
-
const provenTx = await this.pxe.proveTx(txRequest);
|
|
252
|
+
const provenTx = await this.pxe.proveTx(txRequest, this.scopesFor(opts.from));
|
|
229
253
|
const tx = await provenTx.toTx();
|
|
230
254
|
const txHash = tx.getTxHash();
|
|
231
255
|
if (await this.aztecNode.getTxEffect(txHash)) {
|
|
@@ -257,8 +281,13 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
257
281
|
}
|
|
258
282
|
return err;
|
|
259
283
|
}
|
|
260
|
-
simulateUtility(call,
|
|
261
|
-
return this.pxe.simulateUtility(call,
|
|
284
|
+
simulateUtility(call, opts) {
|
|
285
|
+
return this.pxe.simulateUtility(call, {
|
|
286
|
+
authwits: opts.authWitnesses,
|
|
287
|
+
scopes: [
|
|
288
|
+
opts.scope
|
|
289
|
+
]
|
|
290
|
+
});
|
|
262
291
|
}
|
|
263
292
|
async getPrivateEvents(eventDef, eventFilter) {
|
|
264
293
|
const pxeEvents = await this.pxe.getPrivateEvents(eventDef.eventSelector, 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": "0.0.1-commit.
|
|
4
|
+
"version": "0.0.1-commit.e2b2873ed",
|
|
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": "0.0.1-commit.
|
|
75
|
-
"@aztec/constants": "0.0.1-commit.
|
|
76
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
77
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
78
|
-
"@aztec/pxe": "0.0.1-commit.
|
|
79
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
74
|
+
"@aztec/aztec.js": "0.0.1-commit.e2b2873ed",
|
|
75
|
+
"@aztec/constants": "0.0.1-commit.e2b2873ed",
|
|
76
|
+
"@aztec/entrypoints": "0.0.1-commit.e2b2873ed",
|
|
77
|
+
"@aztec/foundation": "0.0.1-commit.e2b2873ed",
|
|
78
|
+
"@aztec/pxe": "0.0.1-commit.e2b2873ed",
|
|
79
|
+
"@aztec/stdlib": "0.0.1-commit.e2b2873ed"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
82
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.e2b2873ed",
|
|
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';
|
|
@@ -46,6 +47,7 @@ import { Gas, GasSettings } from '@aztec/stdlib/gas';
|
|
|
46
47
|
import { siloNullifier } from '@aztec/stdlib/hash';
|
|
47
48
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
48
49
|
import {
|
|
50
|
+
BlockHeader,
|
|
49
51
|
type TxExecutionRequest,
|
|
50
52
|
type TxProfileResult,
|
|
51
53
|
TxSimulationResult,
|
|
@@ -76,8 +78,6 @@ export type FeeOptions = {
|
|
|
76
78
|
* A base class for Wallet implementations
|
|
77
79
|
*/
|
|
78
80
|
export abstract class BaseWallet implements Wallet {
|
|
79
|
-
protected log = createLogger('wallet-sdk:base_wallet');
|
|
80
|
-
|
|
81
81
|
protected minFeePadding = 0.5;
|
|
82
82
|
protected cancellableTransactions = false;
|
|
83
83
|
|
|
@@ -85,8 +85,15 @@ export abstract class BaseWallet implements Wallet {
|
|
|
85
85
|
protected constructor(
|
|
86
86
|
protected readonly pxe: PXE,
|
|
87
87
|
protected readonly aztecNode: AztecNode,
|
|
88
|
+
protected log = createLogger('wallet-sdk:base_wallet'),
|
|
88
89
|
) {}
|
|
89
90
|
|
|
91
|
+
// When `from` is the zero address (e.g. when deploying a new account contract), we return an
|
|
92
|
+
// empty scope list which acts as deny-all: no notes are visible and no keys are accessible.
|
|
93
|
+
protected scopesFor(from: AztecAddress): AztecAddress[] {
|
|
94
|
+
return from.isZero() ? [] : [from];
|
|
95
|
+
}
|
|
96
|
+
|
|
90
97
|
protected abstract getAccountFromAddress(address: AztecAddress): Promise<Account>;
|
|
91
98
|
|
|
92
99
|
abstract getAccounts(): Promise<Aliased<AztecAddress>[]>;
|
|
@@ -291,6 +298,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
291
298
|
* @param feeOptions - Fee options for the transaction.
|
|
292
299
|
* @param skipTxValidation - Whether to skip tx validation.
|
|
293
300
|
* @param skipFeeEnforcement - Whether to skip fee enforcement.
|
|
301
|
+
* @param scopes - The scopes to use for the simulation.
|
|
294
302
|
*/
|
|
295
303
|
protected async simulateViaEntrypoint(
|
|
296
304
|
executionPayload: ExecutionPayload,
|
|
@@ -298,9 +306,10 @@ export abstract class BaseWallet implements Wallet {
|
|
|
298
306
|
feeOptions: FeeOptions,
|
|
299
307
|
skipTxValidation?: boolean,
|
|
300
308
|
skipFeeEnforcement?: boolean,
|
|
309
|
+
scopes?: AztecAddress[],
|
|
301
310
|
) {
|
|
302
311
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, from, feeOptions);
|
|
303
|
-
return this.pxe.simulateTx(txRequest,
|
|
312
|
+
return this.pxe.simulateTx(txRequest, { simulatePublic: true, skipTxValidation, skipFeeEnforcement, scopes });
|
|
304
313
|
}
|
|
305
314
|
|
|
306
315
|
/**
|
|
@@ -319,7 +328,14 @@ export abstract class BaseWallet implements Wallet {
|
|
|
319
328
|
const remainingPayload = { ...executionPayload, calls: remainingCalls };
|
|
320
329
|
|
|
321
330
|
const chainInfo = await this.getChainInfo();
|
|
322
|
-
|
|
331
|
+
let blockHeader: BlockHeader;
|
|
332
|
+
// PXE might not be synced yet, so we pull the latest header from the node
|
|
333
|
+
// To keep things consistent, we'll always try with PXE first
|
|
334
|
+
try {
|
|
335
|
+
blockHeader = await this.pxe.getSyncedBlockHeader();
|
|
336
|
+
} catch {
|
|
337
|
+
blockHeader = (await this.aztecNode.getBlockHeader())!;
|
|
338
|
+
}
|
|
323
339
|
|
|
324
340
|
const [optimizedResults, normalResult] = await Promise.all([
|
|
325
341
|
optimizableCalls.length > 0
|
|
@@ -340,6 +356,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
340
356
|
feeOptions,
|
|
341
357
|
opts.skipTxValidation,
|
|
342
358
|
opts.skipFeeEnforcement ?? true,
|
|
359
|
+
this.scopesFor(opts.from),
|
|
343
360
|
)
|
|
344
361
|
: Promise.resolve(null),
|
|
345
362
|
]);
|
|
@@ -350,7 +367,11 @@ export abstract class BaseWallet implements Wallet {
|
|
|
350
367
|
async profileTx(executionPayload: ExecutionPayload, opts: ProfileOptions): Promise<TxProfileResult> {
|
|
351
368
|
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
352
369
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
353
|
-
return this.pxe.profileTx(txRequest,
|
|
370
|
+
return this.pxe.profileTx(txRequest, {
|
|
371
|
+
profileMode: opts.profileMode,
|
|
372
|
+
skipProofGeneration: opts.skipProofGeneration ?? true,
|
|
373
|
+
scopes: this.scopesFor(opts.from),
|
|
374
|
+
});
|
|
354
375
|
}
|
|
355
376
|
|
|
356
377
|
public async sendTx<W extends InteractionWaitOptions = undefined>(
|
|
@@ -359,7 +380,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
359
380
|
): Promise<SendReturn<W>> {
|
|
360
381
|
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
361
382
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
362
|
-
const provenTx = await this.pxe.proveTx(txRequest);
|
|
383
|
+
const provenTx = await this.pxe.proveTx(txRequest, this.scopesFor(opts.from));
|
|
363
384
|
const tx = await provenTx.toTx();
|
|
364
385
|
const txHash = tx.getTxHash();
|
|
365
386
|
if (await this.aztecNode.getTxEffect(txHash)) {
|
|
@@ -395,8 +416,8 @@ export abstract class BaseWallet implements Wallet {
|
|
|
395
416
|
return err;
|
|
396
417
|
}
|
|
397
418
|
|
|
398
|
-
simulateUtility(call: FunctionCall,
|
|
399
|
-
return this.pxe.simulateUtility(call, authwits);
|
|
419
|
+
simulateUtility(call: FunctionCall, opts: SimulateUtilityOptions): Promise<UtilitySimulationResult> {
|
|
420
|
+
return this.pxe.simulateUtility(call, { authwits: opts.authWitnesses, scopes: [opts.scope] });
|
|
400
421
|
}
|
|
401
422
|
|
|
402
423
|
async getPrivateEvents<T>(
|