@massalabs/gossip-sdk 0.0.2-dev.20260226131013 → 0.0.2-dev.20260302182124

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.
@@ -2,44 +2,9 @@
2
2
  /* eslint-disable */
3
3
  export function start(): void;
4
4
  /**
5
- * Decrypts data using AES-256-SIV authenticated encryption.
6
- *
7
- * # Parameters
8
- *
9
- * - `key`: The encryption key (64 bytes, must match encryption key)
10
- * - `nonce`: The nonce (16 bytes, must match encryption nonce)
11
- * - `ciphertext`: The encrypted data with authentication tag
12
- * - `aad`: Additional authenticated data (must match encryption AAD)
13
- *
14
- * # Returns
15
- *
16
- * The decrypted plaintext, or `null` if authentication fails.
17
- *
18
- * # Security Notes
19
- *
20
- * - Returns `null` if:
21
- * - The ciphertext has been tampered with
22
- * - The wrong key or nonce is used
23
- * - The AAD doesn't match
24
- * - Never ignore a decryption failure; it indicates tampering or corruption
25
- *
26
- * # Example
27
- *
28
- * ```javascript
29
- * const plaintext = aead_decrypt(key, nonce, ciphertext, aad);
30
- * if (plaintext) {
31
- * console.log("Decrypted:", new TextDecoder().decode(plaintext));
32
- * } else {
33
- * console.error("Decryption failed - data may be corrupted or tampered");
34
- * }
35
- * ```
5
+ * Generates user keys from a passphrase using password-based key derivation.
36
6
  */
37
- export function aead_decrypt(
38
- key: EncryptionKey,
39
- nonce: Nonce,
40
- ciphertext: Uint8Array,
41
- aad: Uint8Array
42
- ): Uint8Array | undefined;
7
+ export function generate_user_keys(passphrase: string): UserKeys;
43
8
  /**
44
9
  * Encrypts data using AES-256-SIV authenticated encryption.
45
10
  *
@@ -79,9 +44,44 @@ export function aead_encrypt(
79
44
  aad: Uint8Array
80
45
  ): Uint8Array;
81
46
  /**
82
- * Generates user keys from a passphrase using password-based key derivation.
47
+ * Decrypts data using AES-256-SIV authenticated encryption.
48
+ *
49
+ * # Parameters
50
+ *
51
+ * - `key`: The encryption key (64 bytes, must match encryption key)
52
+ * - `nonce`: The nonce (16 bytes, must match encryption nonce)
53
+ * - `ciphertext`: The encrypted data with authentication tag
54
+ * - `aad`: Additional authenticated data (must match encryption AAD)
55
+ *
56
+ * # Returns
57
+ *
58
+ * The decrypted plaintext, or `null` if authentication fails.
59
+ *
60
+ * # Security Notes
61
+ *
62
+ * - Returns `null` if:
63
+ * - The ciphertext has been tampered with
64
+ * - The wrong key or nonce is used
65
+ * - The AAD doesn't match
66
+ * - Never ignore a decryption failure; it indicates tampering or corruption
67
+ *
68
+ * # Example
69
+ *
70
+ * ```javascript
71
+ * const plaintext = aead_decrypt(key, nonce, ciphertext, aad);
72
+ * if (plaintext) {
73
+ * console.log("Decrypted:", new TextDecoder().decode(plaintext));
74
+ * } else {
75
+ * console.error("Decryption failed - data may be corrupted or tampered");
76
+ * }
77
+ * ```
83
78
  */
84
- export function generate_user_keys(passphrase: string): UserKeys;
79
+ export function aead_decrypt(
80
+ key: EncryptionKey,
81
+ nonce: Nonce,
82
+ ciphertext: Uint8Array,
83
+ aad: Uint8Array
84
+ ): Uint8Array | undefined;
85
85
  /**
86
86
  * Session status indicating the state of a peer session.
87
87
  */
