@aztec/wsdb 0.0.1-commit.017a351

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.
@@ -0,0 +1,459 @@
1
+ // AUTOGENERATED FILE - DO NOT EDIT
2
+ import { Decoder, Encoder } from 'msgpackr';
3
+ import { fromWsdbAppendLeaves, fromWsdbAppendNullifierLeaves, fromWsdbAppendPublicDataLeaves, fromWsdbBatchInsertNullifier, fromWsdbBatchInsertPublicData, fromWsdbCommit, fromWsdbCommitAllCheckpoints, fromWsdbCommitCheckpoint, fromWsdbCopyStores, fromWsdbCreateCheckpoint, fromWsdbCreateFork, fromWsdbDeleteFork, fromWsdbFinalizeBlocks, fromWsdbFindLeafIndices, fromWsdbFindLowLeaf, fromWsdbFindNullifierLeafIndices, fromWsdbFindNullifierSiblingPaths, fromWsdbFindPublicDataLeafIndices, fromWsdbFindPublicDataSiblingPaths, fromWsdbFindSiblingPaths, fromWsdbGetBlockNumbersForLeafIndices, fromWsdbGetInitialStateReference, fromWsdbGetLeafValue, fromWsdbGetNullifierLeafPreimage, fromWsdbGetNullifierLeafValue, fromWsdbGetPublicDataLeafPreimage, fromWsdbGetPublicDataLeafValue, fromWsdbGetSiblingPath, fromWsdbGetStateReference, fromWsdbGetStatus, fromWsdbGetTreeInfo, fromWsdbRemoveHistoricalBlocks, fromWsdbRevertAllCheckpoints, fromWsdbRevertCheckpoint, fromWsdbRollback, fromWsdbSequentialInsertNullifier, fromWsdbSequentialInsertPublicData, fromWsdbSyncBlock, fromWsdbUnwindBlocks, fromWsdbUpdateArchive, toWsdbAppendLeavesResponse, toWsdbAppendNullifierLeavesResponse, toWsdbAppendPublicDataLeavesResponse, toWsdbBatchInsertNullifierResponse, toWsdbBatchInsertPublicDataResponse, toWsdbCommitAllCheckpointsResponse, toWsdbCommitCheckpointResponse, toWsdbCommitResponse, toWsdbCopyStoresResponse, toWsdbCreateCheckpointResponse, toWsdbCreateForkResponse, toWsdbDeleteForkResponse, toWsdbFinalizeBlocksResponse, toWsdbFindLeafIndicesResponse, toWsdbFindLowLeafResponse, toWsdbFindNullifierLeafIndicesResponse, toWsdbFindNullifierSiblingPathsResponse, toWsdbFindPublicDataLeafIndicesResponse, toWsdbFindPublicDataSiblingPathsResponse, toWsdbFindSiblingPathsResponse, toWsdbGetBlockNumbersForLeafIndicesResponse, toWsdbGetInitialStateReferenceResponse, toWsdbGetLeafValueResponse, toWsdbGetNullifierLeafPreimageResponse, toWsdbGetNullifierLeafValueResponse, toWsdbGetPublicDataLeafPreimageResponse, toWsdbGetPublicDataLeafValueResponse, toWsdbGetSiblingPathResponse, toWsdbGetStateReferenceResponse, toWsdbGetStatusResponse, toWsdbGetTreeInfoResponse, toWsdbRemoveHistoricalBlocksResponse, toWsdbRevertAllCheckpointsResponse, toWsdbRevertCheckpointResponse, toWsdbRollbackResponse, toWsdbSequentialInsertNullifierResponse, toWsdbSequentialInsertPublicDataResponse, toWsdbSyncBlockResponse, toWsdbUnwindBlocksResponse, toWsdbUpdateArchiveResponse } from './api_types.js';
4
+ function msgpackCall(backend, input) {
5
+ const inputBuffer = new Encoder({ useRecords: false, variableMapSize: true }).pack(input);
6
+ const encodedResult = backend.call(inputBuffer);
7
+ return new Decoder({ useRecords: false }).unpack(encodedResult);
8
+ }
9
+ export class SyncApi {
10
+ backend;
11
+ createError;
12
+ constructor(backend, createError = message => new Error(message)) {
13
+ this.backend = backend;
14
+ this.createError = createError;
15
+ }
16
+ getTreeInfo(command) {
17
+ const msgpackCommand = fromWsdbGetTreeInfo(command);
18
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetTreeInfo", msgpackCommand]]);
19
+ if (variantName === 'WsdbErrorResponse') {
20
+ throw this.createError(result.message || 'Unknown error from server');
21
+ }
22
+ if (variantName !== 'WsdbGetTreeInfoResponse') {
23
+ throw new Error(`Expected variant name 'WsdbGetTreeInfoResponse' but got '${variantName}'`);
24
+ }
25
+ return toWsdbGetTreeInfoResponse(result);
26
+ }
27
+ getStateReference(command) {
28
+ const msgpackCommand = fromWsdbGetStateReference(command);
29
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetStateReference", msgpackCommand]]);
30
+ if (variantName === 'WsdbErrorResponse') {
31
+ throw this.createError(result.message || 'Unknown error from server');
32
+ }
33
+ if (variantName !== 'WsdbGetStateReferenceResponse') {
34
+ throw new Error(`Expected variant name 'WsdbGetStateReferenceResponse' but got '${variantName}'`);
35
+ }
36
+ return toWsdbGetStateReferenceResponse(result);
37
+ }
38
+ getInitialStateReference(command) {
39
+ const msgpackCommand = fromWsdbGetInitialStateReference(command);
40
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetInitialStateReference", msgpackCommand]]);
41
+ if (variantName === 'WsdbErrorResponse') {
42
+ throw this.createError(result.message || 'Unknown error from server');
43
+ }
44
+ if (variantName !== 'WsdbGetInitialStateReferenceResponse') {
45
+ throw new Error(`Expected variant name 'WsdbGetInitialStateReferenceResponse' but got '${variantName}'`);
46
+ }
47
+ return toWsdbGetInitialStateReferenceResponse(result);
48
+ }
49
+ getLeafValue(command) {
50
+ const msgpackCommand = fromWsdbGetLeafValue(command);
51
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetLeafValue", msgpackCommand]]);
52
+ if (variantName === 'WsdbErrorResponse') {
53
+ throw this.createError(result.message || 'Unknown error from server');
54
+ }
55
+ if (variantName !== 'WsdbGetLeafValueResponse') {
56
+ throw new Error(`Expected variant name 'WsdbGetLeafValueResponse' but got '${variantName}'`);
57
+ }
58
+ return toWsdbGetLeafValueResponse(result);
59
+ }
60
+ getPublicDataLeafValue(command) {
61
+ const msgpackCommand = fromWsdbGetPublicDataLeafValue(command);
62
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetPublicDataLeafValue", msgpackCommand]]);
63
+ if (variantName === 'WsdbErrorResponse') {
64
+ throw this.createError(result.message || 'Unknown error from server');
65
+ }
66
+ if (variantName !== 'WsdbGetPublicDataLeafValueResponse') {
67
+ throw new Error(`Expected variant name 'WsdbGetPublicDataLeafValueResponse' but got '${variantName}'`);
68
+ }
69
+ return toWsdbGetPublicDataLeafValueResponse(result);
70
+ }
71
+ getNullifierLeafValue(command) {
72
+ const msgpackCommand = fromWsdbGetNullifierLeafValue(command);
73
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetNullifierLeafValue", msgpackCommand]]);
74
+ if (variantName === 'WsdbErrorResponse') {
75
+ throw this.createError(result.message || 'Unknown error from server');
76
+ }
77
+ if (variantName !== 'WsdbGetNullifierLeafValueResponse') {
78
+ throw new Error(`Expected variant name 'WsdbGetNullifierLeafValueResponse' but got '${variantName}'`);
79
+ }
80
+ return toWsdbGetNullifierLeafValueResponse(result);
81
+ }
82
+ getPublicDataLeafPreimage(command) {
83
+ const msgpackCommand = fromWsdbGetPublicDataLeafPreimage(command);
84
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetPublicDataLeafPreimage", msgpackCommand]]);
85
+ if (variantName === 'WsdbErrorResponse') {
86
+ throw this.createError(result.message || 'Unknown error from server');
87
+ }
88
+ if (variantName !== 'WsdbGetPublicDataLeafPreimageResponse') {
89
+ throw new Error(`Expected variant name 'WsdbGetPublicDataLeafPreimageResponse' but got '${variantName}'`);
90
+ }
91
+ return toWsdbGetPublicDataLeafPreimageResponse(result);
92
+ }
93
+ getNullifierLeafPreimage(command) {
94
+ const msgpackCommand = fromWsdbGetNullifierLeafPreimage(command);
95
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetNullifierLeafPreimage", msgpackCommand]]);
96
+ if (variantName === 'WsdbErrorResponse') {
97
+ throw this.createError(result.message || 'Unknown error from server');
98
+ }
99
+ if (variantName !== 'WsdbGetNullifierLeafPreimageResponse') {
100
+ throw new Error(`Expected variant name 'WsdbGetNullifierLeafPreimageResponse' but got '${variantName}'`);
101
+ }
102
+ return toWsdbGetNullifierLeafPreimageResponse(result);
103
+ }
104
+ getSiblingPath(command) {
105
+ const msgpackCommand = fromWsdbGetSiblingPath(command);
106
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetSiblingPath", msgpackCommand]]);
107
+ if (variantName === 'WsdbErrorResponse') {
108
+ throw this.createError(result.message || 'Unknown error from server');
109
+ }
110
+ if (variantName !== 'WsdbGetSiblingPathResponse') {
111
+ throw new Error(`Expected variant name 'WsdbGetSiblingPathResponse' but got '${variantName}'`);
112
+ }
113
+ return toWsdbGetSiblingPathResponse(result);
114
+ }
115
+ getBlockNumbersForLeafIndices(command) {
116
+ const msgpackCommand = fromWsdbGetBlockNumbersForLeafIndices(command);
117
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetBlockNumbersForLeafIndices", msgpackCommand]]);
118
+ if (variantName === 'WsdbErrorResponse') {
119
+ throw this.createError(result.message || 'Unknown error from server');
120
+ }
121
+ if (variantName !== 'WsdbGetBlockNumbersForLeafIndicesResponse') {
122
+ throw new Error(`Expected variant name 'WsdbGetBlockNumbersForLeafIndicesResponse' but got '${variantName}'`);
123
+ }
124
+ return toWsdbGetBlockNumbersForLeafIndicesResponse(result);
125
+ }
126
+ findLeafIndices(command) {
127
+ const msgpackCommand = fromWsdbFindLeafIndices(command);
128
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbFindLeafIndices", msgpackCommand]]);
129
+ if (variantName === 'WsdbErrorResponse') {
130
+ throw this.createError(result.message || 'Unknown error from server');
131
+ }
132
+ if (variantName !== 'WsdbFindLeafIndicesResponse') {
133
+ throw new Error(`Expected variant name 'WsdbFindLeafIndicesResponse' but got '${variantName}'`);
134
+ }
135
+ return toWsdbFindLeafIndicesResponse(result);
136
+ }
137
+ findPublicDataLeafIndices(command) {
138
+ const msgpackCommand = fromWsdbFindPublicDataLeafIndices(command);
139
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbFindPublicDataLeafIndices", msgpackCommand]]);
140
+ if (variantName === 'WsdbErrorResponse') {
141
+ throw this.createError(result.message || 'Unknown error from server');
142
+ }
143
+ if (variantName !== 'WsdbFindPublicDataLeafIndicesResponse') {
144
+ throw new Error(`Expected variant name 'WsdbFindPublicDataLeafIndicesResponse' but got '${variantName}'`);
145
+ }
146
+ return toWsdbFindPublicDataLeafIndicesResponse(result);
147
+ }
148
+ findNullifierLeafIndices(command) {
149
+ const msgpackCommand = fromWsdbFindNullifierLeafIndices(command);
150
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbFindNullifierLeafIndices", msgpackCommand]]);
151
+ if (variantName === 'WsdbErrorResponse') {
152
+ throw this.createError(result.message || 'Unknown error from server');
153
+ }
154
+ if (variantName !== 'WsdbFindNullifierLeafIndicesResponse') {
155
+ throw new Error(`Expected variant name 'WsdbFindNullifierLeafIndicesResponse' but got '${variantName}'`);
156
+ }
157
+ return toWsdbFindNullifierLeafIndicesResponse(result);
158
+ }
159
+ findLowLeaf(command) {
160
+ const msgpackCommand = fromWsdbFindLowLeaf(command);
161
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbFindLowLeaf", msgpackCommand]]);
162
+ if (variantName === 'WsdbErrorResponse') {
163
+ throw this.createError(result.message || 'Unknown error from server');
164
+ }
165
+ if (variantName !== 'WsdbFindLowLeafResponse') {
166
+ throw new Error(`Expected variant name 'WsdbFindLowLeafResponse' but got '${variantName}'`);
167
+ }
168
+ return toWsdbFindLowLeafResponse(result);
169
+ }
170
+ findSiblingPaths(command) {
171
+ const msgpackCommand = fromWsdbFindSiblingPaths(command);
172
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbFindSiblingPaths", msgpackCommand]]);
173
+ if (variantName === 'WsdbErrorResponse') {
174
+ throw this.createError(result.message || 'Unknown error from server');
175
+ }
176
+ if (variantName !== 'WsdbFindSiblingPathsResponse') {
177
+ throw new Error(`Expected variant name 'WsdbFindSiblingPathsResponse' but got '${variantName}'`);
178
+ }
179
+ return toWsdbFindSiblingPathsResponse(result);
180
+ }
181
+ findPublicDataSiblingPaths(command) {
182
+ const msgpackCommand = fromWsdbFindPublicDataSiblingPaths(command);
183
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbFindPublicDataSiblingPaths", msgpackCommand]]);
184
+ if (variantName === 'WsdbErrorResponse') {
185
+ throw this.createError(result.message || 'Unknown error from server');
186
+ }
187
+ if (variantName !== 'WsdbFindPublicDataSiblingPathsResponse') {
188
+ throw new Error(`Expected variant name 'WsdbFindPublicDataSiblingPathsResponse' but got '${variantName}'`);
189
+ }
190
+ return toWsdbFindPublicDataSiblingPathsResponse(result);
191
+ }
192
+ findNullifierSiblingPaths(command) {
193
+ const msgpackCommand = fromWsdbFindNullifierSiblingPaths(command);
194
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbFindNullifierSiblingPaths", msgpackCommand]]);
195
+ if (variantName === 'WsdbErrorResponse') {
196
+ throw this.createError(result.message || 'Unknown error from server');
197
+ }
198
+ if (variantName !== 'WsdbFindNullifierSiblingPathsResponse') {
199
+ throw new Error(`Expected variant name 'WsdbFindNullifierSiblingPathsResponse' but got '${variantName}'`);
200
+ }
201
+ return toWsdbFindNullifierSiblingPathsResponse(result);
202
+ }
203
+ appendLeaves(command) {
204
+ const msgpackCommand = fromWsdbAppendLeaves(command);
205
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbAppendLeaves", msgpackCommand]]);
206
+ if (variantName === 'WsdbErrorResponse') {
207
+ throw this.createError(result.message || 'Unknown error from server');
208
+ }
209
+ if (variantName !== 'WsdbAppendLeavesResponse') {
210
+ throw new Error(`Expected variant name 'WsdbAppendLeavesResponse' but got '${variantName}'`);
211
+ }
212
+ return toWsdbAppendLeavesResponse(result);
213
+ }
214
+ appendPublicDataLeaves(command) {
215
+ const msgpackCommand = fromWsdbAppendPublicDataLeaves(command);
216
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbAppendPublicDataLeaves", msgpackCommand]]);
217
+ if (variantName === 'WsdbErrorResponse') {
218
+ throw this.createError(result.message || 'Unknown error from server');
219
+ }
220
+ if (variantName !== 'WsdbAppendPublicDataLeavesResponse') {
221
+ throw new Error(`Expected variant name 'WsdbAppendPublicDataLeavesResponse' but got '${variantName}'`);
222
+ }
223
+ return toWsdbAppendPublicDataLeavesResponse(result);
224
+ }
225
+ appendNullifierLeaves(command) {
226
+ const msgpackCommand = fromWsdbAppendNullifierLeaves(command);
227
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbAppendNullifierLeaves", msgpackCommand]]);
228
+ if (variantName === 'WsdbErrorResponse') {
229
+ throw this.createError(result.message || 'Unknown error from server');
230
+ }
231
+ if (variantName !== 'WsdbAppendNullifierLeavesResponse') {
232
+ throw new Error(`Expected variant name 'WsdbAppendNullifierLeavesResponse' but got '${variantName}'`);
233
+ }
234
+ return toWsdbAppendNullifierLeavesResponse(result);
235
+ }
236
+ batchInsertPublicData(command) {
237
+ const msgpackCommand = fromWsdbBatchInsertPublicData(command);
238
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbBatchInsertPublicData", msgpackCommand]]);
239
+ if (variantName === 'WsdbErrorResponse') {
240
+ throw this.createError(result.message || 'Unknown error from server');
241
+ }
242
+ if (variantName !== 'WsdbBatchInsertPublicDataResponse') {
243
+ throw new Error(`Expected variant name 'WsdbBatchInsertPublicDataResponse' but got '${variantName}'`);
244
+ }
245
+ return toWsdbBatchInsertPublicDataResponse(result);
246
+ }
247
+ batchInsertNullifier(command) {
248
+ const msgpackCommand = fromWsdbBatchInsertNullifier(command);
249
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbBatchInsertNullifier", msgpackCommand]]);
250
+ if (variantName === 'WsdbErrorResponse') {
251
+ throw this.createError(result.message || 'Unknown error from server');
252
+ }
253
+ if (variantName !== 'WsdbBatchInsertNullifierResponse') {
254
+ throw new Error(`Expected variant name 'WsdbBatchInsertNullifierResponse' but got '${variantName}'`);
255
+ }
256
+ return toWsdbBatchInsertNullifierResponse(result);
257
+ }
258
+ sequentialInsertPublicData(command) {
259
+ const msgpackCommand = fromWsdbSequentialInsertPublicData(command);
260
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbSequentialInsertPublicData", msgpackCommand]]);
261
+ if (variantName === 'WsdbErrorResponse') {
262
+ throw this.createError(result.message || 'Unknown error from server');
263
+ }
264
+ if (variantName !== 'WsdbSequentialInsertPublicDataResponse') {
265
+ throw new Error(`Expected variant name 'WsdbSequentialInsertPublicDataResponse' but got '${variantName}'`);
266
+ }
267
+ return toWsdbSequentialInsertPublicDataResponse(result);
268
+ }
269
+ sequentialInsertNullifier(command) {
270
+ const msgpackCommand = fromWsdbSequentialInsertNullifier(command);
271
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbSequentialInsertNullifier", msgpackCommand]]);
272
+ if (variantName === 'WsdbErrorResponse') {
273
+ throw this.createError(result.message || 'Unknown error from server');
274
+ }
275
+ if (variantName !== 'WsdbSequentialInsertNullifierResponse') {
276
+ throw new Error(`Expected variant name 'WsdbSequentialInsertNullifierResponse' but got '${variantName}'`);
277
+ }
278
+ return toWsdbSequentialInsertNullifierResponse(result);
279
+ }
280
+ updateArchive(command) {
281
+ const msgpackCommand = fromWsdbUpdateArchive(command);
282
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbUpdateArchive", msgpackCommand]]);
283
+ if (variantName === 'WsdbErrorResponse') {
284
+ throw this.createError(result.message || 'Unknown error from server');
285
+ }
286
+ if (variantName !== 'WsdbUpdateArchiveResponse') {
287
+ throw new Error(`Expected variant name 'WsdbUpdateArchiveResponse' but got '${variantName}'`);
288
+ }
289
+ return toWsdbUpdateArchiveResponse(result);
290
+ }
291
+ commit(command) {
292
+ const msgpackCommand = fromWsdbCommit(command);
293
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbCommit", msgpackCommand]]);
294
+ if (variantName === 'WsdbErrorResponse') {
295
+ throw this.createError(result.message || 'Unknown error from server');
296
+ }
297
+ if (variantName !== 'WsdbCommitResponse') {
298
+ throw new Error(`Expected variant name 'WsdbCommitResponse' but got '${variantName}'`);
299
+ }
300
+ return toWsdbCommitResponse(result);
301
+ }
302
+ rollback(command) {
303
+ const msgpackCommand = fromWsdbRollback(command);
304
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbRollback", msgpackCommand]]);
305
+ if (variantName === 'WsdbErrorResponse') {
306
+ throw this.createError(result.message || 'Unknown error from server');
307
+ }
308
+ if (variantName !== 'WsdbRollbackResponse') {
309
+ throw new Error(`Expected variant name 'WsdbRollbackResponse' but got '${variantName}'`);
310
+ }
311
+ return toWsdbRollbackResponse(result);
312
+ }
313
+ syncBlock(command) {
314
+ const msgpackCommand = fromWsdbSyncBlock(command);
315
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbSyncBlock", msgpackCommand]]);
316
+ if (variantName === 'WsdbErrorResponse') {
317
+ throw this.createError(result.message || 'Unknown error from server');
318
+ }
319
+ if (variantName !== 'WsdbSyncBlockResponse') {
320
+ throw new Error(`Expected variant name 'WsdbSyncBlockResponse' but got '${variantName}'`);
321
+ }
322
+ return toWsdbSyncBlockResponse(result);
323
+ }
324
+ createFork(command) {
325
+ const msgpackCommand = fromWsdbCreateFork(command);
326
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbCreateFork", msgpackCommand]]);
327
+ if (variantName === 'WsdbErrorResponse') {
328
+ throw this.createError(result.message || 'Unknown error from server');
329
+ }
330
+ if (variantName !== 'WsdbCreateForkResponse') {
331
+ throw new Error(`Expected variant name 'WsdbCreateForkResponse' but got '${variantName}'`);
332
+ }
333
+ return toWsdbCreateForkResponse(result);
334
+ }
335
+ deleteFork(command) {
336
+ const msgpackCommand = fromWsdbDeleteFork(command);
337
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbDeleteFork", msgpackCommand]]);
338
+ if (variantName === 'WsdbErrorResponse') {
339
+ throw this.createError(result.message || 'Unknown error from server');
340
+ }
341
+ if (variantName !== 'WsdbDeleteForkResponse') {
342
+ throw new Error(`Expected variant name 'WsdbDeleteForkResponse' but got '${variantName}'`);
343
+ }
344
+ return toWsdbDeleteForkResponse(result);
345
+ }
346
+ finalizeBlocks(command) {
347
+ const msgpackCommand = fromWsdbFinalizeBlocks(command);
348
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbFinalizeBlocks", msgpackCommand]]);
349
+ if (variantName === 'WsdbErrorResponse') {
350
+ throw this.createError(result.message || 'Unknown error from server');
351
+ }
352
+ if (variantName !== 'WsdbFinalizeBlocksResponse') {
353
+ throw new Error(`Expected variant name 'WsdbFinalizeBlocksResponse' but got '${variantName}'`);
354
+ }
355
+ return toWsdbFinalizeBlocksResponse(result);
356
+ }
357
+ unwindBlocks(command) {
358
+ const msgpackCommand = fromWsdbUnwindBlocks(command);
359
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbUnwindBlocks", msgpackCommand]]);
360
+ if (variantName === 'WsdbErrorResponse') {
361
+ throw this.createError(result.message || 'Unknown error from server');
362
+ }
363
+ if (variantName !== 'WsdbUnwindBlocksResponse') {
364
+ throw new Error(`Expected variant name 'WsdbUnwindBlocksResponse' but got '${variantName}'`);
365
+ }
366
+ return toWsdbUnwindBlocksResponse(result);
367
+ }
368
+ removeHistoricalBlocks(command) {
369
+ const msgpackCommand = fromWsdbRemoveHistoricalBlocks(command);
370
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbRemoveHistoricalBlocks", msgpackCommand]]);
371
+ if (variantName === 'WsdbErrorResponse') {
372
+ throw this.createError(result.message || 'Unknown error from server');
373
+ }
374
+ if (variantName !== 'WsdbRemoveHistoricalBlocksResponse') {
375
+ throw new Error(`Expected variant name 'WsdbRemoveHistoricalBlocksResponse' but got '${variantName}'`);
376
+ }
377
+ return toWsdbRemoveHistoricalBlocksResponse(result);
378
+ }
379
+ getStatus(command) {
380
+ const msgpackCommand = fromWsdbGetStatus(command);
381
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbGetStatus", msgpackCommand]]);
382
+ if (variantName === 'WsdbErrorResponse') {
383
+ throw this.createError(result.message || 'Unknown error from server');
384
+ }
385
+ if (variantName !== 'WsdbGetStatusResponse') {
386
+ throw new Error(`Expected variant name 'WsdbGetStatusResponse' but got '${variantName}'`);
387
+ }
388
+ return toWsdbGetStatusResponse(result);
389
+ }
390
+ createCheckpoint(command) {
391
+ const msgpackCommand = fromWsdbCreateCheckpoint(command);
392
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbCreateCheckpoint", msgpackCommand]]);
393
+ if (variantName === 'WsdbErrorResponse') {
394
+ throw this.createError(result.message || 'Unknown error from server');
395
+ }
396
+ if (variantName !== 'WsdbCreateCheckpointResponse') {
397
+ throw new Error(`Expected variant name 'WsdbCreateCheckpointResponse' but got '${variantName}'`);
398
+ }
399
+ return toWsdbCreateCheckpointResponse(result);
400
+ }
401
+ commitCheckpoint(command) {
402
+ const msgpackCommand = fromWsdbCommitCheckpoint(command);
403
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbCommitCheckpoint", msgpackCommand]]);
404
+ if (variantName === 'WsdbErrorResponse') {
405
+ throw this.createError(result.message || 'Unknown error from server');
406
+ }
407
+ if (variantName !== 'WsdbCommitCheckpointResponse') {
408
+ throw new Error(`Expected variant name 'WsdbCommitCheckpointResponse' but got '${variantName}'`);
409
+ }
410
+ return toWsdbCommitCheckpointResponse(result);
411
+ }
412
+ revertCheckpoint(command) {
413
+ const msgpackCommand = fromWsdbRevertCheckpoint(command);
414
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbRevertCheckpoint", msgpackCommand]]);
415
+ if (variantName === 'WsdbErrorResponse') {
416
+ throw this.createError(result.message || 'Unknown error from server');
417
+ }
418
+ if (variantName !== 'WsdbRevertCheckpointResponse') {
419
+ throw new Error(`Expected variant name 'WsdbRevertCheckpointResponse' but got '${variantName}'`);
420
+ }
421
+ return toWsdbRevertCheckpointResponse(result);
422
+ }
423
+ commitAllCheckpoints(command) {
424
+ const msgpackCommand = fromWsdbCommitAllCheckpoints(command);
425
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbCommitAllCheckpoints", msgpackCommand]]);
426
+ if (variantName === 'WsdbErrorResponse') {
427
+ throw this.createError(result.message || 'Unknown error from server');
428
+ }
429
+ if (variantName !== 'WsdbCommitAllCheckpointsResponse') {
430
+ throw new Error(`Expected variant name 'WsdbCommitAllCheckpointsResponse' but got '${variantName}'`);
431
+ }
432
+ return toWsdbCommitAllCheckpointsResponse(result);
433
+ }
434
+ revertAllCheckpoints(command) {
435
+ const msgpackCommand = fromWsdbRevertAllCheckpoints(command);
436
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbRevertAllCheckpoints", msgpackCommand]]);
437
+ if (variantName === 'WsdbErrorResponse') {
438
+ throw this.createError(result.message || 'Unknown error from server');
439
+ }
440
+ if (variantName !== 'WsdbRevertAllCheckpointsResponse') {
441
+ throw new Error(`Expected variant name 'WsdbRevertAllCheckpointsResponse' but got '${variantName}'`);
442
+ }
443
+ return toWsdbRevertAllCheckpointsResponse(result);
444
+ }
445
+ copyStores(command) {
446
+ const msgpackCommand = fromWsdbCopyStores(command);
447
+ const [variantName, result] = msgpackCall(this.backend, [["WsdbCopyStores", msgpackCommand]]);
448
+ if (variantName === 'WsdbErrorResponse') {
449
+ throw this.createError(result.message || 'Unknown error from server');
450
+ }
451
+ if (variantName !== 'WsdbCopyStoresResponse') {
452
+ throw new Error(`Expected variant name 'WsdbCopyStoresResponse' but got '${variantName}'`);
453
+ }
454
+ return toWsdbCopyStoresResponse(result);
455
+ }
456
+ destroy() {
457
+ this.backend.destroy();
458
+ }
459
+ }
@@ -0,0 +1,23 @@
1
+ import { AsyncApi, type IpcErrorFactory } from './generated/async.js';
2
+ export * from './generated/api_types.js';
3
+ export { AsyncApi } from './generated/async.js';
4
+ export { SyncApi } from './generated/sync.js';
5
+ export type WsdbTransport = 'uds' | 'shm';
6
+ export interface WsdbServiceOptions {
7
+ binaryPath?: string;
8
+ transport?: WsdbTransport;
9
+ logger?: (msg: string) => void;
10
+ connectTimeoutMs?: number;
11
+ env?: NodeJS.ProcessEnv;
12
+ extraArgs?: string[];
13
+ createError?: IpcErrorFactory;
14
+ napiPath?: string;
15
+ clientId?: number;
16
+ }
17
+ export declare class WsdbService extends AsyncApi {
18
+ private spawnedBackend;
19
+ private constructor();
20
+ static spawn(options?: WsdbServiceOptions): Promise<WsdbService>;
21
+ getIpcPath(): string;
22
+ }
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGtE,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC;AAE1C,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkID,qBAAa,WAAY,SAAQ,QAAQ;IACnB,OAAO,CAAC,cAAc;IAA1C,OAAO;WAIM,KAAK,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAK1E,UAAU,IAAI,MAAM;CAGrB"}
package/dest/index.js ADDED
@@ -0,0 +1,136 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { existsSync, unlinkSync } from 'node:fs';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { threadId } from 'node:worker_threads';
6
+ import { createNapiShmAsyncClient, UdsIpcClient, } from '@aztec/ipc-runtime';
7
+ import { AsyncApi } from './generated/async.js';
8
+ import { findWsdbBinary } from './platform.js';
9
+ export * from './generated/api_types.js';
10
+ export { AsyncApi } from './generated/async.js';
11
+ export { SyncApi } from './generated/sync.js';
12
+ let instanceCounter = 0;
13
+ const DEFAULT_CONNECT_TIMEOUT_MS = 30_000;
14
+ class SpawnedBackend {
15
+ child;
16
+ client;
17
+ ipcPath;
18
+ transport;
19
+ exitPromise;
20
+ constructor(child, client, ipcPath, transport, exitPromise) {
21
+ this.child = child;
22
+ this.client = client;
23
+ this.ipcPath = ipcPath;
24
+ this.transport = transport;
25
+ this.exitPromise = exitPromise;
26
+ }
27
+ static async spawn(options = {}) {
28
+ const binaryPath = findWsdbBinary(options.binaryPath);
29
+ if (!binaryPath) {
30
+ throw new Error('aztec-wsdb binary not found');
31
+ }
32
+ const transport = options.transport ?? 'uds';
33
+ const instanceId = 'wsdb-' + process.pid + '-' + threadId + '-' + instanceCounter++;
34
+ const ipcPath = transport === 'shm'
35
+ ? instanceId + '.shm'
36
+ : join(tmpdir(), instanceId + '.sock');
37
+ if (transport === 'uds' && existsSync(ipcPath)) {
38
+ unlinkSync(ipcPath);
39
+ }
40
+ const ipcPathArgs = ["msgpack", "run", "--input", "{path}"].map((arg) => arg === '{path}' ? ipcPath : arg);
41
+ const child = spawn(binaryPath, [...ipcPathArgs, ...(options.extraArgs ?? [])], {
42
+ stdio: ['ignore', options.logger ? 'pipe' : 'ignore', options.logger ? 'pipe' : 'ignore'],
43
+ env: { ...process.env, ...(options.env ?? {}) },
44
+ });
45
+ if (options.logger) {
46
+ child.stdout?.on('data', (data) => options.logger?.('[aztec-wsdb stdout] ' + data.toString().trimEnd()));
47
+ child.stderr?.on('data', (data) => options.logger?.('[aztec-wsdb stderr] ' + data.toString().trimEnd()));
48
+ }
49
+ const exitPromise = new Promise(resolve => {
50
+ child.on('exit', () => resolve());
51
+ });
52
+ const childReadyFailure = new Promise((_, reject) => {
53
+ child.once('error', reject);
54
+ child.once('exit', (code, signal) => {
55
+ reject(new Error('aztec-wsdb exited before IPC connection was ready (code=' + code + ', signal=' + signal + ')'));
56
+ });
57
+ });
58
+ const client = await Promise.race([connectClient(child, ipcPath, transport, options), childReadyFailure]);
59
+ return new SpawnedBackend(child, client, ipcPath, transport, exitPromise);
60
+ }
61
+ getIpcPath() {
62
+ return this.ipcPath;
63
+ }
64
+ call(input) {
65
+ return this.client.call(input);
66
+ }
67
+ async destroy() {
68
+ await this.client.destroy();
69
+ if (this.child.exitCode === null) {
70
+ this.child.kill('SIGTERM');
71
+ }
72
+ await this.exitPromise;
73
+ this.child.stdout?.destroy();
74
+ this.child.stderr?.destroy();
75
+ this.child.removeAllListeners();
76
+ cleanupIpcPath(this.ipcPath, this.transport);
77
+ }
78
+ }
79
+ async function connectClient(child, ipcPath, transport, options) {
80
+ const timeoutMs = options.connectTimeoutMs ?? DEFAULT_CONNECT_TIMEOUT_MS;
81
+ const deadline = Date.now() + timeoutMs;
82
+ let lastError;
83
+ while (Date.now() <= deadline) {
84
+ if (child.exitCode !== null) {
85
+ throw new Error('aztec-wsdb exited before IPC connection was ready');
86
+ }
87
+ try {
88
+ if (transport === 'uds') {
89
+ return await UdsIpcClient.connect(ipcPath, { connectTimeoutMs: Math.max(1, deadline - Date.now()) });
90
+ }
91
+ if (transport === 'shm') {
92
+ return createNapiShmAsyncClient(ipcPath.replace(/\.shm$/, ''), {
93
+ clientId: options.clientId ?? 0,
94
+ customAddonPath: options.napiPath,
95
+ });
96
+ }
97
+ throw new Error('Unsupported transport: ' + transport);
98
+ }
99
+ catch (err) {
100
+ lastError = err;
101
+ await new Promise(resolve => setTimeout(resolve, 50));
102
+ }
103
+ }
104
+ throw new Error('Timed out connecting to aztec-wsdb: ' + (lastError instanceof Error ? lastError.message : String(lastError)));
105
+ }
106
+ function cleanupIpcPath(ipcPath, transport) {
107
+ try {
108
+ if (transport === 'uds' && existsSync(ipcPath)) {
109
+ unlinkSync(ipcPath);
110
+ }
111
+ if (transport === 'shm') {
112
+ const shmName = ipcPath.replace(/\.shm$/, '');
113
+ for (const suffix of ['_request', '_response']) {
114
+ const shmPath = '/dev/shm/' + shmName + suffix;
115
+ if (existsSync(shmPath)) {
116
+ unlinkSync(shmPath);
117
+ }
118
+ }
119
+ }
120
+ }
121
+ catch { }
122
+ }
123
+ export class WsdbService extends AsyncApi {
124
+ spawnedBackend;
125
+ constructor(spawnedBackend, createError) {
126
+ super(spawnedBackend, createError);
127
+ this.spawnedBackend = spawnedBackend;
128
+ }
129
+ static async spawn(options = {}) {
130
+ const backend = await SpawnedBackend.spawn(options);
131
+ return new WsdbService(backend, options.createError);
132
+ }
133
+ getIpcPath() {
134
+ return this.spawnedBackend.getIpcPath();
135
+ }
136
+ }
@@ -0,0 +1,4 @@
1
+ export type Platform = 'x86_64-linux' | 'x86_64-darwin' | 'aarch64-linux' | 'aarch64-darwin';
2
+ export declare function findWsdbBinary(customPath?: string): string | null;
3
+ export declare const ARCH_PACKAGE_STEM = "wsdb";
4
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAgC7F,wBAAgB,cAAc,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwBjE;AAED,eAAO,MAAM,iBAAiB,SAAS,CAAC"}