@aztec/test-wallet 0.0.1-commit.d431d1c → 0.0.1-commit.e3c1de76

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/utils.d.ts CHANGED
@@ -1,14 +1,30 @@
1
1
  import type { InitialAccountData } from '@aztec/accounts/testing';
2
2
  import { AztecAddress } from '@aztec/aztec.js/addresses';
3
- import { ContractFunctionInteraction, DeployMethod, type DeployOptions, type SendInteractionOptions, SentTx, type WaitOpts } from '@aztec/aztec.js/contracts';
4
- import type { AztecNode } from '@aztec/aztec.js/node';
5
- import { type OffchainEffect, type ProvingStats, Tx } from '@aztec/stdlib/tx';
3
+ import { ContractFunctionInteraction, DeployMethod, type DeployOptions, type NoWait, type SendInteractionOptions, type WaitOpts } from '@aztec/aztec.js/contracts';
4
+ import { type AztecNode } from '@aztec/aztec.js/node';
5
+ import { type OffchainEffect, type ProvingStats, Tx, TxHash, type TxReceipt } from '@aztec/stdlib/tx';
6
6
  import type { BaseTestWallet } from './wallet/test_wallet.js';
7
+ /**
8
+ * Options for sending a proven transaction.
9
+ */
10
+ export type ProvenTxSendOpts = {
11
+ /**
12
+ * Whether to wait for the transaction to be mined.
13
+ * - undefined (default): wait with default options and return TxReceipt
14
+ * - WaitOpts object: wait with custom options and return TxReceipt
15
+ * - NO_WAIT: return txHash immediately without waiting
16
+ */
17
+ wait?: NoWait | WaitOpts;
18
+ };
19
+ /**
20
+ * Return type for ProvenTx.send based on wait option.
21
+ */
22
+ export type ProvenTxSendReturn<T extends NoWait | WaitOpts | undefined> = T extends NoWait ? TxHash : TxReceipt;
7
23
  /**
8
24
  * Deploys the SchnorrAccount contracts backed by prefunded addresses
9
25
  * at genesis. This can be directly used to pay for transactions in FeeJuice.
10
26
  */
11
- export declare function deployFundedSchnorrAccounts(wallet: BaseTestWallet, aztecNode: AztecNode, accountsData: InitialAccountData[], waitOptions?: WaitOpts): Promise<import("@aztec/aztec.js/wallet").AccountManager[]>;
27
+ export declare function deployFundedSchnorrAccounts(wallet: BaseTestWallet, accountsData: InitialAccountData[], waitOptions?: WaitOpts): Promise<import("@aztec/aztec.js/wallet").AccountManager[]>;
12
28
  /**
13
29
  * Registers the initial local network accounts in the wallet.
14
30
  * @param wallet - Test wallet to use to register the accounts.
@@ -26,7 +42,16 @@ export declare class ProvenTx extends Tx {
26
42
  constructor(node: AztecNode, tx: Tx,
27
43
  /** The offchain effects emitted during the execution of the transaction. */
28
44
  offchainEffects: OffchainEffect[], stats?: ProvingStats | undefined);
29
- send(): SentTx;
45
+ /**
46
+ * Sends the transaction to the network.
47
+ * @param options - Send options including whether to wait.
48
+ * @returns The transaction receipt if waiting, or the transaction hash if not.
49
+ */
50
+ send(options?: Omit<ProvenTxSendOpts, 'wait'>): Promise<TxReceipt>;
51
+ send<W extends ProvenTxSendOpts['wait']>(options: ProvenTxSendOpts & {
52
+ wait: W;
53
+ }): Promise<ProvenTxSendReturn<W>>;
54
+ private contextualizeError;
30
55
  }
31
56
  /**
32
57
  * Helper function to prove an interaction via a TestWallet
@@ -36,4 +61,4 @@ export declare class ProvenTx extends Tx {
36
61
  * @returns - A proven transaction ready do be sent to the network
37
62
  */
