@zksdk/core 0.1.11 → 0.1.12

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.
@@ -94,18 +94,29 @@ export declare class TfheClient {
94
94
  *
95
95
  * Balance blobs have format: count (u16) + N × FheUint32
96
96
  * Unlike CMUX results, they do NOT have an FheBool at the end.
97
+ *
98
+ * IMPORTANT: Ciphertext size is calculated dynamically from the blob itself
99
+ * because Rust's encrypt_trivial() produces different sizes (264,101 bytes)
100
+ * than JS's encrypt_with_client_key() (263,448 bytes).
97
101
  */
98
102
  decryptBalanceBlob(encryptedBlobB64: string): BalanceBlobResult;
99
103
  /**
100
104
  * Auto-detect format and decrypt either balance blob or CMUX result
101
105
  *
102
- * Checks if the data has an FheBool at the end based on size.
106
+ * For balance blobs from Rust worker, size is calculated dynamically
107
+ * because encrypt_trivial() produces different sizes than encrypt_with_client_key().
103
108
  */
104
109
  autoDecrypt(encryptedDataB64: string): CmuxTransferResult | BalanceBlobResult;
105
110
  /**
106
111
  * Decrypt balance transfer result
107
112
  */
108
113
  decryptBalanceTransfer(encryptedResultB64: string): BalanceTransferResult;
114
+ /**
115
+ * Calculate ciphertext size from blob (for balance blobs from worker)
116
+ * This handles the case where Rust uses encrypt_trivial() which produces
117
+ * different-sized ciphertexts than encrypt_with_client_key().
118
+ */
119
+ private calculateSizeFromBlob;
109
120
  private computeCiphertextSizes;
110
121
  }
111
122
  export { toBase64, fromBase64 };
