@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.
Files changed (185) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +290 -228
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/client/aztec-dapp-wallet.d.ts +401 -0
  5. package/dist/client/aztec-dapp-wallet.d.ts.map +1 -0
  6. package/dist/client/aztec-dapp-wallet.js +705 -0
  7. package/dist/client/aztec-router-provider.d.ts +58 -0
  8. package/dist/client/aztec-router-provider.d.ts.map +1 -0
  9. package/dist/client/aztec-router-provider.js +62 -0
  10. package/dist/client/helpers.d.ts +44 -0
  11. package/dist/client/helpers.d.ts.map +1 -0
  12. package/dist/client/helpers.js +79 -0
  13. package/dist/client/register-serializers.d.ts +41 -0
  14. package/dist/client/register-serializers.d.ts.map +1 -0
  15. package/dist/client/register-serializers.js +97 -0
  16. package/dist/contractArtifactCache.d.ts +49 -32
  17. package/dist/contractArtifactCache.d.ts.map +1 -1
  18. package/dist/contractArtifactCache.js +47 -34
  19. package/dist/errors.d.ts +50 -8
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +50 -10
  22. package/dist/index.d.ts +53 -40
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +52 -17
  25. package/dist/types.d.ts +345 -268
  26. package/dist/types.d.ts.map +1 -1
  27. package/dist/types.js +10 -8
  28. package/dist/wallet/create-node.d.ts +73 -0
  29. package/dist/wallet/create-node.d.ts.map +1 -0
  30. package/dist/wallet/create-node.js +99 -0
  31. package/dist/wallet/handlers/account.d.ts +67 -0
  32. package/dist/wallet/handlers/account.d.ts.map +1 -0
  33. package/dist/wallet/handlers/account.js +85 -0
  34. package/dist/wallet/handlers/contract-interaction.d.ts +77 -0
  35. package/dist/wallet/handlers/contract-interaction.d.ts.map +1 -0
  36. package/dist/wallet/handlers/contract-interaction.js +219 -0
  37. package/dist/wallet/handlers/contract.d.ts +96 -0
  38. package/dist/wallet/handlers/contract.d.ts.map +1 -0
  39. package/dist/wallet/handlers/contract.js +146 -0
  40. package/dist/wallet/handlers/event.d.ts +62 -0
  41. package/dist/wallet/handlers/event.d.ts.map +1 -0
  42. package/dist/wallet/handlers/event.js +85 -0
  43. package/dist/wallet/handlers/index.d.ts +88 -0
  44. package/dist/wallet/handlers/index.d.ts.map +1 -0
  45. package/dist/wallet/handlers/index.js +47 -0
  46. package/dist/wallet/handlers/node.d.ts +117 -0
  47. package/dist/wallet/handlers/node.d.ts.map +1 -0
  48. package/dist/wallet/handlers/node.js +196 -0
  49. package/dist/wallet/handlers/senders.d.ts +70 -0
  50. package/dist/wallet/handlers/senders.d.ts.map +1 -0
  51. package/dist/wallet/handlers/senders.js +92 -0
  52. package/dist/wallet/handlers/transaction.d.ts +123 -0
  53. package/dist/wallet/handlers/transaction.d.ts.map +1 -0
  54. package/dist/wallet/handlers/transaction.js +191 -0
  55. package/dist/wallet/serializers.d.ts +75 -0
  56. package/dist/wallet/serializers.d.ts.map +1 -0
  57. package/dist/wallet/serializers.js +501 -0
  58. package/docs/README.md +290 -229
  59. package/docs/classes/AztecDappWallet.md +1304 -0
  60. package/docs/classes/AztecRouterProvider.md +1058 -0
  61. package/docs/classes/AztecWalletError.md +124 -47
  62. package/docs/classes/ContractArtifactCache.md +48 -31
  63. package/docs/functions/connectAztec.md +62 -0
  64. package/docs/functions/createAztecWallet.md +46 -0
  65. package/docs/functions/createAztecWalletNode.md +96 -0
  66. package/docs/functions/registerAztecSerializers.md +61 -0
  67. package/docs/functions/registerWalletAztecSerializers.md +39 -0
  68. package/docs/globals.md +16 -14
  69. package/docs/interfaces/AztecHandlerContext.md +54 -0
  70. package/docs/interfaces/AztecWalletContext.md +50 -0
  71. package/docs/interfaces/AztecWalletMethodMap.md +471 -470
  72. package/docs/type-aliases/AztecChainId.md +16 -3
  73. package/docs/variables/ALL_AZTEC_METHODS.md +20 -0
  74. package/docs/variables/AztecWalletErrorMap.md +9 -4
  75. package/docs/variables/AztecWalletSerializer.md +45 -0
  76. package/package.json +9 -9
  77. package/src/client/aztec-dapp-wallet.test.ts +628 -0
  78. package/src/client/aztec-dapp-wallet.ts +879 -0
  79. package/src/client/aztec-router-provider.test.ts +235 -0
  80. package/src/client/aztec-router-provider.ts +64 -0
  81. package/src/client/helpers.test.ts +187 -0
  82. package/src/client/helpers.ts +91 -0
  83. package/src/client/register-serializers.ts +108 -0
  84. package/src/contractArtifactCache.test.ts +21 -10
  85. package/src/contractArtifactCache.ts +54 -35
  86. package/src/errors.ts +58 -10
  87. package/src/index.test.ts +2 -6
  88. package/src/index.ts +73 -37
  89. package/src/types.ts +379 -217
  90. package/src/wallet/create-node.test.ts +332 -0
  91. package/src/wallet/create-node.ts +120 -0
  92. package/src/wallet/handlers/account.test.ts +172 -0
  93. package/src/wallet/handlers/account.ts +99 -0
  94. package/src/wallet/handlers/contract-interaction.test.ts +248 -0
  95. package/src/wallet/handlers/contract-interaction.ts +269 -0
  96. package/src/wallet/handlers/contract.test.ts +245 -0
  97. package/src/wallet/handlers/contract.ts +174 -0
  98. package/src/wallet/handlers/event.test.ts +216 -0
  99. package/src/wallet/handlers/event.ts +99 -0
  100. package/src/wallet/handlers/index.ts +84 -0
  101. package/src/wallet/handlers/node.test.ts +304 -0
  102. package/src/wallet/handlers/node.ts +230 -0
  103. package/src/wallet/handlers/senders.test.ts +172 -0
  104. package/src/wallet/handlers/senders.ts +106 -0
  105. package/src/wallet/handlers/transaction.test.ts +371 -0
  106. package/src/wallet/handlers/transaction.ts +239 -0
  107. package/src/wallet/serializers.test.ts +253 -0
  108. package/src/wallet/serializers.ts +586 -0
  109. package/typedoc.json +23 -1
  110. package/dist/aztecRemoteWallet.d.ts +0 -70
  111. package/dist/aztecRemoteWallet.d.ts.map +0 -1
  112. package/dist/aztecRemoteWallet.js +0 -335
  113. package/dist/chainProvider.d.ts +0 -56
  114. package/dist/chainProvider.d.ts.map +0 -1
  115. package/dist/chainProvider.js +0 -98
  116. package/dist/handlers/aztecAccountWallet.d.ts +0 -4
  117. package/dist/handlers/aztecAccountWallet.d.ts.map +0 -1
  118. package/dist/handlers/aztecAccountWallet.js +0 -296
  119. package/dist/handlers/transactions.d.ts +0 -21
  120. package/dist/handlers/transactions.d.ts.map +0 -1
  121. package/dist/handlers/transactions.js +0 -98
  122. package/dist/handlers.d.ts +0 -27
  123. package/dist/handlers.d.ts.map +0 -1
  124. package/dist/handlers.js +0 -55
  125. package/dist/provider.d.ts +0 -105
  126. package/dist/provider.d.ts.map +0 -1
  127. package/dist/provider.js +0 -160
  128. package/dist/serializers/account.d.ts +0 -164
  129. package/dist/serializers/account.d.ts.map +0 -1
  130. package/dist/serializers/account.js +0 -244
  131. package/dist/serializers/contract.d.ts +0 -62
  132. package/dist/serializers/contract.d.ts.map +0 -1
  133. package/dist/serializers/contract.js +0 -130
  134. package/dist/serializers/index.d.ts +0 -21
  135. package/dist/serializers/index.d.ts.map +0 -1
  136. package/dist/serializers/index.js +0 -154
  137. package/dist/serializers/log.d.ts +0 -66
  138. package/dist/serializers/log.d.ts.map +0 -1
  139. package/dist/serializers/log.js +0 -222
  140. package/dist/serializers/note.d.ts +0 -124
  141. package/dist/serializers/note.d.ts.map +0 -1
  142. package/dist/serializers/note.js +0 -208
  143. package/dist/serializers/transaction.d.ts +0 -99
  144. package/dist/serializers/transaction.d.ts.map +0 -1
  145. package/dist/serializers/transaction.js +0 -275
  146. package/dist/wallet.d.ts +0 -62
  147. package/dist/wallet.d.ts.map +0 -1
  148. package/dist/wallet.js +0 -77
  149. package/docs/classes/AztecChainProvider.md +0 -553
  150. package/docs/classes/AztecChainWallet.md +0 -409
  151. package/docs/classes/AztecProvider.md +0 -1112
  152. package/docs/interfaces/AztecWalletBaseMethodMap.md +0 -135
  153. package/docs/interfaces/AztecWalletEventMap.md +0 -17
  154. package/docs/type-aliases/AztecChainWalletMiddleware.md +0 -13
  155. package/docs/type-aliases/AztecWalletContext.md +0 -29
  156. package/docs/type-aliases/AztecWalletMethodHandler.md +0 -37
  157. package/docs/type-aliases/AztecWalletMiddleware.md +0 -13
  158. package/docs/type-aliases/AztecWalletRouterClient.md +0 -13
  159. package/docs/type-aliases/TransactionFunctionCall.md +0 -33
  160. package/docs/type-aliases/TransactionParams.md +0 -27
  161. package/src/aztecRemoteWallet.test.ts +0 -504
  162. package/src/aztecRemoteWallet.ts +0 -467
  163. package/src/chainProvider.test.ts +0 -401
  164. package/src/chainProvider.ts +0 -116
  165. package/src/handlers/aztecAccountWallet.test.ts +0 -649
  166. package/src/handlers/aztecAccountWallet.ts +0 -532
  167. package/src/handlers/transactions.ts +0 -124
  168. package/src/handlers.test.ts +0 -270
  169. package/src/handlers.ts +0 -70
  170. package/src/provider.test.ts +0 -274
  171. package/src/provider.ts +0 -189
  172. package/src/serializers/account.test.ts +0 -125
  173. package/src/serializers/account.ts +0 -301
  174. package/src/serializers/contract.test.ts +0 -24
  175. package/src/serializers/contract.ts +0 -183
  176. package/src/serializers/index.test.ts +0 -136
  177. package/src/serializers/index.ts +0 -191
  178. package/src/serializers/log.test.ts +0 -286
  179. package/src/serializers/log.ts +0 -292
  180. package/src/serializers/note.test.ts +0 -125
  181. package/src/serializers/note.ts +0 -250
  182. package/src/serializers/transaction.test.ts +0 -320
  183. package/src/serializers/transaction.ts +0 -409
  184. package/src/wallet.test.ts +0 -275
  185. package/src/wallet.ts +0 -94
