@massalabs/gossip-sdk 0.0.2-dev.20260128111120 → 0.0.2-dev.20260128160824
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.
- package/dist/assets/generated/wasm/gossip_wasm.d.ts +299 -159
- package/dist/assets/generated/wasm/gossip_wasm.js +1323 -1165
- package/dist/assets/generated/wasm/gossip_wasm_bg.wasm +0 -0
- package/dist/assets/generated/wasm/gossip_wasm_bg.wasm.d.ts +140 -44
- package/dist/assets/generated/wasm/package.json +1 -1
- package/dist/assets/generated/wasm-node/README.md +281 -0
- package/dist/assets/generated/wasm-node/gossip_wasm.d.ts +443 -0
- package/dist/assets/generated/wasm-node/gossip_wasm.js +1488 -0
- package/dist/assets/generated/wasm-node/gossip_wasm_bg.wasm +0 -0
- package/dist/assets/generated/wasm-node/gossip_wasm_bg.wasm.d.ts +164 -0
- package/dist/assets/generated/wasm-node/package.json +11 -0
- package/dist/contacts.d.ts +1 -1
- package/dist/gossipSdk.d.ts +1 -1
- package/dist/index.d.ts +9 -23
- package/dist/index.js +19 -35
- package/dist/services/announcement.d.ts +1 -1
- package/dist/services/announcement.js +1 -1
- package/dist/services/auth.d.ts +1 -1
- package/dist/services/auth.js +1 -1
- package/dist/services/discussion.js +1 -1
- package/dist/services/message.js +1 -1
- package/dist/services/refresh.js +1 -1
- package/dist/wasm/encryption.d.ts +1 -1
- package/dist/wasm/encryption.js +1 -1
- package/dist/wasm/loader.d.ts +4 -3
- package/dist/wasm/loader.js +13 -38
- package/dist/wasm/session.d.ts +1 -1
- package/dist/wasm/session.js +1 -1
- package/dist/wasm/userKeys.d.ts +1 -1
- package/dist/wasm/userKeys.js +1 -1
- package/package.json +11 -2
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
export function start(): void;
|
|
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
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export function aead_decrypt(
|
|
38
|
+
key: EncryptionKey,
|
|
39
|
+
nonce: Nonce,
|
|
40
|
+
ciphertext: Uint8Array,
|
|
41
|
+
aad: Uint8Array
|
|
42
|
+
): Uint8Array | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Encrypts data using AES-256-SIV authenticated encryption.
|
|
45
|
+
*
|
|
46
|
+
* # Parameters
|
|
47
|
+
*
|
|
48
|
+
* - `key`: The encryption key (64 bytes)
|
|
49
|
+
* - `nonce`: The nonce (16 bytes, should be unique per encryption)
|
|
50
|
+
* - `plaintext`: The data to encrypt
|
|
51
|
+
* - `aad`: Additional authenticated data (not encrypted, but authenticated)
|
|
52
|
+
*
|
|
53
|
+
* # Returns
|
|
54
|
+
*
|
|
55
|
+
* The ciphertext with authentication tag appended.
|
|
56
|
+
*
|
|
57
|
+
* # Security Notes
|
|
58
|
+
*
|
|
59
|
+
* - The nonce should be unique for each encryption operation
|
|
60
|
+
* - AES-SIV is nonce-misuse resistant: reusing nonces only leaks if plaintexts are identical
|
|
61
|
+
* - AAD is authenticated but not encrypted; it must be transmitted separately
|
|
62
|
+
* - The same AAD must be provided during decryption
|
|
63
|
+
*
|
|
64
|
+
* # Example
|
|
65
|
+
*
|
|
66
|
+
* ```javascript
|
|
67
|
+
* const key = EncryptionKey.generate();
|
|
68
|
+
* const nonce = Nonce.generate();
|
|
69
|
+
* const plaintext = new TextEncoder().encode("Secret message");
|
|
70
|
+
* const aad = new TextEncoder().encode("context info");
|
|
71
|
+
*
|
|
72
|
+
* const ciphertext = aead_encrypt(key, nonce, plaintext, aad);
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export function aead_encrypt(
|
|
76
|
+
key: EncryptionKey,
|
|
77
|
+
nonce: Nonce,
|
|
78
|
+
plaintext: Uint8Array,
|
|
79
|
+
aad: Uint8Array
|
|
80
|
+
): Uint8Array;
|
|
81
|
+
/**
|
|
82
|
+
* Generates user keys from a passphrase using password-based key derivation.
|
|
83
|
+
*/
|
|
84
|
+
export function generate_user_keys(passphrase: string): UserKeys;
|
|
85
|
+
/**
|
|
86
|
+
* Session status indicating the state of a peer session.
|
|
87
|
+
*/
|
|
88
|
+
export enum SessionStatus {
|
|
89
|
+
Active = 0,
|
|
90
|
+
UnknownPeer = 1,
|
|
91
|
+
NoSession = 2,
|
|
92
|
+
PeerRequested = 3,
|
|
93
|
+
SelfRequested = 4,
|
|
94
|
+
Killed = 5,
|
|
95
|
+
Saturated = 6,
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Result from feeding an incoming announcement.
|
|
99
|
+
*/
|
|
100
|
+
export class AnnouncementResult {
|
|
101
|
+
private constructor();
|
|
102
|
+
free(): void;
|
|
103
|
+
[Symbol.dispose](): void;
|
|
104
|
+
/**
|
|
105
|
+
* Gets the announcer's public keys.
|
|
106
|
+
*/
|
|
107
|
+
readonly announcer_public_keys: UserPublicKeys;
|
|
108
|
+
/**
|
|
109
|
+
* Gets the announcement timestamp in milliseconds since Unix epoch.
|
|
110
|
+
*/
|
|
111
|
+
readonly timestamp: number;
|
|
112
|
+
/**
|
|
113
|
+
* Gets the user data embedded in the announcement.
|
|
114
|
+
*/
|
|
115
|
+
readonly user_data: Uint8Array;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Encryption key for AEAD operations (AES-256-SIV).
|
|
119
|
+
*
|
|
120
|
+
* AES-256-SIV uses a 64-byte (512-bit) key: two 256-bit keys for encryption and MAC.
|
|
121
|
+
*/
|
|
122
|
+
export class EncryptionKey {
|
|
123
|
+
private constructor();
|
|
124
|
+
free(): void;
|
|
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
|
+
/**
|
|
131
|
+
* Generates a new random encryption key (64 bytes).
|
|
132
|
+
*/
|
|
133
|
+
static generate(): EncryptionKey;
|
|
134
|
+
/**
|
|
135
|
+
* Gets the raw bytes of the encryption key.
|
|
136
|
+
*/
|
|
137
|
+
to_bytes(): Uint8Array;
|
|
138
|
+
/**
|
|
139
|
+
* Generates a deterministic encryption key (64 bytes) from a seed and salt.
|
|
140
|
+
*
|
|
141
|
+
* Uses Argon2id via `crypto_password_kdf` to derive a 64-byte key suitable for
|
|
142
|
+
* AES-256-SIV (which requires 64 bytes: 2×256-bit keys).
|
|
143
|
+
*
|
|
144
|
+
* - `seed`: application-provided seed string (treat like a password)
|
|
145
|
+
* - `salt`: unique, random salt (minimum 8 bytes, recommended 16+ bytes)
|
|
146
|
+
*/
|
|
147
|
+
static from_seed(seed: string, salt: Uint8Array): EncryptionKey;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Nonce for AEAD operations (AES-256-SIV).
|
|
151
|
+
*
|
|
152
|
+
* AES-256-SIV uses a 16-byte (128-bit) nonce. The nonce should be unique
|
|
153
|
+
* per encryption for maximum security, though SIV mode is nonce-misuse resistant.
|
|
154
|
+
*/
|
|
155
|
+
export class Nonce {
|
|
156
|
+
private constructor();
|
|
157
|
+
free(): void;
|
|
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
|
+
/**
|
|
164
|
+
* Generates a new random nonce (16 bytes).
|
|
165
|
+
*/
|
|
166
|
+
static generate(): Nonce;
|
|
167
|
+
/**
|
|
168
|
+
* Gets the raw bytes of the nonce.
|
|
169
|
+
*/
|
|
170
|
+
to_bytes(): Uint8Array;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Output from receiving a message.
|
|
174
|
+
*/
|
|
175
|
+
export class ReceiveMessageOutput {
|
|
176
|
+
private constructor();
|
|
177
|
+
free(): void;
|
|
178
|
+
[Symbol.dispose](): void;
|
|
179
|
+
/**
|
|
180
|
+
* Gets the list of newly acknowledged seekers.
|
|
181
|
+
*/
|
|
182
|
+
readonly acknowledged_seekers: Array<any>;
|
|
183
|
+
/**
|
|
184
|
+
* Gets the received message contents.
|
|
185
|
+
*/
|
|
186
|
+
readonly message: Uint8Array;
|
|
187
|
+
/**
|
|
188
|
+
* Gets the sender's user id (32 bytes).
|
|
189
|
+
*/
|
|
190
|
+
readonly user_id: Uint8Array;
|
|
191
|
+
/**
|
|
192
|
+
* Gets the message timestamp (milliseconds since Unix epoch).
|
|
193
|
+
*/
|
|
194
|
+
readonly timestamp: number;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Output from sending a message.
|
|
198
|
+
*/
|
|
199
|
+
export class SendMessageOutput {
|
|
200
|
+
private constructor();
|
|
201
|
+
free(): void;
|
|
202
|
+
[Symbol.dispose](): void;
|
|
203
|
+
/**
|
|
204
|
+
* Gets the encrypted message data.
|
|
205
|
+
*/
|
|
206
|
+
readonly data: Uint8Array;
|
|
207
|
+
/**
|
|
208
|
+
* Gets the seeker (identifier for message board lookup).
|
|
209
|
+
*/
|
|
210
|
+
readonly seeker: Uint8Array;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Session manager configuration for controlling session behavior.
|
|
214
|
+
*/
|
|
215
|
+
export class SessionConfig {
|
|
216
|
+
free(): void;
|
|
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
|
+
/**
|
|
230
|
+
* Creates a new session configuration with the given parameters.
|
|
231
|
+
*/
|
|
232
|
+
constructor(
|
|
233
|
+
max_incoming_announcement_age_millis: number,
|
|
234
|
+
max_incoming_announcement_future_millis: number,
|
|
235
|
+
max_incoming_message_age_millis: number,
|
|
236
|
+
max_incoming_message_future_millis: number,
|
|
237
|
+
max_session_inactivity_millis: number,
|
|
238
|
+
keep_alive_interval_millis: number,
|
|
239
|
+
max_session_lag_length: bigint
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Session manager wrapper for WebAssembly.
|
|
244
|
+
*/
|
|
245
|
+
export class SessionManagerWrapper {
|
|
246
|
+
free(): void;
|
|
247
|
+
[Symbol.dispose](): void;
|
|
248
|
+
/**
|
|
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.
|
|
261
|
+
*/
|
|
262
|
+
to_encrypted_blob(key: EncryptionKey): Uint8Array;
|
|
263
|
+
/**
|
|
264
|
+
* Deserializes a session manager from an encrypted blob.
|
|
265
|
+
*/
|
|
266
|
+
static from_encrypted_blob(
|
|
267
|
+
encrypted_blob: Uint8Array,
|
|
268
|
+
key: EncryptionKey
|
|
269
|
+
): SessionManagerWrapper;
|
|
270
|
+
/**
|
|
271
|
+
* Gets the session status for a peer.
|
|
272
|
+
*/
|
|
273
|
+
peer_session_status(peer_id: Uint8Array): SessionStatus;
|
|
274
|
+
/**
|
|
275
|
+
* Establishes an outgoing session with a peer.
|
|
276
|
+
*
|
|
277
|
+
* # Parameters
|
|
278
|
+
*
|
|
279
|
+
* - `peer_pk`: The peer's public keys
|
|
280
|
+
* - `our_pk`: Our public keys
|
|
281
|
+
* - `our_sk`: Our secret keys
|
|
282
|
+
* - `user_data`: Arbitrary user data to include in the announcement (can be empty)
|
|
283
|
+
*
|
|
284
|
+
* # Security Warning
|
|
285
|
+
*
|
|
286
|
+
* **The user_data in announcements has reduced security compared to regular messages:**
|
|
287
|
+
* - ✅ **Plausible deniability preserved**: The user_data is not cryptographically signed,
|
|
288
|
+
* so you can deny having sent specific user_data content (though you cannot deny the
|
|
289
|
+
* announcement itself).
|
|
290
|
+
* - ❌ **No post-compromise secrecy**: If your long-term keys are compromised in the
|
|
291
|
+
* future, past announcements (including their user_data) can be decrypted.
|
|
292
|
+
*
|
|
293
|
+
* **Recommendation**: Avoid including highly sensitive information in user_data. Use it for
|
|
294
|
+
* metadata like protocol version, public display names, or capability flags. Send truly
|
|
295
|
+
* sensitive data through regular messages after the session is established.
|
|
296
|
+
*
|
|
297
|
+
* # Returns
|
|
298
|
+
*
|
|
299
|
+
* The announcement bytes to publish to the blockchain.
|
|
300
|
+
*/
|
|
301
|
+
establish_outgoing_session(
|
|
302
|
+
peer_pk: UserPublicKeys,
|
|
303
|
+
our_pk: UserPublicKeys,
|
|
304
|
+
our_sk: UserSecretKeys,
|
|
305
|
+
user_data: Uint8Array
|
|
306
|
+
): Uint8Array;
|
|
307
|
+
/**
|
|
308
|
+
* Feeds an incoming announcement from the blockchain.
|
|
309
|
+
*
|
|
310
|
+
* # Parameters
|
|
311
|
+
*
|
|
312
|
+
* - `announcement_bytes`: The raw announcement bytes received from the blockchain
|
|
313
|
+
* - `our_pk`: Our public keys
|
|
314
|
+
* - `our_sk`: Our secret keys
|
|
315
|
+
*
|
|
316
|
+
* # Returns
|
|
317
|
+
*
|
|
318
|
+
* If the announcement is valid, returns an `AnnouncementResult` containing:
|
|
319
|
+
* - The announcer's public keys
|
|
320
|
+
* - The timestamp when the announcement was created (milliseconds since Unix epoch)
|
|
321
|
+
* - The user data embedded in the announcement
|
|
322
|
+
*
|
|
323
|
+
* Returns `None` if the announcement is invalid or too old.
|
|
324
|
+
*
|
|
325
|
+
* # Security Warning
|
|
326
|
+
*
|
|
327
|
+
* **The user_data in announcements has reduced security compared to regular messages:**
|
|
328
|
+
* - ✅ **Plausible deniability preserved**: The user_data is not cryptographically signed,
|
|
329
|
+
* so the sender can deny having sent specific user_data content (though they cannot deny
|
|
330
|
+
* the announcement itself).
|
|
331
|
+
* - ❌ **No post-compromise secrecy**: If the sender's long-term keys are compromised
|
|
332
|
+
* in the future, all past announcements (including their user_data) can be decrypted.
|
|
333
|
+
*
|
|
334
|
+
* **Recommendation**: Treat user_data as having limited confidentiality. Use it for
|
|
335
|
+
* metadata that is not highly sensitive. Send truly sensitive information through regular
|
|
336
|
+
* messages after the session is established.
|
|
337
|
+
*/
|
|
338
|
+
feed_incoming_announcement(
|
|
339
|
+
announcement_bytes: Uint8Array,
|
|
340
|
+
our_pk: UserPublicKeys,
|
|
341
|
+
our_sk: UserSecretKeys
|
|
342
|
+
): AnnouncementResult | undefined;
|
|
343
|
+
/**
|
|
344
|
+
* Gets the list of message board seekers to monitor.
|
|
345
|
+
*/
|
|
346
|
+
get_message_board_read_keys(): Array<any>;
|
|
347
|
+
/**
|
|
348
|
+
* Processes an incoming message from the message board.
|
|
349
|
+
*/
|
|
350
|
+
feed_incoming_message_board_read(
|
|
351
|
+
seeker: Uint8Array,
|
|
352
|
+
ciphertext: Uint8Array,
|
|
353
|
+
our_sk: UserSecretKeys
|
|
354
|
+
): ReceiveMessageOutput | undefined;
|
|
355
|
+
/**
|
|
356
|
+
* Creates a new session manager with the given configuration.
|
|
357
|
+
*/
|
|
358
|
+
constructor(config: SessionConfig);
|
|
359
|
+
/**
|
|
360
|
+
* Refreshes sessions and returns peer IDs that need keep-alive messages.
|
|
361
|
+
*/
|
|
362
|
+
refresh(): Array<any>;
|
|
363
|
+
/**
|
|
364
|
+
* Gets the list of all peer IDs.
|
|
365
|
+
*/
|
|
366
|
+
peer_list(): Array<any>;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* User keypair containing both public and secret keys.
|
|
370
|
+
*/
|
|
371
|
+
export class UserKeys {
|
|
372
|
+
private constructor();
|
|
373
|
+
free(): void;
|
|
374
|
+
[Symbol.dispose](): void;
|
|
375
|
+
/**
|
|
376
|
+
* Gets the public keys.
|
|
377
|
+
*/
|
|
378
|
+
public_keys(): UserPublicKeys;
|
|
379
|
+
/**
|
|
380
|
+
* Gets the secret keys.
|
|
381
|
+
*/
|
|
382
|
+
secret_keys(): UserSecretKeys;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* User public keys for authentication and encryption.
|
|
386
|
+
*/
|
|
387
|
+
export class UserPublicKeys {
|
|
388
|
+
private constructor();
|
|
389
|
+
free(): void;
|
|
390
|
+
[Symbol.dispose](): void;
|
|
391
|
+
/**
|
|
392
|
+
* Deserializes public keys from bytes.
|
|
393
|
+
*/
|
|
394
|
+
static from_bytes(bytes: Uint8Array): UserPublicKeys;
|
|
395
|
+
/**
|
|
396
|
+
* Serializes the public keys to bytes.
|
|
397
|
+
*/
|
|
398
|
+
to_bytes(): Uint8Array;
|
|
399
|
+
/**
|
|
400
|
+
* Derives a unique user ID from the public keys.
|
|
401
|
+
*/
|
|
402
|
+
derive_id(): Uint8Array;
|
|
403
|
+
/**
|
|
404
|
+
* Gets the KEM public key bytes.
|
|
405
|
+
*/
|
|
406
|
+
readonly kem_public_key: Uint8Array;
|
|
407
|
+
/**
|
|
408
|
+
* Gets the Massa public key bytes.
|
|
409
|
+
*/
|
|
410
|
+
readonly massa_public_key: Uint8Array;
|
|
411
|
+
/**
|
|
412
|
+
* Gets the DSA verification key bytes.
|
|
413
|
+
*/
|
|
414
|
+
readonly dsa_verification_key: Uint8Array;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* User secret keys for signing and decryption.
|
|
418
|
+
*/
|
|
419
|
+
export class UserSecretKeys {
|
|
420
|
+
private constructor();
|
|
421
|
+
free(): void;
|
|
422
|
+
[Symbol.dispose](): void;
|
|
423
|
+
/**
|
|
424
|
+
* Deserializes secret keys from bytes.
|
|
425
|
+
*/
|
|
426
|
+
static from_bytes(bytes: Uint8Array): UserSecretKeys;
|
|
427
|
+
/**
|
|
428
|
+
* Serializes the secret keys to bytes for secure storage.
|
|
429
|
+
*/
|
|
430
|
+
to_bytes(): Uint8Array;
|
|
431
|
+
/**
|
|
432
|
+
* Gets the KEM secret key bytes.
|
|
433
|
+
*/
|
|
434
|
+
readonly kem_secret_key: Uint8Array;
|
|
435
|
+
/**
|
|
436
|
+
* Gets the DSA signing key bytes.
|
|
437
|
+
*/
|
|
438
|
+
readonly dsa_signing_key: Uint8Array;
|
|
439
|
+
/**
|
|
440
|
+
* Gets only the Massa secret key bytes
|
|
441
|
+
*/
|
|
442
|
+
readonly massa_secret_key: Uint8Array;
|
|
443
|
+
}
|