node-tkms 0.12.7 → 0.12.8

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/kms_lib.d.ts CHANGED
@@ -1,5 +1,13 @@
1
1
  /* tslint:disable */
2
2
  /* eslint-disable */
3
+ /**
4
+ * This function is *not* used by relayer-sdk because the encryption
5
+ * happens on the KMS side. It's just here for completeness and tests.
6
+ */
7
+ export function ml_kem_pke_encrypt(msg: Uint8Array, their_pk: PublicEncKeyMlKem512): Uint8Array;
8
+ export function u8vec_to_public_sig_key(v: Uint8Array): PublicSigKey;
9
+ export function ml_kem_pke_pk_len(): number;
10
+ export function u8vec_to_private_sig_key(v: Uint8Array): PrivateSigKey;
3
11
  /**
4
12
  * Process the user_decryption response from JavaScript objects.
5
13
  * The returned result is a byte array representing a plaintext of any length,
@@ -62,32 +70,7 @@
62
70
  * It is insecure if `verify = false`!
63
71
  */
64
72
  export function process_user_decryption_resp_from_js(client: Client, request: any, eip712_domain: any, agg_resp: any, enc_pk: PublicEncKeyMlKem512, enc_sk: PrivateEncKeyMlKem512, verify: boolean): TypedPlaintext[];
65
- export function ml_kem_pke_keygen(): PrivateEncKeyMlKem512;
66
- /**
67
- * Create a new [ServerIdAddr] structure that holds an ID and an address
68
- * which must be a valid EIP-55 address, notably prefixed with "0x".
69
- */
70
- export function new_server_id_addr(id: number, addr: string): ServerIdAddr;
71
73
  export function private_sig_key_to_u8vec(sk: PrivateSigKey): Uint8Array;
72
- export function ml_kem_pke_get_pk(sk: PrivateEncKeyMlKem512): PublicEncKeyMlKem512;
73
- export function u8vec_to_ml_kem_pke_pk(v: Uint8Array): PublicEncKeyMlKem512;
74
- export function ml_kem_pke_sk_len(): number;
75
- /**
76
- * This function is *not* used by relayer-sdk because the decryption
77
- * is handled by [process_user_decryption_resp].
78
- * It's just here for completeness and tests.
79
- */
80
- export function ml_kem_pke_decrypt(ct: Uint8Array, my_sk: PrivateEncKeyMlKem512): Uint8Array;
81
- export function u8vec_to_public_sig_key(v: Uint8Array): PublicSigKey;
82
- export function ml_kem_pke_sk_to_u8vec(sk: PrivateEncKeyMlKem512): Uint8Array;
83
- export function ml_kem_pke_pk_to_u8vec(pk: PublicEncKeyMlKem512): Uint8Array;
84
- export function u8vec_to_ml_kem_pke_sk(v: Uint8Array): PrivateEncKeyMlKem512;
85
- export function ml_kem_pke_pk_len(): number;
86
- /**
87
- * This function is *not* used by relayer-sdk because the encryption
88
- * happens on the KMS side. It's just here for completeness and tests.
89
- */
90
- export function ml_kem_pke_encrypt(msg: Uint8Array, their_pk: PublicEncKeyMlKem512): Uint8Array;
91
74
  /**
92
75
  * Process the user_decryption response from Rust objects.
93
76
  * Consider using [process_user_decryption_resp_from_js]
@@ -112,10 +95,27 @@ export function ml_kem_pke_encrypt(msg: Uint8Array, their_pk: PublicEncKeyMlKem5
112
95
  * It is insecure if `verify = false`!
113
96
  */
114
97
  export function process_user_decryption_resp(client: Client, request: ParsedUserDecryptionRequest | null | undefined, eip712_domain: Eip712DomainMsg | null | undefined, agg_resp: UserDecryptionResponse[], enc_pk: PublicEncKeyMlKem512, enc_sk: PrivateEncKeyMlKem512, verify: boolean): TypedPlaintext[];
98
+ /**
99
+ * Create a new [ServerIdAddr] structure that holds an ID and an address
100
+ * which must be a valid EIP-55 address, notably prefixed with "0x".
101
+ */
102
+ export function new_server_id_addr(id: number, addr: string): ServerIdAddr;
103
+ export function ml_kem_pke_pk_to_u8vec(pk: PublicEncKeyMlKem512): Uint8Array;
104
+ export function get_client_secret_key(client: Client): PrivateSigKey | undefined;
115
105
  export function public_sig_key_to_u8vec(pk: PublicSigKey): Uint8Array;
