@crisp-e3/zk-inputs 0.18.0 → 0.19.1
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/index.d.ts +6 -0
- package/dist/index.js +64 -0
- package/dist/index_base64.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ export class ZKInputsGenerator {
|
|
|
23
23
|
* Encrypt a vote from JavaScript.
|
|
24
24
|
*/
|
|
25
25
|
encryptVote(public_key: Uint8Array, vote: BigInt64Array): Uint8Array;
|
|
26
|
+
/**
|
|
27
|
+
* Create a JavaScript CRISP ZK inputs generator with a named BFV preset.
|
|
28
|
+
*/
|
|
29
|
+
static fromPreset(preset: string): ZKInputsGenerator;
|
|
26
30
|
/**
|
|
27
31
|
* Generate the CRISP ZK inputs for one ballot from JavaScript.
|
|
28
32
|
*
|
|
@@ -73,6 +77,7 @@ export interface InitOutput {
|
|
|
73
77
|
readonly zkinputsgenerator_computeCtCommitment: (a: number, b: number, c: number) => [number, number, number, number];
|
|
74
78
|
readonly zkinputsgenerator_decryptVote: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
75
79
|
readonly zkinputsgenerator_encryptVote: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number];
|
|
80
|
+
readonly zkinputsgenerator_fromPreset: (a: number, b: number) => [number, number, number];
|
|
76
81
|
readonly zkinputsgenerator_generateInputs: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number];
|
|
77
82
|
readonly zkinputsgenerator_generateKeys: (a: number) => [number, number, number];
|
|
78
83
|
readonly zkinputsgenerator_getBFVParams: (a: number) => [number, number, number];
|
|
@@ -85,6 +90,7 @@ export interface InitOutput {
|
|
|
85
90
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
86
91
|
readonly __externref_table_dealloc: (a: number) => void;
|
|
87
92
|
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
93
|
+
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
88
94
|
readonly __wbindgen_start: () => void;
|
|
89
95
|
}
|
|
90
96
|
|
package/dist/index.js
CHANGED
|
@@ -78,6 +78,20 @@ export class ZKInputsGenerator {
|
|
|
78
78
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
79
79
|
return v3;
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Create a JavaScript CRISP ZK inputs generator with a named BFV preset.
|
|
83
|
+
* @param {string} preset
|
|
84
|
+
* @returns {ZKInputsGenerator}
|
|
85
|
+
*/
|
|
86
|
+
static fromPreset(preset) {
|
|
87
|
+
const ptr0 = passStringToWasm0(preset, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
88
|
+
const len0 = WASM_VECTOR_LEN;
|
|
89
|
+
const ret = wasm.zkinputsgenerator_fromPreset(ptr0, len0);
|
|
90
|
+
if (ret[2]) {
|
|
91
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
92
|
+
}
|
|
93
|
+
return ZKInputsGenerator.__wrap(ret[0]);
|
|
94
|
+
}
|
|
81
95
|
/**
|
|
82
96
|
* Generate the CRISP ZK inputs for one ballot from JavaScript.
|
|
83
97
|
*
|
|
@@ -321,6 +335,43 @@ function passArray8ToWasm0(arg, malloc) {
|
|
|
321
335
|
return ptr;
|
|
322
336
|
}
|
|
323
337
|
|
|
338
|
+
function passStringToWasm0(arg, malloc, realloc) {
|
|
339
|
+
if (realloc === undefined) {
|
|
340
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
341
|
+
const ptr = malloc(buf.length, 1) >>> 0;
|
|
342
|
+
getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
|
|
343
|
+
WASM_VECTOR_LEN = buf.length;
|
|
344
|
+
return ptr;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
let len = arg.length;
|
|
348
|
+
let ptr = malloc(len, 1) >>> 0;
|
|
349
|
+
|
|
350
|
+
const mem = getUint8ArrayMemory0();
|
|
351
|
+
|
|
352
|
+
let offset = 0;
|
|
353
|
+
|
|
354
|
+
for (; offset < len; offset++) {
|
|
355
|
+
const code = arg.charCodeAt(offset);
|
|
356
|
+
if (code > 0x7F) break;
|
|
357
|
+
mem[ptr + offset] = code;
|
|
358
|
+
}
|
|
359
|
+
if (offset !== len) {
|
|
360
|
+
if (offset !== 0) {
|
|
361
|
+
arg = arg.slice(offset);
|
|
362
|
+
}
|
|
363
|
+
ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
|
|
364
|
+
const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
|
|
365
|
+
const ret = cachedTextEncoder.encodeInto(arg, view);
|
|
366
|
+
|
|
367
|
+
offset += ret.written;
|
|
368
|
+
ptr = realloc(ptr, len, offset, 1) >>> 0;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
WASM_VECTOR_LEN = offset;
|
|
372
|
+
return ptr;
|
|
373
|
+
}
|
|
374
|
+
|
|
324
375
|
function takeFromExternrefTable0(idx) {
|
|
325
376
|
const value = wasm.__wbindgen_externrefs.get(idx);
|
|
326
377
|
wasm.__externref_table_dealloc(idx);
|
|
@@ -341,6 +392,19 @@ function decodeText(ptr, len) {
|
|
|
341
392
|
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
|
342
393
|
}
|
|
343
394
|
|
|
395
|
+
const cachedTextEncoder = new TextEncoder();
|
|
396
|
+
|
|
397
|
+
if (!('encodeInto' in cachedTextEncoder)) {
|
|
398
|
+
cachedTextEncoder.encodeInto = function (arg, view) {
|
|
399
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
400
|
+
view.set(buf);
|
|
401
|
+
return {
|
|
402
|
+
read: arg.length,
|
|
403
|
+
written: buf.length
|
|
404
|
+
};
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
|
|
344
408
|
let WASM_VECTOR_LEN = 0;
|
|
345
409
|
|
|
346
410
|
let wasmModule, wasmInstance, wasm;
|