@aztec/wallet-sdk 0.0.1-commit.0c875d939 → 0.0.1-commit.10bd49492
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.
- package/dest/base-wallet/base_wallet.d.ts +12 -7
- package/dest/base-wallet/base_wallet.d.ts.map +1 -1
- package/dest/base-wallet/base_wallet.js +42 -14
- package/dest/base-wallet/utils.d.ts +3 -2
- package/dest/base-wallet/utils.d.ts.map +1 -1
- package/dest/base-wallet/utils.js +6 -3
- package/dest/extension/provider/extension_wallet.d.ts +3 -2
- package/dest/extension/provider/extension_wallet.d.ts.map +1 -1
- package/dest/extension/provider/extension_wallet.js +9 -2
- package/dest/manager/types.d.ts +4 -4
- package/dest/manager/types.d.ts.map +1 -1
- package/dest/manager/wallet_manager.d.ts +1 -1
- package/dest/manager/wallet_manager.d.ts.map +1 -1
- package/dest/manager/wallet_manager.js +2 -2
- package/package.json +8 -8
- package/src/base-wallet/base_wallet.ts +46 -16
- package/src/base-wallet/utils.ts +8 -0
- package/src/extension/provider/extension_wallet.ts +12 -4
- package/src/manager/types.ts +3 -3
- package/src/manager/wallet_manager.ts +7 -9
|
@@ -2,20 +2,20 @@ 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,
|
|
5
|
+
import type { Aliased, AppCapabilities, BatchResults, BatchedMethod, ExecuteUtilityOptions, PrivateEvent, PrivateEventFilter, ProfileOptions, SendOptions, SimulateOptions, 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
|
|
10
|
+
import { type AccessScopes } from '@aztec/pxe/client/lazy';
|
|
11
11
|
import type { PXE } from '@aztec/pxe/server';
|
|
12
12
|
import { type ContractArtifact, type EventMetadataDefinition, type FunctionCall } from '@aztec/stdlib/abi';
|
|
13
13
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
14
|
-
import
|
|
14
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
15
|
import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
16
16
|
import { GasSettings } from '@aztec/stdlib/gas';
|
|
17
17
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
18
|
-
import { type TxExecutionRequest, type TxProfileResult, TxSimulationResult, type
|
|
18
|
+
import { type TxExecutionRequest, type TxProfileResult, TxSimulationResult, type UtilityExecutionResult } from '@aztec/stdlib/tx';
|
|
19
19
|
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
20
20
|
/**
|
|
21
21
|
* Options to configure fee payment for a transaction
|
|
@@ -41,7 +41,7 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
41
41
|
protected minFeePadding: number;
|
|
42
42
|
protected cancellableTransactions: boolean;
|
|
43
43
|
protected constructor(pxe: PXE, aztecNode: AztecNode, log?: import("@aztec/foundation/log").Logger);
|
|
44
|
-
protected
|
|
44
|
+
protected scopesFrom(from: AztecAddress, additionalScopes?: AztecAddress[]): AztecAddress[];
|
|
45
45
|
protected abstract getAccountFromAddress(address: AztecAddress): Promise<Account>;
|
|
46
46
|
abstract getAccounts(): Promise<Aliased<AztecAddress>[]>;
|
|
47
47
|
/**
|
|
@@ -119,8 +119,13 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
119
119
|
simulateTx(executionPayload: ExecutionPayload, opts: SimulateOptions): Promise<TxSimulationResult>;
|
|
120
120
|
profileTx(executionPayload: ExecutionPayload, opts: ProfileOptions): Promise<TxProfileResult>;
|
|
121
121
|
sendTx<W extends InteractionWaitOptions = undefined>(executionPayload: ExecutionPayload, opts: SendOptions<W>): Promise<SendReturn<W>>;
|
|
122
|
+
/**
|
|
123
|
+
* Resolves a contract address to a human-readable name via PXE, if available.
|
|
124
|
+
* @param address - The contract address to resolve.
|
|
125
|
+
*/
|
|
126
|
+
protected getContractName(address: AztecAddress): Promise<string | undefined>;
|
|
122
127
|
protected contextualizeError(err: Error, ...context: string[]): Error;
|
|
123
|
-
|
|
128
|
+
executeUtility(call: FunctionCall, opts: ExecuteUtilityOptions): Promise<UtilityExecutionResult>;
|
|
124
129
|
getPrivateEvents<T>(eventDef: EventMetadataDefinition, eventFilter: PrivateEventFilter): Promise<PrivateEvent<T>[]>;
|
|
125
130
|
getContractMetadata(address: AztecAddress): Promise<{
|
|
126
131
|
instance: ContractInstanceWithAddress | undefined;
|
|
@@ -134,4 +139,4 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
134
139
|
isContractClassPubliclyRegistered: boolean;
|
|
135
140
|
}>;
|
|
136
141
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlLXdhbGxldC9iYXNlX3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakYsT0FBTyxFQUNMLEtBQUssc0JBQXNCLEVBRTNCLEtBQUssVUFBVSxFQUVoQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFNUQsT0FBTyxLQUFLLEVBQ1YsT0FBTyxFQUNQLGVBQWUsRUFDZixZQUFZLEVBQ1osYUFBYSxFQUNiLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsZUFBZSxFQUNmLE1BQU0sRUFDTixrQkFBa0IsRUFDbkIsTUFBTSx3QkFBd0IsQ0FBQztBQU9oQyxPQUFPLEVBQUUsOEJBQThCLEVBQXdDLE1BQU0sNEJBQTRCLENBQUM7QUFDbEgsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBb0IsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RSxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQXNCLE1BQU0sbUJBQW1CLENBQUM7QUFDakUsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssWUFBWSxFQUVsQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FB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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,
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/base-wallet/base_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { NO_WAIT } from '@aztec/aztec.js/contracts';
|
|
1
|
+
import { NO_WAIT, extractOffchainOutput } from '@aztec/aztec.js/contracts';
|
|
2
2
|
import { waitForTx } from '@aztec/aztec.js/node';
|
|
3
3
|
import { GAS_ESTIMATION_DA_GAS_LIMIT, GAS_ESTIMATION_L2_GAS_LIMIT, GAS_ESTIMATION_TEARDOWN_DA_GAS_LIMIT, GAS_ESTIMATION_TEARDOWN_L2_GAS_LIMIT } from '@aztec/constants';
|
|
4
4
|
import { AccountFeePaymentMethodOptions } from '@aztec/entrypoints/account';
|
|
5
5
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
6
|
import { createLogger } from '@aztec/foundation/log';
|
|
7
|
+
import { displayDebugLogs } from '@aztec/pxe/client/lazy';
|
|
7
8
|
import { decodeFromAbi } from '@aztec/stdlib/abi';
|
|
9
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
10
|
import { computePartialAddress, getContractClassFromArtifact } from '@aztec/stdlib/contract';
|
|
9
11
|
import { SimulationError } from '@aztec/stdlib/errors';
|
|
10
12
|
import { Gas, GasSettings } from '@aztec/stdlib/gas';
|
|
@@ -28,12 +30,15 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
28
30
|
this.minFeePadding = 0.5;
|
|
29
31
|
this.cancellableTransactions = false;
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
from
|
|
33
|
+
scopesFrom(from, additionalScopes = []) {
|
|
34
|
+
const allScopes = from.isZero() ? additionalScopes : [
|
|
35
|
+
from,
|
|
36
|
+
...additionalScopes
|
|
36
37
|
];
|
|
38
|
+
const scopeSet = new Set(allScopes.map((address)=>address.toString()));
|
|
39
|
+
return [
|
|
40
|
+
...scopeSet
|
|
41
|
+
].map(AztecAddress.fromString);
|
|
37
42
|
}
|
|
38
43
|
/**
|
|
39
44
|
* Returns the list of aliased contacts associated with the wallet.
|
|
@@ -232,8 +237,8 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
232
237
|
blockHeader = await this.aztecNode.getBlockHeader();
|
|
233
238
|
}
|
|
234
239
|
const [optimizedResults, normalResult] = await Promise.all([
|
|
235
|
-
optimizableCalls.length > 0 ? simulateViaNode(this.aztecNode, optimizableCalls, opts.from, chainInfo, feeOptions.gasSettings, blockHeader, opts.skipFeeEnforcement ?? true) : Promise.resolve([]),
|
|
236
|
-
remainingCalls.length > 0 ? this.simulateViaEntrypoint(remainingPayload, opts.from, feeOptions, this.
|
|
240
|
+
optimizableCalls.length > 0 ? simulateViaNode(this.aztecNode, optimizableCalls, opts.from, chainInfo, feeOptions.gasSettings, blockHeader, opts.skipFeeEnforcement ?? true, this.getContractName.bind(this)) : Promise.resolve([]),
|
|
241
|
+
remainingCalls.length > 0 ? this.simulateViaEntrypoint(remainingPayload, opts.from, feeOptions, this.scopesFrom(opts.from, opts.additionalScopes), opts.skipTxValidation, opts.skipFeeEnforcement ?? true) : Promise.resolve(null)
|
|
237
242
|
]);
|
|
238
243
|
return buildMergedSimulationResult(optimizedResults, normalResult);
|
|
239
244
|
}
|
|
@@ -243,13 +248,14 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
243
248
|
return this.pxe.profileTx(txRequest, {
|
|
244
249
|
profileMode: opts.profileMode,
|
|
245
250
|
skipProofGeneration: opts.skipProofGeneration ?? true,
|
|
246
|
-
scopes: this.
|
|
251
|
+
scopes: this.scopesFrom(opts.from, opts.additionalScopes)
|
|
247
252
|
});
|
|
248
253
|
}
|
|
249
254
|
async sendTx(executionPayload, opts) {
|
|
250
255
|
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
251
256
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
252
|
-
const provenTx = await this.pxe.proveTx(txRequest, this.
|
|
257
|
+
const provenTx = await this.pxe.proveTx(txRequest, this.scopesFrom(opts.from, opts.additionalScopes));
|
|
258
|
+
const offchainOutput = extractOffchainOutput(provenTx.getOffchainEffects(), provenTx.publicInputs.expirationTimestamp);
|
|
253
259
|
const tx = await provenTx.toTx();
|
|
254
260
|
const txHash = tx.getTxHash();
|
|
255
261
|
if (await this.aztecNode.getTxEffect(txHash)) {
|
|
@@ -262,11 +268,33 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
262
268
|
this.log.info(`Sent transaction ${txHash}`);
|
|
263
269
|
// If wait is NO_WAIT, return txHash immediately
|
|
264
270
|
if (opts.wait === NO_WAIT) {
|
|
265
|
-
return
|
|
271
|
+
return {
|
|
272
|
+
txHash,
|
|
273
|
+
...offchainOutput
|
|
274
|
+
};
|
|
266
275
|
}
|
|
267
276
|
// Otherwise, wait for the full receipt (default behavior on wait: undefined)
|
|
268
277
|
const waitOpts = typeof opts.wait === 'object' ? opts.wait : undefined;
|
|
269
|
-
|
|
278
|
+
const receipt = await waitForTx(this.aztecNode, txHash, waitOpts);
|
|
279
|
+
// Display debug logs from public execution if present (served in test mode only)
|
|
280
|
+
if (receipt.debugLogs?.length) {
|
|
281
|
+
await displayDebugLogs(receipt.debugLogs, this.getContractName.bind(this));
|
|
282
|
+
}
|
|
283
|
+
return {
|
|
284
|
+
receipt,
|
|
285
|
+
...offchainOutput
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Resolves a contract address to a human-readable name via PXE, if available.
|
|
290
|
+
* @param address - The contract address to resolve.
|
|
291
|
+
*/ async getContractName(address) {
|
|
292
|
+
const instance = await this.pxe.getContractInstance(address);
|
|
293
|
+
if (!instance) {
|
|
294
|
+
return undefined;
|
|
295
|
+
}
|
|
296
|
+
const artifact = await this.pxe.getContractArtifact(instance.currentContractClassId);
|
|
297
|
+
return artifact?.name;
|
|
270
298
|
}
|
|
271
299
|
contextualizeError(err, ...context) {
|
|
272
300
|
let contextStr = '';
|
|
@@ -281,8 +309,8 @@ import { buildMergedSimulationResult, extractOptimizablePublicStaticCalls, simul
|
|
|
281
309
|
}
|
|
282
310
|
return err;
|
|
283
311
|
}
|
|
284
|
-
|
|
285
|
-
return this.pxe.
|
|
312
|
+
executeUtility(call, opts) {
|
|
313
|
+
return this.pxe.executeUtility(call, {
|
|
286
314
|
authwits: opts.authWitnesses,
|
|
287
315
|
scopes: [
|
|
288
316
|
opts.scope
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
2
2
|
import type { ChainInfo } from '@aztec/entrypoints/interfaces';
|
|
3
|
+
import type { ContractNameResolver } from '@aztec/pxe/client/lazy';
|
|
3
4
|
import { type FunctionCall } from '@aztec/stdlib/abi';
|
|
4
5
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
6
|
import type { GasSettings } from '@aztec/stdlib/gas';
|
|
@@ -33,7 +34,7 @@ export declare function extractOptimizablePublicStaticCalls(payload: ExecutionPa
|
|
|
33
34
|
* @param skipFeeEnforcement - Whether to skip fee enforcement during simulation.
|
|
34
35
|
* @returns Array of TxSimulationResult, one per batch.
|
|
35
36
|
*/
|
|
36
|
-
export declare function simulateViaNode(node: AztecNode, publicStaticCalls: FunctionCall[], from: AztecAddress, chainInfo: ChainInfo, gasSettings: GasSettings, blockHeader: BlockHeader, skipFeeEnforcement
|
|
37
|
+
export declare function simulateViaNode(node: AztecNode, publicStaticCalls: FunctionCall[], from: AztecAddress, chainInfo: ChainInfo, gasSettings: GasSettings, blockHeader: BlockHeader, skipFeeEnforcement: boolean | undefined, getContractName: ContractNameResolver): Promise<TxSimulationResult[]>;
|
|
37
38
|
/**
|
|
38
39
|
* Merges simulation results from the optimized (public static) and normal paths.
|
|
39
40
|
* Since optimized calls are always a leading prefix, return values are simply
|
|
@@ -45,4 +46,4 @@ export declare function simulateViaNode(node: AztecNode, publicStaticCalls: Func
|
|
|
45
46
|
* @returns A single TxSimulationResult with return values in original call order.
|
|
46
47
|
*/
|
|
47
48
|
export declare function buildMergedSimulationResult(optimizedResults: TxSimulationResult[], normalResult: TxSimulationResult | null): TxSimulationResult;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iYXNlLXdhbGxldC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUkvRCxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR25FLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVFyRCxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssZ0JBQWdCLEVBT3JCLGtCQUFrQixFQUNuQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFnQixtQ0FBbUMsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEdBQUc7SUFDOUUsdUVBQXVFO0lBQ3ZFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ2pDLDJCQUEyQjtJQUMzQixjQUFjLEVBQUUsWUFBWSxFQUFFLENBQUM7Q0FDaEMsQ0FPQTtBQXVHRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCx3QkFBc0IsZUFBZSxDQUNuQyxJQUFJLEVBQUUsU0FBUyxFQUNmLGlCQUFpQixFQUFFLFlBQVksRUFBRSxFQUNqQyxJQUFJLEVBQUUsWUFBWSxFQUNsQixTQUFTLEVBQUUsU0FBUyxFQUNwQixXQUFXLEVBQUUsV0FBVyxFQUN4QixXQUFXLEVBQUUsV0FBVyxFQUN4QixrQkFBa0IscUJBQWdCLEVBQ2xDLGVBQWUsRUFBRSxvQkFBb0IsR0FDcEMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0F3Qi9CO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQWdCLDJCQUEyQixDQUN6QyxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxFQUN0QyxZQUFZLEVBQUUsa0JBQWtCLEdBQUcsSUFBSSxHQUN0QyxrQkFBa0IsQ0FvQnBCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/base-wallet/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/base-wallet/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQrD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EAOrB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;GASG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAC9E,uEAAuE;IACvE,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,2BAA2B;IAC3B,cAAc,EAAE,YAAY,EAAE,CAAC;CAChC,CAOA;AAuGD;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,iBAAiB,EAAE,YAAY,EAAE,EACjC,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,kBAAkB,qBAAgB,EAClC,eAAe,EAAE,oBAAoB,GACpC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAwB/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,gBAAgB,EAAE,kBAAkB,EAAE,EACtC,YAAY,EAAE,kBAAkB,GAAG,IAAI,GACtC,kBAAkB,CAoBpB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MAX_ENQUEUED_CALLS_PER_CALL } from '@aztec/constants';
|
|
2
2
|
import { makeTuple } from '@aztec/foundation/array';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
+
import { displayDebugLogs } from '@aztec/pxe/client/lazy';
|
|
4
5
|
import { generateSimulatedProvingResult } from '@aztec/pxe/simulator';
|
|
5
6
|
import { ClaimedLengthArray, CountedPublicCallRequest, PrivateCircuitPublicInputs, PublicCallRequest } from '@aztec/stdlib/kernel';
|
|
6
7
|
import { ChonkProof } from '@aztec/stdlib/proofs';
|
|
@@ -34,7 +35,7 @@ import { HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, T
|
|
|
34
35
|
* @param blockHeader - Block header to use as anchor.
|
|
35
36
|
* @param skipFeeEnforcement - Whether to skip fee enforcement during simulation.
|
|
36
37
|
* @returns TxSimulationResult with public return values.
|
|
37
|
-
*/ async function simulateBatchViaNode(node, publicStaticCalls, from, chainInfo, gasSettings, blockHeader, skipFeeEnforcement) {
|
|
38
|
+
*/ async function simulateBatchViaNode(node, publicStaticCalls, from, chainInfo, gasSettings, blockHeader, skipFeeEnforcement, getContractName) {
|
|
38
39
|
const txContext = new TxContext(chainInfo.chainId, chainInfo.version, gasSettings);
|
|
39
40
|
const publicFunctionCalldata = [];
|
|
40
41
|
for (const call of publicStaticCalls){
|
|
@@ -77,6 +78,8 @@ import { HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, T
|
|
|
77
78
|
if (publicOutput.revertReason) {
|
|
78
79
|
throw publicOutput.revertReason;
|
|
79
80
|
}
|
|
81
|
+
// Display debug logs from the public simulation.
|
|
82
|
+
await displayDebugLogs(publicOutput.debugLogs, getContractName);
|
|
80
83
|
return new TxSimulationResult(privateResult, provingResult.publicInputs, publicOutput, undefined);
|
|
81
84
|
}
|
|
82
85
|
/**
|
|
@@ -91,14 +94,14 @@ import { HashedValues, PrivateCallExecutionResult, PrivateExecutionResult, Tx, T
|
|
|
91
94
|
* @param blockHeader - Block header to use as anchor.
|
|
92
95
|
* @param skipFeeEnforcement - Whether to skip fee enforcement during simulation.
|
|
93
96
|
* @returns Array of TxSimulationResult, one per batch.
|
|
94
|
-
*/ export async function simulateViaNode(node, publicStaticCalls, from, chainInfo, gasSettings, blockHeader, skipFeeEnforcement = true) {
|
|
97
|
+
*/ export async function simulateViaNode(node, publicStaticCalls, from, chainInfo, gasSettings, blockHeader, skipFeeEnforcement = true, getContractName) {
|
|
95
98
|
const batches = [];
|
|
96
99
|
for(let i = 0; i < publicStaticCalls.length; i += MAX_ENQUEUED_CALLS_PER_CALL){
|
|
97
100
|
batches.push(publicStaticCalls.slice(i, i + MAX_ENQUEUED_CALLS_PER_CALL));
|
|
98
101
|
}
|
|
99
102
|
const results = [];
|
|
100
103
|
for (const batch of batches){
|
|
101
|
-
const result = await simulateBatchViaNode(node, batch, from, chainInfo, gasSettings, blockHeader, skipFeeEnforcement);
|
|
104
|
+
const result = await simulateBatchViaNode(node, batch, from, chainInfo, gasSettings, blockHeader, skipFeeEnforcement, getContractName);
|
|
102
105
|
results.push(result);
|
|
103
106
|
}
|
|
104
107
|
return results;
|
|
@@ -80,7 +80,8 @@ export declare class ExtensionWallet {
|
|
|
80
80
|
* const accounts = await wallet.getAccounts();
|
|
81
81
|
* ```
|
|
82
82
|
*/
|
|
83
|
-
static create(extensionId: string, port: MessagePort, sharedKey: CryptoKey, chainInfo: ChainInfo, appId: string):
|
|
83
|
+
static create(extensionId: string, port: MessagePort, sharedKey: CryptoKey, chainInfo: ChainInfo, appId: string): ExtensionWallet;
|
|
84
|
+
asWallet(): Wallet;
|
|
84
85
|
private handleEncryptedResponse;
|
|
85
86
|
private postMessage;
|
|
86
87
|
/**
|
|
@@ -128,4 +129,4 @@ export declare class ExtensionWallet {
|
|
|
128
129
|
*/
|
|
129
130
|
disconnect(): Promise<void>;
|
|
130
131
|
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9uX3dhbGxldC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4dGVuc2lvbi9wcm92aWRlci9leHRlbnNpb25fd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQW9CbkU7O0dBRUc7QUFDSCxNQUFNLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUM7QUFFNUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCRztBQUNILHFCQUFhLGVBQWU7SUFleEIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLEtBQUs7SUFDYixPQUFPLENBQUMsV0FBVztJQUNuQixPQUFPLENBQUMsSUFBSTtJQUNaLE9BQU8sQ0FBQyxTQUFTO0lBbEJuQixzRUFBc0U7SUFDdEUsT0FBTyxDQUFDLFFBQVEsQ0FBb0Q7SUFDcEUsT0FBTyxDQUFDLFlBQVksQ0FBUztJQUM3QixPQUFPLENBQUMsbUJBQW1CLENBQTRCO0lBRXZEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLGVBTUg7SUFFSjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXlCRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQ1gsV0FBVyxFQUFFLE1BQU0sRUFDbkIsSUFBSSxFQUFFLFdBQVcsRUFDakIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsS0FBSyxFQUFFLE1BQU0sR0FDWixlQUFlLENBa0NqQjtJQUVELFFBQVEsSUFBSSxNQUFNLENBSWpCO1lBVWEsdUJBQXVCO1lBOEN2QixXQUFXO0lBMEJ6Qjs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLGdCQUFnQjtJQTBCeEI7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsWUFBWSxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FRckQ7SUFFRDs7OztPQUlHO0lBQ0gsY0FBYyxJQUFJLE9BQU8sQ0FFeEI7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBRUcsVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FhaEM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension_wallet.d.ts","sourceRoot":"","sources":["../../../src/extension/provider/extension_wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,wBAAwB,CAAC;AAoBnE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAe;IAexB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,SAAS;IAlBnB,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAoD;IACpE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAA4B;IAEvD;;;;;;;OAOG;IACH,OAAO,eAMH;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CAAC,MAAM,CACX,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"extension_wallet.d.ts","sourceRoot":"","sources":["../../../src/extension/provider/extension_wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,wBAAwB,CAAC;AAoBnE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAe;IAexB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,SAAS;IAlBnB,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAoD;IACpE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,mBAAmB,CAA4B;IAEvD;;;;;;;OAOG;IACH,OAAO,eAMH;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,MAAM,CAAC,MAAM,CACX,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,GACZ,eAAe,CAkCjB;IAED,QAAQ,IAAI,MAAM,CAIjB;YAUa,uBAAuB;YA8CvB,WAAW;IA0BzB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAQrD;IAED;;;;OAIG;IACH,cAAc,IAAI,OAAO,CAExB;IAED;;;;;;;;;;;;;OAaG;IAEG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAahC;CACF"}
|
|
@@ -100,8 +100,10 @@ import { WalletMessageType } from '../../types.js';
|
|
|
100
100
|
};
|
|
101
101
|
wallet.port.start();
|
|
102
102
|
return new Proxy(wallet, {
|
|
103
|
-
get: (target, prop)=>{
|
|
104
|
-
if (
|
|
103
|
+
get: (target, prop, receiver)=>{
|
|
104
|
+
if (prop === 'asWallet') {
|
|
105
|
+
return ()=>receiver;
|
|
106
|
+
} else if (schemaHasMethod(WalletSchema, prop.toString())) {
|
|
105
107
|
return async (...args)=>{
|
|
106
108
|
const result = await target.postMessage({
|
|
107
109
|
type: prop.toString(),
|
|
@@ -115,6 +117,11 @@ import { WalletMessageType } from '../../types.js';
|
|
|
115
117
|
}
|
|
116
118
|
});
|
|
117
119
|
}
|
|
120
|
+
asWallet() {
|
|
121
|
+
// Overridden by the proxy in create() to return the proxy itself.
|
|
122
|
+
// This body is never reached when accessed through create().
|
|
123
|
+
return this;
|
|
124
|
+
}
|
|
118
125
|
/**
|
|
119
126
|
* Handles an encrypted response received from the wallet extension.
|
|
120
127
|
*
|
package/dest/manager/types.d.ts
CHANGED
|
@@ -107,18 +107,18 @@ export interface WalletProvider {
|
|
|
107
107
|
* After calling this, the wallet returned from confirm() should no longer be used.
|
|
108
108
|
* @returns A promise that resolves when disconnection is complete
|
|
109
109
|
*/
|
|
110
|
-
disconnect
|
|
110
|
+
disconnect(): Promise<void>;
|
|
111
111
|
/**
|
|
112
112
|
* Registers a callback to be invoked when the wallet disconnects unexpectedly.
|
|
113
113
|
* @param callback - Function to call when wallet disconnects
|
|
114
114
|
* @returns A function to unregister the callback
|
|
115
115
|
*/
|
|
116
|
-
onDisconnect
|
|
116
|
+
onDisconnect(callback: ProviderDisconnectionCallback): () => void;
|
|
117
117
|
/**
|
|
118
118
|
* Returns whether the provider's wallet connection has been disconnected.
|
|
119
119
|
* @returns true if the wallet is no longer connected
|
|
120
120
|
*/
|
|
121
|
-
isDisconnected
|
|
121
|
+
isDisconnected(): boolean;
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
124
|
* Options for discovering wallets
|
|
@@ -164,4 +164,4 @@ export interface DiscoverySession {
|
|
|
164
164
|
/** Cancel discovery immediately and clean up resources */
|
|
165
165
|
cancel: () => void;
|
|
166
166
|
}
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXJEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sV0FBVyxpQkFBaUI7SUFDaEM7Ozs7T0FJRztJQUNILGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUV6Qjs7O09BR0c7SUFDSCxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTNCOzs7T0FHRztJQUNILE1BQU0sSUFBSSxJQUFJLENBQUM7Q0FDaEI7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxxQkFBcUI7SUFDcEMsNENBQTRDO0lBQzVDLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDakIseURBQXlEO0lBQ3pELFNBQVMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3JCLHlEQUF5RDtJQUN6RCxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUN0QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGVBQWU7SUFDOUIsa0NBQWtDO0lBQ2xDLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUNoQjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLG1CQUFtQjtJQUNsQyxxQ0FBcUM7SUFDckMsVUFBVSxDQUFDLEVBQUUscUJBQXFCLENBQUM7SUFDbkMsK0JBQStCO0lBQy9CLFVBQVUsQ0FBQyxFQUFFLGVBQWUsQ0FBQztDQUM5QjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGtCQUFrQixHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxJQUFJLENBQUM7QUFFdkQ7OztHQUdHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0IseUNBQXlDO0lBQ3pDLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWCw4QkFBOEI7SUFDOUIsSUFBSSxFQUFFLGtCQUFrQixDQUFDO0lBQ3pCLG1CQUFtQjtJQUNuQixJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2IsZUFBZTtJQUNmLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNkLDBCQUEwQjtJQUMxQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ25DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bc0JHO0lBQ0gsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNsRTs7OztPQUlHO0lBQ0gsVUFBVSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1Qjs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLFFBQVEsRUFBRSw2QkFBNkIsR0FBRyxNQUFNLElBQUksQ0FBQztJQUNsRTs7O09BR0c7SUFDSCxjQUFjLElBQUksT0FBTyxDQUFDO0NBQzNCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsc0JBQXNCO0lBQ3JDLHFDQUFxQztJQUNyQyxTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLHdDQUF3QztJQUN4QyxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2QsOERBQThEO0lBQzlELE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNqQjs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLEtBQUssSUFBSSxDQUFDO0NBQ3pEO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0Isd0VBQXdFO0lBQ3hFLE9BQU8sRUFBRSxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkMscUVBQXFFO0lBQ3JFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsMERBQTBEO0lBQzFELE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztDQUNwQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/manager/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3B;;;OAGG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,KAAK,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,MAAM,IAAI,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClE;;;;OAIG;IACH,UAAU,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/manager/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3B;;;OAGG;IACH,MAAM,IAAI,IAAI,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,KAAK,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG,MAAM,IAAI,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,8BAA8B;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClE;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,6BAA6B,GAAG,MAAM,IAAI,CAAC;IAClE;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,SAAS,EAAE,SAAS,CAAC;IACrB,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,qEAAqE;IACrE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB"}
|
|
@@ -67,4 +67,4 @@ export declare class WalletManager {
|
|
|
67
67
|
*/
|
|
68
68
|
private isExtensionAllowed;
|
|
69
69
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0X21hbmFnZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYW5hZ2VyL3dhbGxldF9tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxFQUNWLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFJaEIsbUJBQW1CLEVBRXBCLE1BQU0sWUFBWSxDQUFDO0FBRXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4Qkc7QUFDSCxxQkFBYSxhQUFhO0lBQ3hCLE9BQU8sQ0FBQyxNQUFNLENBR1o7SUFFRixPQUFPLGVBQWlCO0lBRXhCOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLG1CQUFtQixHQUFHLGFBQWEsQ0FPM0Q7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEdBQUcsZ0JBQWdCLENBNkVyRTtJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FBQyxrQ0FBa0M7SUEwRTFDOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsa0JBQWtCO0NBVzNCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet_manager.d.ts","sourceRoot":"","sources":["../../src/manager/wallet_manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAIhB,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAGZ;IAEF,OAAO,eAAiB;IAExB;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAO3D;IAED;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,gBAAgB,CA6ErE;IAED;;;;;;OAMG;IACH,OAAO,CAAC,kCAAkC;
|
|
1
|
+
{"version":3,"file":"wallet_manager.d.ts","sourceRoot":"","sources":["../../src/manager/wallet_manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAIhB,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAGZ;IAEF,OAAO,eAAiB;IAExB;;;OAGG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAO3D;IAED;;;;;;;;;;;;OAYG;IACH,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,GAAG,gBAAgB,CA6ErE;IAED;;;;;;OAMG;IACH,OAAO,CAAC,kCAAkC;IA0E1C;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CAW3B"}
|
|
@@ -176,7 +176,8 @@ import { WalletMessageType } from '../types.js';
|
|
|
176
176
|
return {
|
|
177
177
|
verificationHash: connection.info.verificationHash,
|
|
178
178
|
confirm: ()=>{
|
|
179
|
-
|
|
179
|
+
extensionWallet = ExtensionWallet.create(connection.info.id, connection.port, connection.sharedKey, chainInfo, connectAppId);
|
|
180
|
+
return Promise.resolve(extensionWallet.asWallet());
|
|
180
181
|
},
|
|
181
182
|
cancel: ()=>{
|
|
182
183
|
// Send disconnect to terminate the session on the extension side
|
|
@@ -185,7 +186,6 @@ import { WalletMessageType } from '../types.js';
|
|
|
185
186
|
type: WalletMessageType.DISCONNECT,
|
|
186
187
|
requestId: discoveredWallet.requestId
|
|
187
188
|
});
|
|
188
|
-
// Don't close the port - allow retry with fresh key exchange
|
|
189
189
|
}
|
|
190
190
|
};
|
|
191
191
|
},
|
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.10bd49492",
|
|
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.10bd49492",
|
|
75
|
+
"@aztec/constants": "0.0.1-commit.10bd49492",
|
|
76
|
+
"@aztec/entrypoints": "0.0.1-commit.10bd49492",
|
|
77
|
+
"@aztec/foundation": "0.0.1-commit.10bd49492",
|
|
78
|
+
"@aztec/pxe": "0.0.1-commit.10bd49492",
|
|
79
|
+
"@aztec/stdlib": "0.0.1-commit.10bd49492"
|
|
80
80
|
},
|
|
81
81
|
"devDependencies": {
|
|
82
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
82
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.10bd49492",
|
|
83
83
|
"@jest/globals": "^30.0.0",
|
|
84
84
|
"@types/jest": "^30.0.0",
|
|
85
85
|
"@types/node": "^22.15.17",
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { Account } from '@aztec/aztec.js/account';
|
|
2
2
|
import type { CallIntent, IntentInnerHash } from '@aztec/aztec.js/authorization';
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
type InteractionWaitOptions,
|
|
5
|
+
NO_WAIT,
|
|
6
|
+
type SendReturn,
|
|
7
|
+
extractOffchainOutput,
|
|
8
|
+
} from '@aztec/aztec.js/contracts';
|
|
4
9
|
import type { FeePaymentMethod } from '@aztec/aztec.js/fee';
|
|
5
10
|
import { waitForTx } from '@aztec/aztec.js/node';
|
|
6
11
|
import type {
|
|
@@ -8,12 +13,12 @@ import type {
|
|
|
8
13
|
AppCapabilities,
|
|
9
14
|
BatchResults,
|
|
10
15
|
BatchedMethod,
|
|
16
|
+
ExecuteUtilityOptions,
|
|
11
17
|
PrivateEvent,
|
|
12
18
|
PrivateEventFilter,
|
|
13
19
|
ProfileOptions,
|
|
14
20
|
SendOptions,
|
|
15
21
|
SimulateOptions,
|
|
16
|
-
SimulateUtilityOptions,
|
|
17
22
|
Wallet,
|
|
18
23
|
WalletCapabilities,
|
|
19
24
|
} from '@aztec/aztec.js/wallet';
|
|
@@ -28,7 +33,7 @@ import type { ChainInfo } from '@aztec/entrypoints/interfaces';
|
|
|
28
33
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
29
34
|
import { createLogger } from '@aztec/foundation/log';
|
|
30
35
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
31
|
-
import type
|
|
36
|
+
import { type AccessScopes, displayDebugLogs } from '@aztec/pxe/client/lazy';
|
|
32
37
|
import type { PXE, PackedPrivateEvent } from '@aztec/pxe/server';
|
|
33
38
|
import {
|
|
34
39
|
type ContractArtifact,
|
|
@@ -37,7 +42,7 @@ import {
|
|
|
37
42
|
decodeFromAbi,
|
|
38
43
|
} from '@aztec/stdlib/abi';
|
|
39
44
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
40
|
-
import
|
|
45
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
41
46
|
import {
|
|
42
47
|
type ContractInstanceWithAddress,
|
|
43
48
|
computePartialAddress,
|
|
@@ -52,7 +57,7 @@ import {
|
|
|
52
57
|
type TxExecutionRequest,
|
|
53
58
|
type TxProfileResult,
|
|
54
59
|
TxSimulationResult,
|
|
55
|
-
type
|
|
60
|
+
type UtilityExecutionResult,
|
|
56
61
|
} from '@aztec/stdlib/tx';
|
|
57
62
|
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
58
63
|
|
|
@@ -89,10 +94,10 @@ export abstract class BaseWallet implements Wallet {
|
|
|
89
94
|
protected log = createLogger('wallet-sdk:base_wallet'),
|
|
90
95
|
) {}
|
|
91
96
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return
|
|
97
|
+
protected scopesFrom(from: AztecAddress, additionalScopes: AztecAddress[] = []): AztecAddress[] {
|
|
98
|
+
const allScopes = from.isZero() ? additionalScopes : [from, ...additionalScopes];
|
|
99
|
+
const scopeSet = new Set(allScopes.map(address => address.toString()));
|
|
100
|
+
return [...scopeSet].map(AztecAddress.fromString);
|
|
96
101
|
}
|
|
97
102
|
|
|
98
103
|
protected abstract getAccountFromAddress(address: AztecAddress): Promise<Account>;
|
|
@@ -348,6 +353,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
348
353
|
feeOptions.gasSettings,
|
|
349
354
|
blockHeader,
|
|
350
355
|
opts.skipFeeEnforcement ?? true,
|
|
356
|
+
this.getContractName.bind(this),
|
|
351
357
|
)
|
|
352
358
|
: Promise.resolve([]),
|
|
353
359
|
remainingCalls.length > 0
|
|
@@ -355,7 +361,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
355
361
|
remainingPayload,
|
|
356
362
|
opts.from,
|
|
357
363
|
feeOptions,
|
|
358
|
-
this.
|
|
364
|
+
this.scopesFrom(opts.from, opts.additionalScopes),
|
|
359
365
|
opts.skipTxValidation,
|
|
360
366
|
opts.skipFeeEnforcement ?? true,
|
|
361
367
|
)
|
|
@@ -371,7 +377,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
371
377
|
return this.pxe.profileTx(txRequest, {
|
|
372
378
|
profileMode: opts.profileMode,
|
|
373
379
|
skipProofGeneration: opts.skipProofGeneration ?? true,
|
|
374
|
-
scopes: this.
|
|
380
|
+
scopes: this.scopesFrom(opts.from, opts.additionalScopes),
|
|
375
381
|
});
|
|
376
382
|
}
|
|
377
383
|
|
|
@@ -381,7 +387,11 @@ export abstract class BaseWallet implements Wallet {
|
|
|
381
387
|
): Promise<SendReturn<W>> {
|
|
382
388
|
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
383
389
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
384
|
-
const provenTx = await this.pxe.proveTx(txRequest, this.
|
|
390
|
+
const provenTx = await this.pxe.proveTx(txRequest, this.scopesFrom(opts.from, opts.additionalScopes));
|
|
391
|
+
const offchainOutput = extractOffchainOutput(
|
|
392
|
+
provenTx.getOffchainEffects(),
|
|
393
|
+
provenTx.publicInputs.expirationTimestamp,
|
|
394
|
+
);
|
|
385
395
|
const tx = await provenTx.toTx();
|
|
386
396
|
const txHash = tx.getTxHash();
|
|
387
397
|
if (await this.aztecNode.getTxEffect(txHash)) {
|
|
@@ -395,12 +405,32 @@ export abstract class BaseWallet implements Wallet {
|
|
|
395
405
|
|
|
396
406
|
// If wait is NO_WAIT, return txHash immediately
|
|
397
407
|
if (opts.wait === NO_WAIT) {
|
|
398
|
-
return txHash as SendReturn<W>;
|
|
408
|
+
return { txHash, ...offchainOutput } as SendReturn<W>;
|
|
399
409
|
}
|
|
400
410
|
|
|
401
411
|
// Otherwise, wait for the full receipt (default behavior on wait: undefined)
|
|
402
412
|
const waitOpts = typeof opts.wait === 'object' ? opts.wait : undefined;
|
|
403
|
-
|
|
413
|
+
const receipt = await waitForTx(this.aztecNode, txHash, waitOpts);
|
|
414
|
+
|
|
415
|
+
// Display debug logs from public execution if present (served in test mode only)
|
|
416
|
+
if (receipt.debugLogs?.length) {
|
|
417
|
+
await displayDebugLogs(receipt.debugLogs, this.getContractName.bind(this));
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
return { receipt, ...offchainOutput } as SendReturn<W>;
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Resolves a contract address to a human-readable name via PXE, if available.
|
|
425
|
+
* @param address - The contract address to resolve.
|
|
426
|
+
*/
|
|
427
|
+
protected async getContractName(address: AztecAddress): Promise<string | undefined> {
|
|
428
|
+
const instance = await this.pxe.getContractInstance(address);
|
|
429
|
+
if (!instance) {
|
|
430
|
+
return undefined;
|
|
431
|
+
}
|
|
432
|
+
const artifact = await this.pxe.getContractArtifact(instance.currentContractClassId);
|
|
433
|
+
return artifact?.name;
|
|
404
434
|
}
|
|
405
435
|
|
|
406
436
|
protected contextualizeError(err: Error, ...context: string[]): Error {
|
|
@@ -417,8 +447,8 @@ export abstract class BaseWallet implements Wallet {
|
|
|
417
447
|
return err;
|
|
418
448
|
}
|
|
419
449
|
|
|
420
|
-
|
|
421
|
-
return this.pxe.
|
|
450
|
+
executeUtility(call: FunctionCall, opts: ExecuteUtilityOptions): Promise<UtilityExecutionResult> {
|
|
451
|
+
return this.pxe.executeUtility(call, { authwits: opts.authWitnesses, scopes: [opts.scope] });
|
|
422
452
|
}
|
|
423
453
|
|
|
424
454
|
async getPrivateEvents<T>(
|
package/src/base-wallet/utils.ts
CHANGED
|
@@ -4,6 +4,8 @@ import type { ChainInfo } from '@aztec/entrypoints/interfaces';
|
|
|
4
4
|
import { makeTuple } from '@aztec/foundation/array';
|
|
5
5
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
6
6
|
import type { Tuple } from '@aztec/foundation/serialize';
|
|
7
|
+
import type { ContractNameResolver } from '@aztec/pxe/client/lazy';
|
|
8
|
+
import { displayDebugLogs } from '@aztec/pxe/client/lazy';
|
|
7
9
|
import { generateSimulatedProvingResult } from '@aztec/pxe/simulator';
|
|
8
10
|
import { type FunctionCall, FunctionSelector } from '@aztec/stdlib/abi';
|
|
9
11
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
@@ -72,6 +74,7 @@ async function simulateBatchViaNode(
|
|
|
72
74
|
gasSettings: GasSettings,
|
|
73
75
|
blockHeader: BlockHeader,
|
|
74
76
|
skipFeeEnforcement: boolean,
|
|
77
|
+
getContractName: ContractNameResolver,
|
|
75
78
|
): Promise<TxSimulationResult> {
|
|
76
79
|
const txContext = new TxContext(chainInfo.chainId, chainInfo.version, gasSettings);
|
|
77
80
|
|
|
@@ -145,6 +148,9 @@ async function simulateBatchViaNode(
|
|
|
145
148
|
throw publicOutput.revertReason;
|
|
146
149
|
}
|
|
147
150
|
|
|
151
|
+
// Display debug logs from the public simulation.
|
|
152
|
+
await displayDebugLogs(publicOutput.debugLogs, getContractName);
|
|
153
|
+
|
|
148
154
|
return new TxSimulationResult(privateResult, provingResult.publicInputs, publicOutput, undefined);
|
|
149
155
|
}
|
|
150
156
|
|
|
@@ -169,6 +175,7 @@ export async function simulateViaNode(
|
|
|
169
175
|
gasSettings: GasSettings,
|
|
170
176
|
blockHeader: BlockHeader,
|
|
171
177
|
skipFeeEnforcement: boolean = true,
|
|
178
|
+
getContractName: ContractNameResolver,
|
|
172
179
|
): Promise<TxSimulationResult[]> {
|
|
173
180
|
const batches: FunctionCall[][] = [];
|
|
174
181
|
|
|
@@ -187,6 +194,7 @@ export async function simulateViaNode(
|
|
|
187
194
|
gasSettings,
|
|
188
195
|
blockHeader,
|
|
189
196
|
skipFeeEnforcement,
|
|
197
|
+
getContractName,
|
|
190
198
|
);
|
|
191
199
|
results.push(result);
|
|
192
200
|
}
|
|
@@ -109,7 +109,7 @@ export class ExtensionWallet {
|
|
|
109
109
|
sharedKey: CryptoKey,
|
|
110
110
|
chainInfo: ChainInfo,
|
|
111
111
|
appId: string,
|
|
112
|
-
):
|
|
112
|
+
): ExtensionWallet {
|
|
113
113
|
const wallet = new ExtensionWallet(chainInfo, appId, extensionId, port, sharedKey);
|
|
114
114
|
|
|
115
115
|
// Set up message handler for encrypted responses and unencrypted control messages
|
|
@@ -127,8 +127,10 @@ export class ExtensionWallet {
|
|
|
127
127
|
wallet.port.start();
|
|
128
128
|
|
|
129
129
|
return new Proxy(wallet, {
|
|
130
|
-
get: (target, prop) => {
|
|
131
|
-
if (
|
|
130
|
+
get: (target, prop, receiver) => {
|
|
131
|
+
if (prop === 'asWallet') {
|
|
132
|
+
return () => receiver as unknown as Wallet;
|
|
133
|
+
} else if (schemaHasMethod(WalletSchema, prop.toString())) {
|
|
132
134
|
return async (...args: unknown[]) => {
|
|
133
135
|
const result = await target.postMessage({
|
|
134
136
|
type: prop.toString() as keyof FunctionsOf<Wallet>,
|
|
@@ -140,7 +142,13 @@ export class ExtensionWallet {
|
|
|
140
142
|
return target[prop as keyof ExtensionWallet];
|
|
141
143
|
}
|
|
142
144
|
},
|
|
143
|
-
})
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
asWallet(): Wallet {
|
|
149
|
+
// Overridden by the proxy in create() to return the proxy itself.
|
|
150
|
+
// This body is never reached when accessed through create().
|
|
151
|
+
return this as unknown as Wallet;
|
|
144
152
|
}
|
|
145
153
|
|
|
146
154
|
/**
|
package/src/manager/types.ts
CHANGED
|
@@ -116,18 +116,18 @@ export interface WalletProvider {
|
|
|
116
116
|
* After calling this, the wallet returned from confirm() should no longer be used.
|
|
117
117
|
* @returns A promise that resolves when disconnection is complete
|
|
118
118
|
*/
|
|
119
|
-
disconnect
|
|
119
|
+
disconnect(): Promise<void>;
|
|
120
120
|
/**
|
|
121
121
|
* Registers a callback to be invoked when the wallet disconnects unexpectedly.
|
|
122
122
|
* @param callback - Function to call when wallet disconnects
|
|
123
123
|
* @returns A function to unregister the callback
|
|
124
124
|
*/
|
|
125
|
-
onDisconnect
|
|
125
|
+
onDisconnect(callback: ProviderDisconnectionCallback): () => void;
|
|
126
126
|
/**
|
|
127
127
|
* Returns whether the provider's wallet connection has been disconnected.
|
|
128
128
|
* @returns true if the wallet is no longer connected
|
|
129
129
|
*/
|
|
130
|
-
isDisconnected
|
|
130
|
+
isDisconnected(): boolean;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
/**
|
|
@@ -196,15 +196,14 @@ export class WalletManager {
|
|
|
196
196
|
return {
|
|
197
197
|
verificationHash: connection.info.verificationHash!,
|
|
198
198
|
confirm: () => {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
connectAppId,
|
|
206
|
-
),
|
|
199
|
+
extensionWallet = ExtensionWallet.create(
|
|
200
|
+
connection.info.id,
|
|
201
|
+
connection.port,
|
|
202
|
+
connection.sharedKey,
|
|
203
|
+
chainInfo,
|
|
204
|
+
connectAppId,
|
|
207
205
|
);
|
|
206
|
+
return Promise.resolve(extensionWallet.asWallet());
|
|
208
207
|
},
|
|
209
208
|
cancel: () => {
|
|
210
209
|
// Send disconnect to terminate the session on the extension side
|
|
@@ -213,7 +212,6 @@ export class WalletManager {
|
|
|
213
212
|
type: WalletMessageType.DISCONNECT,
|
|
214
213
|
requestId: discoveredWallet.requestId,
|
|
215
214
|
});
|
|
216
|
-
// Don't close the port - allow retry with fresh key exchange
|
|
217
215
|
},
|
|
218
216
|
};
|
|
219
217
|
},
|