@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.
- package/dist/cjs/TfheClient.d.ts +12 -1
- package/dist/cjs/TfheClient.d.ts.map +1 -1
- package/dist/cjs/TfheClient.js +66 -26
- package/dist/cjs/TfheClient.js.map +1 -1
- package/dist/esm/TfheClient.d.ts +12 -1
- package/dist/esm/TfheClient.d.ts.map +1 -1
- package/dist/esm/TfheClient.js +66 -26
- package/dist/esm/TfheClient.js.map +1 -1
- package/package.json +1 -1
- package/tfhe-wasm/tfhe.d.ts +263 -2517
- package/tfhe-wasm/tfhe.js +2287 -15284
- package/tfhe-wasm/tfhe_bg.wasm +0 -0
package/dist/cjs/TfheClient.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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;
|
|
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"}
|
package/dist/cjs/TfheClient.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
|
|
413
|
-
|
|
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 +
|
|
418
|
-
const balanceCt = tfhe.FheUint32.
|
|
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 +=
|
|
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
|
-
*
|
|
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
|
-
//
|
|
436
|
-
const
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
if (bytes.length ===
|
|
440
|
-
console.log("[TfheClient] Detected CMUX result format (
|
|
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
|
-
|
|
444
|
-
|
|
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
|
-
|
|
448
|
-
|
|
449
|
-
|
|
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
|
-
|
|
468
|
-
const
|
|
469
|
-
const
|
|
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.
|
|
482
|
-
bool: sampleBool.
|
|
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":"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"}
|
package/dist/esm/TfheClient.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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;
|
|
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"}
|
package/dist/esm/TfheClient.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
-
|
|
408
|
-
|
|
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 +
|
|
413
|
-
const balanceCt = tfhe.FheUint32.
|
|
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 +=
|
|
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
|
-
*
|
|
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
|
-
//
|
|
431
|
-
const
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
if (bytes.length ===
|
|
435
|
-
console.log("[TfheClient] Detected CMUX result format (
|
|
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
|
-
|
|
439
|
-
|
|
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
|
-
|
|
443
|
-
|
|
444
|
-
|
|
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
|
-
|
|
463
|
-
const
|
|
464
|
-
const
|
|
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.
|
|
477
|
-
bool: sampleBool.
|
|
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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"}
|