@@ -123,18 +123,10 @@ export class EncryptionKey {
123
123
  private constructor();
124
124
  free(): void;
125
125
  [Symbol.dispose](): void;
126
- /**
127
- * Creates an encryption key from raw bytes (must be 64 bytes).
128
- */
129
- static from_bytes(bytes: Uint8Array): EncryptionKey;
130
126
  /**
131
127
  * Generates a new random encryption key (64 bytes).
132
128
  */
133
129
  static generate(): EncryptionKey;
134
- /**
135
- * Gets the raw bytes of the encryption key.
136
- */
137
- to_bytes(): Uint8Array;
138
130
  /**
139
131
  * Generates a deterministic encryption key (64 bytes) from a seed and salt.
140
132
  *
@@ -145,6 +137,14 @@ export class EncryptionKey {
145
137
  * - `salt`: unique, random salt (minimum 8 bytes, recommended 16+ bytes)
146
138
  */
147
139
  static from_seed(seed: string, salt: Uint8Array): EncryptionKey;
140
+ /**
141
+ * Creates an encryption key from raw bytes (must be 64 bytes).
142
+ */
143
+ static from_bytes(bytes: Uint8Array): EncryptionKey;
144
+ /**
145
+ * Gets the raw bytes of the encryption key.
146
+ */
147
+ to_bytes(): Uint8Array;
148
148
  }
149
149
  /**
150
150
  * Nonce for AEAD operations (AES-256-SIV).
@@ -156,14 +156,14 @@ export class Nonce {
156
156
  private constructor();
157
157
  free(): void;
158
158
  [Symbol.dispose](): void;
159
- /**
160
- * Creates a nonce from raw bytes (must be 16 bytes).
161
- */
162
- static from_bytes(bytes: Uint8Array): Nonce;
163
159
  /**
164
160
  * Generates a new random nonce (16 bytes).
165
161
  */
166
162
  static generate(): Nonce;
163
+ /**
164
+ * Creates a nonce from raw bytes (must be 16 bytes).
165
+ */
166
+ static from_bytes(bytes: Uint8Array): Nonce;
167
167
  /**
168
168
  * Gets the raw bytes of the nonce.
169
169
  */
@@ -176,22 +176,22 @@ export class ReceiveMessageOutput {
176
176
  private constructor();
177
177
  free(): void;
178
178
  [Symbol.dispose](): void;
179
- /**
180
- * Gets the list of newly acknowledged seekers.
181
- */
182
- readonly acknowledged_seekers: Array<any>;
183
179
  /**
184
180
  * Gets the received message contents.
185
181
  */
186
182
  readonly message: Uint8Array;
187
- /**
188
- * Gets the sender's user id (32 bytes).
189
- */
190
- readonly user_id: Uint8Array;
191
183
  /**
192
184
  * Gets the message timestamp (milliseconds since Unix epoch).
193
185
  */
194
186
  readonly timestamp: number;
187
+ /**
188
+ * Gets the list of newly acknowledged seekers.
189
+ */
190
+ readonly acknowledged_seekers: Array<any>;
191
+ /**
192
+ * Gets the sender's user id (32 bytes).
193
+ */
194
+ readonly user_id: Uint8Array;
195
195
  }
196
196
  /**
197
197
  * Output from sending a message.
@@ -200,14 +200,14 @@ export class SendMessageOutput {
200
200
  private constructor();
201
201
  free(): void;
202
202
  [Symbol.dispose](): void;
203
- /**
204
- * Gets the encrypted message data.
205
- */
206
- readonly data: Uint8Array;
207
203
  /**
208
204
  * Gets the seeker (identifier for message board lookup).
209
205
  */
210
206
  readonly seeker: Uint8Array;
207
+ /**
208
+ * Gets the encrypted message data.
209
+ */
210
+ readonly data: Uint8Array;
211
211
  }
212
212
  /**
213
213
  * Session manager configuration for controlling session behavior.
@@ -215,17 +215,6 @@ export class SendMessageOutput {
215
215
  export class SessionConfig {
216
216
  free(): void;
217
217
  [Symbol.dispose](): void;
218
- /**
219
- * Creates a default configuration with sensible defaults:
220
- * - Announcement age: 1 week
221
- * - Announcement future: 1 minute
222
- * - Message age: 1 week
223
- * - Message future: 1 minute
224
- * - Session inactivity: 1 week
225
- * - Keep-alive interval: 1 day
226
- * - Max lag: 10000 messages
227
- */
228
- static new_default(): SessionConfig;
229
218
  /**
230
219
  * Creates a new session configuration with the given parameters.
231
220
  */