38
63
  export declare function proveInteraction(wallet: BaseTestWallet, interaction: ContractFunctionInteraction | DeployMethod, options: SendInteractionOptions | DeployOptions): Promise<ProvenTx>;
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLFlBQVksRUFDWixLQUFLLGFBQWEsRUFDbEIsS0FBSyxzQkFBc0IsRUFDM0IsTUFBTSxFQUNOLEtBQUssUUFBUSxFQUVkLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLEtBQUssWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlEOzs7R0FHRztBQUNILHdCQUFzQiwyQkFBMkIsQ0FDL0MsTUFBTSxFQUFFLGNBQWMsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLEVBQ2xDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsOERBaUJ2QjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0IsMkNBQTJDLENBQUMsTUFBTSxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FPakg7QUFDRDs7R0FFRztBQUNILHFCQUFhLFFBQVMsU0FBUSxFQUFFO0lBRTVCLE9BQU8sQ0FBQyxJQUFJO0lBRVosNEVBQTRFO0lBQ3JFLGVBQWUsRUFBRSxjQUFjLEVBQUU7SUFFakMsS0FBSyxDQUFDO0lBTmYsWUFDVSxJQUFJLEVBQUUsU0FBUyxFQUN2QixFQUFFLEVBQUUsRUFBRTtJQUNOLDRFQUE0RTtJQUNyRSxlQUFlLEVBQUUsY0FBYyxFQUFFLEVBRWpDLEtBQUssQ0FBQywwQkFBYyxFQUc1QjtJQUVELElBQUksV0FNSDtDQUNGO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsY0FBYyxFQUN0QixXQUFXLEVBQUUsMkJBQTJCLEdBQUcsWUFBWSxFQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEdBQUcsYUFBYSxxQkFTaEQifQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLFlBQVksRUFDWixLQUFLLGFBQWEsRUFFbEIsS0FBSyxNQUFNLEVBQ1gsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyxRQUFRLEVBRWQsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQUUsS0FBSyxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSXRHLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlEOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQzdCOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLEVBQUUsTUFBTSxHQUFHLFFBQVEsQ0FBQztDQUMxQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLE1BQU0sa0JBQWtCLENBQUMsQ0FBQyxTQUFTLE1BQU0sR0FBRyxRQUFRLEdBQUcsU0FBUyxJQUFJLENBQUMsU0FBUyxNQUFNLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQztBQUVoSDs7O0dBR0c7QUFDSCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxFQUNsQyxXQUFXLENBQUMsRUFBRSxRQUFRLDhEQWdCdkI7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLDJDQUEyQyxDQUFDLE1BQU0sRUFBRSxjQUFjLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBT2pIO0FBQ0Q7O0dBRUc7QUFDSCxxQkFBYSxRQUFTLFNBQVEsRUFBRTtJQUU1QixPQUFPLENBQUMsSUFBSTtJQUVaLDRFQUE0RTtJQUNyRSxlQUFlLEVBQUUsY0FBYyxFQUFFO0lBRWpDLEtBQUssQ0FBQztJQU5mLFlBQ1UsSUFBSSxFQUFFLFNBQVMsRUFDdkIsRUFBRSxFQUFFLEVBQUU7SUFDTiw0RUFBNEU7SUFDckUsZUFBZSxFQUFFLGNBQWMsRUFBRSxFQUVqQyxLQUFLLENBQUMsMEJBQWMsRUFHNUI7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFbkUsSUFBSSxDQUFDLENBQUMsU0FBUyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEdBQUc7UUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQWVsSCxPQUFPLENBQUMsa0JBQWtCO0NBVTNCO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsY0FBYyxFQUN0QixXQUFXLEVBQUUsMkJBQTJCLEdBQUcsWUFBWSxFQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEdBQUcsYUFBYSxxQkFTaEQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,2BAA2B,EAC3B,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,MAAM,EACN,KAAK,QAAQ,EAEd,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,kBAAkB,EAAE,EAClC,WAAW,CAAC,EAAE,QAAQ,8DAiBvB;AAED;;;;GAIG;AACH,wBAAsB,2CAA2C,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAOjH;AACD;;GAEG;AACH,qBAAa,QAAS,SAAQ,EAAE;IAE5B,OAAO,CAAC,IAAI;IAEZ,4EAA4E;IACrE,eAAe,EAAE,cAAc,EAAE;IAEjC,KAAK,CAAC;IANf,YACU,IAAI,EAAE,SAAS,EACvB,EAAE,EAAE,EAAE;IACN,4EAA4E;IACrE,eAAe,EAAE,cAAc,EAAE,EAEjC,KAAK,CAAC,0BAAc,EAG5B;IAED,IAAI,WAMH;CACF;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,2BAA2B,GAAG,YAAY,EACvD,OAAO,EAAE,sBAAsB,GAAG,aAAa,qBAShD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EACL,2BAA2B,EAC3B,YAAY,EACZ,KAAK,aAAa,EAElB,KAAK,MAAM,EACX,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EAEd,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAItG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,QAAQ,GAAG,SAAS,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEhH;;;GAGG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,cAAc,EACtB,YAAY,EAAE,kBAAkB,EAAE,EAClC,WAAW,CAAC,EAAE,QAAQ,8DAgBvB;AAED;;;;GAIG;AACH,wBAAsB,2CAA2C,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAOjH;AACD;;GAEG;AACH,qBAAa,QAAS,SAAQ,EAAE;IAE5B,OAAO,CAAC,IAAI;IAEZ,4EAA4E;IACrE,eAAe,EAAE,cAAc,EAAE;IAEjC,KAAK,CAAC;IANf,YACU,IAAI,EAAE,SAAS,EACvB,EAAE,EAAE,EAAE;IACN,4EAA4E;IACrE,eAAe,EAAE,cAAc,EAAE,EAEjC,KAAK,CAAC,0BAAc,EAG5B;IAED;;;;OAIG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEnE,IAAI,CAAC,CAAC,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAelH,OAAO,CAAC,kBAAkB;CAU3B;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,2BAA2B,GAAG,YAAY,EACvD,OAAO,EAAE,sBAAsB,GAAG,aAAa,qBAShD"}
package/dest/utils.js CHANGED
@@ -1,11 +1,14 @@
1
1
  import { getInitialTestAccountsData } from '@aztec/accounts/testing/lazy';
