@provablehq/wasm 0.10.4 → 0.10.5

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.
@@ -309,38 +309,6 @@ function addBorrowedObject(obj) {
309
309
  heap[--stack_pointer] = obj;
310
310
  return stack_pointer;
311
311
  }
312
- /**
313
- * Verify a batch SNARK proof against multiple verifying keys and their corresponding public inputs.
314
- *
315
- * This function verifies a batch proof produced by Aleo programs that may not be deployed on chain.
316
- * Each verifying key is paired with one or more sets of public inputs (instances).
317
- *
318
- * @param {Array<string>} verifying_keys Array of verifying key strings, one per circuit
319
- * @param {Array<Array<Array<string>>>} inputs 3D array of field element strings [circuit_idx][instance_idx][field_idx]
320
- * @param {Proof} proof The batch proof to verify
321
- * @returns {boolean} True if the batch proof is valid, false otherwise
322
- * @param {Array<any>} verifying_keys
323
- * @param {Array<any>} inputs
324
- * @param {Proof} proof
325
- * @returns {boolean}
326
- */
327
- function snarkVerifyBatch(verifying_keys, inputs, proof) {
328
- try {
329
- const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
330
- _assertClass(proof, Proof);
331
- wasm$1.snarkVerifyBatch(retptr, addHeapObject(verifying_keys), addHeapObject(inputs), proof.__wbg_ptr);
332
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
333
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
334
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
335
- if (r2) {
336
- throw takeObject(r1);
337
- }
338
- return r0 !== 0;
339
- } finally {
340
- wasm$1.__wbindgen_add_to_stack_pointer(16);
341
- }
342
- }
343
-
344
312
  /**
345
313
  * Verify an execution. Executions with multiple transitions must have the program source code and
346
314
  * verifying keys of imported functions supplied from outside to correctly verify. Also, this does
@@ -416,6 +384,38 @@ function snarkVerify(verifying_key, inputs, proof) {
416
384
  }
417
385
  }
418
386
 
387
+ /**
388
+ * Verify a batch SNARK proof against multiple verifying keys and their corresponding public inputs.
389
+ *
390
+ * This function verifies a batch proof produced by Aleo programs that may not be deployed on chain.
391
+ * Each verifying key is paired with one or more sets of public inputs (instances).
392
+ *
393
+ * @param {Array<string>} verifying_keys Array of verifying key strings, one per circuit
394
+ * @param {Array<Array<Array<string>>>} inputs 3D array of field element strings [circuit_idx][instance_idx][field_idx]
395
+ * @param {Proof} proof The batch proof to verify
396
+ * @returns {boolean} True if the batch proof is valid, false otherwise
397
+ * @param {Array<any>} verifying_keys
398
+ * @param {Array<any>} inputs
399
+ * @param {Proof} proof
400
+ * @returns {boolean}
401
+ */
402
+ function snarkVerifyBatch(verifying_keys, inputs, proof) {
403
+ try {
404
+ const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
405
+ _assertClass(proof, Proof);
406
+ wasm$1.snarkVerifyBatch(retptr, addHeapObject(verifying_keys), addHeapObject(inputs), proof.__wbg_ptr);
407
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
408
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
409
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
410
+ if (r2) {
411
+ throw takeObject(r1);
412
+ }
413
+ return r0 !== 0;
414
+ } finally {
415
+ wasm$1.__wbindgen_add_to_stack_pointer(16);
416
+ }
417
+ }
418
+
419
419
  /**
420
420
  * @param {string} string
421
421
  * @returns {Field}
@@ -477,16 +477,16 @@ function getArrayJsValueFromWasm0(ptr, len) {
477
477
  }
478
478
  return result;
479
479
  }
480
- function __wasm_bindgen_func_elem_8536(arg0, arg1, arg2) {
481
- wasm$1.__wasm_bindgen_func_elem_8536(arg0, arg1, addHeapObject(arg2));
480
+ function __wasm_bindgen_func_elem_7201(arg0, arg1) {
481
+ wasm$1.__wasm_bindgen_func_elem_7201(arg0, arg1);
482
482
  }
483
483
 
484
- function __wasm_bindgen_func_elem_7166(arg0, arg1) {
485
- wasm$1.__wasm_bindgen_func_elem_7166(arg0, arg1);
484
+ function __wasm_bindgen_func_elem_8569(arg0, arg1, arg2) {
485
+ wasm$1.__wasm_bindgen_func_elem_8569(arg0, arg1, addHeapObject(arg2));
486
486
  }
487
487
 
488
- function __wasm_bindgen_func_elem_7439(arg0, arg1, arg2, arg3) {
489
- wasm$1.__wasm_bindgen_func_elem_7439(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
488
+ function __wasm_bindgen_func_elem_7473(arg0, arg1, arg2, arg3) {
489
+ wasm$1.__wasm_bindgen_func_elem_7473(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
490
490
  }
491
491
 
492
492
  const __wbindgen_enum_RequestCredentials = ["omit", "same-origin", "include"];
@@ -2229,6 +2229,48 @@ class Boolean {
2229
2229
  }
2230
2230
  if (Symbol.dispose) Boolean.prototype[Symbol.dispose] = Boolean.prototype.free;
2231
2231
 
2232
+ const CallbackQueryFinalization = (typeof FinalizationRegistry === 'undefined')
2233
+ ? { register: () => {}, unregister: () => {} }
2234
+ : new FinalizationRegistry(ptr => wasm$1.__wbg_callbackquery_free(ptr >>> 0, 1));
2235
+ /**
2236
+ * A query implementation that delegates state fetching to JS callback functions.
2237
+ *
2238
+ * Instead of making direct HTTP calls via reqwest, each QueryTrait method
2239
+ * calls a JS function that returns a Promise. The JS side handles the actual
2240
+ * network request through the configured transport.
2241
+ */
2242
+ class CallbackQuery {
2243
+
2244
+ __destroy_into_raw() {
2245
+ const ptr = this.__wbg_ptr;
2246
+ this.__wbg_ptr = 0;
2247
+ CallbackQueryFinalization.unregister(this);
2248
+ return ptr;
2249
+ }
2250
+
2251
+ free() {
2252
+ const ptr = this.__destroy_into_raw();
2253
+ wasm$1.__wbg_callbackquery_free(ptr, 0);
2254
+ }
2255
+ /**
2256
+ * Create a new CallbackQuery with JS callback functions.
2257
+ *
2258
+ * @param {Function} get_state_root A function that returns Promise<string> (the state root)
2259
+ * @param {Function} get_state_paths A function that takes string[] (commitments) and returns Promise<string[]> (state paths)
2260
+ * @param {Function} get_block_height A function that returns Promise<number> (the block height)
2261
+ * @param {Function} get_state_root
2262
+ * @param {Function} get_state_paths
2263
+ * @param {Function} get_block_height
2264
+ */
2265
+ constructor(get_state_root, get_state_paths, get_block_height) {
2266
+ const ret = wasm$1.callbackquery_new(addHeapObject(get_state_root), addHeapObject(get_state_paths), addHeapObject(get_block_height));
2267
+ this.__wbg_ptr = ret >>> 0;
2268
+ CallbackQueryFinalization.register(this, this.__wbg_ptr, this);
2269
+ return this;
2270
+ }
2271
+ }
2272
+ if (Symbol.dispose) CallbackQuery.prototype[Symbol.dispose] = CallbackQuery.prototype.free;
2273
+
2232
2274
  const CiphertextFinalization = (typeof FinalizationRegistry === 'undefined')
