@walletmesh/aztec-rpc-wallet 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +201 -0
  3. package/README.md +260 -0
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/aztecRemoteWallet.d.ts +73 -0
  6. package/dist/aztecRemoteWallet.d.ts.map +1 -0
  7. package/dist/aztecRemoteWallet.js +354 -0
  8. package/dist/chainProvider.d.ts +56 -0
  9. package/dist/chainProvider.d.ts.map +1 -0
  10. package/dist/chainProvider.js +98 -0
  11. package/dist/contractArtifactCache.d.ts +50 -0
  12. package/dist/contractArtifactCache.d.ts.map +1 -0
  13. package/dist/contractArtifactCache.js +66 -0
  14. package/dist/errors.d.ts +50 -0
  15. package/dist/errors.d.ts.map +1 -0
  16. package/dist/errors.js +62 -0
  17. package/dist/handlers/aztecAccountWallet.d.ts +4 -0
  18. package/dist/handlers/aztecAccountWallet.d.ts.map +1 -0
  19. package/dist/handlers/aztecAccountWallet.js +329 -0
  20. package/dist/handlers/transactions.d.ts +21 -0
  21. package/dist/handlers/transactions.d.ts.map +1 -0
  22. package/dist/handlers/transactions.js +90 -0
  23. package/dist/handlers.d.ts +27 -0
  24. package/dist/handlers.d.ts.map +1 -0
  25. package/dist/handlers.js +55 -0
  26. package/dist/index.d.ts +58 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.js +33 -0
  29. package/dist/provider.d.ts +105 -0
  30. package/dist/provider.d.ts.map +1 -0
  31. package/dist/provider.js +160 -0
  32. package/dist/serializers/account.d.ts +167 -0
  33. package/dist/serializers/account.d.ts.map +1 -0
  34. package/dist/serializers/account.js +245 -0
  35. package/dist/serializers/contract-utils.d.ts +40 -0
  36. package/dist/serializers/contract-utils.d.ts.map +1 -0
  37. package/dist/serializers/contract-utils.js +102 -0
  38. package/dist/serializers/contract.d.ts +168 -0
  39. package/dist/serializers/contract.d.ts.map +1 -0
  40. package/dist/serializers/contract.js +268 -0
  41. package/dist/serializers/core.d.ts +110 -0
  42. package/dist/serializers/core.d.ts.map +1 -0
  43. package/dist/serializers/core.js +130 -0
  44. package/dist/serializers/index.d.ts +28 -0
  45. package/dist/serializers/index.d.ts.map +1 -0
  46. package/dist/serializers/index.js +159 -0
  47. package/dist/serializers/log.d.ts +113 -0
  48. package/dist/serializers/log.d.ts.map +1 -0
  49. package/dist/serializers/log.js +231 -0
  50. package/dist/serializers/note.d.ts +127 -0
  51. package/dist/serializers/note.d.ts.map +1 -0
  52. package/dist/serializers/note.js +182 -0
  53. package/dist/serializers/transaction-utils.d.ts +107 -0
  54. package/dist/serializers/transaction-utils.d.ts.map +1 -0
  55. package/dist/serializers/transaction-utils.js +130 -0
  56. package/dist/serializers/transaction.d.ts +103 -0
  57. package/dist/serializers/transaction.d.ts.map +1 -0
  58. package/dist/serializers/transaction.js +238 -0
  59. package/dist/serializers/types.d.ts +49 -0
  60. package/dist/serializers/types.d.ts.map +1 -0
  61. package/dist/serializers/types.js +22 -0
  62. package/dist/types.d.ts +391 -0
  63. package/dist/types.d.ts.map +1 -0
  64. package/dist/types.js +8 -0
  65. package/dist/wallet.d.ts +62 -0
  66. package/dist/wallet.d.ts.map +1 -0
  67. package/dist/wallet.js +77 -0
  68. package/package.json +44 -0
  69. package/src/aztecRemoteWallet.test.ts +542 -0
  70. package/src/aztecRemoteWallet.ts +484 -0
  71. package/src/chainProvider.test.ts +322 -0
  72. package/src/chainProvider.ts +122 -0
  73. package/src/contractArtifactCache.test.ts +126 -0
  74. package/src/contractArtifactCache.ts +75 -0
  75. package/src/errors.ts +71 -0
  76. package/src/handlers/aztecAccountWallet.test.ts +720 -0
  77. package/src/handlers/aztecAccountWallet.ts +593 -0
  78. package/src/handlers/transactions.ts +110 -0
  79. package/src/handlers.test.ts +270 -0
  80. package/src/handlers.ts +70 -0
  81. package/src/index.test.ts +23 -0
  82. package/src/index.ts +64 -0
  83. package/src/provider.test.ts +276 -0
  84. package/src/provider.ts +189 -0
  85. package/src/serializers/account.test.ts +125 -0
  86. package/src/serializers/account.ts +319 -0
  87. package/src/serializers/contract-utils.ts +104 -0
  88. package/src/serializers/contract.test.ts +162 -0
  89. package/src/serializers/contract.ts +350 -0
  90. package/src/serializers/core.test.ts +56 -0
  91. package/src/serializers/core.ts +141 -0
  92. package/src/serializers/index.test.ts +122 -0
  93. package/src/serializers/index.ts +213 -0
  94. package/src/serializers/log.test.ts +119 -0
  95. package/src/serializers/log.ts +283 -0
  96. package/src/serializers/note.test.ts +100 -0
  97. package/src/serializers/note.ts +227 -0
  98. package/src/serializers/transaction-utils.ts +237 -0
  99. package/src/serializers/transaction.test.ts +153 -0
  100. package/src/serializers/transaction.ts +342 -0
  101. package/src/serializers/types.ts +58 -0
  102. package/src/types.ts +295 -0
  103. package/src/wallet.test.ts +275 -0
  104. package/src/wallet.ts +94 -0
  105. package/tsconfig.build.json +6 -0
  106. package/tsconfig.json +11 -0
  107. package/typedoc.json +15 -0
  108. package/vitest.config.ts +10 -0