2
2
  import { AztecAddress } from '@aztec/aztec.js/addresses';
3
- import { DeployMethod, SentTx, toSendOptions } from '@aztec/aztec.js/contracts';
3
+ import { DeployMethod, NO_WAIT, toSendOptions } from '@aztec/aztec.js/contracts';
4
+ import { waitForTx } from '@aztec/aztec.js/node';
5
+ import { SimulationError } from '@aztec/stdlib/errors';
4
6
  import { Tx } from '@aztec/stdlib/tx';
7
+ import { inspect } from 'util';
5
8
  /**
6
9
  * Deploys the SchnorrAccount contracts backed by prefunded addresses
7
10
  * at genesis. This can be directly used to pay for transactions in FeeJuice.
8
- */ export async function deployFundedSchnorrAccounts(wallet, aztecNode, accountsData, waitOptions) {
11
+ */ export async function deployFundedSchnorrAccounts(wallet, accountsData, waitOptions) {
9
12
  const accountManagers = [];
10
13
  // Serial due to https://github.com/AztecProtocol/aztec-packages/issues/12045
11
14
  for(let i = 0; i < accountsData.length; i++){
@@ -14,8 +17,9 @@ import { Tx } from '@aztec/stdlib/tx';
14
17
  const deployMethod = await accountManager.getDeployMethod();
15
18
  await deployMethod.send({
16
19
  from: AztecAddress.ZERO,
17
- skipClassPublication: i !== 0
18
- }).wait(waitOptions);
20
+ skipClassPublication: i !== 0,
21
+ wait: waitOptions
22
+ });
19
23
  accountManagers.push(accountManager);
20
24
  }
21
25
  return accountManagers;
