@automerge/subduction 0.4.2-alpha.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 (37) hide show
  1. package/README.md +40 -0
  2. package/dist/@automerge/subduction.wasm +0 -0
  3. package/dist/cjs/node.cjs +1 -0
  4. package/dist/cjs/slim.cjs +4297 -0
  5. package/dist/cjs/wasm-base64.cjs +1 -0
  6. package/dist/cjs/web.cjs +4248 -0
  7. package/dist/esm/bundler.js +1 -0
  8. package/dist/esm/node.js +1 -0
  9. package/dist/esm/slim.js +2 -0
  10. package/dist/esm/wasm-base64.js +1 -0
  11. package/dist/esm/web.js +5 -0
  12. package/dist/esm/workerd.js +5 -0
  13. package/dist/iife/index.js +4211 -0
  14. package/dist/index.d.ts +1344 -0
  15. package/dist/wasm_bindgen/bundler/snippets/sedimentree_wasm-02bbe03284226492/inline0.js +2 -0
  16. package/dist/wasm_bindgen/bundler/snippets/sedimentree_wasm-02bbe03284226492/inline1.js +2 -0
  17. package/dist/wasm_bindgen/bundler/snippets/sedimentree_wasm-02bbe03284226492/inline2.js +2 -0
  18. package/dist/wasm_bindgen/bundler/subduction_wasm.d.ts +1344 -0
  19. package/dist/wasm_bindgen/bundler/subduction_wasm.js +9 -0
  20. package/dist/wasm_bindgen/bundler/subduction_wasm_bg.js +4288 -0
  21. package/dist/wasm_bindgen/bundler/subduction_wasm_bg.wasm +0 -0
  22. package/dist/wasm_bindgen/bundler/subduction_wasm_bg.wasm.d.ts +213 -0
  23. package/dist/wasm_bindgen/nodejs/snippets/sedimentree_wasm-02bbe03284226492/inline0.js +2 -0
  24. package/dist/wasm_bindgen/nodejs/snippets/sedimentree_wasm-02bbe03284226492/inline1.js +2 -0
  25. package/dist/wasm_bindgen/nodejs/snippets/sedimentree_wasm-02bbe03284226492/inline2.js +2 -0
  26. package/dist/wasm_bindgen/nodejs/subduction_wasm.cjs +4326 -0
  27. package/dist/wasm_bindgen/nodejs/subduction_wasm.d.ts +1344 -0
  28. package/dist/wasm_bindgen/nodejs/subduction_wasm_bg.wasm +0 -0
  29. package/dist/wasm_bindgen/nodejs/subduction_wasm_bg.wasm.d.ts +213 -0
  30. package/dist/wasm_bindgen/web/snippets/sedimentree_wasm-02bbe03284226492/inline0.js +2 -0
  31. package/dist/wasm_bindgen/web/snippets/sedimentree_wasm-02bbe03284226492/inline1.js +2 -0
  32. package/dist/wasm_bindgen/web/snippets/sedimentree_wasm-02bbe03284226492/inline2.js +2 -0
  33. package/dist/wasm_bindgen/web/subduction_wasm.d.ts +1582 -0
  34. package/dist/wasm_bindgen/web/subduction_wasm.js +4386 -0
  35. package/dist/wasm_bindgen/web/subduction_wasm_bg.wasm +0 -0
  36. package/dist/wasm_bindgen/web/subduction_wasm_bg.wasm.d.ts +213 -0
  37. package/package.json +91 -0