@@ -0,0 +1,391 @@
1
+ import type { AuthWitness, AztecAddress, ContractArtifact, ContractClassWithId, ContractInstanceWithAddress, ExtendedNote, Fr, PXE, TxExecutionRequest, TxHash, TxReceipt, L2Block, LogFilter, Point, SiblingPath, PartialAddress, CompleteAddress, NodeInfo, AccountWallet, Tx } from '@aztec/aztec.js';
2
+ import type { IntentAction, IntentInnerHash } from '@aztec/aztec.js/utils';
3
+ import type { ExecutionRequestInit } from '@aztec/aztec.js/entrypoint';
4
+ import type { AbiDecoded } from '@aztec/foundation/abi';
5
+ import type { InBlock, IncomingNotesFilter, EventMetadataDefinition, PrivateExecutionResult, TxEffect, TxProvingResult, UniqueNote, GetUnencryptedLogsResponse, PXEInfo, TxSimulationResult } from '@aztec/circuit-types';
6
+ import type { GasFees, L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
7
+ import type { JSONRPCEventMap, JSONRPCMiddleware } from '@walletmesh/jsonrpc';
8
+ import type { JSONRPCWalletClient, WalletMethodMap } from '@walletmesh/router';
9
+ import type { ContractArtifactCache } from './contractArtifactCache.js';
10
+ /**
11
+ * Represents a single function call to a contract.
12
+ * @public
13
+ */
14
+ export type TransactionFunctionCall = {
15
+ /** The address of the contract to interact with */
16
+ contractAddress: string;
17
+ /** The name of the function to call */
18
+ functionName: string;
19
+ /** The arguments to pass to the function */
20
+ args: unknown[];
21
+ };
22
+ /**
23
+ * Parameters for sending transactions.
24
+ * @public
25
+ */
26
+ export type TransactionParams = {
27
+ /** Array of function calls to execute */
28
+ functionCalls: TransactionFunctionCall[];
29
+ /** Optional array of authorization witnesses for the transaction */
30
+ authwits?: string[];
31
+ };
32
+ export declare const BASE_WALLET_METHODS: (keyof AztecWalletBaseMethodMap)[];
33
+ /**
34
+ * A mapping of JSON-RPC methods to their parameters and return types for Aztec Wallets.
35
+ *
36
+ * This extends the base WalletMethodMap with Aztec-specific methods.
37
+ * @public
38
+ */
39
+ export interface AztecWalletBaseMethodMap extends WalletMethodMap {
40
+ /**
41
+ * Connects to the Aztec network.
42
+ * @returns A boolean indicating if the connection was successful
43
+ */
44
+ aztec_connect: {
45
+ result: boolean;
46
+ };
47
+ /**
48
+ * Gets the account address from the wallet.
49
+ * @returns The account address as a string
50
+ */
51
+ aztec_getAccount: {
52
+ result: string;
53
+ };
54
+ /**
55
+ * Sends transactions to the Aztec network.
56
+ * @param params - The transactions to execute and optional authorization witnesses
57
+ * @returns The transaction hash as a string
58
+ */
59
+ aztec_sendTransaction: {
60
+ params: TransactionParams;
61
+ result: string;
62
+ };
63
+ /**
64
+ * Simulates a transaction without executing it.
65
+ * @param params - The transaction to simulate
66
+ * @returns The simulation result
67
+ */
68
+ aztec_simulateTransaction: {
69
+ params: TransactionFunctionCall;
70
+ result: unknown;
71
+ };
72
+ /**
73
+ * Returns the list of supported methods for the wallet.
74
+ * @returns An array of supported methods
75
+ */
76
+ wm_getSupportedMethods: {
77
+ result: string[];
78
+ };
79
+ }
80
+ export interface AztecWalletEventMap extends JSONRPCEventMap {
81
+ }
82
+ /**
83
+ * Holds the context passed through RPC middleware.
84
+ * @public
85
+ */
86
+ export type AztecWalletContext = Record<string, unknown> & {
87
+ /** The PXE instance for the wallet */
88
+ pxe: PXE;
89
+ wallet: AccountWallet;
90
+ contractArtifactCache: ContractArtifactCache;
91
+ };
92
+ /**
93
+ * Type for Aztec Router Wallet middleware.
94
+ * @public
95
+ */
96
+ export type AztecWalletMiddleware = JSONRPCMiddleware<AztecWalletBaseMethodMap, AztecWalletContext>;
97
+ /**
98
+ * Type for Aztec Chain Wallet middleware.
99
+ */
100
+ export type AztecChainWalletMiddleware = JSONRPCMiddleware<AztecWalletMethodMap, AztecWalletContext>;
101
+ /**
102
+ * Type for Aztec wallet router client.
103
+ * @public
104
+ */
105
+ export type AztecWalletRouterClient = JSONRPCWalletClient<AztecWalletMethodMap>;
106
+ /**
107
+ * Type for Aztec wallet RPC method map.
108
+ * This extends the AztecWalletBaseMethodMap with the methods used in by Aztec's `AccountWallet`
109
+ */
110
+ export interface AztecWalletMethodMap extends AztecWalletBaseMethodMap {
111
+ aztec_getBlock: {
112
+ params: {
113
+ number: number;
114
+ };
115
+ result: L2Block;
116
+ };
117
+ aztec_getBlockNumber: {
118
+ result: number;
119
+ };
120
+ aztec_getChainId: {
121
+ result: number;
122
+ };
123
+ aztec_getVersion: {
124
+ result: number;
125
+ };
126
+ aztec_getNodeInfo: {
127
+ result: NodeInfo;
128
+ };
129
+ aztec_getProvenBlockNumber: {
130
+ result: number;
131
+ };
132
+ aztec_getPXEInfo: {
133
+ result: PXEInfo;
134
+ };
135
+ aztec_getCurrentBaseFees: {
136
+ result: GasFees;
137
+ };
138
+ aztec_setScopes: {
139
+ params: {
140
+ scopes: AztecAddress[];
141
+ };
142
+ result: boolean;
143
+ };
144
+ aztec_getScopes: {
145
+ result: AztecAddress[];
146
+ };
147
+ aztec_isL1ToL2MessageSynced: {
148
+ params: {
149
+ l1ToL2Message: Fr;
150
+ };
151
+ result: boolean;
152
+ };
153
+ aztec_getL1ToL2MembershipWitness: {
154
+ params: {
155
+ contractAddress: AztecAddress;
156
+ messageHash: Fr;
157
+ secret: Fr;
158
+ };
159
+ result: [bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>];
160
+ };
161
+ aztec_addCapsule: {
162
+ params: {
163
+ capsule: Fr[];
164
+ };
165
+ result: boolean;
166
+ };
167
+ aztec_getAddress: {
168
+ result: AztecAddress;
169
+ };
170
+ aztec_getCompleteAddress: {
171
+ result: CompleteAddress;
172
+ };
173
+ aztec_registerAccount: {
174
+ params: {
175
+ secretKey: Fr;
176
+ partialAddress: PartialAddress;
177
+ };
178
+ result: CompleteAddress;
179
+ };
180
+ aztec_getRegisteredAccounts: {
181
+ result: CompleteAddress[];
182
+ };
183
+ aztec_addAuthWitness: {
184
+ params: {
185
+ authWitness: AuthWitness;
186
+ };
187
+ result: boolean;
188
+ };
189
+ aztec_getAuthWitness: {
190
+ params: {
191
+ messageHash: Fr;
192
+ };
193
+ result: Fr[];
194
+ };
195
+ aztec_createAuthWit: {
196
+ params: {
197
+ intent: Fr | Buffer | IntentAction | IntentInnerHash;
198
+ };
199
+ result: AuthWitness;
200
+ };
201
+ /**
202
+ * Registers a contact in the user's PXE
203
+ * @param params - The sender (contact) address to register
204
+ * @returns True if registration was successful
205
+ */
206
+ aztec_registerSender: {
207
+ params: {
208
+ sender: AztecAddress;
209
+ };
210
+ result: AztecAddress;
211
+ };
212
+ aztec_getSenders: {
213
+ result: AztecAddress[];
214
+ };
215
+ aztec_removeSender: {
216
+ params: {
217
+ sender: AztecAddress;
218
+ };
219
+ result: boolean;
220
+ };
221
+ aztec_getContracts: {
222
+ result: AztecAddress[];
223
+ };
224
+ aztec_getContractInstance: {
225
+ params: {
226
+ address: AztecAddress;
227
+ };
228
+ result: ContractInstanceWithAddress;
229
+ };
230
+ aztec_getContractClass: {
231
+ params: {
232
+ id: Fr;
233
+ };
234
+ result: ContractClassWithId;
235
+ };
236
+ aztec_getContractArtifact: {
237
+ params: {
238
+ id: Fr;
239
+ };
240
+ result: ContractArtifact;
241
+ };
242
+ aztec_isContractClassPubliclyRegistered: {
243
+ params: {
244
+ id: Fr;
245
+ };
246
+ result: boolean;
247
+ };
248
+ aztec_isContractPubliclyDeployed: {
249
+ params: {
250
+ address: AztecAddress;
251
+ };
252
+ result: boolean;
253
+ };
254
+ aztec_isContractInitialized: {
255
+ params: {
256
+ address: AztecAddress;
257
+ };
258
+ result: boolean;
259
+ };
260
+ /**
261
+ * Registers a contract instance in the user's PXE.
262
+ * @param params - The contract details to register
263
+ * @returns True if registration was successful
264
+ */
265
+ aztec_registerContract: {
266
+ params: {
267
+ instance: ContractInstanceWithAddress;
268
+ artifact?: ContractArtifact;
269
+ };
270
+ result: boolean;
271
+ };
272
+ /**
273
+ * Registers a contract class in the user's PXE.
274
+ * @param params - The contract artifact to register
275
+ * @returns True if registration was successful
276
+ */
277
+ aztec_registerContractClass: {
278
+ params: {
279
+ artifact: ContractArtifact;
280
+ };
281
+ result: boolean;
282
+ };
283
+ aztec_getPublicStorageAt: {
284
+ params: {
285
+ contract: AztecAddress;
286
+ storageSlot: Fr;
287
+ };
288
+ result: any;
289
+ };
290
+ aztec_sendTx: {
291
+ params: {
292
+ tx: Tx;
293
+ };
294
+ result: TxHash;
295
+ };
296
+ aztec_createTxExecutionRequest: {
297
+ params: {
298
+ exec: ExecutionRequestInit;
299
+ };
300
+ result: TxExecutionRequest;
301
+ };
302
+ aztec_proveTx: {
303
+ params: {
304
+ txRequest: TxExecutionRequest;
305
+ privateExecutionResult: PrivateExecutionResult;
306
+ };
307
+ result: TxProvingResult;
308
+ };
309
+ aztec_getTxEffect: {
310
+ params: {
311
+ txHash: TxHash;
312
+ };
313
+ result: InBlock<TxEffect>;
314
+ };
315
+ aztec_getTxReceipt: {
316
+ params: {
317
+ txHash: TxHash;
318
+ };
319
+ result: TxReceipt;
320
+ };
321
+ aztec_simulateTx: {
322
+ params: {
323
+ txRequest: TxExecutionRequest;
324
+ simulatePublic: boolean;
325
+ msgSender?: AztecAddress;
326
+ skipTxValidation?: boolean;
327
+ enforceFeePayment?: boolean;
328
+ profile?: boolean;
329
+ };
330
+ result: TxSimulationResult;
331
+ };
332
+ aztec_simulateUnconstrained: {
333
+ params: {
334
+ functionName: string;
335
+ args: unknown[];
336
+ to: AztecAddress;
337
+ from?: AztecAddress;
338
+ };
339
+ result: AbiDecoded;
340
+ };
341
+ aztec_getIncomingNotes: {
342
+ params: {
343
+ filter: IncomingNotesFilter;
344
+ };
345
+ result: UniqueNote[];
346
+ };
347
+ aztec_addNote: {
348
+ params: {
349
+ note: ExtendedNote;
350
+ };
351
+ result: boolean;
352
+ };
353
+ aztec_addNullifiedNote: {
354
+ params: {
355
+ note: ExtendedNote;
356
+ };
357
+ result: boolean;
358
+ };
359
+ aztec_getUnencryptedLogs: {
360
+ params: {
361
+ filter: LogFilter;
362
+ };
363
+ result: GetUnencryptedLogsResponse;
364
+ };
365
+ aztec_getContractClassLogs: {
366
+ params: {
367
+ filter: LogFilter;
368
+ };
369
+ result: GetUnencryptedLogsResponse;
370
+ };
371
+ aztec_getEncryptedEvents: {
372
+ params: {
373
+ event: EventMetadataDefinition;
374
+ from: number;
375
+ limit: number;
376
+ vpks?: Point[];
377
+ };
378
+ result: unknown[];
379
+ };
380
+ aztec_getUnencryptedEvents: {
381
+ params: {
382
+ event: EventMetadataDefinition;
383
+ from: number;
384
+ limit: number;
385
+ };
386
+ result: unknown[];
387
+ };
388
+ }
389
+ export type AztecWalletMethodHandler<T extends AztecWalletMethodMap, M extends keyof T, C extends AztecWalletContext> = (context: C, params: T[M]['params'], accountWallet: AccountWallet) => Promise<T[M]['result']> | T[M]['result'];
390
+ export type AztecChainId = `aztec:${string}`;
391
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,8 @@
1
+ export const BASE_WALLET_METHODS = [
2
+ 'wm_getSupportedMethods',
3
+ 'aztec_connect',
4
+ 'aztec_getAccount',
5
+ 'aztec_sendTransaction',
6
+ 'aztec_simulateTransaction',
7
+ ];
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0VBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF1QztJQUNyRSx3QkFBd0I7SUFDeEIsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsMkJBQTJCO0NBQ25CLENBQUMifQ==
@@ -0,0 +1,62 @@
1
+ import type { AccountWallet, PXE } from '@aztec/aztec.js';
2
+ import { JSONRPCNode, type JSONRPCTransport } from '@walletmesh/jsonrpc';
3
+ import type { AztecWalletMethodMap, AztecWalletContext, AztecWalletEventMap, AztecWalletRouterClient } from './types.js';
4
+ /**
5
+ * @module wallet
6
+ *
7
+ * This module provides the server-side implementation of the Aztec RPC interface.
8
+ * It handles incoming RPC requests from dApps and executes them using an Aztec wallet instance.
9
+ */
10
+ /**
11
+ * JSON-RPC interface implementation for an Aztec Wallet.
12
+ *
13
+ * This class provides the core wallet functionality exposed through JSON-RPC:
14
+ * - Handles incoming RPC requests from dApps
15
+ * - Manages wallet state and context
16
+ * - Executes operations through the underlying Aztec wallet
17
+ * - Serializes responses back to JSON-RPC format
18
+ *
19
+ * The wallet supports operations like:
20
+ * - Account management
21
+ * - Transaction execution
22
+ * - Contract interaction
23
+ * - Note management
24
+ * - Event logging
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Create wallet instance
29
+ * const wallet = new AztecChainWallet(aztecWallet, transport);
30
+ *
31
+ * // Handle incoming RPC requests
32
+ * transport.on('message', async (request) => {
33
+ * const response = await wallet.handleRequest(request);
34
+ * // Send response back to dApp
35
+ * });
36
+ * ```
37
+ *
38
+ * @public
39
+ */
40
+ export declare class AztecChainWallet extends JSONRPCNode<AztecWalletMethodMap, AztecWalletEventMap, AztecWalletContext> {
41
+ /**
42
+ * Creates a new AztecWallet instance.
43
+ *
44
+ * @param pxe - The PXE instance for the Aztec protocol
45
+ * @param wallet - The underlying Aztec wallet instance that executes operations
46
+ * @param transport - Transport layer for sending/receiving JSON-RPC messages
47
+ *
48
+ * The wallet instance sets up:
49
+ * - Contract artifact caching
50
+ * - Default request handlers
51
+ * - Custom serialization for Aztec types
52
+ */
53
+ constructor(pxe: PXE, wallet: AccountWallet, transport: JSONRPCTransport);
54
+ /**
55
+ * Creates a client wrapper for use with WalletMesh router.
56
+ * This enables the wallet to be used as a client in a routing setup.
57
+ *
58
+ * @returns Client interface for the wallet
59
+ */
60
+ asWalletRouterClient(): AztecWalletRouterClient;
61
+ }
62
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAMpB;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,gBAAiB,SAAQ,WAAW,CAC/C,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,CACnB;IACC;;;;;;;;;;;OAWG;gBACS,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB;IAcxE;;;;;OAKG;IACH,oBAAoB,IAAI,uBAAuB;CAGhD"}
package/dist/wallet.js ADDED
@@ -0,0 +1,77 @@
1
+ import { JSONRPCNode } from '@walletmesh/jsonrpc';
2
+ import { JSONRPCWalletClient } from '@walletmesh/router';
3
+ import { AztecWalletSerializer } from './serializers/index.js';
4
+ import { ContractArtifactCache } from './contractArtifactCache.js';
5
+ import { handler } from './handlers.js';
6
+ /**
7
+ * @module wallet
8
+ *
9
+ * This module provides the server-side implementation of the Aztec RPC interface.
10
+ * It handles incoming RPC requests from dApps and executes them using an Aztec wallet instance.
11
+ */
12
+ /**
13
+ * JSON-RPC interface implementation for an Aztec Wallet.
14
+ *
15
+ * This class provides the core wallet functionality exposed through JSON-RPC:
16
+ * - Handles incoming RPC requests from dApps
17
+ * - Manages wallet state and context
18
+ * - Executes operations through the underlying Aztec wallet
19
+ * - Serializes responses back to JSON-RPC format
20
+ *
21
+ * The wallet supports operations like:
22
+ * - Account management
23
+ * - Transaction execution
24
+ * - Contract interaction
25
+ * - Note management
26
+ * - Event logging
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * // Create wallet instance
31
+ * const wallet = new AztecChainWallet(aztecWallet, transport);
32
+ *
33
+ * // Handle incoming RPC requests
34
+ * transport.on('message', async (request) => {
35
+ * const response = await wallet.handleRequest(request);
36
+ * // Send response back to dApp
37
+ * });
38
+ * ```
39
+ *
40
+ * @public
41
+ */
42
+ export class AztecChainWallet extends JSONRPCNode {
43
+ /**
44
+ * Creates a new AztecWallet instance.
45
+ *
46
+ * @param pxe - The PXE instance for the Aztec protocol
47
+ * @param wallet - The underlying Aztec wallet instance that executes operations
48
+ * @param transport - Transport layer for sending/receiving JSON-RPC messages
49
+ *
50
+ * The wallet instance sets up:
51
+ * - Contract artifact caching
52
+ * - Default request handlers
53
+ * - Custom serialization for Aztec types
54
+ */
55
+ constructor(pxe, wallet, transport) {
56
+ const context = {
57
+ pxe,
58
+ wallet,
59
+ contractArtifactCache: new ContractArtifactCache(wallet),
60
+ };
61
+ super(transport, context);
62
+ this.setFallbackHandler(async (handlerContext, method, params) => {
63
+ return await handler(handlerContext, method, params);
64
+ });
65
+ this.setFallbackSerializer(AztecWalletSerializer);
66
+ }
67
+ /**
68
+ * Creates a client wrapper for use with WalletMesh router.
69
+ * This enables the wallet to be used as a client in a routing setup.
70
+ *
71
+ * @returns Client interface for the wallet
72
+ */
73
+ asWalletRouterClient() {
74
+ return new JSONRPCWalletClient(this);
75
+ }
76
+ }
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUF5QixNQUFNLHFCQUFxQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBUXpELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEM7Ozs7O0dBS0c7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FJckM7SUFDQzs7Ozs7Ozs7Ozs7T0FXRztJQUNILFlBQVksR0FBUSxFQUFFLE1BQXFCLEVBQUUsU0FBMkI7UUFDdEUsTUFBTSxPQUFPLEdBQXVCO1lBQ2xDLEdBQUc7WUFDSCxNQUFNO1lBQ04scUJBQXFCLEVBQUUsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7U0FDekQsQ0FBQztRQUNGLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxjQUFrQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuRixPQUFPLE1BQU0sT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiJ9
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@walletmesh/aztec-rpc-wallet",
3
+ "version": "0.1.0",
4
+ "description": "",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/WalletMesh/aztec.git"
14
+ },
15
+ "homepage": "https://github.com/WalletMesh/aztec/tree/main/packages/aztec-rpc-wallet#readme",
16
+ "keywords": [],
17
+ "author": "",
18
+ "license": "Apache-2.0",
19
+ "devDependencies": {
20
+ "typedoc": "^0.27.2",
21
+ "typedoc-plugin-markdown": "^4.3.1"
22
+ },
23
+ "dependencies": {
24
+ "@aztec/aztec.js": "0.68.2",
25
+ "@aztec/circuit-types": "0.68.2",
26
+ "@aztec/circuits.js": "^0.68.2",
27
+ "@aztec/foundation": "0.68.2",
28
+ "@walletmesh/jsonrpc": "0.2.2",
29
+ "@walletmesh/router": "0.2.7"
30
+ },
31
+ "scripts": {
32
+ "build": "tsc --build tsconfig.build.json",
33
+ "clean": "rimraf dist node_modules",
34
+ "type-check": "tsc --noEmit",
35
+ "test": "vitest run",
36
+ "coverage": "vitest run --coverage",
37
+ "lint": "biome lint",
38
+ "lint:fix": "biome lint --fix",
39
+ "format": "biome format",
40
+ "format:fix": "biome format --fix",
41
+ "doc": "typedoc",
42
+ "version": "pnpm clean && pnpm build && pnpm doc && git add docs/"
43
+ }
44
+ }