@@ -40,12 +44,26 @@ import { Tx } from '@aztec/stdlib/tx';
40
44
  stats){
41
45
  super(tx.getTxHash(), tx.data, tx.chonkProof, tx.contractClassLogFields, tx.publicFunctionCalldata), this.node = node, this.offchainEffects = offchainEffects, this.stats = stats;
42
46
  }
43
- send() {
44
- const sendTx = async ()=>{
45
- await this.node.sendTx(this);
46
- return this.getTxHash();
47
- };
48
- return new SentTx(this.node, sendTx);
47
+ async send(options) {
48
+ const txHash = this.getTxHash();
49
+ await this.node.sendTx(this).catch((err)=>{
50
+ throw this.contextualizeError(err, inspect(this));
51
+ });
52
+ if (options?.wait === NO_WAIT) {
53
+ return txHash;
54
+ }
55
+ const waitOpts = typeof options?.wait === 'object' ? options.wait : undefined;
56
+ return await waitForTx(this.node, txHash, waitOpts);
57
+ }
58
+ contextualizeError(err, ...context) {
59
+ let contextStr = '';
60
+ if (context.length > 0) {
61
+ contextStr = `\nContext:\n${context.join('\n')}`;
62
+ }
63
+ if (err instanceof SimulationError) {
64
+ err.setAztecContext(contextStr);
65
+ }
66
+ return err;
49
67
  }
50
68
  }
51
69
  /**
@@ -7,7 +7,7 @@ import { AuthWitness } from '@aztec/stdlib/auth-witness';
7
7
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
8
8
  import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
9
9
  import type { NoteDao, NotesFilter } from '@aztec/stdlib/note';
10
- import type { TxSimulationResult } from '@aztec/stdlib/tx';
10
+ import type { BlockHeader, TxHash, TxReceipt, TxSimulationResult } from '@aztec/stdlib/tx';
11
11
  import { ExecutionPayload } from '@aztec/stdlib/tx';
12
12
  import { BaseWallet } from '@aztec/wallet-sdk/base-wallet';
13
13
  import { ProvenTx } from '../utils.js';
@@ -126,7 +126,14 @@ export declare abstract class BaseTestWallet extends BaseWallet {
126
126
  * @param opts - The options to configure the interaction
127
127
  * @returns - A proven tx ready to be sent to the network
128
128
  */
129
- proveTx(exec: ExecutionPayload, opts: SendOptions): Promise<ProvenTx>;
129
+ proveTx(exec: ExecutionPayload, opts: Omit<SendOptions, 'wait'>): Promise<ProvenTx>;
130
+ /**
131
+ * Retrieves the transaction receipt for a given transaction hash.
132
+ * This is a passthrough to the underlying node, provided for convenience in testing.
133
+ * @param txHash - The hash of the transaction.
134
+ * @returns The transaction receipt.
135
+ */
136
+ getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
130
137
  /**
131
138
  * A debugging utility to get notes based on the provided filter.
132
139
  *
@@ -139,6 +146,13 @@ export declare abstract class BaseTestWallet extends BaseWallet {
139
146
  * @returns The requested notes.
140
147
  */
141
148
  getNotes(filter: NotesFilter): Promise<NoteDao[]>;
149
+ /** Returns the block header up to which the wallet has synced. */
150
+ getSyncedBlockHeader(): Promise<BlockHeader>;
151
+ /**
152
+ * Triggers a sync of the wallet with the node to update the latest block header.
153
+ * Blocks until the sync is complete.
154
+ */
155
+ sync(): Promise<void>;
142
156
  /**
143
157
  * Stops the internal job queue.
144
158
  *
@@ -146,4 +160,4 @@ export declare abstract class BaseTestWallet extends BaseWallet {
146
160
  */
147
161
  stop(): Promise<void>;
