@walletmesh/aztec-rpc-wallet 0.3.0 → 0.4.0
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/CHANGELOG.md +26 -0
- package/README.md +290 -228
- package/dist/.tsbuildinfo +1 -1
- package/dist/client/aztec-dapp-wallet.d.ts +401 -0
- package/dist/client/aztec-dapp-wallet.d.ts.map +1 -0
- package/dist/client/aztec-dapp-wallet.js +705 -0
- package/dist/client/aztec-router-provider.d.ts +58 -0
- package/dist/client/aztec-router-provider.d.ts.map +1 -0
- package/dist/client/aztec-router-provider.js +62 -0
- package/dist/client/helpers.d.ts +44 -0
- package/dist/client/helpers.d.ts.map +1 -0
- package/dist/client/helpers.js +79 -0
- package/dist/client/register-serializers.d.ts +41 -0
- package/dist/client/register-serializers.d.ts.map +1 -0
- package/dist/client/register-serializers.js +97 -0
- package/dist/contractArtifactCache.d.ts +49 -32
- package/dist/contractArtifactCache.d.ts.map +1 -1
- package/dist/contractArtifactCache.js +47 -34
- package/dist/errors.d.ts +50 -8
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +50 -10
- package/dist/index.d.ts +53 -40
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +52 -17
- package/dist/types.d.ts +345 -268
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +10 -8
- package/dist/wallet/create-node.d.ts +73 -0
- package/dist/wallet/create-node.d.ts.map +1 -0
- package/dist/wallet/create-node.js +99 -0
- package/dist/wallet/handlers/account.d.ts +67 -0
- package/dist/wallet/handlers/account.d.ts.map +1 -0
- package/dist/wallet/handlers/account.js +85 -0
- package/dist/wallet/handlers/contract-interaction.d.ts +77 -0
- package/dist/wallet/handlers/contract-interaction.d.ts.map +1 -0
- package/dist/wallet/handlers/contract-interaction.js +219 -0
- package/dist/wallet/handlers/contract.d.ts +96 -0
- package/dist/wallet/handlers/contract.d.ts.map +1 -0
- package/dist/wallet/handlers/contract.js +146 -0
- package/dist/wallet/handlers/event.d.ts +62 -0
- package/dist/wallet/handlers/event.d.ts.map +1 -0
- package/dist/wallet/handlers/event.js +85 -0
- package/dist/wallet/handlers/index.d.ts +88 -0
- package/dist/wallet/handlers/index.d.ts.map +1 -0
- package/dist/wallet/handlers/index.js +47 -0
- package/dist/wallet/handlers/node.d.ts +117 -0
- package/dist/wallet/handlers/node.d.ts.map +1 -0
- package/dist/wallet/handlers/node.js +196 -0
- package/dist/wallet/handlers/senders.d.ts +70 -0
- package/dist/wallet/handlers/senders.d.ts.map +1 -0
- package/dist/wallet/handlers/senders.js +92 -0
- package/dist/wallet/handlers/transaction.d.ts +123 -0
- package/dist/wallet/handlers/transaction.d.ts.map +1 -0
- package/dist/wallet/handlers/transaction.js +191 -0
- package/dist/wallet/serializers.d.ts +75 -0
- package/dist/wallet/serializers.d.ts.map +1 -0
- package/dist/wallet/serializers.js +501 -0
- package/docs/README.md +290 -229
- package/docs/classes/AztecDappWallet.md +1304 -0
- package/docs/classes/AztecRouterProvider.md +1058 -0
- package/docs/classes/AztecWalletError.md +124 -47
- package/docs/classes/ContractArtifactCache.md +48 -31
- package/docs/functions/connectAztec.md +62 -0
- package/docs/functions/createAztecWallet.md +46 -0
- package/docs/functions/createAztecWalletNode.md +96 -0
- package/docs/functions/registerAztecSerializers.md +61 -0
- package/docs/functions/registerWalletAztecSerializers.md +39 -0
- package/docs/globals.md +16 -14
- package/docs/interfaces/AztecHandlerContext.md +54 -0
- package/docs/interfaces/AztecWalletContext.md +50 -0
- package/docs/interfaces/AztecWalletMethodMap.md +471 -470
- package/docs/type-aliases/AztecChainId.md +16 -3
- package/docs/variables/ALL_AZTEC_METHODS.md +20 -0
- package/docs/variables/AztecWalletErrorMap.md +9 -4
- package/docs/variables/AztecWalletSerializer.md +45 -0
- package/package.json +9 -9
- package/src/client/aztec-dapp-wallet.test.ts +628 -0
- package/src/client/aztec-dapp-wallet.ts +879 -0
- package/src/client/aztec-router-provider.test.ts +235 -0
- package/src/client/aztec-router-provider.ts +64 -0
- package/src/client/helpers.test.ts +187 -0
- package/src/client/helpers.ts +91 -0
- package/src/client/register-serializers.ts +108 -0
- package/src/contractArtifactCache.test.ts +21 -10
- package/src/contractArtifactCache.ts +54 -35
- package/src/errors.ts +58 -10
- package/src/index.test.ts +2 -6
- package/src/index.ts +73 -37
- package/src/types.ts +379 -217
- package/src/wallet/create-node.test.ts +332 -0
- package/src/wallet/create-node.ts +120 -0
- package/src/wallet/handlers/account.test.ts +172 -0
- package/src/wallet/handlers/account.ts +99 -0
- package/src/wallet/handlers/contract-interaction.test.ts +248 -0
- package/src/wallet/handlers/contract-interaction.ts +269 -0
- package/src/wallet/handlers/contract.test.ts +245 -0
- package/src/wallet/handlers/contract.ts +174 -0
- package/src/wallet/handlers/event.test.ts +216 -0
- package/src/wallet/handlers/event.ts +99 -0
- package/src/wallet/handlers/index.ts +84 -0
- package/src/wallet/handlers/node.test.ts +304 -0
- package/src/wallet/handlers/node.ts +230 -0
- package/src/wallet/handlers/senders.test.ts +172 -0
- package/src/wallet/handlers/senders.ts +106 -0
- package/src/wallet/handlers/transaction.test.ts +371 -0
- package/src/wallet/handlers/transaction.ts +239 -0
- package/src/wallet/serializers.test.ts +253 -0
- package/src/wallet/serializers.ts +586 -0
- package/typedoc.json +23 -1
- package/dist/aztecRemoteWallet.d.ts +0 -70
- package/dist/aztecRemoteWallet.d.ts.map +0 -1
- package/dist/aztecRemoteWallet.js +0 -335
- package/dist/chainProvider.d.ts +0 -56
- package/dist/chainProvider.d.ts.map +0 -1
- package/dist/chainProvider.js +0 -98
- package/dist/handlers/aztecAccountWallet.d.ts +0 -4
- package/dist/handlers/aztecAccountWallet.d.ts.map +0 -1
- package/dist/handlers/aztecAccountWallet.js +0 -296
- package/dist/handlers/transactions.d.ts +0 -21
- package/dist/handlers/transactions.d.ts.map +0 -1
- package/dist/handlers/transactions.js +0 -98
- package/dist/handlers.d.ts +0 -27
- package/dist/handlers.d.ts.map +0 -1
- package/dist/handlers.js +0 -55
- package/dist/provider.d.ts +0 -105
- package/dist/provider.d.ts.map +0 -1
- package/dist/provider.js +0 -160
- package/dist/serializers/account.d.ts +0 -164
- package/dist/serializers/account.d.ts.map +0 -1
- package/dist/serializers/account.js +0 -244
- package/dist/serializers/contract.d.ts +0 -62
- package/dist/serializers/contract.d.ts.map +0 -1
- package/dist/serializers/contract.js +0 -130
- package/dist/serializers/index.d.ts +0 -21
- package/dist/serializers/index.d.ts.map +0 -1
- package/dist/serializers/index.js +0 -154
- package/dist/serializers/log.d.ts +0 -66
- package/dist/serializers/log.d.ts.map +0 -1
- package/dist/serializers/log.js +0 -222
- package/dist/serializers/note.d.ts +0 -124
- package/dist/serializers/note.d.ts.map +0 -1
- package/dist/serializers/note.js +0 -208
- package/dist/serializers/transaction.d.ts +0 -99
- package/dist/serializers/transaction.d.ts.map +0 -1
- package/dist/serializers/transaction.js +0 -275
- package/dist/wallet.d.ts +0 -62
- package/dist/wallet.d.ts.map +0 -1
- package/dist/wallet.js +0 -77
- package/docs/classes/AztecChainProvider.md +0 -553
- package/docs/classes/AztecChainWallet.md +0 -409
- package/docs/classes/AztecProvider.md +0 -1112
- package/docs/interfaces/AztecWalletBaseMethodMap.md +0 -135
- package/docs/interfaces/AztecWalletEventMap.md +0 -17
- package/docs/type-aliases/AztecChainWalletMiddleware.md +0 -13
- package/docs/type-aliases/AztecWalletContext.md +0 -29
- package/docs/type-aliases/AztecWalletMethodHandler.md +0 -37
- package/docs/type-aliases/AztecWalletMiddleware.md +0 -13
- package/docs/type-aliases/AztecWalletRouterClient.md +0 -13
- package/docs/type-aliases/TransactionFunctionCall.md +0 -33
- package/docs/type-aliases/TransactionParams.md +0 -27
- package/src/aztecRemoteWallet.test.ts +0 -504
- package/src/aztecRemoteWallet.ts +0 -467
- package/src/chainProvider.test.ts +0 -401
- package/src/chainProvider.ts +0 -116
- package/src/handlers/aztecAccountWallet.test.ts +0 -649
- package/src/handlers/aztecAccountWallet.ts +0 -532
- package/src/handlers/transactions.ts +0 -124
- package/src/handlers.test.ts +0 -270
- package/src/handlers.ts +0 -70
- package/src/provider.test.ts +0 -274
- package/src/provider.ts +0 -189
- package/src/serializers/account.test.ts +0 -125
- package/src/serializers/account.ts +0 -301
- package/src/serializers/contract.test.ts +0 -24
- package/src/serializers/contract.ts +0 -183
- package/src/serializers/index.test.ts +0 -136
- package/src/serializers/index.ts +0 -191
- package/src/serializers/log.test.ts +0 -286
- package/src/serializers/log.ts +0 -292
- package/src/serializers/note.test.ts +0 -125
- package/src/serializers/note.ts +0 -250
- package/src/serializers/transaction.test.ts +0 -320
- package/src/serializers/transaction.ts +0 -409
- package/src/wallet.test.ts +0 -275
- package/src/wallet.ts +0 -94
@@ -0,0 +1,401 @@
|
|
1
|
+
import type { AuthWitness, AztecAddress, CompleteAddress, ContractArtifact, ContractFunctionInteraction, ContractInstanceWithAddress, Fr, L2Block, Tx, TxExecutionRequest, TxHash, TxReceipt, Wallet } from '@aztec/aztec.js';
|
2
|
+
import { DeploySentTx, SentTx } from '@aztec/aztec.js';
|
3
|
+
import type { IntentAction, IntentInnerHash } from '@aztec/aztec.js/utils';
|
4
|
+
import type { EventMetadataDefinition, PXEInfo, ContractMetadata, ContractClassMetadata } from '@aztec/stdlib/interfaces/client';
|
5
|
+
import type { NodeInfo } from '@aztec/stdlib/contract';
|
6
|
+
import type { GasFees } from '@aztec/stdlib/gas';
|
7
|
+
import type { PrivateExecutionResult, TxProfileResult, TxProvingResult, TxSimulationResult, UtilitySimulationResult } from '@aztec/stdlib/tx';
|
8
|
+
import type { ExecutionPayload } from '@aztec/entrypoints/payload';
|
9
|
+
import type { FeeOptions, TxExecutionOptions } from '@aztec/entrypoints/interfaces';
|
10
|
+
import type { AztecChainId } from '../types.js';
|
11
|
+
import type { AztecRouterProvider } from './aztec-router-provider.js';
|
12
|
+
/**
|
13
|
+
* Aztec DApp Wallet that implements the aztec.js {@link Wallet} interface.
|
14
|
+
* This class provides a client-side representation of an Aztec wallet,
|
15
|
+
* interacting with a remote wallet implementation (typically an {@link AccountWallet}
|
16
|
+
* managed by a {@link JSONRPCNode} created via `createAztecWalletNode`)
|
17
|
+
* through the WalletMesh router system.
|
18
|
+
*
|
19
|
+
* It requires an {@link AztecRouterProvider} instance to handle the
|
20
|
+
* serialization and deserialization of Aztec-specific types (e.g., `AztecAddress`, `Fr`)
|
21
|
+
* when communicating with the router.
|
22
|
+
*
|
23
|
+
* An instance of this wallet should typically be created using the
|
24
|
+
* {@link createAztecWallet} helper function, which also handles initialization.
|
25
|
+
*
|
26
|
+
* @example
|
27
|
+
* ```typescript
|
28
|
+
* // Assuming 'provider' is an initialized AztecRouterProvider
|
29
|
+
* const wallet = await createAztecWallet(provider, 'aztec:mainnet');
|
30
|
+
* const address = wallet.getAddress(); // Synchronous access after initialization
|
31
|
+
* const txHash = await wallet.sendTx(someTx);
|
32
|
+
* ```
|
33
|
+
*/
|
34
|
+
export declare class AztecDappWallet implements Wallet {
|
35
|
+
private routerProvider;
|
36
|
+
private chainId;
|
37
|
+
private cachedAddress?;
|
38
|
+
private cachedCompleteAddress?;
|
39
|
+
private cachedChainId?;
|
40
|
+
private cachedVersion?;
|
41
|
+
private entrypoint?;
|
42
|
+
private authProvider?;
|
43
|
+
/**
|
44
|
+
* Creates an instance of AztecDappWallet.
|
45
|
+
* Note: Prefer using the {@link createAztecWallet} helper function for creating
|
46
|
+
* and initializing wallet instances.
|
47
|
+
*
|
48
|
+
* @param routerProvider - The AztecRouterProvider instance used for communication.
|
49
|
+
* @param chainId - The Aztec chain ID this wallet is associated with.
|
50
|
+
*/
|
51
|
+
constructor(routerProvider: AztecRouterProvider, chainId: AztecChainId);
|
52
|
+
/**
|
53
|
+
* Gets the chain ID for this wallet.
|
54
|
+
* This value is cached during initialization.
|
55
|
+
* @returns The chain ID as an Fr.
|
56
|
+
* @throws If the wallet is not initialized (e.g., if not created via `createAztecWallet`).
|
57
|
+
*/
|
58
|
+
getChainId(): Fr;
|
59
|
+
/**
|
60
|
+
* Asynchronously fetches the chain ID from the remote wallet via an RPC call.
|
61
|
+
* This method directly queries the connected wallet node.
|
62
|
+
*
|
63
|
+
* @returns A promise that resolves to the chain ID as an {@link Fr}.
|
64
|
+
* @see {@link AztecWalletMethodMap.aztec_getChainId}
|
65
|
+
*/
|
66
|
+
getChainIdAsync(): Promise<Fr>;
|
67
|
+
/**
|
68
|
+
* Gets the version of the wallet (typically PXE version).
|
69
|
+
* This value is cached during initialization.
|
70
|
+
* @returns The wallet version as an Fr.
|
71
|
+
* @throws If the wallet is not initialized.
|
72
|
+
*/
|
73
|
+
getVersion(): Fr;
|
74
|
+
/**
|
75
|
+
* Asynchronously fetches the wallet version (typically the PXE version) from the remote wallet via an RPC call.
|
76
|
+
* This method directly queries the connected wallet node.
|
77
|
+
*
|
78
|
+
* @returns A promise that resolves to the wallet version as an {@link Fr}.
|
79
|
+
* @see {@link AztecWalletMethodMap.aztec_getVersion}
|
80
|
+
*/
|
81
|
+
getVersionAsync(): Promise<Fr>;
|
82
|
+
/**
|
83
|
+
* Gets the primary Aztec address for this wallet.
|
84
|
+
* This value is cached during initialization.
|
85
|
+
* Implements {@link Wallet.getAddress}.
|
86
|
+
* @returns The wallet's AztecAddress.
|
87
|
+
* @throws If the wallet is not initialized.
|
88
|
+
*/
|
89
|
+
getAddress(): AztecAddress;
|
90
|
+
/**
|
91
|
+
* Asynchronously fetches the primary Aztec address from the remote wallet via an RPC call.
|
92
|
+
* This method directly queries the connected wallet node.
|
93
|
+
*
|
94
|
+
* @returns A promise that resolves to the wallet's {@link AztecAddress}.
|
95
|
+
* @see {@link AztecWalletMethodMap.aztec_getAddress}
|
96
|
+
*/
|
97
|
+
getAddressAsync(): Promise<AztecAddress>;
|
98
|
+
/**
|
99
|
+
* Gets the complete address (including public keys) for this wallet.
|
100
|
+
* This value is cached during initialization.
|
101
|
+
* Implements {@link Wallet.getCompleteAddress}.
|
102
|
+
* @returns The wallet's CompleteAddress.
|
103
|
+
* @throws If the wallet is not initialized.
|
104
|
+
*/
|
105
|
+
getCompleteAddress(): CompleteAddress;
|
106
|
+
/**
|
107
|
+
* Asynchronously fetches the complete address (including public keys) from the remote wallet via an RPC call.
|
108
|
+
* This method directly queries the connected wallet node.
|
109
|
+
*
|
110
|
+
* @returns A promise that resolves to the wallet's {@link CompleteAddress}.
|
111
|
+
* @see {@link AztecWalletMethodMap.aztec_getCompleteAddress}
|
112
|
+
*/
|
113
|
+
getCompleteAddressAsync(): Promise<CompleteAddress>;
|
114
|
+
/**
|
115
|
+
* Fetches and caches values (address, chain ID, version) that are accessed synchronously.
|
116
|
+
* @internal
|
117
|
+
*/
|
118
|
+
private fetchCachedValues;
|
119
|
+
/**
|
120
|
+
* Initializes the wallet instance by fetching and caching necessary values.
|
121
|
+
* This method is called by {@link createAztecWallet}.
|
122
|
+
* @internal
|
123
|
+
*/
|
124
|
+
initialize(): Promise<void>;
|
125
|
+
/**
|
126
|
+
* Registers an authorized sender for this account by making an RPC call to the remote wallet.
|
127
|
+
* Implements {@link Wallet.registerSender}.
|
128
|
+
* @param address - The {@link AztecAddress} of the sender to register.
|
129
|
+
* @returns A promise that resolves to the registered sender's {@link AztecAddress}.
|
130
|
+
* @see {@link AztecWalletMethodMap.aztec_registerSender}
|
131
|
+
*/
|
132
|
+
registerSender(address: AztecAddress): Promise<AztecAddress>;
|
133
|
+
/**
|
134
|
+
* Retrieves the list of registered senders for this account by making an RPC call to the remote wallet.
|
135
|
+
* Implements {@link Wallet.getSenders}.
|
136
|
+
* @returns A promise that resolves to an array of {@link AztecAddress} objects.
|
137
|
+
* @see {@link AztecWalletMethodMap.aztec_getSenders}
|
138
|
+
*/
|
139
|
+
getSenders(): Promise<AztecAddress[]>;
|
140
|
+
/**
|
141
|
+
* Removes an authorized sender from this account by making an RPC call to the remote wallet.
|
142
|
+
* Implements {@link Wallet.removeSender}.
|
143
|
+
* @param sender - The {@link AztecAddress} of the sender to remove.
|
144
|
+
* @returns A promise that resolves when the sender is removed by the remote wallet.
|
145
|
+
* @see {@link AztecWalletMethodMap.aztec_removeSender}
|
146
|
+
*/
|
147
|
+
removeSender(sender: AztecAddress): Promise<void>;
|
148
|
+
/**
|
149
|
+
* Registers a deployed contract instance with the remote wallet via an RPC call.
|
150
|
+
* Implements {@link Wallet.registerContract}.
|
151
|
+
* @param contract - An object containing the contract's {@link ContractInstanceWithAddress} and optionally its {@link ContractArtifact}.
|
152
|
+
* @returns A promise that resolves when the contract is registered by the remote wallet.
|
153
|
+
* @see {@link AztecWalletMethodMap.aztec_registerContract}
|
154
|
+
*/
|
155
|
+
registerContract(contract: {
|
156
|
+
artifact?: ContractArtifact;
|
157
|
+
instance: ContractInstanceWithAddress;
|
158
|
+
}): Promise<void>;
|
159
|
+
/**
|
160
|
+
* Registers a contract class (artifact/bytecode) with the remote wallet via an RPC call.
|
161
|
+
* Implements {@link Wallet.registerContractClass}.
|
162
|
+
* @param artifact - The {@link ContractArtifact} to register.
|
163
|
+
* @returns A promise that resolves when the class is registered by the remote wallet.
|
164
|
+
* @see {@link AztecWalletMethodMap.aztec_registerContractClass}
|
165
|
+
*/
|
166
|
+
registerContractClass(artifact: ContractArtifact): Promise<void>;
|
167
|
+
/**
|
168
|
+
* Retrieves information about the connected Aztec node via an RPC call.
|
169
|
+
* Implements {@link Wallet.getNodeInfo}.
|
170
|
+
* @returns A promise that resolves to the {@link NodeInfo}.
|
171
|
+
* @see {@link AztecWalletMethodMap.aztec_getNodeInfo}
|
172
|
+
*/
|
173
|
+
getNodeInfo(): Promise<NodeInfo>;
|
174
|
+
/**
|
175
|
+
* Retrieves information about the PXE service via an RPC call.
|
176
|
+
* Implements {@link Wallet.getPXEInfo}.
|
177
|
+
* @returns A promise that resolves to the {@link PXEInfo}.
|
178
|
+
* @see {@link AztecWalletMethodMap.aztec_getPXEInfo}
|
179
|
+
*/
|
180
|
+
getPXEInfo(): Promise<PXEInfo>;
|
181
|
+
/**
|
182
|
+
* Retrieves a specific L2 block by its number via an RPC call.
|
183
|
+
* Implements {@link Wallet.getBlock}.
|
184
|
+
* @param number - The block number to retrieve.
|
185
|
+
* @returns A promise that resolves to the {@link L2Block} or `undefined` if not found.
|
186
|
+
* @see {@link AztecWalletMethodMap.aztec_getBlock}
|
187
|
+
*/
|
188
|
+
getBlock(number: number): Promise<L2Block | undefined>;
|
189
|
+
/**
|
190
|
+
* Retrieves the current L2 block number via an RPC call.
|
191
|
+
* Implements {@link Wallet.getBlockNumber}.
|
192
|
+
* @returns A promise that resolves to the current block number.
|
193
|
+
* @see {@link AztecWalletMethodMap.aztec_getBlockNumber}
|
194
|
+
*/
|
195
|
+
getBlockNumber(): Promise<number>;
|
196
|
+
/**
|
197
|
+
* Retrieves the current base gas fees on the network via an RPC call.
|
198
|
+
* Implements {@link Wallet.getCurrentBaseFees}.
|
199
|
+
* @returns A promise that resolves to the {@link GasFees}.
|
200
|
+
* @see {@link AztecWalletMethodMap.aztec_getCurrentBaseFees}
|
201
|
+
*/
|
202
|
+
getCurrentBaseFees(): Promise<GasFees>;
|
203
|
+
/**
|
204
|
+
* Creates a transaction execution request using the wallet's entrypoint.
|
205
|
+
* Implements {@link Wallet.createTxExecutionRequest}.
|
206
|
+
* @param exec - The execution payload.
|
207
|
+
* @param fee - Fee payment options.
|
208
|
+
* @param options - Transaction execution options.
|
209
|
+
* @returns A promise that resolves to the TxExecutionRequest.
|
210
|
+
* @throws If the wallet or its entrypoint is not initialized.
|
211
|
+
*/
|
212
|
+
createTxExecutionRequest(exec: ExecutionPayload, fee: FeeOptions, options: TxExecutionOptions): Promise<TxExecutionRequest>;
|
213
|
+
/**
|
214
|
+
* Creates an authorization witness for a given message hash or intent by making an RPC call to the remote wallet.
|
215
|
+
* Implements {@link Wallet.createAuthWit}.
|
216
|
+
* @param intent - The message hash ({@link Fr} or {@link Buffer}) or intent object ({@link IntentInnerHash} or {@link IntentAction}) to authorize.
|
217
|
+
* @returns A promise that resolves to the {@link AuthWitness}.
|
218
|
+
* @see {@link AztecWalletMethodMap.aztec_createAuthWit}
|
219
|
+
*/
|
220
|
+
createAuthWit(messageHash: Fr | Buffer): Promise<AuthWitness>;
|
221
|
+
createAuthWit(intent: IntentInnerHash | IntentAction): Promise<AuthWitness>;
|
222
|
+
/**
|
223
|
+
* Proves a transaction execution request by making an RPC call to the remote wallet.
|
224
|
+
* Implements {@link Wallet.proveTx}.
|
225
|
+
* @param txRequest - The {@link TxExecutionRequest} to prove.
|
226
|
+
* @param privateExecutionResult - Optional {@link PrivateExecutionResult} from a private execution phase.
|
227
|
+
* @returns A promise that resolves to the {@link TxProvingResult}.
|
228
|
+
* @see {@link AztecWalletMethodMap.aztec_proveTx}
|
229
|
+
*/
|
230
|
+
proveTx(txRequest: TxExecutionRequest, privateExecutionResult?: PrivateExecutionResult): Promise<TxProvingResult>;
|
231
|
+
/**
|
232
|
+
* Sends a proven transaction to the network via an RPC call to the remote wallet.
|
233
|
+
* Implements {@link Wallet.sendTx}.
|
234
|
+
* @param tx - The proven {@link Tx} to send.
|
235
|
+
* @returns A promise that resolves to the {@link TxHash}.
|
236
|
+
* @see {@link AztecWalletMethodMap.aztec_sendTx}
|
237
|
+
*/
|
238
|
+
sendTx(tx: Tx): Promise<TxHash>;
|
239
|
+
/**
|
240
|
+
* Retrieves the receipt for a given transaction hash via an RPC call to the remote wallet.
|
241
|
+
* Implements {@link Wallet.getTxReceipt}.
|
242
|
+
* @param txHash - The {@link TxHash} of the transaction.
|
243
|
+
* @returns A promise that resolves to the {@link TxReceipt}.
|
244
|
+
* @see {@link AztecWalletMethodMap.aztec_getTxReceipt}
|
245
|
+
*/
|
246
|
+
getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
|
247
|
+
/**
|
248
|
+
* Simulates a transaction by making an RPC call to the remote wallet.
|
249
|
+
* Implements {@link Wallet.simulateTx}.
|
250
|
+
* @param txRequest - The {@link TxExecutionRequest} to simulate.
|
251
|
+
* @param simulatePublic - Whether to simulate public parts of the transaction.
|
252
|
+
* @param msgSender - Optional {@link AztecAddress} of the message sender for simulation context.
|
253
|
+
* @param skipTxValidation - Optional flag to skip transaction validation during simulation.
|
254
|
+
* @param skipFeeEnforcement - Optional flag to skip fee enforcement during simulation.
|
255
|
+
* @param scopes - Optional array of {@link AztecAddress} scopes for the simulation.
|
256
|
+
* @returns A promise that resolves to the {@link TxSimulationResult}.
|
257
|
+
* @see {@link AztecWalletMethodMap.aztec_simulateTx}
|
258
|
+
*/
|
259
|
+
simulateTx(txRequest: TxExecutionRequest, simulatePublic: boolean, msgSender?: AztecAddress, skipTxValidation?: boolean, skipFeeEnforcement?: boolean, scopes?: AztecAddress[]): Promise<TxSimulationResult>;
|
260
|
+
/**
|
261
|
+
* Profiles a transaction for performance analysis by making an RPC call to the remote wallet.
|
262
|
+
* Implements {@link Wallet.profileTx}.
|
263
|
+
* @param txRequest - The {@link TxExecutionRequest} to profile.
|
264
|
+
* @param profileMode - The mode for profiling: 'gates', 'execution-steps', or 'full'.
|
265
|
+
* @param skipProofGeneration - Optional flag to skip proof generation during profiling.
|
266
|
+
* @param msgSender - Optional {@link AztecAddress} of the message sender for profiling context.
|
267
|
+
* @returns A promise that resolves to the {@link TxProfileResult}.
|
268
|
+
* @see {@link AztecWalletMethodMap.aztec_profileTx}
|
269
|
+
*/
|
270
|
+
profileTx(txRequest: TxExecutionRequest, profileMode: 'gates' | 'execution-steps' | 'full', skipProofGeneration?: boolean, msgSender?: AztecAddress): Promise<TxProfileResult>;
|
271
|
+
/**
|
272
|
+
* Simulates a utility function call (view function) by making an RPC call to the remote wallet.
|
273
|
+
* Implements {@link Wallet.simulateUtility}.
|
274
|
+
* @param functionName - The name of the utility function to call.
|
275
|
+
* @param args - Arguments for the function call.
|
276
|
+
* @param to - The {@link AztecAddress} of the contract or account to call.
|
277
|
+
* @param authWits - Optional array of {@link AuthWitness} for authorization.
|
278
|
+
* @param from - Optional {@link AztecAddress} of the sender.
|
279
|
+
* @returns A promise that resolves to the {@link UtilitySimulationResult}.
|
280
|
+
* @see {@link AztecWalletMethodMap.aztec_simulateUtility}
|
281
|
+
*/
|
282
|
+
simulateUtility(functionName: string, args: unknown[], to: AztecAddress, authWits?: AuthWitness[], from?: AztecAddress): Promise<UtilitySimulationResult>;
|
283
|
+
/**
|
284
|
+
* Retrieves private events (encrypted logs) by making an RPC call to the remote wallet.
|
285
|
+
* Implements {@link Wallet.getPrivateEvents}.
|
286
|
+
* @template T - The expected type of the decoded event data.
|
287
|
+
* @param contractAddress - The {@link AztecAddress} of the contract emitting the events.
|
288
|
+
* @param eventMetadata - {@link EventMetadataDefinition} of the event to query.
|
289
|
+
* @param from - Starting block number (inclusive).
|
290
|
+
* @param numBlocks - Number of blocks to query from the `from` block.
|
291
|
+
* @param recipients - Array of {@link AztecAddress} recipients for the events.
|
292
|
+
* @returns A promise that resolves to an array of decoded event data of type `T`.
|
293
|
+
* @see {@link AztecWalletMethodMap.aztec_getPrivateEvents}
|
294
|
+
*/
|
295
|
+
getPrivateEvents<T>(contractAddress: AztecAddress, eventMetadata: EventMetadataDefinition, from: number, numBlocks: number, recipients: AztecAddress[]): Promise<T[]>;
|
296
|
+
/**
|
297
|
+
* Retrieves public events (unencrypted logs) by making an RPC call to the remote wallet.
|
298
|
+
* Implements {@link Wallet.getPublicEvents}.
|
299
|
+
* @template T - The expected type of the decoded event data.
|
300
|
+
* @param eventMetadata - {@link EventMetadataDefinition} of the event to query.
|
301
|
+
* @param from - Starting block number (inclusive).
|
302
|
+
* @param limit - Maximum number of events to return.
|
303
|
+
* @returns A promise that resolves to an array of decoded event data of type `T`.
|
304
|
+
* @see {@link AztecWalletMethodMap.aztec_getPublicEvents}
|
305
|
+
*/
|
306
|
+
getPublicEvents<T>(eventMetadata: EventMetadataDefinition, from: number, limit: number): Promise<T[]>;
|
307
|
+
/**
|
308
|
+
* Retrieves metadata for a specific contract by making an RPC call to the remote wallet.
|
309
|
+
* Implements {@link Wallet.getContractMetadata}.
|
310
|
+
* @param address - The {@link AztecAddress} of the contract.
|
311
|
+
* @returns A promise that resolves to the {@link ContractMetadata}.
|
312
|
+
* @see {@link AztecWalletMethodMap.aztec_getContractMetadata}
|
313
|
+
*/
|
314
|
+
getContractMetadata(address: AztecAddress): Promise<ContractMetadata>;
|
315
|
+
/**
|
316
|
+
* Retrieves metadata for a contract class by making an RPC call to the remote wallet.
|
317
|
+
* Implements {@link Wallet.getContractClassMetadata}.
|
318
|
+
* @param id - The {@link Fr} ID of the contract class.
|
319
|
+
* @param includeArtifact - Optional flag to include the {@link ContractArtifact} in the metadata.
|
320
|
+
* @returns A promise that resolves to the {@link ContractClassMetadata}.
|
321
|
+
* @see {@link AztecWalletMethodMap.aztec_getContractClassMetadata}
|
322
|
+
*/
|
323
|
+
getContractClassMetadata(id: Fr, includeArtifact?: boolean): Promise<ContractClassMetadata>;
|
324
|
+
/**
|
325
|
+
* Updates a contract's artifact by re-registering its class with the remote wallet via an RPC call.
|
326
|
+
* Implements {@link Wallet.updateContract}.
|
327
|
+
* @param _contractAddress - The {@link AztecAddress} of the contract to update (often unused if primarily updating the class).
|
328
|
+
* @param artifact - The new {@link ContractArtifact}.
|
329
|
+
* @returns A promise that resolves when the update is complete on the remote wallet.
|
330
|
+
* @see {@link AztecWalletMethodMap.aztec_registerContractClass} (as this is what it typically calls)
|
331
|
+
*/
|
332
|
+
updateContract(_contractAddress: AztecAddress, artifact: ContractArtifact): Promise<void>;
|
333
|
+
/**
|
334
|
+
* Retrieves a list of all contracts registered with the remote wallet via an RPC call.
|
335
|
+
* Implements {@link Wallet.getContracts}.
|
336
|
+
* @returns A promise that resolves to an array of {@link AztecAddress} objects for the contracts.
|
337
|
+
* @see {@link AztecWalletMethodMap.aztec_getContracts}
|
338
|
+
*/
|
339
|
+
getContracts(): Promise<AztecAddress[]>;
|
340
|
+
/**
|
341
|
+
* Executes a transaction based on a {@link ContractFunctionInteraction}.
|
342
|
+
* This WalletMesh-specific helper method simplifies sending a transaction by deriving
|
343
|
+
* the necessary {@link ExecutionPayload} from the interaction and making an RPC call
|
344
|
+
* to the `aztec_wmExecuteTx` method on the remote wallet.
|
345
|
+
* The remote wallet is expected to handle fee configuration, proof generation, and submission.
|
346
|
+
*
|
347
|
+
* @param interaction - The {@link ContractFunctionInteraction} representing the desired contract call.
|
348
|
+
* @returns A {@link SentTx} object that can be used to track the transaction.
|
349
|
+
* @see {@link AztecWalletMethodMap.aztec_wmExecuteTx}
|
350
|
+
*/
|
351
|
+
wmExecuteTx(interaction: ContractFunctionInteraction): Promise<SentTx>;
|
352
|
+
/**
|
353
|
+
* Simulates a transaction based on a {@link ContractFunctionInteraction}.
|
354
|
+
* This WalletMesh-specific helper method simplifies simulating a transaction by deriving
|
355
|
+
* the necessary {@link ExecutionPayload} from the interaction and making an RPC call
|
356
|
+
* to the `aztec_wmSimulateTx` method on the remote wallet.
|
357
|
+
*
|
358
|
+
* @param interaction - The {@link ContractFunctionInteraction} representing the desired contract call.
|
359
|
+
* @returns A promise that resolves to the {@link TxSimulationResult}.
|
360
|
+
* @remarks TODO(twt): This should return a more useful result, not the raw TxSimulationResult.
|
361
|
+
* Copying the logic from `aztec.js/src/contract/contract_function_interaction.ts`
|
362
|
+
* could work if we can get the Function ABI or maybe have `aztec_wmSimulateTx` return hints
|
363
|
+
* about how to interpret the result.
|
364
|
+
* @see {@link AztecWalletMethodMap.aztec_wmSimulateTx}
|
365
|
+
*/
|
366
|
+
wmSimulateTx(interaction: ContractFunctionInteraction): Promise<TxSimulationResult>;
|
367
|
+
/**
|
368
|
+
* Deploys a contract using its artifact and constructor arguments.
|
369
|
+
* This WalletMesh-specific helper method makes an RPC call to the `aztec_wmDeployContract`
|
370
|
+
* method on the remote wallet. The remote wallet handles the deployment process.
|
371
|
+
*
|
372
|
+
* @param artifact - The {@link ContractArtifact} of the contract to deploy.
|
373
|
+
* @param args - An array of arguments for the contract's constructor.
|
374
|
+
* @param constructorName - Optional name of the constructor function if the artifact has multiple.
|
375
|
+
* @returns A {@link DeploySentTx} object that can be used to track the deployment transaction
|
376
|
+
* and get the deployed contract instance.
|
377
|
+
* @see {@link AztecWalletMethodMap.aztec_wmDeployContract}
|
378
|
+
*/
|
379
|
+
deployContract(artifact: ContractArtifact, args: unknown[], constructorName?: string): Promise<DeploySentTx>;
|
380
|
+
}
|
381
|
+
/**
|
382
|
+
* Helper function to create and initialize an AztecDappWallet instance.
|
383
|
+
* This is the recommended way to instantiate an Aztec wallet for dApp use,
|
384
|
+
* as it ensures all necessary asynchronous setup (like fetching initial
|
385
|
+
* address and chain ID) is completed.
|
386
|
+
*
|
387
|
+
* @param provider - An {@link AztecRouterProvider} instance, which handles Aztec-specific type serialization.
|
388
|
+
* @param chainId - The Aztec chain ID (e.g., 'aztec:mainnet', 'aztec:31337') for the wallet. Defaults to 'aztec:mainnet'.
|
389
|
+
* @returns A promise that resolves to a fully initialized {@link AztecDappWallet} instance.
|
390
|
+
*
|
391
|
+
* @example
|
392
|
+
* ```typescript
|
393
|
+
* const dAppTransport = { send: ..., onMessage: ... }; // User-defined transport
|
394
|
+
* const provider = new AztecRouterProvider(dAppTransport);
|
395
|
+
* await provider.connect({ 'aztec:mainnet': ['aztec_getAddress'] }); // Connect first
|
396
|
+
* const wallet = await createAztecWallet(provider, 'aztec:mainnet');
|
397
|
+
* const address = wallet.getAddress(); // Now usable
|
398
|
+
* ```
|
399
|
+
*/
|
400
|
+
export declare function createAztecWallet(provider: AztecRouterProvider, chainId?: AztecChainId): Promise<AztecDappWallet>;
|
401
|
+
//# sourceMappingURL=aztec-dapp-wallet.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"aztec-dapp-wallet.d.ts","sourceRoot":"","sources":["../../src/client/aztec-dapp-wallet.ts"],"names":[],"mappings":"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"}
|