@@ -236,8 +225,21 @@ export class SessionConfig {
236
225
  max_incoming_message_future_millis: number,
237
226
  max_session_inactivity_millis: number,
238
227
  keep_alive_interval_millis: number,
239
- max_session_lag_length: bigint
228
+ max_session_lag_length: bigint,
229
+ max_keep_alive_peer_lag_length: bigint
240
230
  );
231
+ /**
232
+ * Creates a default configuration with sensible defaults:
233
+ * - Announcement age: 1 week
234
+ * - Announcement future: 1 minute
235
+ * - Message age: 1 week
236
+ * - Message future: 1 minute
237
+ * - Session inactivity: 1 week
238
+ * - Keep-alive interval: 1 day
239
+ * - Max lag: 10000 messages
240
+ * - Max peer lag before keep-alive: 8 messages
241
+ */
242
+ static new_default(): SessionConfig;
241
243
  }
242
244
  /**
243
245
  * Session manager wrapper for WebAssembly.
@@ -246,20 +248,9 @@ export class SessionManagerWrapper {
246
248
  free(): void;
247
249
  [Symbol.dispose](): void;
248
250
  /**
249
- * Discards a peer and all associated session state.
250
- */
251
- peer_discard(peer_id: Uint8Array): void;
252
- /**
253
- * Sends a message to a peer.
254
- */
255
- send_message(
256
- peer_id: Uint8Array,
257
- message_contents: Uint8Array
258
- ): SendMessageOutput | undefined;
259
- /**
260
- * Serializes and encrypts the session manager into a blob.
251
+ * Creates a new session manager with the given configuration.
261
252
  */
262
- to_encrypted_blob(key: EncryptionKey): Uint8Array;
253
+ constructor(config: SessionConfig);
263
254
  /**
264
255
  * Deserializes a session manager from an encrypted blob.
265
256
  */
@@ -268,9 +259,9 @@ export class SessionManagerWrapper {
268
259
  key: EncryptionKey
269
260
  ): SessionManagerWrapper;
270
261
  /**
271
- * Gets the session status for a peer.
262
+ * Serializes and encrypts the session manager into a blob.
272
263
  */
273
- peer_session_status(peer_id: Uint8Array): SessionStatus;
264
+ to_encrypted_blob(key: EncryptionKey): Uint8Array;
274
265
  /**
275
266
  * Establishes an outgoing session with a peer.
276
267
  *
@@ -344,6 +335,13 @@ export class SessionManagerWrapper {
344
335
  * Gets the list of message board seekers to monitor.
345
336
  */
346
337
  get_message_board_read_keys(): Array<any>;
338
+ /**
339
+ * Sends a message to a peer.
340
+ */
341
+ send_message(
342
+ peer_id: Uint8Array,
343
+ message_contents: Uint8Array
344
+ ): SendMessageOutput | undefined;
347
345
  /**
348
346
  * Processes an incoming message from the message board.
349
347
  */
@@ -353,17 +351,21 @@ export class SessionManagerWrapper {
353
351
  our_sk: UserSecretKeys
354
352
  ): ReceiveMessageOutput | undefined;
355
353
  /**
356
- * Creates a new session manager with the given configuration.
354
+ * Gets the list of all peer IDs.
357
355
  */
358
- constructor(config: SessionConfig);
356
+ peer_list(): Array<any>;
359
357
  /**
360
- * Refreshes sessions and returns peer IDs that need keep-alive messages.
358
+ * Gets the session status for a peer.
361
359
  */
362
- refresh(): Array<any>;
360
+ peer_session_status(peer_id: Uint8Array): SessionStatus;
363
361
  /**
364
- * Gets the list of all peer IDs.
362
+ * Discards a peer and all associated session state.
365
363
  */
366
- peer_list(): Array<any>;
364
+ peer_discard(peer_id: Uint8Array): void;
365
+ /**
366
+ * Refreshes sessions and returns peer IDs that need keep-alive messages.
367
+ */
368
+ refresh(): Array<any>;
367
369
  }
368
370
  /**
369
371
  * User keypair containing both public and secret keys.
@@ -389,17 +391,21 @@ export class UserPublicKeys {
389
391
  free(): void;
390
392
  [Symbol.dispose](): void;
391
393
  /**
392
- * Deserializes public keys from bytes.
394
+ * Derives a unique user ID from the public keys.
393
395
  */
394
- static from_bytes(bytes: Uint8Array): UserPublicKeys;
396
+ derive_id(): Uint8Array;
395
397
  /**
396
398
  * Serializes the public keys to bytes.
397
399
  */