148
162
  }
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF93YWxsZXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YWxsZXQvdGVzdF93YWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXFCLE1BQU0seUJBQXlCLENBQUM7QUFDaEcsT0FBTyxFQUNMLEtBQUssVUFBVSxFQUNmLEtBQUsscUNBQXFDLEVBQzFDLEtBQUssZUFBZSxFQUNwQixtQ0FBbUMsRUFJcEMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssV0FBVyxFQUFFLEtBQUssZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFdBQVc7SUFDMUI7O09BRUc7SUFDSCxNQUFNLEVBQUUsRUFBRSxDQUFD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
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF93YWxsZXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YWxsZXQvdGVzdF93YWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXFCLE1BQU0seUJBQXlCLENBQUM7QUFDaEcsT0FBTyxFQUNMLEtBQUssVUFBVSxFQUNmLEtBQUsscUNBQXFDLEVBQzFDLEtBQUssZUFBZSxFQUNwQixtQ0FBbUMsRUFJcEMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssV0FBVyxFQUFFLEtBQUssZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFdBQVc7SUFDMUI7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
@@ -1 +1 @@
1
- {"version":3,"file":"test_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/test_wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/test_wallet.ts"],"names":[],"mappings":"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"}
@@ -163,6 +163,14 @@ import { ProvenTx } from '../utils.js';
163
163
  return new ProvenTx(this.aztecNode, await txProvingResult.toTx(), txProvingResult.getOffchainEffects(), txProvingResult.stats);
164
164
  }
165
165
  /**
166
+ * Retrieves the transaction receipt for a given transaction hash.
167
+ * This is a passthrough to the underlying node, provided for convenience in testing.
168
+ * @param txHash - The hash of the transaction.
169
+ * @returns The transaction receipt.
170
+ */ getTxReceipt(txHash) {
171
+ return this.aztecNode.getTxReceipt(txHash);
172
+ }
173
+ /**
166
174
  * A debugging utility to get notes based on the provided filter.
167
175
  *
168
176
  * Note that this should not be used in production code because the structure of notes is considered to be
@@ -175,6 +183,15 @@ import { ProvenTx } from '../utils.js';
175
183
  */ getNotes(filter) {
176
184
  return this.pxe.debug.getNotes(filter);
177
185
  }