2233
2275
  ? { register: () => {}, unregister: () => {} }
2234
2276
  : new FinalizationRegistry(ptr => wasm$1.__wbg_ciphertext_free(ptr >>> 0, 1));
@@ -10373,10 +10415,10 @@ class ProgramManager {
10373
10415
  * @param {VerifyingKey | null} [join_verifying_key]
10374
10416
  * @param {ProvingKey | null} [fee_proving_key]
10375
10417
  * @param {VerifyingKey | null} [fee_verifying_key]
10376
- * @param {OfflineQuery | null} [offline_query]
10418
+ * @param {QueryOption | null} [query]
10377
10419
  * @returns {Promise<Transaction>}
10378
10420
  */
10379
- static buildJoinTransaction(private_key, record_1, record_2, priority_fee_credits, fee_record, url, join_proving_key, join_verifying_key, fee_proving_key, fee_verifying_key, offline_query) {
10421
+ static buildJoinTransaction(private_key, record_1, record_2, priority_fee_credits, fee_record, url, join_proving_key, join_verifying_key, fee_proving_key, fee_verifying_key, query) {
10380
10422
  _assertClass(private_key, PrivateKey);
10381
10423
  _assertClass(record_1, RecordPlaintext);
10382
10424
  var ptr0 = record_1.__destroy_into_raw();
@@ -10410,9 +10452,9 @@ class ProgramManager {
10410
10452
  ptr7 = fee_verifying_key.__destroy_into_raw();
10411
10453
  }
10412
10454
  let ptr8 = 0;
10413
- if (!isLikeNone(offline_query)) {
10414
- _assertClass(offline_query, OfflineQuery);
10415
- ptr8 = offline_query.__destroy_into_raw();
10455
+ if (!isLikeNone(query)) {
10456
+ _assertClass(query, QueryOption);
10457
+ ptr8 = query.__destroy_into_raw();
10416
10458
  }
10417
10459
  const ret = wasm$1.programmanager_buildJoinTransaction(private_key.__wbg_ptr, ptr0, ptr1, priority_fee_credits, ptr2, ptr3, len3, ptr4, ptr5, ptr6, ptr7, ptr8);
10418
10460
  return takeObject(ret);
@@ -10434,10 +10476,10 @@ class ProgramManager {
10434
10476
  * @param {string | null} [url]
10435
10477
  * @param {ProvingKey | null} [split_proving_key]
10436
10478
  * @param {VerifyingKey | null} [split_verifying_key]
10437
- * @param {OfflineQuery | null} [offline_query]
10479
+ * @param {QueryOption | null} [query]
10438
10480
  * @returns {Promise<Transaction>}
10439
10481
  */
10440
- static buildSplitTransaction(private_key, split_amount, amount_record, url, split_proving_key, split_verifying_key, offline_query) {
10482
+ static buildSplitTransaction(private_key, split_amount, amount_record, url, split_proving_key, split_verifying_key, query) {
10441
10483
  _assertClass(private_key, PrivateKey);
10442
10484
  _assertClass(amount_record, RecordPlaintext);
10443
10485
  var ptr0 = amount_record.__destroy_into_raw();
@@ -10454,9 +10496,9 @@ class ProgramManager {
10454
10496
  ptr3 = split_verifying_key.__destroy_into_raw();
10455
10497
  }
10456
10498
  let ptr4 = 0;
10457
- if (!isLikeNone(offline_query)) {
10458
- _assertClass(offline_query, OfflineQuery);
10459
- ptr4 = offline_query.__destroy_into_raw();
10499
+ if (!isLikeNone(query)) {
10500
+ _assertClass(query, QueryOption);
10501
+ ptr4 = query.__destroy_into_raw();
10460
10502
  }
10461
10503
  const ret = wasm$1.programmanager_buildSplitTransaction(private_key.__wbg_ptr, split_amount, ptr0, ptr1, len1, ptr2, ptr3, ptr4);
10462
10504
  return takeObject(ret);
@@ -10809,10 +10851,10 @@ class ProgramManager {
10809
10851
  * @param {VerifyingKey | null} [fee_verifying_key]
10810
10852
  * @param {object | null} [imports]
10811
10853
  * @param {string | null} [url]
10812
- * @param {OfflineQuery | null} [offline_query]
10854
+ * @param {QueryOption | null} [query]
10813
10855
  * @returns {Promise<Transaction>}
10814
10856
  */
10815
- static executeAuthorization(authorization, fee_authorization, program, proving_key, verifying_key, fee_proving_key, fee_verifying_key, imports, url, offline_query) {
10857
+ static executeAuthorization(authorization, fee_authorization, program, proving_key, verifying_key, fee_proving_key, fee_verifying_key, imports, url, query) {
10816
10858
  _assertClass(authorization, Authorization);
10817
10859
  var ptr0 = authorization.__destroy_into_raw();
10818
10860
  let ptr1 = 0;
@@ -10845,9 +10887,9 @@ class ProgramManager {
10845
10887
  var ptr7 = isLikeNone(url) ? 0 : passStringToWasm0(url, wasm$1.__wbindgen_export, wasm$1.__wbindgen_export2);
10846
10888
  var len7 = WASM_VECTOR_LEN;
10847
10889
  let ptr8 = 0;
10848
- if (!isLikeNone(offline_query)) {
10849
- _assertClass(offline_query, OfflineQuery);
10850
- ptr8 = offline_query.__destroy_into_raw();
10890
+ if (!isLikeNone(query)) {
10891
+ _assertClass(query, QueryOption);
10892
+ ptr8 = query.__destroy_into_raw();
10851
10893
  }
10852
10894
  const ret = wasm$1.programmanager_executeAuthorization(ptr0, ptr1, ptr2, len2, ptr3, ptr4, ptr5, ptr6, isLikeNone(imports) ? 0 : addHeapObject(imports), ptr7, len7, ptr8);
10853
10895
  return takeObject(ret);
@@ -10918,11 +10960,11 @@ class ProgramManager {
10918
10960
  * @param {ProvingKey | null} [proving_key]
10919
10961
  * @param {VerifyingKey | null} [verifying_key]
10920
10962
  * @param {string | null} [url]
10921
- * @param {OfflineQuery | null} [offline_query]
10963
+ * @param {QueryOption | null} [query]
10922
10964
  * @param {number | null} [edition]
10923
10965
  * @returns {Promise<ExecutionResponse>}
10924
10966
  */
10925
- static executeFunctionOffline(private_key, program, _function, inputs, prove_execution, cache, imports, proving_key, verifying_key, url, offline_query, edition) {
10967
+ static executeFunctionOffline(private_key, program, _function, inputs, prove_execution, cache, imports, proving_key, verifying_key, url, query, edition) {
10926
10968
  _assertClass(private_key, PrivateKey);
10927
10969
  const ptr0 = passStringToWasm0(program, wasm$1.__wbindgen_export, wasm$1.__wbindgen_export2);
10928
10970
  const len0 = WASM_VECTOR_LEN;
@@ -10941,13 +10983,60 @@ class ProgramManager {
10941
10983
  var ptr4 = isLikeNone(url) ? 0 : passStringToWasm0(url, wasm$1.__wbindgen_export, wasm$1.__wbindgen_export2);
10942
10984
  var len4 = WASM_VECTOR_LEN;
10943
10985
  let ptr5 = 0;
10944
- if (!isLikeNone(offline_query)) {
10945
- _assertClass(offline_query, OfflineQuery);
10946
- ptr5 = offline_query.__destroy_into_raw();
10986
+ if (!isLikeNone(query)) {
10987
+ _assertClass(query, QueryOption);
10988
+ ptr5 = query.__destroy_into_raw();
10947
10989
  }
10948
10990
  const ret = wasm$1.programmanager_executeFunctionOffline(private_key.__wbg_ptr, ptr0, len0, ptr1, len1, addHeapObject(inputs), prove_execution, cache, isLikeNone(imports) ? 0 : addHeapObject(imports), ptr2, ptr3, ptr4, len4, ptr5, isLikeNone(edition) ? 0xFFFFFF : edition);
10949
10991
  return takeObject(ret);
10950
10992
  }
10993
+ /**
10994
+ * Compute the query requirements for a function execution without making
10995
+ * any network calls. Returns the commitments that need state paths and
10996
+ * whether the function has dynamic record inputs.
10997
+ *
10998
+ * This enables the JS layer to pre-fetch state data via its configured
10999
+ * transport and construct an OfflineQuery, so that the subsequent WASM
11000
+ * execution call never makes its own network requests.
11001
+ *
11002
+ * @param {string} program The source code of the program
11003
+ * @param {string} function_name The name of the function to execute
11004
+ * @param {Array} inputs The inputs to the function
11005
+ * @param {PrivateKey} private_key The private key (used to derive the view key for commitment computation)
11006
+ * @param {RecordPlaintext | undefined} fee_record Optional fee record to include in commitment computation
11007
+ * @returns {Object} An object with { commitments: string[], hasDynamicInputs: boolean }
11008
+ * @param {string} program
11009
+ * @param {string} function_name
11010
+ * @param {Array<any>} inputs
11011
+ * @param {PrivateKey} private_key
11012
+ * @param {RecordPlaintext | null} [fee_record]
11013
+ * @returns {any}
11014
+ */
11015
+ static computeQueryRequirements(program, function_name, inputs, private_key, fee_record) {
11016
+ try {
11017
+ const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
11018
+ const ptr0 = passStringToWasm0(program, wasm$1.__wbindgen_export, wasm$1.__wbindgen_export2);
11019
+ const len0 = WASM_VECTOR_LEN;
11020
+ const ptr1 = passStringToWasm0(function_name, wasm$1.__wbindgen_export, wasm$1.__wbindgen_export2);
11021
+ const len1 = WASM_VECTOR_LEN;
11022
+ _assertClass(private_key, PrivateKey);
11023
+ let ptr2 = 0;
11024
+ if (!isLikeNone(fee_record)) {
11025
+ _assertClass(fee_record, RecordPlaintext);
11026
+ ptr2 = fee_record.__destroy_into_raw();
11027
+ }
11028
+ wasm$1.programmanager_computeQueryRequirements(retptr, ptr0, len0, ptr1, len1, addHeapObject(inputs), private_key.__wbg_ptr, ptr2);
11029
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
11030
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
11031
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
11032
+ if (r2) {
11033
+ throw takeObject(r1);
11034
+ }
11035
+ return takeObject(r0);
11036
+ } finally {
11037
+ wasm$1.__wbindgen_add_to_stack_pointer(16);
11038
+ }
11039
+ }
10951
11040
  /**
10952
11041
  * Estimate Fee for an Authorization.
10953
11042
  *
@@ -11020,11 +11109,11 @@ class ProgramManager {
11020
11109
  * @param {VerifyingKey | null} [verifying_key]
11021
11110
  * @param {ProvingKey | null} [fee_proving_key]
11022
11111
  * @param {VerifyingKey | null} [fee_verifying_key]
11023
- * @param {OfflineQuery | null} [offline_query]
11112
+ * @param {QueryOption | null} [query]
11024
11113
  * @param {number | null} [edition]
11025
11114
  * @returns {Promise<Transaction>}
11026
11115
  */
11027
- static buildExecutionTransaction(private_key, program, _function, inputs, priority_fee_credits, fee_record, url, imports, proving_key, verifying_key, fee_proving_key, fee_verifying_key, offline_query, edition) {
11116
+ static buildExecutionTransaction(private_key, program, _function, inputs, priority_fee_credits, fee_record, url, imports, proving_key, verifying_key, fee_proving_key, fee_verifying_key, query, edition) {
11028
11117
  _assertClass(private_key, PrivateKey);
11029
11118
  const ptr0 = passStringToWasm0(program, wasm$1.__wbindgen_export, wasm$1.__wbindgen_export2);
11030
11119
  const len0 = WASM_VECTOR_LEN;
@@ -11058,9 +11147,9 @@ class ProgramManager {
11058
11147
  ptr7 = fee_verifying_key.__destroy_into_raw();
11059
11148
  }
11060
11149
  let ptr8 = 0;
11061
- if (!isLikeNone(offline_query)) {
11062
- _assertClass(offline_query, OfflineQuery);
11063
- ptr8 = offline_query.__destroy_into_raw();
11150
+ if (!isLikeNone(query)) {
11151
+ _assertClass(query, QueryOption);
11152
+ ptr8 = query.__destroy_into_raw();
11064
11153
  }
11065
11154
  const ret = wasm$1.programmanager_buildExecutionTransaction(private_key.__wbg_ptr, ptr0, len0, ptr1, len1, addHeapObject(inputs), priority_fee_credits, ptr2, ptr3, len3, isLikeNone(imports) ? 0 : addHeapObject(imports), ptr4, ptr5, ptr6, ptr7, ptr8, isLikeNone(edition) ? 0xFFFFFF : edition);
11066
11155
  return takeObject(ret);
@@ -11093,10 +11182,10 @@ class ProgramManager {
11093
11182
  * @param {VerifyingKey | null} [transfer_verifying_key]
11094
11183
  * @param {ProvingKey | null} [fee_proving_key]
11095
11184
  * @param {VerifyingKey | null} [fee_verifying_key]
11096
- * @param {OfflineQuery | null} [offline_query]
11185
+ * @param {QueryOption | null} [query]
11097
11186
  * @returns {Promise<Transaction>}
11098
11187
  */
11099
- static buildTransferTransaction(private_key, amount_credits, recipient, transfer_type, amount_record, priority_fee_credits, fee_record, url, transfer_proving_key, transfer_verifying_key, fee_proving_key, fee_verifying_key, offline_query) {
11188
+ static buildTransferTransaction(private_key, amount_credits, recipient, transfer_type, amount_record, priority_fee_credits, fee_record, url, transfer_proving_key, transfer_verifying_key, fee_proving_key, fee_verifying_key, query) {
11100
11189
  _assertClass(private_key, PrivateKey);
11101
11190
  const ptr0 = passStringToWasm0(recipient, wasm$1.__wbindgen_export, wasm$1.__wbindgen_export2);
11102
11191
  const len0 = WASM_VECTOR_LEN;
@@ -11135,9 +11224,9 @@ class ProgramManager {
11135
11224
  ptr8 = fee_verifying_key.__destroy_into_raw();
11136
11225
  }
11137
11226
  let ptr9 = 0;
11138
- if (!isLikeNone(offline_query)) {
11139
- _assertClass(offline_query, OfflineQuery);
11140
- ptr9 = offline_query.__destroy_into_raw();
11227
+ if (!isLikeNone(query)) {
11228
+ _assertClass(query, QueryOption);
11229
+ ptr9 = query.__destroy_into_raw();
11141
11230
  }
11142
11231
  const ret = wasm$1.programmanager_buildTransferTransaction(private_key.__wbg_ptr, amount_credits, ptr0, len0, ptr1, len1, ptr2, priority_fee_credits, ptr3, ptr4, len4, ptr5, ptr6, ptr7, ptr8, ptr9);
11143
11232
  return takeObject(ret);
@@ -11919,6 +12008,63 @@ class ProvingRequest {
11919
12008
  }
11920
12009
  if (Symbol.dispose) ProvingRequest.prototype[Symbol.dispose] = ProvingRequest.prototype.free;
11921
12010
 
12011
+ const QueryOptionFinalization = (typeof FinalizationRegistry === 'undefined')
12012
+ ? { register: () => {}, unregister: () => {} }
12013
+ : new FinalizationRegistry(ptr => wasm$1.__wbg_queryoption_free(ptr >>> 0, 1));
12014
+ /**
12015
+ * A unified query type that wraps either an OfflineQuery (pre-fetched state)
12016
+ * or a CallbackQuery (on-demand JS transport delegation).
12017
+ *
12018
+ * Construct from JavaScript using the static factory methods:
12019
+ * - `QueryOption.offlineQuery(offlineQuery)` for pre-fetched state
12020
+ * - `QueryOption.callbackQuery(callbackQuery)` for on-demand JS callbacks
12021
+ */
12022
+ class QueryOption {
12023
+
12024
+ static __wrap(ptr) {
12025
+ ptr = ptr >>> 0;
12026
+ const obj = Object.create(QueryOption.prototype);
12027
+ obj.__wbg_ptr = ptr;
12028
+ QueryOptionFinalization.register(obj, obj.__wbg_ptr, obj);
12029
+ return obj;
12030
+ }
12031
+
12032
+ __destroy_into_raw() {
12033
+ const ptr = this.__wbg_ptr;
12034
+ this.__wbg_ptr = 0;
12035
+ QueryOptionFinalization.unregister(this);
12036
+ return ptr;
12037
+ }
12038
+
12039
+ free() {
12040
+ const ptr = this.__destroy_into_raw();
12041
+ wasm$1.__wbg_queryoption_free(ptr, 0);
12042
+ }
12043
+ /**
12044
+ * Create a QueryOption from an OfflineQuery.
12045
+ * @param {OfflineQuery} query
12046
+ * @returns {QueryOption}
12047
+ */
12048
+ static offlineQuery(query) {
12049
+ _assertClass(query, OfflineQuery);
12050
+ var ptr0 = query.__destroy_into_raw();
12051
+ const ret = wasm$1.queryoption_offlineQuery(ptr0);
12052
+ return QueryOption.__wrap(ret);
12053
+ }
12054
+ /**
12055
+ * Create a QueryOption from a CallbackQuery.
12056
+ * @param {CallbackQuery} query
12057
+ * @returns {QueryOption}
12058
+ */
12059
+ static callbackQuery(query) {
12060
+ _assertClass(query, CallbackQuery);
12061
+ var ptr0 = query.__destroy_into_raw();
12062
+ const ret = wasm$1.queryoption_callbackQuery(ptr0);
12063
+ return QueryOption.__wrap(ret);
12064
+ }
12065
+ }
12066
+ if (Symbol.dispose) QueryOption.prototype[Symbol.dispose] = QueryOption.prototype.free;
12067
+
11922
12068
  const RecordCiphertextFinalization = (typeof FinalizationRegistry === 'undefined')
11923
12069
  ? { register: () => {}, unregister: () => {} }
11924
12070
  : new FinalizationRegistry(ptr => wasm$1.__wbg_recordciphertext_free(ptr >>> 0, 1));
@@ -18175,6 +18321,12 @@ function __wbg_get_imports(memory) {
18175
18321
  const ret = __wbg_init.__wbindgen_wasm_module;
18176
18322
  return addHeapObject(ret);
18177
18323
  };
18324
+ imports.wbg.__wbg___wbindgen_number_get_a20bf9b85341449d = function(arg0, arg1) {
18325
+ const obj = getObject(arg1);
18326
+ const ret = typeof(obj) === 'number' ? obj : undefined;
18327
+ getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
18328
+ getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
18329
+ };
18178
18330
  imports.wbg.__wbg___wbindgen_rethrow_ea38273dafc473e6 = function(arg0) {
18179
18331
  throw takeObject(arg0);
18180
18332
  };
@@ -18202,6 +18354,10 @@ function __wbg_get_imports(memory) {
18202
18354
  imports.wbg.__wbg_append_b577eb3a177bc0fa = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
18203
18355
  getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
18204
18356
  }, arguments) };
18357
+ imports.wbg.__wbg_apply_04097a755e1e4a1e = function() { return handleError(function (arg0, arg1, arg2) {
18358
+ const ret = getObject(arg0).apply(getObject(arg1), getObject(arg2));
18359
+ return addHeapObject(ret);
18360
+ }, arguments) };
18205
18361
  imports.wbg.__wbg_arrayBuffer_b375eccb84b4ddf3 = function() { return handleError(function (arg0) {
18206
18362
  const ret = getObject(arg0).arrayBuffer();
18207
18363
  return addHeapObject(ret);
@@ -18308,6 +18464,16 @@ function __wbg_get_imports(memory) {
18308
18464
  const ret = getObject(arg0).headers;
18309
18465
  return addHeapObject(ret);
18310
18466
  };
18467
+ imports.wbg.__wbg_instanceof_Promise_001fdd42afa1b7ef = function(arg0) {
18468
+ let result;
18469
+ try {
18470
+ result = getObject(arg0) instanceof Promise;
18471
+ } catch (_) {
18472
+ result = false;
18473
+ }
18474
+ const ret = result;
18475
+ return ret;
18476
+ };
18311
18477
  imports.wbg.__wbg_instanceof_Response_f4f3e87e07f3135c = function(arg0) {
18312
18478
  let result;
18313
18479
  try {
@@ -18352,7 +18518,7 @@ function __wbg_get_imports(memory) {
18352
18518
  const ret = getObject(arg0).length;
18353
18519
  return ret;
18354
18520
  };
18355
- imports.wbg.__wbg_log_4688d4dee83f4df4 = function(arg0, arg1) {
18521
+ imports.wbg.__wbg_log_78f898e0b3066062 = function(arg0, arg1) {
18356
18522
  console.log(getStringFromWasm0(arg0, arg1));
18357
18523
  };
18358
18524
  imports.wbg.__wbg_msCrypto_a61aeb35a24c1329 = function(arg0) {
@@ -18374,7 +18540,7 @@ function __wbg_get_imports(memory) {
18374
18540
  const a = state0.a;
18375
18541
  state0.a = 0;
18376
18542
  try {
18377
- return __wasm_bindgen_func_elem_7439(a, state0.b, arg0, arg1);
18543
+ return __wasm_bindgen_func_elem_7473(a, state0.b, arg0, arg1);
18378
18544
  } finally {
18379
18545
  state0.a = a;
18380
18546
  }
@@ -18561,7 +18727,7 @@ function __wbg_get_imports(memory) {
18561
18727
  const ret = Signature.__wrap(arg0);
18562
18728
  return addHeapObject(ret);
18563
18729
  };
18564
- imports.wbg.__wbg_spawnWorker_9ce4a98fc7b6f238 = function(arg0, arg1, arg2, arg3) {
18730
+ imports.wbg.__wbg_spawnWorker_16cedfb6613c80ac = function(arg0, arg1, arg2, arg3) {
18565
18731
  const ret = spawnWorker(getObject(arg0), getObject(arg1), getObject(arg2), arg3 >>> 0);
18566
18732
  return addHeapObject(ret);
18567
18733
  };
@@ -18651,11 +18817,6 @@ function __wbg_get_imports(memory) {
18651
18817
  const ret = Atomics.waitAsync(getObject(arg0), arg1 >>> 0, arg2);
18652
18818
  return addHeapObject(ret);
18653
18819
  };
18654
- imports.wbg.__wbindgen_cast_0eb37dec5f5def71 = function(arg0, arg1) {
18655
- // Cast intrinsic for `Closure(Closure { dtor_idx: 358, function: Function { arguments: [], shim_idx: 465, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
18656
- const ret = makeMutClosure(arg0, arg1, wasm$1.__wasm_bindgen_func_elem_7165, __wasm_bindgen_func_elem_7166);
18657
- return addHeapObject(ret);
18658
- };
18659
18820
  imports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {
18660
18821
  // Cast intrinsic for `Ref(String) -> Externref`.
18661
18822
  const ret = getStringFromWasm0(arg0, arg1);
@@ -18671,14 +18832,9 @@ function __wbg_get_imports(memory) {
18671
18832
  const ret = BigInt.asUintN(64, arg0);
18672
18833
  return addHeapObject(ret);
18673
18834
  };
18674
- imports.wbg.__wbindgen_cast_4a64cbb5b17898c9 = function(arg0, arg1) {
18675
- // Cast intrinsic for `Closure(Closure { dtor_idx: 358, function: Function { arguments: [Externref], shim_idx: 359, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
18676
- const ret = makeMutClosure(arg0, arg1, wasm$1.__wasm_bindgen_func_elem_7165, __wasm_bindgen_func_elem_8536);
18677
- return addHeapObject(ret);
18678
- };
18679
- imports.wbg.__wbindgen_cast_65bbaf572cb463ed = function(arg0, arg1) {
18680
- // Cast intrinsic for `Closure(Closure { dtor_idx: 358, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 359, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
18681
- const ret = makeMutClosure(arg0, arg1, wasm$1.__wasm_bindgen_func_elem_7165, __wasm_bindgen_func_elem_8536);
18835
+ imports.wbg.__wbindgen_cast_711d7deea8fc39ca = function(arg0, arg1) {
18836
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 356, function: Function { arguments: [Externref], shim_idx: 357, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
18837
+ const ret = makeMutClosure(arg0, arg1, wasm$1.__wasm_bindgen_func_elem_7200, __wasm_bindgen_func_elem_8569);
18682
18838
  return addHeapObject(ret);
18683
18839
  };
18684
18840
  imports.wbg.__wbindgen_cast_9ae0607507abb057 = function(arg0) {
@@ -18686,11 +18842,21 @@ function __wbg_get_imports(memory) {
18686
18842
  const ret = arg0;
18687
18843
  return addHeapObject(ret);
18688
18844
  };
18845
+ imports.wbg.__wbindgen_cast_cada7727142cd213 = function(arg0, arg1) {
18846
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 356, function: Function { arguments: [NamedExternref("MessageEvent")], shim_idx: 357, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
18847
+ const ret = makeMutClosure(arg0, arg1, wasm$1.__wasm_bindgen_func_elem_7200, __wasm_bindgen_func_elem_8569);
18848
+ return addHeapObject(ret);
18849
+ };
18689
18850
  imports.wbg.__wbindgen_cast_cb9088102bce6b30 = function(arg0, arg1) {
18690
18851
  // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
18691
18852
  const ret = getArrayU8FromWasm0(arg0, arg1);
18692
18853
  return addHeapObject(ret);
18693
18854
  };
18855
+ imports.wbg.__wbindgen_cast_cdf07f87b2615f8c = function(arg0, arg1) {
18856
+ // Cast intrinsic for `Closure(Closure { dtor_idx: 356, function: Function { arguments: [], shim_idx: 462, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
18857
+ const ret = makeMutClosure(arg0, arg1, wasm$1.__wasm_bindgen_func_elem_7200, __wasm_bindgen_func_elem_7201);
18858
+ return addHeapObject(ret);
18859
+ };
18694
18860
  imports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {
18695
18861
  // Cast intrinsic for `F64 -> Externref`.
18696
18862
  const ret = arg0;
@@ -18794,6 +18960,7 @@ var exports$1$1 = /*#__PURE__*/Object.freeze({
18794
18960
  BHP512: BHP512,
18795
18961
  BHP768: BHP768,
18796
18962
  Boolean: Boolean,
18963
+ CallbackQuery: CallbackQuery,
18797
18964
  Ciphertext: Ciphertext,
18798
18965
  ComputeKey: ComputeKey,
18799
18966
  DynamicRecord: DynamicRecord,
@@ -18825,6 +18992,7 @@ var exports$1$1 = /*#__PURE__*/Object.freeze({
18825
18992
  Proof: Proof,
18826
18993
  ProvingKey: ProvingKey,
18827
18994
  ProvingRequest: ProvingRequest,
18995
+ QueryOption: QueryOption,
18828
18996
  RecordCiphertext: RecordCiphertext,
18829
18997
  RecordPlaintext: RecordPlaintext,
18830
18998
  Scalar: Scalar,