116
- export function get_server_addrs(client: Client): ServerIdAddr[];
117
- export function u8vec_to_private_sig_key(v: Uint8Array): PrivateSigKey;
106
+ export function ml_kem_pke_keygen(): PrivateEncKeyMlKem512;
118
107
  export function get_client_address(client: Client): string;
108
+ export function ml_kem_pke_sk_to_u8vec(sk: PrivateEncKeyMlKem512): Uint8Array;
109
+ export function get_server_addrs(client: Client): ServerIdAddr[];
110
+ export function u8vec_to_ml_kem_pke_pk(v: Uint8Array): PublicEncKeyMlKem512;
111
+ export function u8vec_to_ml_kem_pke_sk(v: Uint8Array): PrivateEncKeyMlKem512;
112
+ export function ml_kem_pke_sk_len(): number;
113
+ /**
114
+ * This function is *not* used by relayer-sdk because the decryption
115
+ * is handled by [process_user_decryption_resp].
116
+ * It's just here for completeness and tests.
117
+ */
118
+ export function ml_kem_pke_decrypt(ct: Uint8Array, my_sk: PrivateEncKeyMlKem512): Uint8Array;
119
119
  /**
120
120
  * Instantiate a new client.
121
121
  *
@@ -129,7 +129,7 @@ export function get_client_address(client: Client): string;
129
129
  * The "default" parameter choice is selected if no matching string is found.
130
130
  */
131
131
  export function new_client(server_addrs: ServerIdAddr[], client_address_hex: string, fhe_parameter: string): Client;