186
+ /** Returns the block header up to which the wallet has synced. */ getSyncedBlockHeader() {
187
+ return this.pxe.debug.getSyncedBlockHeader();
188
+ }
189
+ /**
190
+ * Triggers a sync of the wallet with the node to update the latest block header.
191
+ * Blocks until the sync is complete.
192
+ */ sync() {
193
+ return this.pxe.debug.sync();
194
+ }
178
195
  /**
179
196
  * Stops the internal job queue.
180
197
  *
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aztec/test-wallet",
3
3
  "homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/test-wallet",
4
- "version": "0.0.1-commit.d431d1c",
4
+ "version": "0.0.1-commit.e3c1de76",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  "./client/bundle": "./dest/bundle.js",
@@ -62,14 +62,14 @@
62
62
  ]
63
63
  },
64
64
  "dependencies": {
65
- "@aztec/accounts": "0.0.1-commit.d431d1c",
66
- "@aztec/aztec.js": "0.0.1-commit.d431d1c",
67
- "@aztec/entrypoints": "0.0.1-commit.d431d1c",
68
- "@aztec/foundation": "0.0.1-commit.d431d1c",
69
- "@aztec/noir-contracts.js": "0.0.1-commit.d431d1c",
70
- "@aztec/pxe": "0.0.1-commit.d431d1c",
71
- "@aztec/stdlib": "0.0.1-commit.d431d1c",
72
- "@aztec/wallet-sdk": "0.0.1-commit.d431d1c"
65
+ "@aztec/accounts": "0.0.1-commit.e3c1de76",
66
+ "@aztec/aztec.js": "0.0.1-commit.e3c1de76",
67
+ "@aztec/entrypoints": "0.0.1-commit.e3c1de76",
68
+ "@aztec/foundation": "0.0.1-commit.e3c1de76",
69
+ "@aztec/noir-contracts.js": "0.0.1-commit.e3c1de76",
70
+ "@aztec/pxe": "0.0.1-commit.e3c1de76",
71
+ "@aztec/stdlib": "0.0.1-commit.e3c1de76",
72
+ "@aztec/wallet-sdk": "0.0.1-commit.e3c1de76"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@jest/globals": "^30.0.0",
package/src/utils.ts CHANGED
@@ -5,23 +5,44 @@ import {
5
5
  ContractFunctionInteraction,
6
6
  DeployMethod,
7
7
  type DeployOptions,
8
+ NO_WAIT,
9
+ type NoWait,
8
10
  type SendInteractionOptions,
9
- SentTx,
10
11
  type WaitOpts,
11
12
  toSendOptions,
12
13
  } from '@aztec/aztec.js/contracts';
13
- import type { AztecNode } from '@aztec/aztec.js/node';
14
- import { type OffchainEffect, type ProvingStats, Tx } from '@aztec/stdlib/tx';
14
+ import { type AztecNode, waitForTx } from '@aztec/aztec.js/node';
15
+ import { SimulationError } from '@aztec/stdlib/errors';
16
+ import { type OffchainEffect, type ProvingStats, Tx, TxHash, type TxReceipt } from '@aztec/stdlib/tx';
17
+
18
+ import { inspect } from 'util';
15
19
 
16
20
  import type { BaseTestWallet } from './wallet/test_wallet.js';
17
21
 
22
+ /**
23
+ * Options for sending a proven transaction.
24
+ */
25
+ export type ProvenTxSendOpts = {
26
+ /**
27
+ * Whether to wait for the transaction to be mined.
28
+ * - undefined (default): wait with default options and return TxReceipt
29
+ * - WaitOpts object: wait with custom options and return TxReceipt
30
+ * - NO_WAIT: return txHash immediately without waiting
31
+ */
32
+ wait?: NoWait | WaitOpts;
33
+ };
34
+
35
+ /**
36
+ * Return type for ProvenTx.send based on wait option.
37
+ */
38
+ export type ProvenTxSendReturn<T extends NoWait | WaitOpts | undefined> = T extends NoWait ? TxHash : TxReceipt;
39
+
18
40
  /**
19
41
  * Deploys the SchnorrAccount contracts backed by prefunded addresses
20
42
  * at genesis. This can be directly used to pay for transactions in FeeJuice.
21
43
  */