398
400
  to_bytes(): Uint8Array;
399
401
  /**
400
- * Derives a unique user ID from the public keys.
402
+ * Deserializes public keys from bytes.
401
403
  */
402
- derive_id(): Uint8Array;
404
+ static from_bytes(bytes: Uint8Array): UserPublicKeys;
405
+ /**
406
+ * Gets the DSA verification key bytes.
407
+ */
408
+ readonly dsa_verification_key: Uint8Array;
403
409
  /**
404
410
  * Gets the KEM public key bytes.
405
411
  */
@@ -408,10 +414,6 @@ export class UserPublicKeys {
408
414
  * Gets the Massa public key bytes.
409
415
  */
410
416
  readonly massa_public_key: Uint8Array;
411
- /**
412
- * Gets the DSA verification key bytes.
413
- */
414
- readonly dsa_verification_key: Uint8Array;
415
417
  }
416
418
  /**
417
419
  * User secret keys for signing and decryption.
@@ -420,22 +422,22 @@ export class UserSecretKeys {
420
422
  private constructor();
421
423
  free(): void;
422
424
  [Symbol.dispose](): void;
423
- /**
424
- * Deserializes secret keys from bytes.
425
- */
426
- static from_bytes(bytes: Uint8Array): UserSecretKeys;
427
425
  /**
428
426
  * Serializes the secret keys to bytes for secure storage.
429
427
  */
430
428
  to_bytes(): Uint8Array;
431
429
  /**
432
- * Gets the KEM secret key bytes.
430
+ * Deserializes secret keys from bytes.
433
431
  */
434
- readonly kem_secret_key: Uint8Array;
432
+ static from_bytes(bytes: Uint8Array): UserSecretKeys;
435
433
  /**
436
434
  * Gets the DSA signing key bytes.
437
435
  */
438
436
  readonly dsa_signing_key: Uint8Array;
437
+ /**
438
+ * Gets the KEM secret key bytes.
439
+ */
440
+ readonly kem_secret_key: Uint8Array;
439
441
  /**
440
442
  * Gets only the Massa secret key bytes
441
443
  */
@@ -451,70 +453,104 @@ export type InitInput =
451
453
 