132
- export function get_client_secret_key(client: Client): PrivateSigKey | undefined;
132
+ export function ml_kem_pke_get_pk(sk: PrivateEncKeyMlKem512): PublicEncKeyMlKem512;
133
133
  export class CiphertextHandle {
134
134
  private constructor();
135
135
  free(): void;
package/kms_lib.js CHANGED
@@ -171,17 +171,80 @@ function debugString(val) {
171
171
  return className;
172
172
  }
173
173
 
174
+ function passArray8ToWasm0(arg, malloc) {
175
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
176
+ getUint8ArrayMemory0().set(arg, ptr / 1);
177
+ WASM_VECTOR_LEN = arg.length;
178
+ return ptr;
179
+ }
180
+
174
181
  function _assertClass(instance, klass) {
175
182
  if (!(instance instanceof klass)) {
176
183
  throw new Error(`expected instance of ${klass.name}`);
177
184
  }
178
185
  }
179
186
 
187
+ function getArrayU8FromWasm0(ptr, len) {
188
+ ptr = ptr >>> 0;
189
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
190
+ }
191
+ /**
192
+ * This function is *not* used by relayer-sdk because the encryption
193
+ * happens on the KMS side. It's just here for completeness and tests.
194
+ * @param {Uint8Array} msg
195
+ * @param {PublicEncKeyMlKem512} their_pk
196
+ * @returns {Uint8Array}
197
+ */
198
+ module.exports.ml_kem_pke_encrypt = function(msg, their_pk) {
199
+ const ptr0 = passArray8ToWasm0(msg, wasm.__wbindgen_malloc);
200
+ const len0 = WASM_VECTOR_LEN;
201
+ _assertClass(their_pk, PublicEncKeyMlKem512);
202
+ const ret = wasm.ml_kem_pke_encrypt(ptr0, len0, their_pk.__wbg_ptr);
203
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
204
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
205
+ return v2;
206
+ };
207
+
180
208
  function takeFromExternrefTable0(idx) {
181
209
  const value = wasm.__wbindgen_export_4.get(idx);
182
210
  wasm.__externref_table_dealloc(idx);
183
211
  return value;
184
212
  }
213
+ /**
214
+ * @param {Uint8Array} v
215
+ * @returns {PublicSigKey}
216
+ */
217
+ module.exports.u8vec_to_public_sig_key = function(v) {
218
+ const ptr0 = passArray8ToWasm0(v, wasm.__wbindgen_malloc);
219
+ const len0 = WASM_VECTOR_LEN;
220
+ const ret = wasm.u8vec_to_public_sig_key(ptr0, len0);
221
+ if (ret[2]) {
222
+ throw takeFromExternrefTable0(ret[1]);
223
+ }
224
+ return PublicSigKey.__wrap(ret[0]);
225
+ };
226
+
227
+ /**
228
+ * @returns {number}
229
+ */
230
+ module.exports.ml_kem_pke_pk_len = function() {
231
+ const ret = wasm.ml_kem_pke_pk_len();
232
+ return ret >>> 0;
233
+ };
234
+
235
+ /**
236
+ * @param {Uint8Array} v
237
+ * @returns {PrivateSigKey}
238
+ */
239
+ module.exports.u8vec_to_private_sig_key = function(v) {
240
+ const ptr0 = passArray8ToWasm0(v, wasm.__wbindgen_malloc);
241
+ const len0 = WASM_VECTOR_LEN;
242
+ const ret = wasm.u8vec_to_private_sig_key(ptr0, len0);
243
+ if (ret[2]) {
244
+ throw takeFromExternrefTable0(ret[1]);
245
+ }
246
+ return PrivateSigKey.__wrap(ret[0]);
247
+ };
185
248
 
186
249
  function getArrayJsValueFromWasm0(ptr, len) {
187
250
  ptr = ptr >>> 0;
@@ -275,35 +338,6 @@ module.exports.process_user_decryption_resp_from_js = function(client, request,
275
338
  return v1;
276
339
  };
277
340
 
278
- /**
279
- * @returns {PrivateEncKeyMlKem512}
280
- */
281
- module.exports.ml_kem_pke_keygen = function() {
282
- const ret = wasm.ml_kem_pke_keygen();
283
- return PrivateEncKeyMlKem512.__wrap(ret);
284
- };
285
-
286
- /**
287
- * Create a new [ServerIdAddr] structure that holds an ID and an address
288
- * which must be a valid EIP-55 address, notably prefixed with "0x".
289
- * @param {number} id
290
- * @param {string} addr
291
- * @returns {ServerIdAddr}
292
- */
293
- module.exports.new_server_id_addr = function(id, addr) {
294
- const ptr0 = passStringToWasm0(addr, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
295
- const len0 = WASM_VECTOR_LEN;
296
- const ret = wasm.new_server_id_addr(id, ptr0, len0);
297
- if (ret[2]) {
298
- throw takeFromExternrefTable0(ret[1]);
299
- }
300
- return ServerIdAddr.__wrap(ret[0]);
301
- };
302
-
303
- function getArrayU8FromWasm0(ptr, len) {
304
- ptr = ptr >>> 0;
305
- return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
306
- }
307
341
  /**
308
342
  * @param {PrivateSigKey} sk
309
343
  * @returns {Uint8Array}
@@ -319,145 +353,6 @@ module.exports.private_sig_key_to_u8vec = function(sk) {
319
353
  return v1;
320
354
  };
321
355
 
322
- /**
323
- * @param {PrivateEncKeyMlKem512} sk
324
- * @returns {PublicEncKeyMlKem512}
325
- */
326
- module.exports.ml_kem_pke_get_pk = function(sk) {
327
- _assertClass(sk, PrivateEncKeyMlKem512);
328
- const ret = wasm.ml_kem_pke_get_pk(sk.__wbg_ptr);
329
- return PublicEncKeyMlKem512.__wrap(ret);
330
- };
331
-
332
- function passArray8ToWasm0(arg, malloc) {
333
- const ptr = malloc(arg.length * 1, 1) >>> 0;
334
- getUint8ArrayMemory0().set(arg, ptr / 1);
335
- WASM_VECTOR_LEN = arg.length;
336
- return ptr;
337
- }
338
- /**
339
- * @param {Uint8Array} v
340
- * @returns {PublicEncKeyMlKem512}
341
- */
342
- module.exports.u8vec_to_ml_kem_pke_pk = function(v) {
343
- const ptr0 = passArray8ToWasm0(v, wasm.__wbindgen_malloc);
344
- const len0 = WASM_VECTOR_LEN;
345
- const ret = wasm.u8vec_to_ml_kem_pke_pk(ptr0, len0);
346
- if (ret[2]) {
347
- throw takeFromExternrefTable0(ret[1]);
348
- }
349
- return PublicEncKeyMlKem512.__wrap(ret[0]);
350
- };
351
-
352
- /**
353
- * @returns {number}
354
- */
355
- module.exports.ml_kem_pke_sk_len = function() {
356
- const ret = wasm.ml_kem_pke_sk_len();
357
- return ret >>> 0;
358
- };
359
-
360
- /**
361
- * This function is *not* used by relayer-sdk because the decryption
362
- * is handled by [process_user_decryption_resp].
363
- * It's just here for completeness and tests.
364
- * @param {Uint8Array} ct
365
- * @param {PrivateEncKeyMlKem512} my_sk
366
- * @returns {Uint8Array}
367
- */
368
- module.exports.ml_kem_pke_decrypt = function(ct, my_sk) {
369
- const ptr0 = passArray8ToWasm0(ct, wasm.__wbindgen_malloc);
370
- const len0 = WASM_VECTOR_LEN;
371
- _assertClass(my_sk, PrivateEncKeyMlKem512);
372
- const ret = wasm.ml_kem_pke_decrypt(ptr0, len0, my_sk.__wbg_ptr);
373
- var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
374
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
375
- return v2;
376
- };
377
-
378
- /**
379
- * @param {Uint8Array} v
380
- * @returns {PublicSigKey}
381
- */
382
- module.exports.u8vec_to_public_sig_key = function(v) {
383
- const ptr0 = passArray8ToWasm0(v, wasm.__wbindgen_malloc);
384
- const len0 = WASM_VECTOR_LEN;
385
- const ret = wasm.u8vec_to_public_sig_key(ptr0, len0);
386
- if (ret[2]) {
387
- throw takeFromExternrefTable0(ret[1]);
388
- }
389
- return PublicSigKey.__wrap(ret[0]);
390
- };
391
-
392
- /**
393
- * @param {PrivateEncKeyMlKem512} sk
394
- * @returns {Uint8Array}
395
- */
396
- module.exports.ml_kem_pke_sk_to_u8vec = function(sk) {
397
- _assertClass(sk, PrivateEncKeyMlKem512);
398
- const ret = wasm.ml_kem_pke_sk_to_u8vec(sk.__wbg_ptr);
399
- if (ret[3]) {
400
- throw takeFromExternrefTable0(ret[2]);
401
- }
402
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
403
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
404
- return v1;
405
- };
406
-
407
- /**
408
- * @param {PublicEncKeyMlKem512} pk
409
- * @returns {Uint8Array}
410
- */
411
- module.exports.ml_kem_pke_pk_to_u8vec = function(pk) {
412
- _assertClass(pk, PublicEncKeyMlKem512);
413
- const ret = wasm.ml_kem_pke_pk_to_u8vec(pk.__wbg_ptr);
414
- if (ret[3]) {
415
- throw takeFromExternrefTable0(ret[2]);
416
- }
417
- var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
418
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
419
- return v1;
420
- };
421
-
422
- /**
423
- * @param {Uint8Array} v
424
- * @returns {PrivateEncKeyMlKem512}
425
- */
426
- module.exports.u8vec_to_ml_kem_pke_sk = function(v) {
427
- const ptr0 = passArray8ToWasm0(v, wasm.__wbindgen_malloc);
428
- const len0 = WASM_VECTOR_LEN;
429
- const ret = wasm.u8vec_to_ml_kem_pke_sk(ptr0, len0);
430
- if (ret[2]) {
431
- throw takeFromExternrefTable0(ret[1]);
432
- }
433
- return PrivateEncKeyMlKem512.__wrap(ret[0]);
434
- };
435
-
436
- /**
437
- * @returns {number}
438
- */
439
- module.exports.ml_kem_pke_pk_len = function() {
440
- const ret = wasm.ml_kem_pke_pk_len();
441
- return ret >>> 0;
442
- };
443
-
444
- /**
445
- * This function is *not* used by relayer-sdk because the encryption
446
- * happens on the KMS side. It's just here for completeness and tests.
447
- * @param {Uint8Array} msg
448
- * @param {PublicEncKeyMlKem512} their_pk
449
- * @returns {Uint8Array}
450
- */
451
- module.exports.ml_kem_pke_encrypt = function(msg, their_pk) {
452
- const ptr0 = passArray8ToWasm0(msg, wasm.__wbindgen_malloc);
453
- const len0 = WASM_VECTOR_LEN;
454
- _assertClass(their_pk, PublicEncKeyMlKem512);
455
- const ret = wasm.ml_kem_pke_encrypt(ptr0, len0, their_pk.__wbg_ptr);
456
- var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
457
- wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
458
- return v2;
459
- };
460
-
461
356
  function passArrayJsValueToWasm0(array, malloc) {
462
357
  const ptr = malloc(array.length * 4, 4) >>> 0;
463
358
  for (let i = 0; i < array.length; i++) {
@@ -523,6 +418,48 @@ module.exports.process_user_decryption_resp = function(client, request, eip712_d
523
418
  return v4;
524
419
  };
525
420
 
421
+ /**
422
+ * Create a new [ServerIdAddr] structure that holds an ID and an address
423
+ * which must be a valid EIP-55 address, notably prefixed with "0x".
424
+ * @param {number} id
425
+ * @param {string} addr
426
+ * @returns {ServerIdAddr}
427
+ */
428
+ module.exports.new_server_id_addr = function(id, addr) {
429
+ const ptr0 = passStringToWasm0(addr, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
430
+ const len0 = WASM_VECTOR_LEN;
431
+ const ret = wasm.new_server_id_addr(id, ptr0, len0);
432
+ if (ret[2]) {
433
+ throw takeFromExternrefTable0(ret[1]);
434
+ }
435
+ return ServerIdAddr.__wrap(ret[0]);
436
+ };
437
+
438
+ /**
439
+ * @param {PublicEncKeyMlKem512} pk
440
+ * @returns {Uint8Array}
441
+ */
442
+ module.exports.ml_kem_pke_pk_to_u8vec = function(pk) {
443
+ _assertClass(pk, PublicEncKeyMlKem512);
444
+ const ret = wasm.ml_kem_pke_pk_to_u8vec(pk.__wbg_ptr);
445
+ if (ret[3]) {
446
+ throw takeFromExternrefTable0(ret[2]);
447
+ }
448
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
449
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
450
+ return v1;
451
+ };
452
+
453
+ /**
454
+ * @param {Client} client
455
+ * @returns {PrivateSigKey | undefined}
456
+ */
457
+ module.exports.get_client_secret_key = function(client) {
458
+ _assertClass(client, Client);
459
+ const ret = wasm.get_client_secret_key(client.__wbg_ptr);
460
+ return ret === 0 ? undefined : PrivateSigKey.__wrap(ret);
461
+ };
462
+
526
463
  /**
527
464
  * @param {PublicSigKey} pk
528
465
  * @returns {Uint8Array}
@@ -535,6 +472,47 @@ module.exports.public_sig_key_to_u8vec = function(pk) {
535
472
  return v1;
536
473
  };
537
474
 
475
+ /**
476
+ * @returns {PrivateEncKeyMlKem512}
477
+ */
478
+ module.exports.ml_kem_pke_keygen = function() {
479
+ const ret = wasm.ml_kem_pke_keygen();
480
+ return PrivateEncKeyMlKem512.__wrap(ret);
481
+ };
482
+
483
+ /**
484
+ * @param {Client} client
485
+ * @returns {string}
486
+ */
487
+ module.exports.get_client_address = function(client) {
488
+ let deferred1_0;
489
+ let deferred1_1;
490
+ try {
491
+ _assertClass(client, Client);
492
+ const ret = wasm.get_client_address(client.__wbg_ptr);
493
+ deferred1_0 = ret[0];
494
+ deferred1_1 = ret[1];
495
+ return getStringFromWasm0(ret[0], ret[1]);
496
+ } finally {
497
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
498
+ }
499
+ };
500
+
501
+ /**
502
+ * @param {PrivateEncKeyMlKem512} sk
503
+ * @returns {Uint8Array}
504
+ */
505
+ module.exports.ml_kem_pke_sk_to_u8vec = function(sk) {
506
+ _assertClass(sk, PrivateEncKeyMlKem512);
507
+ const ret = wasm.ml_kem_pke_sk_to_u8vec(sk.__wbg_ptr);
508
+ if (ret[3]) {
509
+ throw takeFromExternrefTable0(ret[2]);
510
+ }
511
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
512
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
513
+ return v1;
514
+ };
515
+
538
516
  /**
539
517
  * @param {Client} client
540
518
  * @returns {ServerIdAddr[]}
@@ -549,34 +527,56 @@ module.exports.get_server_addrs = function(client) {
549
527
 
550
528
  /**
551
529
  * @param {Uint8Array} v
552
- * @returns {PrivateSigKey}
530
+ * @returns {PublicEncKeyMlKem512}
553
531
  */
554
- module.exports.u8vec_to_private_sig_key = function(v) {
532
+ module.exports.u8vec_to_ml_kem_pke_pk = function(v) {
555
533
  const ptr0 = passArray8ToWasm0(v, wasm.__wbindgen_malloc);
556
534
  const len0 = WASM_VECTOR_LEN;
557
- const ret = wasm.u8vec_to_private_sig_key(ptr0, len0);
535
+ const ret = wasm.u8vec_to_ml_kem_pke_pk(ptr0, len0);
558
536
  if (ret[2]) {
559
537
  throw takeFromExternrefTable0(ret[1]);
560
538
  }
561
- return PrivateSigKey.__wrap(ret[0]);
539
+ return PublicEncKeyMlKem512.__wrap(ret[0]);
562
540
  };
563
541
 
564
542
  /**
565
- * @param {Client} client
566
- * @returns {string}
543
+ * @param {Uint8Array} v
544
+ * @returns {PrivateEncKeyMlKem512}
567
545
  */
568
- module.exports.get_client_address = function(client) {
569
- let deferred1_0;
570
- let deferred1_1;
571
- try {
572
- _assertClass(client, Client);
573
- const ret = wasm.get_client_address(client.__wbg_ptr);
574
- deferred1_0 = ret[0];
575
- deferred1_1 = ret[1];
576
- return getStringFromWasm0(ret[0], ret[1]);
577
- } finally {
578
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
546
+ module.exports.u8vec_to_ml_kem_pke_sk = function(v) {
547
+ const ptr0 = passArray8ToWasm0(v, wasm.__wbindgen_malloc);
548
+ const len0 = WASM_VECTOR_LEN;
549
+ const ret = wasm.u8vec_to_ml_kem_pke_sk(ptr0, len0);
550
+ if (ret[2]) {
551
+ throw takeFromExternrefTable0(ret[1]);
579
552
  }
553
+ return PrivateEncKeyMlKem512.__wrap(ret[0]);
554
+ };
555
+
556
+ /**
557
+ * @returns {number}
558
+ */
559
+ module.exports.ml_kem_pke_sk_len = function() {
560
+ const ret = wasm.ml_kem_pke_sk_len();
561
+ return ret >>> 0;
562
+ };
563
+
564
+ /**
565
+ * This function is *not* used by relayer-sdk because the decryption
566
+ * is handled by [process_user_decryption_resp].
567
+ * It's just here for completeness and tests.
568
+ * @param {Uint8Array} ct
569
+ * @param {PrivateEncKeyMlKem512} my_sk
570
+ * @returns {Uint8Array}
571
+ */
572
+ module.exports.ml_kem_pke_decrypt = function(ct, my_sk) {
573
+ const ptr0 = passArray8ToWasm0(ct, wasm.__wbindgen_malloc);
574
+ const len0 = WASM_VECTOR_LEN;
575
+ _assertClass(my_sk, PrivateEncKeyMlKem512);
576
+ const ret = wasm.ml_kem_pke_decrypt(ptr0, len0, my_sk.__wbg_ptr);
577
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
578
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
579
+ return v2;
580
580
  };
581
581
 
582
582
  /**
@@ -610,13 +610,13 @@ module.exports.new_client = function(server_addrs, client_address_hex, fhe_param
610
610
  };
611
611
 
612
612
  /**
613
- * @param {Client} client
614
- * @returns {PrivateSigKey | undefined}
613
+ * @param {PrivateEncKeyMlKem512} sk
614
+ * @returns {PublicEncKeyMlKem512}
615
615
  */
616
- module.exports.get_client_secret_key = function(client) {
617
- _assertClass(client, Client);
618
- const ret = wasm.get_client_secret_key(client.__wbg_ptr);
619
- return ret === 0 ? undefined : PrivateSigKey.__wrap(ret);
616
+ module.exports.ml_kem_pke_get_pk = function(sk) {
617
+ _assertClass(sk, PrivateEncKeyMlKem512);
618
+ const ret = wasm.ml_kem_pke_get_pk(sk.__wbg_ptr);
619
+ return PublicEncKeyMlKem512.__wrap(ret);
620
620
  };
621
621
 
622
622
  const CiphertextHandleFinalization = (typeof FinalizationRegistry === 'undefined')
package/kms_lib_bg.wasm CHANGED
Binary file
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "Zama"
5
5
  ],
6
6
  "description": "Key Management System for the Zama Protocol.",
7
- "version": "0.12.7",
7
+ "version": "0.12.8",
8
8
  "license": "BSD-3-Clause-Clear",
9
9
  "repository": {
10
10
  "type": "git",