22
44
  export async function deployFundedSchnorrAccounts(
23
45
  wallet: BaseTestWallet,
24
- aztecNode: AztecNode,
25
46
  accountsData: InitialAccountData[],
26
47
  waitOptions?: WaitOpts,
27
48
  ) {
@@ -31,12 +52,11 @@ export async function deployFundedSchnorrAccounts(
31
52
  const { secret, salt, signingKey } = accountsData[i];
32
53
  const accountManager = await wallet.createSchnorrAccount(secret, salt, signingKey);
33
54
  const deployMethod = await accountManager.getDeployMethod();
34
- await deployMethod
35
- .send({
36
- from: AztecAddress.ZERO,
37
- skipClassPublication: i !== 0, // Publish the contract class at most once.
38
- })
39
- .wait(waitOptions);
55
+ await deployMethod.send({
56
+ from: AztecAddress.ZERO,
57
+ skipClassPublication: i !== 0, // Publish the contract class at most once.
58
+ wait: waitOptions,
59
+ });
40
60
  accountManagers.push(accountManager);
41
61
  }
42
62
  return accountManagers;
@@ -70,12 +90,37 @@ export class ProvenTx extends Tx {
70
90
  super(tx.getTxHash(), tx.data, tx.chonkProof, tx.contractClassLogFields, tx.publicFunctionCalldata);
71
91
  }
72
92
 
73
- send() {
74
- const sendTx = async () => {
75
- await this.node.sendTx(this);
76
- return this.getTxHash();
77
- };
78
- return new SentTx(this.node, sendTx);
93
+ /**
94
+ * Sends the transaction to the network.
95
+ * @param options - Send options including whether to wait.
96
+ * @returns The transaction receipt if waiting, or the transaction hash if not.
97
+ */
98
+ send(options?: Omit<ProvenTxSendOpts, 'wait'>): Promise<TxReceipt>;
99
+ // eslint-disable-next-line jsdoc/require-jsdoc
100
+ send<W extends ProvenTxSendOpts['wait']>(options: ProvenTxSendOpts & { wait: W }): Promise<ProvenTxSendReturn<W>>;
101
+ async send(options?: ProvenTxSendOpts): Promise<TxHash | TxReceipt> {
102
+ const txHash = this.getTxHash();
103
+ await this.node.sendTx(this).catch(err => {
104
+ throw this.contextualizeError(err, inspect(this));
105
+ });
106
+
107
+ if (options?.wait === NO_WAIT) {
108
+ return txHash;
109
+ }
110
+
111
+ const waitOpts = typeof options?.wait === 'object' ? options.wait : undefined;
112
+ return await waitForTx(this.node, txHash, waitOpts);
113
+ }
114
+
115
+ private contextualizeError(err: Error, ...context: string[]): Error {
116
+ let contextStr = '';
117
+ if (context.length > 0) {
118
+ contextStr = `\nContext:\n${context.join('\n')}`;
119
+ }
120
+ if (err instanceof SimulationError) {
121
+ err.setAztecContext(contextStr);
122
+ }
123
+ return err;
79
124
  }
80
125
  }
81
126
 
@@ -18,7 +18,7 @@ import { AuthWitness } from '@aztec/stdlib/auth-witness';
18
18
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
19
19
  import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
20
20
  import type { NoteDao, NotesFilter } from '@aztec/stdlib/note';
21
- import type { TxSimulationResult } from '@aztec/stdlib/tx';
21
+ import type { BlockHeader, TxHash, TxReceipt, TxSimulationResult } from '@aztec/stdlib/tx';
22
22
  import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
23
23
  import { BaseWallet } from '@aztec/wallet-sdk/base-wallet';
24
24
 
@@ -245,7 +245,7 @@ export abstract class BaseTestWallet extends BaseWallet {
245
245
  * @param opts - The options to configure the interaction
246
246
  * @returns - A proven tx ready to be sent to the network
247
247
  */
248
- async proveTx(exec: ExecutionPayload, opts: SendOptions): Promise<ProvenTx> {
248
+ async proveTx(exec: ExecutionPayload, opts: Omit<SendOptions, 'wait'>): Promise<ProvenTx> {
249
249
  const fee = await this.completeFeeOptions(opts.from, exec.feePayer, opts.fee?.gasSettings);
250
250
  const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(exec, opts.from, fee);
251
251
  const txProvingResult = await this.pxe.proveTx(txRequest);
@@ -257,6 +257,16 @@ export abstract class BaseTestWallet extends BaseWallet {
257
257
  );
258
258
  }
259
259
 
260
+ /**
261
+ * Retrieves the transaction receipt for a given transaction hash.
262
+ * This is a passthrough to the underlying node, provided for convenience in testing.
263
+ * @param txHash - The hash of the transaction.
264
+ * @returns The transaction receipt.
265
+ */
266
+ getTxReceipt(txHash: TxHash): Promise<TxReceipt> {
267
+ return this.aztecNode.getTxReceipt(txHash);
268
+ }
269
+
260
270
  /**
261
271
  * A debugging utility to get notes based on the provided filter.
262
272
  *
@@ -272,6 +282,19 @@ export abstract class BaseTestWallet extends BaseWallet {
272
282
  return this.pxe.debug.getNotes(filter);
273
283
  }
274
284
 
285
+ /** Returns the block header up to which the wallet has synced. */
286
+ getSyncedBlockHeader(): Promise<BlockHeader> {
287
+ return this.pxe.debug.getSyncedBlockHeader();
288
+ }
289
+
290
+ /**
291
+ * Triggers a sync of the wallet with the node to update the latest block header.
292
+ * Blocks until the sync is complete.
293
+ */
294
+ sync(): Promise<void> {
295
+ return this.pxe.debug.sync();
296
+ }
297
+
275
298
  /**
276
299
  * Stops the internal job queue.
277
300
  *