@aztec/test-wallet 0.0.1-commit.d1f2d6c → 0.0.1-commit.d431d1c
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 +6 -31
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +10 -28
- package/dest/wallet/test_wallet.d.ts +3 -10
- package/dest/wallet/test_wallet.d.ts.map +1 -1
- package/dest/wallet/test_wallet.js +0 -8
- package/package.json +9 -9
- package/src/utils.ts +16 -61
- package/src/wallet/test_wallet.ts +2 -12
package/dest/utils.d.ts
CHANGED
|
@@ -1,30 +1,14 @@
|
|
|
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
|
|
4
|
-
import {
|
|
5
|
-
import { type OffchainEffect, type ProvingStats, Tx
|
|
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';
|
|
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;
|
|
23
7
|
/**
|
|
24
8
|
* Deploys the SchnorrAccount contracts backed by prefunded addresses
|
|
25
9
|
* at genesis. This can be directly used to pay for transactions in FeeJuice.
|
|
26
10
|
*/
|
|
27
|
-
export declare function deployFundedSchnorrAccounts(wallet: BaseTestWallet, accountsData: InitialAccountData[], waitOptions?: WaitOpts): Promise<import("@aztec/aztec.js/wallet").AccountManager[]>;
|
|
11
|
+
export declare function deployFundedSchnorrAccounts(wallet: BaseTestWallet, aztecNode: AztecNode, accountsData: InitialAccountData[], waitOptions?: WaitOpts): Promise<import("@aztec/aztec.js/wallet").AccountManager[]>;
|
|
28
12
|
/**
|
|
29
13
|
* Registers the initial local network accounts in the wallet.
|
|
30
14
|
* @param wallet - Test wallet to use to register the accounts.
|
|
@@ -42,16 +26,7 @@ export declare class ProvenTx extends Tx {
|
|
|
42
26
|
constructor(node: AztecNode, tx: Tx,
|
|
43
27
|
/** The offchain effects emitted during the execution of the transaction. */
|
|
44
28
|
offchainEffects: OffchainEffect[], stats?: ProvingStats | undefined);
|
|
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;
|
|
29
|
+
send(): SentTx;
|
|
55
30
|
}
|
|
56
31
|
/**
|
|
57
32
|
* Helper function to prove an interaction via a TestWallet
|
|
@@ -61,4 +36,4 @@ export declare class ProvenTx extends Tx {
|
|
|
61
36
|
* @returns - A proven transaction ready do be sent to the network
|
|
62
37
|
*/
|
|
63
38
|
export declare function proveInteraction(wallet: BaseTestWallet, interaction: ContractFunctionInteraction | DeployMethod, options: SendInteractionOptions | DeployOptions): Promise<ProvenTx>;
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLFlBQVksRUFDWixLQUFLLGFBQWEsRUFDbEIsS0FBSyxzQkFBc0IsRUFDM0IsTUFBTSxFQUNOLEtBQUssUUFBUSxFQUVkLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLEtBQUssWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlEOzs7R0FHRztBQUNILHdCQUFzQiwyQkFBMkIsQ0FDL0MsTUFBTSxFQUFFLGNBQWMsRUFDdEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLEVBQ2xDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsOERBaUJ2QjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBc0IsMkNBQTJDLENBQUMsTUFBTSxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FPakg7QUFDRDs7R0FFRztBQUNILHFCQUFhLFFBQVMsU0FBUSxFQUFFO0lBRTVCLE9BQU8sQ0FBQyxJQUFJO0lBRVosNEVBQTRFO0lBQ3JFLGVBQWUsRUFBRSxjQUFjLEVBQUU7SUFFakMsS0FBSyxDQUFDO0lBTmYsWUFDVSxJQUFJLEVBQUUsU0FBUyxFQUN2QixFQUFFLEVBQUUsRUFBRTtJQUNOLDRFQUE0RTtJQUNyRSxlQUFlLEVBQUUsY0FBYyxFQUFFLEVBRWpDLEtBQUssQ0FBQywwQkFBYyxFQUc1QjtJQUVELElBQUksV0FNSDtDQUNGO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsY0FBYyxFQUN0QixXQUFXLEVBQUUsMkJBQTJCLEdBQUcsWUFBWSxFQUN2RCxPQUFPLEVBQUUsc0JBQXNCLEdBQUcsYUFBYSxxQkFTaEQifQ==
|
package/dest/utils.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dest/utils.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { getInitialTestAccountsData } from '@aztec/accounts/testing/lazy';
|
|
2
2
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
3
|
-
import { DeployMethod,
|
|
4
|
-
import { waitForTx } from '@aztec/aztec.js/node';
|
|
5
|
-
import { SimulationError } from '@aztec/stdlib/errors';
|
|
3
|
+
import { DeployMethod, SentTx, toSendOptions } from '@aztec/aztec.js/contracts';
|
|
6
4
|
import { Tx } from '@aztec/stdlib/tx';
|
|
7
|
-
import { inspect } from 'util';
|
|
8
5
|
/**
|
|
9
6
|
* Deploys the SchnorrAccount contracts backed by prefunded addresses
|
|
10
7
|
* at genesis. This can be directly used to pay for transactions in FeeJuice.
|
|
11
|
-
*/ export async function deployFundedSchnorrAccounts(wallet, accountsData, waitOptions) {
|
|
8
|
+
*/ export async function deployFundedSchnorrAccounts(wallet, aztecNode, accountsData, waitOptions) {
|
|
12
9
|
const accountManagers = [];
|
|
13
10
|
// Serial due to https://github.com/AztecProtocol/aztec-packages/issues/12045
|
|
14
11
|
for(let i = 0; i < accountsData.length; i++){
|
|
@@ -17,9 +14,8 @@ import { inspect } from 'util';
|
|
|
17
14
|
const deployMethod = await accountManager.getDeployMethod();
|
|
18
15
|
await deployMethod.send({
|
|
19
16
|
from: AztecAddress.ZERO,
|
|
20
|
-
skipClassPublication: i !== 0
|
|
21
|
-
|
|
22
|
-
});
|
|
17
|
+
skipClassPublication: i !== 0
|
|
18
|
+
}).wait(waitOptions);
|
|
23
19
|
accountManagers.push(accountManager);
|
|
24
20
|
}
|
|
25
21
|
return accountManagers;
|
|
@@ -44,26 +40,12 @@ import { inspect } from 'util';
|
|
|
44
40
|
stats){
|
|
45
41
|
super(tx.getTxHash(), tx.data, tx.chonkProof, tx.contractClassLogFields, tx.publicFunctionCalldata), this.node = node, this.offchainEffects = offchainEffects, this.stats = stats;
|
|
46
42
|
}
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
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;
|
|
43
|
+
send() {
|
|
44
|
+
const sendTx = async ()=>{
|
|
45
|
+
await this.node.sendTx(this);
|
|
46
|
+
return this.getTxHash();
|
|
47
|
+
};
|
|
48
|
+
return new SentTx(this.node, sendTx);
|
|
67
49
|
}
|
|
68
50
|
}
|
|
69
51
|
/**
|
|
@@ -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 {
|
|
10
|
+
import type { 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,14 +126,7 @@ 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:
|
|
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>;
|
|
129
|
+
proveTx(exec: ExecutionPayload, opts: SendOptions): Promise<ProvenTx>;
|
|
137
130
|
/**
|
|
138
131
|
* A debugging utility to get notes based on the provided filter.
|
|
139
132
|
*
|
|
@@ -153,4 +146,4 @@ export declare abstract class BaseTestWallet extends BaseWallet {
|
|
|
153
146
|
*/
|
|
154
147
|
stop(): Promise<void>;
|
|
155
148
|
}
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF93YWxsZXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YWxsZXQvdGVzdF93YWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXFCLE1BQU0seUJBQXlCLENBQUM7QUFDaEcsT0FBTyxFQUNMLEtBQUssVUFBVSxFQUNmLEtBQUsscUNBQXFDLEVBQzFDLEtBQUssZUFBZSxFQUNwQixtQ0FBbUMsRUFJcEMsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssV0FBVyxFQUFFLEtBQUssZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEcsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFdBQVc7SUFDMUI7O09BRUc7SUFDSCxNQUFNLEVBQUUsRUFBRSxDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/test_wallet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,EAAqB,MAAM,yBAAyB,CAAC;AAChG,OAAO,EACL,KAAK,UAAU,EACf,KAAK,qCAAqC,EAC1C,KAAK,eAAe,EACpB,mCAAmC,EAIpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"test_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/test_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -163,14 +163,6 @@ 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
|
-
/**
|
|
174
166
|
* A debugging utility to get notes based on the provided filter.
|
|
175
167
|
*
|
|
176
168
|
* Note that this should not be used in production code because the structure of notes is considered to be
|
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.
|
|
4
|
+
"version": "0.0.1-commit.d431d1c",
|
|
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.
|
|
66
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
67
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
68
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
69
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
70
|
-
"@aztec/pxe": "0.0.1-commit.
|
|
71
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
72
|
-
"@aztec/wallet-sdk": "0.0.1-commit.
|
|
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"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@jest/globals": "^30.0.0",
|
package/src/utils.ts
CHANGED
|
@@ -5,44 +5,23 @@ import {
|
|
|
5
5
|
ContractFunctionInteraction,
|
|
6
6
|
DeployMethod,
|
|
7
7
|
type DeployOptions,
|
|
8
|
-
NO_WAIT,
|
|
9
|
-
type NoWait,
|
|
10
8
|
type SendInteractionOptions,
|
|
9
|
+
SentTx,
|
|
11
10
|
type WaitOpts,
|
|
12
11
|
toSendOptions,
|
|
13
12
|
} from '@aztec/aztec.js/contracts';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { type OffchainEffect, type ProvingStats, Tx, TxHash, type TxReceipt } from '@aztec/stdlib/tx';
|
|
17
|
-
|
|
18
|
-
import { inspect } from 'util';
|
|
13
|
+
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
14
|
+
import { type OffchainEffect, type ProvingStats, Tx } from '@aztec/stdlib/tx';
|
|
19
15
|
|
|
20
16
|
import type { BaseTestWallet } from './wallet/test_wallet.js';
|
|
21
17
|
|
|
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
|
-
|
|
40
18
|
/**
|
|
41
19
|
* Deploys the SchnorrAccount contracts backed by prefunded addresses
|
|
42
20
|
* at genesis. This can be directly used to pay for transactions in FeeJuice.
|
|
43
21
|
*/
|
|
44
22
|
export async function deployFundedSchnorrAccounts(
|
|
45
23
|
wallet: BaseTestWallet,
|
|
24
|
+
aztecNode: AztecNode,
|
|
46
25
|
accountsData: InitialAccountData[],
|
|
47
26
|
waitOptions?: WaitOpts,
|
|
48
27
|
) {
|
|
@@ -52,11 +31,12 @@ export async function deployFundedSchnorrAccounts(
|
|
|
52
31
|
const { secret, salt, signingKey } = accountsData[i];
|
|
53
32
|
const accountManager = await wallet.createSchnorrAccount(secret, salt, signingKey);
|
|
54
33
|
const deployMethod = await accountManager.getDeployMethod();
|
|
55
|
-
await deployMethod
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
34
|
+
await deployMethod
|
|
35
|
+
.send({
|
|
36
|
+
from: AztecAddress.ZERO,
|
|
37
|
+
skipClassPublication: i !== 0, // Publish the contract class at most once.
|
|
38
|
+
})
|
|
39
|
+
.wait(waitOptions);
|
|
60
40
|
accountManagers.push(accountManager);
|
|
61
41
|
}
|
|
62
42
|
return accountManagers;
|
|
@@ -90,37 +70,12 @@ export class ProvenTx extends Tx {
|
|
|
90
70
|
super(tx.getTxHash(), tx.data, tx.chonkProof, tx.contractClassLogFields, tx.publicFunctionCalldata);
|
|
91
71
|
}
|
|
92
72
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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;
|
|
73
|
+
send() {
|
|
74
|
+
const sendTx = async () => {
|
|
75
|
+
await this.node.sendTx(this);
|
|
76
|
+
return this.getTxHash();
|
|
77
|
+
};
|
|
78
|
+
return new SentTx(this.node, sendTx);
|
|
124
79
|
}
|
|
125
80
|
}
|
|
126
81
|
|
|
@@ -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 {
|
|
21
|
+
import type { 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:
|
|
248
|
+
async proveTx(exec: ExecutionPayload, opts: SendOptions): 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,16 +257,6 @@ 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
|
-
|
|
270
260
|
/**
|
|
271
261
|
* A debugging utility to get notes based on the provided filter.
|
|
272
262
|
*
|