@@ -1,275 +0,0 @@
1
- import { FunctionCall, PrivateExecutionResult, TxEffect, TxSimulationResult, inBlockSchemaFor, TxHash, TxProvingResult, } from '@aztec/circuit-types';
2
- import { GasSettings } from '@aztec/circuits.js';
3
- import { AuthWitness, AztecAddress, Fr, FunctionSelector, HashedValues, NoFeePaymentMethod, TxExecutionRequest, TxReceipt, Tx, } from '@aztec/aztec.js';
4
- import { AbiTypeSchema } from '@aztec/foundation/abi';
5
- import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
6
- /**
7
- * Serializer for the aztec_createTxExecutionRequest RPC method.
8
- * Handles serialization of transaction execution requests between JSON-RPC format and native Aztec types.
9
- */
10
- export class AztecCreateTxExecutionRequestSerializer {
11
- constructor() {
12
- this.params = {
13
- serialize: async (method, value) => {
14
- const { exec } = value;
15
- const calls = exec.calls.map((call) => {
16
- return {
17
- name: call.name,
18
- to: jsonStringify(call.to),
19
- selector: jsonStringify(call.selector),
20
- type: call.type,
21
- isStatic: call.isStatic,
22
- args: call.args.map((arg) => jsonStringify(arg)),
23
- returnTypes: call.returnTypes.map((r) => jsonStringify(r)),
24
- };
25
- });
26
- const authWitnesses = exec.authWitnesses ? exec.authWitnesses.map((w) => jsonStringify(w)) : undefined;
27
- const hashedArguments = exec.hashedArguments
28
- ? exec.hashedArguments.map((h) => jsonStringify(h))
29
- : undefined;
30
- const fee = { gasSettings: jsonStringify(exec.fee.gasSettings) };
31
- const nonce = exec.nonce ? jsonStringify(exec.nonce) : undefined;
32
- return {
33
- method,
34
- serialized: JSON.stringify({
35
- calls,
36
- fee,
37
- authWitnesses,
38
- hashedArguments,
39
- nonce,
40
- cancellable: exec.cancellable,
41
- }),
42
- };
43
- },
44
- deserialize: async (_method, data) => {
45
- const parsed = JSON.parse(data.serialized);
46
- const calls = await Promise.all(parsed.calls.map(async (call) => {
47
- return new FunctionCall(call.name, await jsonParseWithSchema(call.to, AztecAddress.schema), await jsonParseWithSchema(call.selector, FunctionSelector.schema), call.type, call.isStatic, await Promise.all(call.args.map(async (arg) => jsonParseWithSchema(arg, Fr.schema))), await Promise.all(call.returnTypes.map(async (t) => jsonParseWithSchema(t, AbiTypeSchema))));
48
- }));
49
- const authWitnesses = parsed.authWitnesses
50
- ? parsed.authWitnesses.map(async (w) => await jsonParseWithSchema(w, AuthWitness.schema))
51
- : undefined;
52
- const hashedArguments = parsed.hashedArguments
53
- ? parsed.hashedArguments.map(async (h) => await jsonParseWithSchema(h, HashedValues.schema))
54
- : undefined;
55
- const cancellable = parsed.cancellable;
56
- const nonce = parsed.nonce ? await jsonParseWithSchema(parsed.nonce, Fr.schema) : undefined;
57
- const fee = {
58
- paymentMethod: new NoFeePaymentMethod(), // Default, caller should override
59
- gasSettings: await jsonParseWithSchema(parsed.fee.gasSettings, GasSettings.schema),
60
- };
61
- const exec = { calls, fee };
62
- if (authWitnesses)
63
- exec.authWitnesses = authWitnesses;
64
- if (hashedArguments)
65
- exec.hashedArguments = hashedArguments;
66
- if (nonce)
67
- exec.nonce = nonce;
68
- if (cancellable)
69
- exec.cancellable = cancellable;
70
- return { exec };
71
- },
72
- };
73
- this.result = {
74
- serialize: async (method, value) => {
75
- return {
76
- method,
77
- serialized: jsonStringify(value),
78
- };
79
- },
80
- deserialize: async (_method, data) => {
81
- return await jsonParseWithSchema(data.serialized, TxExecutionRequest.schema);
82
- },
83
- };
84
- }
85
- }
86
- /**
87
- * Serializer for the aztec_proveTx RPC method.
88
- * Handles serialization of transaction proving requests and results between JSON-RPC format and native Aztec types.
89
- */
90
- export class AztecProveTxSerializer {
91
- constructor() {
92
- this.params = {
93
- serialize: async (method, value) => {
94
- const { txRequest, privateExecutionResult } = value;
95
- return {
96
- method,
97
- serialized: JSON.stringify({
98
- txRequest: jsonStringify(txRequest),
99
- privateExecutionResult: jsonStringify(privateExecutionResult),
100
- }),
101
- };
102
- },
103
- deserialize: async (_method, data) => {
104
- const { txRequest, privateExecutionResult } = JSON.parse(data.serialized);
105
- return {
106
- txRequest: await jsonParseWithSchema(txRequest, TxExecutionRequest.schema),
107
- privateExecutionResult: await jsonParseWithSchema(privateExecutionResult, PrivateExecutionResult.schema),
108
- };
109
- },
110
- };
111
- this.result = {
112
- serialize: async (method, value) => {
113
- return {
114
- method,
115
- serialized: jsonStringify(value),
116
- };
117
- },
118
- deserialize: async (_method, data) => {
119
- return await jsonParseWithSchema(data.serialized, TxProvingResult.schema);
120
- },
121
- };
122
- }
123
- }
124
- /**
125
- * Serializer for the aztec_sendTx RPC method.
126
- * Handles serialization of transaction sending requests and transaction hash results between JSON-RPC format and native Aztec types.
127
- */
128
- export class AztecSendTxSerializer {
129
- constructor() {
130
- this.params = {
131
- serialize: async (method, value) => {
132
- const { tx } = value;
133
- return {
134
- method,
135
- serialized: jsonStringify(tx),
136
- };
137
- },
138
- deserialize: async (_method, data) => {
139
- return { tx: await jsonParseWithSchema(data.serialized, Tx.schema) };
140
- },
141
- };
142
- this.result = {
143
- serialize: async (method, value) => {
144
- return {
145
- method,
146
- serialized: jsonStringify(value),
147
- };
148
- },
149
- deserialize: async (_method, data) => {
150
- return await jsonParseWithSchema(data.serialized, TxHash.schema);
151
- },
152
- };
153
- }
154
- }
155
- /**
156
- * Serializer for the aztec_getTxEffect RPC method.
157
- * Handles serialization of transaction effect queries and results between JSON-RPC format and native Aztec types.
158
- */
159
- export class AztecGetTxEffectSerializer {
160
- constructor() {
161
- this.params = {
162
- serialize: async (method, value) => {
163
- const { txHash } = value;
164
- return {
165
- method,
166
- serialized: jsonStringify(txHash),
167
- };
168
- },
169
- deserialize: async (_method, data) => {
170
- const txHash = await jsonParseWithSchema(data.serialized, TxHash.schema);
171
- return { txHash };
172
- },
173
- };
174
- this.result = {
175
- serialize: async (method, value) => {
176
- return {
177
- method,
178
- serialized: jsonStringify(value),
179
- };
180
- },
181
- deserialize: async (_method, data) => {
182
- return await jsonParseWithSchema(data.serialized, inBlockSchemaFor(TxEffect.schema));
183
- },
184
- };
185
- }
186
- }
187
- /**
188
- * Serializer for the aztec_getTxReceipt RPC method.
189
- * Handles serialization of transaction receipt queries and results between JSON-RPC format and native Aztec types.
190
- */
191
- export class AztecGetTxReceiptSerializer {
192
- constructor() {
193
- this.params = {
194
- serialize: async (method, value) => {
195
- const { txHash } = value;
196
- return {
197
- method,
198
- serialized: jsonStringify(txHash),
199
- };
200
- },
201
- deserialize: async (_method, data) => {
202
- const txHash = await jsonParseWithSchema(data.serialized, TxHash.schema);
203
- return { txHash };
204
- },
205
- };
206
- this.result = {
207
- serialize: async (method, value) => {
208
- return {
209
- method,
210
- serialized: jsonStringify(value),
211
- };
212
- },
213
- deserialize: async (_method, data) => {
214
- return await jsonParseWithSchema(data.serialized, TxReceipt.schema);
215
- },
216
- };
217
- }
218
- }
219
- /**
220
- * Serializer for the aztec_simulateTx RPC method.
221
- * Handles serialization of transaction simulation requests and results between JSON-RPC format and native Aztec types.
222
- */
223
- export class AztecSimulateTxSerializer {
224
- constructor() {
225
- this.params = {
226
- serialize: async (method, value) => {
227
- const { txRequest, simulatePublic, msgSender, skipTxValidation, enforceFeePayment, profile } = value;
228
- return {
229
- method,
230
- serialized: JSON.stringify({
231
- txRequest: jsonStringify(txRequest),
232
- simulatePublic,
233
- msgSender: JSON.stringify(msgSender),
234
- skipTxValidation,
235
- enforceFeePayment,
236
- profile,
237
- }),
238
- };
239
- },
240
- deserialize: async (_method, data) => {
241
- const { txRequest, simulatePublic, msgSender, skipTxValidation, enforceFeePayment, profile } = JSON.parse(data.serialized);
242
- return {
243
- txRequest: await jsonParseWithSchema(txRequest, TxExecutionRequest.schema),
244
- simulatePublic,
245
- msgSender: await jsonParseWithSchema(msgSender, AztecAddress.schema),
246
- skipTxValidation,
247
- enforceFeePayment,
248
- profile,
249
- };
250
- },
251
- };
252
- this.result = {
253
- serialize: async (method, value) => {
254
- return {
255
- method,
256
- serialized: jsonStringify(value),
257
- };
258
- },
259
- deserialize: async (_method, data) => {
260
- return await jsonParseWithSchema(data.serialized, TxSimulationResult.schema);
261
- },
262
- };
263
- }
264
- }
265
- /**
266
- * Pre-instantiated serializer instances for each Aztec transaction-related RPC method.
267
- * These instances can be used directly by the RPC handler implementation.
268
- */
269
- export const aztecCreateTxExecutionRequestSerializer = new AztecCreateTxExecutionRequestSerializer();
270
- export const aztecProveTxSerializer = new AztecProveTxSerializer();
271
- export const aztecSendTxSerializer = new AztecSendTxSerializer();
272
- export const aztecGetTxEffectSerializer = new AztecGetTxEffectSerializer();
273
- export const aztecGetTxReceiptSerializer = new AztecGetTxReceiptSerializer();
274
- export const aztecSimulateTxSerializer = new AztecSimulateTxSerializer();
275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplcnMvdHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLFlBQVksRUFDWixzQkFBc0IsRUFDdEIsUUFBUSxFQUNSLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLGVBQWUsR0FDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osRUFBRSxFQUNGLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsRUFBRSxHQUNILE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFhaEY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVDQUF1QztJQUFwRDtRQU9FLFdBQU0sR0FBRztZQUNQLFNBQVMsRUFBRSxLQUFLLEVBQ2QsTUFBYyxFQUNkLEtBQXVFLEVBQ3ZDLEVBQUU7Z0JBQ2xDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUM7Z0JBRXZCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBa0IsRUFBRSxFQUFFO29CQUNsRCxPQUFPO3dCQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixFQUFFLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQzFCLFFBQVEsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzt3QkFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJ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
package/dist/wallet.d.ts DELETED
@@ -1,62 +0,0 @@
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
@@ -1 +0,0 @@
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 DELETED
@@ -1,77 +0,0 @@
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