452
454
  export interface InitOutput {
453
455
  readonly memory: WebAssembly.Memory;
454
- readonly __wbg_announcementresult_free: (a: number, b: number) => void;
455
- readonly __wbg_encryptionkey_free: (a: number, b: number) => void;
456
- readonly __wbg_nonce_free: (a: number, b: number) => void;
457
- readonly __wbg_receivemessageoutput_free: (a: number, b: number) => void;
458
- readonly __wbg_sendmessageoutput_free: (a: number, b: number) => void;
459
456
  readonly __wbg_sessionconfig_free: (a: number, b: number) => void;
460
- readonly __wbg_sessionmanagerwrapper_free: (a: number, b: number) => void;
461
- readonly __wbg_userkeys_free: (a: number, b: number) => void;
462
- readonly __wbg_userpublickeys_free: (a: number, b: number) => void;
463
- readonly __wbg_usersecretkeys_free: (a: number, b: number) => void;
464
- readonly aead_decrypt: (
457
+ readonly sessionconfig_new: (
465
458
  a: number,
466
459
  b: number,
467
460
  c: number,
468
461
  d: number,
469
462
  e: number,
470
- f: number
471
- ) => [number, number];
472
- readonly aead_encrypt: (
463
+ f: number,
464
+ g: bigint,
465
+ h: bigint
466
+ ) => number;
467
+ readonly sessionconfig_new_default: () => number;
468
+ readonly __wbg_userpublickeys_free: (a: number, b: number) => void;
469
+ readonly userpublickeys_derive_id: (a: number) => [number, number];
470
+ readonly userpublickeys_dsa_verification_key: (a: number) => [number, number];
471
+ readonly userpublickeys_kem_public_key: (a: number) => [number, number];
472
+ readonly userpublickeys_massa_public_key: (a: number) => [number, number];
473
+ readonly userpublickeys_to_bytes: (
474
+ a: number
475
+ ) => [number, number, number, number];
476
+ readonly userpublickeys_from_bytes: (
473
477
  a: number,
474
- b: number,
475
- c: number,
476
- d: number,
477
- e: number,
478
- f: number
479
- ) => [number, number];
480
- readonly announcementresult_announcer_public_keys: (a: number) => number;
481
- readonly announcementresult_timestamp: (a: number) => number;
482
- readonly announcementresult_user_data: (a: number) => [number, number];
483
- readonly encryptionkey_from_bytes: (
478
+ b: number
479
+ ) => [number, number, number];
480
+ readonly __wbg_usersecretkeys_free: (a: number, b: number) => void;
481
+ readonly usersecretkeys_to_bytes: (
482
+ a: number
483
+ ) => [number, number, number, number];
484
+ readonly usersecretkeys_from_bytes: (
485
+ a: number,
486
+ b: number
487
+ ) => [number, number, number];
488
+ readonly usersecretkeys_dsa_signing_key: (a: number) => [number, number];
489
+ readonly usersecretkeys_kem_secret_key: (a: number) => [number, number];
490
+ readonly usersecretkeys_massa_secret_key: (a: number) => [number, number];
491
+ readonly __wbg_userkeys_free: (a: number, b: number) => void;
492
+ readonly userkeys_public_keys: (a: number) => [number, number, number];
493
+ readonly userkeys_secret_keys: (a: number) => [number, number, number];
494
+ readonly generate_user_keys: (
484
495
  a: number,
485
496
  b: number
486
497
  ) => [number, number, number];
498
+ readonly __wbg_encryptionkey_free: (a: number, b: number) => void;
499
+ readonly encryptionkey_generate: () => number;
487
500
  readonly encryptionkey_from_seed: (
488
501
  a: number,
489
502
  b: number,
490
503
  c: number,
491
504
  d: number
492
505
  ) => [number, number, number];
493
- readonly encryptionkey_generate: () => number;
494
- readonly encryptionkey_to_bytes: (a: number) => [number, number];
495
- readonly generate_user_keys: (
506
+ readonly encryptionkey_from_bytes: (
496
507
  a: number,
497
508
  b: number
498
509
  ) => [number, number, number];
499
- readonly nonce_from_bytes: (a: number, b: number) => [number, number, number];
510
+ readonly encryptionkey_to_bytes: (a: number) => [number, number];
511
+ readonly __wbg_nonce_free: (a: number, b: number) => void;
500
512
  readonly nonce_generate: () => number;
513
+ readonly nonce_from_bytes: (a: number, b: number) => [number, number, number];
501
514
  readonly nonce_to_bytes: (a: number) => [number, number];
502
- readonly receivemessageoutput_acknowledged_seekers: (a: number) => any;
503
- readonly receivemessageoutput_message: (a: number) => [number, number];
504
- readonly receivemessageoutput_timestamp: (a: number) => number;
505
- readonly receivemessageoutput_user_id: (a: number) => [number, number];
506
- readonly sendmessageoutput_data: (a: number) => [number, number];
507
- readonly sendmessageoutput_seeker: (a: number) => [number, number];
508
- readonly sessionconfig_new: (
515
+ readonly aead_encrypt: (
509
516
  a: number,
510
517
  b: number,
511
518
  c: number,
512
519
  d: number,
513
520
  e: number,
514
- f: number,
515
- g: bigint
516
- ) => number;
517
- readonly sessionconfig_new_default: () => number;
521
+ f: number
522
+ ) => [number, number];
523
+ readonly aead_decrypt: (
524
+ a: number,
525
+ b: number,
526
+ c: number,
527
+ d: number,
528
+ e: number,
529
+ f: number
530
+ ) => [number, number];
531
+ readonly __wbg_sendmessageoutput_free: (a: number, b: number) => void;
532
+ readonly sendmessageoutput_seeker: (a: number) => [number, number];
533
+ readonly sendmessageoutput_data: (a: number) => [number, number];
534
+ readonly __wbg_receivemessageoutput_free: (a: number, b: number) => void;
535
+ readonly __wbg_announcementresult_free: (a: number, b: number) => void;
536
+ readonly announcementresult_announcer_public_keys: (a: number) => number;
537
+ readonly announcementresult_timestamp: (a: number) => number;
538
+ readonly announcementresult_user_data: (a: number) => [number, number];
539
+ readonly receivemessageoutput_message: (a: number) => [number, number];
540
+ readonly receivemessageoutput_timestamp: (a: number) => number;
541
+ readonly receivemessageoutput_acknowledged_seekers: (a: number) => any;
542
+ readonly receivemessageoutput_user_id: (a: number) => [number, number];
543
+ readonly __wbg_sessionmanagerwrapper_free: (a: number, b: number) => void;
544
+ readonly sessionmanagerwrapper_new: (a: number) => number;
545
+ readonly sessionmanagerwrapper_from_encrypted_blob: (
546
+ a: number,
547
+ b: number,
548
+ c: number
549
+ ) => [number, number, number];
550
+ readonly sessionmanagerwrapper_to_encrypted_blob: (
551
+ a: number,
552
+ b: number
553
+ ) => [number, number, number, number];
518
554
  readonly sessionmanagerwrapper_establish_outgoing_session: (
519
555
  a: number,
520
556
  b: number,
@@ -530,6 +566,16 @@ export interface InitOutput {
530
566
  d: number,
531
567
  e: number
532
568
  ) => number;
569
+ readonly sessionmanagerwrapper_get_message_board_read_keys: (
570
+ a: number
571
+ ) => any;
572
+ readonly sessionmanagerwrapper_send_message: (
573
+ a: number,
574
+ b: number,
575
+ c: number,
576
+ d: number,
577
+ e: number
578
+ ) => [number, number, number];
533
579
  readonly sessionmanagerwrapper_feed_incoming_message_board_read: (
534
580
  a: number,
535
581
  b: number,
@@ -538,61 +584,18 @@ export interface InitOutput {
538
584
  e: number,
539
585
  f: number
540
586
  ) => number;
541
- readonly sessionmanagerwrapper_from_encrypted_blob: (
587
+ readonly sessionmanagerwrapper_peer_list: (a: number) => any;
588
+ readonly sessionmanagerwrapper_peer_session_status: (
542
589
  a: number,
543
590
  b: number,
544
591
  c: number
545
592
  ) => [number, number, number];
546
- readonly sessionmanagerwrapper_get_message_board_read_keys: (
547
- a: number
548
- ) => any;
549
- readonly sessionmanagerwrapper_new: (a: number) => number;
550
593
  readonly sessionmanagerwrapper_peer_discard: (
551
594
  a: number,
552
595
  b: number,
553
596
  c: number
554
597
  ) => [number, number];
555
- readonly sessionmanagerwrapper_peer_list: (a: number) => any;
556
- readonly sessionmanagerwrapper_peer_session_status: (
557
- a: number,
558
- b: number,
559
- c: number
560
- ) => [number, number, number];
561
598
  readonly sessionmanagerwrapper_refresh: (a: number) => any;
562
- readonly sessionmanagerwrapper_send_message: (
563
- a: number,
564
- b: number,
565
- c: number,
566
- d: number,
567
- e: number
568
- ) => [number, number, number];
569
- readonly sessionmanagerwrapper_to_encrypted_blob: (
570
- a: number,
571
- b: number
572
- ) => [number, number, number, number];
573
- readonly userkeys_public_keys: (a: number) => [number, number, number];
574
- readonly userkeys_secret_keys: (a: number) => [number, number, number];
575
- readonly userpublickeys_derive_id: (a: number) => [number, number];
576
- readonly userpublickeys_dsa_verification_key: (a: number) => [number, number];
577
- readonly userpublickeys_from_bytes: (
578
- a: number,
579
- b: number
580
- ) => [number, number, number];
581
- readonly userpublickeys_kem_public_key: (a: number) => [number, number];
582
- readonly userpublickeys_massa_public_key: (a: number) => [number, number];
583
- readonly userpublickeys_to_bytes: (
584
- a: number
585
- ) => [number, number, number, number];
586
- readonly usersecretkeys_dsa_signing_key: (a: number) => [number, number];
587
- readonly usersecretkeys_from_bytes: (
588
- a: number,
589
- b: number
590
- ) => [number, number, number];
591
- readonly usersecretkeys_kem_secret_key: (a: number) => [number, number];
592
- readonly usersecretkeys_massa_secret_key: (a: number) => [number, number];
593
- readonly usersecretkeys_to_bytes: (
594
- a: number
595
- ) => [number, number, number, number];
596
599
  readonly start: () => void;
597
600
  readonly __wbindgen_exn_store: (a: number) => void;
598
601
  readonly __externref_table_alloc: () => number;