@@ -0,0 +1,4386 @@
1
+ /* @ts-self-types="./subduction_wasm.d.ts" */
2
+ import { tryIntoJsSedimentreeIdsArray } from './snippets/sedimentree_wasm-02bbe03284226492/inline2.js';
3
+
4
+ /**
5
+ * An authenticated HTTP long-poll connection.
6
+ *
7
+ * This wrapper proves that the connection has completed the Subduction handshake
8
+ * and the peer identity has been cryptographically verified.
9
+ *
10
+ * Obtain via [`SubductionLongPoll::tryConnect`] or [`SubductionLongPoll::tryDiscover`].
11
+ */
12
+ export class AuthenticatedLongPoll {
13
+ static __wrap(ptr) {
14
+ ptr = ptr >>> 0;
15
+ const obj = Object.create(AuthenticatedLongPoll.prototype);
16
+ obj.__wbg_ptr = ptr;
17
+ AuthenticatedLongPollFinalization.register(obj, obj.__wbg_ptr, obj);
18
+ return obj;
19
+ }
20
+ __destroy_into_raw() {
21
+ const ptr = this.__wbg_ptr;
22
+ this.__wbg_ptr = 0;
23
+ AuthenticatedLongPollFinalization.unregister(this);
24
+ return ptr;
25
+ }
26
+ free() {
27
+ const ptr = this.__destroy_into_raw();
28
+ wasm.__wbg_authenticatedlongpoll_free(ptr, 0);
29
+ }
30
+ /**
31
+ * The verified peer identity.
32
+ * @returns {PeerId}
33
+ */
34
+ get peerId() {
35
+ const ret = wasm.authenticatedlongpoll_peerId(this.__wbg_ptr);
36
+ return PeerId.__wrap(ret);
37
+ }
38
+ /**
39
+ * The session ID assigned by the server.
40
+ * @returns {string}
41
+ */
42
+ get sessionId() {
43
+ let deferred1_0;
44
+ let deferred1_1;
45
+ try {
46
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
47
+ wasm.authenticatedlongpoll_sessionId(retptr, this.__wbg_ptr);
48
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
49
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
50
+ deferred1_0 = r0;
51
+ deferred1_1 = r1;
52
+ return getStringFromWasm0(r0, r1);
53
+ } finally {
54
+ wasm.__wbindgen_add_to_stack_pointer(16);
55
+ wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
56
+ }
57
+ }
58
+ }
59
+ if (Symbol.dispose) AuthenticatedLongPoll.prototype[Symbol.dispose] = AuthenticatedLongPoll.prototype.free;
60
+
61
+ /**
62
+ * An authenticated WebSocket connection.
63
+ *
64
+ * This wrapper proves that the connection has completed the Subduction handshake
65
+ * and the peer identity has been cryptographically verified.
66
+ *
67
+ * Obtain via [`SubductionWebSocket::setup`], [`SubductionWebSocket::tryConnect`],
68
+ * or [`SubductionWebSocket::tryDiscover`].
69
+ */
70
+ export class AuthenticatedWebSocket {
71
+ static __wrap(ptr) {
72
+ ptr = ptr >>> 0;
73
+ const obj = Object.create(AuthenticatedWebSocket.prototype);
74
+ obj.__wbg_ptr = ptr;
75
+ AuthenticatedWebSocketFinalization.register(obj, obj.__wbg_ptr, obj);
76
+ return obj;
77
+ }
78
+ __destroy_into_raw() {
79
+ const ptr = this.__wbg_ptr;
80
+ this.__wbg_ptr = 0;
81
+ AuthenticatedWebSocketFinalization.unregister(this);
82
+ return ptr;
83
+ }
84
+ free() {
85
+ const ptr = this.__destroy_into_raw();
86
+ wasm.__wbg_authenticatedwebsocket_free(ptr, 0);
87
+ }
88
+ /**
89
+ * The verified peer identity.
90
+ * @returns {PeerId}
91
+ */
92
+ get peerId() {
93
+ const ret = wasm.authenticatedwebsocket_peerId(this.__wbg_ptr);
94
+ return PeerId.__wrap(ret);
95
+ }
96
+ }
97
+ if (Symbol.dispose) AuthenticatedWebSocket.prototype[Symbol.dispose] = AuthenticatedWebSocket.prototype.free;
98
+
99
+ /**
100
+ * Wasm wrapper for [`BatchSyncRequest`].
101
+ */
102
+ export class BatchSyncRequest {
103
+ static __wrap(ptr) {
104
+ ptr = ptr >>> 0;
105
+ const obj = Object.create(BatchSyncRequest.prototype);
106
+ obj.__wbg_ptr = ptr;
107
+ BatchSyncRequestFinalization.register(obj, obj.__wbg_ptr, obj);
108
+ return obj;
109
+ }
110
+ __destroy_into_raw() {
111
+ const ptr = this.__wbg_ptr;
112
+ this.__wbg_ptr = 0;
113
+ BatchSyncRequestFinalization.unregister(this);
114
+ return ptr;
115
+ }
116
+ free() {
117
+ const ptr = this.__destroy_into_raw();
118
+ wasm.__wbg_batchsyncrequest_free(ptr, 0);
119
+ }
120
+ /**
121
+ * The sedimentree ID this request corresponds to.
122
+ * @returns {SedimentreeId}
123
+ */
124
+ id() {
125
+ const ret = wasm.batchsyncrequest_id(this.__wbg_ptr);
126
+ return SedimentreeId.__wrap(ret);
127
+ }
128
+ /**
129
+ * The request ID for this request.
130
+ * @returns {RequestId}
131
+ */
132
+ request_id() {
133
+ const ret = wasm.batchsyncrequest_request_id(this.__wbg_ptr);
134
+ return RequestId.__wrap(ret);
135
+ }
136
+ /**
137
+ * Whether this request subscribes to future updates.
138
+ * @returns {boolean}
139
+ */
140
+ subscribe() {
141
+ const ret = wasm.batchsyncrequest_subscribe(this.__wbg_ptr);
142
+ return ret !== 0;
143
+ }
144
+ }
145
+ if (Symbol.dispose) BatchSyncRequest.prototype[Symbol.dispose] = BatchSyncRequest.prototype.free;
146
+
147
+ /**
148
+ * Wasm wrapper for [`BatchSyncResponse`].
149
+ */
150
+ export class BatchSyncResponse {
151
+ static __wrap(ptr) {
152
+ ptr = ptr >>> 0;
153
+ const obj = Object.create(BatchSyncResponse.prototype);
154
+ obj.__wbg_ptr = ptr;
155
+ BatchSyncResponseFinalization.register(obj, obj.__wbg_ptr, obj);
156
+ return obj;
157
+ }
158
+ __destroy_into_raw() {
159
+ const ptr = this.__wbg_ptr;
160
+ this.__wbg_ptr = 0;
161
+ BatchSyncResponseFinalization.unregister(this);
162
+ return ptr;
163
+ }
164
+ free() {
165
+ const ptr = this.__destroy_into_raw();
166
+ wasm.__wbg_batchsyncresponse_free(ptr, 0);
167
+ }
168
+ /**
169
+ * Upcasts; to the JS-import type for [`WasmBatchSyncResponse`].
170
+ * @returns {BatchSyncResponse}
171
+ */
172
+ __wasm_refgen_toWasmBatchSyncResponse() {
173
+ const ret = wasm.batchsyncresponse___wasm_refgen_toWasmBatchSyncResponse(this.__wbg_ptr);
174
+ return BatchSyncResponse.__wrap(ret);
175
+ }
176
+ /**
177
+ * The sedimentree ID this response corresponds to.
178
+ * @returns {SedimentreeId}
179
+ */
180
+ id() {
181
+ const ret = wasm.batchsyncresponse_id(this.__wbg_ptr);
182
+ return SedimentreeId.__wrap(ret);
183
+ }
184
+ /**
185
+ * The request ID this response corresponds to.
186
+ * @returns {RequestId}
187
+ */
188
+ request_id() {
189
+ const ret = wasm.batchsyncresponse_request_id(this.__wbg_ptr);
190
+ return RequestId.__wrap(ret);
191
+ }
192
+ }
193
+ if (Symbol.dispose) BatchSyncResponse.prototype[Symbol.dispose] = BatchSyncResponse.prototype.free;
194
+
195
+ /**
196
+ * A Wasm wrapper around the [`BlobMeta`] type.
197
+ */
198
+ export class BlobMeta {
199
+ static __wrap(ptr) {
200
+ ptr = ptr >>> 0;
201
+ const obj = Object.create(BlobMeta.prototype);
202
+ obj.__wbg_ptr = ptr;
203
+ BlobMetaFinalization.register(obj, obj.__wbg_ptr, obj);
204
+ return obj;
205
+ }
206
+ __destroy_into_raw() {
207
+ const ptr = this.__wbg_ptr;
208
+ this.__wbg_ptr = 0;
209
+ BlobMetaFinalization.unregister(this);
210
+ return ptr;
211
+ }
212
+ free() {
213
+ const ptr = this.__destroy_into_raw();
214
+ wasm.__wbg_blobmeta_free(ptr, 0);
215
+ }
216
+ /**
217
+ * Get the digest of the blob.
218
+ * @returns {Digest}
219
+ */
220
+ digest() {
221
+ const ret = wasm.blobmeta_digest(this.__wbg_ptr);
222
+ return Digest.__wrap(ret);
223
+ }
224
+ /**
225
+ * Create a `BlobMeta` from a digest and size.
226
+ *
227
+ * This is useful for deserialization when the original blob is not available.
228
+ * Since this is manual, the caller must ensure the digest and size are correct.
229
+ * @param {Digest} digest
230
+ * @param {bigint} size_bytes
231
+ * @returns {BlobMeta}
232
+ */
233
+ static fromDigestSize(digest, size_bytes) {
234
+ _assertClass(digest, Digest);
235
+ const ret = wasm.blobmeta_fromDigestSize(digest.__wbg_ptr, size_bytes);
236
+ return BlobMeta.__wrap(ret);
237
+ }
238
+ /**
239
+ * Create a new `BlobMeta` from the given blob contents.
240
+ * @param {Uint8Array} blob
241
+ */
242
+ constructor(blob) {
243
+ const ptr0 = passArray8ToWasm0(blob, wasm.__wbindgen_export);
244
+ const len0 = WASM_VECTOR_LEN;
245
+ const ret = wasm.blobmeta_new(ptr0, len0);
246
+ this.__wbg_ptr = ret >>> 0;
247
+ BlobMetaFinalization.register(this, this.__wbg_ptr, this);
248
+ return this;
249
+ }
250
+ /**
251
+ * Get the size of the blob in bytes.
252
+ * @returns {bigint}
253
+ */
254
+ get sizeBytes() {
255
+ const ret = wasm.blobmeta_sizeBytes(this.__wbg_ptr);
256
+ return BigInt.asUintN(64, ret);
257
+ }
258
+ }
259
+ if (Symbol.dispose) BlobMeta.prototype[Symbol.dispose] = BlobMeta.prototype.free;
260
+
261
+ /**
262
+ * Wasm wrapper for call errors from the unified transport.
263
+ */
264
+ export class CallError {
265
+ __destroy_into_raw() {
266
+ const ptr = this.__wbg_ptr;
267
+ this.__wbg_ptr = 0;
268
+ CallErrorFinalization.unregister(this);
269
+ return ptr;
270
+ }
271
+ free() {
272
+ const ptr = this.__destroy_into_raw();
273
+ wasm.__wbg_callerror_free(ptr, 0);
274
+ }
275
+ }
276
+ if (Symbol.dispose) CallError.prototype[Symbol.dispose] = CallError.prototype.free;
277
+
278
+ /**
279
+ * A commit stored with its associated blob.
280
+ */
281
+ export class CommitWithBlob {
282
+ static __wrap(ptr) {
283
+ ptr = ptr >>> 0;
284
+ const obj = Object.create(CommitWithBlob.prototype);
285
+ obj.__wbg_ptr = ptr;
286
+ CommitWithBlobFinalization.register(obj, obj.__wbg_ptr, obj);
287
+ return obj;
288
+ }
289
+ __destroy_into_raw() {
290
+ const ptr = this.__wbg_ptr;
291
+ this.__wbg_ptr = 0;
292
+ CommitWithBlobFinalization.unregister(this);
293
+ return ptr;
294
+ }
295
+ free() {
296
+ const ptr = this.__destroy_into_raw();
297
+ wasm.__wbg_commitwithblob_free(ptr, 0);
298
+ }
299
+ /**
300
+ * Upcasts; to the JS-import type for [`WasmCommitWithBlob`].
301
+ * @returns {CommitWithBlob}
302
+ */
303
+ __wasm_refgen_toWasmCommitWithBlob() {
304
+ const ret = wasm.commitwithblob___wasm_refgen_toWasmCommitWithBlob(this.__wbg_ptr);
305
+ return CommitWithBlob.__wrap(ret);
306
+ }
307
+ /**
308
+ * Get the blob.
309
+ * @returns {Uint8Array}
310
+ */
311
+ get blob() {
312
+ const ret = wasm.commitwithblob_blob(this.__wbg_ptr);
313
+ return takeObject(ret);
314
+ }
315
+ /**
316
+ * Create a new commit with blob.
317
+ * @param {SignedLooseCommit} signed
318
+ * @param {Uint8Array} blob
319
+ */
320
+ constructor(signed, blob) {
321
+ _assertClass(signed, SignedLooseCommit);
322
+ var ptr0 = signed.__destroy_into_raw();
323
+ const ret = wasm.commitwithblob_new(ptr0, addHeapObject(blob));
324
+ this.__wbg_ptr = ret >>> 0;
325
+ CommitWithBlobFinalization.register(this, this.__wbg_ptr, this);
326
+ return this;
327
+ }
328
+ /**
329
+ * Get the signed commit.
330
+ * @returns {SignedLooseCommit}
331
+ */
332
+ get signed() {
333
+ const ret = wasm.commitwithblob_signed(this.__wbg_ptr);
334
+ return SignedLooseCommit.__wrap(ret);
335
+ }
336
+ }
337
+ if (Symbol.dispose) CommitWithBlob.prototype[Symbol.dispose] = CommitWithBlob.prototype.free;
338
+
339
+ /**
340
+ * A pair of a connection and an error that occurred during a call.
341
+ */
342
+ export class ConnErrorPair {
343
+ static __wrap(ptr) {
344
+ ptr = ptr >>> 0;
345
+ const obj = Object.create(ConnErrorPair.prototype);
346
+ obj.__wbg_ptr = ptr;
347
+ ConnErrorPairFinalization.register(obj, obj.__wbg_ptr, obj);
348
+ return obj;
349
+ }
350
+ __destroy_into_raw() {
351
+ const ptr = this.__wbg_ptr;
352
+ this.__wbg_ptr = 0;
353
+ ConnErrorPairFinalization.unregister(this);
354
+ return ptr;
355
+ }
356
+ free() {
357
+ const ptr = this.__destroy_into_raw();
358
+ wasm.__wbg_connerrorpair_free(ptr, 0);
359
+ }
360
+ /**
361
+ * The connection that encountered the error.
362
+ * @returns {Connection}
363
+ */
364
+ get conn() {
365
+ const ret = wasm.connerrorpair_conn(this.__wbg_ptr);
366
+ return takeObject(ret);
367
+ }
368
+ /**
369
+ * The error that occurred during the call.
370
+ * @returns {Error}
371
+ */
372
+ get err() {
373
+ const ret = wasm.connerrorpair_err(this.__wbg_ptr);
374
+ return takeObject(ret);
375
+ }
376
+ }
377
+ if (Symbol.dispose) ConnErrorPair.prototype[Symbol.dispose] = ConnErrorPair.prototype.free;
378
+
379
+ /**
380
+ * A Wasm wrapper around the Rust `ConnectionId` type.
381
+ */
382
+ export class ConnectionId {
383
+ __destroy_into_raw() {
384
+ const ptr = this.__wbg_ptr;
385
+ this.__wbg_ptr = 0;
386
+ ConnectionIdFinalization.unregister(this);
387
+ return ptr;
388
+ }
389
+ free() {
390
+ const ptr = this.__destroy_into_raw();
391
+ wasm.__wbg_connectionid_free(ptr, 0);
392
+ }
393
+ }
394
+ if (Symbol.dispose) ConnectionId.prototype[Symbol.dispose] = ConnectionId.prototype.free;
395
+
396
+ /**
397
+ * A JavaScript wrapper around `Depth`.
398
+ */
399
+ export class Depth {
400
+ static __wrap(ptr) {
401
+ ptr = ptr >>> 0;
402
+ const obj = Object.create(Depth.prototype);
403
+ obj.__wbg_ptr = ptr;
404
+ DepthFinalization.register(obj, obj.__wbg_ptr, obj);
405
+ return obj;
406
+ }
407
+ __destroy_into_raw() {
408
+ const ptr = this.__wbg_ptr;
409
+ this.__wbg_ptr = 0;
410
+ DepthFinalization.unregister(this);
411
+ return ptr;
412
+ }
413
+ free() {
414
+ const ptr = this.__destroy_into_raw();
415
+ wasm.__wbg_depth_free(ptr, 0);
416
+ }
417
+ /**
418
+ * Internal method for a hack crossing the JS boundary.
419
+ * @returns {Depth}
420
+ */
421
+ __subduction_castToDepth() {
422
+ const ret = wasm.depth___subduction_castToDepth(this.__wbg_ptr);
423
+ return Depth.__wrap(ret);
424
+ }
425
+ /**
426
+ * Upcasts; to the JS-import type for [`WasmDepth`].
427
+ * @returns {Depth}
428
+ */
429
+ __wasm_refgen_toWasmDepth() {
430
+ const ret = wasm.depth___subduction_castToDepth(this.__wbg_ptr);
431
+ return Depth.__wrap(ret);
432
+ }
433
+ /**
434
+ * Creates a new `WasmDepth` from a JavaScript value.
435
+ *
436
+ * # Errors
437
+ *
438
+ * Returns a `NotU32Error` if the JS value is not safely coercible to `u32`.
439
+ * @param {any} js_value
440
+ */
441
+ constructor(js_value) {
442
+ try {
443
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
444
+ wasm.depth_new(retptr, addBorrowedObject(js_value));
445
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
446
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
447
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
448
+ if (r2) {
449
+ throw takeObject(r1);
450
+ }
451
+ this.__wbg_ptr = r0 >>> 0;
452
+ DepthFinalization.register(this, this.__wbg_ptr, this);
453
+ return this;
454
+ } finally {
455
+ wasm.__wbindgen_add_to_stack_pointer(16);
456
+ heap[stack_pointer++] = undefined;
457
+ }
458
+ }
459
+ /**
460
+ * The depth value as an integer.
461
+ * @returns {number}
462
+ */
463
+ get value() {
464
+ const ret = wasm.depth_value(this.__wbg_ptr);
465
+ return ret >>> 0;
466
+ }
467
+ }
468
+ if (Symbol.dispose) Depth.prototype[Symbol.dispose] = Depth.prototype.free;
469
+
470
+ /**
471
+ * A wrapper around digest bytes for use in JavaScript via wasm-bindgen.
472
+ *
473
+ * Since JavaScript doesn't have Rust's type system, this stores raw bytes
474
+ * and converts to/from typed `Digest<T>` at the Rust boundary.
475
+ */
476
+ export class Digest {
477
+ static __wrap(ptr) {
478
+ ptr = ptr >>> 0;
479
+ const obj = Object.create(Digest.prototype);
480
+ obj.__wbg_ptr = ptr;
481
+ DigestFinalization.register(obj, obj.__wbg_ptr, obj);
482
+ return obj;
483
+ }
484
+ static __unwrap(jsValue) {
485
+ if (!(jsValue instanceof Digest)) {
486
+ return 0;
487
+ }
488
+ return jsValue.__destroy_into_raw();
489
+ }
490
+ __destroy_into_raw() {
491
+ const ptr = this.__wbg_ptr;
492
+ this.__wbg_ptr = 0;
493
+ DigestFinalization.unregister(this);
494
+ return ptr;
495
+ }
496
+ free() {
497
+ const ptr = this.__destroy_into_raw();
498
+ wasm.__wbg_digest_free(ptr, 0);
499
+ }
500
+ /**
501
+ * Upcasts; to the JS-import type for [`WasmDigest`].
502
+ * @returns {Digest}
503
+ */
504
+ __wasm_refgen_toWasmDigest() {
505
+ const ret = wasm.digest___wasm_refgen_toWasmDigest(this.__wbg_ptr);
506
+ return Digest.__wrap(ret);
507
+ }
508
+ /**
509
+ * Creates a new digest from its Base58 string representation.
510
+ *
511
+ * # Errors
512
+ *
513
+ * Returns a `WasmInvalidDigest` error if the string cannot be decoded or is not a valid digest.
514
+ * @param {string} s
515
+ * @returns {Digest}
516
+ */
517
+ static fromBase58(s) {
518
+ try {
519
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
520
+ const ptr0 = passStringToWasm0(s, wasm.__wbindgen_export, wasm.__wbindgen_export2);
521
+ const len0 = WASM_VECTOR_LEN;
522
+ wasm.digest_fromBase58(retptr, ptr0, len0);
523
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
524
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
525
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
526
+ if (r2) {
527
+ throw takeObject(r1);
528
+ }
529
+ return Digest.__wrap(r0);
530
+ } finally {
531
+ wasm.__wbindgen_add_to_stack_pointer(16);
532
+ }
533
+ }
534
+ /**
535
+ * Creates a new digest from its byte representation.
536
+ *
537
+ * # Errors
538
+ *
539
+ * Returns a `WasmValue` error if the byte slice is not a valid digest.
540
+ * @param {Uint8Array} bytes
541
+ * @returns {Digest}
542
+ */
543
+ static fromBytes(bytes) {
544
+ try {
545
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
546
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
547
+ const len0 = WASM_VECTOR_LEN;
548
+ wasm.digest_fromBytes(retptr, ptr0, len0);
549
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
550
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
551
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
552
+ if (r2) {
553
+ throw takeObject(r1);
554
+ }
555
+ return Digest.__wrap(r0);
556
+ } finally {
557
+ wasm.__wbindgen_add_to_stack_pointer(16);
558
+ }
559
+ }
560
+ /**
561
+ * Creates a new digest from its hexadecimal string representation.
562
+ *
563
+ * # Errors
564
+ *
565
+ * Returns a [`WasmInvalidDigest`] if the string is not a valid digest.
566
+ * @param {string} s
567
+ * @returns {Digest}
568
+ */
569
+ static fromHexString(s) {
570
+ try {
571
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
572
+ const ptr0 = passStringToWasm0(s, wasm.__wbindgen_export, wasm.__wbindgen_export2);
573
+ const len0 = WASM_VECTOR_LEN;
574
+ wasm.digest_fromHexString(retptr, ptr0, len0);
575
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
576
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
577
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
578
+ if (r2) {
579
+ throw takeObject(r1);
580
+ }
581
+ return Digest.__wrap(r0);
582
+ } finally {
583
+ wasm.__wbindgen_add_to_stack_pointer(16);
584
+ }
585
+ }
586
+ /**
587
+ * Creates a new digest from its byte representation.
588
+ *
589
+ * # Errors
590
+ *
591
+ * Returns a `WasmValue` error if the byte slice is not a valid digest.
592
+ * @param {Uint8Array} bytes
593
+ */
594
+ constructor(bytes) {
595
+ try {
596
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
597
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
598
+ const len0 = WASM_VECTOR_LEN;
599
+ wasm.digest_new(retptr, ptr0, len0);
600
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
601
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
602
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
603
+ if (r2) {
604
+ throw takeObject(r1);
605
+ }
606
+ this.__wbg_ptr = r0 >>> 0;
607
+ DigestFinalization.register(this, this.__wbg_ptr, this);
608
+ return this;
609
+ } finally {
610
+ wasm.__wbindgen_add_to_stack_pointer(16);
611
+ }
612
+ }
613
+ /**
614
+ * Returns the byte representation of the digest.
615
+ * @returns {Uint8Array}
616
+ */
617
+ toBytes() {
618
+ try {
619
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
620
+ wasm.digest_toBytes(retptr, this.__wbg_ptr);
621
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
622
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
623
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
624
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
625
+ return v1;
626
+ } finally {
627
+ wasm.__wbindgen_add_to_stack_pointer(16);
628
+ }
629
+ }
630
+ /**
631
+ * Returns the hexadecimal string representation of the digest.
632
+ * @returns {string}
633
+ */
634
+ toHexString() {
635
+ let deferred1_0;
636
+ let deferred1_1;
637
+ try {
638
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
639
+ wasm.digest_toHexString(retptr, this.__wbg_ptr);
640
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
641
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
642
+ deferred1_0 = r0;
643
+ deferred1_1 = r1;
644
+ return getStringFromWasm0(r0, r1);
645
+ } finally {
646
+ wasm.__wbindgen_add_to_stack_pointer(16);
647
+ wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
648
+ }
649
+ }
650
+ }
651
+ if (Symbol.dispose) Digest.prototype[Symbol.dispose] = Digest.prototype.free;
652
+
653
+ /**
654
+ * A data fragment used in the Sedimentree system.
655
+ */
656
+ export class Fragment {
657
+ static __wrap(ptr) {
658
+ ptr = ptr >>> 0;
659
+ const obj = Object.create(Fragment.prototype);
660
+ obj.__wbg_ptr = ptr;
661
+ FragmentFinalization.register(obj, obj.__wbg_ptr, obj);
662
+ return obj;
663
+ }
664
+ __destroy_into_raw() {
665
+ const ptr = this.__wbg_ptr;
666
+ this.__wbg_ptr = 0;
667
+ FragmentFinalization.unregister(this);
668
+ return ptr;
669
+ }
670
+ free() {
671
+ const ptr = this.__destroy_into_raw();
672
+ wasm.__wbg_fragment_free(ptr, 0);
673
+ }
674
+ /**
675
+ * Upcasts; to the JS-import type for [`WasmFragment`].
676
+ * @returns {Fragment}
677
+ */
678
+ __wasm_refgen_toWasmFragment() {
679
+ const ret = wasm.fragment___wasm_refgen_toWasmFragment(this.__wbg_ptr);
680
+ return Fragment.__wrap(ret);
681
+ }
682
+ /**
683
+ * Get the blob metadata of the fragment.
684
+ * @returns {BlobMeta}
685
+ */
686
+ get blobMeta() {
687
+ const ret = wasm.fragment_blobMeta(this.__wbg_ptr);
688
+ return BlobMeta.__wrap(ret);
689
+ }
690
+ /**
691
+ * Get the boundary digests of the fragment.
692
+ * @returns {Digest[]}
693
+ */
694
+ get boundary() {
695
+ try {
696
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
697
+ wasm.fragment_boundary(retptr, this.__wbg_ptr);
698
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
699
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
700
+ var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
701
+ wasm.__wbindgen_export4(r0, r1 * 4, 4);
702
+ return v1;
703
+ } finally {
704
+ wasm.__wbindgen_add_to_stack_pointer(16);
705
+ }
706
+ }
707
+ /**
708
+ * Get the head digest of the fragment.
709
+ * @returns {Digest}
710
+ */
711
+ get head() {
712
+ const ret = wasm.fragment_head(this.__wbg_ptr);
713
+ return Digest.__wrap(ret);
714
+ }
715
+ /**
716
+ * Create a new fragment from the given sedimentree ID, head, boundary, checkpoints, and blob metadata.
717
+ * @param {SedimentreeId} sedimentree_id
718
+ * @param {Digest} head
719
+ * @param {Digest[]} boundary
720
+ * @param {Digest[]} checkpoints
721
+ * @param {BlobMeta} blob_meta
722
+ */
723
+ constructor(sedimentree_id, head, boundary, checkpoints, blob_meta) {
724
+ _assertClass(sedimentree_id, SedimentreeId);
725
+ var ptr0 = sedimentree_id.__destroy_into_raw();
726
+ _assertClass(head, Digest);
727
+ var ptr1 = head.__destroy_into_raw();
728
+ const ptr2 = passArrayJsValueToWasm0(boundary, wasm.__wbindgen_export);
729
+ const len2 = WASM_VECTOR_LEN;
730
+ const ptr3 = passArrayJsValueToWasm0(checkpoints, wasm.__wbindgen_export);
731
+ const len3 = WASM_VECTOR_LEN;
732
+ _assertClass(blob_meta, BlobMeta);
733
+ var ptr4 = blob_meta.__destroy_into_raw();
734
+ const ret = wasm.fragment_new(ptr0, ptr1, ptr2, len2, ptr3, len3, ptr4);
735
+ this.__wbg_ptr = ret >>> 0;
736
+ FragmentFinalization.register(this, this.__wbg_ptr, this);
737
+ return this;
738
+ }
739
+ }
740
+ if (Symbol.dispose) Fragment.prototype[Symbol.dispose] = Fragment.prototype.free;
741
+
742
+ /**
743
+ * A request for a specific fragment in the Sedimentree system.
744
+ */
745
+ export class FragmentRequested {
746
+ static __wrap(ptr) {
747
+ ptr = ptr >>> 0;
748
+ const obj = Object.create(FragmentRequested.prototype);
749
+ obj.__wbg_ptr = ptr;
750
+ FragmentRequestedFinalization.register(obj, obj.__wbg_ptr, obj);
751
+ return obj;
752
+ }
753
+ __destroy_into_raw() {
754
+ const ptr = this.__wbg_ptr;
755
+ this.__wbg_ptr = 0;
756
+ FragmentRequestedFinalization.unregister(this);
757
+ return ptr;
758
+ }
759
+ free() {
760
+ const ptr = this.__destroy_into_raw();
761
+ wasm.__wbg_fragmentrequested_free(ptr, 0);
762
+ }
763
+ /**
764
+ * Get the depth of the requested fragment.
765
+ * @returns {Depth}
766
+ */
767
+ get depth() {
768
+ const ret = wasm.fragmentrequested_depth(this.__wbg_ptr);
769
+ return Depth.__wrap(ret);
770
+ }
771
+ /**
772
+ * Get the digest of the requested fragment.
773
+ * @returns {Digest}
774
+ */
775
+ get head() {
776
+ const ret = wasm.fragmentrequested_head(this.__wbg_ptr);
777
+ return Digest.__wrap(ret);
778
+ }
779
+ /**
780
+ * Create a new fragment request from the given digest.
781
+ * @param {Digest} digest
782
+ * @param {Depth} depth
783
+ */
784
+ constructor(digest, depth) {
785
+ _assertClass(digest, Digest);
786
+ _assertClass(depth, Depth);
787
+ const ret = wasm.fragmentrequested_new(digest.__wbg_ptr, depth.__wbg_ptr);
788
+ this.__wbg_ptr = ret >>> 0;
789
+ FragmentRequestedFinalization.register(this, this.__wbg_ptr, this);
790
+ return this;
791
+ }
792
+ }
793
+ if (Symbol.dispose) FragmentRequested.prototype[Symbol.dispose] = FragmentRequested.prototype.free;
794
+
795
+ /**
796
+ * A fragment stored with its associated blob.
797
+ */
798
+ export class FragmentWithBlob {
799
+ static __wrap(ptr) {
800
+ ptr = ptr >>> 0;
801
+ const obj = Object.create(FragmentWithBlob.prototype);
802
+ obj.__wbg_ptr = ptr;
803
+ FragmentWithBlobFinalization.register(obj, obj.__wbg_ptr, obj);
804
+ return obj;
805
+ }
806
+ __destroy_into_raw() {
807
+ const ptr = this.__wbg_ptr;
808
+ this.__wbg_ptr = 0;
809
+ FragmentWithBlobFinalization.unregister(this);
810
+ return ptr;
811
+ }
812
+ free() {
813
+ const ptr = this.__destroy_into_raw();
814
+ wasm.__wbg_fragmentwithblob_free(ptr, 0);
815
+ }
816
+ /**
817
+ * Upcasts; to the JS-import type for [`WasmFragmentWithBlob`].
818
+ * @returns {FragmentWithBlob}
819
+ */
820
+ __wasm_refgen_toWasmFragmentWithBlob() {
821
+ const ret = wasm.fragmentwithblob___wasm_refgen_toWasmFragmentWithBlob(this.__wbg_ptr);
822
+ return FragmentWithBlob.__wrap(ret);
823
+ }
824
+ /**
825
+ * Get the blob.
826
+ * @returns {Uint8Array}
827
+ */
828
+ get blob() {
829
+ const ret = wasm.commitwithblob_blob(this.__wbg_ptr);
830
+ return takeObject(ret);
831
+ }
832
+ /**
833
+ * Create a new fragment with blob.
834
+ * @param {SignedFragment} signed
835
+ * @param {Uint8Array} blob
836
+ */
837
+ constructor(signed, blob) {
838
+ _assertClass(signed, SignedFragment);
839
+ var ptr0 = signed.__destroy_into_raw();
840
+ const ret = wasm.commitwithblob_new(ptr0, addHeapObject(blob));
841
+ this.__wbg_ptr = ret >>> 0;
842
+ FragmentWithBlobFinalization.register(this, this.__wbg_ptr, this);
843
+ return this;
844
+ }
845
+ /**
846
+ * Get the signed fragment.
847
+ * @returns {SignedFragment}
848
+ */
849
+ get signed() {
850
+ const ret = wasm.fragmentwithblob_signed(this.__wbg_ptr);
851
+ return SignedFragment.__wrap(ret);
852
+ }
853
+ }
854
+ if (Symbol.dispose) FragmentWithBlob.prototype[Symbol.dispose] = FragmentWithBlob.prototype.free;
855
+
856
+ export class FragmentsArray {
857
+ static __wrap(ptr) {
858
+ ptr = ptr >>> 0;
859
+ const obj = Object.create(FragmentsArray.prototype);
860
+ obj.__wbg_ptr = ptr;
861
+ FragmentsArrayFinalization.register(obj, obj.__wbg_ptr, obj);
862
+ return obj;
863
+ }
864
+ __destroy_into_raw() {
865
+ const ptr = this.__wbg_ptr;
866
+ this.__wbg_ptr = 0;
867
+ FragmentsArrayFinalization.unregister(this);
868
+ return ptr;
869
+ }
870
+ free() {
871
+ const ptr = this.__destroy_into_raw();
872
+ wasm.__wbg_fragmentsarray_free(ptr, 0);
873
+ }
874
+ /**
875
+ * Upcasts; to the JS-import type for [`WasmFragmentsArray`].
876
+ * @returns {FragmentsArray}
877
+ */
878
+ __wasm_refgen_toWasmFragmentsArray() {
879
+ const ret = wasm.fragmentsarray___wasm_refgen_toWasmFragmentsArray(this.__wbg_ptr);
880
+ return FragmentsArray.__wrap(ret);
881
+ }
882
+ }
883
+ if (Symbol.dispose) FragmentsArray.prototype[Symbol.dispose] = FragmentsArray.prototype.free;
884
+
885
+ /**
886
+ * An overridable hash metric.
887
+ */
888
+ export class HashMetric {
889
+ __destroy_into_raw() {
890
+ const ptr = this.__wbg_ptr;
891
+ this.__wbg_ptr = 0;
892
+ HashMetricFinalization.unregister(this);
893
+ return ptr;
894
+ }
895
+ free() {
896
+ const ptr = this.__destroy_into_raw();
897
+ wasm.__wbg_hashmetric_free(ptr, 0);
898
+ }
899
+ /**
900
+ * Create a new `WasmHashMetric` with an optional JavaScript function.
901
+ *
902
+ * Defaults to counting leading zero bytes if no function is provided.
903
+ * @param {Function | null} [func]
904
+ */
905
+ constructor(func) {
906
+ const ret = wasm.hashmetric_new(isLikeNone(func) ? 0 : addHeapObject(func));
907
+ this.__wbg_ptr = ret >>> 0;
908
+ HashMetricFinalization.register(this, this.__wbg_ptr, this);
909
+ return this;
910
+ }
911
+ }
912
+ if (Symbol.dispose) HashMetric.prototype[Symbol.dispose] = HashMetric.prototype.free;
913
+
914
+ /**
915
+ * A Wasm wrapper around the [`LooseCommit`] type.
916
+ */
917
+ export class LooseCommit {
918
+ static __wrap(ptr) {
919
+ ptr = ptr >>> 0;
920
+ const obj = Object.create(LooseCommit.prototype);
921
+ obj.__wbg_ptr = ptr;
922
+ LooseCommitFinalization.register(obj, obj.__wbg_ptr, obj);
923
+ return obj;
924
+ }
925
+ __destroy_into_raw() {
926
+ const ptr = this.__wbg_ptr;
927
+ this.__wbg_ptr = 0;
928
+ LooseCommitFinalization.unregister(this);
929
+ return ptr;
930
+ }
931
+ free() {
932
+ const ptr = this.__destroy_into_raw();
933
+ wasm.__wbg_loosecommit_free(ptr, 0);
934
+ }
935
+ /**
936
+ * Upcasts; to the JS-import type for [`WasmLooseCommit`].
937
+ * @returns {LooseCommit}
938
+ */
939
+ __wasm_refgen_toWasmLooseCommit() {
940
+ const ret = wasm.loosecommit___wasm_refgen_toWasmLooseCommit(this.__wbg_ptr);
941
+ return LooseCommit.__wrap(ret);
942
+ }
943
+ /**
944
+ * Get the blob metadata of the commit.
945
+ * @returns {BlobMeta}
946
+ */
947
+ get blobMeta() {
948
+ const ret = wasm.loosecommit_blobMeta(this.__wbg_ptr);
949
+ return BlobMeta.__wrap(ret);
950
+ }
951
+ /**
952
+ * Get the digest of the commit.
953
+ * @returns {Digest}
954
+ */
955
+ get digest() {
956
+ const ret = wasm.loosecommit_digest(this.__wbg_ptr);
957
+ return Digest.__wrap(ret);
958
+ }
959
+ /**
960
+ * Create a new `LooseCommit` from the given sedimentree ID, parents, and blob metadata.
961
+ * @param {SedimentreeId} sedimentree_id
962
+ * @param {Digest[]} parents
963
+ * @param {BlobMeta} blob_meta
964
+ */
965
+ constructor(sedimentree_id, parents, blob_meta) {
966
+ _assertClass(sedimentree_id, SedimentreeId);
967
+ var ptr0 = sedimentree_id.__destroy_into_raw();
968
+ const ptr1 = passArrayJsValueToWasm0(parents, wasm.__wbindgen_export);
969
+ const len1 = WASM_VECTOR_LEN;
970
+ _assertClass(blob_meta, BlobMeta);
971
+ const ret = wasm.loosecommit_new(ptr0, ptr1, len1, blob_meta.__wbg_ptr);
972
+ this.__wbg_ptr = ret >>> 0;
973
+ LooseCommitFinalization.register(this, this.__wbg_ptr, this);
974
+ return this;
975
+ }
976
+ /**
977
+ * Get the parent digests of the commit.
978
+ * @returns {Digest[]}
979
+ */
980
+ get parents() {
981
+ try {
982
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
983
+ wasm.loosecommit_parents(retptr, this.__wbg_ptr);
984
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
985
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
986
+ var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
987
+ wasm.__wbindgen_export4(r0, r1 * 4, 4);
988
+ return v1;
989
+ } finally {
990
+ wasm.__wbindgen_add_to_stack_pointer(16);
991
+ }
992
+ }
993
+ }
994
+ if (Symbol.dispose) LooseCommit.prototype[Symbol.dispose] = LooseCommit.prototype.free;
995
+
996
+ /**
997
+ * An in-memory storage implementation for use in tests and development.
998
+ *
999
+ * This wraps the core `MemoryStorage` and exposes it via the `SedimentreeStorage` interface.
1000
+ */
1001
+ export class MemoryStorage {
1002
+ __destroy_into_raw() {
1003
+ const ptr = this.__wbg_ptr;
1004
+ this.__wbg_ptr = 0;
1005
+ MemoryStorageFinalization.unregister(this);
1006
+ return ptr;
1007
+ }
1008
+ free() {
1009
+ const ptr = this.__destroy_into_raw();
1010
+ wasm.__wbg_memorystorage_free(ptr, 0);
1011
+ }
1012
+ /**
1013
+ * Delete all commits for a sedimentree.
1014
+ * @param {SedimentreeId} sedimentree_id
1015
+ * @returns {Promise<any>}
1016
+ */
1017
+ deleteAllCommits(sedimentree_id) {
1018
+ _assertClass(sedimentree_id, SedimentreeId);
1019
+ const ret = wasm.memorystorage_deleteAllCommits(this.__wbg_ptr, sedimentree_id.__wbg_ptr);
1020
+ return takeObject(ret);
1021
+ }
1022
+ /**
1023
+ * Delete all fragments for a sedimentree.
1024
+ * @param {SedimentreeId} sedimentree_id
1025
+ * @returns {Promise<any>}
1026
+ */
1027
+ deleteAllFragments(sedimentree_id) {
1028
+ _assertClass(sedimentree_id, SedimentreeId);
1029
+ const ret = wasm.memorystorage_deleteAllFragments(this.__wbg_ptr, sedimentree_id.__wbg_ptr);
1030
+ return takeObject(ret);
1031
+ }
1032
+ /**
1033
+ * Delete a commit by digest.
1034
+ * @param {SedimentreeId} sedimentree_id
1035
+ * @param {Digest} digest
1036
+ * @returns {Promise<any>}
1037
+ */
1038
+ deleteCommit(sedimentree_id, digest) {
1039
+ _assertClass(sedimentree_id, SedimentreeId);
1040
+ _assertClass(digest, Digest);
1041
+ const ret = wasm.memorystorage_deleteCommit(this.__wbg_ptr, sedimentree_id.__wbg_ptr, digest.__wbg_ptr);
1042
+ return takeObject(ret);
1043
+ }
1044
+ /**
1045
+ * Delete a fragment by digest.
1046
+ * @param {SedimentreeId} sedimentree_id
1047
+ * @param {Digest} digest
1048
+ * @returns {Promise<any>}
1049
+ */
1050
+ deleteFragment(sedimentree_id, digest) {
1051
+ _assertClass(sedimentree_id, SedimentreeId);
1052
+ _assertClass(digest, Digest);
1053
+ const ret = wasm.memorystorage_deleteFragment(this.__wbg_ptr, sedimentree_id.__wbg_ptr, digest.__wbg_ptr);
1054
+ return takeObject(ret);
1055
+ }
1056
+ /**
1057
+ * Delete a sedimentree ID.
1058
+ * @param {SedimentreeId} sedimentree_id
1059
+ * @returns {Promise<any>}
1060
+ */
1061
+ deleteSedimentreeId(sedimentree_id) {
1062
+ _assertClass(sedimentree_id, SedimentreeId);
1063
+ const ret = wasm.memorystorage_deleteSedimentreeId(this.__wbg_ptr, sedimentree_id.__wbg_ptr);
1064
+ return takeObject(ret);
1065
+ }
1066
+ /**
1067
+ * List all commit digests for a sedimentree.
1068
+ * @param {SedimentreeId} sedimentree_id
1069
+ * @returns {Promise<any>}
1070
+ */
1071
+ listCommitDigests(sedimentree_id) {
1072
+ _assertClass(sedimentree_id, SedimentreeId);
1073
+ const ret = wasm.memorystorage_listCommitDigests(this.__wbg_ptr, sedimentree_id.__wbg_ptr);
1074
+ return takeObject(ret);
1075
+ }
1076
+ /**
1077
+ * List all fragment digests for a sedimentree.
1078
+ * @param {SedimentreeId} sedimentree_id
1079
+ * @returns {Promise<any>}
1080
+ */
1081
+ listFragmentDigests(sedimentree_id) {
1082
+ _assertClass(sedimentree_id, SedimentreeId);
1083
+ const ret = wasm.memorystorage_listFragmentDigests(this.__wbg_ptr, sedimentree_id.__wbg_ptr);
1084
+ return takeObject(ret);
1085
+ }
1086
+ /**
1087
+ * Load all commits for a sedimentree, returning `CommitWithBlob[]`.
1088
+ * @param {SedimentreeId} sedimentree_id
1089
+ * @returns {Promise<any>}
1090
+ */
1091
+ loadAllCommits(sedimentree_id) {
1092
+ _assertClass(sedimentree_id, SedimentreeId);
1093
+ const ret = wasm.memorystorage_loadAllCommits(this.__wbg_ptr, sedimentree_id.__wbg_ptr);
1094
+ return takeObject(ret);
1095
+ }
1096
+ /**
1097
+ * Load all fragments for a sedimentree, returning `FragmentWithBlob[]`.
1098
+ * @param {SedimentreeId} sedimentree_id
1099
+ * @returns {Promise<any>}
1100
+ */
1101
+ loadAllFragments(sedimentree_id) {
1102
+ _assertClass(sedimentree_id, SedimentreeId);
1103
+ const ret = wasm.memorystorage_loadAllFragments(this.__wbg_ptr, sedimentree_id.__wbg_ptr);
1104
+ return takeObject(ret);
1105
+ }
1106
+ /**
1107
+ * Load all sedimentree IDs.
1108
+ * @returns {Promise<any>}
1109
+ */
1110
+ loadAllSedimentreeIds() {
1111
+ const ret = wasm.memorystorage_loadAllSedimentreeIds(this.__wbg_ptr);
1112
+ return takeObject(ret);
1113
+ }
1114
+ /**
1115
+ * Load a commit by digest, returning `CommitWithBlob` or null.
1116
+ * @param {SedimentreeId} sedimentree_id
1117
+ * @param {Digest} digest
1118
+ * @returns {Promise<any>}
1119
+ */
1120
+ loadCommit(sedimentree_id, digest) {
1121
+ _assertClass(sedimentree_id, SedimentreeId);
1122
+ _assertClass(digest, Digest);
1123
+ const ret = wasm.memorystorage_loadCommit(this.__wbg_ptr, sedimentree_id.__wbg_ptr, digest.__wbg_ptr);
1124
+ return takeObject(ret);
1125
+ }
1126
+ /**
1127
+ * Load a fragment by digest, returning `FragmentWithBlob` or null.
1128
+ * @param {SedimentreeId} sedimentree_id
1129
+ * @param {Digest} digest
1130
+ * @returns {Promise<any>}
1131
+ */
1132
+ loadFragment(sedimentree_id, digest) {
1133
+ _assertClass(sedimentree_id, SedimentreeId);
1134
+ _assertClass(digest, Digest);
1135
+ const ret = wasm.memorystorage_loadFragment(this.__wbg_ptr, sedimentree_id.__wbg_ptr, digest.__wbg_ptr);
1136
+ return takeObject(ret);
1137
+ }
1138
+ /**
1139
+ * Create a new in-memory storage instance.
1140
+ */
1141
+ constructor() {
1142
+ const ret = wasm.memorystorage_new();
1143
+ this.__wbg_ptr = ret >>> 0;
1144
+ MemoryStorageFinalization.register(this, this.__wbg_ptr, this);
1145
+ return this;
1146
+ }
1147
+ /**
1148
+ * Save a commit with its blob.
1149
+ * @param {SedimentreeId} sedimentree_id
1150
+ * @param {Digest} _digest
1151
+ * @param {SignedLooseCommit} signed_commit
1152
+ * @param {Uint8Array} blob
1153
+ * @returns {Promise<any>}
1154
+ */
1155
+ saveCommit(sedimentree_id, _digest, signed_commit, blob) {
1156
+ try {
1157
+ _assertClass(sedimentree_id, SedimentreeId);
1158
+ _assertClass(_digest, Digest);
1159
+ _assertClass(signed_commit, SignedLooseCommit);
1160
+ const ret = wasm.memorystorage_saveCommit(this.__wbg_ptr, sedimentree_id.__wbg_ptr, _digest.__wbg_ptr, signed_commit.__wbg_ptr, addBorrowedObject(blob));
1161
+ return takeObject(ret);
1162
+ } finally {
1163
+ heap[stack_pointer++] = undefined;
1164
+ }
1165
+ }
1166
+ /**
1167
+ * Save a fragment with its blob.
1168
+ * @param {SedimentreeId} sedimentree_id
1169
+ * @param {Digest} _digest
1170
+ * @param {SignedFragment} signed_fragment
1171
+ * @param {Uint8Array} blob
1172
+ * @returns {Promise<any>}
1173
+ */
1174
+ saveFragment(sedimentree_id, _digest, signed_fragment, blob) {
1175
+ try {
1176
+ _assertClass(sedimentree_id, SedimentreeId);
1177
+ _assertClass(_digest, Digest);
1178
+ _assertClass(signed_fragment, SignedFragment);
1179
+ const ret = wasm.memorystorage_saveFragment(this.__wbg_ptr, sedimentree_id.__wbg_ptr, _digest.__wbg_ptr, signed_fragment.__wbg_ptr, addBorrowedObject(blob));
1180
+ return takeObject(ret);
1181
+ } finally {
1182
+ heap[stack_pointer++] = undefined;
1183
+ }
1184
+ }
1185
+ /**
1186
+ * Save a sedimentree ID.
1187
+ * @param {SedimentreeId} sedimentree_id
1188
+ * @returns {Promise<any>}
1189
+ */
1190
+ saveSedimentreeId(sedimentree_id) {
1191
+ _assertClass(sedimentree_id, SedimentreeId);
1192
+ const ret = wasm.memorystorage_saveSedimentreeId(this.__wbg_ptr, sedimentree_id.__wbg_ptr);
1193
+ return takeObject(ret);
1194
+ }
1195
+ }
1196
+ if (Symbol.dispose) MemoryStorage.prototype[Symbol.dispose] = MemoryStorage.prototype.free;
1197
+
1198
+ /**
1199
+ * Wasm wrapper for [`Message`].
1200
+ */
1201
+ export class Message {
1202
+ static __wrap(ptr) {
1203
+ ptr = ptr >>> 0;
1204
+ const obj = Object.create(Message.prototype);
1205
+ obj.__wbg_ptr = ptr;
1206
+ MessageFinalization.register(obj, obj.__wbg_ptr, obj);
1207
+ return obj;
1208
+ }
1209
+ __destroy_into_raw() {
1210
+ const ptr = this.__wbg_ptr;
1211
+ this.__wbg_ptr = 0;
1212
+ MessageFinalization.unregister(this);
1213
+ return ptr;
1214
+ }
1215
+ free() {
1216
+ const ptr = this.__destroy_into_raw();
1217
+ wasm.__wbg_message_free(ptr, 0);
1218
+ }
1219
+ /**
1220
+ * Upcasts; to the JS-import type for [`WasmMessage`].
1221
+ * @returns {Message}
1222
+ */
1223
+ __wasm_refgen_toWasmMessage() {
1224
+ const ret = wasm.message___wasm_refgen_toWasmMessage(this.__wbg_ptr);
1225
+ return Message.__wrap(ret);
1226
+ }
1227
+ /**
1228
+ * Create a [`Message::BatchSyncRequest`] message.
1229
+ * @param {BatchSyncRequest} request
1230
+ * @returns {Message}
1231
+ */
1232
+ static batchSyncRequest(request) {
1233
+ _assertClass(request, BatchSyncRequest);
1234
+ const ret = wasm.message_batchSyncRequest(request.__wbg_ptr);
1235
+ return Message.__wrap(ret);
1236
+ }
1237
+ /**
1238
+ * Create a [`Message::BatchSyncResponse`] message.
1239
+ * @param {BatchSyncResponse} response
1240
+ * @returns {Message}
1241
+ */
1242
+ static batchSyncResponse(response) {
1243
+ _assertClass(response, BatchSyncResponse);
1244
+ const ret = wasm.message_batchSyncResponse(response.__wbg_ptr);
1245
+ return Message.__wrap(ret);
1246
+ }
1247
+ /**
1248
+ * The [`Blob`] for commit or fragment messages, if applicable.
1249
+ * @returns {Uint8Array | undefined}
1250
+ */
1251
+ get blob() {
1252
+ const ret = wasm.message_blob(this.__wbg_ptr);
1253
+ return takeObject(ret);
1254
+ }
1255
+ /**
1256
+ * The [`Blob`]s for a [`Message::BlobsResponse`], if applicable.
1257
+ * @returns {Uint8Array[] | undefined}
1258
+ */
1259
+ get blobs() {
1260
+ try {
1261
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1262
+ wasm.message_blobs(retptr, this.__wbg_ptr);
1263
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1264
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1265
+ let v1;
1266
+ if (r0 !== 0) {
1267
+ v1 = getArrayJsValueFromWasm0(r0, r1).slice();
1268
+ wasm.__wbindgen_export4(r0, r1 * 4, 4);
1269
+ }
1270
+ return v1;
1271
+ } finally {
1272
+ wasm.__wbindgen_add_to_stack_pointer(16);
1273
+ }
1274
+ }
1275
+ /**
1276
+ * Create a [`Message::BlobsRequest`] message.
1277
+ * @param {SedimentreeId} id
1278
+ * @param {Digest[]} digests
1279
+ * @returns {Message}
1280
+ */
1281
+ static blobsRequest(id, digests) {
1282
+ _assertClass(id, SedimentreeId);
1283
+ const ptr0 = passArrayJsValueToWasm0(digests, wasm.__wbindgen_export);
1284
+ const len0 = WASM_VECTOR_LEN;
1285
+ const ret = wasm.message_blobsRequest(id.__wbg_ptr, ptr0, len0);
1286
+ return Message.__wrap(ret);
1287
+ }
1288
+ /**
1289
+ * Create a [`Message::BlobsResponse`] message.
1290
+ * @param {SedimentreeId} id
1291
+ * @param {Uint8Array[]} blobs
1292
+ * @returns {Message}
1293
+ */
1294
+ static blobsResponse(id, blobs) {
1295
+ _assertClass(id, SedimentreeId);
1296
+ const ptr0 = passArrayJsValueToWasm0(blobs, wasm.__wbindgen_export);
1297
+ const len0 = WASM_VECTOR_LEN;
1298
+ const ret = wasm.message_blobsResponse(id.__wbg_ptr, ptr0, len0);
1299
+ return Message.__wrap(ret);
1300
+ }
1301
+ /**
1302
+ * The [`LooseCommit`] for a [`Message::LooseCommit`], if applicable.
1303
+ *
1304
+ * Decodes the signed payload to extract the underlying commit.
1305
+ * @returns {LooseCommit | undefined}
1306
+ */
1307
+ get commit() {
1308
+ const ret = wasm.message_commit(this.__wbg_ptr);
1309
+ return ret === 0 ? undefined : LooseCommit.__wrap(ret);
1310
+ }
1311
+ /**
1312
+ * The requested [`Digest`]s for a [`Message::BlobsRequest`], if applicable.
1313
+ * @returns {Digest[] | undefined}
1314
+ */
1315
+ get digests() {
1316
+ try {
1317
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1318
+ wasm.message_digests(retptr, this.__wbg_ptr);
1319
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1320
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1321
+ let v1;
1322
+ if (r0 !== 0) {
1323
+ v1 = getArrayJsValueFromWasm0(r0, r1).slice();
1324
+ wasm.__wbindgen_export4(r0, r1 * 4, 4);
1325
+ }
1326
+ return v1;
1327
+ } finally {
1328
+ wasm.__wbindgen_add_to_stack_pointer(16);
1329
+ }
1330
+ }
1331
+ /**
1332
+ * The [`Fragment`] for a [`Message::Fragment`], if applicable.
1333
+ *
1334
+ * Decodes the signed payload to extract the underlying fragment.
1335
+ * @returns {Fragment | undefined}
1336
+ */
1337
+ get fragment() {
1338
+ const ret = wasm.message_fragment(this.__wbg_ptr);
1339
+ return ret === 0 ? undefined : Fragment.__wrap(ret);
1340
+ }
1341
+ /**
1342
+ * Deserialize a message from bytes.
1343
+ *
1344
+ * # Errors
1345
+ *
1346
+ * Returns a [`JsMessageDeserializationError`] if deserialization fails.
1347
+ * @param {Uint8Array} bytes
1348
+ * @returns {Message}
1349
+ */
1350
+ static fromBytes(bytes) {
1351
+ try {
1352
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1353
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
1354
+ const len0 = WASM_VECTOR_LEN;
1355
+ wasm.message_fromBytes(retptr, ptr0, len0);
1356
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1357
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1358
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1359
+ if (r2) {
1360
+ throw takeObject(r1);
1361
+ }
1362
+ return Message.__wrap(r0);
1363
+ } finally {
1364
+ wasm.__wbindgen_add_to_stack_pointer(16);
1365
+ }
1366
+ }
1367
+ /**
1368
+ * The [`BatchSyncRequest`] for a [`Message::BatchSyncRequest`], if applicable.
1369
+ * @returns {BatchSyncRequest | undefined}
1370
+ */
1371
+ get request() {
1372
+ const ret = wasm.message_request(this.__wbg_ptr);
1373
+ return ret === 0 ? undefined : BatchSyncRequest.__wrap(ret);
1374
+ }
1375
+ /**
1376
+ * The [`BatchSyncResponse`] for a [`Message::BatchSyncResponse`], if applicable.
1377
+ * @returns {BatchSyncResponse | undefined}
1378
+ */
1379
+ get response() {
1380
+ const ret = wasm.message_response(this.__wbg_ptr);
1381
+ return ret === 0 ? undefined : BatchSyncResponse.__wrap(ret);
1382
+ }
1383
+ /**
1384
+ * The [`SedimentreeId`] associated with this message, if any.
1385
+ * @returns {SedimentreeId | undefined}
1386
+ */
1387
+ get sedimentreeId() {
1388
+ const ret = wasm.message_sedimentreeId(this.__wbg_ptr);
1389
+ return ret === 0 ? undefined : SedimentreeId.__wrap(ret);
1390
+ }
1391
+ /**
1392
+ * Serialize the message to bytes.
1393
+ * @returns {Uint8Array}
1394
+ */
1395
+ toBytes() {
1396
+ try {
1397
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1398
+ wasm.message_toBytes(retptr, this.__wbg_ptr);
1399
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1400
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1401
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
1402
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1403
+ return v1;
1404
+ } finally {
1405
+ wasm.__wbindgen_add_to_stack_pointer(16);
1406
+ }
1407
+ }
1408
+ /**
1409
+ * The message variant name.
1410
+ * @returns {string}
1411
+ */
1412
+ get type() {
1413
+ let deferred1_0;
1414
+ let deferred1_1;
1415
+ try {
1416
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1417
+ wasm.message_type(retptr, this.__wbg_ptr);
1418
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1419
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1420
+ deferred1_0 = r0;
1421
+ deferred1_1 = r1;
1422
+ return getStringFromWasm0(r0, r1);
1423
+ } finally {
1424
+ wasm.__wbindgen_add_to_stack_pointer(16);
1425
+ wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
1426
+ }
1427
+ }
1428
+ }
1429
+ if (Symbol.dispose) Message.prototype[Symbol.dispose] = Message.prototype.free;
1430
+
1431
+ /**
1432
+ * A 64-bit nonce represented as big-endian bytes.
1433
+ */
1434
+ export class Nonce {
1435
+ static __wrap(ptr) {
1436
+ ptr = ptr >>> 0;
1437
+ const obj = Object.create(Nonce.prototype);
1438
+ obj.__wbg_ptr = ptr;
1439
+ NonceFinalization.register(obj, obj.__wbg_ptr, obj);
1440
+ return obj;
1441
+ }
1442
+ __destroy_into_raw() {
1443
+ const ptr = this.__wbg_ptr;
1444
+ this.__wbg_ptr = 0;
1445
+ NonceFinalization.unregister(this);
1446
+ return ptr;
1447
+ }
1448
+ free() {
1449
+ const ptr = this.__destroy_into_raw();
1450
+ wasm.__wbg_nonce_free(ptr, 0);
1451
+ }
1452
+ /**
1453
+ * Get the nonce as big-endian bytes.
1454
+ * @returns {Uint8Array}
1455
+ */
1456
+ get bytes() {
1457
+ try {
1458
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1459
+ wasm.nonce_bytes(retptr, this.__wbg_ptr);
1460
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1461
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1462
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
1463
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1464
+ return v1;
1465
+ } finally {
1466
+ wasm.__wbindgen_add_to_stack_pointer(16);
1467
+ }
1468
+ }
1469
+ /**
1470
+ * Create a new [`WasmNonce`] from exactly 8 big-endian bytes.
1471
+ *
1472
+ * # Errors
1473
+ *
1474
+ * Returns [`WasmNonceError`] if the input is not exactly 8 bytes.
1475
+ * @param {Uint8Array} bytes
1476
+ */
1477
+ constructor(bytes) {
1478
+ try {
1479
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1480
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
1481
+ const len0 = WASM_VECTOR_LEN;
1482
+ wasm.nonce_new(retptr, ptr0, len0);
1483
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1484
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1485
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1486
+ if (r2) {
1487
+ throw takeObject(r1);
1488
+ }
1489
+ this.__wbg_ptr = r0 >>> 0;
1490
+ NonceFinalization.register(this, this.__wbg_ptr, this);
1491
+ return this;
1492
+ } finally {
1493
+ wasm.__wbindgen_add_to_stack_pointer(16);
1494
+ }
1495
+ }
1496
+ /**
1497
+ * Generate a random nonce.
1498
+ *
1499
+ * # Panics
1500
+ *
1501
+ * Panics if the system random number generator fails.
1502
+ * @returns {Nonce}
1503
+ */
1504
+ static random() {
1505
+ const ret = wasm.nonce_random();
1506
+ return Nonce.__wrap(ret);
1507
+ }
1508
+ }
1509
+ if (Symbol.dispose) Nonce.prototype[Symbol.dispose] = Nonce.prototype.free;
1510
+
1511
+ /**
1512
+ * Result of a peer batch sync request.
1513
+ */
1514
+ export class PeerBatchSyncResult {
1515
+ static __wrap(ptr) {
1516
+ ptr = ptr >>> 0;
1517
+ const obj = Object.create(PeerBatchSyncResult.prototype);
1518
+ obj.__wbg_ptr = ptr;
1519
+ PeerBatchSyncResultFinalization.register(obj, obj.__wbg_ptr, obj);
1520
+ return obj;
1521
+ }
1522
+ __destroy_into_raw() {
1523
+ const ptr = this.__wbg_ptr;
1524
+ this.__wbg_ptr = 0;
1525
+ PeerBatchSyncResultFinalization.unregister(this);
1526
+ return ptr;
1527
+ }
1528
+ free() {
1529
+ const ptr = this.__destroy_into_raw();
1530
+ wasm.__wbg_peerbatchsyncresult_free(ptr, 0);
1531
+ }
1532
+ /**
1533
+ * List of connection errors that occurred during the batch sync.
1534
+ * @returns {ConnErrorPair[]}
1535
+ */
1536
+ get connErrors() {
1537
+ try {
1538
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1539
+ wasm.peerbatchsyncresult_connErrors(retptr, this.__wbg_ptr);
1540
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1541
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1542
+ var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
1543
+ wasm.__wbindgen_export4(r0, r1 * 4, 4);
1544
+ return v1;
1545
+ } finally {
1546
+ wasm.__wbindgen_add_to_stack_pointer(16);
1547
+ }
1548
+ }
1549
+ /**
1550
+ * Statistics about the sync operation.
1551
+ * @returns {SyncStats}
1552
+ */
1553
+ get stats() {
1554
+ const ret = wasm.peerbatchsyncresult_stats(this.__wbg_ptr);
1555
+ return SyncStats.__wrap(ret);
1556
+ }
1557
+ /**
1558
+ * Whether the batch sync was successful with at least one connection.
1559
+ * @returns {boolean}
1560
+ */
1561
+ get success() {
1562
+ const ret = wasm.peerbatchsyncresult_success(this.__wbg_ptr);
1563
+ return ret !== 0;
1564
+ }
1565
+ }
1566
+ if (Symbol.dispose) PeerBatchSyncResult.prototype[Symbol.dispose] = PeerBatchSyncResult.prototype.free;
1567
+
1568
+ /**
1569
+ * A JavaScript-compatible wrapper around the Rust `PeerId` type.
1570
+ */
1571
+ export class PeerId {
1572
+ static __wrap(ptr) {
1573
+ ptr = ptr >>> 0;
1574
+ const obj = Object.create(PeerId.prototype);
1575
+ obj.__wbg_ptr = ptr;
1576
+ PeerIdFinalization.register(obj, obj.__wbg_ptr, obj);
1577
+ return obj;
1578
+ }
1579
+ __destroy_into_raw() {
1580
+ const ptr = this.__wbg_ptr;
1581
+ this.__wbg_ptr = 0;
1582
+ PeerIdFinalization.unregister(this);
1583
+ return ptr;
1584
+ }
1585
+ free() {
1586
+ const ptr = this.__destroy_into_raw();
1587
+ wasm.__wbg_peerid_free(ptr, 0);
1588
+ }
1589
+ /**
1590
+ * Creates a new `WasmPeerId` from a `PeerId`.
1591
+ *
1592
+ * # Errors
1593
+ *
1594
+ * Returns a `WasmInvalidPeerId` if the provided byte slice is not exactly 32 bytes long.
1595
+ * @param {Uint8Array} bytes
1596
+ */
1597
+ constructor(bytes) {
1598
+ try {
1599
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1600
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
1601
+ const len0 = WASM_VECTOR_LEN;
1602
+ wasm.peerid_new(retptr, ptr0, len0);
1603
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1604
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1605
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1606
+ if (r2) {
1607
+ throw takeObject(r1);
1608
+ }
1609
+ this.__wbg_ptr = r0 >>> 0;
1610
+ PeerIdFinalization.register(this, this.__wbg_ptr, this);
1611
+ return this;
1612
+ } finally {
1613
+ wasm.__wbindgen_add_to_stack_pointer(16);
1614
+ }
1615
+ }
1616
+ /**
1617
+ * Returns the byte representation of the `PeerId`.
1618
+ * @returns {Uint8Array}
1619
+ */
1620
+ toBytes() {
1621
+ try {
1622
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1623
+ wasm.peerid_toBytes(retptr, this.__wbg_ptr);
1624
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1625
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1626
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
1627
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1628
+ return v1;
1629
+ } finally {
1630
+ wasm.__wbindgen_add_to_stack_pointer(16);
1631
+ }
1632
+ }
1633
+ /**
1634
+ * Returns the string representation of the `PeerId`.
1635
+ * @returns {string}
1636
+ */
1637
+ toString() {
1638
+ let deferred1_0;
1639
+ let deferred1_1;
1640
+ try {
1641
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1642
+ wasm.peerid_toString(retptr, this.__wbg_ptr);
1643
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1644
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1645
+ deferred1_0 = r0;
1646
+ deferred1_1 = r1;
1647
+ return getStringFromWasm0(r0, r1);
1648
+ } finally {
1649
+ wasm.__wbindgen_add_to_stack_pointer(16);
1650
+ wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
1651
+ }
1652
+ }
1653
+ }
1654
+ if (Symbol.dispose) PeerId.prototype[Symbol.dispose] = PeerId.prototype.free;
1655
+
1656
+ /**
1657
+ * Map of peer IDs to their batch sync results.
1658
+ */
1659
+ export class PeerResultMap {
1660
+ static __wrap(ptr) {
1661
+ ptr = ptr >>> 0;
1662
+ const obj = Object.create(PeerResultMap.prototype);
1663
+ obj.__wbg_ptr = ptr;
1664
+ PeerResultMapFinalization.register(obj, obj.__wbg_ptr, obj);
1665
+ return obj;
1666
+ }
1667
+ __destroy_into_raw() {
1668
+ const ptr = this.__wbg_ptr;
1669
+ this.__wbg_ptr = 0;
1670
+ PeerResultMapFinalization.unregister(this);
1671
+ return ptr;
1672
+ }
1673
+ free() {
1674
+ const ptr = this.__destroy_into_raw();
1675
+ wasm.__wbg_peerresultmap_free(ptr, 0);
1676
+ }
1677
+ /**
1678
+ * Get all entries in the peer result map.
1679
+ * @returns {PeerBatchSyncResult[]}
1680
+ */
1681
+ entries() {
1682
+ try {
1683
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1684
+ wasm.peerresultmap_entries(retptr, this.__wbg_ptr);
1685
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1686
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1687
+ var v1 = getArrayJsValueFromWasm0(r0, r1).slice();
1688
+ wasm.__wbindgen_export4(r0, r1 * 4, 4);
1689
+ return v1;
1690
+ } finally {
1691
+ wasm.__wbindgen_add_to_stack_pointer(16);
1692
+ }
1693
+ }
1694
+ /**
1695
+ * Get the result for a specific peer ID.
1696
+ * @param {PeerId} peer_id
1697
+ * @returns {PeerBatchSyncResult | undefined}
1698
+ */
1699
+ getResult(peer_id) {
1700
+ _assertClass(peer_id, PeerId);
1701
+ const ret = wasm.peerresultmap_getResult(this.__wbg_ptr, peer_id.__wbg_ptr);
1702
+ return ret === 0 ? undefined : PeerBatchSyncResult.__wrap(ret);
1703
+ }
1704
+ }
1705
+ if (Symbol.dispose) PeerResultMap.prototype[Symbol.dispose] = PeerResultMap.prototype.free;
1706
+
1707
+ /**
1708
+ * Wasm wrapper for [`RequestId`].
1709
+ */
1710
+ export class RequestId {
1711
+ static __wrap(ptr) {
1712
+ ptr = ptr >>> 0;
1713
+ const obj = Object.create(RequestId.prototype);
1714
+ obj.__wbg_ptr = ptr;
1715
+ RequestIdFinalization.register(obj, obj.__wbg_ptr, obj);
1716
+ return obj;
1717
+ }
1718
+ __destroy_into_raw() {
1719
+ const ptr = this.__wbg_ptr;
1720
+ this.__wbg_ptr = 0;
1721
+ RequestIdFinalization.unregister(this);
1722
+ return ptr;
1723
+ }
1724
+ free() {
1725
+ const ptr = this.__destroy_into_raw();
1726
+ wasm.__wbg_requestid_free(ptr, 0);
1727
+ }
1728
+ /**
1729
+ * Upcasts; to the JS-import type for [`WasmRequestId`].
1730
+ * @returns {RequestId}
1731
+ */
1732
+ __wasm_refgen_toWasmRequestId() {
1733
+ const ret = wasm.requestid___wasm_refgen_toWasmRequestId(this.__wbg_ptr);
1734
+ return RequestId.__wrap(ret);
1735
+ }
1736
+ /**
1737
+ * Create a new [`RequestId`] from a requestor peer ID and nonce.
1738
+ * @param {PeerId} requestor
1739
+ * @param {Nonce} nonce
1740
+ */
1741
+ constructor(requestor, nonce) {
1742
+ _assertClass(requestor, PeerId);
1743
+ _assertClass(nonce, Nonce);
1744
+ const ret = wasm.requestid_new(requestor.__wbg_ptr, nonce.__wbg_ptr);
1745
+ this.__wbg_ptr = ret >>> 0;
1746
+ RequestIdFinalization.register(this, this.__wbg_ptr, this);
1747
+ return this;
1748
+ }
1749
+ /**
1750
+ * The request nonce.
1751
+ * @returns {Nonce}
1752
+ */
1753
+ get nonce() {
1754
+ const ret = wasm.requestid_nonce(this.__wbg_ptr);
1755
+ return Nonce.__wrap(ret);
1756
+ }
1757
+ /**
1758
+ * The peer ID of the requestor.
1759
+ * @returns {PeerId}
1760
+ */
1761
+ get requestor() {
1762
+ const ret = wasm.requestid_requestor(this.__wbg_ptr);
1763
+ return PeerId.__wrap(ret);
1764
+ }
1765
+ }
1766
+ if (Symbol.dispose) RequestId.prototype[Symbol.dispose] = RequestId.prototype.free;
1767
+
1768
+ /**
1769
+ * The main Sedimentree data structure.
1770
+ */
1771
+ export class Sedimentree {
1772
+ static __wrap(ptr) {
1773
+ ptr = ptr >>> 0;
1774
+ const obj = Object.create(Sedimentree.prototype);
1775
+ obj.__wbg_ptr = ptr;
1776
+ SedimentreeFinalization.register(obj, obj.__wbg_ptr, obj);
1777
+ return obj;
1778
+ }
1779
+ __destroy_into_raw() {
1780
+ const ptr = this.__wbg_ptr;
1781
+ this.__wbg_ptr = 0;
1782
+ SedimentreeFinalization.unregister(this);
1783
+ return ptr;
1784
+ }
1785
+ free() {
1786
+ const ptr = this.__destroy_into_raw();
1787
+ wasm.__wbg_sedimentree_free(ptr, 0);
1788
+ }
1789
+ /**
1790
+ * Create an empty Sedimentree.
1791
+ * @returns {Sedimentree}
1792
+ */
1793
+ static empty() {
1794
+ const ret = wasm.sedimentree_empty();
1795
+ return Sedimentree.__wrap(ret);
1796
+ }
1797
+ /**
1798
+ * Create a new Sedimentree from fragments and loose commits.
1799
+ * @param {Fragment[]} fragments
1800
+ * @param {LooseCommit[]} commits
1801
+ */
1802
+ constructor(fragments, commits) {
1803
+ const ptr0 = passArrayJsValueToWasm0(fragments, wasm.__wbindgen_export);
1804
+ const len0 = WASM_VECTOR_LEN;
1805
+ const ptr1 = passArrayJsValueToWasm0(commits, wasm.__wbindgen_export);
1806
+ const len1 = WASM_VECTOR_LEN;
1807
+ const ret = wasm.sedimentree_new(ptr0, len0, ptr1, len1);
1808
+ this.__wbg_ptr = ret >>> 0;
1809
+ SedimentreeFinalization.register(this, this.__wbg_ptr, this);
1810
+ return this;
1811
+ }
1812
+ }
1813
+ if (Symbol.dispose) Sedimentree.prototype[Symbol.dispose] = Sedimentree.prototype.free;
1814
+
1815
+ /**
1816
+ * A Wasm wrapper around the [`SedimentreeId`] type.
1817
+ */
1818
+ export class SedimentreeId {
1819
+ static __wrap(ptr) {
1820
+ ptr = ptr >>> 0;
1821
+ const obj = Object.create(SedimentreeId.prototype);
1822
+ obj.__wbg_ptr = ptr;
1823
+ SedimentreeIdFinalization.register(obj, obj.__wbg_ptr, obj);
1824
+ return obj;
1825
+ }
1826
+ static __unwrap(jsValue) {
1827
+ if (!(jsValue instanceof SedimentreeId)) {
1828
+ return 0;
1829
+ }
1830
+ return jsValue.__destroy_into_raw();
1831
+ }
1832
+ __destroy_into_raw() {
1833
+ const ptr = this.__wbg_ptr;
1834
+ this.__wbg_ptr = 0;
1835
+ SedimentreeIdFinalization.unregister(this);
1836
+ return ptr;
1837
+ }
1838
+ free() {
1839
+ const ptr = this.__destroy_into_raw();
1840
+ wasm.__wbg_sedimentreeid_free(ptr, 0);
1841
+ }
1842
+ /**
1843
+ * Upcasts; to the JS-import type for [`WasmSedimentreeId`].
1844
+ * @returns {SedimentreeId}
1845
+ */
1846
+ __wasm_refgen_toWasmSedimentreeId() {
1847
+ const ret = wasm.digest___wasm_refgen_toWasmDigest(this.__wbg_ptr);
1848
+ return SedimentreeId.__wrap(ret);
1849
+ }
1850
+ /**
1851
+ * Create an ID from a byte array.
1852
+ *
1853
+ * # Errors
1854
+ *
1855
+ * Returns `Not32Bytes` if the provided byte array is not exactly 32 bytes long.
1856
+ * @param {Uint8Array} bytes
1857
+ * @returns {SedimentreeId}
1858
+ */
1859
+ static fromBytes(bytes) {
1860
+ try {
1861
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1862
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export);
1863
+ const len0 = WASM_VECTOR_LEN;
1864
+ wasm.sedimentreeid_fromBytes(retptr, ptr0, len0);
1865
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1866
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1867
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1868
+ if (r2) {
1869
+ throw takeObject(r1);
1870
+ }
1871
+ return SedimentreeId.__wrap(r0);
1872
+ } finally {
1873
+ wasm.__wbindgen_add_to_stack_pointer(16);
1874
+ }
1875
+ }
1876
+ /**
1877
+ * Returns the raw bytes of this ID.
1878
+ * @returns {Uint8Array}
1879
+ */
1880
+ toBytes() {
1881
+ try {
1882
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1883
+ wasm.digest_toBytes(retptr, this.__wbg_ptr);
1884
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1885
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1886
+ var v1 = getArrayU8FromWasm0(r0, r1).slice();
1887
+ wasm.__wbindgen_export4(r0, r1 * 1, 1);
1888
+ return v1;
1889
+ } finally {
1890
+ wasm.__wbindgen_add_to_stack_pointer(16);
1891
+ }
1892
+ }
1893
+ /**
1894
+ * Returns the string representation of the ID.
1895
+ * @returns {string}
1896
+ */
1897
+ toString() {
1898
+ let deferred1_0;
1899
+ let deferred1_1;
1900
+ try {
1901
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1902
+ wasm.sedimentreeid_toString(retptr, this.__wbg_ptr);
1903
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1904
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1905
+ deferred1_0 = r0;
1906
+ deferred1_1 = r1;
1907
+ return getStringFromWasm0(r0, r1);
1908
+ } finally {
1909
+ wasm.__wbindgen_add_to_stack_pointer(16);
1910
+ wasm.__wbindgen_export4(deferred1_0, deferred1_1, 1);
1911
+ }
1912
+ }
1913
+ }
1914
+ if (Symbol.dispose) SedimentreeId.prototype[Symbol.dispose] = SedimentreeId.prototype.free;
1915
+
1916
+ export class SedimentreeIdsArray {
1917
+ static __wrap(ptr) {
1918
+ ptr = ptr >>> 0;
1919
+ const obj = Object.create(SedimentreeIdsArray.prototype);
1920
+ obj.__wbg_ptr = ptr;
1921
+ SedimentreeIdsArrayFinalization.register(obj, obj.__wbg_ptr, obj);
1922
+ return obj;
1923
+ }
1924
+ __destroy_into_raw() {
1925
+ const ptr = this.__wbg_ptr;
1926
+ this.__wbg_ptr = 0;
1927
+ SedimentreeIdsArrayFinalization.unregister(this);
1928
+ return ptr;
1929
+ }
1930
+ free() {
1931
+ const ptr = this.__destroy_into_raw();
1932
+ wasm.__wbg_sedimentreeidsarray_free(ptr, 0);
1933
+ }
1934
+ /**
1935
+ * Upcasts; to the JS-import type for [`WasmSedimentreeIdsArray`].
1936
+ * @returns {SedimentreeIdsArray}
1937
+ */
1938
+ __wasm_refgen_toWasmSedimentreeIdsArray() {
1939
+ const ret = wasm.sedimentreeidsarray___wasm_refgen_toWasmSedimentreeIdsArray(this.__wbg_ptr);
1940
+ return SedimentreeIdsArray.__wrap(ret);
1941
+ }
1942
+ }
1943
+ if (Symbol.dispose) SedimentreeIdsArray.prototype[Symbol.dispose] = SedimentreeIdsArray.prototype.free;
1944
+
1945
+ /**
1946
+ * A Wasm wrapper around `Signed<Fragment>`.
1947
+ */
1948
+ export class SignedFragment {
1949
+ static __wrap(ptr) {
1950
+ ptr = ptr >>> 0;
1951
+ const obj = Object.create(SignedFragment.prototype);
1952
+ obj.__wbg_ptr = ptr;
1953
+ SignedFragmentFinalization.register(obj, obj.__wbg_ptr, obj);
1954
+ return obj;
1955
+ }
1956
+ __destroy_into_raw() {
1957
+ const ptr = this.__wbg_ptr;
1958
+ this.__wbg_ptr = 0;
1959
+ SignedFragmentFinalization.unregister(this);
1960
+ return ptr;
1961
+ }
1962
+ free() {
1963
+ const ptr = this.__destroy_into_raw();
1964
+ wasm.__wbg_signedfragment_free(ptr, 0);
1965
+ }
1966
+ /**
1967
+ * Upcasts; to the JS-import type for [`WasmSignedFragment`].
1968
+ * @returns {SignedFragment}
1969
+ */
1970
+ __wasm_refgen_toWasmSignedFragment() {
1971
+ const ret = wasm.signedfragment___wasm_refgen_toWasmSignedFragment(this.__wbg_ptr);
1972
+ return SignedFragment.__wrap(ret);
1973
+ }
1974
+ /**
1975
+ * Encode this signed fragment to raw bytes.
1976
+ * @returns {Uint8Array}
1977
+ */
1978
+ encode() {
1979
+ const ret = wasm.signedfragment_encode(this.__wbg_ptr);
1980
+ return takeObject(ret);
1981
+ }
1982
+ /**
1983
+ * Get the unsigned payload without re-verifying the signature.
1984
+ *
1985
+ * # Errors
1986
+ *
1987
+ * Returns an error if the payload cannot be decoded.
1988
+ * @returns {Fragment}
1989
+ */
1990
+ get payload() {
1991
+ try {
1992
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
1993
+ wasm.signedfragment_payload(retptr, this.__wbg_ptr);
1994
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
1995
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
1996
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
1997
+ if (r2) {
1998
+ throw takeObject(r1);
1999
+ }
2000
+ return Fragment.__wrap(r0);
2001
+ } finally {
2002
+ wasm.__wbindgen_add_to_stack_pointer(16);
2003
+ }
2004
+ }
2005
+ /**
2006
+ * Decode a `SignedFragment` from raw bytes.
2007
+ *
2008
+ * # Errors
2009
+ *
2010
+ * Returns an error if the bytes are not a valid signed fragment.
2011
+ * @param {Uint8Array} bytes
2012
+ * @returns {SignedFragment}
2013
+ */
2014
+ static tryDecode(bytes) {
2015
+ try {
2016
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2017
+ wasm.signedfragment_tryDecode(retptr, addBorrowedObject(bytes));
2018
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2019
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2020
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2021
+ if (r2) {
2022
+ throw takeObject(r1);
2023
+ }
2024
+ return SignedFragment.__wrap(r0);
2025
+ } finally {
2026
+ wasm.__wbindgen_add_to_stack_pointer(16);
2027
+ heap[stack_pointer++] = undefined;
2028
+ }
2029
+ }
2030
+ }
2031
+ if (Symbol.dispose) SignedFragment.prototype[Symbol.dispose] = SignedFragment.prototype.free;
2032
+
2033
+ /**
2034
+ * A Wasm wrapper around `Signed<LooseCommit>`.
2035
+ */
2036
+ export class SignedLooseCommit {
2037
+ static __wrap(ptr) {
2038
+ ptr = ptr >>> 0;
2039
+ const obj = Object.create(SignedLooseCommit.prototype);
2040
+ obj.__wbg_ptr = ptr;
2041
+ SignedLooseCommitFinalization.register(obj, obj.__wbg_ptr, obj);
2042
+ return obj;
2043
+ }
2044
+ __destroy_into_raw() {
2045
+ const ptr = this.__wbg_ptr;
2046
+ this.__wbg_ptr = 0;
2047
+ SignedLooseCommitFinalization.unregister(this);
2048
+ return ptr;
2049
+ }
2050
+ free() {
2051
+ const ptr = this.__destroy_into_raw();
2052
+ wasm.__wbg_signedloosecommit_free(ptr, 0);
2053
+ }
2054
+ /**
2055
+ * Upcasts; to the JS-import type for [`WasmSignedLooseCommit`].
2056
+ * @returns {SignedLooseCommit}
2057
+ */
2058
+ __wasm_refgen_toWasmSignedLooseCommit() {
2059
+ const ret = wasm.signedloosecommit___wasm_refgen_toWasmSignedLooseCommit(this.__wbg_ptr);
2060
+ return SignedLooseCommit.__wrap(ret);
2061
+ }
2062
+ /**
2063
+ * Encode this signed loose commit to raw bytes.
2064
+ * @returns {Uint8Array}
2065
+ */
2066
+ encode() {
2067
+ const ret = wasm.signedloosecommit_encode(this.__wbg_ptr);
2068
+ return takeObject(ret);
2069
+ }
2070
+ /**
2071
+ * Get the unsigned payload without re-verifying the signature.
2072
+ *
2073
+ * # Errors
2074
+ *
2075
+ * Returns an error if the payload cannot be decoded.
2076
+ * @returns {LooseCommit}
2077
+ */
2078
+ get payload() {
2079
+ try {
2080
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2081
+ wasm.signedloosecommit_payload(retptr, this.__wbg_ptr);
2082
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2083
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2084
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2085
+ if (r2) {
2086
+ throw takeObject(r1);
2087
+ }
2088
+ return LooseCommit.__wrap(r0);
2089
+ } finally {
2090
+ wasm.__wbindgen_add_to_stack_pointer(16);
2091
+ }
2092
+ }
2093
+ /**
2094
+ * Decode a `SignedLooseCommit` from raw bytes.
2095
+ *
2096
+ * # Errors
2097
+ *
2098
+ * Returns an error if the bytes are not a valid signed loose commit.
2099
+ * @param {Uint8Array} bytes
2100
+ * @returns {SignedLooseCommit}
2101
+ */
2102
+ static tryDecode(bytes) {
2103
+ try {
2104
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
2105
+ wasm.signedloosecommit_tryDecode(retptr, addBorrowedObject(bytes));
2106
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
2107
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
2108
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
2109
+ if (r2) {
2110
+ throw takeObject(r1);
2111
+ }
2112
+ return SignedLooseCommit.__wrap(r0);
2113
+ } finally {
2114
+ wasm.__wbindgen_add_to_stack_pointer(16);
2115
+ heap[stack_pointer++] = undefined;
2116
+ }
2117
+ }
2118
+ }
2119
+ if (Symbol.dispose) SignedLooseCommit.prototype[Symbol.dispose] = SignedLooseCommit.prototype.free;
2120
+
2121
+ /**
2122
+ * Wasm bindings for [`Subduction`](subduction_core::Subduction)
2123
+ */
2124
+ export class Subduction {
2125
+ static __wrap(ptr) {
2126
+ ptr = ptr >>> 0;
2127
+ const obj = Object.create(Subduction.prototype);
2128
+ obj.__wbg_ptr = ptr;
2129
+ SubductionFinalization.register(obj, obj.__wbg_ptr, obj);
2130
+ return obj;
2131
+ }
2132
+ __destroy_into_raw() {
2133
+ const ptr = this.__wbg_ptr;
2134
+ this.__wbg_ptr = 0;
2135
+ SubductionFinalization.unregister(this);
2136
+ return ptr;
2137
+ }
2138
+ free() {
2139
+ const ptr = this.__destroy_into_raw();
2140
+ wasm.__wbg_subduction_free(ptr, 0);
2141
+ }
2142
+ /**
2143
+ * Add a commit with its associated blob to the storage.
2144
+ *
2145
+ * The commit metadata (including `BlobMeta`) is computed internally from
2146
+ * the provided blob, ensuring consistency by construction.
2147
+ *
2148
+ * # Errors
2149
+ *
2150
+ * Returns a [`WasmWriteError`] if storage, networking, or policy fail.
2151
+ * @param {SedimentreeId} id
2152
+ * @param {Digest[]} parents
2153
+ * @param {Uint8Array} blob
2154
+ * @returns {Promise<FragmentRequested | undefined>}
2155
+ */
2156
+ addCommit(id, parents, blob) {
2157
+ _assertClass(id, SedimentreeId);
2158
+ const ptr0 = passArrayJsValueToWasm0(parents, wasm.__wbindgen_export);
2159
+ const len0 = WASM_VECTOR_LEN;
2160
+ const ret = wasm.subduction_addCommit(this.__wbg_ptr, id.__wbg_ptr, ptr0, len0, addHeapObject(blob));
2161
+ return takeObject(ret);
2162
+ }
2163
+ /**
2164
+ * Add a fragment with its associated blob to the storage.
2165
+ *
2166
+ * The fragment metadata (including `BlobMeta`) is computed internally from
2167
+ * the provided blob, ensuring consistency by construction.
2168
+ *
2169
+ * # Errors
2170
+ *
2171
+ * Returns a [`WasmWriteError`] if storage, networking, or policy fail.
2172
+ * @param {SedimentreeId} id
2173
+ * @param {Digest} head
2174
+ * @param {Digest[]} boundary
2175
+ * @param {Digest[]} checkpoints
2176
+ * @param {Uint8Array} blob
2177
+ * @returns {Promise<void>}
2178
+ */
2179
+ addFragment(id, head, boundary, checkpoints, blob) {
2180
+ _assertClass(id, SedimentreeId);
2181
+ _assertClass(head, Digest);
2182
+ const ptr0 = passArrayJsValueToWasm0(boundary, wasm.__wbindgen_export);
2183
+ const len0 = WASM_VECTOR_LEN;
2184
+ const ptr1 = passArrayJsValueToWasm0(checkpoints, wasm.__wbindgen_export);
2185
+ const len1 = WASM_VECTOR_LEN;
2186
+ const ret = wasm.subduction_addFragment(this.__wbg_ptr, id.__wbg_ptr, head.__wbg_ptr, ptr0, len0, ptr1, len1, addHeapObject(blob));
2187
+ return takeObject(ret);
2188
+ }
2189
+ /**
2190
+ * Add a Sedimentree.
2191
+ *
2192
+ * # Errors
2193
+ *
2194
+ * Returns [`WasmWriteError`] if there is a problem with storage, networking, or policy.
2195
+ * @param {SedimentreeId} id
2196
+ * @param {Sedimentree} sedimentree
2197
+ * @param {Uint8Array[]} blobs
2198
+ * @returns {Promise<void>}
2199
+ */
2200
+ addSedimentree(id, sedimentree, blobs) {
2201
+ _assertClass(id, SedimentreeId);
2202
+ _assertClass(sedimentree, Sedimentree);
2203
+ const ptr0 = passArrayJsValueToWasm0(blobs, wasm.__wbindgen_export);
2204
+ const len0 = WASM_VECTOR_LEN;
2205
+ const ret = wasm.subduction_addSedimentree(this.__wbg_ptr, id.__wbg_ptr, sedimentree.__wbg_ptr, ptr0, len0);
2206
+ return takeObject(ret);
2207
+ }
2208
+ /**
2209
+ * Attach an authenticated WebSocket connection and sync all sedimentrees.
2210
+ *
2211
+ * The connection must have been authenticated via [`SubductionWebSocket::setup`],
2212
+ * [`SubductionWebSocket::tryConnect`], or [`SubductionWebSocket::tryDiscover`].
2213
+ *
2214
+ * Returns `true` if this is a new peer, `false` if already connected.
2215
+ *
2216
+ * # Errors
2217
+ *
2218
+ * Returns an error if registration or sync fails.
2219
+ * @param {AuthenticatedWebSocket} conn
2220
+ * @returns {Promise<boolean>}
2221
+ */
2222
+ attach(conn) {
2223
+ _assertClass(conn, AuthenticatedWebSocket);
2224
+ const ret = wasm.subduction_attach(this.__wbg_ptr, conn.__wbg_ptr);
2225
+ return takeObject(ret);
2226
+ }
2227
+ /**
2228
+ * Connect to a peer via WebSocket and register the connection.
2229
+ *
2230
+ * This performs the cryptographic handshake, verifies the server's identity,
2231
+ * and registers the authenticated connection for syncing.
2232
+ *
2233
+ * Returns the verified peer ID on success.
2234
+ *
2235
+ * # Arguments
2236
+ *
2237
+ * * `address` - The WebSocket URL to connect to
2238
+ * * `signer` - The client's signer for authentication
2239
+ * * `expected_peer_id` - The expected server peer ID (verified during handshake)
2240
+ * * `timeout_milliseconds` - Request timeout in milliseconds
2241
+ *
2242
+ * # Errors
2243
+ *
2244
+ * Returns an error if connection, handshake, or registration fails.
2245
+ * @param {URL} address
2246
+ * @param {any} signer
2247
+ * @param {PeerId} expected_peer_id
2248
+ * @param {number} timeout_milliseconds
2249
+ * @returns {Promise<PeerId>}
2250
+ */
2251
+ connect(address, signer, expected_peer_id, timeout_milliseconds) {
2252
+ _assertClass(expected_peer_id, PeerId);
2253
+ const ret = wasm.subduction_connect(this.__wbg_ptr, addHeapObject(address), addHeapObject(signer), expected_peer_id.__wbg_ptr, timeout_milliseconds);
2254
+ return takeObject(ret);
2255
+ }
2256
+ /**
2257
+ * Connect to a peer via WebSocket using discovery mode and register the connection.
2258
+ *
2259
+ * Returns the discovered and verified peer ID on success.
2260
+ *
2261
+ * # Arguments
2262
+ *
2263
+ * * `address` - The WebSocket URL to connect to
2264
+ * * `signer` - The client's signer for authentication
2265
+ * * `timeout_milliseconds` - Request timeout in milliseconds (defaults to 30000)
2266
+ * * `service_name` - The service name for discovery (defaults to URL host)
2267
+ *
2268
+ * # Errors
2269
+ *
2270
+ * Returns an error if connection, handshake, or registration fails.
2271
+ * @param {URL} address
2272
+ * @param {any} signer
2273
+ * @param {number | null} [timeout_milliseconds]
2274
+ * @param {string | null} [service_name]
2275
+ * @returns {Promise<PeerId>}
2276
+ */
2277
+ connectDiscover(address, signer, timeout_milliseconds, service_name) {
2278
+ var ptr0 = isLikeNone(service_name) ? 0 : passStringToWasm0(service_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2279
+ var len0 = WASM_VECTOR_LEN;
2280
+ const ret = wasm.subduction_connectDiscover(this.__wbg_ptr, addHeapObject(address), addHeapObject(signer), isLikeNone(timeout_milliseconds) ? 0x100000001 : (timeout_milliseconds) >>> 0, ptr0, len0);
2281
+ return takeObject(ret);
2282
+ }
2283
+ /**
2284
+ * Connect to a peer via HTTP long-poll using discovery mode.
2285
+ *
2286
+ * Returns the discovered and verified peer ID on success.
2287
+ *
2288
+ * # Arguments
2289
+ *
2290
+ * * `base_url` - The server's HTTP base URL (e.g., `http://localhost:8080`)
2291
+ * * `signer` - The client's signer for authentication
2292
+ * * `timeout_milliseconds` - Request timeout in milliseconds (default: 30000)
2293
+ * * `service_name` - The service name for discovery (defaults to `base_url`)
2294
+ *
2295
+ * # Errors
2296
+ *
2297
+ * Returns an error if connection, handshake, or registration fails.
2298
+ * @param {string} base_url
2299
+ * @param {any} signer
2300
+ * @param {number | null} [timeout_milliseconds]
2301
+ * @param {string | null} [service_name]
2302
+ * @returns {Promise<PeerId>}
2303
+ */
2304
+ connectDiscoverLongPoll(base_url, signer, timeout_milliseconds, service_name) {
2305
+ const ptr0 = passStringToWasm0(base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2306
+ const len0 = WASM_VECTOR_LEN;
2307
+ var ptr1 = isLikeNone(service_name) ? 0 : passStringToWasm0(service_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2308
+ var len1 = WASM_VECTOR_LEN;
2309
+ const ret = wasm.subduction_connectDiscoverLongPoll(this.__wbg_ptr, ptr0, len0, addHeapObject(signer), isLikeNone(timeout_milliseconds) ? 0x100000001 : (timeout_milliseconds) >>> 0, ptr1, len1);
2310
+ return takeObject(ret);
2311
+ }
2312
+ /**
2313
+ * Connect to a peer via HTTP long-poll and register the connection.
2314
+ *
2315
+ * Returns the verified peer ID on success.
2316
+ *
2317
+ * # Arguments
2318
+ *
2319
+ * * `base_url` - The server's HTTP base URL (e.g., `http://localhost:8080`)
2320
+ * * `signer` - The client's signer for authentication
2321
+ * * `expected_peer_id` - The expected server peer ID (verified during handshake)
2322
+ * * `timeout_milliseconds` - Request timeout in milliseconds (default: 30000)
2323
+ *
2324
+ * # Errors
2325
+ *
2326
+ * Returns an error if connection, handshake, or registration fails.
2327
+ * @param {string} base_url
2328
+ * @param {any} signer
2329
+ * @param {PeerId} expected_peer_id
2330
+ * @param {number | null} [timeout_milliseconds]
2331
+ * @returns {Promise<PeerId>}
2332
+ */
2333
+ connectLongPoll(base_url, signer, expected_peer_id, timeout_milliseconds) {
2334
+ const ptr0 = passStringToWasm0(base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2335
+ const len0 = WASM_VECTOR_LEN;
2336
+ _assertClass(expected_peer_id, PeerId);
2337
+ const ret = wasm.subduction_connectLongPoll(this.__wbg_ptr, ptr0, len0, addHeapObject(signer), expected_peer_id.__wbg_ptr, isLikeNone(timeout_milliseconds) ? 0x100000001 : (timeout_milliseconds) >>> 0);
2338
+ return takeObject(ret);
2339
+ }
2340
+ /**
2341
+ * Disconnect from all peers.
2342
+ *
2343
+ * # Errors
2344
+ *
2345
+ * Returns a [`WasmDisconnectionError`] if disconnection was not graceful.
2346
+ * @returns {Promise<void>}
2347
+ */
2348
+ disconnectAll() {
2349
+ const ret = wasm.subduction_disconnectAll(this.__wbg_ptr);
2350
+ return takeObject(ret);
2351
+ }
2352
+ /**
2353
+ * Disconnect from a peer by its ID.
2354
+ *
2355
+ * # Errors
2356
+ *
2357
+ * Returns a `WasmDisconnectionError` if disconnection fails.
2358
+ * @param {PeerId} peer_id
2359
+ * @returns {Promise<boolean>}
2360
+ */
2361
+ disconnectFromPeer(peer_id) {
2362
+ _assertClass(peer_id, PeerId);
2363
+ const ret = wasm.subduction_disconnectFromPeer(this.__wbg_ptr, peer_id.__wbg_ptr);
2364
+ return takeObject(ret);
2365
+ }
2366
+ /**
2367
+ * Fetch blobs by their digests, with an optional timeout in milliseconds.
2368
+ *
2369
+ * # Errors
2370
+ *
2371
+ * Returns a [`WasmIoError`] if storage or networking fail.
2372
+ * @param {SedimentreeId} id
2373
+ * @param {bigint | null} [timeout_milliseconds]
2374
+ * @returns {Promise<Uint8Array[] | undefined>}
2375
+ */
2376
+ fetchBlobs(id, timeout_milliseconds) {
2377
+ _assertClass(id, SedimentreeId);
2378
+ const ret = wasm.subduction_fetchBlobs(this.__wbg_ptr, id.__wbg_ptr, !isLikeNone(timeout_milliseconds), isLikeNone(timeout_milliseconds) ? BigInt(0) : timeout_milliseconds);
2379
+ return takeObject(ret);
2380
+ }
2381
+ /**
2382
+ * Request batch sync for all known Sedimentree IDs from all connected peers.
2383
+ * @param {bigint | null} [timeout_milliseconds]
2384
+ * @returns {Promise<PeerBatchSyncResult>}
2385
+ */
2386
+ fullSync(timeout_milliseconds) {
2387
+ const ret = wasm.subduction_fullSync(this.__wbg_ptr, !isLikeNone(timeout_milliseconds), isLikeNone(timeout_milliseconds) ? BigInt(0) : timeout_milliseconds);
2388
+ return takeObject(ret);
2389
+ }
2390
+ /**
2391
+ * Get a local blob by its digest.
2392
+ *
2393
+ * # Errors
2394
+ *
2395
+ * Returns a [`JsStorageError`] if JS storage fails.
2396
+ * @param {SedimentreeId} id
2397
+ * @param {Digest} digest
2398
+ * @returns {Promise<Uint8Array | undefined>}
2399
+ */
2400
+ getBlob(id, digest) {
2401
+ _assertClass(id, SedimentreeId);
2402
+ _assertClass(digest, Digest);
2403
+ const ret = wasm.subduction_getBlob(this.__wbg_ptr, id.__wbg_ptr, digest.__wbg_ptr);
2404
+ return takeObject(ret);
2405
+ }
2406
+ /**
2407
+ * Get all local blobs for a given Sedimentree ID.
2408
+ *
2409
+ * # Errors
2410
+ *
2411
+ * Returns a [`JsStorageError`] if JS storage fails.
2412
+ * @param {SedimentreeId} id
2413
+ * @returns {Promise<Uint8Array[]>}
2414
+ */
2415
+ getBlobs(id) {
2416
+ _assertClass(id, SedimentreeId);
2417
+ const ret = wasm.subduction_getBlobs(this.__wbg_ptr, id.__wbg_ptr);
2418
+ return takeObject(ret);
2419
+ }
2420
+ /**
2421
+ * Get all commits for a given Sedimentree ID
2422
+ * @param {SedimentreeId} id
2423
+ * @returns {Promise<LooseCommit[] | undefined>}
2424
+ */
2425
+ getCommits(id) {
2426
+ _assertClass(id, SedimentreeId);
2427
+ const ret = wasm.subduction_getCommits(this.__wbg_ptr, id.__wbg_ptr);
2428
+ return takeObject(ret);
2429
+ }
2430
+ /**
2431
+ * Get the peer IDs of all connected peers.
2432
+ * @returns {Promise<PeerId[]>}
2433
+ */
2434
+ getConnectedPeerIds() {
2435
+ const ret = wasm.subduction_getConnectedPeerIds(this.__wbg_ptr);
2436
+ return takeObject(ret);
2437
+ }
2438
+ /**
2439
+ * Get all fragments for a given Sedimentree ID
2440
+ * @param {SedimentreeId} id
2441
+ * @returns {Promise<Fragment[] | undefined>}
2442
+ */
2443
+ getFragments(id) {
2444
+ _assertClass(id, SedimentreeId);
2445
+ const ret = wasm.subduction_getFragments(this.__wbg_ptr, id.__wbg_ptr);
2446
+ return takeObject(ret);
2447
+ }
2448
+ /**
2449
+ * Hydrate a [`Subduction`] instance from external storage.
2450
+ *
2451
+ * # Arguments
2452
+ *
2453
+ * * `signer` - The cryptographic signer for this node's identity
2454
+ * * `storage` - Storage backend for persisting data
2455
+ * * `service_name` - Optional service identifier for discovery mode (e.g., `sync.example.com`).
2456
+ * When set, clients can connect without knowing the server's peer ID.
2457
+ * * `hash_metric_override` - Optional custom depth metric function
2458
+ * * `max_pending_blob_requests` - Optional maximum number of pending blob requests (default: 10,000)
2459
+ *
2460
+ * # Errors
2461
+ *
2462
+ * Returns [`WasmHydrationError`] if hydration fails.
2463
+ * @param {any} signer
2464
+ * @param {SedimentreeStorage} storage
2465
+ * @param {string | null} [service_name]
2466
+ * @param {(digest: Digest) => Depth | null} [hash_metric_override]
2467
+ * @param {number | null} [max_pending_blob_requests]
2468
+ * @returns {Promise<Subduction>}
2469
+ */
2470
+ static hydrate(signer, storage, service_name, hash_metric_override, max_pending_blob_requests) {
2471
+ var ptr0 = isLikeNone(service_name) ? 0 : passStringToWasm0(service_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2472
+ var len0 = WASM_VECTOR_LEN;
2473
+ const ret = wasm.subduction_hydrate(addHeapObject(signer), addHeapObject(storage), ptr0, len0, isLikeNone(hash_metric_override) ? 0 : addHeapObject(hash_metric_override), isLikeNone(max_pending_blob_requests) ? 0x100000001 : (max_pending_blob_requests) >>> 0);
2474
+ return takeObject(ret);
2475
+ }
2476
+ /**
2477
+ * Create a new [`Subduction`] instance.
2478
+ *
2479
+ * # Arguments
2480
+ *
2481
+ * * `signer` - The cryptographic signer for this node's identity
2482
+ * * `storage` - Storage backend for persisting data
2483
+ * * `service_name` - Optional service identifier for discovery mode (e.g., `sync.example.com`).
2484
+ * When set, clients can connect without knowing the server's peer ID.
2485
+ * * `hash_metric_override` - Optional custom depth metric function
2486
+ * * `max_pending_blob_requests` - Optional maximum number of pending blob requests (default: 10,000)
2487
+ * @param {any} signer
2488
+ * @param {SedimentreeStorage} storage
2489
+ * @param {string | null} [service_name]
2490
+ * @param {(digest: Digest) => Depth | null} [hash_metric_override]
2491
+ * @param {number | null} [max_pending_blob_requests]
2492
+ */
2493
+ constructor(signer, storage, service_name, hash_metric_override, max_pending_blob_requests) {
2494
+ var ptr0 = isLikeNone(service_name) ? 0 : passStringToWasm0(service_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2495
+ var len0 = WASM_VECTOR_LEN;
2496
+ const ret = wasm.subduction_new(addHeapObject(signer), addHeapObject(storage), ptr0, len0, isLikeNone(hash_metric_override) ? 0 : addHeapObject(hash_metric_override), isLikeNone(max_pending_blob_requests) ? 0x100000001 : (max_pending_blob_requests) >>> 0);
2497
+ this.__wbg_ptr = ret >>> 0;
2498
+ SubductionFinalization.register(this, this.__wbg_ptr, this);
2499
+ return this;
2500
+ }
2501
+ /**
2502
+ * Remove a Sedimentree and all associated data.
2503
+ *
2504
+ * # Errors
2505
+ *
2506
+ * Returns a [`WasmIoError`] if storage or networking fail.
2507
+ * @param {SedimentreeId} id
2508
+ * @returns {Promise<void>}
2509
+ */
2510
+ removeSedimentree(id) {
2511
+ _assertClass(id, SedimentreeId);
2512
+ const ret = wasm.subduction_removeSedimentree(this.__wbg_ptr, id.__wbg_ptr);
2513
+ return takeObject(ret);
2514
+ }
2515
+ /**
2516
+ * Request blobs by their digests from connected peers for a specific sedimentree.
2517
+ * @param {SedimentreeId} id
2518
+ * @param {Digest[]} digests
2519
+ * @returns {Promise<void>}
2520
+ */
2521
+ requestBlobs(id, digests) {
2522
+ _assertClass(id, SedimentreeId);
2523
+ const ptr0 = passArrayJsValueToWasm0(digests, wasm.__wbindgen_export);
2524
+ const len0 = WASM_VECTOR_LEN;
2525
+ const ret = wasm.subduction_requestBlobs(this.__wbg_ptr, id.__wbg_ptr, ptr0, len0);
2526
+ return takeObject(ret);
2527
+ }
2528
+ /**
2529
+ * Get all known Sedimentree IDs
2530
+ * @returns {Promise<SedimentreeId[]>}
2531
+ */
2532
+ sedimentreeIds() {
2533
+ const ret = wasm.subduction_sedimentreeIds(this.__wbg_ptr);
2534
+ return takeObject(ret);
2535
+ }
2536
+ /**
2537
+ * Get the backing storage.
2538
+ * @returns {any}
2539
+ */
2540
+ get storage() {
2541
+ const ret = wasm.subduction_storage(this.__wbg_ptr);
2542
+ return takeObject(ret);
2543
+ }
2544
+ /**
2545
+ * Request batch sync for a given Sedimentree ID from all connected peers.
2546
+ *
2547
+ * # Arguments
2548
+ *
2549
+ * * `id` - The sedimentree ID to sync
2550
+ * * `subscribe` - Whether to subscribe for incremental updates
2551
+ * * `timeout_milliseconds` - Optional timeout in milliseconds
2552
+ *
2553
+ * # Errors
2554
+ *
2555
+ * Returns a [`WasmIoError`] if storage or networking fail.
2556
+ * @param {SedimentreeId} id
2557
+ * @param {boolean} subscribe
2558
+ * @param {bigint | null} [timeout_milliseconds]
2559
+ * @returns {Promise<PeerResultMap>}
2560
+ */
2561
+ syncAll(id, subscribe, timeout_milliseconds) {
2562
+ _assertClass(id, SedimentreeId);
2563
+ const ret = wasm.subduction_syncAll(this.__wbg_ptr, id.__wbg_ptr, subscribe, !isLikeNone(timeout_milliseconds), isLikeNone(timeout_milliseconds) ? BigInt(0) : timeout_milliseconds);
2564
+ return takeObject(ret);
2565
+ }
2566
+ /**
2567
+ * Request batch sync for a given Sedimentree ID from a specific peer.
2568
+ *
2569
+ * # Arguments
2570
+ *
2571
+ * * `to_ask` - The peer ID to sync with
2572
+ * * `id` - The sedimentree ID to sync
2573
+ * * `subscribe` - Whether to subscribe for incremental updates
2574
+ * * `timeout_milliseconds` - Optional timeout in milliseconds
2575
+ *
2576
+ * # Errors
2577
+ *
2578
+ * Returns a [`WasmIoError`] if storage or networking fail.
2579
+ * @param {PeerId} to_ask
2580
+ * @param {SedimentreeId} id
2581
+ * @param {boolean} subscribe
2582
+ * @param {bigint | null} [timeout_milliseconds]
2583
+ * @returns {Promise<PeerBatchSyncResult>}
2584
+ */
2585
+ syncWithPeer(to_ask, id, subscribe, timeout_milliseconds) {
2586
+ _assertClass(to_ask, PeerId);
2587
+ _assertClass(id, SedimentreeId);
2588
+ const ret = wasm.subduction_syncWithPeer(this.__wbg_ptr, to_ask.__wbg_ptr, id.__wbg_ptr, subscribe, !isLikeNone(timeout_milliseconds), isLikeNone(timeout_milliseconds) ? BigInt(0) : timeout_milliseconds);
2589
+ return takeObject(ret);
2590
+ }
2591
+ }
2592
+ if (Symbol.dispose) Subduction.prototype[Symbol.dispose] = Subduction.prototype.free;
2593
+
2594
+ /**
2595
+ * HTTP long-poll connection factory for browser/worker environments.
2596
+ *
2597
+ * Analogous to [`SubductionWebSocket`] but uses HTTP long-poll instead of WebSocket.
2598
+ */
2599
+ export class SubductionLongPoll {
2600
+ __destroy_into_raw() {
2601
+ const ptr = this.__wbg_ptr;
2602
+ this.__wbg_ptr = 0;
2603
+ SubductionLongPollFinalization.unregister(this);
2604
+ return ptr;
2605
+ }
2606
+ free() {
2607
+ const ptr = this.__destroy_into_raw();
2608
+ wasm.__wbg_subductionlongpoll_free(ptr, 0);
2609
+ }
2610
+ /**
2611
+ * Connect to a server with a known peer ID.
2612
+ *
2613
+ * # Arguments
2614
+ *
2615
+ * * `base_url` - The server's HTTP base URL (e.g., `http://localhost:8080`)
2616
+ * * `signer` - The client's signer for authentication
2617
+ * * `expected_peer_id` - The expected server peer ID (verified during handshake)
2618
+ * * `timeout_milliseconds` - Request timeout in milliseconds (default: 30000)
2619
+ *
2620
+ * # Errors
2621
+ *
2622
+ * Returns [`LongPollConnectionError`] if connection or handshake fails.
2623
+ * @param {string} base_url
2624
+ * @param {any} signer
2625
+ * @param {PeerId} expected_peer_id
2626
+ * @param {number | null} [timeout_milliseconds]
2627
+ * @returns {Promise<AuthenticatedLongPoll>}
2628
+ */
2629
+ static tryConnect(base_url, signer, expected_peer_id, timeout_milliseconds) {
2630
+ const ptr0 = passStringToWasm0(base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2631
+ const len0 = WASM_VECTOR_LEN;
2632
+ _assertClass(expected_peer_id, PeerId);
2633
+ const ret = wasm.subductionlongpoll_tryConnect(ptr0, len0, addHeapObject(signer), expected_peer_id.__wbg_ptr, isLikeNone(timeout_milliseconds) ? 0x100000001 : (timeout_milliseconds) >>> 0);
2634
+ return takeObject(ret);
2635
+ }
2636
+ /**
2637
+ * Connect to a server using discovery mode.
2638
+ *
2639
+ * # Arguments
2640
+ *
2641
+ * * `base_url` - The server's HTTP base URL (e.g., `http://localhost:8080`)
2642
+ * * `signer` - The client's signer for authentication
2643
+ * * `timeout_milliseconds` - Request timeout in milliseconds (default: 30000)
2644
+ * * `service_name` - The service name for discovery. If omitted, the base URL is used.
2645
+ *
2646
+ * # Errors
2647
+ *
2648
+ * Returns [`LongPollConnectionError`] if connection or handshake fails.
2649
+ * @param {string} base_url
2650
+ * @param {any} signer
2651
+ * @param {number | null} [timeout_milliseconds]
2652
+ * @param {string | null} [service_name]
2653
+ * @returns {Promise<AuthenticatedLongPoll>}
2654
+ */
2655
+ static tryDiscover(base_url, signer, timeout_milliseconds, service_name) {
2656
+ const ptr0 = passStringToWasm0(base_url, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2657
+ const len0 = WASM_VECTOR_LEN;
2658
+ var ptr1 = isLikeNone(service_name) ? 0 : passStringToWasm0(service_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2659
+ var len1 = WASM_VECTOR_LEN;
2660
+ const ret = wasm.subductionlongpoll_tryDiscover(ptr0, len0, addHeapObject(signer), isLikeNone(timeout_milliseconds) ? 0x100000001 : (timeout_milliseconds) >>> 0, ptr1, len1);
2661
+ return takeObject(ret);
2662
+ }
2663
+ }
2664
+ if (Symbol.dispose) SubductionLongPoll.prototype[Symbol.dispose] = SubductionLongPoll.prototype.free;
2665
+
2666
+ /**
2667
+ * JS-facing wrapper around [`WasmLongPollConnection`] that exposes the
2668
+ * [`Connection`](super::JsConnection) interface so it can be used as a
2669
+ * duck-typed `JsConnection` from JavaScript.
2670
+ */
2671
+ export class SubductionLongPollConnection {
2672
+ static __wrap(ptr) {
2673
+ ptr = ptr >>> 0;
2674
+ const obj = Object.create(SubductionLongPollConnection.prototype);
2675
+ obj.__wbg_ptr = ptr;
2676
+ SubductionLongPollConnectionFinalization.register(obj, obj.__wbg_ptr, obj);
2677
+ return obj;
2678
+ }
2679
+ __destroy_into_raw() {
2680
+ const ptr = this.__wbg_ptr;
2681
+ this.__wbg_ptr = 0;
2682
+ SubductionLongPollConnectionFinalization.unregister(this);
2683
+ return ptr;
2684
+ }
2685
+ free() {
2686
+ const ptr = this.__destroy_into_raw();
2687
+ wasm.__wbg_subductionlongpollconnection_free(ptr, 0);
2688
+ }
2689
+ /**
2690
+ * Make a synchronous call to the peer.
2691
+ *
2692
+ * # Errors
2693
+ *
2694
+ * Returns an error if the call fails or times out.
2695
+ * @param {BatchSyncRequest} request
2696
+ * @param {number | null} [timeout_ms]
2697
+ * @returns {Promise<BatchSyncResponse>}
2698
+ */
2699
+ call(request, timeout_ms) {
2700
+ _assertClass(request, BatchSyncRequest);
2701
+ var ptr0 = request.__destroy_into_raw();
2702
+ const ret = wasm.subductionlongpollconnection_call(this.__wbg_ptr, ptr0, !isLikeNone(timeout_ms), isLikeNone(timeout_ms) ? 0 : timeout_ms);
2703
+ return takeObject(ret);
2704
+ }
2705
+ /**
2706
+ * Disconnect from the peer gracefully.
2707
+ *
2708
+ * # Errors
2709
+ *
2710
+ * Returns [`WasmLongPollConnError`] if the disconnect fails.
2711
+ * @returns {Promise<void>}
2712
+ */
2713
+ disconnect() {
2714
+ const ret = wasm.subductionlongpollconnection_disconnect(this.__wbg_ptr);
2715
+ return takeObject(ret);
2716
+ }
2717
+ /**
2718
+ * Get the next request ID.
2719
+ * @returns {Promise<RequestId>}
2720
+ */
2721
+ nextRequestId() {
2722
+ const ret = wasm.subductionlongpollconnection_nextRequestId(this.__wbg_ptr);
2723
+ return takeObject(ret);
2724
+ }
2725
+ /**
2726
+ * Get the peer ID of the remote peer.
2727
+ * @returns {PeerId}
2728
+ */
2729
+ peerId() {
2730
+ const ret = wasm.subductionlongpollconnection_peerId(this.__wbg_ptr);
2731
+ return PeerId.__wrap(ret);
2732
+ }
2733
+ /**
2734
+ * Receive a message.
2735
+ *
2736
+ * # Errors
2737
+ *
2738
+ * Returns an error if the inbound channel is closed.
2739
+ * @returns {Promise<Message>}
2740
+ */
2741
+ recv() {
2742
+ const ret = wasm.subductionlongpollconnection_recv(this.__wbg_ptr);
2743
+ return takeObject(ret);
2744
+ }
2745
+ /**
2746
+ * Send a message.
2747
+ *
2748
+ * # Errors
2749
+ *
2750
+ * Returns an error if the outbound channel is closed.
2751
+ * @param {Message} message
2752
+ * @returns {Promise<void>}
2753
+ */
2754
+ send(message) {
2755
+ _assertClass(message, Message);
2756
+ var ptr0 = message.__destroy_into_raw();
2757
+ const ret = wasm.subductionlongpollconnection_send(this.__wbg_ptr, ptr0);
2758
+ return takeObject(ret);
2759
+ }
2760
+ }
2761
+ if (Symbol.dispose) SubductionLongPollConnection.prototype[Symbol.dispose] = SubductionLongPollConnection.prototype.free;
2762
+
2763
+ /**
2764
+ * A WebSocket connection with internal wiring for [`Subduction`] message handling.
2765
+ */
2766
+ export class SubductionWebSocket {
2767
+ static __wrap(ptr) {
2768
+ ptr = ptr >>> 0;
2769
+ const obj = Object.create(SubductionWebSocket.prototype);
2770
+ obj.__wbg_ptr = ptr;
2771
+ SubductionWebSocketFinalization.register(obj, obj.__wbg_ptr, obj);
2772
+ return obj;
2773
+ }
2774
+ __destroy_into_raw() {
2775
+ const ptr = this.__wbg_ptr;
2776
+ this.__wbg_ptr = 0;
2777
+ SubductionWebSocketFinalization.unregister(this);
2778
+ return ptr;
2779
+ }
2780
+ free() {
2781
+ const ptr = this.__destroy_into_raw();
2782
+ wasm.__wbg_subductionwebsocket_free(ptr, 0);
2783
+ }
2784
+ /**
2785
+ * Make a synchronous call to the peer.
2786
+ *
2787
+ * # Errors
2788
+ *
2789
+ * Returns [`WasmCallError`] if the call fails or times out.
2790
+ * @param {BatchSyncRequest} request
2791
+ * @param {number | null} [timeout_ms]
2792
+ * @returns {Promise<BatchSyncResponse>}
2793
+ */
2794
+ call(request, timeout_ms) {
2795
+ _assertClass(request, BatchSyncRequest);
2796
+ var ptr0 = request.__destroy_into_raw();
2797
+ const ret = wasm.subductionwebsocket_call(this.__wbg_ptr, ptr0, !isLikeNone(timeout_ms), isLikeNone(timeout_ms) ? 0 : timeout_ms);
2798
+ return takeObject(ret);
2799
+ }
2800
+ /**
2801
+ * Disconnect from the peer gracefully.
2802
+ * @returns {Promise<void>}
2803
+ */
2804
+ disconnect() {
2805
+ const ret = wasm.subductionwebsocket_disconnect(this.__wbg_ptr);
2806
+ return takeObject(ret);
2807
+ }
2808
+ /**
2809
+ * Get the next request ID.
2810
+ * @returns {Promise<RequestId>}
2811
+ */
2812
+ nextRequestId() {
2813
+ const ret = wasm.subductionwebsocket_nextRequestId(this.__wbg_ptr);
2814
+ return takeObject(ret);
2815
+ }
2816
+ /**
2817
+ * Get the peer ID of the remote peer.
2818
+ * @returns {PeerId}
2819
+ */
2820
+ peerId() {
2821
+ const ret = wasm.authenticatedwebsocket_peerId(this.__wbg_ptr);
2822
+ return PeerId.__wrap(ret);
2823
+ }
2824
+ /**
2825
+ * Receive a message.
2826
+ *
2827
+ * # Errors
2828
+ *
2829
+ * Returns [`ReadFromClosedChannel`] if the channel has been closed.
2830
+ * @returns {Promise<Message>}
2831
+ */
2832
+ recv() {
2833
+ const ret = wasm.subductionwebsocket_recv(this.__wbg_ptr);
2834
+ return takeObject(ret);
2835
+ }
2836
+ /**
2837
+ * Send a message.
2838
+ *
2839
+ * # Errors
2840
+ *
2841
+ * Returns [`WasmSendError`] if the message could not be sent over the WebSocket.
2842
+ * @param {Message} wasm_message
2843
+ * @returns {Promise<void>}
2844
+ */
2845
+ send(wasm_message) {
2846
+ _assertClass(wasm_message, Message);
2847
+ var ptr0 = wasm_message.__destroy_into_raw();
2848
+ const ret = wasm.subductionwebsocket_send(this.__wbg_ptr, ptr0);
2849
+ return takeObject(ret);
2850
+ }
2851
+ /**
2852
+ * Authenticate an existing WebSocket via handshake.
2853
+ *
2854
+ * This performs the Subduction handshake protocol over the provided WebSocket
2855
+ * to establish mutual identity. The WebSocket can be in CONNECTING or OPEN state.
2856
+ *
2857
+ * # Arguments
2858
+ *
2859
+ * * `ws` - An existing WebSocket (CONNECTING or OPEN)
2860
+ * * `signer` - The client's signer for authentication
2861
+ * * `expected_peer_id` - The expected server peer ID (verified during handshake)
2862
+ * * `timeout_milliseconds` - Request timeout in milliseconds
2863
+ *
2864
+ * # Errors
2865
+ *
2866
+ * Returns an error if the handshake fails (signature invalid, wrong peer, etc.)
2867
+ * @param {WebSocket} ws
2868
+ * @param {any} signer
2869
+ * @param {PeerId} expected_peer_id
2870
+ * @param {number} timeout_milliseconds
2871
+ * @returns {Promise<AuthenticatedWebSocket>}
2872
+ */
2873
+ static setup(ws, signer, expected_peer_id, timeout_milliseconds) {
2874
+ _assertClass(expected_peer_id, PeerId);
2875
+ const ret = wasm.subductionwebsocket_setup(addHeapObject(ws), addHeapObject(signer), expected_peer_id.__wbg_ptr, timeout_milliseconds);
2876
+ return takeObject(ret);
2877
+ }
2878
+ /**
2879
+ * Connect to a WebSocket server with mutual authentication via handshake.
2880
+ *
2881
+ * # Arguments
2882
+ *
2883
+ * * `address` - The WebSocket URL to connect to
2884
+ * * `signer` - The client's signer for authentication
2885
+ * * `expected_peer_id` - The expected server peer ID (verified during handshake)
2886
+ * * `timeout_milliseconds` - Request timeout in milliseconds
2887
+ *
2888
+ * # Errors
2889
+ *
2890
+ * Returns an error if:
2891
+ * - The WebSocket connection could not be established
2892
+ * - The handshake fails (signature invalid, wrong server, clock drift, etc.)
2893
+ * @param {URL} address
2894
+ * @param {any} signer
2895
+ * @param {PeerId} expected_peer_id
2896
+ * @param {number} timeout_milliseconds
2897
+ * @returns {Promise<AuthenticatedWebSocket>}
2898
+ */
2899
+ static tryConnect(address, signer, expected_peer_id, timeout_milliseconds) {
2900
+ _assertClass(expected_peer_id, PeerId);
2901
+ const ret = wasm.subductionwebsocket_tryConnect(addHeapObject(address), addHeapObject(signer), expected_peer_id.__wbg_ptr, timeout_milliseconds);
2902
+ return takeObject(ret);
2903
+ }
2904
+ /**
2905
+ * Connect to a WebSocket server using discovery mode.
2906
+ *
2907
+ * This method performs a cryptographic handshake using a service name
2908
+ * instead of a known peer ID. The server's peer ID is discovered during
2909
+ * the handshake and returned.
2910
+ *
2911
+ * # Arguments
2912
+ *
2913
+ * * `address` - The WebSocket URL to connect to
2914
+ * * `signer` - The client's signer for authentication
2915
+ * * `timeout_milliseconds` - Request timeout in milliseconds. Defaults to 30000 (30s).
2916
+ * * `service_name` - The service name for discovery (e.g., `localhost:8080`).
2917
+ * If omitted, the host is extracted from the URL.
2918
+ *
2919
+ * # Errors
2920
+ *
2921
+ * Returns an error if:
2922
+ * - The WebSocket connection could not be established
2923
+ * - The handshake fails (signature invalid, clock drift, etc.)
2924
+ * @param {URL} address
2925
+ * @param {any} signer
2926
+ * @param {number | null} [timeout_milliseconds]
2927
+ * @param {string | null} [service_name]
2928
+ * @returns {Promise<AuthenticatedWebSocket>}
2929
+ */
2930
+ static tryDiscover(address, signer, timeout_milliseconds, service_name) {
2931
+ var ptr0 = isLikeNone(service_name) ? 0 : passStringToWasm0(service_name, wasm.__wbindgen_export, wasm.__wbindgen_export2);
2932
+ var len0 = WASM_VECTOR_LEN;
2933
+ const ret = wasm.subductionwebsocket_tryDiscover(addHeapObject(address), addHeapObject(signer), isLikeNone(timeout_milliseconds) ? 0x100000001 : (timeout_milliseconds) >>> 0, ptr0, len0);
2934
+ return takeObject(ret);
2935
+ }
2936
+ }
2937
+ if (Symbol.dispose) SubductionWebSocket.prototype[Symbol.dispose] = SubductionWebSocket.prototype.free;
2938
+
2939
+ /**
2940
+ * Statistics from a sync operation.
2941
+ *
2942
+ * The "sent" counts reflect items that were _successfully_ sent over the wire,
2943
+ * not just items that were requested.
2944
+ */
2945
+ export class SyncStats {
2946
+ static __wrap(ptr) {
2947
+ ptr = ptr >>> 0;
2948
+ const obj = Object.create(SyncStats.prototype);
2949
+ obj.__wbg_ptr = ptr;
2950
+ SyncStatsFinalization.register(obj, obj.__wbg_ptr, obj);
2951
+ return obj;
2952
+ }
2953
+ __destroy_into_raw() {
2954
+ const ptr = this.__wbg_ptr;
2955
+ this.__wbg_ptr = 0;
2956
+ SyncStatsFinalization.unregister(this);
2957
+ return ptr;
2958
+ }
2959
+ free() {
2960
+ const ptr = this.__destroy_into_raw();
2961
+ wasm.__wbg_syncstats_free(ptr, 0);
2962
+ }
2963
+ /**
2964
+ * Number of commits received from the peer.
2965
+ * @returns {number}
2966
+ */
2967
+ get commitsReceived() {
2968
+ const ret = wasm.syncstats_commitsReceived(this.__wbg_ptr);
2969
+ return ret >>> 0;
2970
+ }
2971
+ /**
2972
+ * Number of commits successfully sent to the peer.
2973
+ * @returns {number}
2974
+ */
2975
+ get commitsSent() {
2976
+ const ret = wasm.syncstats_commitsSent(this.__wbg_ptr);
2977
+ return ret >>> 0;
2978
+ }
2979
+ /**
2980
+ * Number of fragments received from the peer.
2981
+ * @returns {number}
2982
+ */
2983
+ get fragmentsReceived() {
2984
+ const ret = wasm.syncstats_fragmentsReceived(this.__wbg_ptr);
2985
+ return ret >>> 0;
2986
+ }
2987
+ /**
2988
+ * Number of fragments successfully sent to the peer.
2989
+ * @returns {number}
2990
+ */
2991
+ get fragmentsSent() {
2992
+ const ret = wasm.syncstats_fragmentsSent(this.__wbg_ptr);
2993
+ return ret >>> 0;
2994
+ }
2995
+ /**
2996
+ * Returns true if no data was exchanged.
2997
+ * @returns {boolean}
2998
+ */
2999
+ get isEmpty() {
3000
+ const ret = wasm.syncstats_isEmpty(this.__wbg_ptr);
3001
+ return ret !== 0;
3002
+ }
3003
+ /**
3004
+ * Total items received (commits + fragments).
3005
+ * @returns {number}
3006
+ */
3007
+ get totalReceived() {
3008
+ const ret = wasm.syncstats_totalReceived(this.__wbg_ptr);
3009
+ return ret >>> 0;
3010
+ }
3011
+ /**
3012
+ * Total items sent (commits + fragments).
3013
+ * @returns {number}
3014
+ */
3015
+ get totalSent() {
3016
+ const ret = wasm.syncstats_totalSent(this.__wbg_ptr);
3017
+ return ret >>> 0;
3018
+ }
3019
+ }
3020
+ if (Symbol.dispose) SyncStats.prototype[Symbol.dispose] = SyncStats.prototype.free;
3021
+
3022
+ /**
3023
+ * An Ed25519 signer using the browser's `WebCrypto` API.
3024
+ *
3025
+ * This signer generates and stores Ed25519 keys using `crypto.subtle`,
3026
+ * providing secure key generation and signing operations. The key is
3027
+ * persisted to `IndexedDB` so it survives page reloads.
3028
+ *
3029
+ * # Example
3030
+ *
3031
+ * ```javascript
3032
+ * import { WebCryptoSigner } from "@anthropic/subduction";
3033
+ *
3034
+ * const signer = await WebCryptoSigner.setup();
3035
+ * console.log("Peer ID:", signer.peerId().toString());
3036
+ * ```
3037
+ */
3038
+ export class WebCryptoSigner {
3039
+ static __wrap(ptr) {
3040
+ ptr = ptr >>> 0;
3041
+ const obj = Object.create(WebCryptoSigner.prototype);
3042
+ obj.__wbg_ptr = ptr;
3043
+ WebCryptoSignerFinalization.register(obj, obj.__wbg_ptr, obj);
3044
+ return obj;
3045
+ }
3046
+ __destroy_into_raw() {
3047
+ const ptr = this.__wbg_ptr;
3048
+ this.__wbg_ptr = 0;
3049
+ WebCryptoSignerFinalization.unregister(this);
3050
+ return ptr;
3051
+ }
3052
+ free() {
3053
+ const ptr = this.__destroy_into_raw();
3054
+ wasm.__wbg_webcryptosigner_free(ptr, 0);
3055
+ }
3056
+ /**
3057
+ * Get the peer ID derived from this signer's verifying key.
3058
+ *
3059
+ * # Panics
3060
+ *
3061
+ * Panics if the stored public key bytes are invalid (should never happen).
3062
+ * @returns {PeerId}
3063
+ */
3064
+ peerId() {
3065
+ const ret = wasm.webcryptosigner_peerId(this.__wbg_ptr);
3066
+ return PeerId.__wrap(ret);
3067
+ }
3068
+ /**
3069
+ * Set up the signer, loading an existing key from `IndexedDB` or generating a new one.
3070
+ *
3071
+ * # Errors
3072
+ *
3073
+ * Returns an error if `WebCrypto` or `IndexedDB` operations fail.
3074
+ * @returns {Promise<WebCryptoSigner>}
3075
+ */
3076
+ static setup() {
3077
+ const ret = wasm.webcryptosigner_setup();
3078
+ return takeObject(ret);
3079
+ }
3080
+ /**
3081
+ * Sign a message and return the 64-byte Ed25519 signature.
3082
+ *
3083
+ * # Errors
3084
+ *
3085
+ * Returns an error if `WebCrypto` signing fails.
3086
+ * @param {Uint8Array} message
3087
+ * @returns {Promise<Uint8Array>}
3088
+ */
3089
+ sign(message) {
3090
+ const ptr0 = passArray8ToWasm0(message, wasm.__wbindgen_export);
3091
+ const len0 = WASM_VECTOR_LEN;
3092
+ const ret = wasm.webcryptosigner_sign(this.__wbg_ptr, ptr0, len0);
3093
+ return takeObject(ret);
3094
+ }
3095
+ /**
3096
+ * Get the 32-byte Ed25519 verifying (public) key.
3097
+ * @returns {Uint8Array}
3098
+ */
3099
+ verifyingKey() {
3100
+ const ret = wasm.webcryptosigner_verifyingKey(this.__wbg_ptr);
3101
+ return takeObject(ret);
3102
+ }
3103
+ }
3104
+ if (Symbol.dispose) WebCryptoSigner.prototype[Symbol.dispose] = WebCryptoSigner.prototype.free;
3105
+
3106
+ function __wbg_get_imports() {
3107
+ const import0 = {
3108
+ __proto__: null,
3109
+ __wbg___wasm_refgen_toWasmCommitWithBlob_da516f4613a39b57: function(arg0) {
3110
+ const ret = getObject(arg0).__wasm_refgen_toWasmCommitWithBlob();
3111
+ _assertClass(ret, CommitWithBlob);
3112
+ var ptr1 = ret.__destroy_into_raw();
3113
+ return ptr1;
3114
+ },
3115
+ __wbg___wasm_refgen_toWasmDepth_ee4cad395c825171: function(arg0) {
3116
+ const ret = getObject(arg0).__wasm_refgen_toWasmDepth();
3117
+ _assertClass(ret, Depth);
3118
+ var ptr1 = ret.__destroy_into_raw();
3119
+ return ptr1;
3120
+ },
3121
+ __wbg___wasm_refgen_toWasmDigest_66d1df4db7cdd9a2: function(arg0) {
3122
+ const ret = getObject(arg0).__wasm_refgen_toWasmDigest();
3123
+ _assertClass(ret, Digest);
3124
+ var ptr1 = ret.__destroy_into_raw();
3125
+ return ptr1;
3126
+ },
3127
+ __wbg___wasm_refgen_toWasmFragmentWithBlob_5563b8007297efa7: function(arg0) {
3128
+ const ret = getObject(arg0).__wasm_refgen_toWasmFragmentWithBlob();
3129
+ _assertClass(ret, FragmentWithBlob);
3130
+ var ptr1 = ret.__destroy_into_raw();
3131
+ return ptr1;
3132
+ },
3133
+ __wbg___wasm_refgen_toWasmFragment_02267ee4c333bd43: function(arg0) {
3134
+ const ret = getObject(arg0).__wasm_refgen_toWasmFragment();
3135
+ _assertClass(ret, Fragment);
3136
+ var ptr1 = ret.__destroy_into_raw();
3137
+ return ptr1;
3138
+ },
3139
+ __wbg___wasm_refgen_toWasmLooseCommit_899ec4675da39a86: function(arg0) {
3140
+ const ret = getObject(arg0).__wasm_refgen_toWasmLooseCommit();
3141
+ _assertClass(ret, LooseCommit);
3142
+ var ptr1 = ret.__destroy_into_raw();
3143
+ return ptr1;
3144
+ },
3145
+ __wbg___wbindgen_debug_string_ddde1867f49c2442: function(arg0, arg1) {
3146
+ const ret = debugString(getObject(arg1));
3147
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
3148
+ const len1 = WASM_VECTOR_LEN;
3149
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
3150
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
3151
+ },
3152
+ __wbg___wbindgen_is_function_d633e708baf0d146: function(arg0) {
3153
+ const ret = typeof(getObject(arg0)) === 'function';
3154
+ return ret;
3155
+ },
3156
+ __wbg___wbindgen_is_null_a2a19127c13e7126: function(arg0) {
3157
+ const ret = getObject(arg0) === null;
3158
+ return ret;
3159
+ },
3160
+ __wbg___wbindgen_is_object_4b3de556756ee8a8: function(arg0) {
3161
+ const val = getObject(arg0);
3162
+ const ret = typeof(val) === 'object' && val !== null;
3163
+ return ret;
3164
+ },
3165
+ __wbg___wbindgen_is_string_7debe47dc1e045c2: function(arg0) {
3166
+ const ret = typeof(getObject(arg0)) === 'string';
3167
+ return ret;
3168
+ },
3169
+ __wbg___wbindgen_is_undefined_c18285b9fc34cb7d: function(arg0) {
3170
+ const ret = getObject(arg0) === undefined;
3171
+ return ret;
3172
+ },
3173
+ __wbg___wbindgen_number_get_5854912275df1894: function(arg0, arg1) {
3174
+ const obj = getObject(arg1);
3175
+ const ret = typeof(obj) === 'number' ? obj : undefined;
3176
+ getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
3177
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
3178
+ },
3179
+ __wbg___wbindgen_throw_39bc967c0e5a9b58: function(arg0, arg1) {
3180
+ throw new Error(getStringFromWasm0(arg0, arg1));
3181
+ },
3182
+ __wbg__wbg_cb_unref_b6d832240a919168: function(arg0) {
3183
+ getObject(arg0)._wbg_cb_unref();
3184
+ },
3185
+ __wbg_arrayBuffer_8fd4b7df096647f9: function() { return handleError(function (arg0) {
3186
+ const ret = getObject(arg0).arrayBuffer();
3187
+ return addHeapObject(ret);
3188
+ }, arguments); },
3189
+ __wbg_authenticatedlongpoll_new: function(arg0) {
3190
+ const ret = AuthenticatedLongPoll.__wrap(arg0);
3191
+ return addHeapObject(ret);
3192
+ },
3193
+ __wbg_authenticatedwebsocket_new: function(arg0) {
3194
+ const ret = AuthenticatedWebSocket.__wrap(arg0);
3195
+ return addHeapObject(ret);
3196
+ },
3197
+ __wbg_batchsyncresponse_new: function(arg0) {
3198
+ const ret = BatchSyncResponse.__wrap(arg0);
3199
+ return addHeapObject(ret);
3200
+ },
3201
+ __wbg_call_08ad0d89caa7cb79: function() { return handleError(function (arg0, arg1, arg2) {
3202
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
3203
+ return addHeapObject(ret);
3204
+ }, arguments); },
3205
+ __wbg_call_73af281463ec8b58: function() { return handleError(function (arg0, arg1) {
3206
+ const ret = getObject(arg0).call(getObject(arg1));
3207
+ return addHeapObject(ret);
3208
+ }, arguments); },
3209
+ __wbg_call_c974f0bf2231552e: function() { return handleError(function (arg0, arg1, arg2, arg3) {
3210
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3));
3211
+ return addHeapObject(ret);
3212
+ }, arguments); },
3213
+ __wbg_close_88d72cf512fed8bc: function(arg0) {
3214
+ getObject(arg0).close();
3215
+ },
3216
+ __wbg_commitwithblob_new: function(arg0) {
3217
+ const ret = CommitWithBlob.__wrap(arg0);
3218
+ return addHeapObject(ret);
3219
+ },
3220
+ __wbg_connerrorpair_new: function(arg0) {
3221
+ const ret = ConnErrorPair.__wrap(arg0);
3222
+ return addHeapObject(ret);
3223
+ },
3224
+ __wbg_contains_412524090060514f: function(arg0, arg1, arg2) {
3225
+ const ret = getObject(arg0).contains(getStringFromWasm0(arg1, arg2));
3226
+ return ret;
3227
+ },
3228
+ __wbg_createObjectStore_bfd875621f13f126: function() { return handleError(function (arg0, arg1, arg2) {
3229
+ const ret = getObject(arg0).createObjectStore(getStringFromWasm0(arg1, arg2));
3230
+ return addHeapObject(ret);
3231
+ }, arguments); },
3232
+ __wbg_crypto_38df2bab126b63dc: function(arg0) {
3233
+ const ret = getObject(arg0).crypto;
3234
+ return addHeapObject(ret);
3235
+ },
3236
+ __wbg_data_826b7d645a40043f: function(arg0) {
3237
+ const ret = getObject(arg0).data;
3238
+ return addHeapObject(ret);
3239
+ },
3240
+ __wbg_deleteAllCommits_08122bac302f379f: function(arg0, arg1) {
3241
+ const ret = getObject(arg0).deleteAllCommits(getObject(arg1));
3242
+ return addHeapObject(ret);
3243
+ },
3244
+ __wbg_deleteAllFragments_442f1f1ee9cff06a: function(arg0, arg1) {
3245
+ const ret = getObject(arg0).deleteAllFragments(getObject(arg1));
3246
+ return addHeapObject(ret);
3247
+ },
3248
+ __wbg_digest_new: function(arg0) {
3249
+ const ret = Digest.__wrap(arg0);
3250
+ return addHeapObject(ret);
3251
+ },
3252
+ __wbg_digest_unwrap: function(arg0) {
3253
+ const ret = Digest.__unwrap(getObject(arg0));
3254
+ return ret;
3255
+ },
3256
+ __wbg_exportKey_d8f8486549147648: function() { return handleError(function (arg0, arg1, arg2, arg3) {
3257
+ const ret = getObject(arg0).exportKey(getStringFromWasm0(arg1, arg2), getObject(arg3));
3258
+ return addHeapObject(ret);
3259
+ }, arguments); },
3260
+ __wbg_fetch_3c1f541fa62e562d: function(arg0, arg1) {
3261
+ const ret = getObject(arg0).fetch(getObject(arg1));
3262
+ return addHeapObject(ret);
3263
+ },
3264
+ __wbg_fetch_59df3bdc0a4c0e4b: function(arg0, arg1) {
3265
+ const ret = getObject(arg0).fetch(getObject(arg1));
3266
+ return addHeapObject(ret);
3267
+ },
3268
+ __wbg_fragment_new: function(arg0) {
3269
+ const ret = Fragment.__wrap(arg0);
3270
+ return addHeapObject(ret);
3271
+ },
3272
+ __wbg_fragmentrequested_new: function(arg0) {
3273
+ const ret = FragmentRequested.__wrap(arg0);
3274
+ return addHeapObject(ret);
3275
+ },
3276
+ __wbg_fragmentwithblob_new: function(arg0) {
3277
+ const ret = FragmentWithBlob.__wrap(arg0);
3278
+ return addHeapObject(ret);
3279
+ },
3280
+ __wbg_from_d7e888a2e9063b32: function(arg0) {
3281
+ const ret = Array.from(getObject(arg0));
3282
+ return addHeapObject(ret);
3283
+ },
3284
+ __wbg_generateKey_3ad334ccb45181f1: function() { return handleError(function (arg0, arg1, arg2, arg3) {
3285
+ const ret = getObject(arg0).generateKey(getObject(arg1), arg2 !== 0, getObject(arg3));
3286
+ return addHeapObject(ret);
3287
+ }, arguments); },
3288
+ __wbg_getRandomValues_c44a50d8cfdaebeb: function() { return handleError(function (arg0, arg1) {
3289
+ getObject(arg0).getRandomValues(getObject(arg1));
3290
+ }, arguments); },
3291
+ __wbg_get_18349afdb36339a9: function() { return handleError(function (arg0, arg1) {
3292
+ const ret = Reflect.get(getObject(arg0), getObject(arg1));
3293
+ return addHeapObject(ret);
3294
+ }, arguments); },
3295
+ __wbg_get_791b26b41a7de3d5: function() { return handleError(function (arg0, arg1) {
3296
+ const ret = getObject(arg0).get(getObject(arg1));
3297
+ return addHeapObject(ret);
3298
+ }, arguments); },
3299
+ __wbg_get_f09c3a16f8848381: function(arg0, arg1) {
3300
+ const ret = getObject(arg0)[arg1 >>> 0];
3301
+ return addHeapObject(ret);
3302
+ },
3303
+ __wbg_get_fc68a746a75a3e9d: function() { return handleError(function (arg0, arg1, arg2, arg3) {
3304
+ const ret = getObject(arg1).get(getStringFromWasm0(arg2, arg3));
3305
+ var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
3306
+ var len1 = WASM_VECTOR_LEN;
3307
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
3308
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
3309
+ }, arguments); },
3310
+ __wbg_headers_028b9b1c907f9362: function(arg0) {
3311
+ const ret = getObject(arg0).headers;
3312
+ return addHeapObject(ret);
3313
+ },
3314
+ __wbg_host_f6433f5f5f3a3eb4: function(arg0, arg1) {
3315
+ const ret = getObject(arg1).host;
3316
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
3317
+ const len1 = WASM_VECTOR_LEN;
3318
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
3319
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
3320
+ },
3321
+ __wbg_href_72623bc1de5c4cb5: function(arg0, arg1) {
3322
+ const ret = getObject(arg1).href;
3323
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);
3324
+ const len1 = WASM_VECTOR_LEN;
3325
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
3326
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
3327
+ },
3328
+ __wbg_importKey_ac1d2e02c862b89b: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
3329
+ const ret = getObject(arg0).importKey(getStringFromWasm0(arg1, arg2), getObject(arg3), getObject(arg4), arg5 !== 0, getObject(arg6));
3330
+ return addHeapObject(ret);
3331
+ }, arguments); },
3332
+ __wbg_instanceof_ArrayBuffer_15859862b80b732d: function(arg0) {
3333
+ let result;
3334
+ try {
3335
+ result = getObject(arg0) instanceof ArrayBuffer;
3336
+ } catch (_) {
3337
+ result = false;
3338
+ }
3339
+ const ret = result;
3340
+ return ret;
3341
+ },
3342
+ __wbg_instanceof_Crypto_31bafd3455a3b508: function(arg0) {
3343
+ let result;
3344
+ try {
3345
+ result = getObject(arg0) instanceof Crypto;
3346
+ } catch (_) {
3347
+ result = false;
3348
+ }
3349
+ const ret = result;
3350
+ return ret;
3351
+ },
3352
+ __wbg_instanceof_IdbDatabase_9f1f490b74b465ba: function(arg0) {
3353
+ let result;
3354
+ try {
3355
+ result = getObject(arg0) instanceof IDBDatabase;
3356
+ } catch (_) {
3357
+ result = false;
3358
+ }
3359
+ const ret = result;
3360
+ return ret;
3361
+ },
3362
+ __wbg_instanceof_IdbFactory_f448efd6949878d4: function(arg0) {
3363
+ let result;
3364
+ try {
3365
+ result = getObject(arg0) instanceof IDBFactory;
3366
+ } catch (_) {
3367
+ result = false;
3368
+ }
3369
+ const ret = result;
3370
+ return ret;
3371
+ },
3372
+ __wbg_instanceof_IdbOpenDbRequest_bc707ea112c6f917: function(arg0) {
3373
+ let result;
3374
+ try {
3375
+ result = getObject(arg0) instanceof IDBOpenDBRequest;
3376
+ } catch (_) {
3377
+ result = false;
3378
+ }
3379
+ const ret = result;
3380
+ return ret;
3381
+ },
3382
+ __wbg_instanceof_JsDepth_4051ca2508d01961: function(arg0) {
3383
+ let result;
3384
+ try {
3385
+ result = getObject(arg0) instanceof JsDepth;
3386
+ } catch (_) {
3387
+ result = false;
3388
+ }
3389
+ const ret = result;
3390
+ return ret;
3391
+ },
3392
+ __wbg_instanceof_Promise_44e4f673e91c710d: function(arg0) {
3393
+ let result;
3394
+ try {
3395
+ result = getObject(arg0) instanceof Promise;
3396
+ } catch (_) {
3397
+ result = false;
3398
+ }
3399
+ const ret = result;
3400
+ return ret;
3401
+ },
3402
+ __wbg_instanceof_Response_8ec0057b1e5c71bf: function(arg0) {
3403
+ let result;
3404
+ try {
3405
+ result = getObject(arg0) instanceof Response;
3406
+ } catch (_) {
3407
+ result = false;
3408
+ }
3409
+ const ret = result;
3410
+ return ret;
3411
+ },
3412
+ __wbg_instanceof_Window_4aba49e4d1a12365: function(arg0) {
3413
+ let result;
3414
+ try {
3415
+ result = getObject(arg0) instanceof Window;
3416
+ } catch (_) {
3417
+ result = false;
3418
+ }
3419
+ const ret = result;
3420
+ return ret;
3421
+ },
3422
+ __wbg_instanceof_WorkerGlobalScope_12b79fbd44254705: function(arg0) {
3423
+ let result;
3424
+ try {
3425
+ result = getObject(arg0) instanceof WorkerGlobalScope;
3426
+ } catch (_) {
3427
+ result = false;
3428
+ }
3429
+ const ret = result;
3430
+ return ret;
3431
+ },
3432
+ __wbg_isSafeInteger_10e4151eb694e42a: function(arg0) {
3433
+ const ret = Number.isSafeInteger(getObject(arg0));
3434
+ return ret;
3435
+ },
3436
+ __wbg_is_1ad0660d6042ae31: function(arg0, arg1) {
3437
+ const ret = Object.is(getObject(arg0), getObject(arg1));
3438
+ return ret;
3439
+ },
3440
+ __wbg_length_5855c1f289dfffc1: function(arg0) {
3441
+ const ret = getObject(arg0).length;
3442
+ return ret;
3443
+ },
3444
+ __wbg_length_a31e05262e09b7f8: function(arg0) {
3445
+ const ret = getObject(arg0).length;
3446
+ return ret;
3447
+ },
3448
+ __wbg_loadAllCommits_dfccdd45918469a3: function(arg0, arg1) {
3449
+ const ret = getObject(arg0).loadAllCommits(getObject(arg1));
3450
+ return addHeapObject(ret);
3451
+ },
3452
+ __wbg_loadAllFragments_d70484307b61371a: function(arg0, arg1) {
3453
+ const ret = getObject(arg0).loadAllFragments(getObject(arg1));
3454
+ return addHeapObject(ret);
3455
+ },
3456
+ __wbg_loadAllSedimentreeIds_38e22f908df2c6d1: function(arg0) {
3457
+ const ret = getObject(arg0).loadAllSedimentreeIds();
3458
+ return addHeapObject(ret);
3459
+ },
3460
+ __wbg_loosecommit_new: function(arg0) {
3461
+ const ret = LooseCommit.__wrap(arg0);
3462
+ return addHeapObject(ret);
3463
+ },
3464
+ __wbg_message_new: function(arg0) {
3465
+ const ret = Message.__wrap(arg0);
3466
+ return addHeapObject(ret);
3467
+ },
3468
+ __wbg_msCrypto_bd5a034af96bcba6: function(arg0) {
3469
+ const ret = getObject(arg0).msCrypto;
3470
+ return addHeapObject(ret);
3471
+ },
3472
+ __wbg_new_0765f05b3e3b4625: function() { return handleError(function () {
3473
+ const ret = new Headers();
3474
+ return addHeapObject(ret);
3475
+ }, arguments); },
3476
+ __wbg_new_09959f7b4c92c246: function(arg0) {
3477
+ const ret = new Uint8Array(getObject(arg0));
3478
+ return addHeapObject(ret);
3479
+ },
3480
+ __wbg_new_1213b57bccbdbb66: function(arg0, arg1) {
3481
+ const ret = new Error(getStringFromWasm0(arg0, arg1));
3482
+ return addHeapObject(ret);
3483
+ },
3484
+ __wbg_new_79ce7968119cfd96: function(arg0, arg1) {
3485
+ try {
3486
+ var state0 = {a: arg0, b: arg1};
3487
+ var cb0 = (arg0, arg1) => {
3488
+ const a = state0.a;
3489
+ state0.a = 0;
3490
+ try {
3491
+ return __wasm_bindgen_func_elem_5956(a, state0.b, arg0, arg1);
3492
+ } finally {
3493
+ state0.a = a;
3494
+ }
3495
+ };
3496
+ const ret = new Promise(cb0);
3497
+ return addHeapObject(ret);
3498
+ } finally {
3499
+ state0.a = state0.b = 0;
3500
+ }
3501
+ },
3502
+ __wbg_new_cbee8c0d5c479eac: function() {
3503
+ const ret = new Array();
3504
+ return addHeapObject(ret);
3505
+ },
3506
+ __wbg_new_ed69e637b553a997: function() {
3507
+ const ret = new Object();
3508
+ return addHeapObject(ret);
3509
+ },
3510
+ __wbg_new_fc4d5b17b0f1a4cb: function() { return handleError(function (arg0, arg1) {
3511
+ const ret = new WebSocket(getStringFromWasm0(arg0, arg1));
3512
+ return addHeapObject(ret);
3513
+ }, arguments); },
3514
+ __wbg_new_from_slice_d7e202fdbee3c396: function(arg0, arg1) {
3515
+ const ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));
3516
+ return addHeapObject(ret);
3517
+ },
3518
+ __wbg_new_typed_8258a0d8488ef2a2: function(arg0, arg1) {
3519
+ try {
3520
+ var state0 = {a: arg0, b: arg1};
3521
+ var cb0 = (arg0, arg1) => {
3522
+ const a = state0.a;
3523
+ state0.a = 0;
3524
+ try {
3525
+ return __wasm_bindgen_func_elem_5956(a, state0.b, arg0, arg1);
3526
+ } finally {
3527
+ state0.a = a;
3528
+ }
3529
+ };
3530
+ const ret = new Promise(cb0);
3531
+ return addHeapObject(ret);
3532
+ } finally {
3533
+ state0.a = state0.b = 0;
3534
+ }
3535
+ },
3536
+ __wbg_new_with_length_c8449d782396d344: function(arg0) {
3537
+ const ret = new Uint8Array(arg0 >>> 0);
3538
+ return addHeapObject(ret);
3539
+ },
3540
+ __wbg_new_with_str_and_init_5fdb105df3907de1: function() { return handleError(function (arg0, arg1, arg2) {
3541
+ const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));
3542
+ return addHeapObject(ret);
3543
+ }, arguments); },
3544
+ __wbg_node_84ea875411254db1: function(arg0) {
3545
+ const ret = getObject(arg0).node;
3546
+ return addHeapObject(ret);
3547
+ },
3548
+ __wbg_now_edd718b3004d8631: function() {
3549
+ const ret = Date.now();
3550
+ return ret;
3551
+ },
3552
+ __wbg_objectStoreNames_3645b6da2d1f3852: function(arg0) {
3553
+ const ret = getObject(arg0).objectStoreNames;
3554
+ return addHeapObject(ret);
3555
+ },
3556
+ __wbg_objectStore_3a6b969b917c6262: function() { return handleError(function (arg0, arg1, arg2) {
3557
+ const ret = getObject(arg0).objectStore(getStringFromWasm0(arg1, arg2));
3558
+ return addHeapObject(ret);
3559
+ }, arguments); },
3560
+ __wbg_of_25a3bcb86f9d51ab: function(arg0) {
3561
+ const ret = Array.of(getObject(arg0));
3562
+ return addHeapObject(ret);
3563
+ },
3564
+ __wbg_of_d3b315af6d5ecc2a: function(arg0, arg1) {
3565
+ const ret = Array.of(getObject(arg0), getObject(arg1));
3566
+ return addHeapObject(ret);
3567
+ },
3568
+ __wbg_onmessage_d350391ecfb5652a: function(arg0) {
3569
+ const ret = getObject(arg0).onmessage;
3570
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
3571
+ },
3572
+ __wbg_open_9badd3c8846fbf11: function() { return handleError(function (arg0, arg1, arg2, arg3) {
3573
+ const ret = getObject(arg0).open(getStringFromWasm0(arg1, arg2), arg3 >>> 0);
3574
+ return addHeapObject(ret);
3575
+ }, arguments); },
3576
+ __wbg_peerbatchsyncresult_new: function(arg0) {
3577
+ const ret = PeerBatchSyncResult.__wrap(arg0);
3578
+ return addHeapObject(ret);
3579
+ },
3580
+ __wbg_peerid_new: function(arg0) {
3581
+ const ret = PeerId.__wrap(arg0);
3582
+ return addHeapObject(ret);
3583
+ },
3584
+ __wbg_peerresultmap_new: function(arg0) {
3585
+ const ret = PeerResultMap.__wrap(arg0);
3586
+ return addHeapObject(ret);
3587
+ },
3588
+ __wbg_process_44c7a14e11e9f69e: function(arg0) {
3589
+ const ret = getObject(arg0).process;
3590
+ return addHeapObject(ret);
3591
+ },
3592
+ __wbg_prototypesetcall_f034d444741426c3: function(arg0, arg1, arg2) {
3593
+ Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
3594
+ },
3595
+ __wbg_push_a6f9488ffd3fae3b: function(arg0, arg1) {
3596
+ const ret = getObject(arg0).push(getObject(arg1));
3597
+ return ret;
3598
+ },
3599
+ __wbg_put_d86a6833e14a4c3b: function() { return handleError(function (arg0, arg1, arg2) {
3600
+ const ret = getObject(arg0).put(getObject(arg1), getObject(arg2));
3601
+ return addHeapObject(ret);
3602
+ }, arguments); },
3603
+ __wbg_queueMicrotask_2c8dfd1056f24fdc: function(arg0) {
3604
+ const ret = getObject(arg0).queueMicrotask;
3605
+ return addHeapObject(ret);
3606
+ },
3607
+ __wbg_queueMicrotask_8985ad63815852e7: function(arg0) {
3608
+ queueMicrotask(getObject(arg0));
3609
+ },
3610
+ __wbg_randomFillSync_6c25eac9869eb53c: function() { return handleError(function (arg0, arg1) {
3611
+ getObject(arg0).randomFillSync(takeObject(arg1));
3612
+ }, arguments); },
3613
+ __wbg_readyState_66d6203f2fbfd533: function(arg0) {
3614
+ const ret = getObject(arg0).readyState;
3615
+ return ret;
3616
+ },
3617
+ __wbg_requestid_new: function(arg0) {
3618
+ const ret = RequestId.__wrap(arg0);
3619
+ return addHeapObject(ret);
3620
+ },
3621
+ __wbg_require_b4edbdcf3e2a1ef0: function() { return handleError(function () {
3622
+ const ret = module.require;
3623
+ return addHeapObject(ret);
3624
+ }, arguments); },
3625
+ __wbg_resolve_5d61e0d10c14730a: function(arg0) {
3626
+ const ret = Promise.resolve(getObject(arg0));
3627
+ return addHeapObject(ret);
3628
+ },
3629
+ __wbg_result_aaba1e6bbc5d42c8: function() { return handleError(function (arg0) {
3630
+ const ret = getObject(arg0).result;
3631
+ return addHeapObject(ret);
3632
+ }, arguments); },
3633
+ __wbg_saveCommit_d7a8daf852b67448: function(arg0, arg1, arg2, arg3, arg4) {
3634
+ const ret = getObject(arg0).saveCommit(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4));
3635
+ return addHeapObject(ret);
3636
+ },
3637
+ __wbg_saveFragment_386a96a2400bfc01: function(arg0, arg1, arg2, arg3, arg4) {
3638
+ const ret = getObject(arg0).saveFragment(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4));
3639
+ return addHeapObject(ret);
3640
+ },
3641
+ __wbg_saveSedimentreeId_e9bc6683117677fb: function(arg0, arg1) {
3642
+ const ret = getObject(arg0).saveSedimentreeId(getObject(arg1));
3643
+ return addHeapObject(ret);
3644
+ },
3645
+ __wbg_sedimentreeid_new: function(arg0) {
3646
+ const ret = SedimentreeId.__wrap(arg0);
3647
+ return addHeapObject(ret);
3648
+ },
3649
+ __wbg_sedimentreeid_unwrap: function(arg0) {
3650
+ const ret = SedimentreeId.__unwrap(getObject(arg0));
3651
+ return ret;
3652
+ },
3653
+ __wbg_send_b7d2dc9c231d3eb3: function() { return handleError(function (arg0, arg1, arg2) {
3654
+ getObject(arg0).send(getArrayU8FromWasm0(arg1, arg2));
3655
+ }, arguments); },
3656
+ __wbg_set_77cf5fbc40154bdb: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
3657
+ getObject(arg0).set(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
3658
+ }, arguments); },
3659
+ __wbg_set_bad5c505cc70b5f8: function() { return handleError(function (arg0, arg1, arg2) {
3660
+ const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));
3661
+ return ret;
3662
+ }, arguments); },
3663
+ __wbg_set_binaryType_ee9186e9e9c98376: function(arg0, arg1) {
3664
+ getObject(arg0).binaryType = __wbindgen_enum_BinaryType[arg1];
3665
+ },
3666
+ __wbg_set_body_cced363f7703790d: function(arg0, arg1) {
3667
+ getObject(arg0).body = getObject(arg1);
3668
+ },
3669
+ __wbg_set_headers_9144e2163352af57: function(arg0, arg1) {
3670
+ getObject(arg0).headers = getObject(arg1);
3671
+ },
3672
+ __wbg_set_method_c1be4686b152fe29: function(arg0, arg1, arg2) {
3673
+ getObject(arg0).method = getStringFromWasm0(arg1, arg2);
3674
+ },
3675
+ __wbg_set_mode_13fad253f291265c: function(arg0, arg1) {
3676
+ getObject(arg0).mode = __wbindgen_enum_RequestMode[arg1];
3677
+ },
3678
+ __wbg_set_name_1965d19c3010e94a: function(arg0, arg1, arg2) {
3679
+ getObject(arg0).name = getStringFromWasm0(arg1, arg2);
3680
+ },
3681
+ __wbg_set_onclose_9e7a850dd4c00263: function(arg0, arg1) {
3682
+ getObject(arg0).onclose = getObject(arg1);
3683
+ },
3684
+ __wbg_set_onerror_00bcdee7bf806a30: function(arg0, arg1) {
3685
+ getObject(arg0).onerror = getObject(arg1);
3686
+ },
3687
+ __wbg_set_onerror_8b43a0b08de76f6d: function(arg0, arg1) {
3688
+ getObject(arg0).onerror = getObject(arg1);
3689
+ },
3690
+ __wbg_set_onmessage_3579a04e3b06c86a: function(arg0, arg1) {
3691
+ getObject(arg0).onmessage = getObject(arg1);
3692
+ },
3693
+ __wbg_set_onopen_60d5c65fa1d328c9: function(arg0, arg1) {
3694
+ getObject(arg0).onopen = getObject(arg1);
3695
+ },
3696
+ __wbg_set_onsuccess_76214f5146684855: function(arg0, arg1) {
3697
+ getObject(arg0).onsuccess = getObject(arg1);
3698
+ },
3699
+ __wbg_set_onupgradeneeded_74f1c8e9dbd2b70c: function(arg0, arg1) {
3700
+ getObject(arg0).onupgradeneeded = getObject(arg1);
3701
+ },
3702
+ __wbg_sign_39441a404dcdb16a: function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
3703
+ const ret = getObject(arg0).sign(getObject(arg1), getObject(arg2), getArrayU8FromWasm0(arg3, arg4));
3704
+ return addHeapObject(ret);
3705
+ }, arguments); },
3706
+ __wbg_sign_af285df6f98c87a6: function(arg0, arg1) {
3707
+ const ret = getObject(arg0).sign(takeObject(arg1));
3708
+ return addHeapObject(ret);
3709
+ },
3710
+ __wbg_signedfragment_new: function(arg0) {
3711
+ const ret = SignedFragment.__wrap(arg0);
3712
+ return addHeapObject(ret);
3713
+ },
3714
+ __wbg_signedloosecommit_new: function(arg0) {
3715
+ const ret = SignedLooseCommit.__wrap(arg0);
3716
+ return addHeapObject(ret);
3717
+ },
3718
+ __wbg_static_accessor_GLOBAL_THIS_14325d8cca34bb77: function() {
3719
+ const ret = typeof globalThis === 'undefined' ? null : globalThis;
3720
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
3721
+ },
3722
+ __wbg_static_accessor_GLOBAL_f3a1e69f9c5a7e8e: function() {
3723
+ const ret = typeof global === 'undefined' ? null : global;
3724
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
3725
+ },
3726
+ __wbg_static_accessor_SELF_50cdb5b517789aca: function() {
3727
+ const ret = typeof self === 'undefined' ? null : self;
3728
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
3729
+ },
3730
+ __wbg_static_accessor_WINDOW_d6c4126e4c244380: function() {
3731
+ const ret = typeof window === 'undefined' ? null : window;
3732
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
3733
+ },
3734
+ __wbg_status_acf2080bc55aa324: function(arg0) {
3735
+ const ret = getObject(arg0).status;
3736
+ return ret;
3737
+ },
3738
+ __wbg_subarray_7ad5f01d4a9c1c4d: function(arg0, arg1, arg2) {
3739
+ const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
3740
+ return addHeapObject(ret);
3741
+ },
3742
+ __wbg_subduction_new: function(arg0) {
3743
+ const ret = Subduction.__wrap(arg0);
3744
+ return addHeapObject(ret);
3745
+ },
3746
+ __wbg_subductionlongpollconnection_new: function(arg0) {
3747
+ const ret = SubductionLongPollConnection.__wrap(arg0);
3748
+ return addHeapObject(ret);
3749
+ },
3750
+ __wbg_subductionwebsocket_new: function(arg0) {
3751
+ const ret = SubductionWebSocket.__wrap(arg0);
3752
+ return addHeapObject(ret);
3753
+ },
3754
+ __wbg_subtle_27cb8bee5d13f00f: function(arg0) {
3755
+ const ret = getObject(arg0).subtle;
3756
+ return addHeapObject(ret);
3757
+ },
3758
+ __wbg_target_adcfd1353c3de078: function(arg0) {
3759
+ const ret = getObject(arg0).target;
3760
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
3761
+ },
3762
+ __wbg_then_d4163530723f56f4: function(arg0, arg1, arg2) {
3763
+ const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
3764
+ return addHeapObject(ret);
3765
+ },
3766
+ __wbg_then_f1c954fe00733701: function(arg0, arg1) {
3767
+ const ret = getObject(arg0).then(getObject(arg1));
3768
+ return addHeapObject(ret);
3769
+ },
3770
+ __wbg_transaction_8555c5d00a94c767: function() { return handleError(function (arg0, arg1, arg2, arg3) {
3771
+ const ret = getObject(arg0).transaction(getStringFromWasm0(arg1, arg2), __wbindgen_enum_IdbTransactionMode[arg3]);
3772
+ return addHeapObject(ret);
3773
+ }, arguments); },
3774
+ __wbg_transaction_f90e157c0cdb0001: function() { return handleError(function (arg0, arg1, arg2) {
3775
+ const ret = getObject(arg0).transaction(getStringFromWasm0(arg1, arg2));
3776
+ return addHeapObject(ret);
3777
+ }, arguments); },
3778
+ __wbg_tryIntoJsSedimentreeIdsArray_f012c6bad5612aef: function() { return handleError(function (arg0, arg1) {
3779
+ const ret = tryIntoJsSedimentreeIdsArray(getObject(arg1));
3780
+ const ptr1 = passArrayJsValueToWasm0(ret, wasm.__wbindgen_export);
3781
+ const len1 = WASM_VECTOR_LEN;
3782
+ getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
3783
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
3784
+ }, arguments); },
3785
+ __wbg_verifyingKey_aab82f75b82f977c: function(arg0) {
3786
+ const ret = getObject(arg0).verifyingKey();
3787
+ return addHeapObject(ret);
3788
+ },
3789
+ __wbg_versions_276b2795b1c6a219: function(arg0) {
3790
+ const ret = getObject(arg0).versions;
3791
+ return addHeapObject(ret);
3792
+ },
3793
+ __wbg_webcryptosigner_new: function(arg0) {
3794
+ const ret = WebCryptoSigner.__wrap(arg0);
3795
+ return addHeapObject(ret);
3796
+ },
3797
+ __wbindgen_cast_0000000000000001: function(arg0, arg1) {
3798
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 1, function: Function { arguments: [NamedExternref("Event")], shim_idx: 3, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3799
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_187, __wasm_bindgen_func_elem_898);
3800
+ return addHeapObject(ret);
3801
+ },
3802
+ __wbindgen_cast_0000000000000002: function(arg0, arg1) {
3803
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 1, function: Function { arguments: [NamedExternref("IDBVersionChangeEvent")], shim_idx: 3, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3804
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_187, __wasm_bindgen_func_elem_898);
3805
+ return addHeapObject(ret);
3806
+ },
3807
+ __wbindgen_cast_0000000000000003: function(arg0, arg1) {
3808
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 1, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 3, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3809
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_187, __wasm_bindgen_func_elem_898);
3810
+ return addHeapObject(ret);
3811
+ },
3812
+ __wbindgen_cast_0000000000000004: function(arg0, arg1) {
3813
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 1, function: Function { arguments: [], shim_idx: 2, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3814
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_187, __wasm_bindgen_func_elem_897);
3815
+ return addHeapObject(ret);
3816
+ },
3817
+ __wbindgen_cast_0000000000000005: function(arg0, arg1) {
3818
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 551, function: Function { arguments: [Externref], shim_idx: 657, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
3819
+ const ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_3965, __wasm_bindgen_func_elem_5951);
3820
+ return addHeapObject(ret);
3821
+ },
3822
+ __wbindgen_cast_0000000000000006: function(arg0) {
3823
+ // Cast intrinsic for `F64 -> Externref`.
3824
+ const ret = arg0;
3825
+ return addHeapObject(ret);
3826
+ },
3827
+ __wbindgen_cast_0000000000000007: function(arg0, arg1) {
3828
+ // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
3829
+ const ret = getArrayU8FromWasm0(arg0, arg1);
3830
+ return addHeapObject(ret);
3831
+ },
3832
+ __wbindgen_cast_0000000000000008: function(arg0, arg1) {
3833
+ // Cast intrinsic for `Ref(String) -> Externref`.
3834
+ const ret = getStringFromWasm0(arg0, arg1);
3835
+ return addHeapObject(ret);
3836
+ },
3837
+ __wbindgen_cast_0000000000000009: function(arg0, arg1) {
3838
+ var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
3839
+ wasm.__wbindgen_export4(arg0, arg1 * 4, 4);
3840
+ // Cast intrinsic for `Vector(NamedExternref("Fragment")) -> Externref`.
3841
+ const ret = v0;
3842
+ return addHeapObject(ret);
3843
+ },
3844
+ __wbindgen_cast_000000000000000a: function(arg0, arg1) {
3845
+ var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
3846
+ wasm.__wbindgen_export4(arg0, arg1 * 4, 4);
3847
+ // Cast intrinsic for `Vector(NamedExternref("LooseCommit")) -> Externref`.
3848
+ const ret = v0;
3849
+ return addHeapObject(ret);
3850
+ },
3851
+ __wbindgen_cast_000000000000000b: function(arg0, arg1) {
3852
+ var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
3853
+ wasm.__wbindgen_export4(arg0, arg1 * 4, 4);
3854
+ // Cast intrinsic for `Vector(NamedExternref("PeerId")) -> Externref`.
3855
+ const ret = v0;
3856
+ return addHeapObject(ret);
3857
+ },
3858
+ __wbindgen_cast_000000000000000c: function(arg0, arg1) {
3859
+ var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
3860
+ wasm.__wbindgen_export4(arg0, arg1 * 4, 4);
3861
+ // Cast intrinsic for `Vector(NamedExternref("SedimentreeId")) -> Externref`.
3862
+ const ret = v0;
3863
+ return addHeapObject(ret);
3864
+ },
3865
+ __wbindgen_cast_000000000000000d: function(arg0, arg1) {
3866
+ var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
3867
+ wasm.__wbindgen_export4(arg0, arg1 * 4, 4);
3868
+ // Cast intrinsic for `Vector(NamedExternref("Uint8Array")) -> Externref`.
3869
+ const ret = v0;
3870
+ return addHeapObject(ret);
3871
+ },
3872
+ __wbindgen_object_clone_ref: function(arg0) {
3873
+ const ret = getObject(arg0);
3874
+ return addHeapObject(ret);
3875
+ },
3876
+ __wbindgen_object_drop_ref: function(arg0) {
3877
+ takeObject(arg0);
3878
+ },
3879
+ };
3880
+ return {
3881
+ __proto__: null,
3882
+ "./subduction_wasm_bg.js": import0,
3883
+ };
3884
+ }
3885
+
3886
+ function __wasm_bindgen_func_elem_897(arg0, arg1) {
3887
+ wasm.__wasm_bindgen_func_elem_897(arg0, arg1);
3888
+ }
3889
+
3890
+ function __wasm_bindgen_func_elem_898(arg0, arg1, arg2) {
3891
+ wasm.__wasm_bindgen_func_elem_898(arg0, arg1, addHeapObject(arg2));
3892
+ }
3893
+
3894
+ function __wasm_bindgen_func_elem_5951(arg0, arg1, arg2) {
3895
+ try {
3896
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
3897
+ wasm.__wasm_bindgen_func_elem_5951(retptr, arg0, arg1, addHeapObject(arg2));
3898
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
3899
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
3900
+ if (r1) {
3901
+ throw takeObject(r0);
3902
+ }
3903
+ } finally {
3904
+ wasm.__wbindgen_add_to_stack_pointer(16);
3905
+ }
3906
+ }
3907
+
3908
+ function __wasm_bindgen_func_elem_5956(arg0, arg1, arg2, arg3) {
3909
+ wasm.__wasm_bindgen_func_elem_5956(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
3910
+ }
3911
+
3912
+
3913
+ const __wbindgen_enum_BinaryType = ["blob", "arraybuffer"];
3914
+
3915
+
3916
+ const __wbindgen_enum_IdbTransactionMode = ["readonly", "readwrite", "versionchange", "readwriteflush", "cleanup"];
3917
+
3918
+
3919
+ const __wbindgen_enum_RequestMode = ["same-origin", "no-cors", "cors", "navigate"];
3920
+ const AuthenticatedLongPollFinalization = (typeof FinalizationRegistry === 'undefined')
3921
+ ? { register: () => {}, unregister: () => {} }
3922
+ : new FinalizationRegistry(ptr => wasm.__wbg_authenticatedlongpoll_free(ptr >>> 0, 1));
3923
+ const AuthenticatedWebSocketFinalization = (typeof FinalizationRegistry === 'undefined')
3924
+ ? { register: () => {}, unregister: () => {} }
3925
+ : new FinalizationRegistry(ptr => wasm.__wbg_authenticatedwebsocket_free(ptr >>> 0, 1));
3926
+ const BatchSyncRequestFinalization = (typeof FinalizationRegistry === 'undefined')
3927
+ ? { register: () => {}, unregister: () => {} }
3928
+ : new FinalizationRegistry(ptr => wasm.__wbg_batchsyncrequest_free(ptr >>> 0, 1));
3929
+ const BatchSyncResponseFinalization = (typeof FinalizationRegistry === 'undefined')
3930
+ ? { register: () => {}, unregister: () => {} }
3931
+ : new FinalizationRegistry(ptr => wasm.__wbg_batchsyncresponse_free(ptr >>> 0, 1));
3932
+ const BlobMetaFinalization = (typeof FinalizationRegistry === 'undefined')
3933
+ ? { register: () => {}, unregister: () => {} }
3934
+ : new FinalizationRegistry(ptr => wasm.__wbg_blobmeta_free(ptr >>> 0, 1));
3935
+ const CallErrorFinalization = (typeof FinalizationRegistry === 'undefined')
3936
+ ? { register: () => {}, unregister: () => {} }
3937
+ : new FinalizationRegistry(ptr => wasm.__wbg_callerror_free(ptr >>> 0, 1));
3938
+ const CommitWithBlobFinalization = (typeof FinalizationRegistry === 'undefined')
3939
+ ? { register: () => {}, unregister: () => {} }
3940
+ : new FinalizationRegistry(ptr => wasm.__wbg_commitwithblob_free(ptr >>> 0, 1));
3941
+ const ConnErrorPairFinalization = (typeof FinalizationRegistry === 'undefined')
3942
+ ? { register: () => {}, unregister: () => {} }
3943
+ : new FinalizationRegistry(ptr => wasm.__wbg_connerrorpair_free(ptr >>> 0, 1));
3944
+ const ConnectionIdFinalization = (typeof FinalizationRegistry === 'undefined')
3945
+ ? { register: () => {}, unregister: () => {} }
3946
+ : new FinalizationRegistry(ptr => wasm.__wbg_connectionid_free(ptr >>> 0, 1));
3947
+ const DepthFinalization = (typeof FinalizationRegistry === 'undefined')
3948
+ ? { register: () => {}, unregister: () => {} }
3949
+ : new FinalizationRegistry(ptr => wasm.__wbg_depth_free(ptr >>> 0, 1));
3950
+ const DigestFinalization = (typeof FinalizationRegistry === 'undefined')
3951
+ ? { register: () => {}, unregister: () => {} }
3952
+ : new FinalizationRegistry(ptr => wasm.__wbg_digest_free(ptr >>> 0, 1));
3953
+ const FragmentFinalization = (typeof FinalizationRegistry === 'undefined')
3954
+ ? { register: () => {}, unregister: () => {} }
3955
+ : new FinalizationRegistry(ptr => wasm.__wbg_fragment_free(ptr >>> 0, 1));
3956
+ const FragmentRequestedFinalization = (typeof FinalizationRegistry === 'undefined')
3957
+ ? { register: () => {}, unregister: () => {} }
3958
+ : new FinalizationRegistry(ptr => wasm.__wbg_fragmentrequested_free(ptr >>> 0, 1));
3959
+ const FragmentWithBlobFinalization = (typeof FinalizationRegistry === 'undefined')
3960
+ ? { register: () => {}, unregister: () => {} }
3961
+ : new FinalizationRegistry(ptr => wasm.__wbg_fragmentwithblob_free(ptr >>> 0, 1));
3962
+ const FragmentsArrayFinalization = (typeof FinalizationRegistry === 'undefined')
3963
+ ? { register: () => {}, unregister: () => {} }
3964
+ : new FinalizationRegistry(ptr => wasm.__wbg_fragmentsarray_free(ptr >>> 0, 1));
3965
+ const HashMetricFinalization = (typeof FinalizationRegistry === 'undefined')
3966
+ ? { register: () => {}, unregister: () => {} }
3967
+ : new FinalizationRegistry(ptr => wasm.__wbg_hashmetric_free(ptr >>> 0, 1));
3968
+ const LooseCommitFinalization = (typeof FinalizationRegistry === 'undefined')
3969
+ ? { register: () => {}, unregister: () => {} }
3970
+ : new FinalizationRegistry(ptr => wasm.__wbg_loosecommit_free(ptr >>> 0, 1));
3971
+ const MemoryStorageFinalization = (typeof FinalizationRegistry === 'undefined')
3972
+ ? { register: () => {}, unregister: () => {} }
3973
+ : new FinalizationRegistry(ptr => wasm.__wbg_memorystorage_free(ptr >>> 0, 1));
3974
+ const MessageFinalization = (typeof FinalizationRegistry === 'undefined')
3975
+ ? { register: () => {}, unregister: () => {} }
3976
+ : new FinalizationRegistry(ptr => wasm.__wbg_message_free(ptr >>> 0, 1));
3977
+ const NonceFinalization = (typeof FinalizationRegistry === 'undefined')
3978
+ ? { register: () => {}, unregister: () => {} }
3979
+ : new FinalizationRegistry(ptr => wasm.__wbg_nonce_free(ptr >>> 0, 1));
3980
+ const PeerBatchSyncResultFinalization = (typeof FinalizationRegistry === 'undefined')
3981
+ ? { register: () => {}, unregister: () => {} }
3982
+ : new FinalizationRegistry(ptr => wasm.__wbg_peerbatchsyncresult_free(ptr >>> 0, 1));
3983
+ const PeerIdFinalization = (typeof FinalizationRegistry === 'undefined')
3984
+ ? { register: () => {}, unregister: () => {} }
3985
+ : new FinalizationRegistry(ptr => wasm.__wbg_peerid_free(ptr >>> 0, 1));
3986
+ const PeerResultMapFinalization = (typeof FinalizationRegistry === 'undefined')
3987
+ ? { register: () => {}, unregister: () => {} }
3988
+ : new FinalizationRegistry(ptr => wasm.__wbg_peerresultmap_free(ptr >>> 0, 1));
3989
+ const RequestIdFinalization = (typeof FinalizationRegistry === 'undefined')
3990
+ ? { register: () => {}, unregister: () => {} }
3991
+ : new FinalizationRegistry(ptr => wasm.__wbg_requestid_free(ptr >>> 0, 1));
3992
+ const SedimentreeFinalization = (typeof FinalizationRegistry === 'undefined')
3993
+ ? { register: () => {}, unregister: () => {} }
3994
+ : new FinalizationRegistry(ptr => wasm.__wbg_sedimentree_free(ptr >>> 0, 1));
3995
+ const SedimentreeIdFinalization = (typeof FinalizationRegistry === 'undefined')
3996
+ ? { register: () => {}, unregister: () => {} }
3997
+ : new FinalizationRegistry(ptr => wasm.__wbg_sedimentreeid_free(ptr >>> 0, 1));
3998
+ const SedimentreeIdsArrayFinalization = (typeof FinalizationRegistry === 'undefined')
3999
+ ? { register: () => {}, unregister: () => {} }
4000
+ : new FinalizationRegistry(ptr => wasm.__wbg_sedimentreeidsarray_free(ptr >>> 0, 1));
4001
+ const SignedFragmentFinalization = (typeof FinalizationRegistry === 'undefined')
4002
+ ? { register: () => {}, unregister: () => {} }
4003
+ : new FinalizationRegistry(ptr => wasm.__wbg_signedfragment_free(ptr >>> 0, 1));
4004
+ const SignedLooseCommitFinalization = (typeof FinalizationRegistry === 'undefined')
4005
+ ? { register: () => {}, unregister: () => {} }
4006
+ : new FinalizationRegistry(ptr => wasm.__wbg_signedloosecommit_free(ptr >>> 0, 1));
4007
+ const SubductionFinalization = (typeof FinalizationRegistry === 'undefined')
4008
+ ? { register: () => {}, unregister: () => {} }
4009
+ : new FinalizationRegistry(ptr => wasm.__wbg_subduction_free(ptr >>> 0, 1));
4010
+ const SubductionLongPollFinalization = (typeof FinalizationRegistry === 'undefined')
4011
+ ? { register: () => {}, unregister: () => {} }
4012
+ : new FinalizationRegistry(ptr => wasm.__wbg_subductionlongpoll_free(ptr >>> 0, 1));
4013
+ const SubductionLongPollConnectionFinalization = (typeof FinalizationRegistry === 'undefined')
4014
+ ? { register: () => {}, unregister: () => {} }
4015
+ : new FinalizationRegistry(ptr => wasm.__wbg_subductionlongpollconnection_free(ptr >>> 0, 1));
4016
+ const SubductionWebSocketFinalization = (typeof FinalizationRegistry === 'undefined')
4017
+ ? { register: () => {}, unregister: () => {} }
4018
+ : new FinalizationRegistry(ptr => wasm.__wbg_subductionwebsocket_free(ptr >>> 0, 1));
4019
+ const SyncStatsFinalization = (typeof FinalizationRegistry === 'undefined')
4020
+ ? { register: () => {}, unregister: () => {} }
4021
+ : new FinalizationRegistry(ptr => wasm.__wbg_syncstats_free(ptr >>> 0, 1));
4022
+ const WebCryptoSignerFinalization = (typeof FinalizationRegistry === 'undefined')
4023
+ ? { register: () => {}, unregister: () => {} }
4024
+ : new FinalizationRegistry(ptr => wasm.__wbg_webcryptosigner_free(ptr >>> 0, 1));
4025
+
4026
+ function addHeapObject(obj) {
4027
+ if (heap_next === heap.length) heap.push(heap.length + 1);
4028
+ const idx = heap_next;
4029
+ heap_next = heap[idx];
4030
+
4031
+ heap[idx] = obj;
4032
+ return idx;
4033
+ }
4034
+
4035
+ function _assertClass(instance, klass) {
4036
+ if (!(instance instanceof klass)) {
4037
+ throw new Error(`expected instance of ${klass.name}`);
4038
+ }
4039
+ }
4040
+
4041
+ function addBorrowedObject(obj) {
4042
+ if (stack_pointer == 1) throw new Error('out of js stack');
4043
+ heap[--stack_pointer] = obj;
4044
+ return stack_pointer;
4045
+ }
4046
+
4047
+ const CLOSURE_DTORS = (typeof FinalizationRegistry === 'undefined')
4048
+ ? { register: () => {}, unregister: () => {} }
4049
+ : new FinalizationRegistry(state => state.dtor(state.a, state.b));
4050
+
4051
+ function debugString(val) {
4052
+ // primitive types
4053
+ const type = typeof val;
4054
+ if (type == 'number' || type == 'boolean' || val == null) {
4055
+ return `${val}`;
4056
+ }
4057
+ if (type == 'string') {
4058
+ return `"${val}"`;
4059
+ }
4060
+ if (type == 'symbol') {
4061
+ const description = val.description;
4062
+ if (description == null) {
4063
+ return 'Symbol';
4064
+ } else {
4065
+ return `Symbol(${description})`;
4066
+ }
4067
+ }
4068
+ if (type == 'function') {
4069
+ const name = val.name;
4070
+ if (typeof name == 'string' && name.length > 0) {
4071
+ return `Function(${name})`;
4072
+ } else {
4073
+ return 'Function';
4074
+ }
4075
+ }
4076
+ // objects
4077
+ if (Array.isArray(val)) {
4078
+ const length = val.length;
4079
+ let debug = '[';
4080
+ if (length > 0) {
4081
+ debug += debugString(val[0]);
4082
+ }
4083
+ for(let i = 1; i < length; i++) {
4084
+ debug += ', ' + debugString(val[i]);
4085
+ }
4086
+ debug += ']';
4087
+ return debug;
4088
+ }
4089
+ // Test for built-in
4090
+ const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
4091
+ let className;
4092
+ if (builtInMatches && builtInMatches.length > 1) {
4093
+ className = builtInMatches[1];
4094
+ } else {
4095
+ // Failed to match the standard '[object ClassName]'
4096
+ return toString.call(val);
4097
+ }
4098
+ if (className == 'Object') {
4099
+ // we're a user defined class or Object
4100
+ // JSON.stringify avoids problems with cycles, and is generally much
4101
+ // easier than looping through ownProperties of `val`.
4102
+ try {
4103
+ return 'Object(' + JSON.stringify(val) + ')';
4104
+ } catch (_) {
4105
+ return 'Object';
4106
+ }
4107
+ }
4108
+ // errors
4109
+ if (val instanceof Error) {
4110
+ return `${val.name}: ${val.message}\n${val.stack}`;
4111
+ }
4112
+ // TODO we could test for more things here, like `Set`s and `Map`s.
4113
+ return className;
4114
+ }
4115
+
4116
+ function dropObject(idx) {
4117
+ if (idx < 132) return;
4118
+ heap[idx] = heap_next;
4119
+ heap_next = idx;
4120
+ }
4121
+
4122
+ function getArrayJsValueFromWasm0(ptr, len) {
4123
+ ptr = ptr >>> 0;
4124
+ const mem = getDataViewMemory0();
4125
+ const result = [];
4126
+ for (let i = ptr; i < ptr + 4 * len; i += 4) {
4127
+ result.push(takeObject(mem.getUint32(i, true)));
4128
+ }
4129
+ return result;
4130
+ }
4131
+
4132
+ function getArrayU8FromWasm0(ptr, len) {
4133
+ ptr = ptr >>> 0;
4134
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
4135
+ }
4136
+
4137
+ let cachedDataViewMemory0 = null;
4138
+ function getDataViewMemory0() {
4139
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
4140
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
4141
+ }
4142
+ return cachedDataViewMemory0;
4143
+ }
4144
+
4145
+ function getStringFromWasm0(ptr, len) {
4146
+ ptr = ptr >>> 0;
4147
+ return decodeText(ptr, len);
4148
+ }
4149
+
4150
+ let cachedUint8ArrayMemory0 = null;
4151
+ function getUint8ArrayMemory0() {
4152
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
4153
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
4154
+ }
4155
+ return cachedUint8ArrayMemory0;
4156
+ }
4157
+
4158
+ function getObject(idx) { return heap[idx]; }
4159
+
4160
+ function handleError(f, args) {
4161
+ try {
4162
+ return f.apply(this, args);
4163
+ } catch (e) {
4164
+ wasm.__wbindgen_export3(addHeapObject(e));
4165
+ }
4166
+ }
4167
+
4168
+ let heap = new Array(128).fill(undefined);
4169
+ heap.push(undefined, null, true, false);
4170
+
4171
+ let heap_next = heap.length;
4172
+
4173
+ function isLikeNone(x) {
4174
+ return x === undefined || x === null;
4175
+ }
4176
+
4177
+ function makeMutClosure(arg0, arg1, dtor, f) {
4178
+ const state = { a: arg0, b: arg1, cnt: 1, dtor };
4179
+ const real = (...args) => {
4180
+
4181
+ // First up with a closure we increment the internal reference
4182
+ // count. This ensures that the Rust closure environment won't
4183
+ // be deallocated while we're invoking it.
4184
+ state.cnt++;
4185
+ const a = state.a;
4186
+ state.a = 0;
4187
+ try {
4188
+ return f(a, state.b, ...args);
4189
+ } finally {
4190
+ state.a = a;
4191
+ real._wbg_cb_unref();
4192
+ }
4193
+ };
4194
+ real._wbg_cb_unref = () => {
4195
+ if (--state.cnt === 0) {
4196
+ state.dtor(state.a, state.b);
4197
+ state.a = 0;
4198
+ CLOSURE_DTORS.unregister(state);
4199
+ }
4200
+ };
4201
+ CLOSURE_DTORS.register(real, state, state);
4202
+ return real;
4203
+ }
4204
+
4205
+ function passArray8ToWasm0(arg, malloc) {
4206
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
4207
+ getUint8ArrayMemory0().set(arg, ptr / 1);
4208
+ WASM_VECTOR_LEN = arg.length;
4209
+ return ptr;
4210
+ }
4211
+
4212
+ function passArrayJsValueToWasm0(array, malloc) {
4213
+ const ptr = malloc(array.length * 4, 4) >>> 0;
4214
+ const mem = getDataViewMemory0();
4215
+ for (let i = 0; i < array.length; i++) {
4216
+ mem.setUint32(ptr + 4 * i, addHeapObject(array[i]), true);
4217
+ }
4218
+ WASM_VECTOR_LEN = array.length;
4219
+ return ptr;
4220
+ }
4221
+
4222
+ function passStringToWasm0(arg, malloc, realloc) {
4223
+ if (realloc === undefined) {
4224
+ const buf = cachedTextEncoder.encode(arg);
4225
+ const ptr = malloc(buf.length, 1) >>> 0;
4226
+ getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
4227
+ WASM_VECTOR_LEN = buf.length;
4228
+ return ptr;
4229
+ }
4230
+
4231
+ let len = arg.length;
4232
+ let ptr = malloc(len, 1) >>> 0;
4233
+
4234
+ const mem = getUint8ArrayMemory0();
4235
+
4236
+ let offset = 0;
4237
+
4238
+ for (; offset < len; offset++) {
4239
+ const code = arg.charCodeAt(offset);
4240
+ if (code > 0x7F) break;
4241
+ mem[ptr + offset] = code;
4242
+ }
4243
+ if (offset !== len) {
4244
+ if (offset !== 0) {
4245
+ arg = arg.slice(offset);
4246
+ }
4247
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
4248
+ const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
4249
+ const ret = cachedTextEncoder.encodeInto(arg, view);
4250
+
4251
+ offset += ret.written;
4252
+ ptr = realloc(ptr, len, offset, 1) >>> 0;
4253
+ }
4254
+
4255
+ WASM_VECTOR_LEN = offset;
4256
+ return ptr;
4257
+ }
4258
+
4259
+ let stack_pointer = 128;
4260
+
4261
+ function takeObject(idx) {
4262
+ const ret = getObject(idx);
4263
+ dropObject(idx);
4264
+ return ret;
4265
+ }
4266
+
4267
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
4268
+ cachedTextDecoder.decode();
4269
+ const MAX_SAFARI_DECODE_BYTES = 2146435072;
4270
+ let numBytesDecoded = 0;
4271
+ function decodeText(ptr, len) {
4272
+ numBytesDecoded += len;
4273
+ if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
4274
+ cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
4275
+ cachedTextDecoder.decode();
4276
+ numBytesDecoded = len;
4277
+ }
4278
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
4279
+ }
4280
+
4281
+ const cachedTextEncoder = new TextEncoder();
4282
+
4283
+ if (!('encodeInto' in cachedTextEncoder)) {
4284
+ cachedTextEncoder.encodeInto = function (arg, view) {
4285
+ const buf = cachedTextEncoder.encode(arg);
4286
+ view.set(buf);
4287
+ return {
4288
+ read: arg.length,
4289
+ written: buf.length
4290
+ };
4291
+ };
4292
+ }
4293
+
4294
+ let WASM_VECTOR_LEN = 0;
4295
+
4296
+ let wasmModule, wasm;
4297
+ function __wbg_finalize_init(instance, module) {
4298
+ wasm = instance.exports;
4299
+ wasmModule = module;
4300
+ cachedDataViewMemory0 = null;
4301
+ cachedUint8ArrayMemory0 = null;
4302
+ return wasm;
4303
+ }
4304
+
4305
+ async function __wbg_load(module, imports) {
4306
+ if (typeof Response === 'function' && module instanceof Response) {
4307
+ if (typeof WebAssembly.instantiateStreaming === 'function') {
4308
+ try {
4309
+ return await WebAssembly.instantiateStreaming(module, imports);
4310
+ } catch (e) {
4311
+ const validResponse = module.ok && expectedResponseType(module.type);
4312
+
4313
+ if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {
4314
+ console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
4315
+
4316
+ } else { throw e; }
4317
+ }
4318
+ }
4319
+
4320
+ const bytes = await module.arrayBuffer();
4321
+ return await WebAssembly.instantiate(bytes, imports);
4322
+ } else {
4323
+ const instance = await WebAssembly.instantiate(module, imports);
4324
+
4325
+ if (instance instanceof WebAssembly.Instance) {
4326
+ return { instance, module };
4327
+ } else {
4328
+ return instance;
4329
+ }
4330
+ }
4331
+
4332
+ function expectedResponseType(type) {
4333
+ switch (type) {
4334
+ case 'basic': case 'cors': case 'default': return true;
4335
+ }
4336
+ return false;
4337
+ }
4338
+ }
4339
+
4340
+ function initSync(module) {
4341
+ if (wasm !== undefined) return wasm;
4342
+
4343
+
4344
+ if (module !== undefined) {
4345
+ if (Object.getPrototypeOf(module) === Object.prototype) {
4346
+ ({module} = module)
4347
+ } else {
4348
+ console.warn('using deprecated parameters for `initSync()`; pass a single object instead')
4349
+ }
4350
+ }
4351
+
4352
+ const imports = __wbg_get_imports();
4353
+ if (!(module instanceof WebAssembly.Module)) {
4354
+ module = new WebAssembly.Module(module);
4355
+ }
4356
+ const instance = new WebAssembly.Instance(module, imports);
4357
+ return __wbg_finalize_init(instance, module);
4358
+ }
4359
+
4360
+ async function __wbg_init(module_or_path) {
4361
+ if (wasm !== undefined) return wasm;
4362
+
4363
+
4364
+ if (module_or_path !== undefined) {
4365
+ if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
4366
+ ({module_or_path} = module_or_path)
4367
+ } else {
4368
+ console.warn('using deprecated parameters for the initialization function; pass a single object instead')
4369
+ }
4370
+ }
4371
+
4372
+ if (module_or_path === undefined) {
4373
+ module_or_path = new /* @vite-ignore */ URL('subduction_wasm_bg.wasm', import.meta.url);
4374
+ }
4375
+ const imports = __wbg_get_imports();
4376
+
4377
+ if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {
4378
+ module_or_path = fetch(module_or_path);
4379
+ }
4380
+
4381
+ const { instance, module } = await __wbg_load(await module_or_path, imports);
4382
+
4383
+ return __wbg_finalize_init(instance, module);
4384
+ }
4385
+
4386
+ export { initSync, __wbg_init as default };