@walletmesh/aztec-rpc-wallet 0.3.1 → 0.4.1

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 -270
  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 +498 -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 +470 -477
  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 +11 -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 +584 -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 -295
  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 -505
  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 -650
  166. package/src/handlers/aztecAccountWallet.ts +0 -531
  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 -277
  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,130 +0,0 @@
1
- import { ContractClassWithIdSchema, ContractInstanceWithAddressSchema } from '@aztec/circuits.js';
2
- import { ContractArtifactSchema } from '@aztec/foundation/abi';
3
- import { AztecAddress, Fr } from '@aztec/aztec.js';
4
- import { jsonStringify, jsonParseWithSchema } from '@aztec/foundation/json-rpc';
5
- import { z } from 'zod';
6
- // Zod schemas for contract metadata serialization.
7
- // These are copied from @aztec/circuit-types because they are not exported.
8
- const ContractMetadataSchema = z.object({
9
- contractInstance: z.union([ContractInstanceWithAddressSchema, z.undefined()]),
10
- isContractInitialized: z.boolean(),
11
- isContractPubliclyDeployed: z.boolean(),
12
- });
13
- const ContractClassMetadataSchema = z.object({
14
- contractClass: z.union([ContractClassWithIdSchema, z.undefined()]),
15
- isContractClassPubliclyRegistered: z.boolean(),
16
- artifact: z.union([ContractArtifactSchema, z.undefined()]),
17
- });
18
- /**
19
- * Serializer for the aztec_getContractClassMetadata RPC method.
20
- * Handles serialization of contract class metadata queries and results between JSON-RPC format and native Aztec types.
21
- */
22
- export class AztecGetContractClassMetadataSerializer {
23
- constructor() {
24
- this.params = {
25
- /**
26
- * Serializes contract class metadata query parameters for RPC transport.
27
- * @param method - The RPC method name
28
- * @param value - The parameters containing the class ID and artifact inclusion flag
29
- * @returns Serialized query parameters
30
- */
31
- serialize: async (method, value) => Promise.resolve({
32
- method,
33
- serialized: JSON.stringify({
34
- id: value.id.toString(),
35
- includeArtifact: value.includeArtifact,
36
- }),
37
- }),
38
- deserialize: async (_method, data) => {
39
- const { id, includeArtifact } = JSON.parse(data.serialized);
40
- return {
41
- id: Fr.fromString(id),
42
- includeArtifact,
43
- };
44
- },
45
- };
46
- this.result = {
47
- /**
48
- * Serializes the contract class metadata query result.
49
- * @param method - The RPC method name
50
- * @param value - The contract class metadata including class definition and registration status
51
- * @returns Serialized contract class metadata
52
- */
53
- serialize: async (method, value) => {
54
- return {
55
- method,
56
- serialized: jsonStringify(value),
57
- };
58
- },
59
- deserialize: async (_method, data) => {
60
- return await jsonParseWithSchema(data.serialized, ContractClassMetadataSchema);
61
- },
62
- };
63
- }
64
- }
65
- export class AztecGetContractMetadataSerializer {
66
- constructor() {
67
- this.params = {
68
- serialize: async (method, value) => {
69
- return {
70
- method,
71
- serialized: jsonStringify(value.address),
72
- };
73
- },
74
- deserialize: async (_method, data) => {
75
- return {
76
- address: await jsonParseWithSchema(data.serialized, AztecAddress.schema),
77
- };
78
- },
79
- };
80
- this.result = {
81
- serialize: async (method, contractMetadata) => {
82
- return {
83
- method,
84
- serialized: jsonStringify(contractMetadata),
85
- };
86
- },
87
- deserialize: async (_method, data) => {
88
- return await jsonParseWithSchema(data.serialized, ContractMetadataSchema);
89
- },
90
- };
91
- }
92
- }
93
- /**
94
- * Serializer for the aztec_registerContract RPC method.
95
- * Handles serialization of contract registration requests between JSON-RPC format and native Aztec types.
96
- */
97
- export class AztecRegisterContractSerializer {
98
- constructor() {
99
- this.params = {
100
- /**
101
- * Serializes contract registration parameters for RPC transport.
102
- * @param method - The RPC method name
103
- * @param value - The parameters containing contract instance and optional artifact
104
- * @returns Serialized registration data
105
- */
106
- serialize: async (method, value) => ({
107
- method,
108
- serialized: JSON.stringify({
109
- instance: jsonStringify(value.instance),
110
- artifact: value.artifact ? jsonStringify(value.artifact) : undefined,
111
- }),
112
- }),
113
- deserialize: async (_method, data) => {
114
- const { instance, artifact } = JSON.parse(data.serialized);
115
- return {
116
- instance: await jsonParseWithSchema(instance, ContractInstanceWithAddressSchema),
117
- artifact: artifact ? await jsonParseWithSchema(artifact, ContractArtifactSchema) : undefined,
118
- };
119
- },
120
- };
121
- }
122
- }
123
- /**
124
- * Pre-instantiated serializer instances for Aztec contract-related RPC methods.
125
- * These instances can be used directly by the RPC handler implementation.
126
- */
127
- export const aztecRegisterContractSerializer = new AztecRegisterContractSerializer();
128
- export const aztecGetContractClassMetadataSerializer = new AztecGetContractClassMetadataSerializer();
129
- export const aztecGetContractMetadataSerializer = new AztecGetContractMetadataSerializer();
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplcnMvY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEYsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixtREFBbUQ7QUFDbkQsNEVBQTRFO0FBQzVFLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsaUNBQWlDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDN0UscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNsQywwQkFBMEIsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0NBQ3hDLENBQW9DLENBQUM7QUFFdEMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNDLGFBQWEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDbEUsaUNBQWlDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUM5QyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0NBQzNELENBQXlDLENBQUM7QUFFM0M7OztHQUdHO0FBQ0gs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
@@ -1,21 +0,0 @@
1
- import type { JSONRPCSerializer } from '@walletmesh/jsonrpc';
2
- /**
3
- * Re-export all serializer types and implementations.
4
- * This provides a single entry point for importing any serializer functionality.
5
- */
6
- export * from './account.js';
7
- export * from './contract.js';
8
- export * from './transaction.js';
9
- export * from './note.js';
10
- export * from './log.js';
11
- /**
12
- * Main serializer for the Aztec wallet RPC interface.
13
- * Provides a unified interface for serializing all supported RPC methods.
14
- *
15
- * This serializer:
16
- * 1. Routes each method call to its specialized serializer from methodSerializers
17
- * 2. Provides fallback handling for unknown methods
18
- * 3. Wraps all serialization operations in proper error handling
19
- */
20
- export declare const AztecWalletSerializer: JSONRPCSerializer<unknown, unknown>;
21
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/serializers/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEpF;;;GAGG;AACH,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AAyFzB;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAiFrE,CAAC"}
@@ -1,154 +0,0 @@
1
- /**
2
- * Re-export all serializer types and implementations.
3
- * This provides a single entry point for importing any serializer functionality.
4
- */
5
- export * from './account.js';
6
- export * from './contract.js';
7
- export * from './transaction.js';
8
- export * from './note.js';
9
- export * from './log.js';
10
- // Import all serializer instances
11
- import { aztecSetScopesSerializer, aztecRegisterAccountSerializer, aztecAddAuthWitnessSerializer, aztecGetAuthWitnessSerializer, } from './account.js';
12
- import { aztecGetContractMetadataSerializer, aztecGetContractClassMetadataSerializer, aztecRegisterContractSerializer, } from './contract.js';
13
- import { aztecCreateTxExecutionRequestSerializer, aztecProveTxSerializer, aztecSendTxSerializer, aztecGetTxReceiptSerializer, aztecGetTxEffectSerializer, aztecSimulateTxSerializer, } from './transaction.js';
14
- import { aztecGetNotesSerializer, aztecAddNoteSerializer, aztecAddNullifiedNoteSerializer } from './note.js';
15
- import { aztecGetPublicLogsSerializer, aztecGetContractClassLogsSerializer, aztecGetPrivateEventsSerializer, aztecGetPublicEventsSerializer, } from './log.js';
16
- /**
17
- * Registry of all available method serializers.
18
- * Maps each RPC method name to its corresponding serializer implementation.
19
- * This mapping is used by the main AztecWalletSerializer to route method calls
20
- * to the appropriate specialized serializer.
21
- */
22
- const methodSerializers = {
23
- // Account methods
24
- aztec_setScopes: aztecSetScopesSerializer,
25
- aztec_registerAccount: aztecRegisterAccountSerializer,
26
- aztec_addAuthWitness: aztecAddAuthWitnessSerializer,
27
- aztec_getAuthWitness: aztecGetAuthWitnessSerializer,
28
- // Contract methods
29
- aztec_getContractMetadata: aztecGetContractMetadataSerializer,
30
- aztec_getContractClassMetadata: aztecGetContractClassMetadataSerializer,
31
- aztec_registerContract: aztecRegisterContractSerializer,
32
- // Transaction methods
33
- aztec_createTxExecutionRequest: aztecCreateTxExecutionRequestSerializer,
34
- aztec_proveTx: aztecProveTxSerializer,
35
- aztec_sendTx: aztecSendTxSerializer,
36
- aztec_getTxReceipt: aztecGetTxReceiptSerializer,
37
- aztec_getTxEffect: aztecGetTxEffectSerializer,
38
- aztec_simulateTx: aztecSimulateTxSerializer,
39
- // Note methods
40
- aztec_getNotes: aztecGetNotesSerializer,
41
- aztec_addNote: aztecAddNoteSerializer,
42
- aztec_addNullifiedNote: aztecAddNullifiedNoteSerializer,
43
- // Log methods
44
- aztec_getPublicLogs: aztecGetPublicLogsSerializer,
45
- aztec_getContractClassLogs: aztecGetContractClassLogsSerializer,
46
- aztec_getPrivateEvents: aztecGetPrivateEventsSerializer,
47
- aztec_getPublicEvents: aztecGetPublicEventsSerializer,
48
- };
49
- /**
50
- * Helper function to wrap unknown values in a standard JSON-RPC format.
51
- * Used as a fallback when no specific serializer is available for a method.
52
- *
53
- * @param method - The RPC method name
54
- * @param value - The value to wrap
55
- * @returns Standardized JSON-RPC data structure
56
- */
57
- async function wrapUnknownValue(method, value) {
58
- return Promise.resolve({
59
- method,
60
- serialized: JSON.stringify(value),
61
- });
62
- }
63
- /**
64
- * Main serializer for the Aztec wallet RPC interface.
65
- * Provides a unified interface for serializing all supported RPC methods.
66
- *
67
- * This serializer:
68
- * 1. Routes each method call to its specialized serializer from methodSerializers
69
- * 2. Provides fallback handling for unknown methods
70
- * 3. Wraps all serialization operations in proper error handling
71
- */
72
- export const AztecWalletSerializer = {
73
- params: {
74
- /**
75
- * Serializes RPC method parameters using the appropriate method serializer.
76
- * @param method - The RPC method name
77
- * @param value - The parameters to serialize
78
- * @returns Serialized parameter data
79
- * @throws If serialization fails or encounters an error
80
- */
81
- serialize: async (method, value) => {
82
- const serializer = methodSerializers[method];
83
- if (!serializer?.params) {
84
- return wrapUnknownValue(method, value);
85
- }
86
- try {
87
- return await serializer.params.serialize(method, value);
88
- }
89
- catch (error) {
90
- throw new Error(`Failed to serialize params for method ${method}: ${error}`);
91
- }
92
- },
93
- /**
94
- * Deserializes RPC method parameters using the appropriate method serializer.
95
- * @param method - The RPC method name
96
- * @param data - The serialized parameter data
97
- * @returns Deserialized parameters
98
- * @throws If deserialization fails or encounters an error
99
- */
100
- deserialize: async (method, data) => {
101
- const serializer = methodSerializers[method];
102
- if (!serializer?.params) {
103
- return data;
104
- }
105
- try {
106
- return await serializer.params.deserialize(method, data);
107
- }
108
- catch (error) {
109
- throw new Error(`Failed to deserialize params for method ${method}: ${error}`);
110
- }
111
- },
112
- },
113
- result: {
114
- /**
115
- * Serializes RPC method results using the appropriate method serializer.
116
- * @param method - The RPC method name
117
- * @param value - The result to serialize
118
- * @returns Serialized result data
119
- * @throws If serialization fails or encounters an error
120
- */
121
- serialize: async (method, value) => {
122
- const serializer = methodSerializers[method];
123
- if (!serializer?.result) {
124
- return wrapUnknownValue(method, value);
125
- }
126
- try {
127
- return await serializer.result.serialize(method, value);
128
- }
129
- catch (error) {
130
- throw new Error(`Failed to serialize result for method ${method}: ${error}`);
131
- }
132
- },
133
- /**
134
- * Deserializes RPC method results using the appropriate method serializer.
135
- * @param method - The RPC method name
136
- * @param data - The serialized result data
137
- * @returns Deserialized result
138
- * @throws If deserialization fails or encounters an error
139
- */
140
- deserialize: async (method, data) => {
141
- const serializer = methodSerializers[method];
142
- if (!serializer?.result) {
143
- return data;
144
- }
145
- try {
146
- return await serializer.result.deserialize(method, data);
147
- }
148
- catch (error) {
149
- throw new Error(`Failed to deserialize result for method ${method}: ${error}`);
150
- }
151
- },
152
- },
153
- };
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7OztHQUdHO0FBQ0gsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUV6QixrQ0FBa0M7QUFDbEMsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qiw4QkFBOEIsRUFDOUIsNkJBQTZCLEVBQzdCLDZCQUE2QixHQUM5QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLHVDQUF1QyxFQUN2QywrQkFBK0IsR0FDaEMsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHVDQUF1QyxFQUN2QyxzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIseUJBQXlCLEdBQzFCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdHLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsbUNBQW1DLEVBQ25DLCtCQUErQixFQUMvQiw4QkFBOEIsR0FDL0IsTUFBTSxVQUFVLENBQUM7QUFRbEI7Ozs7O0dBS0c7QUFDSCxNQUFNLGlCQUFpQixHQUFpRTtJQUN0RixrQkFBa0I7SUFDbEIsZUFBZSxFQUFFLHdCQUF3QjtJQUN6QyxxQkFBcUIsRUFBRSw4QkFBOEI7SUFDckQsb0JBQW9CLEVBQUUsNkJBQTZCO0lBQ25ELG9CQUFvQixFQUFFLDZCQUE2QjtJQUVuRCxtQkFBbUI7SUFDbkIseUJBQXlCLEVBQUUsa0NBQWtDO0lBQzdELDhCQUE4QixFQUFFLHVDQUF1QztJQUN2RSxzQkFBc0IsRUFBRSwrQkFBK0I7SUFF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
@@ -1,66 +0,0 @@
1
- import type { AztecWalletMethodMap } from '../types.js';
2
- import type { JSONRPCSerializedData, JSONRPCSerializer } from '@walletmesh/jsonrpc';
3
- /**
4
- * Serializer for the aztec_getPublicLogs RPC method.
5
- * Handles serialization of public log queries and results between JSON-RPC format and native Aztec types.
6
- */
7
- export declare class AztecGetPublicLogsSerializer implements JSONRPCSerializer<AztecWalletMethodMap['aztec_getPublicLogs']['params'], AztecWalletMethodMap['aztec_getPublicLogs']['result']> {
8
- params: {
9
- serialize: (method: string, value: AztecWalletMethodMap["aztec_getPublicLogs"]["params"]) => Promise<JSONRPCSerializedData>;
10
- deserialize: (_method: string, data: JSONRPCSerializedData) => Promise<AztecWalletMethodMap["aztec_getPublicLogs"]["params"]>;
11
- };
12
- result: {
13
- serialize: (method: string, value: AztecWalletMethodMap["aztec_getPublicLogs"]["result"]) => Promise<JSONRPCSerializedData>;
14
- deserialize: (_method: string, data: JSONRPCSerializedData) => Promise<AztecWalletMethodMap["aztec_getPublicLogs"]["result"]>;
15
- };
16
- }
17
- /**
18
- * Serializer for the aztec_getContractClassLogs RPC method.
19
- * Handles serialization of contract class log queries and results between JSON-RPC format and native Aztec types.
20
- */
21
- export declare class AztecGetContractClassLogsSerializer implements JSONRPCSerializer<AztecWalletMethodMap['aztec_getContractClassLogs']['params'], AztecWalletMethodMap['aztec_getContractClassLogs']['result']> {
22
- params: {
23
- serialize: (method: string, value: AztecWalletMethodMap["aztec_getContractClassLogs"]["params"]) => Promise<JSONRPCSerializedData>;
24
- deserialize: (_method: string, data: JSONRPCSerializedData) => Promise<AztecWalletMethodMap["aztec_getContractClassLogs"]["params"]>;
25
- };
26
- result: {
27
- serialize: (method: string, value: AztecWalletMethodMap["aztec_getContractClassLogs"]["result"]) => Promise<JSONRPCSerializedData>;
28
- deserialize: (_method: string, data: JSONRPCSerializedData) => Promise<AztecWalletMethodMap["aztec_getContractClassLogs"]["result"]>;
29
- };
30
- }
31
- /**
32
- * Serializer for the aztec_getPrivateEvents RPC method.
33
- * Handles serialization of private event queries and results between JSON-RPC format and native Aztec types.
34
- */
35
- export declare class AztecGetPrivateEventsSerializer implements JSONRPCSerializer<AztecWalletMethodMap['aztec_getPrivateEvents']['params'], AztecWalletMethodMap['aztec_getPrivateEvents']['result']> {
36
- params: {
37
- serialize: (method: string, value: AztecWalletMethodMap["aztec_getPrivateEvents"]["params"]) => Promise<JSONRPCSerializedData>;
38
- deserialize: (_method: string, data: JSONRPCSerializedData) => Promise<AztecWalletMethodMap["aztec_getPrivateEvents"]["params"]>;
39
- };
40
- result: {
41
- serialize: (method: string, value: unknown[]) => Promise<JSONRPCSerializedData>;
42
- deserialize: (_method: string, data: JSONRPCSerializedData) => Promise<unknown[]>;
43
- };
44
- }
45
- /**
46
- * Serializer for the aztec_getPublicEvents RPC method.
47
- * Handles serialization of public event queries and results between JSON-RPC format and native Aztec types.
48
- */
49
- export declare class AztecGetPublicEventsSerializer implements JSONRPCSerializer<AztecWalletMethodMap['aztec_getPublicEvents']['params'], AztecWalletMethodMap['aztec_getPublicEvents']['result']> {
50
- params: {
51
- serialize: (method: string, value: AztecWalletMethodMap["aztec_getPublicEvents"]["params"]) => Promise<JSONRPCSerializedData>;
52
- deserialize: (_method: string, data: JSONRPCSerializedData) => Promise<AztecWalletMethodMap["aztec_getPublicEvents"]["params"]>;
53
- };
54
- result: {
55
- serialize: (method: string, value: unknown[]) => Promise<JSONRPCSerializedData>;
56
- deserialize: (_method: string, data: JSONRPCSerializedData) => Promise<unknown[]>;
57
- };
58
- }
59
- /**
60
- * Pre-instantiated serializer instances for each Aztec log/event-related RPC method.
61
- */
62
- export declare const aztecGetPublicLogsSerializer: AztecGetPublicLogsSerializer;
63
- export declare const aztecGetContractClassLogsSerializer: AztecGetContractClassLogsSerializer;
64
- export declare const aztecGetPrivateEventsSerializer: AztecGetPrivateEventsSerializer;
65
- export declare const aztecGetPublicEventsSerializer: AztecGetPublicEventsSerializer;
66
- //# sourceMappingURL=log.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/serializers/log.ts"],"names":[],"mappings":"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"}
@@ -1,222 +0,0 @@
1
- import { GetPublicLogsResponseSchema, GetContractClassLogsResponseSchema, TxHash, LogId, } from '@aztec/circuit-types';
2
- import { AztecAddress, Point } from '@aztec/aztec.js';
3
- import { EventSelector } from '@aztec/foundation/abi';
4
- /**
5
- * Serializer for the aztec_getPublicLogs RPC method.
6
- * Handles serialization of public log queries and results between JSON-RPC format and native Aztec types.
7
- */
8
- export class AztecGetPublicLogsSerializer {
9
- constructor() {
10
- this.params = {
11
- serialize: async (method, value) => {
12
- const { filter } = value;
13
- // Convert all fields that need string conversion
14
- const serializedFilter = {
15
- ...filter,
16
- txHash: filter.txHash?.toString(),
17
- contractAddress: filter.contractAddress?.toString(),
18
- afterLog: filter.afterLog?.toString(),
19
- fromBlock: filter.fromBlock,
20
- toBlock: filter.toBlock,
21
- };
22
- return Promise.resolve({
23
- method,
24
- serialized: JSON.stringify({ filter: serializedFilter }),
25
- });
26
- },
27
- deserialize: async (_method, data) => {
28
- const { filter } = JSON.parse(data.serialized);
29
- const deserializedFilter = {};
30
- if (filter.txHash)
31
- deserializedFilter.txHash = TxHash.fromString(filter.txHash);
32
- if (filter.contractAddress)
33
- deserializedFilter.contractAddress = AztecAddress.fromString(filter.contractAddress);
34
- if (filter.afterLog)
35
- deserializedFilter.afterLog = LogId.fromString(filter.afterLog);
36
- if (filter.fromBlock !== undefined)
37
- deserializedFilter.fromBlock = filter.fromBlock;
38
- if (filter.toBlock !== undefined)
39
- deserializedFilter.toBlock = filter.toBlock;
40
- return Promise.resolve({ filter: deserializedFilter });
41
- },
42
- };
43
- this.result = {
44
- serialize: async (method, value) => {
45
- return Promise.resolve({
46
- method,
47
- serialized: JSON.stringify(value),
48
- });
49
- },
50
- deserialize: async (_method, data) => {
51
- return Promise.resolve(GetPublicLogsResponseSchema.parse(JSON.parse(data.serialized)));
52
- },
53
- };
54
- }
55
- }
56
- /**
57
- * Serializer for the aztec_getContractClassLogs RPC method.
58
- * Handles serialization of contract class log queries and results between JSON-RPC format and native Aztec types.
59
- */
60
- export class AztecGetContractClassLogsSerializer {
61
- constructor() {
62
- this.params = {
63
- serialize: async (method, value) => {
64
- const { filter } = value;
65
- // Convert fields to strings for schema validation
66
- const serializedFilter = {
67
- txHash: filter.txHash?.toString() ?? undefined,
68
- contractAddress: filter.contractAddress?.toString() ?? undefined,
69
- afterLog: filter.afterLog?.toString() ?? undefined,
70
- fromBlock: filter.fromBlock,
71
- toBlock: filter.toBlock,
72
- };
73
- return Promise.resolve({
74
- method,
75
- serialized: JSON.stringify({ filter: serializedFilter }),
76
- });
77
- },
78
- deserialize: async (_method, data) => {
79
- const { filter } = JSON.parse(data.serialized);
80
- const deserializedFilter = {};
81
- if (filter.txHash)
82
- deserializedFilter.txHash = TxHash.fromString(filter.txHash);
83
- if (filter.contractAddress)
84
- deserializedFilter.contractAddress = AztecAddress.fromString(filter.contractAddress);
85
- if (filter.afterLog)
86
- deserializedFilter.afterLog = LogId.fromString(filter.afterLog);
87
- if (filter.fromBlock !== undefined)
88
- deserializedFilter.fromBlock = filter.fromBlock;
89
- if (filter.toBlock !== undefined)
90
- deserializedFilter.toBlock = filter.toBlock;
91
- return Promise.resolve({ filter: deserializedFilter });
92
- },
93
- };
94
- this.result = {
95
- serialize: async (method, value) => {
96
- return Promise.resolve({
97
- method,
98
- serialized: JSON.stringify(GetContractClassLogsResponseSchema.parse(value)),
99
- });
100
- },
101
- deserialize: async (_method, data) => {
102
- return Promise.resolve(GetContractClassLogsResponseSchema.parse(JSON.parse(data.serialized)));
103
- },
104
- };
105
- }
106
- }
107
- /**
108
- * Serializer for the aztec_getPrivateEvents RPC method.
109
- * Handles serialization of private event queries and results between JSON-RPC format and native Aztec types.
110
- */
111
- export class AztecGetPrivateEventsSerializer {
112
- constructor() {
113
- this.params = {
114
- serialize: async (method, value) => {
115
- const { event, from, limit, vpks } = value;
116
- return Promise.resolve({
117
- method,
118
- serialized: JSON.stringify({
119
- event: {
120
- eventSelector: event.eventSelector.toString(),
121
- abiType: {
122
- kind: event.abiType.kind,
123
- },
124
- fieldNames: event.fieldNames,
125
- },
126
- from,
127
- limit,
128
- vpks: vpks?.map((p) => p.toString()),
129
- }),
130
- });
131
- },
132
- deserialize: async (_method, data) => {
133
- const { event: serializedEvent, from, limit, vpks } = JSON.parse(data.serialized);
134
- const event = {
135
- eventSelector: EventSelector.fromString(serializedEvent.eventSelector),
136
- abiType: {
137
- kind: serializedEvent.abiType.kind,
138
- },
139
- fieldNames: serializedEvent.fieldNames,
140
- };
141
- return Promise.resolve({
142
- event,
143
- from,
144
- limit,
145
- vpks: vpks?.map((p) => Point.fromString(p)),
146
- });
147
- },
148
- };
149
- this.result = {
150
- serialize: async (method, value) => {
151
- return Promise.resolve({
152
- method,
153
- serialized: JSON.stringify(value),
154
- });
155
- },
156
- deserialize: async (_method, data) => {
157
- return Promise.resolve(JSON.parse(data.serialized));
158
- },
159
- };
160
- }
161
- }
162
- /**
163
- * Serializer for the aztec_getPublicEvents RPC method.
164
- * Handles serialization of public event queries and results between JSON-RPC format and native Aztec types.
165
- */
166
- export class AztecGetPublicEventsSerializer {
167
- constructor() {
168
- this.params = {
169
- serialize: async (method, value) => {
170
- const { event, from, limit } = value;
171
- return Promise.resolve({
172
- method,
173
- serialized: JSON.stringify({
174
- event: {
175
- eventSelector: event.eventSelector.toString(),
176
- abiType: {
177
- kind: event.abiType.kind,
178
- },
179
- fieldNames: event.fieldNames,
180
- },
181
- from,
182
- limit,
183
- }),
184
- });
185
- },
186
- deserialize: async (_method, data) => {
187
- const { event: serializedEvent, from, limit } = JSON.parse(data.serialized);
188
- const event = {
189
- eventSelector: EventSelector.fromString(serializedEvent.eventSelector),
190
- abiType: {
191
- kind: serializedEvent.abiType.kind,
192
- },
193
- fieldNames: serializedEvent.fieldNames,
194
- };
195
- return Promise.resolve({
196
- event,
197
- from,
198
- limit,
199
- });
200
- },
201
- };
202
- this.result = {
203
- serialize: async (method, value) => {
204
- return Promise.resolve({
205
- method,
206
- serialized: JSON.stringify(value),
207
- });
208
- },
209
- deserialize: async (_method, data) => {
210
- return Promise.resolve(JSON.parse(data.serialized));
211
- },
212
- };
213
- }
214
- }
215
- /**
216
- * Pre-instantiated serializer instances for each Aztec log/event-related RPC method.
217
- */
218
- export const aztecGetPublicLogsSerializer = new AztecGetPublicLogsSerializer();
219
- export const aztecGetContractClassLogsSerializer = new AztecGetContractClassLogsSerializer();
220
- export const aztecGetPrivateEventsSerializer = new AztecGetPrivateEventsSerializer();
221
- export const aztecGetPublicEventsSerializer = new AztecGetPublicEventsSerializer();
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcmlhbGl6ZXJzL2xvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQyxNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBa0IsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXREOzs7R0FHRztBQUNILE1BQU0sT0FBTyw0QkFBNEI7SUFBekM7UUFPRSxXQUFNLEdBQUc7WUFDUCxTQUFTLEVBQUUsS0FBSyxFQUNkLE1BQWMsRUFDZCxLQUE0RCxFQUM1QixFQUFFO2dCQUNsQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixpREFBaUQ7Z0JBQ2pELE1BQU0sZ0JBQWdCLEdBQUc7b0JBQ3ZCLEdBQUcsTUFBTTtvQkFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7b0JBQ2pDLGVBQWUsRUFBRSxNQUFNLENBQUMsZUFBZSxFQUFFLFFBQVEsRUFBRTtvQkFDbkQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFO29CQUNyQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7b0JBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztpQkFDeEIsQ0FBQztnQkFDRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUM7b0JBQ3JCLE1BQU07b0JBQ04sVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztpQkFDekQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELFdBQVcsRUFBRSxLQUFLLEVBQ2hCLE9BQWUsRUFDZixJQUEyQixFQUNxQyxFQUFFO2dC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