@@ -1 +1 @@
1
- {"version":3,"file":"TfheClient.d.ts","sourceRoot":"","sources":["../../src/TfheClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,cAAc,EAEf,MAAM,YAAY,CAAC;AA2DpB,iBAAS,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAS3C;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAU3C;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,UAAU,CAAuB;IAEzC;;OAEG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD/C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACG,YAAY,CAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB1D;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CxE;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAiBzC;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACH,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,uBAAuB;IAwD1B;;;;OAIG;IACH,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,uBAAuB;IA2C1B;;OAEG;IACH,0BAA0B,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,cAAc;IAkBjB;;OAEG;IACH,0BAA0B,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,cAAc;IAcjB;;;OAGG;IACH,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,uBAAuB,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;IAsCxD;;OAEG;IACH,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,kBAAkB;IA4ChE;;;;;OAKG;IACH,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB;IA8B/D;;;;OAIG;IACH,WAAW,CACT,gBAAgB,EAAE,MAAM,GACvB,kBAAkB,GAAG,iBAAiB;IAsCzC;;OAEG;IACH,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,GAAG,qBAAqB;IA2BzE,OAAO,CAAC,sBAAsB;CAkB/B;AAGD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"TfheClient.d.ts","sourceRoot":"","sources":["../../src/TfheClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,cAAc,EAEf,MAAM,YAAY,CAAC;AA2DpB,iBAAS,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAS3C;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAU3C;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,UAAU,CAAuB;IAEzC;;OAEG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD/C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACG,YAAY,CAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB1D;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CxE;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAiBzC;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACH,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,uBAAuB;IAwD1B;;;;OAIG;IACH,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,uBAAuB;IA2C1B;;OAEG;IACH,0BAA0B,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,cAAc;IAkBjB;;OAEG;IACH,0BAA0B,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,cAAc;IAcjB;;;OAGG;IACH,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,uBAAuB,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;IAsCxD;;OAEG;IACH,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,kBAAkB;IAiDhE;;;;;;;;;OASG;IACH,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB;IAqC/D;;;;;OAKG;IACH,WAAW,CACT,gBAAgB,EAAE,MAAM,GACvB,kBAAkB,GAAG,iBAAiB;IA0DzC;;OAEG;IACH,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,GAAG,qBAAqB;IAmCzE;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,sBAAsB;CAqB/B;AAGD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"}
@@ -384,16 +384,18 @@ class TfheClient {
384
384
  const count = bytes[0] | (bytes[1] << 8);
385
385
  let offset = 2;
386
386
  console.log("[TfheClient] count =", count, ", expected total size =", 2 + count * sizes.uint32 + sizes.bool);
387
+ // Use safe_deserialize to match the Rust worker's safe_serialize format
388
+ const SIZE_LIMIT = BigInt("18446744073709551615"); // u64::MAX
387
389
  const balances = [];
388
390
  for (let i = 0; i < count; i++) {
389
391
  const balanceBytes = bytes.slice(offset, offset + sizes.uint32);
390
392
  console.log(`[TfheClient] Balance[${i}]: offset=${offset}, reading ${sizes.uint32} bytes, first 8 bytes:`, Array.from(balanceBytes.slice(0, 8)));
391
- const balanceCt = tfhe.FheUint32.deserialize(balanceBytes);
393
+ const balanceCt = tfhe.FheUint32.safe_deserialize(balanceBytes, SIZE_LIMIT);
392
394
  balances.push(balanceCt.decrypt(this.clientKey));
393
395
  offset += sizes.uint32;
394
396
  }
395
397
  const boolBytes = bytes.slice(offset, offset + sizes.bool);
396
- const validCt = tfhe.FheBool.deserialize(boolBytes);
398
+ const validCt = tfhe.FheBool.safe_deserialize(boolBytes, SIZE_LIMIT);
397
399
  const isValid = validCt.decrypt(this.clientKey);
398
400
  return { balances, isValid };
399
401
  }
@@ -402,53 +404,76 @@ class TfheClient {
402
404
  *
403
405
  * Balance blobs have format: count (u16) + N × FheUint32
404
406
  * Unlike CMUX results, they do NOT have an FheBool at the end.
407
+ *
408
+ * IMPORTANT: Ciphertext size is calculated dynamically from the blob itself
409
+ * because Rust's encrypt_trivial() produces different sizes (264,101 bytes)
410
+ * than JS's encrypt_with_client_key() (263,448 bytes).
405
411
  */
406
412
  decryptBalanceBlob(encryptedBlobB64) {
407
413
  this.requireClientKey();
408
414
  const bytes = fromBase64(encryptedBlobB64);
409
- const sizes = this.ciphertextSizes ?? this.computeCiphertextSizes();
410
415
  // First 2 bytes are u16 count (little-endian)
411
416
  const count = bytes[0] | (bytes[1] << 8);
412
- const expectedSize = 2 + count * sizes.uint32;
413
- console.log("[TfheClient] decryptBalanceBlob: total bytes =", bytes.length, ", count =", count, ", expected size =", expectedSize);
417
+ // Calculate actual ciphertext size from the blob itself
418
+ // This handles Rust's encrypt_trivial() producing different sizes than JS
419
+ const uint32Size = this.calculateSizeFromBlob(bytes, count);
420
+ console.log("[TfheClient] decryptBalanceBlob: total bytes =", bytes.length, ", count =", count, ", calculated uint32 size =", uint32Size);
421
+ // Use safe_deserialize to match the Rust worker's safe_serialize format
422
+ const SIZE_LIMIT = BigInt("18446744073709551615"); // u64::MAX
414
423
  let offset = 2;
415
424
  const balances = [];
416
425
  for (let i = 0; i < count; i++) {
417
- const balanceBytes = bytes.slice(offset, offset + sizes.uint32);
418
- const balanceCt = tfhe.FheUint32.deserialize(balanceBytes);
426
+ const balanceBytes = bytes.slice(offset, offset + uint32Size);
427
+ const balanceCt = tfhe.FheUint32.safe_deserialize(balanceBytes, SIZE_LIMIT);
419
428
  balances.push(balanceCt.decrypt(this.clientKey));
420
- offset += sizes.uint32;
429
+ offset += uint32Size;
421
430
  }
422
431
  return { balances };
423
432
  }
424
433
  /**
425
434
  * Auto-detect format and decrypt either balance blob or CMUX result
426
435
  *
427
- * Checks if the data has an FheBool at the end based on size.
436
+ * For balance blobs from Rust worker, size is calculated dynamically
437
+ * because encrypt_trivial() produces different sizes than encrypt_with_client_key().
428
438
  */
429
439
  autoDecrypt(encryptedDataB64) {
430
440
  this.requireClientKey();
431
441
  const bytes = fromBase64(encryptedDataB64);
432
- const sizes = this.ciphertextSizes ?? this.computeCiphertextSizes();
433
442
  // First 2 bytes are u16 count (little-endian)
434
443
  const count = bytes[0] | (bytes[1] << 8);
435
- // Check which format it is based on size
436
- const balanceBlobSize = 2 + count * sizes.uint32;
437
- const cmuxResultSize = 2 + count * sizes.uint32 + sizes.bool;
438
- console.log("[TfheClient] autoDecrypt: total bytes =", bytes.length, ", count =", count, ", balanceBlobSize =", balanceBlobSize, ", cmuxResultSize =", cmuxResultSize);
439
- if (bytes.length === cmuxResultSize) {
440
- console.log("[TfheClient] Detected CMUX result format (with FheBool)");
444
+ // Calculate expected sizes based on local params
445
+ const sizes = this.ciphertextSizes ?? this.computeCiphertextSizes();
446
+ // Check for exact CMUX result match: 2 (header) + N * uint32 + 1 * bool
447
+ const expectedCmuxSize = 2 + count * sizes.uint32 + sizes.bool;
448
+ if (bytes.length === expectedCmuxSize) {
449
+ console.log("[TfheClient] Detected CMUX result format (exact match)");
441
450
  return this.decryptCmuxToken(encryptedDataB64);
442
451
  }
443
- else if (bytes.length === balanceBlobSize) {
444
- console.log("[TfheClient] Detected balance blob format (no FheBool)");
452
+ // Check for exact Balance Blob match: 2 (header) + N * uint32
453
+ // Note: Rust optimization might mean this doesn't match exactly, hence the fallback below
454
+ const expectedBlobSize = 2 + count * sizes.uint32;
455
+ if (bytes.length === expectedBlobSize) {
456
+ console.log("[TfheClient] Detected Balance Blob format (exact match)");
445
457
  return this.decryptBalanceBlob(encryptedDataB64);
446
458
  }
447
- else {
448
- // Default to balance blob with warning
449
- console.warn(`[TfheClient] Unknown format: expected ${balanceBlobSize} or ${cmuxResultSize} bytes, got ${bytes.length}. Trying balance blob format.`);
459
+ // Fallback: Calculate size dynamically from blob
460
+ // This handles Rust's encrypt_trivial() producing different sizes than JS
461
+ // BUT this only works for Balance Blobs (no boolean flag)
462
+ const uint32Size = this.calculateSizeFromBlob(bytes, count);
463
+ const balanceBlobSize = 2 + count * uint32Size;
464
+ console.log("[TfheClient] autoDecrypt: total bytes =", bytes.length, ", count =", count, ", calculated uint32 size =", uint32Size);
465
+ // Balance blobs from worker should match exactly
466
+ if (bytes.length === balanceBlobSize) {
467
+ console.log("[TfheClient] Detected balance blob format (dynamic size)");
450
468
  return this.decryptBalanceBlob(encryptedDataB64);
451
469
  }
470
+ // If we're here, it might be a CMUX blob with dynamic sizing, which is trickier.
471
+ // However, currently only Balance Blobs use encrypt_trivial.
472
+ // CMUX results are fully encrypted and should match standard sizes.
473
+ // If getting "Invalid Size", it's likely because the code previously fell through to here
474
+ // effectively treating a CMUX blob (with extra bool) as a weird Balance Blob.
475
+ console.warn(`[TfheClient] Unknown format, trying balance blob fallback`);
476
+ return this.decryptBalanceBlob(encryptedDataB64);
452
477
  }
453
478
  /**
454
479
  * Decrypt balance transfer result
@@ -464,22 +489,37 @@ class TfheClient {
464
489
  const senderBytes = bytes.slice(0, sizes.uint32);
465
490
  const receiverBytes = bytes.slice(sizes.uint32, sizes.uint32 * 2);
466
491
  const boolBytes = bytes.slice(sizes.uint32 * 2, expectedLen);
467
- const newSenderCt = tfhe.FheUint32.deserialize(senderBytes);
468
- const newReceiverCt = tfhe.FheUint32.deserialize(receiverBytes);
469
- const validCt = tfhe.FheBool.deserialize(boolBytes);
492
+ // Use safe_deserialize to match the Rust worker's safe_serialize format
493
+ const SIZE_LIMIT = BigInt("18446744073709551615"); // u64::MAX
494
+ const newSenderCt = tfhe.FheUint32.safe_deserialize(senderBytes, SIZE_LIMIT);
495
+ const newReceiverCt = tfhe.FheUint32.safe_deserialize(receiverBytes, SIZE_LIMIT);
496
+ const validCt = tfhe.FheBool.safe_deserialize(boolBytes, SIZE_LIMIT);
470
497
  return {
471
498
  newSender: newSenderCt.decrypt(this.clientKey),
472
499
  newReceiver: newReceiverCt.decrypt(this.clientKey),
473
500
  isValid: validCt.decrypt(this.clientKey),
474
501
  };
475
502
  }
503
+ /**
504
+ * Calculate ciphertext size from blob (for balance blobs from worker)
505
+ * This handles the case where Rust uses encrypt_trivial() which produces
506
+ * different-sized ciphertexts than encrypt_with_client_key().
507
+ */
508
+ calculateSizeFromBlob(bytes, count) {
509
+ const totalCiphertextBytes = bytes.length - 2; // subtract 2-byte count header
510
+ const sizePerCiphertext = Math.floor(totalCiphertextBytes / count);
511
+ return sizePerCiphertext;
512
+ }
476
513
  computeCiphertextSizes() {
477
514
  this.requireClientKey();
478
515
  const sampleUint = tfhe.FheUint32.encrypt_with_client_key(0, this.clientKey);
479
516
  const sampleBool = tfhe.FheBool.encrypt_with_client_key(false, this.clientKey);
517
+ // Use safe_serialize to match the Rust worker's serialization format
518
+ // The worker uses tfhe::safe_serialization::safe_serialize
519
+ const SIZE_LIMIT = BigInt("18446744073709551615"); // u64::MAX
480
520
  const sizes = {
481
- uint32: sampleUint.serialize().length,
482
- bool: sampleBool.serialize().length,
521
+ uint32: sampleUint.safe_serialize(SIZE_LIMIT).length,
522
+ bool: sampleBool.safe_serialize(SIZE_LIMIT).length,
483
523
  };
484
524
  console.log("[TfheClient] Computed ciphertext sizes:", sizes);
485
525
  this.ciphertextSizes = sizes;
@@ -1 +1 @@
1
- {"version":3,"file":"TfheClient.js","sourceRoot":"","sources":["../../src/TfheClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TfheClient.js","sourceRoot":"","sources":["../../src/TfheClient.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAyvBM,4BAAQ;AAAE,gCAAU;AAvvB7B,+BAAqC;AACrC,2BAAkC;AAYlC,gCAAgC;AAChC,IAAI,QAAa,CAAC;AAClB,IAAI,IAAS,CAAC;AAEd,MAAM,kBAAkB,GAAc,wBAAwB,CAAC;AAE/D,8CAA8C;AAC9C,IAAI,YAAY,GAAkB,IAAI,CAAC;AAEvC,0DAA0D;AAC1D,SAAS,eAAe;IACtB,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,8DAA8D;IAC9D,mFAAmF;IACnF,6CAA6C;IAC7C,IAAI,CAAC;QACH,4CAA4C;QAC5C,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YACzD,YAAY,GAAG,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,QAAQ,CAAC,CAAC,CAAC;YACvC,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,kDAAkD;IAClD,MAAM,UAAU,GAAG;QACjB,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrD,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC;KAC5D,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,oCAAoC;YACpC,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;YAC9C,YAAY,GAAG,SAAS,CAAC;YACzB,OAAO,YAAY,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,6BAA6B;QAC/B,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC7B,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,iCAAiC;AACjC,KAAK,UAAU,eAAe;IAC5B,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAChE,OAAO,IAAA,iBAAY,EAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAiB;IACjC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,MAAoB;IACvC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,UAAU;IAAvB;QACU,gBAAW,GAAG,KAAK,CAAC;QACpB,cAAS,GAAQ,IAAI,CAAC;QACtB,wBAAmB,GAAQ,IAAI,CAAC;QAChC,oBAAe,GAA4C,IAAI,CAAC;QAChE,mBAAc,GAAQ,IAAI,CAAC;QAC3B,eAAU,GAAkB,IAAI,CAAC;IAonB3C,CAAC;IAlnBC;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,UAAoB;QAC7B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,gEAAgE;QAChE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,+EAA+E;YAC/E,iFAAiF;YACjF,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAC7D,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC;YAC9B,IAAI,GAAG,UAAU,CAAC;YAElB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,4CAA4C;gBAC5C,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC;gBACnD,UAAU,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAE3D,8EAA8E;YAC9E,iEAAiE;YACjE,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAErC,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC;YAC9B,IAAI,GAAG,UAAU,CAAC;YAElB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,UAAU,GAAG,MAAM,eAAe,EAAE,CAAC;YACvC,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;QAE3B,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,2CAA2C;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,UAAyB,EAAE;QAE3B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAE/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,OAAO;YACL,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAClD,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAyB,EAAE;QACjD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,GAAG,CAAC,CAAC;QAExD,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,qBAAqB;QACrB,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QAErD,OAAO,CAAC,GAAG,CACT,qBAAqB,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAClE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,qBAAqB,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACzE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,qBAAqB,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CACzE,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,YAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAChE,2DAA2D;QAC3D,oEAAoE;QACpE,wDAAwD;QACxD,2CAA2C;QAC3C,oEAAoE;QACpE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAE5B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,SAAiB,EACjB,UAAkB;QAElB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,SAAS,iBAAiB,UAAU,aAAa,CACrD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEnD,IAAI,CAAC,cAAc;YACjB,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,+BAA+B,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,qBAAqB,CACnB,SAAiB,EACjB,WAAmB,EACnB,MAAc;QAEd,yCAAyC;QACzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,4EAA4E;YAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CACxD,SAAS,EACT,IAAI,CAAC,SAAS,CACf,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAC1D,WAAW,EACX,IAAI,CAAC,SAAS,CACf,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CACrD,MAAM,EACN,IAAI,CAAC,SAAS,CACf,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CAAC;gBAC1B,WAAW,CAAC,SAAS,EAAE;gBACvB,aAAa,CAAC,SAAS,EAAE;gBACzB,QAAQ,CAAC,SAAS,EAAE;aACrB,CAAC,CAAC;YAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;QACJ,CAAC;QAED,4EAA4E;QAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,kCAAkC,CACnE,SAAS,EACT,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,kCAAkC,CACrE,WAAW,EACX,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAChE,MAAM,EACN,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,WAAW,CAAC,SAAS,EAAE;YACvB,aAAa,CAAC,SAAS,EAAE;YACzB,QAAQ,CAAC,SAAS,EAAE;SACrB,CAAC,CAAC;QAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CACnB,OAAe,EACf,MAAc;QAEd,yCAAyC;QACzC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,8CAA8C;YAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CACtD,OAAO,EACP,IAAI,CAAC,SAAS,CACf,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CACrD,MAAM,EACN,IAAI,CAAC,SAAS,CACf,CAAC;YAEF,MAAM,OAAO,GAAG,WAAW,CAAC;gBAC1B,SAAS,CAAC,SAAS,EAAE;gBACrB,QAAQ,CAAC,SAAS,EAAE;aACrB,CAAC,CAAC;YAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,qGAAqG,CACtG,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,kCAAkC,CACjE,OAAO,EACP,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAChE,MAAM,EACN,IAAI,CAAC,cAAc,CACpB,CAAC;QAEF,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAE3E,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,0BAA0B,CACxB,SAAiB,EACjB,WAAmB,EACnB,MAAc,EACd,WAAoC,EAAE;QAEtC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,qBAAqB,CACnD,SAAS,EACT,WAAW,EACX,MAAM,CACP,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,kBAAkB;YAC9B,cAAc;YACd,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBACX,YAAY,EAAE,IAAI,CAAC,UAAU;gBAC7B,cAAc,EAAE,UAAU;aAC3B;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,0BAA0B,CACxB,OAAe,EACf,MAAc,EACd,WAAoC,EAAE;QAEtC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEvE,OAAO;YACL,UAAU,EAAE,kBAAkB;YAC9B,cAAc;YACd,QAAQ,EAAE;gBACR,GAAG,QAAQ;gBACX,YAAY,EAAE,IAAI,CAAC,UAAU;gBAC7B,cAAc,EAAE,UAAU;aAC3B;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,gBAAgB,CACd,QAAkB,EAClB,SAAiB,EACjB,WAAmB,EACnB,MAAc;QAEd,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3C,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CACzD,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CACvD,SAAS,EACT,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CACzD,WAAW,EACX,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CACpD,MAAM,EACN,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,UAAU;YACV,GAAG,aAAa;YAChB,WAAW,CAAC,SAAS,EAAE;YACvB,aAAa,CAAC,SAAS,EAAE;YACzB,QAAQ,CAAC,SAAS,EAAE;SACrB,CAAC,CAAC;QAEH,OAAO;YACL,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC;YACjC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC;SAChE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,kBAA0B;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpE,OAAO,CAAC,GAAG,CACT,8CAA8C,EAC9C,KAAK,CAAC,MAAM,EACZ,0BAA0B,EAC1B,KAAK,CAAC,MAAM,EACZ,eAAe,EACf,KAAK,CAAC,IAAI,CACX,CAAC;QAEF,8CAA8C;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,CAAC,GAAG,CACT,sBAAsB,EACtB,KAAK,EACL,yBAAyB,EACzB,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CACtC,CAAC;QAEF,wEAAwE;QACxE,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,WAAW;QAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CACT,wBAAwB,CAAC,aAAa,MAAM,aAAa,KAAK,CAAC,MAAM,wBAAwB,EAC7F,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CACrC,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAC/C,YAAY,EACZ,UAAU,CACX,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;QACzB,CAAC;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAC,gBAAwB;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAE3C,8CAA8C;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzC,wDAAwD;QACxD,0EAA0E;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE5D,OAAO,CAAC,GAAG,CACT,gDAAgD,EAChD,KAAK,CAAC,MAAM,EACZ,WAAW,EACX,KAAK,EACL,4BAA4B,EAC5B,UAAU,CACX,CAAC;QAEF,wEAAwE;QACxE,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,WAAW;QAC9D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAC/C,YAAY,EACZ,UAAU,CACX,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,MAAM,IAAI,UAAU,CAAC;QACvB,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,WAAW,CACT,gBAAwB;QAExB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAE3C,8CAA8C;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzC,iDAAiD;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpE,wEAAwE;QACxE,MAAM,gBAAgB,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAE/D,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACjD,CAAC;QAED,8DAA8D;QAC9D,0FAA0F;QAC1F,MAAM,gBAAgB,GAAG,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QAElD,IAAI,KAAK,CAAC,MAAM,KAAK,gBAAgB,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC;QAED,iDAAiD;QACjD,0EAA0E;QAC1E,0DAA0D;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC;QAE/C,OAAO,CAAC,GAAG,CACT,yCAAyC,EACzC,KAAK,CAAC,MAAM,EACZ,WAAW,EACX,KAAK,EACL,4BAA4B,EAC5B,UAAU,CACX,CAAC;QAEF,iDAAiD;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,EAAE,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC;QAED,iFAAiF;QACjF,8DAA8D;QAC9D,oEAAoE;QACpE,0FAA0F;QAC1F,8EAA8E;QAE9E,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,kBAA0B;QAC/C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QAElD,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,CAAC,MAAM,MAAM,WAAW,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QAE7D,wEAAwE;QACxE,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,WAAW;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CACjD,WAAW,EACX,UAAU,CACX,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CACnD,aAAa,EACb,UAAU,CACX,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAErE,OAAO;YACL,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9C,WAAW,EAAE,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;SACzC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,KAAiB,EAAE,KAAa;QAC5D,MAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,+BAA+B;QAC9E,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,KAAK,CAAC,CAAC;QACnE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,CACvD,CAAC,EACD,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CACrD,KAAK,EACL,IAAI,CAAC,SAAS,CACf,CAAC;QACF,qEAAqE;QACrE,2DAA2D;QAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,WAAW;QAC9D,MAAM,KAAK,GAAG;YACZ,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM;YACpD,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM;SACnD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA1nBD,gCA0nBC"}
@@ -94,18 +94,29 @@ export declare class TfheClient {
94
94
  *
95
95
  * Balance blobs have format: count (u16) + N × FheUint32
96
96
  * Unlike CMUX results, they do NOT have an FheBool at the end.
97
+ *
98
+ * IMPORTANT: Ciphertext size is calculated dynamically from the blob itself
99
+ * because Rust's encrypt_trivial() produces different sizes (264,101 bytes)
100
+ * than JS's encrypt_with_client_key() (263,448 bytes).
97
101
  */
98
102
  decryptBalanceBlob(encryptedBlobB64: string): BalanceBlobResult;
99
103
  /**
100
104
  * Auto-detect format and decrypt either balance blob or CMUX result
101
105
  *
102
- * Checks if the data has an FheBool at the end based on size.
106
+ * For balance blobs from Rust worker, size is calculated dynamically
107
+ * because encrypt_trivial() produces different sizes than encrypt_with_client_key().
103
108
  */
104
109
  autoDecrypt(encryptedDataB64: string): CmuxTransferResult | BalanceBlobResult;
105
110
  /**
106
111
  * Decrypt balance transfer result
107
112
  */
108
113
  decryptBalanceTransfer(encryptedResultB64: string): BalanceTransferResult;
114
+ /**
115
+ * Calculate ciphertext size from blob (for balance blobs from worker)
116
+ * This handles the case where Rust uses encrypt_trivial() which produces
117
+ * different-sized ciphertexts than encrypt_with_client_key().
118
+ */
119
+ private calculateSizeFromBlob;
109
120
  private computeCiphertextSizes;
110
121
  }
111
122
  export { toBase64, fromBase64 };
@@ -1 +1 @@
1
- {"version":3,"file":"TfheClient.d.ts","sourceRoot":"","sources":["../../src/TfheClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,cAAc,EAEf,MAAM,YAAY,CAAC;AA2DpB,iBAAS,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAS3C;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAU3C;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,UAAU,CAAuB;IAEzC;;OAEG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD/C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACG,YAAY,CAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB1D;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CxE;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAiBzC;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACH,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,uBAAuB;IAwD1B;;;;OAIG;IACH,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,uBAAuB;IA2C1B;;OAEG;IACH,0BAA0B,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,cAAc;IAkBjB;;OAEG;IACH,0BAA0B,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,cAAc;IAcjB;;;OAGG;IACH,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,uBAAuB,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;IAsCxD;;OAEG;IACH,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,kBAAkB;IA4ChE;;;;;OAKG;IACH,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB;IA8B/D;;;;OAIG;IACH,WAAW,CACT,gBAAgB,EAAE,MAAM,GACvB,kBAAkB,GAAG,iBAAiB;IAsCzC;;OAEG;IACH,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,GAAG,qBAAqB;IA2BzE,OAAO,CAAC,sBAAsB;CAkB/B;AAGD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"TfheClient.d.ts","sourceRoot":"","sources":["../../src/TfheClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,cAAc,EAEf,MAAM,YAAY,CAAC;AA2DpB,iBAAS,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAS3C;AAED,iBAAS,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAU3C;AAaD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,eAAe,CAAiD;IACxE,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,UAAU,CAAuB;IAEzC;;OAEG;IACG,IAAI,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD/C,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACG,YAAY,CAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAgB1D;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IA0CxE;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAiBzC;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAqBhB;;OAEG;IACH,qBAAqB,CACnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,uBAAuB;IAwD1B;;;;OAIG;IACH,qBAAqB,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,uBAAuB;IA2C1B;;OAEG;IACH,0BAA0B,CACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,cAAc;IAkBjB;;OAEG;IACH,0BAA0B,CACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACrC,cAAc;IAcjB;;;OAGG;IACH,gBAAgB,CACd,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GACb,uBAAuB,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;IAsCxD;;OAEG;IACH,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,kBAAkB;IAiDhE;;;;;;;;;OASG;IACH,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB;IAqC/D;;;;;OAKG;IACH,WAAW,CACT,gBAAgB,EAAE,MAAM,GACvB,kBAAkB,GAAG,iBAAiB;IA0DzC;;OAEG;IACH,sBAAsB,CAAC,kBAAkB,EAAE,MAAM,GAAG,qBAAqB;IAmCzE;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,sBAAsB;CAqB/B;AAGD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC"}
@@ -379,16 +379,18 @@ export class TfheClient {
379
379
  const count = bytes[0] | (bytes[1] << 8);
380
380
  let offset = 2;
381
381
  console.log("[TfheClient] count =", count, ", expected total size =", 2 + count * sizes.uint32 + sizes.bool);
382
+ // Use safe_deserialize to match the Rust worker's safe_serialize format
383
+ const SIZE_LIMIT = BigInt("18446744073709551615"); // u64::MAX
382
384
  const balances = [];
383
385
  for (let i = 0; i < count; i++) {
384
386
  const balanceBytes = bytes.slice(offset, offset + sizes.uint32);
385
387
  console.log(`[TfheClient] Balance[${i}]: offset=${offset}, reading ${sizes.uint32} bytes, first 8 bytes:`, Array.from(balanceBytes.slice(0, 8)));
386
- const balanceCt = tfhe.FheUint32.deserialize(balanceBytes);
388
+ const balanceCt = tfhe.FheUint32.safe_deserialize(balanceBytes, SIZE_LIMIT);
387
389
  balances.push(balanceCt.decrypt(this.clientKey));
388
390
  offset += sizes.uint32;
389
391
  }
390
392
  const boolBytes = bytes.slice(offset, offset + sizes.bool);
391
- const validCt = tfhe.FheBool.deserialize(boolBytes);
393
+ const validCt = tfhe.FheBool.safe_deserialize(boolBytes, SIZE_LIMIT);
392
394
  const isValid = validCt.decrypt(this.clientKey);
393
395
  return { balances, isValid };
394
396
  }
@@ -397,53 +399,76 @@ export class TfheClient {
397
399
  *
398
400
  * Balance blobs have format: count (u16) + N × FheUint32
399
401
  * Unlike CMUX results, they do NOT have an FheBool at the end.
402
+ *
403
+ * IMPORTANT: Ciphertext size is calculated dynamically from the blob itself
404
+ * because Rust's encrypt_trivial() produces different sizes (264,101 bytes)
405
+ * than JS's encrypt_with_client_key() (263,448 bytes).
400
406
  */
401
407
  decryptBalanceBlob(encryptedBlobB64) {
402
408
  this.requireClientKey();
403
409
  const bytes = fromBase64(encryptedBlobB64);
404
- const sizes = this.ciphertextSizes ?? this.computeCiphertextSizes();
405
410
  // First 2 bytes are u16 count (little-endian)
406
411
  const count = bytes[0] | (bytes[1] << 8);
407
- const expectedSize = 2 + count * sizes.uint32;
408
- console.log("[TfheClient] decryptBalanceBlob: total bytes =", bytes.length, ", count =", count, ", expected size =", expectedSize);
412
+ // Calculate actual ciphertext size from the blob itself
413
+ // This handles Rust's encrypt_trivial() producing different sizes than JS
414
+ const uint32Size = this.calculateSizeFromBlob(bytes, count);
415
+ console.log("[TfheClient] decryptBalanceBlob: total bytes =", bytes.length, ", count =", count, ", calculated uint32 size =", uint32Size);
416
+ // Use safe_deserialize to match the Rust worker's safe_serialize format
417
+ const SIZE_LIMIT = BigInt("18446744073709551615"); // u64::MAX
409
418
  let offset = 2;
410
419
  const balances = [];
411
420
  for (let i = 0; i < count; i++) {
412
- const balanceBytes = bytes.slice(offset, offset + sizes.uint32);
413
- const balanceCt = tfhe.FheUint32.deserialize(balanceBytes);
421
+ const balanceBytes = bytes.slice(offset, offset + uint32Size);
422
+ const balanceCt = tfhe.FheUint32.safe_deserialize(balanceBytes, SIZE_LIMIT);
414
423
  balances.push(balanceCt.decrypt(this.clientKey));
415
- offset += sizes.uint32;
424
+ offset += uint32Size;
416
425
  }
417
426
  return { balances };
418
427
  }
419
428
  /**
420
429
  * Auto-detect format and decrypt either balance blob or CMUX result
421
430
  *
422
- * Checks if the data has an FheBool at the end based on size.
431
+ * For balance blobs from Rust worker, size is calculated dynamically
432
+ * because encrypt_trivial() produces different sizes than encrypt_with_client_key().
423
433
  */
424
434
  autoDecrypt(encryptedDataB64) {
425
435
  this.requireClientKey();
426
436
  const bytes = fromBase64(encryptedDataB64);
427
- const sizes = this.ciphertextSizes ?? this.computeCiphertextSizes();
428
437
  // First 2 bytes are u16 count (little-endian)
429
438
  const count = bytes[0] | (bytes[1] << 8);
430
- // Check which format it is based on size
431
- const balanceBlobSize = 2 + count * sizes.uint32;
432
- const cmuxResultSize = 2 + count * sizes.uint32 + sizes.bool;
433
- console.log("[TfheClient] autoDecrypt: total bytes =", bytes.length, ", count =", count, ", balanceBlobSize =", balanceBlobSize, ", cmuxResultSize =", cmuxResultSize);
434
- if (bytes.length === cmuxResultSize) {
435
- console.log("[TfheClient] Detected CMUX result format (with FheBool)");
439
+ // Calculate expected sizes based on local params
440
+ const sizes = this.ciphertextSizes ?? this.computeCiphertextSizes();
441
+ // Check for exact CMUX result match: 2 (header) + N * uint32 + 1 * bool
442
+ const expectedCmuxSize = 2 + count * sizes.uint32 + sizes.bool;
443
+ if (bytes.length === expectedCmuxSize) {
444
+ console.log("[TfheClient] Detected CMUX result format (exact match)");
436
445
  return this.decryptCmuxToken(encryptedDataB64);
437
446
  }
438
- else if (bytes.length === balanceBlobSize) {
439
- console.log("[TfheClient] Detected balance blob format (no FheBool)");
447
+ // Check for exact Balance Blob match: 2 (header) + N * uint32
448
+ // Note: Rust optimization might mean this doesn't match exactly, hence the fallback below
449
+ const expectedBlobSize = 2 + count * sizes.uint32;
450
+ if (bytes.length === expectedBlobSize) {
451
+ console.log("[TfheClient] Detected Balance Blob format (exact match)");
440
452
  return this.decryptBalanceBlob(encryptedDataB64);
441
453
  }
442
- else {
443
- // Default to balance blob with warning
444
- console.warn(`[TfheClient] Unknown format: expected ${balanceBlobSize} or ${cmuxResultSize} bytes, got ${bytes.length}. Trying balance blob format.`);
454
+ // Fallback: Calculate size dynamically from blob
455
+ // This handles Rust's encrypt_trivial() producing different sizes than JS
456
+ // BUT this only works for Balance Blobs (no boolean flag)
457
+ const uint32Size = this.calculateSizeFromBlob(bytes, count);
458
+ const balanceBlobSize = 2 + count * uint32Size;
459
+ console.log("[TfheClient] autoDecrypt: total bytes =", bytes.length, ", count =", count, ", calculated uint32 size =", uint32Size);
460
+ // Balance blobs from worker should match exactly
461
+ if (bytes.length === balanceBlobSize) {
462
+ console.log("[TfheClient] Detected balance blob format (dynamic size)");
445
463
  return this.decryptBalanceBlob(encryptedDataB64);
446
464
  }
465
+ // If we're here, it might be a CMUX blob with dynamic sizing, which is trickier.
466
+ // However, currently only Balance Blobs use encrypt_trivial.
467
+ // CMUX results are fully encrypted and should match standard sizes.
468
+ // If getting "Invalid Size", it's likely because the code previously fell through to here
469
+ // effectively treating a CMUX blob (with extra bool) as a weird Balance Blob.
470
+ console.warn(`[TfheClient] Unknown format, trying balance blob fallback`);
471
+ return this.decryptBalanceBlob(encryptedDataB64);
447
472
  }
448
473
  /**
449
474
  * Decrypt balance transfer result
@@ -459,22 +484,37 @@ export class TfheClient {
459
484
  const senderBytes = bytes.slice(0, sizes.uint32);
460
485
  const receiverBytes = bytes.slice(sizes.uint32, sizes.uint32 * 2);
461
486
  const boolBytes = bytes.slice(sizes.uint32 * 2, expectedLen);
462
- const newSenderCt = tfhe.FheUint32.deserialize(senderBytes);
463
- const newReceiverCt = tfhe.FheUint32.deserialize(receiverBytes);
464
- const validCt = tfhe.FheBool.deserialize(boolBytes);
487
+ // Use safe_deserialize to match the Rust worker's safe_serialize format
488
+ const SIZE_LIMIT = BigInt("18446744073709551615"); // u64::MAX
489
+ const newSenderCt = tfhe.FheUint32.safe_deserialize(senderBytes, SIZE_LIMIT);
490
+ const newReceiverCt = tfhe.FheUint32.safe_deserialize(receiverBytes, SIZE_LIMIT);
491
+ const validCt = tfhe.FheBool.safe_deserialize(boolBytes, SIZE_LIMIT);
465
492
  return {
466
493
  newSender: newSenderCt.decrypt(this.clientKey),
467
494
  newReceiver: newReceiverCt.decrypt(this.clientKey),
468
495
  isValid: validCt.decrypt(this.clientKey),
469
496
  };
470
497
  }
498
+ /**
499
+ * Calculate ciphertext size from blob (for balance blobs from worker)
500
+ * This handles the case where Rust uses encrypt_trivial() which produces
501
+ * different-sized ciphertexts than encrypt_with_client_key().
502
+ */
503
+ calculateSizeFromBlob(bytes, count) {
504
+ const totalCiphertextBytes = bytes.length - 2; // subtract 2-byte count header
505
+ const sizePerCiphertext = Math.floor(totalCiphertextBytes / count);
506
+ return sizePerCiphertext;
507
+ }
471
508
  computeCiphertextSizes() {
472
509
  this.requireClientKey();
473
510
  const sampleUint = tfhe.FheUint32.encrypt_with_client_key(0, this.clientKey);
474
511
  const sampleBool = tfhe.FheBool.encrypt_with_client_key(false, this.clientKey);
512
+ // Use safe_serialize to match the Rust worker's serialization format
513
+ // The worker uses tfhe::safe_serialization::safe_serialize
514
+ const SIZE_LIMIT = BigInt("18446744073709551615"); // u64::MAX
475
515
  const sizes = {
476
- uint32: sampleUint.serialize().length,
477
- bool: sampleBool.serialize().length,
516
+ uint32: sampleUint.safe_serialize(SIZE_LIMIT).length,
517
+ bool: sampleBool.safe_serialize(SIZE_LIMIT).length,
478
518
  };
479
519
  console.log("[TfheClient] Computed ciphertext sizes:", sizes);
480
520
  this.ciphertextSizes = sizes;
@@ -1 +1 @@
1
- {"version":3,"file":"TfheClient.js","sourceRoot":"","sources":["../../src/TfheClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TfheClient.js","sourceRoot":"","sources":["../../src/TfheClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zksdk/core",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "ZKSDK Core - FHE client and types for privacy-preserving computation",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",