@ajna-inc/vaults 0.1.0
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/LICENSE +202 -0
- package/build/VaultsApi.js +263 -0
- package/build/VaultsEvents.js +19 -0
- package/build/VaultsModule.js +71 -0
- package/build/crypto/wasm/VaultCrypto.js +70 -0
- package/build/errors/BadSuiteError.js +34 -0
- package/build/errors/DecryptAeadError.js +34 -0
- package/build/errors/DecryptKemError.js +34 -0
- package/build/errors/PolicyError.js +34 -0
- package/build/errors/VaultError.js +77 -0
- package/build/errors/index.js +16 -0
- package/build/index.js +119 -0
- package/build/messages/CreateVaultMessage.js +126 -0
- package/build/messages/DeleteVaultMessage.js +114 -0
- package/build/messages/DenyAccessMessage.js +114 -0
- package/build/messages/DenyShareMessage.js +120 -0
- package/build/messages/GrantAccessMessage.js +126 -0
- package/build/messages/ProvideShareMessage.js +126 -0
- package/build/messages/RequestAccessMessage.js +120 -0
- package/build/messages/RequestShareMessage.js +120 -0
- package/build/messages/RetrieveVaultMessage.js +108 -0
- package/build/messages/StoreVaultMessage.js +114 -0
- package/build/messages/UpdateVaultMessage.js +120 -0
- package/build/messages/VaultCreatedAckMessage.js +108 -0
- package/build/messages/VaultDataMessage.js +121 -0
- package/build/messages/VaultProblemReportMessage.js +124 -0
- package/build/messages/VaultStoredAckMessage.js +115 -0
- package/build/messages/index.js +36 -0
- package/build/models/ThresholdSession.js +24 -0
- package/build/models/VaultDocument.js +28 -0
- package/build/models/VaultHeader.js +31 -0
- package/build/models/VaultPolicy.js +29 -0
- package/build/models/index.js +20 -0
- package/build/repository/ThresholdSessionRecord.js +117 -0
- package/build/repository/ThresholdSessionRepository.js +216 -0
- package/build/repository/VaultRecord.js +128 -0
- package/build/repository/VaultRepository.js +200 -0
- package/build/repository/index.js +13 -0
- package/build/services/VaultEncryptionService.js +613 -0
- package/build/services/VaultService.js +398 -0
- package/build/services/index.js +8 -0
- package/package.json +45 -0
- package/wasm/README.md +166 -0
- package/wasm/package.json +16 -0
- package/wasm/vault_crypto.d.ts +526 -0
- package/wasm/vault_crypto.js +2137 -0
- package/wasm/vault_crypto_bg.wasm +0 -0
- package/wasm/vault_crypto_bg.wasm.d.ts +66 -0
|
@@ -0,0 +1,2137 @@
|
|
|
1
|
+
|
|
2
|
+
let imports = {};
|
|
3
|
+
imports['__wbindgen_placeholder__'] = module.exports;
|
|
4
|
+
|
|
5
|
+
let cachedUint8ArrayMemory0 = null;
|
|
6
|
+
|
|
7
|
+
function getUint8ArrayMemory0() {
|
|
8
|
+
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
|
9
|
+
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
|
|
10
|
+
}
|
|
11
|
+
return cachedUint8ArrayMemory0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
15
|
+
|
|
16
|
+
cachedTextDecoder.decode();
|
|
17
|
+
|
|
18
|
+
function decodeText(ptr, len) {
|
|
19
|
+
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function getStringFromWasm0(ptr, len) {
|
|
23
|
+
ptr = ptr >>> 0;
|
|
24
|
+
return decodeText(ptr, len);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
let heap = new Array(128).fill(undefined);
|
|
28
|
+
|
|
29
|
+
heap.push(undefined, null, true, false);
|
|
30
|
+
|
|
31
|
+
let heap_next = heap.length;
|
|
32
|
+
|
|
33
|
+
function addHeapObject(obj) {
|
|
34
|
+
if (heap_next === heap.length) heap.push(heap.length + 1);
|
|
35
|
+
const idx = heap_next;
|
|
36
|
+
heap_next = heap[idx];
|
|
37
|
+
|
|
38
|
+
heap[idx] = obj;
|
|
39
|
+
return idx;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function getObject(idx) { return heap[idx]; }
|
|
43
|
+
|
|
44
|
+
let WASM_VECTOR_LEN = 0;
|
|
45
|
+
|
|
46
|
+
const cachedTextEncoder = new TextEncoder();
|
|
47
|
+
|
|
48
|
+
if (!('encodeInto' in cachedTextEncoder)) {
|
|
49
|
+
cachedTextEncoder.encodeInto = function (arg, view) {
|
|
50
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
51
|
+
view.set(buf);
|
|
52
|
+
return {
|
|
53
|
+
read: arg.length,
|
|
54
|
+
written: buf.length
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function passStringToWasm0(arg, malloc, realloc) {
|
|
60
|
+
|
|
61
|
+
if (realloc === undefined) {
|
|
62
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
63
|
+
const ptr = malloc(buf.length, 1) >>> 0;
|
|
64
|
+
getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
|
|
65
|
+
WASM_VECTOR_LEN = buf.length;
|
|
66
|
+
return ptr;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
let len = arg.length;
|
|
70
|
+
let ptr = malloc(len, 1) >>> 0;
|
|
71
|
+
|
|
72
|
+
const mem = getUint8ArrayMemory0();
|
|
73
|
+
|
|
74
|
+
let offset = 0;
|
|
75
|
+
|
|
76
|
+
for (; offset < len; offset++) {
|
|
77
|
+
const code = arg.charCodeAt(offset);
|
|
78
|
+
if (code > 0x7F) break;
|
|
79
|
+
mem[ptr + offset] = code;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
if (offset !== len) {
|
|
83
|
+
if (offset !== 0) {
|
|
84
|
+
arg = arg.slice(offset);
|
|
85
|
+
}
|
|
86
|
+
ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
|
|
87
|
+
const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
|
|
88
|
+
const ret = cachedTextEncoder.encodeInto(arg, view);
|
|
89
|
+
|
|
90
|
+
offset += ret.written;
|
|
91
|
+
ptr = realloc(ptr, len, offset, 1) >>> 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
WASM_VECTOR_LEN = offset;
|
|
95
|
+
return ptr;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
let cachedDataViewMemory0 = null;
|
|
99
|
+
|
|
100
|
+
function getDataViewMemory0() {
|
|
101
|
+
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
102
|
+
cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
|
|
103
|
+
}
|
|
104
|
+
return cachedDataViewMemory0;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function handleError(f, args) {
|
|
108
|
+
try {
|
|
109
|
+
return f.apply(this, args);
|
|
110
|
+
} catch (e) {
|
|
111
|
+
wasm.__wbindgen_export_2(addHeapObject(e));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function getArrayU8FromWasm0(ptr, len) {
|
|
116
|
+
ptr = ptr >>> 0;
|
|
117
|
+
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
function dropObject(idx) {
|
|
121
|
+
if (idx < 132) return;
|
|
122
|
+
heap[idx] = heap_next;
|
|
123
|
+
heap_next = idx;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function takeObject(idx) {
|
|
127
|
+
const ret = getObject(idx);
|
|
128
|
+
dropObject(idx);
|
|
129
|
+
return ret;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
function isLikeNone(x) {
|
|
133
|
+
return x === undefined || x === null;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function debugString(val) {
|
|
137
|
+
// primitive types
|
|
138
|
+
const type = typeof val;
|
|
139
|
+
if (type == 'number' || type == 'boolean' || val == null) {
|
|
140
|
+
return `${val}`;
|
|
141
|
+
}
|
|
142
|
+
if (type == 'string') {
|
|
143
|
+
return `"${val}"`;
|
|
144
|
+
}
|
|
145
|
+
if (type == 'symbol') {
|
|
146
|
+
const description = val.description;
|
|
147
|
+
if (description == null) {
|
|
148
|
+
return 'Symbol';
|
|
149
|
+
} else {
|
|
150
|
+
return `Symbol(${description})`;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
if (type == 'function') {
|
|
154
|
+
const name = val.name;
|
|
155
|
+
if (typeof name == 'string' && name.length > 0) {
|
|
156
|
+
return `Function(${name})`;
|
|
157
|
+
} else {
|
|
158
|
+
return 'Function';
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// objects
|
|
162
|
+
if (Array.isArray(val)) {
|
|
163
|
+
const length = val.length;
|
|
164
|
+
let debug = '[';
|
|
165
|
+
if (length > 0) {
|
|
166
|
+
debug += debugString(val[0]);
|
|
167
|
+
}
|
|
168
|
+
for(let i = 1; i < length; i++) {
|
|
169
|
+
debug += ', ' + debugString(val[i]);
|
|
170
|
+
}
|
|
171
|
+
debug += ']';
|
|
172
|
+
return debug;
|
|
173
|
+
}
|
|
174
|
+
// Test for built-in
|
|
175
|
+
const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
|
|
176
|
+
let className;
|
|
177
|
+
if (builtInMatches && builtInMatches.length > 1) {
|
|
178
|
+
className = builtInMatches[1];
|
|
179
|
+
} else {
|
|
180
|
+
// Failed to match the standard '[object ClassName]'
|
|
181
|
+
return toString.call(val);
|
|
182
|
+
}
|
|
183
|
+
if (className == 'Object') {
|
|
184
|
+
// we're a user defined class or Object
|
|
185
|
+
// JSON.stringify avoids problems with cycles, and is generally much
|
|
186
|
+
// easier than looping through ownProperties of `val`.
|
|
187
|
+
try {
|
|
188
|
+
return 'Object(' + JSON.stringify(val) + ')';
|
|
189
|
+
} catch (_) {
|
|
190
|
+
return 'Object';
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// errors
|
|
194
|
+
if (val instanceof Error) {
|
|
195
|
+
return `${val.name}: ${val.message}\n${val.stack}`;
|
|
196
|
+
}
|
|
197
|
+
// TODO we could test for more things here, like `Set`s and `Map`s.
|
|
198
|
+
return className;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
function passArray8ToWasm0(arg, malloc) {
|
|
202
|
+
const ptr = malloc(arg.length * 1, 1) >>> 0;
|
|
203
|
+
getUint8ArrayMemory0().set(arg, ptr / 1);
|
|
204
|
+
WASM_VECTOR_LEN = arg.length;
|
|
205
|
+
return ptr;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Encrypt using AES-256-GCM (§4.1 P1 suite)
|
|
209
|
+
*
|
|
210
|
+
* # Arguments
|
|
211
|
+
* * `key` - 32-byte encryption key
|
|
212
|
+
* * `nonce` - 12-byte nonce (must be unique per key)
|
|
213
|
+
* * `plaintext` - Data to encrypt
|
|
214
|
+
* * `aad` - Associated data (authenticated but not encrypted)
|
|
215
|
+
*
|
|
216
|
+
* # Returns
|
|
217
|
+
* Ciphertext with authentication tag appended (plaintext.len() + 16 bytes)
|
|
218
|
+
* @param {Uint8Array} key
|
|
219
|
+
* @param {Uint8Array} nonce
|
|
220
|
+
* @param {Uint8Array} plaintext
|
|
221
|
+
* @param {Uint8Array} aad
|
|
222
|
+
* @returns {AeadResult}
|
|
223
|
+
*/
|
|
224
|
+
exports.aesGcmEncrypt = function(key, nonce, plaintext, aad) {
|
|
225
|
+
try {
|
|
226
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
227
|
+
const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);
|
|
228
|
+
const len0 = WASM_VECTOR_LEN;
|
|
229
|
+
const ptr1 = passArray8ToWasm0(nonce, wasm.__wbindgen_export_0);
|
|
230
|
+
const len1 = WASM_VECTOR_LEN;
|
|
231
|
+
const ptr2 = passArray8ToWasm0(plaintext, wasm.__wbindgen_export_0);
|
|
232
|
+
const len2 = WASM_VECTOR_LEN;
|
|
233
|
+
const ptr3 = passArray8ToWasm0(aad, wasm.__wbindgen_export_0);
|
|
234
|
+
const len3 = WASM_VECTOR_LEN;
|
|
235
|
+
wasm.aesGcmEncrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
|
|
236
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
237
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
238
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
239
|
+
if (r2) {
|
|
240
|
+
throw takeObject(r1);
|
|
241
|
+
}
|
|
242
|
+
return AeadResult.__wrap(r0);
|
|
243
|
+
} finally {
|
|
244
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Decrypt using AES-256-GCM (§4.1 P1 suite)
|
|
250
|
+
*
|
|
251
|
+
* # Arguments
|
|
252
|
+
* * `key` - 32-byte encryption key
|
|
253
|
+
* * `nonce` - 12-byte nonce (same as encryption)
|
|
254
|
+
* * `ciphertext` - Encrypted data with tag
|
|
255
|
+
* * `aad` - Associated data (must match encryption)
|
|
256
|
+
*
|
|
257
|
+
* # Returns
|
|
258
|
+
* Plaintext (ciphertext.len() - 16 bytes)
|
|
259
|
+
* @param {Uint8Array} key
|
|
260
|
+
* @param {Uint8Array} nonce
|
|
261
|
+
* @param {Uint8Array} ciphertext
|
|
262
|
+
* @param {Uint8Array} aad
|
|
263
|
+
* @returns {Uint8Array}
|
|
264
|
+
*/
|
|
265
|
+
exports.aesGcmDecrypt = function(key, nonce, ciphertext, aad) {
|
|
266
|
+
try {
|
|
267
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
268
|
+
const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);
|
|
269
|
+
const len0 = WASM_VECTOR_LEN;
|
|
270
|
+
const ptr1 = passArray8ToWasm0(nonce, wasm.__wbindgen_export_0);
|
|
271
|
+
const len1 = WASM_VECTOR_LEN;
|
|
272
|
+
const ptr2 = passArray8ToWasm0(ciphertext, wasm.__wbindgen_export_0);
|
|
273
|
+
const len2 = WASM_VECTOR_LEN;
|
|
274
|
+
const ptr3 = passArray8ToWasm0(aad, wasm.__wbindgen_export_0);
|
|
275
|
+
const len3 = WASM_VECTOR_LEN;
|
|
276
|
+
wasm.aesGcmDecrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
|
|
277
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
278
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
279
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
280
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
281
|
+
if (r3) {
|
|
282
|
+
throw takeObject(r2);
|
|
283
|
+
}
|
|
284
|
+
var v5 = getArrayU8FromWasm0(r0, r1).slice();
|
|
285
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
286
|
+
return v5;
|
|
287
|
+
} finally {
|
|
288
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Encrypt using XChaCha20-Poly1305 (§4.1 H1 suite)
|
|
294
|
+
*
|
|
295
|
+
* # Arguments
|
|
296
|
+
* * `key` - 32-byte encryption key
|
|
297
|
+
* * `nonce` - 24-byte nonce (extended nonce for XChaCha)
|
|
298
|
+
* * `plaintext` - Data to encrypt
|
|
299
|
+
* * `aad` - Associated data (authenticated but not encrypted)
|
|
300
|
+
*
|
|
301
|
+
* # Returns
|
|
302
|
+
* Ciphertext with authentication tag appended
|
|
303
|
+
* @param {Uint8Array} key
|
|
304
|
+
* @param {Uint8Array} nonce
|
|
305
|
+
* @param {Uint8Array} plaintext
|
|
306
|
+
* @param {Uint8Array} aad
|
|
307
|
+
* @returns {AeadResult}
|
|
308
|
+
*/
|
|
309
|
+
exports.xchachaEncrypt = function(key, nonce, plaintext, aad) {
|
|
310
|
+
try {
|
|
311
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
312
|
+
const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);
|
|
313
|
+
const len0 = WASM_VECTOR_LEN;
|
|
314
|
+
const ptr1 = passArray8ToWasm0(nonce, wasm.__wbindgen_export_0);
|
|
315
|
+
const len1 = WASM_VECTOR_LEN;
|
|
316
|
+
const ptr2 = passArray8ToWasm0(plaintext, wasm.__wbindgen_export_0);
|
|
317
|
+
const len2 = WASM_VECTOR_LEN;
|
|
318
|
+
const ptr3 = passArray8ToWasm0(aad, wasm.__wbindgen_export_0);
|
|
319
|
+
const len3 = WASM_VECTOR_LEN;
|
|
320
|
+
wasm.xchachaEncrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
|
|
321
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
322
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
323
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
324
|
+
if (r2) {
|
|
325
|
+
throw takeObject(r1);
|
|
326
|
+
}
|
|
327
|
+
return AeadResult.__wrap(r0);
|
|
328
|
+
} finally {
|
|
329
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
330
|
+
}
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Decrypt using XChaCha20-Poly1305 (§4.1 H1 suite)
|
|
335
|
+
*
|
|
336
|
+
* # Arguments
|
|
337
|
+
* * `key` - 32-byte encryption key
|
|
338
|
+
* * `nonce` - 24-byte nonce (same as encryption)
|
|
339
|
+
* * `ciphertext` - Encrypted data with tag
|
|
340
|
+
* * `aad` - Associated data (must match encryption)
|
|
341
|
+
*
|
|
342
|
+
* # Returns
|
|
343
|
+
* Plaintext
|
|
344
|
+
* @param {Uint8Array} key
|
|
345
|
+
* @param {Uint8Array} nonce
|
|
346
|
+
* @param {Uint8Array} ciphertext
|
|
347
|
+
* @param {Uint8Array} aad
|
|
348
|
+
* @returns {Uint8Array}
|
|
349
|
+
*/
|
|
350
|
+
exports.xchachaDecrypt = function(key, nonce, ciphertext, aad) {
|
|
351
|
+
try {
|
|
352
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
353
|
+
const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);
|
|
354
|
+
const len0 = WASM_VECTOR_LEN;
|
|
355
|
+
const ptr1 = passArray8ToWasm0(nonce, wasm.__wbindgen_export_0);
|
|
356
|
+
const len1 = WASM_VECTOR_LEN;
|
|
357
|
+
const ptr2 = passArray8ToWasm0(ciphertext, wasm.__wbindgen_export_0);
|
|
358
|
+
const len2 = WASM_VECTOR_LEN;
|
|
359
|
+
const ptr3 = passArray8ToWasm0(aad, wasm.__wbindgen_export_0);
|
|
360
|
+
const len3 = WASM_VECTOR_LEN;
|
|
361
|
+
wasm.xchachaDecrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
|
|
362
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
363
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
364
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
365
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
366
|
+
if (r3) {
|
|
367
|
+
throw takeObject(r2);
|
|
368
|
+
}
|
|
369
|
+
var v5 = getArrayU8FromWasm0(r0, r1).slice();
|
|
370
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
371
|
+
return v5;
|
|
372
|
+
} finally {
|
|
373
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
374
|
+
}
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Generate ML-KEM-768 keypair (§4.1 P1 suite)
|
|
379
|
+
*
|
|
380
|
+
* # Returns
|
|
381
|
+
* Keypair with:
|
|
382
|
+
* - Public key: 1184 bytes
|
|
383
|
+
* - Secret key: 2400 bytes
|
|
384
|
+
* @returns {KemKeypair}
|
|
385
|
+
*/
|
|
386
|
+
exports.kemGenerateKeypair = function() {
|
|
387
|
+
try {
|
|
388
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
389
|
+
wasm.kemGenerateKeypair(retptr);
|
|
390
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
391
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
392
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
393
|
+
if (r2) {
|
|
394
|
+
throw takeObject(r1);
|
|
395
|
+
}
|
|
396
|
+
return KemKeypair.__wrap(r0);
|
|
397
|
+
} finally {
|
|
398
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* Encapsulate a shared secret to a recipient's public key (§6.1)
|
|
404
|
+
*
|
|
405
|
+
* # Arguments
|
|
406
|
+
* * `recipient_public_key` - Recipient's ML-KEM-768 public key (1184 bytes)
|
|
407
|
+
*
|
|
408
|
+
* # Returns
|
|
409
|
+
* - `sharedSecret`: 32-byte shared secret (use as KEK to wrap CEK)
|
|
410
|
+
* - `ciphertext`: KEM ciphertext to send to recipient
|
|
411
|
+
* @param {Uint8Array} recipient_public_key
|
|
412
|
+
* @returns {KemEncapResult}
|
|
413
|
+
*/
|
|
414
|
+
exports.kemEncapsulate = function(recipient_public_key) {
|
|
415
|
+
try {
|
|
416
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
417
|
+
const ptr0 = passArray8ToWasm0(recipient_public_key, wasm.__wbindgen_export_0);
|
|
418
|
+
const len0 = WASM_VECTOR_LEN;
|
|
419
|
+
wasm.kemEncapsulate(retptr, ptr0, len0);
|
|
420
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
421
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
422
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
423
|
+
if (r2) {
|
|
424
|
+
throw takeObject(r1);
|
|
425
|
+
}
|
|
426
|
+
return KemEncapResult.__wrap(r0);
|
|
427
|
+
} finally {
|
|
428
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
429
|
+
}
|
|
430
|
+
};
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
* Decapsulate to recover shared secret from ciphertext (§6.1)
|
|
434
|
+
*
|
|
435
|
+
* # Arguments
|
|
436
|
+
* * `ciphertext` - KEM ciphertext from encapsulation
|
|
437
|
+
* * `secret_key` - Recipient's ML-KEM-768 secret key (2400 bytes)
|
|
438
|
+
*
|
|
439
|
+
* # Returns
|
|
440
|
+
* 32-byte shared secret (same as encapsulation)
|
|
441
|
+
* @param {Uint8Array} ciphertext
|
|
442
|
+
* @param {Uint8Array} secret_key
|
|
443
|
+
* @returns {Uint8Array}
|
|
444
|
+
*/
|
|
445
|
+
exports.kemDecapsulate = function(ciphertext, secret_key) {
|
|
446
|
+
try {
|
|
447
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
448
|
+
const ptr0 = passArray8ToWasm0(ciphertext, wasm.__wbindgen_export_0);
|
|
449
|
+
const len0 = WASM_VECTOR_LEN;
|
|
450
|
+
const ptr1 = passArray8ToWasm0(secret_key, wasm.__wbindgen_export_0);
|
|
451
|
+
const len1 = WASM_VECTOR_LEN;
|
|
452
|
+
wasm.kemDecapsulate(retptr, ptr0, len0, ptr1, len1);
|
|
453
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
454
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
455
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
456
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
457
|
+
if (r3) {
|
|
458
|
+
throw takeObject(r2);
|
|
459
|
+
}
|
|
460
|
+
var v3 = getArrayU8FromWasm0(r0, r1).slice();
|
|
461
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
462
|
+
return v3;
|
|
463
|
+
} finally {
|
|
464
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
465
|
+
}
|
|
466
|
+
};
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* Wrap a CEK using KEM + AES-KW pattern
|
|
470
|
+
*
|
|
471
|
+
* This is a convenience function that:
|
|
472
|
+
* 1. Encapsulates to get a KEK (Key Encryption Key)
|
|
473
|
+
* 2. Uses KEK with AES-GCM to wrap the CEK
|
|
474
|
+
*
|
|
475
|
+
* # Arguments
|
|
476
|
+
* * `cek` - Content Encryption Key to wrap (typically 32 bytes)
|
|
477
|
+
* * `recipient_public_key` - Recipient's ML-KEM-768 public key
|
|
478
|
+
*
|
|
479
|
+
* # Returns
|
|
480
|
+
* Wrapped CEK ciphertext (includes both KEM ciphertext and AES-GCM encrypted CEK)
|
|
481
|
+
* @param {Uint8Array} cek
|
|
482
|
+
* @param {Uint8Array} recipient_public_key
|
|
483
|
+
* @returns {Uint8Array}
|
|
484
|
+
*/
|
|
485
|
+
exports.kemWrapCek = function(cek, recipient_public_key) {
|
|
486
|
+
try {
|
|
487
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
488
|
+
const ptr0 = passArray8ToWasm0(cek, wasm.__wbindgen_export_0);
|
|
489
|
+
const len0 = WASM_VECTOR_LEN;
|
|
490
|
+
const ptr1 = passArray8ToWasm0(recipient_public_key, wasm.__wbindgen_export_0);
|
|
491
|
+
const len1 = WASM_VECTOR_LEN;
|
|
492
|
+
wasm.kemWrapCek(retptr, ptr0, len0, ptr1, len1);
|
|
493
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
494
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
495
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
496
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
497
|
+
if (r3) {
|
|
498
|
+
throw takeObject(r2);
|
|
499
|
+
}
|
|
500
|
+
var v3 = getArrayU8FromWasm0(r0, r1).slice();
|
|
501
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
502
|
+
return v3;
|
|
503
|
+
} finally {
|
|
504
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
505
|
+
}
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* Unwrap a CEK using KEM + AES-KW pattern
|
|
510
|
+
*
|
|
511
|
+
* Inverse of `kemWrapCek`.
|
|
512
|
+
*
|
|
513
|
+
* # Arguments
|
|
514
|
+
* * `wrapped_cek` - Combined KEM ciphertext + AES-GCM encrypted CEK
|
|
515
|
+
* * `secret_key` - Recipient's ML-KEM-768 secret key
|
|
516
|
+
*
|
|
517
|
+
* # Returns
|
|
518
|
+
* Unwrapped CEK
|
|
519
|
+
* @param {Uint8Array} wrapped_cek
|
|
520
|
+
* @param {Uint8Array} secret_key
|
|
521
|
+
* @returns {Uint8Array}
|
|
522
|
+
*/
|
|
523
|
+
exports.kemUnwrapCek = function(wrapped_cek, secret_key) {
|
|
524
|
+
try {
|
|
525
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
526
|
+
const ptr0 = passArray8ToWasm0(wrapped_cek, wasm.__wbindgen_export_0);
|
|
527
|
+
const len0 = WASM_VECTOR_LEN;
|
|
528
|
+
const ptr1 = passArray8ToWasm0(secret_key, wasm.__wbindgen_export_0);
|
|
529
|
+
const len1 = WASM_VECTOR_LEN;
|
|
530
|
+
wasm.kemUnwrapCek(retptr, ptr0, len0, ptr1, len1);
|
|
531
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
532
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
533
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
534
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
535
|
+
if (r3) {
|
|
536
|
+
throw takeObject(r2);
|
|
537
|
+
}
|
|
538
|
+
var v3 = getArrayU8FromWasm0(r0, r1).slice();
|
|
539
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
540
|
+
return v3;
|
|
541
|
+
} finally {
|
|
542
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* Derive key using HKDF-SHA256 (§10.3)
|
|
548
|
+
*
|
|
549
|
+
* # Arguments
|
|
550
|
+
* * `ikm` - Input Key Material
|
|
551
|
+
* * `salt` - Optional salt (use empty array for none)
|
|
552
|
+
* * `info` - Context/domain string
|
|
553
|
+
* * `length` - Output key length in bytes
|
|
554
|
+
*
|
|
555
|
+
* # Returns
|
|
556
|
+
* Derived key of requested length
|
|
557
|
+
* @param {Uint8Array} ikm
|
|
558
|
+
* @param {Uint8Array} salt
|
|
559
|
+
* @param {string} info
|
|
560
|
+
* @param {number} length
|
|
561
|
+
* @returns {Uint8Array}
|
|
562
|
+
*/
|
|
563
|
+
exports.hkdfExpand = function(ikm, salt, info, length) {
|
|
564
|
+
try {
|
|
565
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
566
|
+
const ptr0 = passArray8ToWasm0(ikm, wasm.__wbindgen_export_0);
|
|
567
|
+
const len0 = WASM_VECTOR_LEN;
|
|
568
|
+
const ptr1 = passArray8ToWasm0(salt, wasm.__wbindgen_export_0);
|
|
569
|
+
const len1 = WASM_VECTOR_LEN;
|
|
570
|
+
const ptr2 = passStringToWasm0(info, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
571
|
+
const len2 = WASM_VECTOR_LEN;
|
|
572
|
+
wasm.hkdfExpand(retptr, ptr0, len0, ptr1, len1, ptr2, len2, length);
|
|
573
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
574
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
575
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
576
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
577
|
+
if (r3) {
|
|
578
|
+
throw takeObject(r2);
|
|
579
|
+
}
|
|
580
|
+
var v4 = getArrayU8FromWasm0(r0, r1).slice();
|
|
581
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
582
|
+
return v4;
|
|
583
|
+
} finally {
|
|
584
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
585
|
+
}
|
|
586
|
+
};
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* HKDF-join: Order-independent key folding for all-of policy (§6.2)
|
|
590
|
+
*
|
|
591
|
+
* Combines multiple keys into a single wrap key deterministically.
|
|
592
|
+
* Order-independent by sorting KIDs before folding.
|
|
593
|
+
*
|
|
594
|
+
* # Arguments
|
|
595
|
+
* * `keys` - Array of key materials (each with KID and key bytes)
|
|
596
|
+
* * `context` - Context string (e.g., "doc:uuid:epoch:3")
|
|
597
|
+
*
|
|
598
|
+
* # Returns
|
|
599
|
+
* 32-byte joint wrap key
|
|
600
|
+
*
|
|
601
|
+
* # Example
|
|
602
|
+
* ```javascript
|
|
603
|
+
* const keys = [
|
|
604
|
+
* { kid: "alice", key: aliceKeyBytes },
|
|
605
|
+
* { kid: "bob", key: bobKeyBytes },
|
|
606
|
+
* ];
|
|
607
|
+
* const wrapKey = hkdfJoin(keys, "doc:abc:epoch:0");
|
|
608
|
+
* ```
|
|
609
|
+
* @param {any} keys
|
|
610
|
+
* @param {string} context
|
|
611
|
+
* @returns {Uint8Array}
|
|
612
|
+
*/
|
|
613
|
+
exports.hkdfJoin = function(keys, context) {
|
|
614
|
+
try {
|
|
615
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
616
|
+
const ptr0 = passStringToWasm0(context, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
617
|
+
const len0 = WASM_VECTOR_LEN;
|
|
618
|
+
wasm.hkdfJoin(retptr, addHeapObject(keys), ptr0, len0);
|
|
619
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
620
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
621
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
622
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
623
|
+
if (r3) {
|
|
624
|
+
throw takeObject(r2);
|
|
625
|
+
}
|
|
626
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
627
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
628
|
+
return v2;
|
|
629
|
+
} finally {
|
|
630
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
631
|
+
}
|
|
632
|
+
};
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
* Simple HKDF for CEK derivation from seed
|
|
636
|
+
*
|
|
637
|
+
* # Arguments
|
|
638
|
+
* * `seed` - Random seed material
|
|
639
|
+
* * `context` - Context string
|
|
640
|
+
*
|
|
641
|
+
* # Returns
|
|
642
|
+
* 32-byte CEK
|
|
643
|
+
* @param {Uint8Array} seed
|
|
644
|
+
* @param {string} context
|
|
645
|
+
* @returns {Uint8Array}
|
|
646
|
+
*/
|
|
647
|
+
exports.deriveCek = function(seed, context) {
|
|
648
|
+
try {
|
|
649
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
650
|
+
const ptr0 = passArray8ToWasm0(seed, wasm.__wbindgen_export_0);
|
|
651
|
+
const len0 = WASM_VECTOR_LEN;
|
|
652
|
+
const ptr1 = passStringToWasm0(context, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
653
|
+
const len1 = WASM_VECTOR_LEN;
|
|
654
|
+
wasm.deriveCek(retptr, ptr0, len0, ptr1, len1);
|
|
655
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
656
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
657
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
658
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
659
|
+
if (r3) {
|
|
660
|
+
throw takeObject(r2);
|
|
661
|
+
}
|
|
662
|
+
var v3 = getArrayU8FromWasm0(r0, r1).slice();
|
|
663
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
664
|
+
return v3;
|
|
665
|
+
} finally {
|
|
666
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
667
|
+
}
|
|
668
|
+
};
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* Derive key identifier (KID) from public key (§10.1)
|
|
672
|
+
*
|
|
673
|
+
* KID = base64url(SHA256(publicKey))
|
|
674
|
+
*
|
|
675
|
+
* # Arguments
|
|
676
|
+
* * `public_key` - Public key bytes
|
|
677
|
+
*
|
|
678
|
+
* # Returns
|
|
679
|
+
* Base64url-encoded KID
|
|
680
|
+
* @param {Uint8Array} public_key
|
|
681
|
+
* @returns {string}
|
|
682
|
+
*/
|
|
683
|
+
exports.deriveKid = function(public_key) {
|
|
684
|
+
let deferred2_0;
|
|
685
|
+
let deferred2_1;
|
|
686
|
+
try {
|
|
687
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
688
|
+
const ptr0 = passArray8ToWasm0(public_key, wasm.__wbindgen_export_0);
|
|
689
|
+
const len0 = WASM_VECTOR_LEN;
|
|
690
|
+
wasm.deriveKid(retptr, ptr0, len0);
|
|
691
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
692
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
693
|
+
deferred2_0 = r0;
|
|
694
|
+
deferred2_1 = r1;
|
|
695
|
+
return getStringFromWasm0(r0, r1);
|
|
696
|
+
} finally {
|
|
697
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
698
|
+
wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);
|
|
699
|
+
}
|
|
700
|
+
};
|
|
701
|
+
|
|
702
|
+
/**
|
|
703
|
+
* Derive key identifier from symmetric key (§10.1)
|
|
704
|
+
*
|
|
705
|
+
* For symmetric keys, use HKDF to avoid reversibility:
|
|
706
|
+
* KID = base64url(HKDF-Expand(key, "kid:v1", 16))
|
|
707
|
+
*
|
|
708
|
+
* # Arguments
|
|
709
|
+
* * `key` - Symmetric key bytes
|
|
710
|
+
*
|
|
711
|
+
* # Returns
|
|
712
|
+
* Base64url-encoded KID (truncated to 16 bytes for compactness)
|
|
713
|
+
* @param {Uint8Array} key
|
|
714
|
+
* @returns {string}
|
|
715
|
+
*/
|
|
716
|
+
exports.deriveSymmetricKid = function(key) {
|
|
717
|
+
let deferred3_0;
|
|
718
|
+
let deferred3_1;
|
|
719
|
+
try {
|
|
720
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
721
|
+
const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);
|
|
722
|
+
const len0 = WASM_VECTOR_LEN;
|
|
723
|
+
wasm.deriveSymmetricKid(retptr, ptr0, len0);
|
|
724
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
725
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
726
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
727
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
728
|
+
var ptr2 = r0;
|
|
729
|
+
var len2 = r1;
|
|
730
|
+
if (r3) {
|
|
731
|
+
ptr2 = 0; len2 = 0;
|
|
732
|
+
throw takeObject(r2);
|
|
733
|
+
}
|
|
734
|
+
deferred3_0 = ptr2;
|
|
735
|
+
deferred3_1 = len2;
|
|
736
|
+
return getStringFromWasm0(ptr2, len2);
|
|
737
|
+
} finally {
|
|
738
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
739
|
+
wasm.__wbindgen_export_3(deferred3_0, deferred3_1, 1);
|
|
740
|
+
}
|
|
741
|
+
};
|
|
742
|
+
|
|
743
|
+
/**
|
|
744
|
+
* Split secret into Shamir shares (t-of-n threshold)
|
|
745
|
+
*
|
|
746
|
+
* # Arguments
|
|
747
|
+
* * `secret` - Secret to split (typically a CEK, 32 bytes)
|
|
748
|
+
* * `threshold` - Minimum shares needed to reconstruct (t)
|
|
749
|
+
* * `total_shares` - Total number of shares to create (n)
|
|
750
|
+
*
|
|
751
|
+
* # Returns
|
|
752
|
+
* Array of n shares, any t of which can reconstruct the secret
|
|
753
|
+
*
|
|
754
|
+
* # Example
|
|
755
|
+
* ```javascript
|
|
756
|
+
* const cek = new Uint8Array(32); // 32-byte CEK
|
|
757
|
+
* crypto.getRandomValues(cek);
|
|
758
|
+
*
|
|
759
|
+
* // Create 5 shares, need any 3 to reconstruct
|
|
760
|
+
* const shares = shamirSplit(cek, 3, 5);
|
|
761
|
+
* ```
|
|
762
|
+
* @param {Uint8Array} secret
|
|
763
|
+
* @param {number} threshold
|
|
764
|
+
* @param {number} total_shares
|
|
765
|
+
* @returns {any}
|
|
766
|
+
*/
|
|
767
|
+
exports.shamirSplit = function(secret, threshold, total_shares) {
|
|
768
|
+
try {
|
|
769
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
770
|
+
const ptr0 = passArray8ToWasm0(secret, wasm.__wbindgen_export_0);
|
|
771
|
+
const len0 = WASM_VECTOR_LEN;
|
|
772
|
+
wasm.shamirSplit(retptr, ptr0, len0, threshold, total_shares);
|
|
773
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
774
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
775
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
776
|
+
if (r2) {
|
|
777
|
+
throw takeObject(r1);
|
|
778
|
+
}
|
|
779
|
+
return takeObject(r0);
|
|
780
|
+
} finally {
|
|
781
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
782
|
+
}
|
|
783
|
+
};
|
|
784
|
+
|
|
785
|
+
/**
|
|
786
|
+
* Reconstruct secret from Shamir shares
|
|
787
|
+
*
|
|
788
|
+
* # Arguments
|
|
789
|
+
* * `shares` - Array of shares (must have at least threshold shares)
|
|
790
|
+
*
|
|
791
|
+
* # Returns
|
|
792
|
+
* Reconstructed secret
|
|
793
|
+
*
|
|
794
|
+
* # Example
|
|
795
|
+
* ```javascript
|
|
796
|
+
* // Use any 3 of the 5 shares
|
|
797
|
+
* const selectedShares = [shares[0], shares[2], shares[4]];
|
|
798
|
+
* const reconstructed = shamirReconstruct(selectedShares);
|
|
799
|
+
* ```
|
|
800
|
+
* @param {any} shares
|
|
801
|
+
* @returns {Uint8Array}
|
|
802
|
+
*/
|
|
803
|
+
exports.shamirReconstruct = function(shares) {
|
|
804
|
+
try {
|
|
805
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
806
|
+
wasm.shamirReconstruct(retptr, addHeapObject(shares));
|
|
807
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
808
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
809
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
810
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
811
|
+
if (r3) {
|
|
812
|
+
throw takeObject(r2);
|
|
813
|
+
}
|
|
814
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
815
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
816
|
+
return v1;
|
|
817
|
+
} finally {
|
|
818
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
819
|
+
}
|
|
820
|
+
};
|
|
821
|
+
|
|
822
|
+
/**
|
|
823
|
+
* Helper: Split and KEM-wrap shares for threshold policy (§6.3)
|
|
824
|
+
*
|
|
825
|
+
* Combines Shamir splitting with KEM encapsulation.
|
|
826
|
+
* Each share is encrypted to a participant's public key.
|
|
827
|
+
*
|
|
828
|
+
* # Arguments
|
|
829
|
+
* * `secret` - CEK to split and wrap
|
|
830
|
+
* * `threshold` - Minimum shares needed
|
|
831
|
+
* * `recipient_public_keys` - Array of ML-KEM-768 public keys (1184 bytes each)
|
|
832
|
+
*
|
|
833
|
+
* # Returns
|
|
834
|
+
* Array of wrapped shares (each contains KEM ciphertext + encrypted share)
|
|
835
|
+
* @param {Uint8Array} secret
|
|
836
|
+
* @param {number} threshold
|
|
837
|
+
* @param {any} recipient_public_keys
|
|
838
|
+
* @returns {any}
|
|
839
|
+
*/
|
|
840
|
+
exports.shamirSplitAndWrap = function(secret, threshold, recipient_public_keys) {
|
|
841
|
+
try {
|
|
842
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
843
|
+
const ptr0 = passArray8ToWasm0(secret, wasm.__wbindgen_export_0);
|
|
844
|
+
const len0 = WASM_VECTOR_LEN;
|
|
845
|
+
wasm.shamirSplitAndWrap(retptr, ptr0, len0, threshold, addHeapObject(recipient_public_keys));
|
|
846
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
847
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
848
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
849
|
+
if (r2) {
|
|
850
|
+
throw takeObject(r1);
|
|
851
|
+
}
|
|
852
|
+
return takeObject(r0);
|
|
853
|
+
} finally {
|
|
854
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
855
|
+
}
|
|
856
|
+
};
|
|
857
|
+
|
|
858
|
+
/**
|
|
859
|
+
* Helper: Unwrap and reconstruct from KEM-wrapped shares
|
|
860
|
+
*
|
|
861
|
+
* # Arguments
|
|
862
|
+
* * `wrapped_shares` - Array of wrapped shares
|
|
863
|
+
* * `secret_keys` - Array of ML-KEM-768 secret keys (2400 bytes each)
|
|
864
|
+
*
|
|
865
|
+
* # Returns
|
|
866
|
+
* Reconstructed secret (if threshold met)
|
|
867
|
+
* @param {any} wrapped_shares
|
|
868
|
+
* @param {any} secret_keys
|
|
869
|
+
* @returns {Uint8Array}
|
|
870
|
+
*/
|
|
871
|
+
exports.shamirUnwrapAndReconstruct = function(wrapped_shares, secret_keys) {
|
|
872
|
+
try {
|
|
873
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
874
|
+
wasm.shamirUnwrapAndReconstruct(retptr, addHeapObject(wrapped_shares), addHeapObject(secret_keys));
|
|
875
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
876
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
877
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
878
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
879
|
+
if (r3) {
|
|
880
|
+
throw takeObject(r2);
|
|
881
|
+
}
|
|
882
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
883
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
884
|
+
return v1;
|
|
885
|
+
} finally {
|
|
886
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
887
|
+
}
|
|
888
|
+
};
|
|
889
|
+
|
|
890
|
+
/**
|
|
891
|
+
* Generate random bytes using cryptographically secure RNG
|
|
892
|
+
*
|
|
893
|
+
* # Arguments
|
|
894
|
+
* * `length` - Number of random bytes to generate
|
|
895
|
+
*
|
|
896
|
+
* # Returns
|
|
897
|
+
* Cryptographically random bytes
|
|
898
|
+
* @param {number} length
|
|
899
|
+
* @returns {Uint8Array}
|
|
900
|
+
*/
|
|
901
|
+
exports.randomBytes = function(length) {
|
|
902
|
+
try {
|
|
903
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
904
|
+
wasm.randomBytes(retptr, length);
|
|
905
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
906
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
907
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
908
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
909
|
+
return v1;
|
|
910
|
+
} finally {
|
|
911
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
912
|
+
}
|
|
913
|
+
};
|
|
914
|
+
|
|
915
|
+
/**
|
|
916
|
+
* Generate a random 32-byte CEK (Content Encryption Key)
|
|
917
|
+
*
|
|
918
|
+
* # Returns
|
|
919
|
+
* 32-byte random CEK
|
|
920
|
+
* @returns {Uint8Array}
|
|
921
|
+
*/
|
|
922
|
+
exports.generateCek = function() {
|
|
923
|
+
try {
|
|
924
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
925
|
+
wasm.generateCek(retptr);
|
|
926
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
927
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
928
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
929
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
930
|
+
return v1;
|
|
931
|
+
} finally {
|
|
932
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
933
|
+
}
|
|
934
|
+
};
|
|
935
|
+
|
|
936
|
+
/**
|
|
937
|
+
* Generate random nonce for AES-GCM (12 bytes)
|
|
938
|
+
*
|
|
939
|
+
* # Returns
|
|
940
|
+
* 12-byte random nonce
|
|
941
|
+
* @returns {Uint8Array}
|
|
942
|
+
*/
|
|
943
|
+
exports.generateNonceAesGcm = function() {
|
|
944
|
+
try {
|
|
945
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
946
|
+
wasm.generateNonceAesGcm(retptr);
|
|
947
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
948
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
949
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
950
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
951
|
+
return v1;
|
|
952
|
+
} finally {
|
|
953
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
954
|
+
}
|
|
955
|
+
};
|
|
956
|
+
|
|
957
|
+
/**
|
|
958
|
+
* Generate random nonce for XChaCha20-Poly1305 (24 bytes)
|
|
959
|
+
*
|
|
960
|
+
* # Returns
|
|
961
|
+
* 24-byte random nonce
|
|
962
|
+
* @returns {Uint8Array}
|
|
963
|
+
*/
|
|
964
|
+
exports.generateNonceXchacha = function() {
|
|
965
|
+
try {
|
|
966
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
967
|
+
wasm.generateNonceXchacha(retptr);
|
|
968
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
969
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
970
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
971
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
972
|
+
return v1;
|
|
973
|
+
} finally {
|
|
974
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
975
|
+
}
|
|
976
|
+
};
|
|
977
|
+
|
|
978
|
+
/**
|
|
979
|
+
* Compute key commitment: HMAC-SHA256(CEK, "kcmp:v1") (§5.1)
|
|
980
|
+
*
|
|
981
|
+
* Key commitment ensures the CEK is bound to the ciphertext and prevents
|
|
982
|
+
* key substitution attacks.
|
|
983
|
+
*
|
|
984
|
+
* # Arguments
|
|
985
|
+
* * `cek` - Content Encryption Key
|
|
986
|
+
*
|
|
987
|
+
* # Returns
|
|
988
|
+
* 32-byte key commitment value
|
|
989
|
+
* @param {Uint8Array} cek
|
|
990
|
+
* @returns {Uint8Array}
|
|
991
|
+
*/
|
|
992
|
+
exports.keyCommitment = function(cek) {
|
|
993
|
+
try {
|
|
994
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
995
|
+
const ptr0 = passArray8ToWasm0(cek, wasm.__wbindgen_export_0);
|
|
996
|
+
const len0 = WASM_VECTOR_LEN;
|
|
997
|
+
wasm.keyCommitment(retptr, ptr0, len0);
|
|
998
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
999
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1000
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1001
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1002
|
+
return v2;
|
|
1003
|
+
} finally {
|
|
1004
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1005
|
+
}
|
|
1006
|
+
};
|
|
1007
|
+
|
|
1008
|
+
/**
|
|
1009
|
+
* Verify key commitment
|
|
1010
|
+
*
|
|
1011
|
+
* # Arguments
|
|
1012
|
+
* * `cek` - Content Encryption Key
|
|
1013
|
+
* * `expected_kcmp` - Expected commitment value
|
|
1014
|
+
*
|
|
1015
|
+
* # Returns
|
|
1016
|
+
* true if commitment matches
|
|
1017
|
+
* @param {Uint8Array} cek
|
|
1018
|
+
* @param {Uint8Array} expected_kcmp
|
|
1019
|
+
* @returns {boolean}
|
|
1020
|
+
*/
|
|
1021
|
+
exports.verifyKeyCommitment = function(cek, expected_kcmp) {
|
|
1022
|
+
const ptr0 = passArray8ToWasm0(cek, wasm.__wbindgen_export_0);
|
|
1023
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1024
|
+
const ptr1 = passArray8ToWasm0(expected_kcmp, wasm.__wbindgen_export_0);
|
|
1025
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1026
|
+
const ret = wasm.verifyKeyCommitment(ptr0, len0, ptr1, len1);
|
|
1027
|
+
return ret !== 0;
|
|
1028
|
+
};
|
|
1029
|
+
|
|
1030
|
+
/**
|
|
1031
|
+
* Compute SHA-256 hash
|
|
1032
|
+
*
|
|
1033
|
+
* # Arguments
|
|
1034
|
+
* * `data` - Data to hash
|
|
1035
|
+
*
|
|
1036
|
+
* # Returns
|
|
1037
|
+
* 32-byte SHA-256 digest
|
|
1038
|
+
* @param {Uint8Array} data
|
|
1039
|
+
* @returns {Uint8Array}
|
|
1040
|
+
*/
|
|
1041
|
+
exports.sha256 = function(data) {
|
|
1042
|
+
try {
|
|
1043
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1044
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
|
|
1045
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1046
|
+
wasm.sha256(retptr, ptr0, len0);
|
|
1047
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1048
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1049
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1050
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1051
|
+
return v2;
|
|
1052
|
+
} finally {
|
|
1053
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1054
|
+
}
|
|
1055
|
+
};
|
|
1056
|
+
|
|
1057
|
+
/**
|
|
1058
|
+
* Compute BLAKE2s-256 hash
|
|
1059
|
+
*
|
|
1060
|
+
* # Arguments
|
|
1061
|
+
* * `data` - Data to hash
|
|
1062
|
+
*
|
|
1063
|
+
* # Returns
|
|
1064
|
+
* 32-byte BLAKE2s-256 digest
|
|
1065
|
+
* @param {Uint8Array} data
|
|
1066
|
+
* @returns {Uint8Array}
|
|
1067
|
+
*/
|
|
1068
|
+
exports.blake2s256 = function(data) {
|
|
1069
|
+
try {
|
|
1070
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1071
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
|
|
1072
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1073
|
+
wasm.blake2s256(retptr, ptr0, len0);
|
|
1074
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1075
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1076
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1077
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1078
|
+
return v2;
|
|
1079
|
+
} finally {
|
|
1080
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1081
|
+
}
|
|
1082
|
+
};
|
|
1083
|
+
|
|
1084
|
+
/**
|
|
1085
|
+
* Compute summary hash for WYSIWYS (What You See Is What You Sign)
|
|
1086
|
+
*
|
|
1087
|
+
* Summary = BLAKE2s-256(digest)[..16]
|
|
1088
|
+
*
|
|
1089
|
+
* # Arguments
|
|
1090
|
+
* * `digest` - Transaction or document digest
|
|
1091
|
+
*
|
|
1092
|
+
* # Returns
|
|
1093
|
+
* 16-byte summary hash (fingerprint)
|
|
1094
|
+
* @param {Uint8Array} digest
|
|
1095
|
+
* @returns {Uint8Array}
|
|
1096
|
+
*/
|
|
1097
|
+
exports.computeSummary = function(digest) {
|
|
1098
|
+
try {
|
|
1099
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1100
|
+
const ptr0 = passArray8ToWasm0(digest, wasm.__wbindgen_export_0);
|
|
1101
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1102
|
+
wasm.computeSummary(retptr, ptr0, len0);
|
|
1103
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1104
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1105
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1106
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1107
|
+
return v2;
|
|
1108
|
+
} finally {
|
|
1109
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1110
|
+
}
|
|
1111
|
+
};
|
|
1112
|
+
|
|
1113
|
+
/**
|
|
1114
|
+
* Constant-time equality comparison
|
|
1115
|
+
*
|
|
1116
|
+
* # Arguments
|
|
1117
|
+
* * `a` - First byte array
|
|
1118
|
+
* * `b` - Second byte array
|
|
1119
|
+
*
|
|
1120
|
+
* # Returns
|
|
1121
|
+
* true if arrays are equal (constant-time)
|
|
1122
|
+
* @param {Uint8Array} a
|
|
1123
|
+
* @param {Uint8Array} b
|
|
1124
|
+
* @returns {boolean}
|
|
1125
|
+
*/
|
|
1126
|
+
exports.constantTimeEq = function(a, b) {
|
|
1127
|
+
const ptr0 = passArray8ToWasm0(a, wasm.__wbindgen_export_0);
|
|
1128
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1129
|
+
const ptr1 = passArray8ToWasm0(b, wasm.__wbindgen_export_0);
|
|
1130
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1131
|
+
const ret = wasm.constantTimeEq(ptr0, len0, ptr1, len1);
|
|
1132
|
+
return ret !== 0;
|
|
1133
|
+
};
|
|
1134
|
+
|
|
1135
|
+
/**
|
|
1136
|
+
* Encode bytes to base64url (no padding)
|
|
1137
|
+
*
|
|
1138
|
+
* # Arguments
|
|
1139
|
+
* * `data` - Bytes to encode
|
|
1140
|
+
*
|
|
1141
|
+
* # Returns
|
|
1142
|
+
* Base64url-encoded string
|
|
1143
|
+
* @param {Uint8Array} data
|
|
1144
|
+
* @returns {string}
|
|
1145
|
+
*/
|
|
1146
|
+
exports.toBase64Url = function(data) {
|
|
1147
|
+
let deferred2_0;
|
|
1148
|
+
let deferred2_1;
|
|
1149
|
+
try {
|
|
1150
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1151
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
|
|
1152
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1153
|
+
wasm.toBase64Url(retptr, ptr0, len0);
|
|
1154
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1155
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1156
|
+
deferred2_0 = r0;
|
|
1157
|
+
deferred2_1 = r1;
|
|
1158
|
+
return getStringFromWasm0(r0, r1);
|
|
1159
|
+
} finally {
|
|
1160
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1161
|
+
wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);
|
|
1162
|
+
}
|
|
1163
|
+
};
|
|
1164
|
+
|
|
1165
|
+
/**
|
|
1166
|
+
* Decode bytes from base64url
|
|
1167
|
+
*
|
|
1168
|
+
* # Arguments
|
|
1169
|
+
* * `encoded` - Base64url-encoded string
|
|
1170
|
+
*
|
|
1171
|
+
* # Returns
|
|
1172
|
+
* Decoded bytes
|
|
1173
|
+
* @param {string} encoded
|
|
1174
|
+
* @returns {Uint8Array}
|
|
1175
|
+
*/
|
|
1176
|
+
exports.fromBase64Url = function(encoded) {
|
|
1177
|
+
try {
|
|
1178
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1179
|
+
const ptr0 = passStringToWasm0(encoded, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1180
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1181
|
+
wasm.fromBase64Url(retptr, ptr0, len0);
|
|
1182
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1183
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1184
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1185
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1186
|
+
if (r3) {
|
|
1187
|
+
throw takeObject(r2);
|
|
1188
|
+
}
|
|
1189
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1190
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1191
|
+
return v2;
|
|
1192
|
+
} finally {
|
|
1193
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1194
|
+
}
|
|
1195
|
+
};
|
|
1196
|
+
|
|
1197
|
+
/**
|
|
1198
|
+
* Encode bytes to hex string
|
|
1199
|
+
*
|
|
1200
|
+
* # Arguments
|
|
1201
|
+
* * `data` - Bytes to encode
|
|
1202
|
+
*
|
|
1203
|
+
* # Returns
|
|
1204
|
+
* Hex-encoded string
|
|
1205
|
+
* @param {Uint8Array} data
|
|
1206
|
+
* @returns {string}
|
|
1207
|
+
*/
|
|
1208
|
+
exports.toHex = function(data) {
|
|
1209
|
+
let deferred2_0;
|
|
1210
|
+
let deferred2_1;
|
|
1211
|
+
try {
|
|
1212
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1213
|
+
const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
|
|
1214
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1215
|
+
wasm.toHex(retptr, ptr0, len0);
|
|
1216
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1217
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1218
|
+
deferred2_0 = r0;
|
|
1219
|
+
deferred2_1 = r1;
|
|
1220
|
+
return getStringFromWasm0(r0, r1);
|
|
1221
|
+
} finally {
|
|
1222
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1223
|
+
wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);
|
|
1224
|
+
}
|
|
1225
|
+
};
|
|
1226
|
+
|
|
1227
|
+
/**
|
|
1228
|
+
* Decode bytes from hex string
|
|
1229
|
+
*
|
|
1230
|
+
* # Arguments
|
|
1231
|
+
* * `encoded` - Hex-encoded string
|
|
1232
|
+
*
|
|
1233
|
+
* # Returns
|
|
1234
|
+
* Decoded bytes
|
|
1235
|
+
* @param {string} encoded
|
|
1236
|
+
* @returns {Uint8Array}
|
|
1237
|
+
*/
|
|
1238
|
+
exports.fromHex = function(encoded) {
|
|
1239
|
+
try {
|
|
1240
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1241
|
+
const ptr0 = passStringToWasm0(encoded, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1242
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1243
|
+
wasm.fromHex(retptr, ptr0, len0);
|
|
1244
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1245
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1246
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1247
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1248
|
+
if (r3) {
|
|
1249
|
+
throw takeObject(r2);
|
|
1250
|
+
}
|
|
1251
|
+
var v2 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1252
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1253
|
+
return v2;
|
|
1254
|
+
} finally {
|
|
1255
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1256
|
+
}
|
|
1257
|
+
};
|
|
1258
|
+
|
|
1259
|
+
/**
|
|
1260
|
+
* Generate UUID v4
|
|
1261
|
+
*
|
|
1262
|
+
* # Returns
|
|
1263
|
+
* UUID v4 string
|
|
1264
|
+
* @returns {string}
|
|
1265
|
+
*/
|
|
1266
|
+
exports.generateUuid = function() {
|
|
1267
|
+
let deferred1_0;
|
|
1268
|
+
let deferred1_1;
|
|
1269
|
+
try {
|
|
1270
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1271
|
+
wasm.generateUuid(retptr);
|
|
1272
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1273
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1274
|
+
deferred1_0 = r0;
|
|
1275
|
+
deferred1_1 = r1;
|
|
1276
|
+
return getStringFromWasm0(r0, r1);
|
|
1277
|
+
} finally {
|
|
1278
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1279
|
+
wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
|
|
1280
|
+
}
|
|
1281
|
+
};
|
|
1282
|
+
|
|
1283
|
+
/**
|
|
1284
|
+
* Zeroize (securely erase) a byte array
|
|
1285
|
+
*
|
|
1286
|
+
* # Arguments
|
|
1287
|
+
* * `data` - Mutable byte array to zeroize
|
|
1288
|
+
* @param {Uint8Array} data
|
|
1289
|
+
*/
|
|
1290
|
+
exports.zeroize = function(data) {
|
|
1291
|
+
var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);
|
|
1292
|
+
var len0 = WASM_VECTOR_LEN;
|
|
1293
|
+
wasm.zeroize(ptr0, len0, addHeapObject(data));
|
|
1294
|
+
};
|
|
1295
|
+
|
|
1296
|
+
/**
|
|
1297
|
+
* Create canonical AAD (Associated Authenticated Data) for envelope encryption (§5.3)
|
|
1298
|
+
*
|
|
1299
|
+
* AAD includes: {v, suite, aead, docId, vaultId?, epoch, policy.mode}
|
|
1300
|
+
*
|
|
1301
|
+
* # Arguments
|
|
1302
|
+
* * `header_fields` - JSON object with header fields
|
|
1303
|
+
*
|
|
1304
|
+
* # Returns
|
|
1305
|
+
* Canonical JSON bytes for AAD
|
|
1306
|
+
* @param {any} header_fields
|
|
1307
|
+
* @returns {Uint8Array}
|
|
1308
|
+
*/
|
|
1309
|
+
exports.canonicalAad = function(header_fields) {
|
|
1310
|
+
try {
|
|
1311
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1312
|
+
wasm.canonicalAad(retptr, addHeapObject(header_fields));
|
|
1313
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1314
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1315
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1316
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1317
|
+
if (r3) {
|
|
1318
|
+
throw takeObject(r2);
|
|
1319
|
+
}
|
|
1320
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1321
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1322
|
+
return v1;
|
|
1323
|
+
} finally {
|
|
1324
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1325
|
+
}
|
|
1326
|
+
};
|
|
1327
|
+
|
|
1328
|
+
/**
|
|
1329
|
+
* Build context string for key derivation (§10.2)
|
|
1330
|
+
*
|
|
1331
|
+
* Format: "doc:{docId}:epoch:{epoch}"
|
|
1332
|
+
*
|
|
1333
|
+
* # Arguments
|
|
1334
|
+
* * `doc_id` - Document ID
|
|
1335
|
+
* * `epoch` - Epoch number
|
|
1336
|
+
*
|
|
1337
|
+
* # Returns
|
|
1338
|
+
* Context string
|
|
1339
|
+
* @param {string} doc_id
|
|
1340
|
+
* @param {number} epoch
|
|
1341
|
+
* @returns {string}
|
|
1342
|
+
*/
|
|
1343
|
+
exports.buildContext = function(doc_id, epoch) {
|
|
1344
|
+
let deferred2_0;
|
|
1345
|
+
let deferred2_1;
|
|
1346
|
+
try {
|
|
1347
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1348
|
+
const ptr0 = passStringToWasm0(doc_id, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1349
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1350
|
+
wasm.buildContext(retptr, ptr0, len0, epoch);
|
|
1351
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1352
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1353
|
+
deferred2_0 = r0;
|
|
1354
|
+
deferred2_1 = r1;
|
|
1355
|
+
return getStringFromWasm0(r0, r1);
|
|
1356
|
+
} finally {
|
|
1357
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1358
|
+
wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);
|
|
1359
|
+
}
|
|
1360
|
+
};
|
|
1361
|
+
|
|
1362
|
+
/**
|
|
1363
|
+
* Initialize panic hook for better error messages in WASM
|
|
1364
|
+
*/
|
|
1365
|
+
exports.init = function() {
|
|
1366
|
+
wasm.init();
|
|
1367
|
+
};
|
|
1368
|
+
|
|
1369
|
+
/**
|
|
1370
|
+
* Get version info
|
|
1371
|
+
* @returns {string}
|
|
1372
|
+
*/
|
|
1373
|
+
exports.version = function() {
|
|
1374
|
+
let deferred1_0;
|
|
1375
|
+
let deferred1_1;
|
|
1376
|
+
try {
|
|
1377
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1378
|
+
wasm.version(retptr);
|
|
1379
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1380
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1381
|
+
deferred1_0 = r0;
|
|
1382
|
+
deferred1_1 = r1;
|
|
1383
|
+
return getStringFromWasm0(r0, r1);
|
|
1384
|
+
} finally {
|
|
1385
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1386
|
+
wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
|
|
1387
|
+
}
|
|
1388
|
+
};
|
|
1389
|
+
|
|
1390
|
+
const AeadResultFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1391
|
+
? { register: () => {}, unregister: () => {} }
|
|
1392
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_aeadresult_free(ptr >>> 0, 1));
|
|
1393
|
+
/**
|
|
1394
|
+
* AEAD encryption result
|
|
1395
|
+
*/
|
|
1396
|
+
class AeadResult {
|
|
1397
|
+
|
|
1398
|
+
static __wrap(ptr) {
|
|
1399
|
+
ptr = ptr >>> 0;
|
|
1400
|
+
const obj = Object.create(AeadResult.prototype);
|
|
1401
|
+
obj.__wbg_ptr = ptr;
|
|
1402
|
+
AeadResultFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
1403
|
+
return obj;
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
__destroy_into_raw() {
|
|
1407
|
+
const ptr = this.__wbg_ptr;
|
|
1408
|
+
this.__wbg_ptr = 0;
|
|
1409
|
+
AeadResultFinalization.unregister(this);
|
|
1410
|
+
return ptr;
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
free() {
|
|
1414
|
+
const ptr = this.__destroy_into_raw();
|
|
1415
|
+
wasm.__wbg_aeadresult_free(ptr, 0);
|
|
1416
|
+
}
|
|
1417
|
+
/**
|
|
1418
|
+
* Get ciphertext as bytes
|
|
1419
|
+
* @returns {Uint8Array}
|
|
1420
|
+
*/
|
|
1421
|
+
get ciphertext() {
|
|
1422
|
+
try {
|
|
1423
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1424
|
+
wasm.aeadresult_ciphertext(retptr, this.__wbg_ptr);
|
|
1425
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1426
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1427
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1428
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1429
|
+
return v1;
|
|
1430
|
+
} finally {
|
|
1431
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1432
|
+
}
|
|
1433
|
+
}
|
|
1434
|
+
/**
|
|
1435
|
+
* Get ciphertext as base64url
|
|
1436
|
+
* @returns {string}
|
|
1437
|
+
*/
|
|
1438
|
+
toBase64Url() {
|
|
1439
|
+
let deferred1_0;
|
|
1440
|
+
let deferred1_1;
|
|
1441
|
+
try {
|
|
1442
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1443
|
+
wasm.aeadresult_toBase64Url(retptr, this.__wbg_ptr);
|
|
1444
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1445
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1446
|
+
deferred1_0 = r0;
|
|
1447
|
+
deferred1_1 = r1;
|
|
1448
|
+
return getStringFromWasm0(r0, r1);
|
|
1449
|
+
} finally {
|
|
1450
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1451
|
+
wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
if (Symbol.dispose) AeadResult.prototype[Symbol.dispose] = AeadResult.prototype.free;
|
|
1456
|
+
|
|
1457
|
+
exports.AeadResult = AeadResult;
|
|
1458
|
+
|
|
1459
|
+
const KemEncapResultFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1460
|
+
? { register: () => {}, unregister: () => {} }
|
|
1461
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_kemencapresult_free(ptr >>> 0, 1));
|
|
1462
|
+
/**
|
|
1463
|
+
* KEM encapsulation result (shared secret + ciphertext)
|
|
1464
|
+
*/
|
|
1465
|
+
class KemEncapResult {
|
|
1466
|
+
|
|
1467
|
+
static __wrap(ptr) {
|
|
1468
|
+
ptr = ptr >>> 0;
|
|
1469
|
+
const obj = Object.create(KemEncapResult.prototype);
|
|
1470
|
+
obj.__wbg_ptr = ptr;
|
|
1471
|
+
KemEncapResultFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
1472
|
+
return obj;
|
|
1473
|
+
}
|
|
1474
|
+
|
|
1475
|
+
__destroy_into_raw() {
|
|
1476
|
+
const ptr = this.__wbg_ptr;
|
|
1477
|
+
this.__wbg_ptr = 0;
|
|
1478
|
+
KemEncapResultFinalization.unregister(this);
|
|
1479
|
+
return ptr;
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
free() {
|
|
1483
|
+
const ptr = this.__destroy_into_raw();
|
|
1484
|
+
wasm.__wbg_kemencapresult_free(ptr, 0);
|
|
1485
|
+
}
|
|
1486
|
+
/**
|
|
1487
|
+
* Get shared secret (32 bytes)
|
|
1488
|
+
* @returns {Uint8Array}
|
|
1489
|
+
*/
|
|
1490
|
+
get sharedSecret() {
|
|
1491
|
+
try {
|
|
1492
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1493
|
+
wasm.kemencapresult_sharedSecret(retptr, this.__wbg_ptr);
|
|
1494
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1495
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1496
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1497
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1498
|
+
return v1;
|
|
1499
|
+
} finally {
|
|
1500
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1501
|
+
}
|
|
1502
|
+
}
|
|
1503
|
+
/**
|
|
1504
|
+
* Get ciphertext (to send to recipient)
|
|
1505
|
+
* @returns {Uint8Array}
|
|
1506
|
+
*/
|
|
1507
|
+
get ciphertext() {
|
|
1508
|
+
try {
|
|
1509
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1510
|
+
wasm.kemencapresult_ciphertext(retptr, this.__wbg_ptr);
|
|
1511
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1512
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1513
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1514
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1515
|
+
return v1;
|
|
1516
|
+
} finally {
|
|
1517
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1520
|
+
/**
|
|
1521
|
+
* Get ciphertext as base64url
|
|
1522
|
+
* @returns {string}
|
|
1523
|
+
*/
|
|
1524
|
+
ciphertextBase64() {
|
|
1525
|
+
let deferred1_0;
|
|
1526
|
+
let deferred1_1;
|
|
1527
|
+
try {
|
|
1528
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1529
|
+
wasm.kemencapresult_ciphertextBase64(retptr, this.__wbg_ptr);
|
|
1530
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1531
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1532
|
+
deferred1_0 = r0;
|
|
1533
|
+
deferred1_1 = r1;
|
|
1534
|
+
return getStringFromWasm0(r0, r1);
|
|
1535
|
+
} finally {
|
|
1536
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1537
|
+
wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
|
|
1538
|
+
}
|
|
1539
|
+
}
|
|
1540
|
+
}
|
|
1541
|
+
if (Symbol.dispose) KemEncapResult.prototype[Symbol.dispose] = KemEncapResult.prototype.free;
|
|
1542
|
+
|
|
1543
|
+
exports.KemEncapResult = KemEncapResult;
|
|
1544
|
+
|
|
1545
|
+
const KemKeypairFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1546
|
+
? { register: () => {}, unregister: () => {} }
|
|
1547
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_kemkeypair_free(ptr >>> 0, 1));
|
|
1548
|
+
/**
|
|
1549
|
+
* ML-KEM-768 keypair
|
|
1550
|
+
*/
|
|
1551
|
+
class KemKeypair {
|
|
1552
|
+
|
|
1553
|
+
static __wrap(ptr) {
|
|
1554
|
+
ptr = ptr >>> 0;
|
|
1555
|
+
const obj = Object.create(KemKeypair.prototype);
|
|
1556
|
+
obj.__wbg_ptr = ptr;
|
|
1557
|
+
KemKeypairFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
1558
|
+
return obj;
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
__destroy_into_raw() {
|
|
1562
|
+
const ptr = this.__wbg_ptr;
|
|
1563
|
+
this.__wbg_ptr = 0;
|
|
1564
|
+
KemKeypairFinalization.unregister(this);
|
|
1565
|
+
return ptr;
|
|
1566
|
+
}
|
|
1567
|
+
|
|
1568
|
+
free() {
|
|
1569
|
+
const ptr = this.__destroy_into_raw();
|
|
1570
|
+
wasm.__wbg_kemkeypair_free(ptr, 0);
|
|
1571
|
+
}
|
|
1572
|
+
/**
|
|
1573
|
+
* Get public key bytes
|
|
1574
|
+
* @returns {Uint8Array}
|
|
1575
|
+
*/
|
|
1576
|
+
get publicKey() {
|
|
1577
|
+
try {
|
|
1578
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1579
|
+
wasm.kemkeypair_publicKey(retptr, this.__wbg_ptr);
|
|
1580
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1581
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1582
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1583
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1584
|
+
return v1;
|
|
1585
|
+
} finally {
|
|
1586
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
/**
|
|
1590
|
+
* Get secret key bytes
|
|
1591
|
+
* @returns {Uint8Array}
|
|
1592
|
+
*/
|
|
1593
|
+
get secretKey() {
|
|
1594
|
+
try {
|
|
1595
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1596
|
+
wasm.kemkeypair_secretKey(retptr, this.__wbg_ptr);
|
|
1597
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1598
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1599
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1600
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1601
|
+
return v1;
|
|
1602
|
+
} finally {
|
|
1603
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1604
|
+
}
|
|
1605
|
+
}
|
|
1606
|
+
/**
|
|
1607
|
+
* Get public key as base64url
|
|
1608
|
+
* @returns {string}
|
|
1609
|
+
*/
|
|
1610
|
+
publicKeyBase64() {
|
|
1611
|
+
let deferred1_0;
|
|
1612
|
+
let deferred1_1;
|
|
1613
|
+
try {
|
|
1614
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1615
|
+
wasm.kemkeypair_publicKeyBase64(retptr, this.__wbg_ptr);
|
|
1616
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1617
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1618
|
+
deferred1_0 = r0;
|
|
1619
|
+
deferred1_1 = r1;
|
|
1620
|
+
return getStringFromWasm0(r0, r1);
|
|
1621
|
+
} finally {
|
|
1622
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1623
|
+
wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
|
|
1624
|
+
}
|
|
1625
|
+
}
|
|
1626
|
+
/**
|
|
1627
|
+
* Get secret key as base64url
|
|
1628
|
+
* @returns {string}
|
|
1629
|
+
*/
|
|
1630
|
+
secretKeyBase64() {
|
|
1631
|
+
let deferred1_0;
|
|
1632
|
+
let deferred1_1;
|
|
1633
|
+
try {
|
|
1634
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1635
|
+
wasm.kemkeypair_secretKeyBase64(retptr, this.__wbg_ptr);
|
|
1636
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1637
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1638
|
+
deferred1_0 = r0;
|
|
1639
|
+
deferred1_1 = r1;
|
|
1640
|
+
return getStringFromWasm0(r0, r1);
|
|
1641
|
+
} finally {
|
|
1642
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1643
|
+
wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
|
|
1644
|
+
}
|
|
1645
|
+
}
|
|
1646
|
+
}
|
|
1647
|
+
if (Symbol.dispose) KemKeypair.prototype[Symbol.dispose] = KemKeypair.prototype.free;
|
|
1648
|
+
|
|
1649
|
+
exports.KemKeypair = KemKeypair;
|
|
1650
|
+
|
|
1651
|
+
const SecretShareFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
1652
|
+
? { register: () => {}, unregister: () => {} }
|
|
1653
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_secretshare_free(ptr >>> 0, 1));
|
|
1654
|
+
/**
|
|
1655
|
+
* A Shamir secret share
|
|
1656
|
+
*/
|
|
1657
|
+
class SecretShare {
|
|
1658
|
+
|
|
1659
|
+
static __wrap(ptr) {
|
|
1660
|
+
ptr = ptr >>> 0;
|
|
1661
|
+
const obj = Object.create(SecretShare.prototype);
|
|
1662
|
+
obj.__wbg_ptr = ptr;
|
|
1663
|
+
SecretShareFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
1664
|
+
return obj;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
__destroy_into_raw() {
|
|
1668
|
+
const ptr = this.__wbg_ptr;
|
|
1669
|
+
this.__wbg_ptr = 0;
|
|
1670
|
+
SecretShareFinalization.unregister(this);
|
|
1671
|
+
return ptr;
|
|
1672
|
+
}
|
|
1673
|
+
|
|
1674
|
+
free() {
|
|
1675
|
+
const ptr = this.__destroy_into_raw();
|
|
1676
|
+
wasm.__wbg_secretshare_free(ptr, 0);
|
|
1677
|
+
}
|
|
1678
|
+
/**
|
|
1679
|
+
* Get share identifier
|
|
1680
|
+
* @returns {number}
|
|
1681
|
+
*/
|
|
1682
|
+
get identifier() {
|
|
1683
|
+
const ret = wasm.secretshare_identifier(this.__wbg_ptr);
|
|
1684
|
+
return ret;
|
|
1685
|
+
}
|
|
1686
|
+
/**
|
|
1687
|
+
* Get share value as bytes
|
|
1688
|
+
* @returns {Uint8Array}
|
|
1689
|
+
*/
|
|
1690
|
+
get value() {
|
|
1691
|
+
try {
|
|
1692
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1693
|
+
wasm.secretshare_value(retptr, this.__wbg_ptr);
|
|
1694
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1695
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1696
|
+
var v1 = getArrayU8FromWasm0(r0, r1).slice();
|
|
1697
|
+
wasm.__wbindgen_export_3(r0, r1 * 1, 1);
|
|
1698
|
+
return v1;
|
|
1699
|
+
} finally {
|
|
1700
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1701
|
+
}
|
|
1702
|
+
}
|
|
1703
|
+
/**
|
|
1704
|
+
* Serialize share to JSON
|
|
1705
|
+
* @returns {string}
|
|
1706
|
+
*/
|
|
1707
|
+
toJson() {
|
|
1708
|
+
let deferred2_0;
|
|
1709
|
+
let deferred2_1;
|
|
1710
|
+
try {
|
|
1711
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1712
|
+
wasm.secretshare_toJson(retptr, this.__wbg_ptr);
|
|
1713
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1714
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1715
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1716
|
+
var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
|
|
1717
|
+
var ptr1 = r0;
|
|
1718
|
+
var len1 = r1;
|
|
1719
|
+
if (r3) {
|
|
1720
|
+
ptr1 = 0; len1 = 0;
|
|
1721
|
+
throw takeObject(r2);
|
|
1722
|
+
}
|
|
1723
|
+
deferred2_0 = ptr1;
|
|
1724
|
+
deferred2_1 = len1;
|
|
1725
|
+
return getStringFromWasm0(ptr1, len1);
|
|
1726
|
+
} finally {
|
|
1727
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1728
|
+
wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);
|
|
1729
|
+
}
|
|
1730
|
+
}
|
|
1731
|
+
/**
|
|
1732
|
+
* Deserialize share from JSON
|
|
1733
|
+
* @param {string} json
|
|
1734
|
+
* @returns {SecretShare}
|
|
1735
|
+
*/
|
|
1736
|
+
static fromJson(json) {
|
|
1737
|
+
try {
|
|
1738
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1739
|
+
const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1740
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1741
|
+
wasm.secretshare_fromJson(retptr, ptr0, len0);
|
|
1742
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1743
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1744
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1745
|
+
if (r2) {
|
|
1746
|
+
throw takeObject(r1);
|
|
1747
|
+
}
|
|
1748
|
+
return SecretShare.__wrap(r0);
|
|
1749
|
+
} finally {
|
|
1750
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
/**
|
|
1754
|
+
* Get share as base64url
|
|
1755
|
+
* @returns {string}
|
|
1756
|
+
*/
|
|
1757
|
+
toBase64() {
|
|
1758
|
+
let deferred1_0;
|
|
1759
|
+
let deferred1_1;
|
|
1760
|
+
try {
|
|
1761
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1762
|
+
wasm.secretshare_toBase64(retptr, this.__wbg_ptr);
|
|
1763
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1764
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1765
|
+
deferred1_0 = r0;
|
|
1766
|
+
deferred1_1 = r1;
|
|
1767
|
+
return getStringFromWasm0(r0, r1);
|
|
1768
|
+
} finally {
|
|
1769
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1770
|
+
wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
|
|
1771
|
+
}
|
|
1772
|
+
}
|
|
1773
|
+
/**
|
|
1774
|
+
* Deserialize share from base64url
|
|
1775
|
+
* @param {string} b64
|
|
1776
|
+
* @returns {SecretShare}
|
|
1777
|
+
*/
|
|
1778
|
+
static fromBase64(b64) {
|
|
1779
|
+
try {
|
|
1780
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1781
|
+
const ptr0 = passStringToWasm0(b64, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1782
|
+
const len0 = WASM_VECTOR_LEN;
|
|
1783
|
+
wasm.secretshare_fromBase64(retptr, ptr0, len0);
|
|
1784
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1785
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1786
|
+
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
1787
|
+
if (r2) {
|
|
1788
|
+
throw takeObject(r1);
|
|
1789
|
+
}
|
|
1790
|
+
return SecretShare.__wrap(r0);
|
|
1791
|
+
} finally {
|
|
1792
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
1793
|
+
}
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1796
|
+
if (Symbol.dispose) SecretShare.prototype[Symbol.dispose] = SecretShare.prototype.free;
|
|
1797
|
+
|
|
1798
|
+
exports.SecretShare = SecretShare;
|
|
1799
|
+
|
|
1800
|
+
exports.__wbg_Error_e17e777aac105295 = function(arg0, arg1) {
|
|
1801
|
+
const ret = Error(getStringFromWasm0(arg0, arg1));
|
|
1802
|
+
return addHeapObject(ret);
|
|
1803
|
+
};
|
|
1804
|
+
|
|
1805
|
+
exports.__wbg_Number_998bea33bd87c3e0 = function(arg0) {
|
|
1806
|
+
const ret = Number(getObject(arg0));
|
|
1807
|
+
return ret;
|
|
1808
|
+
};
|
|
1809
|
+
|
|
1810
|
+
exports.__wbg_String_8f0eb39a4a4c2f66 = function(arg0, arg1) {
|
|
1811
|
+
const ret = String(getObject(arg1));
|
|
1812
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1813
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1814
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
1815
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
1816
|
+
};
|
|
1817
|
+
|
|
1818
|
+
exports.__wbg_call_13410aac570ffff7 = function() { return handleError(function (arg0, arg1) {
|
|
1819
|
+
const ret = getObject(arg0).call(getObject(arg1));
|
|
1820
|
+
return addHeapObject(ret);
|
|
1821
|
+
}, arguments) };
|
|
1822
|
+
|
|
1823
|
+
exports.__wbg_call_a5400b25a865cfd8 = function() { return handleError(function (arg0, arg1, arg2) {
|
|
1824
|
+
const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
|
|
1825
|
+
return addHeapObject(ret);
|
|
1826
|
+
}, arguments) };
|
|
1827
|
+
|
|
1828
|
+
exports.__wbg_crypto_574e78ad8b13b65f = function(arg0) {
|
|
1829
|
+
const ret = getObject(arg0).crypto;
|
|
1830
|
+
return addHeapObject(ret);
|
|
1831
|
+
};
|
|
1832
|
+
|
|
1833
|
+
exports.__wbg_done_75ed0ee6dd243d9d = function(arg0) {
|
|
1834
|
+
const ret = getObject(arg0).done;
|
|
1835
|
+
return ret;
|
|
1836
|
+
};
|
|
1837
|
+
|
|
1838
|
+
exports.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {
|
|
1839
|
+
let deferred0_0;
|
|
1840
|
+
let deferred0_1;
|
|
1841
|
+
try {
|
|
1842
|
+
deferred0_0 = arg0;
|
|
1843
|
+
deferred0_1 = arg1;
|
|
1844
|
+
console.error(getStringFromWasm0(arg0, arg1));
|
|
1845
|
+
} finally {
|
|
1846
|
+
wasm.__wbindgen_export_3(deferred0_0, deferred0_1, 1);
|
|
1847
|
+
}
|
|
1848
|
+
};
|
|
1849
|
+
|
|
1850
|
+
exports.__wbg_getRandomValues_b8f5dbd5f3995a9e = function() { return handleError(function (arg0, arg1) {
|
|
1851
|
+
getObject(arg0).getRandomValues(getObject(arg1));
|
|
1852
|
+
}, arguments) };
|
|
1853
|
+
|
|
1854
|
+
exports.__wbg_get_0da715ceaecea5c8 = function(arg0, arg1) {
|
|
1855
|
+
const ret = getObject(arg0)[arg1 >>> 0];
|
|
1856
|
+
return addHeapObject(ret);
|
|
1857
|
+
};
|
|
1858
|
+
|
|
1859
|
+
exports.__wbg_get_458e874b43b18b25 = function() { return handleError(function (arg0, arg1) {
|
|
1860
|
+
const ret = Reflect.get(getObject(arg0), getObject(arg1));
|
|
1861
|
+
return addHeapObject(ret);
|
|
1862
|
+
}, arguments) };
|
|
1863
|
+
|
|
1864
|
+
exports.__wbg_getwithrefkey_1dc361bd10053bfe = function(arg0, arg1) {
|
|
1865
|
+
const ret = getObject(arg0)[getObject(arg1)];
|
|
1866
|
+
return addHeapObject(ret);
|
|
1867
|
+
};
|
|
1868
|
+
|
|
1869
|
+
exports.__wbg_instanceof_ArrayBuffer_67f3012529f6a2dd = function(arg0) {
|
|
1870
|
+
let result;
|
|
1871
|
+
try {
|
|
1872
|
+
result = getObject(arg0) instanceof ArrayBuffer;
|
|
1873
|
+
} catch (_) {
|
|
1874
|
+
result = false;
|
|
1875
|
+
}
|
|
1876
|
+
const ret = result;
|
|
1877
|
+
return ret;
|
|
1878
|
+
};
|
|
1879
|
+
|
|
1880
|
+
exports.__wbg_instanceof_Uint8Array_9a8378d955933db7 = function(arg0) {
|
|
1881
|
+
let result;
|
|
1882
|
+
try {
|
|
1883
|
+
result = getObject(arg0) instanceof Uint8Array;
|
|
1884
|
+
} catch (_) {
|
|
1885
|
+
result = false;
|
|
1886
|
+
}
|
|
1887
|
+
const ret = result;
|
|
1888
|
+
return ret;
|
|
1889
|
+
};
|
|
1890
|
+
|
|
1891
|
+
exports.__wbg_isArray_030cce220591fb41 = function(arg0) {
|
|
1892
|
+
const ret = Array.isArray(getObject(arg0));
|
|
1893
|
+
return ret;
|
|
1894
|
+
};
|
|
1895
|
+
|
|
1896
|
+
exports.__wbg_isSafeInteger_1c0d1af5542e102a = function(arg0) {
|
|
1897
|
+
const ret = Number.isSafeInteger(getObject(arg0));
|
|
1898
|
+
return ret;
|
|
1899
|
+
};
|
|
1900
|
+
|
|
1901
|
+
exports.__wbg_iterator_f370b34483c71a1c = function() {
|
|
1902
|
+
const ret = Symbol.iterator;
|
|
1903
|
+
return addHeapObject(ret);
|
|
1904
|
+
};
|
|
1905
|
+
|
|
1906
|
+
exports.__wbg_length_186546c51cd61acd = function(arg0) {
|
|
1907
|
+
const ret = getObject(arg0).length;
|
|
1908
|
+
return ret;
|
|
1909
|
+
};
|
|
1910
|
+
|
|
1911
|
+
exports.__wbg_length_6bb7e81f9d7713e4 = function(arg0) {
|
|
1912
|
+
const ret = getObject(arg0).length;
|
|
1913
|
+
return ret;
|
|
1914
|
+
};
|
|
1915
|
+
|
|
1916
|
+
exports.__wbg_msCrypto_a61aeb35a24c1329 = function(arg0) {
|
|
1917
|
+
const ret = getObject(arg0).msCrypto;
|
|
1918
|
+
return addHeapObject(ret);
|
|
1919
|
+
};
|
|
1920
|
+
|
|
1921
|
+
exports.__wbg_new_19c25a3f2fa63a02 = function() {
|
|
1922
|
+
const ret = new Object();
|
|
1923
|
+
return addHeapObject(ret);
|
|
1924
|
+
};
|
|
1925
|
+
|
|
1926
|
+
exports.__wbg_new_1f3a344cf3123716 = function() {
|
|
1927
|
+
const ret = new Array();
|
|
1928
|
+
return addHeapObject(ret);
|
|
1929
|
+
};
|
|
1930
|
+
|
|
1931
|
+
exports.__wbg_new_638ebfaedbf32a5e = function(arg0) {
|
|
1932
|
+
const ret = new Uint8Array(getObject(arg0));
|
|
1933
|
+
return addHeapObject(ret);
|
|
1934
|
+
};
|
|
1935
|
+
|
|
1936
|
+
exports.__wbg_new_8a6f238a6ece86ea = function() {
|
|
1937
|
+
const ret = new Error();
|
|
1938
|
+
return addHeapObject(ret);
|
|
1939
|
+
};
|
|
1940
|
+
|
|
1941
|
+
exports.__wbg_newnoargs_254190557c45b4ec = function(arg0, arg1) {
|
|
1942
|
+
const ret = new Function(getStringFromWasm0(arg0, arg1));
|
|
1943
|
+
return addHeapObject(ret);
|
|
1944
|
+
};
|
|
1945
|
+
|
|
1946
|
+
exports.__wbg_newwithlength_a167dcc7aaa3ba77 = function(arg0) {
|
|
1947
|
+
const ret = new Uint8Array(arg0 >>> 0);
|
|
1948
|
+
return addHeapObject(ret);
|
|
1949
|
+
};
|
|
1950
|
+
|
|
1951
|
+
exports.__wbg_next_5b3530e612fde77d = function(arg0) {
|
|
1952
|
+
const ret = getObject(arg0).next;
|
|
1953
|
+
return addHeapObject(ret);
|
|
1954
|
+
};
|
|
1955
|
+
|
|
1956
|
+
exports.__wbg_next_692e82279131b03c = function() { return handleError(function (arg0) {
|
|
1957
|
+
const ret = getObject(arg0).next();
|
|
1958
|
+
return addHeapObject(ret);
|
|
1959
|
+
}, arguments) };
|
|
1960
|
+
|
|
1961
|
+
exports.__wbg_node_905d3e251edff8a2 = function(arg0) {
|
|
1962
|
+
const ret = getObject(arg0).node;
|
|
1963
|
+
return addHeapObject(ret);
|
|
1964
|
+
};
|
|
1965
|
+
|
|
1966
|
+
exports.__wbg_process_dc0fbacc7c1c06f7 = function(arg0) {
|
|
1967
|
+
const ret = getObject(arg0).process;
|
|
1968
|
+
return addHeapObject(ret);
|
|
1969
|
+
};
|
|
1970
|
+
|
|
1971
|
+
exports.__wbg_prototypesetcall_3d4a26c1ed734349 = function(arg0, arg1, arg2) {
|
|
1972
|
+
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));
|
|
1973
|
+
};
|
|
1974
|
+
|
|
1975
|
+
exports.__wbg_randomFillSync_ac0988aba3254290 = function() { return handleError(function (arg0, arg1) {
|
|
1976
|
+
getObject(arg0).randomFillSync(takeObject(arg1));
|
|
1977
|
+
}, arguments) };
|
|
1978
|
+
|
|
1979
|
+
exports.__wbg_require_60cc747a6bc5215a = function() { return handleError(function () {
|
|
1980
|
+
const ret = module.require;
|
|
1981
|
+
return addHeapObject(ret);
|
|
1982
|
+
}, arguments) };
|
|
1983
|
+
|
|
1984
|
+
exports.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) {
|
|
1985
|
+
getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
|
|
1986
|
+
};
|
|
1987
|
+
|
|
1988
|
+
exports.__wbg_set_90f6c0f7bd8c0415 = function(arg0, arg1, arg2) {
|
|
1989
|
+
getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
|
|
1990
|
+
};
|
|
1991
|
+
|
|
1992
|
+
exports.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {
|
|
1993
|
+
const ret = getObject(arg1).stack;
|
|
1994
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
1995
|
+
const len1 = WASM_VECTOR_LEN;
|
|
1996
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
1997
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
1998
|
+
};
|
|
1999
|
+
|
|
2000
|
+
exports.__wbg_static_accessor_GLOBAL_8921f820c2ce3f12 = function() {
|
|
2001
|
+
const ret = typeof global === 'undefined' ? null : global;
|
|
2002
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
|
2003
|
+
};
|
|
2004
|
+
|
|
2005
|
+
exports.__wbg_static_accessor_GLOBAL_THIS_f0a4409105898184 = function() {
|
|
2006
|
+
const ret = typeof globalThis === 'undefined' ? null : globalThis;
|
|
2007
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
|
2008
|
+
};
|
|
2009
|
+
|
|
2010
|
+
exports.__wbg_static_accessor_SELF_995b214ae681ff99 = function() {
|
|
2011
|
+
const ret = typeof self === 'undefined' ? null : self;
|
|
2012
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
|
2013
|
+
};
|
|
2014
|
+
|
|
2015
|
+
exports.__wbg_static_accessor_WINDOW_cde3890479c675ea = function() {
|
|
2016
|
+
const ret = typeof window === 'undefined' ? null : window;
|
|
2017
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
|
2018
|
+
};
|
|
2019
|
+
|
|
2020
|
+
exports.__wbg_subarray_70fd07feefe14294 = function(arg0, arg1, arg2) {
|
|
2021
|
+
const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);
|
|
2022
|
+
return addHeapObject(ret);
|
|
2023
|
+
};
|
|
2024
|
+
|
|
2025
|
+
exports.__wbg_value_dd9372230531eade = function(arg0) {
|
|
2026
|
+
const ret = getObject(arg0).value;
|
|
2027
|
+
return addHeapObject(ret);
|
|
2028
|
+
};
|
|
2029
|
+
|
|
2030
|
+
exports.__wbg_versions_c01dfd4722a88165 = function(arg0) {
|
|
2031
|
+
const ret = getObject(arg0).versions;
|
|
2032
|
+
return addHeapObject(ret);
|
|
2033
|
+
};
|
|
2034
|
+
|
|
2035
|
+
exports.__wbg_wbindgenbooleanget_3fe6f642c7d97746 = function(arg0) {
|
|
2036
|
+
const v = getObject(arg0);
|
|
2037
|
+
const ret = typeof(v) === 'boolean' ? v : undefined;
|
|
2038
|
+
return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;
|
|
2039
|
+
};
|
|
2040
|
+
|
|
2041
|
+
exports.__wbg_wbindgencopytotypedarray_d105febdb9374ca3 = function(arg0, arg1, arg2) {
|
|
2042
|
+
new Uint8Array(getObject(arg2).buffer, getObject(arg2).byteOffset, getObject(arg2).byteLength).set(getArrayU8FromWasm0(arg0, arg1));
|
|
2043
|
+
};
|
|
2044
|
+
|
|
2045
|
+
exports.__wbg_wbindgendebugstring_99ef257a3ddda34d = function(arg0, arg1) {
|
|
2046
|
+
const ret = debugString(getObject(arg1));
|
|
2047
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
2048
|
+
const len1 = WASM_VECTOR_LEN;
|
|
2049
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
2050
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
2051
|
+
};
|
|
2052
|
+
|
|
2053
|
+
exports.__wbg_wbindgenin_d7a1ee10933d2d55 = function(arg0, arg1) {
|
|
2054
|
+
const ret = getObject(arg0) in getObject(arg1);
|
|
2055
|
+
return ret;
|
|
2056
|
+
};
|
|
2057
|
+
|
|
2058
|
+
exports.__wbg_wbindgenisfunction_8cee7dce3725ae74 = function(arg0) {
|
|
2059
|
+
const ret = typeof(getObject(arg0)) === 'function';
|
|
2060
|
+
return ret;
|
|
2061
|
+
};
|
|
2062
|
+
|
|
2063
|
+
exports.__wbg_wbindgenisobject_307a53c6bd97fbf8 = function(arg0) {
|
|
2064
|
+
const val = getObject(arg0);
|
|
2065
|
+
const ret = typeof(val) === 'object' && val !== null;
|
|
2066
|
+
return ret;
|
|
2067
|
+
};
|
|
2068
|
+
|
|
2069
|
+
exports.__wbg_wbindgenisstring_d4fa939789f003b0 = function(arg0) {
|
|
2070
|
+
const ret = typeof(getObject(arg0)) === 'string';
|
|
2071
|
+
return ret;
|
|
2072
|
+
};
|
|
2073
|
+
|
|
2074
|
+
exports.__wbg_wbindgenisundefined_c4b71d073b92f3c5 = function(arg0) {
|
|
2075
|
+
const ret = getObject(arg0) === undefined;
|
|
2076
|
+
return ret;
|
|
2077
|
+
};
|
|
2078
|
+
|
|
2079
|
+
exports.__wbg_wbindgenjsvallooseeq_9bec8c9be826bed1 = function(arg0, arg1) {
|
|
2080
|
+
const ret = getObject(arg0) == getObject(arg1);
|
|
2081
|
+
return ret;
|
|
2082
|
+
};
|
|
2083
|
+
|
|
2084
|
+
exports.__wbg_wbindgennumberget_f74b4c7525ac05cb = function(arg0, arg1) {
|
|
2085
|
+
const obj = getObject(arg1);
|
|
2086
|
+
const ret = typeof(obj) === 'number' ? obj : undefined;
|
|
2087
|
+
getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
|
|
2088
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
|
|
2089
|
+
};
|
|
2090
|
+
|
|
2091
|
+
exports.__wbg_wbindgenstringget_0f16a6ddddef376f = function(arg0, arg1) {
|
|
2092
|
+
const obj = getObject(arg1);
|
|
2093
|
+
const ret = typeof(obj) === 'string' ? obj : undefined;
|
|
2094
|
+
var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);
|
|
2095
|
+
var len1 = WASM_VECTOR_LEN;
|
|
2096
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
2097
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
2098
|
+
};
|
|
2099
|
+
|
|
2100
|
+
exports.__wbg_wbindgenthrow_451ec1a8469d7eb6 = function(arg0, arg1) {
|
|
2101
|
+
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
2102
|
+
};
|
|
2103
|
+
|
|
2104
|
+
exports.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
|
|
2105
|
+
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
2106
|
+
const ret = getStringFromWasm0(arg0, arg1);
|
|
2107
|
+
return addHeapObject(ret);
|
|
2108
|
+
};
|
|
2109
|
+
|
|
2110
|
+
exports.__wbindgen_cast_cb9088102bce6b30 = function(arg0, arg1) {
|
|
2111
|
+
// Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
|
|
2112
|
+
const ret = getArrayU8FromWasm0(arg0, arg1);
|
|
2113
|
+
return addHeapObject(ret);
|
|
2114
|
+
};
|
|
2115
|
+
|
|
2116
|
+
exports.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {
|
|
2117
|
+
// Cast intrinsic for `F64 -> Externref`.
|
|
2118
|
+
const ret = arg0;
|
|
2119
|
+
return addHeapObject(ret);
|
|
2120
|
+
};
|
|
2121
|
+
|
|
2122
|
+
exports.__wbindgen_object_clone_ref = function(arg0) {
|
|
2123
|
+
const ret = getObject(arg0);
|
|
2124
|
+
return addHeapObject(ret);
|
|
2125
|
+
};
|
|
2126
|
+
|
|
2127
|
+
exports.__wbindgen_object_drop_ref = function(arg0) {
|
|
2128
|
+
takeObject(arg0);
|
|
2129
|
+
};
|
|
2130
|
+
|
|
2131
|
+
const wasmPath = `${__dirname}/vault_crypto_bg.wasm`;
|
|
2132
|
+
const wasmBytes = require('fs').readFileSync(wasmPath);
|
|
2133
|
+
const wasmModule = new WebAssembly.Module(wasmBytes);
|
|
2134
|
+
const wasm = exports.__wasm = new WebAssembly.Instance(wasmModule, imports).exports;
|
|
2135
|
+
|
|
2136
|
+
wasm.__wbindgen_start();
|
|
2137
|
+
|