@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,296 +0,0 @@
1
- import { AztecWalletError } from '../errors.js';
2
- export const AZTEC_WALLET_METHODS = [
3
- 'aztec_getBlock',
4
- 'aztec_getBlockNumber',
5
- 'aztec_getChainId',
6
- 'aztec_getVersion',
7
- 'aztec_getNodeInfo',
8
- 'aztec_getCurrentBaseFees',
9
- 'aztec_setScopes',
10
- 'aztec_getScopes',
11
- 'aztec_isL1ToL2MessageSynced',
12
- 'aztec_getL1ToL2MembershipWitness',
13
- 'aztec_addCapsule',
14
- 'aztec_getAddress',
15
- 'aztec_getCompleteAddress',
16
- 'aztec_registerAccount',
17
- 'aztec_getRegisteredAccounts',
18
- 'aztec_addAuthWitness',
19
- 'aztec_getAuthWitness',
20
- 'aztec_createAuthWit',
21
- 'aztec_registerSender',
22
- 'aztec_getSenders',
23
- 'aztec_removeSender',
24
- 'aztec_getContracts',
25
- 'aztec_registerContract',
26
- 'aztec_registerContractClass',
27
- 'aztec_getContractMetadata',
28
- 'aztec_getContractClassMetadata',
29
- 'aztec_getPublicStorageAt',
30
- 'aztec_createTxExecutionRequest',
31
- 'aztec_proveTx',
32
- 'aztec_sendTx',
33
- 'aztec_getTxEffect',
34
- 'aztec_getTxReceipt',
35
- 'aztec_simulateTx',
36
- 'aztec_simulateUnconstrained',
37
- 'aztec_getNotes',
38
- 'aztec_addNote',
39
- 'aztec_addNullifiedNote',
40
- 'aztec_getPublicLogs',
41
- 'aztec_getContractClassLogs',
42
- 'aztec_getPrivateEvents',
43
- 'aztec_getPublicEvents',
44
- ];
45
- // Handler functions with proper type safety
46
- async function handleGetBlock(wallet, params) {
47
- const block = await wallet.getBlock(params.number);
48
- if (!block)
49
- throw new AztecWalletError('blockNotFound', 'aztec_getBlock');
50
- return block;
51
- }
52
- async function handleGetBlockNumber(wallet) {
53
- return await wallet.getBlockNumber();
54
- }
55
- async function handleGetChainId(wallet) {
56
- return Number(wallet.getChainId());
57
- }
58
- async function handleGetVersion(wallet) {
59
- return Number(wallet.getVersion());
60
- }
61
- async function handleGetNodeInfo(wallet) {
62
- return await wallet.getNodeInfo();
63
- }
64
- async function handleGetCurrentBaseFees(wallet) {
65
- return await wallet.getCurrentBaseFees();
66
- }
67
- async function handleSetScopes(wallet, params) {
68
- await wallet.setScopes(params.scopes);
69
- return true;
70
- }
71
- async function handleGetScopes(wallet) {
72
- const scopes = await wallet.getScopes();
73
- return scopes ?? [];
74
- }
75
- async function handleAddCapsule(wallet, params) {
76
- await wallet.addCapsule(params.capsule);
77
- return true;
78
- }
79
- async function handleGetAddress(wallet) {
80
- return wallet.getAddress();
81
- }
82
- async function handleGetCompleteAddress(wallet) {
83
- return wallet.getCompleteAddress();
84
- }
85
- async function handleRegisterAccount(wallet, params) {
86
- return await wallet.registerAccount(params.secretKey, params.partialAddress);
87
- }
88
- async function handleGetRegisteredAccounts(wallet) {
89
- return await wallet.getRegisteredAccounts();
90
- }
91
- async function handleRegisterSender(wallet, params) {
92
- return await wallet.registerSender(params.sender);
93
- }
94
- async function handleGetSenders(wallet) {
95
- return await wallet.getSenders();
96
- }
97
- async function handleRemoveSender(wallet, params) {
98
- await wallet.removeSender(params.sender);
99
- return true;
100
- }
101
- async function handleAddAuthWitness(wallet, params) {
102
- await wallet.addAuthWitness(params.authWitness);
103
- return true;
104
- }
105
- async function handleGetAuthWitness(wallet, params) {
106
- const witness = await wallet.getAuthWitness(params.messageHash);
107
- if (!witness)
108
- throw new AztecWalletError('authWitnessNotFound', 'aztec_getAuthWitness');
109
- return witness;
110
- }
111
- async function handleCreateAuthWit(wallet, params) {
112
- return await wallet.createAuthWit(params.intent);
113
- }
114
- async function handleL1ToL2MessageSynced(wallet, params) {
115
- return await wallet.isL1ToL2MessageSynced(params.l1ToL2Message);
116
- }
117
- async function handleGetContracts(wallet) {
118
- return await wallet.getContracts();
119
- }
120
- async function handleGetContractMetadata(pxe, params) {
121
- return await pxe.getContractMetadata(params.address);
122
- }
123
- async function handleGetContractClassMetadata(pxe, params) {
124
- return await pxe.getContractClassMetadata(params.id, params.includeArtifact);
125
- }
126
- async function handleRegisterContract(wallet, params) {
127
- const { instance, artifact } = params;
128
- await wallet.registerContract({ instance, ...(artifact && { artifact }) });
129
- return true;
130
- }
131
- async function handleRegisterContractClass(wallet, params) {
132
- const { artifact } = params;
133
- await wallet.registerContractClass(artifact);
134
- return true;
135
- }
136
- async function handleGetTxReceipt(wallet, params) {
137
- const receipt = await wallet.getTxReceipt(params.txHash);
138
- if (!receipt)
139
- throw new AztecWalletError('transactionNotFound', 'aztec_getTxReceipt');
140
- return receipt;
141
- }
142
- async function handleSimulateTx(wallet, params) {
143
- const { txRequest, simulatePublic, msgSender, skipTxValidation, enforceFeePayment, profile } = params;
144
- return await wallet.simulateTx(txRequest, simulatePublic, msgSender, skipTxValidation, enforceFeePayment, profile);
145
- }
146
- async function handleSimulateUnconstrained(wallet, params) {
147
- const { functionName, args, to, from } = params;
148
- return await wallet.simulateUnconstrained(functionName, args, to, from);
149
- }
150
- async function handleCreateTxExecutionRequest(wallet, params) {
151
- return await wallet.createTxExecutionRequest(params.exec);
152
- }
153
- async function handleProveTx(wallet, params) {
154
- return await wallet.proveTx(params.txRequest, params.privateExecutionResult);
155
- }
156
- async function handleSendTx(wallet, params) {
157
- return await wallet.sendTx(params.tx);
158
- }
159
- async function handleGetTxEffect(wallet, params) {
160
- const effect = await wallet.getTxEffect(params.txHash);
161
- if (!effect)
162
- throw new AztecWalletError('transactionNotFound', 'aztec_getTxEffect');
163
- return effect;
164
- }
165
- async function handleGetPublicStorageAt(wallet, params) {
166
- return await wallet.getPublicStorageAt(params.contract, params.storageSlot);
167
- }
168
- async function handleGetNotes(wallet, params) {
169
- return await wallet.getNotes(params.filter);
170
- }
171
- async function handleAddNote(wallet, params) {
172
- await wallet.addNote(params.note);
173
- return true;
174
- }
175
- async function handleAddNullifiedNote(wallet, params) {
176
- await wallet.addNullifiedNote(params.note);
177
- return true;
178
- }
179
- async function handleGetPublicLogs(wallet, params) {
180
- return await wallet.getPublicLogs(params.filter);
181
- }
182
- async function handleGetContractClassLogs(wallet, params) {
183
- return await wallet.getContractClassLogs(params.filter);
184
- }
185
- async function handleGetPrivateEvents(wallet, params) {
186
- const { event, from, limit, vpks } = params;
187
- return await wallet.getPrivateEvents(event, from, limit, vpks);
188
- }
189
- async function handleGetPublicEvents(wallet, params) {
190
- const { event, from, limit } = params;
191
- return await wallet.getPublicEvents(event, from, limit);
192
- }
193
- async function handleL1ToL2MembershipWitness(wallet, params) {
194
- const { contractAddress, messageHash, secret } = params;
195
- return await wallet.getL1ToL2MembershipWitness(contractAddress, messageHash, secret);
196
- }
197
- export async function aztecWalletHandler(context, method, params) {
198
- switch (method) {
199
- // Chain methods
200
- case 'aztec_getBlock':
201
- return handleGetBlock(context.wallet, params);
202
- case 'aztec_getBlockNumber':
203
- return handleGetBlockNumber(context.wallet);
204
- case 'aztec_getChainId':
205
- return handleGetChainId(context.wallet);
206
- case 'aztec_getVersion':
207
- return handleGetVersion(context.wallet);
208
- case 'aztec_getNodeInfo':
209
- return handleGetNodeInfo(context.wallet);
210
- case 'aztec_getCurrentBaseFees':
211
- return handleGetCurrentBaseFees(context.wallet);
212
- // Scopes methods
213
- case 'aztec_setScopes':
214
- return handleSetScopes(context.wallet, params);
215
- case 'aztec_getScopes':
216
- return handleGetScopes(context.wallet);
217
- // L1->L2 Messages methods
218
- case 'aztec_isL1ToL2MessageSynced':
219
- return handleL1ToL2MessageSynced(context.wallet, params);
220
- case 'aztec_getL1ToL2MembershipWitness':
221
- return handleL1ToL2MembershipWitness(context.wallet, params);
222
- // Capsules methods
223
- case 'aztec_addCapsule':
224
- return handleAddCapsule(context.wallet, params);
225
- // Accounts methods
226
- case 'aztec_getAddress':
227
- return handleGetAddress(context.wallet);
228
- case 'aztec_getCompleteAddress':
229
- return handleGetCompleteAddress(context.wallet);
230
- case 'aztec_registerAccount':
231
- return handleRegisterAccount(context.wallet, params);
232
- case 'aztec_getRegisteredAccounts':
233
- return handleGetRegisteredAccounts(context.wallet);
234
- // AuthWitness methods
235
- case 'aztec_addAuthWitness':
236
- return handleAddAuthWitness(context.wallet, params);
237
- case 'aztec_getAuthWitness':
238
- return handleGetAuthWitness(context.wallet, params);
239
- case 'aztec_createAuthWit':
240
- return handleCreateAuthWit(context.wallet, params);
241
- // Senders methods
242
- case 'aztec_registerSender':
243
- return handleRegisterSender(context.wallet, params);
244
- case 'aztec_getSenders':
245
- return handleGetSenders(context.wallet);
246
- case 'aztec_removeSender':
247
- return handleRemoveSender(context.wallet, params);
248
- // Contracts methods
249
- case 'aztec_getContracts':
250
- return handleGetContracts(context.wallet);
251
- case 'aztec_getContractMetadata':
252
- return handleGetContractMetadata(context.wallet, params);
253
- case 'aztec_getContractClassMetadata':
254
- return handleGetContractClassMetadata(context.wallet, params);
255
- case 'aztec_registerContract':
256
- return handleRegisterContract(context.wallet, params);
257
- case 'aztec_registerContractClass':
258
- return handleRegisterContractClass(context.wallet, params);
259
- case 'aztec_getPublicStorageAt':
260
- return handleGetPublicStorageAt(context.wallet, params);
261
- // Transactions methods
262
- case 'aztec_createTxExecutionRequest':
263
- return handleCreateTxExecutionRequest(context.wallet, params);
264
- case 'aztec_proveTx':
265
- return handleProveTx(context.wallet, params);
266
- case 'aztec_sendTx':
267
- return handleSendTx(context.wallet, params);
268
- case 'aztec_getTxEffect':
269
- return handleGetTxEffect(context.wallet, params);
270
- case 'aztec_getTxReceipt':
271
- return handleGetTxReceipt(context.wallet, params);
272
- case 'aztec_simulateTx':
273
- return handleSimulateTx(context.wallet, params);
274
- case 'aztec_simulateUnconstrained':
275
- return handleSimulateUnconstrained(context.wallet, params);
276
- // Notes methods
277
- case 'aztec_getNotes':
278
- return handleGetNotes(context.wallet, params);
279
- case 'aztec_addNote':
280
- return handleAddNote(context.wallet, params);
281
- case 'aztec_addNullifiedNote':
282
- return handleAddNullifiedNote(context.wallet, params);
283
- // Logs and Events methods
284
- case 'aztec_getPublicLogs':
285
- return handleGetPublicLogs(context.wallet, params);
286
- case 'aztec_getContractClassLogs':
287
- return handleGetContractClassLogs(context.wallet, params);
288
- case 'aztec_getPrivateEvents':
289
- return handleGetPrivateEvents(context.wallet, params);
290
- case 'aztec_getPublicEvents':
291
- return handleGetPublicEvents(context.wallet, params);
292
- default:
293
- throw new AztecWalletError('invalidRequest', `Method not supported: ${String(method)}`);
294
- }
295
- }
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNBY2NvdW50V2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hhbmRsZXJzL2F6dGVjQWNjb3VudFdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHaEQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQW1DO0lBQ2xFLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsMEJBQTBCO0lBQzFCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsNkJBQTZCO0lBQzdCLGtDQUFrQztJQUNsQyxrQkFBa0I7SUFDbEIsa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQix1QkFBdUI7SUFDdkIsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQix3QkFBd0I7SUFDeEIsNkJBQTZCO0lBQzdCLDJCQUEyQjtJQUMzQixnQ0FBZ0M7SUFDaEMsMEJBQTBCO0lBQzFCLGdDQUFnQztJQUNoQyxlQUFlO0lBQ2YsY0FBYztJQUNkLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLDZCQUE2QjtJQUM3QixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHdCQUF3QjtJQUN4QixxQkFBcUI7SUFDckIsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4Qix1QkFBdUI7Q0FDZixDQUFDO0FBRVgsNENBQTRDO0FBQzVDLEtBQUssVUFBVSxjQUFjLENBQzNCLE1BQXFCLEVBQ3JCLE1BQXdEO0lBRXhELE1BQU0sS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsSUFBSSxDQUFDLEtBQUs7UUFB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
@@ -1,21 +0,0 @@
1
- import type { AztecWalletContext, TransactionFunctionCall, TransactionParams } from '../types.js';
2
- /**
3
- * Handles the 'aztec_sendTransaction' JSON-RPC method.
4
- * Sends transactions to the Aztec network and returns the transaction hash.
5
- * @param params - The transaction parameters
6
- * @param params.functionCalls - Array of function calls to execute
7
- * @param params.authwits - Optional array of authorization witnesses for the transaction
8
- * @returns A Promise that resolves to the transaction hash string
9
- */
10
- export declare function sendTransaction(context: AztecWalletContext, params: TransactionParams): Promise<string>;
11
- /**
12
- * Handles the 'aztec_simulateTransaction' JSON-RPC method.
13
- * Simulates a transaction without submitting it to the network.
14
- * @param params - The transaction parameters to simulate
15
- * @param params.contractAddress - The target contract address
16
- * @param params.functionName - The contract function to call
17
- * @param params.args - The function arguments
18
- * @returns A Promise that resolves to the simulation result
19
- */
20
- export declare function simulateTransaction(context: AztecWalletContext, params: TransactionFunctionCall): Promise<unknown>;
21
- //# sourceMappingURL=transactions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../src/handlers/transactions.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGlG;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,OAAO,CAAC,CAmClB"}
@@ -1,98 +0,0 @@
1
- import { AuthWitness, AztecAddress, Contract, NoFeePaymentMethod, } from '@aztec/aztec.js';
2
- import { GasSettings } from '@aztec/circuits.js';
3
- import { AztecWalletError } from '../errors.js';
4
- /**
5
- * Handles the 'aztec_sendTransaction' JSON-RPC method.
6
- * Sends transactions to the Aztec network and returns the transaction hash.
7
- * @param params - The transaction parameters
8
- * @param params.functionCalls - Array of function calls to execute
9
- * @param params.authwits - Optional array of authorization witnesses for the transaction
10
- * @returns A Promise that resolves to the transaction hash string
11
- */
12
- export async function sendTransaction(context, params) {
13
- try {
14
- // Setup the execution request without the calls for now
15
- const executionRequestInit = {
16
- calls: [],
17
- authWitnesses: params.authwits?.map(AuthWitness.fromString) ?? [],
18
- // TODO: Figure out what we should be doing with this fee parameter
19
- fee: {
20
- paymentMethod: new NoFeePaymentMethod(),
21
- gasSettings: GasSettings.default({ maxFeesPerGas: await context.wallet.getCurrentBaseFees() }),
22
- },
23
- };
24
- // Get artifacts and contracts first
25
- const contractMap = new Map();
26
- for (const c of params.functionCalls) {
27
- const contractAddress = AztecAddress.fromString(c.contractAddress);
28
- if (!contractMap.has(c.contractAddress)) {
29
- const artifact = await context.contractArtifactCache.getContractArtifact(contractAddress);
30
- const contract = await Contract.at(contractAddress, artifact, context.wallet);
31
- contractMap.set(c.contractAddress, { contract, artifact });
32
- }
33
- }
34
- // Now build the execution request
35
- for (const c of params.functionCalls) {
36
- // biome-ignore lint/style/noNonNullAssertion: we know the contract is in the map
37
- const { contract } = contractMap.get(c.contractAddress);
38
- const method = contract.methods[c.functionName];
39
- if (!method) {
40
- throw new AztecWalletError('invalidParams', `Unknown function for contract ${c.contractAddress}: ${c.functionName}`);
41
- }
42
- const functionCall = method(...c.args);
43
- executionRequestInit.calls.push(await functionCall.request());
44
- }
45
- const txExecutionRequest = await context.wallet.createTxExecutionRequest(executionRequestInit);
46
- const simulatedTx = await context.wallet.simulateTx(txExecutionRequest, true /* simulatePublic */);
47
- const txProvingResult = await context.wallet.proveTx(txExecutionRequest, simulatedTx.privateExecutionResult);
48
- const txHash = await context.wallet.sendTx(txProvingResult.toTx());
49
- return txHash.toString();
50
- }
51
- catch (error) {
52
- throw new AztecWalletError('unknownInternalError');
53
- }
54
- }
55
- /**
56
- * Handles the 'aztec_simulateTransaction' JSON-RPC method.
57
- * Simulates a transaction without submitting it to the network.
58
- * @param params - The transaction parameters to simulate
59
- * @param params.contractAddress - The target contract address
60
- * @param params.functionName - The contract function to call
61
- * @param params.args - The function arguments
62
- * @returns A Promise that resolves to the simulation result
63
- */
64
- export async function simulateTransaction(context, params) {
65
- try {
66
- const { contractAddress, functionName, args } = params;
67
- const addr = AztecAddress.fromString(contractAddress);
68
- const artifact = await context.contractArtifactCache.getContractArtifact(addr);
69
- const contract = await Contract.at(addr, artifact, context.wallet);
70
- const method = contract.methods[functionName];
71
- if (!method) {
72
- throw new AztecWalletError('invalidParams', `Unknown function for contract ${contractAddress}: ${functionName}`);
73
- }
74
- const result = await method(...args).simulate();
75
- // TODO: Is this sufficient for serializing the result?
76
- switch (typeof result) {
77
- case 'string':
78
- return result;
79
- case 'bigint':
80
- return result.toString();
81
- case 'object':
82
- if (result instanceof Uint8Array) {
83
- return Buffer.from(result).toString('hex');
84
- }
85
- return result;
86
- default:
87
- return result;
88
- }
89
- }
90
- catch (error) {
91
- if (error instanceof AztecWalletError) {
92
- throw error;
93
- }
94
- console.error('Error simulating transaction:', error);
95
- throw new AztecWalletError('unknownInternalError', 'aztec_simulateTransaction');
96
- }
97
- }
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hhbmRsZXJzL3RyYW5zYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsV0FBVyxFQUNYLFlBQVksRUFDWixRQUFRLEVBQ1Isa0JBQWtCLEdBRW5CLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSWpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxlQUFlLENBQ25DLE9BQTJCLEVBQzNCLE1BQXlCO0lBRXpCLElBQUksQ0FBQztRQUNILHdEQUF3RDtRQUN4RCxNQUFNLG9CQUFvQixHQUF5QjtZQUNqRCxLQUFLLEVBQUUsRUFBRTtZQUNULGFBQWEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRTtZQUNqRSxtRUFBbUU7WUFDbkUsR0FBRyxFQUFFO2dCQUNILGFBQWEsRUFBRSxJQUFJLGtCQUFrQixFQUFFO2dCQUN2QyxXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLGFBQWEsRUFBRSxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO2FBQy9GO1NBQ0YsQ0FBQztRQUVGLG9DQUFvQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBOEQsQ0FBQztRQUMxRixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQyxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMs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
@@ -1,27 +0,0 @@
1
- /**
2
- * @module handlers
3
- *
4
- * This module provides the core RPC method handling logic for the Aztec wallet.
5
- * It routes incoming RPC requests to appropriate specialized handlers based on the method type.
6
- *
7
- * The handlers are organized into categories:
8
- * - Base wallet methods (connect, getAccount, etc.)
9
- * - Account wallet methods (chain operations, contract management, etc.)
10
- * - Transaction methods (send, simulate)
11
- *
12
- * Each method handler validates inputs, performs the requested operation through the wallet,
13
- * and returns properly formatted responses.
14
- */
15
- import type { AztecWalletMethodMap } from './types.js';
16
- import { type AztecWalletContext } from './types.js';
17
- /**
18
- * Main handler function that routes RPC method calls to appropriate specialized handlers.
19
- *
20
- * @param context - The wallet context containing PXE and wallet instances
21
- * @param method - The RPC method being called
22
- * @param params - Parameters passed to the method
23
- * @returns Result from the method handler
24
- * @throws {AztecWalletError} If method not supported or handler fails
25
- */
26
- export declare function handler<M extends keyof AztecWalletMethodMap>(context: AztecWalletContext, method: M, params: AztecWalletMethodMap[M]['params']): Promise<AztecWalletMethodMap[M]['result']>;
27
- //# sourceMappingURL=handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,KAAK,kBAAkB,EAAuB,MAAM,YAAY,CAAC;AAK1E;;;;;;;;GAQG;AAEH,wBAAsB,OAAO,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAChE,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GACxC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAkC5C"}
package/dist/handlers.js DELETED
@@ -1,55 +0,0 @@
1
- /**
2
- * @module handlers
3
- *
4
- * This module provides the core RPC method handling logic for the Aztec wallet.
5
- * It routes incoming RPC requests to appropriate specialized handlers based on the method type.
6
- *
7
- * The handlers are organized into categories:
8
- * - Base wallet methods (connect, getAccount, etc.)
9
- * - Account wallet methods (chain operations, contract management, etc.)
10
- * - Transaction methods (send, simulate)
11
- *
12
- * Each method handler validates inputs, performs the requested operation through the wallet,
13
- * and returns properly formatted responses.
14
- */
15
- import { BASE_WALLET_METHODS } from './types.js';
16
- import { AztecWalletError } from './errors.js';
17
- import { sendTransaction, simulateTransaction } from './handlers/transactions.js';
18
- import { aztecWalletHandler, AZTEC_WALLET_METHODS } from './handlers/aztecAccountWallet.js';
19
- /**
20
- * Main handler function that routes RPC method calls to appropriate specialized handlers.
21
- *
22
- * @param context - The wallet context containing PXE and wallet instances
23
- * @param method - The RPC method being called
24
- * @param params - Parameters passed to the method
25
- * @returns Result from the method handler
26
- * @throws {AztecWalletError} If method not supported or handler fails
27
- */
28
- export async function handler(context, method, params) {
29
- if (AZTEC_WALLET_METHODS.includes(method)) {
30
- return aztecWalletHandler(context, method, params);
31
- }
32
- switch (method) {
33
- // Base wallet methods
34
- case 'wm_getSupportedMethods': {
35
- // Return combined list of supported methods from all handlers
36
- return [...BASE_WALLET_METHODS, ...AZTEC_WALLET_METHODS];
37
- }
38
- case 'aztec_connect': {
39
- // Basic connection validation
40
- // Note: Main connection logic handled by provider
41
- return true;
42
- }
43
- // Core wallet methods
44
- case 'aztec_getAccount':
45
- return (await context.wallet.getAddress()).toString();
46
- // Transaction methods
47
- case 'aztec_sendTransaction':
48
- return await sendTransaction(context, params);
49
- case 'aztec_simulateTransaction':
50
- return await simulateTransaction(context, params);
51
- default:
52
- throw new AztecWalletError('invalidRequest', `Method not supported: ${String(method)}`);
53
- }
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUdILE9BQU8sRUFBMkIsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU1Rjs7Ozs7Ozs7R0FRRztBQUVILE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUMzQixPQUEyQixFQUMzQixNQUFTLEVBQ1QsTUFBeUM7SUFFekMsSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMxQyxPQUFPLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELFFBQVEsTUFBTSxFQUFFLENBQUM7UUFDZixzQkFBc0I7UUFDdEIsS0FBSyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7WUFDOUIsOERBQThEO1lBQzlELE9BQU8sQ0FBQyxHQUFHLG1CQUFtQixFQUFFLEdBQUcsb0JBQW9CLENBQWEsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLDhCQUE4QjtZQUM5QixrREFBa0Q7WUFDbEQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0Qsc0JBQXNCO1FBQ3RCLEtBQUssa0JBQWtCO1lBQ3JCLE9BQU8sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV4RCxzQkFBc0I7UUFDdEIsS0FBSyx1QkFBdUI7WUFDMUIsT0FBTyxNQUFNLGVBQWUsQ0FDMUIsT0FBTyxFQUNQLE1BQWlFLENBQ2xFLENBQUM7UUFDSixLQUFLLDJCQUEyQjtZQUM5QixPQUFPLE1BQU0sbUJBQW1CLENBQzlCLE9BQU8sRUFDUCxNQUFxRSxDQUN0RSxDQUFDO1FBRUo7WUFDRSxNQUFNLElBQUksZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUseUJBQXlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQztBQUNILENBQUMifQ==
@@ -1,105 +0,0 @@
1
- import type { JSONRPCTransport } from '@walletmesh/jsonrpc';
2
- import { WalletRouterProvider } from '@walletmesh/router';
3
- import type { AztecChainId, AztecWalletMethodMap, TransactionParams } from './types.js';
4
- /**
5
- * Provider for interacting with multiple Aztec chains through WalletMesh router.
6
- *
7
- * This class implements the client-side interface for dApps to communicate with Aztec wallets.
8
- * It handles:
9
- * - Connection management for multiple chains
10
- * - Session tracking
11
- * - Method calls with proper context
12
- * - Event handling for wallet state changes
13
- *
14
- * @example
15
- * ```typescript
16
- * // Create provider with transport
17
- * const provider = new AztecProvider(transport);
18
- *
19
- * // Connect to chains
20
- * await provider.connect(['aztec:testnet', 'aztec:devnet']);
21
- *
22
- * // Single operation using convenience method
23
- * const address = await provider.getAccount('aztec:testnet');
24
- *
25
- * // Single operation using chain builder
26
- * const txHash = await provider.chain('aztec:testnet')
27
- * .call('aztec_sendTransaction', {
28
- * functionCalls: [{
29
- * contractAddress: "0x...",
30
- * functionName: "transfer",
31
- * args: [recipient, amount]
32
- * }]
33
- * })
34
- * .execute();
35
- *
36
- * // Multiple operations in one call
37
- * const [account, contracts, blockNumber] = await provider
38
- * .chain('aztec:testnet')
39
- * .call('aztec_getAccount')
40
- * .call('aztec_getContracts')
41
- * .call('aztec_getBlockNumber')
42
- * .execute();
43
- * ```
44
- */
45
- export declare class AztecProvider extends WalletRouterProvider {
46
- private connectedChains;
47
- private requestedChains;
48
- constructor(transport: JSONRPCTransport);
49
- /**
50
- * Handles wallet state change events from the router.
51
- * Updates the set of connected chains based on account availability.
52
- * @param params - Event parameters containing chain ID and changes
53
- */
54
- private handleWalletStateChanged;
55
- /**
56
- * Handles session termination events from the router.
57
- * Cleans up session state and connected chains.
58
- * @param params - Event parameters containing session ID
59
- */
60
- private handleSessionTerminated;
61
- /**
62
- * Gets the list of currently connected chain IDs.
63
- * @returns Array of connected chain IDs
64
- */
65
- getSupportedChains(): AztecChainId[];
66
- getAccount(chainId: AztecChainId): Promise<string>;
67
- /**
68
- * Sends a transaction to the specified chain.
69
- * @param chainId - ID of the chain to send transaction to
70
- * @param params - Transaction parameters including function calls and optional auth witnesses
71
- * @returns Transaction hash
72
- * @throws {AztecWalletError} If transaction fails or response invalid
73
- */
74
- sendTransaction(chainId: AztecChainId, params: TransactionParams): Promise<string>;
75
- /**
76
- * Simulates a transaction without submitting it.
77
- * @param chainId - ID of the chain to simulate on
78
- * @param params - Transaction parameters to simulate
79
- * @returns Simulation result
80
- * @throws {AztecWalletError} If simulation fails
81
- */
82
- simulateTransaction(chainId: AztecChainId, params: TransactionParams['functionCalls'][0]): Promise<unknown>;
83
- /**
84
- * Registers a contract instance with the wallet.
85
- * @param chainId - ID of the chain where contract is deployed
86
- * @param params - Contract registration parameters
87
- * @throws {AztecWalletError} If registration fails
88
- */
89
- registerContract(chainId: AztecChainId, params: AztecWalletMethodMap['aztec_registerContract']['params']): Promise<void>;
90
- /**
91
- * Registers a contract class with the wallet.
92
- * @param chainId - ID of the chain to register on
93
- * @param params - Contract class registration parameters
94
- * @throws {AztecWalletError} If registration fails
95
- */
96
- registerContractClass(chainId: AztecChainId, params: AztecWalletMethodMap['aztec_registerContractClass']['params']): Promise<void>;
97
- /**
98
- * Registers a transaction sender with the wallet.
99
- * @param chainId - ID of the chain to register on
100
- * @param params - Sender registration parameters
101
- * @throws {AztecWalletError} If registration fails
102
- */
103
- registerSender(chainId: AztecChainId, params: AztecWalletMethodMap['aztec_registerSender']['params']): Promise<void>;
104
- }
105
- //# sourceMappingURL=provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,aAAc,SAAQ,oBAAoB;IACrD,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,eAAe,CAAoB;gBAE/B,SAAS,EAAE,gBAAgB;IAcvC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;;OAGG;IACI,kBAAkB,IAAI,YAAY,EAAE;IAI9B,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/D;;;;;;OAMG;IACU,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ/F;;;;;;OAMG;IACU,mBAAmB,CAC9B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,OAAO,CAAC;IAQnB;;;;;OAKG;IACU,gBAAgB,CAC3B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;OAKG;IACU,qBAAqB,CAChC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,oBAAoB,CAAC,6BAA6B,CAAC,CAAC,QAAQ,CAAC,GACpE,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;OAKG;IACU,cAAc,CACzB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC;CAGjB"}