@rolly-dev/wasm-signer 1.15.0 → 1.17.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/dist/node/rolly_wasm_signer.d.ts +44 -0
- package/dist/node/rolly_wasm_signer.js +151 -0
- package/dist/node/rolly_wasm_signer_bg.wasm +0 -0
- package/dist/node/rolly_wasm_signer_bg.wasm.d.ts +11 -0
- package/dist/node-inline/rolly_wasm_signer.d.ts +44 -0
- package/dist/node-inline/rolly_wasm_signer.js +152 -1
- package/dist/node-inline/rolly_wasm_signer.mjs +142 -2
- package/dist/node-inline/rolly_wasm_signer_bg.wasm.d.ts +11 -0
- package/dist/web/rolly_wasm_signer.d.ts +55 -0
- package/dist/web/rolly_wasm_signer.js +140 -0
- package/dist/web/rolly_wasm_signer_bg.wasm +0 -0
- package/dist/web/rolly_wasm_signer_bg.wasm.d.ts +11 -0
- package/js/browser.d.mts +10 -0
- package/js/browser.mjs +11 -0
- package/js/index.d.ts +11 -0
- package/js/node-inline.cjs +11 -0
- package/js/node-inline.mjs +11 -0
- package/js/node.cjs +11 -0
- package/js/node.mjs +11 -0
- package/js/react.d.mts +10 -0
- package/js/react.mjs +22 -0
- package/package.json +1 -1
|
@@ -21,12 +21,22 @@ export const compute_roll_plinko: (a: number, b: number, c: number) => number;
|
|
|
21
21
|
export const compute_server_seed_hash: (a: number, b: number, c: number) => void;
|
|
22
22
|
export const compute_user_seed_binding: (a: number, b: number, c: bigint, d: number, e: number, f: number, g: number) => void;
|
|
23
23
|
export const derive_session_key: (a: number, b: number, c: number) => void;
|
|
24
|
+
export const encode_keno_selected: (a: number, b: number, c: number) => void;
|
|
24
25
|
export const generate_user_secret: (a: number) => void;
|
|
25
26
|
export const generate_user_seed: (a: number) => void;
|
|
26
27
|
export const goldilocks_fields_to_hex: (a: number, b: number, c: number) => void;
|
|
27
28
|
export const goldilocks_reduce: (a: bigint) => bigint;
|
|
28
29
|
export const hash_balance_leaf: (a: number, b: number, c: number) => void;
|
|
30
|
+
export const keno_draw_count: () => number;
|
|
31
|
+
export const keno_is_valid_config: (a: number, b: number) => number;
|
|
32
|
+
export const keno_multiplier_table: (a: number, b: number, c: number) => void;
|
|
33
|
+
export const keno_numbers_range: () => number;
|
|
29
34
|
export const make_main_leaf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
35
|
+
export const plinko_is_valid_config: (a: number, b: number, c: number) => number;
|
|
36
|
+
export const plinko_max_rows: () => number;
|
|
37
|
+
export const plinko_min_rows: () => number;
|
|
38
|
+
export const plinko_multiplier_table: (a: number, b: number, c: number, d: number) => void;
|
|
39
|
+
export const plinko_num_sectors: () => number;
|
|
30
40
|
export const poseidon2_hash: (a: number, b: number, c: number) => void;
|
|
31
41
|
export const poseidon2_two_to_one: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
32
42
|
export const seed_hash_truncated: (a: number, b: number, c: number) => void;
|
|
@@ -34,6 +44,7 @@ export const session_public_key: (a: number, b: number, c: number, d: bigint) =>
|
|
|
34
44
|
export const string_to_user_seed: (a: number, b: number, c: number) => void;
|
|
35
45
|
export const string_to_user_seed_hex: (a: number, b: number, c: number) => void;
|
|
36
46
|
export const dice_rtp_percent: () => number;
|
|
47
|
+
export const keno_max_picks: () => number;
|
|
37
48
|
export const limbo_rtp_percent: () => number;
|
|
38
49
|
export const goldilocks_modulus: () => bigint;
|
|
39
50
|
export const __wbindgen_export: (a: number) => void;
|
|
@@ -208,6 +208,15 @@ export function derive_session_key(sig_bytes: Uint8Array): BigUint64Array;
|
|
|
208
208
|
*/
|
|
209
209
|
export function dice_rtp_percent(): number;
|
|
210
210
|
|
|
211
|
+
/**
|
|
212
|
+
* Encode 1-indexed Keno selected numbers into a bitmask pair `[lo, hi]`.
|
|
213
|
+
*
|
|
214
|
+
* `selected_1indexed`: player-chosen numbers as they come from the frontend (1..40).
|
|
215
|
+
* Returns `Uint32Array[2]`: `[lo, hi]` where `lo` covers numbers 0..29 and `hi` covers 30..39
|
|
216
|
+
* (0-indexed bit positions).
|
|
217
|
+
*/
|
|
218
|
+
export function encode_keno_selected(selected_1indexed: Uint8Array): Uint32Array;
|
|
219
|
+
|
|
211
220
|
/**
|
|
212
221
|
* Generate a cryptographically random user secret — 4 Goldilocks field elements.
|
|
213
222
|
*
|
|
@@ -276,6 +285,24 @@ export function goldilocks_reduce(value: bigint): bigint;
|
|
|
276
285
|
*/
|
|
277
286
|
export function hash_balance_leaf(raw: BigUint64Array): BigUint64Array;
|
|
278
287
|
|
|
288
|
+
export function keno_draw_count(): number;
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Whether a (risk, pick_count) pair is a valid Keno config.
|
|
292
|
+
*/
|
|
293
|
+
export function keno_is_valid_config(risk: number, pick_count: number): boolean;
|
|
294
|
+
|
|
295
|
+
export function keno_max_picks(): number;
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Returns the multiplier table (×10000) for the given Keno config.
|
|
299
|
+
* `risk`: 0=low, 1=medium, 2=high. `pick_count`: 1..10.
|
|
300
|
+
* Length = pick_count + 1. Returns empty vec for invalid combos.
|
|
301
|
+
*/
|
|
302
|
+
export function keno_multiplier_table(risk: number, pick_count: number): BigUint64Array;
|
|
303
|
+
|
|
304
|
+
export function keno_numbers_range(): number;
|
|
305
|
+
|
|
279
306
|
/**
|
|
280
307
|
* Limbo RTP percent (99). Canonical source for backend/frontend.
|
|
281
308
|
*/
|
|
@@ -299,6 +326,23 @@ export function limbo_rtp_percent(): number;
|
|
|
299
326
|
*/
|
|
300
327
|
export function make_main_leaf(balance_hash: BigUint64Array, pk_hash: BigUint64Array, address_hash: BigUint64Array): BigUint64Array;
|
|
301
328
|
|
|
329
|
+
/**
|
|
330
|
+
* Whether a (sector, rows, is_extreme) triple is a valid Plinko config.
|
|
331
|
+
*/
|
|
332
|
+
export function plinko_is_valid_config(sector: number, rows: number, is_extreme: boolean): boolean;
|
|
333
|
+
|
|
334
|
+
export function plinko_max_rows(): number;
|
|
335
|
+
|
|
336
|
+
export function plinko_min_rows(): number;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Returns the multiplier table (×10000) for the given Plinko config.
|
|
340
|
+
* Length = rows + 1. Returns empty vec for invalid combos.
|
|
341
|
+
*/
|
|
342
|
+
export function plinko_multiplier_table(sector: number, rows: number, is_extreme: boolean): BigUint64Array;
|
|
343
|
+
|
|
344
|
+
export function plinko_num_sectors(): number;
|
|
345
|
+
|
|
302
346
|
/**
|
|
303
347
|
* Poseidon2 hash of an arbitrary number of Goldilocks field elements.
|
|
304
348
|
*
|
|
@@ -402,12 +446,22 @@ export interface InitOutput {
|
|
|
402
446
|
readonly compute_server_seed_hash: (a: number, b: number, c: number) => void;
|
|
403
447
|
readonly compute_user_seed_binding: (a: number, b: number, c: bigint, d: number, e: number, f: number, g: number) => void;
|
|
404
448
|
readonly derive_session_key: (a: number, b: number, c: number) => void;
|
|
449
|
+
readonly encode_keno_selected: (a: number, b: number, c: number) => void;
|
|
405
450
|
readonly generate_user_secret: (a: number) => void;
|
|
406
451
|
readonly generate_user_seed: (a: number) => void;
|
|
407
452
|
readonly goldilocks_fields_to_hex: (a: number, b: number, c: number) => void;
|
|
408
453
|
readonly goldilocks_reduce: (a: bigint) => bigint;
|
|
409
454
|
readonly hash_balance_leaf: (a: number, b: number, c: number) => void;
|
|
455
|
+
readonly keno_draw_count: () => number;
|
|
456
|
+
readonly keno_is_valid_config: (a: number, b: number) => number;
|
|
457
|
+
readonly keno_multiplier_table: (a: number, b: number, c: number) => void;
|
|
458
|
+
readonly keno_numbers_range: () => number;
|
|
410
459
|
readonly make_main_leaf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
460
|
+
readonly plinko_is_valid_config: (a: number, b: number, c: number) => number;
|
|
461
|
+
readonly plinko_max_rows: () => number;
|
|
462
|
+
readonly plinko_min_rows: () => number;
|
|
463
|
+
readonly plinko_multiplier_table: (a: number, b: number, c: number, d: number) => void;
|
|
464
|
+
readonly plinko_num_sectors: () => number;
|
|
411
465
|
readonly poseidon2_hash: (a: number, b: number, c: number) => void;
|
|
412
466
|
readonly poseidon2_two_to_one: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
413
467
|
readonly seed_hash_truncated: (a: number, b: number, c: number) => void;
|
|
@@ -415,6 +469,7 @@ export interface InitOutput {
|
|
|
415
469
|
readonly string_to_user_seed: (a: number, b: number, c: number) => void;
|
|
416
470
|
readonly string_to_user_seed_hex: (a: number, b: number, c: number) => void;
|
|
417
471
|
readonly dice_rtp_percent: () => number;
|
|
472
|
+
readonly keno_max_picks: () => number;
|
|
418
473
|
readonly limbo_rtp_percent: () => number;
|
|
419
474
|
readonly goldilocks_modulus: () => bigint;
|
|
420
475
|
readonly __wbindgen_export: (a: number) => void;
|
|
@@ -485,6 +485,31 @@ export function dice_rtp_percent() {
|
|
|
485
485
|
return ret >>> 0;
|
|
486
486
|
}
|
|
487
487
|
|
|
488
|
+
/**
|
|
489
|
+
* Encode 1-indexed Keno selected numbers into a bitmask pair `[lo, hi]`.
|
|
490
|
+
*
|
|
491
|
+
* `selected_1indexed`: player-chosen numbers as they come from the frontend (1..40).
|
|
492
|
+
* Returns `Uint32Array[2]`: `[lo, hi]` where `lo` covers numbers 0..29 and `hi` covers 30..39
|
|
493
|
+
* (0-indexed bit positions).
|
|
494
|
+
* @param {Uint8Array} selected_1indexed
|
|
495
|
+
* @returns {Uint32Array}
|
|
496
|
+
*/
|
|
497
|
+
export function encode_keno_selected(selected_1indexed) {
|
|
498
|
+
try {
|
|
499
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
500
|
+
const ptr0 = passArray8ToWasm0(selected_1indexed, wasm.__wbindgen_export3);
|
|
501
|
+
const len0 = WASM_VECTOR_LEN;
|
|
502
|
+
wasm.encode_keno_selected(retptr, ptr0, len0);
|
|
503
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
504
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
505
|
+
var v2 = getArrayU32FromWasm0(r0, r1).slice();
|
|
506
|
+
wasm.__wbindgen_export2(r0, r1 * 4, 4);
|
|
507
|
+
return v2;
|
|
508
|
+
} finally {
|
|
509
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
|
|
488
513
|
/**
|
|
489
514
|
* Generate a cryptographically random user secret — 4 Goldilocks field elements.
|
|
490
515
|
*
|
|
@@ -626,6 +651,63 @@ export function hash_balance_leaf(raw) {
|
|
|
626
651
|
}
|
|
627
652
|
}
|
|
628
653
|
|
|
654
|
+
/**
|
|
655
|
+
* @returns {number}
|
|
656
|
+
*/
|
|
657
|
+
export function keno_draw_count() {
|
|
658
|
+
const ret = wasm.keno_draw_count();
|
|
659
|
+
return ret >>> 0;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* Whether a (risk, pick_count) pair is a valid Keno config.
|
|
664
|
+
* @param {number} risk
|
|
665
|
+
* @param {number} pick_count
|
|
666
|
+
* @returns {boolean}
|
|
667
|
+
*/
|
|
668
|
+
export function keno_is_valid_config(risk, pick_count) {
|
|
669
|
+
const ret = wasm.keno_is_valid_config(risk, pick_count);
|
|
670
|
+
return ret !== 0;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
/**
|
|
674
|
+
* @returns {number}
|
|
675
|
+
*/
|
|
676
|
+
export function keno_max_picks() {
|
|
677
|
+
const ret = wasm.keno_draw_count();
|
|
678
|
+
return ret >>> 0;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
/**
|
|
682
|
+
* Returns the multiplier table (×10000) for the given Keno config.
|
|
683
|
+
* `risk`: 0=low, 1=medium, 2=high. `pick_count`: 1..10.
|
|
684
|
+
* Length = pick_count + 1. Returns empty vec for invalid combos.
|
|
685
|
+
* @param {number} risk
|
|
686
|
+
* @param {number} pick_count
|
|
687
|
+
* @returns {BigUint64Array}
|
|
688
|
+
*/
|
|
689
|
+
export function keno_multiplier_table(risk, pick_count) {
|
|
690
|
+
try {
|
|
691
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
692
|
+
wasm.keno_multiplier_table(retptr, risk, pick_count);
|
|
693
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
694
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
695
|
+
var v1 = getArrayU64FromWasm0(r0, r1).slice();
|
|
696
|
+
wasm.__wbindgen_export2(r0, r1 * 8, 8);
|
|
697
|
+
return v1;
|
|
698
|
+
} finally {
|
|
699
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
* @returns {number}
|
|
705
|
+
*/
|
|
706
|
+
export function keno_numbers_range() {
|
|
707
|
+
const ret = wasm.keno_numbers_range();
|
|
708
|
+
return ret >>> 0;
|
|
709
|
+
}
|
|
710
|
+
|
|
629
711
|
/**
|
|
630
712
|
* Limbo RTP percent (99). Canonical source for backend/frontend.
|
|
631
713
|
* @returns {number}
|
|
@@ -675,6 +757,64 @@ export function make_main_leaf(balance_hash, pk_hash, address_hash) {
|
|
|
675
757
|
}
|
|
676
758
|
}
|
|
677
759
|
|
|
760
|
+
/**
|
|
761
|
+
* Whether a (sector, rows, is_extreme) triple is a valid Plinko config.
|
|
762
|
+
* @param {number} sector
|
|
763
|
+
* @param {number} rows
|
|
764
|
+
* @param {boolean} is_extreme
|
|
765
|
+
* @returns {boolean}
|
|
766
|
+
*/
|
|
767
|
+
export function plinko_is_valid_config(sector, rows, is_extreme) {
|
|
768
|
+
const ret = wasm.plinko_is_valid_config(sector, rows, is_extreme);
|
|
769
|
+
return ret !== 0;
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* @returns {number}
|
|
774
|
+
*/
|
|
775
|
+
export function plinko_max_rows() {
|
|
776
|
+
const ret = wasm.plinko_max_rows();
|
|
777
|
+
return ret >>> 0;
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
/**
|
|
781
|
+
* @returns {number}
|
|
782
|
+
*/
|
|
783
|
+
export function plinko_min_rows() {
|
|
784
|
+
const ret = wasm.plinko_min_rows();
|
|
785
|
+
return ret >>> 0;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
/**
|
|
789
|
+
* Returns the multiplier table (×10000) for the given Plinko config.
|
|
790
|
+
* Length = rows + 1. Returns empty vec for invalid combos.
|
|
791
|
+
* @param {number} sector
|
|
792
|
+
* @param {number} rows
|
|
793
|
+
* @param {boolean} is_extreme
|
|
794
|
+
* @returns {BigUint64Array}
|
|
795
|
+
*/
|
|
796
|
+
export function plinko_multiplier_table(sector, rows, is_extreme) {
|
|
797
|
+
try {
|
|
798
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
799
|
+
wasm.plinko_multiplier_table(retptr, sector, rows, is_extreme);
|
|
800
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
801
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
802
|
+
var v1 = getArrayU64FromWasm0(r0, r1).slice();
|
|
803
|
+
wasm.__wbindgen_export2(r0, r1 * 8, 8);
|
|
804
|
+
return v1;
|
|
805
|
+
} finally {
|
|
806
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
/**
|
|
811
|
+
* @returns {number}
|
|
812
|
+
*/
|
|
813
|
+
export function plinko_num_sectors() {
|
|
814
|
+
const ret = wasm.plinko_num_sectors();
|
|
815
|
+
return ret;
|
|
816
|
+
}
|
|
817
|
+
|
|
678
818
|
/**
|
|
679
819
|
* Poseidon2 hash of an arbitrary number of Goldilocks field elements.
|
|
680
820
|
*
|
|
Binary file
|
|
@@ -21,12 +21,22 @@ export const compute_roll_plinko: (a: number, b: number, c: number) => number;
|
|
|
21
21
|
export const compute_server_seed_hash: (a: number, b: number, c: number) => void;
|
|
22
22
|
export const compute_user_seed_binding: (a: number, b: number, c: bigint, d: number, e: number, f: number, g: number) => void;
|
|
23
23
|
export const derive_session_key: (a: number, b: number, c: number) => void;
|
|
24
|
+
export const encode_keno_selected: (a: number, b: number, c: number) => void;
|
|
24
25
|
export const generate_user_secret: (a: number) => void;
|
|
25
26
|
export const generate_user_seed: (a: number) => void;
|
|
26
27
|
export const goldilocks_fields_to_hex: (a: number, b: number, c: number) => void;
|
|
27
28
|
export const goldilocks_reduce: (a: bigint) => bigint;
|
|
28
29
|
export const hash_balance_leaf: (a: number, b: number, c: number) => void;
|
|
30
|
+
export const keno_draw_count: () => number;
|
|
31
|
+
export const keno_is_valid_config: (a: number, b: number) => number;
|
|
32
|
+
export const keno_multiplier_table: (a: number, b: number, c: number) => void;
|
|
33
|
+
export const keno_numbers_range: () => number;
|
|
29
34
|
export const make_main_leaf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
35
|
+
export const plinko_is_valid_config: (a: number, b: number, c: number) => number;
|
|
36
|
+
export const plinko_max_rows: () => number;
|
|
37
|
+
export const plinko_min_rows: () => number;
|
|
38
|
+
export const plinko_multiplier_table: (a: number, b: number, c: number, d: number) => void;
|
|
39
|
+
export const plinko_num_sectors: () => number;
|
|
30
40
|
export const poseidon2_hash: (a: number, b: number, c: number) => void;
|
|
31
41
|
export const poseidon2_two_to_one: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
32
42
|
export const seed_hash_truncated: (a: number, b: number, c: number) => void;
|
|
@@ -34,6 +44,7 @@ export const session_public_key: (a: number, b: number, c: number, d: bigint) =>
|
|
|
34
44
|
export const string_to_user_seed: (a: number, b: number, c: number) => void;
|
|
35
45
|
export const string_to_user_seed_hex: (a: number, b: number, c: number) => void;
|
|
36
46
|
export const dice_rtp_percent: () => number;
|
|
47
|
+
export const keno_max_picks: () => number;
|
|
37
48
|
export const limbo_rtp_percent: () => number;
|
|
38
49
|
export const goldilocks_modulus: () => bigint;
|
|
39
50
|
export const __wbindgen_export: (a: number) => void;
|
package/js/browser.d.mts
CHANGED
|
@@ -18,6 +18,16 @@ export {
|
|
|
18
18
|
compute_payout_dice,
|
|
19
19
|
compute_roll_dice,
|
|
20
20
|
compute_multi_dice,
|
|
21
|
+
plinko_min_rows,
|
|
22
|
+
plinko_max_rows,
|
|
23
|
+
plinko_num_sectors,
|
|
24
|
+
plinko_multiplier_table,
|
|
25
|
+
plinko_is_valid_config,
|
|
26
|
+
keno_numbers_range,
|
|
27
|
+
keno_draw_count,
|
|
28
|
+
keno_max_picks,
|
|
29
|
+
keno_multiplier_table,
|
|
30
|
+
keno_is_valid_config,
|
|
21
31
|
} from '../dist/web/rolly_wasm_signer.js';
|
|
22
32
|
|
|
23
33
|
export { default as init } from '../dist/web/rolly_wasm_signer.js';
|
package/js/browser.mjs
CHANGED
|
@@ -22,14 +22,25 @@ export {
|
|
|
22
22
|
compute_user_seed_binding,
|
|
23
23
|
derive_session_key,
|
|
24
24
|
dice_rtp_percent,
|
|
25
|
+
encode_keno_selected,
|
|
25
26
|
generate_user_secret,
|
|
26
27
|
generate_user_seed,
|
|
27
28
|
goldilocks_fields_to_hex,
|
|
28
29
|
goldilocks_modulus,
|
|
29
30
|
goldilocks_reduce,
|
|
30
31
|
hash_balance_leaf,
|
|
32
|
+
keno_draw_count,
|
|
33
|
+
keno_is_valid_config,
|
|
34
|
+
keno_max_picks,
|
|
35
|
+
keno_multiplier_table,
|
|
36
|
+
keno_numbers_range,
|
|
31
37
|
limbo_rtp_percent,
|
|
32
38
|
make_main_leaf,
|
|
39
|
+
plinko_is_valid_config,
|
|
40
|
+
plinko_max_rows,
|
|
41
|
+
plinko_min_rows,
|
|
42
|
+
plinko_multiplier_table,
|
|
43
|
+
plinko_num_sectors,
|
|
33
44
|
poseidon2_hash,
|
|
34
45
|
poseidon2_two_to_one,
|
|
35
46
|
seed_hash_truncated,
|
package/js/index.d.ts
CHANGED
|
@@ -20,14 +20,25 @@ export {
|
|
|
20
20
|
compute_user_seed_binding,
|
|
21
21
|
derive_session_key,
|
|
22
22
|
dice_rtp_percent,
|
|
23
|
+
encode_keno_selected,
|
|
23
24
|
generate_user_secret,
|
|
24
25
|
generate_user_seed,
|
|
25
26
|
goldilocks_fields_to_hex,
|
|
26
27
|
goldilocks_modulus,
|
|
27
28
|
goldilocks_reduce,
|
|
28
29
|
hash_balance_leaf,
|
|
30
|
+
keno_draw_count,
|
|
31
|
+
keno_is_valid_config,
|
|
32
|
+
keno_max_picks,
|
|
33
|
+
keno_multiplier_table,
|
|
34
|
+
keno_numbers_range,
|
|
29
35
|
limbo_rtp_percent,
|
|
30
36
|
make_main_leaf,
|
|
37
|
+
plinko_is_valid_config,
|
|
38
|
+
plinko_max_rows,
|
|
39
|
+
plinko_min_rows,
|
|
40
|
+
plinko_multiplier_table,
|
|
41
|
+
plinko_num_sectors,
|
|
31
42
|
poseidon2_hash,
|
|
32
43
|
poseidon2_two_to_one,
|
|
33
44
|
seed_hash_truncated,
|
package/js/node-inline.cjs
CHANGED
|
@@ -24,14 +24,25 @@ module.exports = {
|
|
|
24
24
|
compute_user_seed_binding: wasm.compute_user_seed_binding,
|
|
25
25
|
derive_session_key: wasm.derive_session_key,
|
|
26
26
|
dice_rtp_percent: wasm.dice_rtp_percent,
|
|
27
|
+
encode_keno_selected: wasm.encode_keno_selected,
|
|
27
28
|
generate_user_secret: wasm.generate_user_secret,
|
|
28
29
|
generate_user_seed: wasm.generate_user_seed,
|
|
29
30
|
goldilocks_fields_to_hex: wasm.goldilocks_fields_to_hex,
|
|
30
31
|
goldilocks_modulus: wasm.goldilocks_modulus,
|
|
31
32
|
goldilocks_reduce: wasm.goldilocks_reduce,
|
|
32
33
|
hash_balance_leaf: wasm.hash_balance_leaf,
|
|
34
|
+
keno_draw_count: wasm.keno_draw_count,
|
|
35
|
+
keno_is_valid_config: wasm.keno_is_valid_config,
|
|
36
|
+
keno_max_picks: wasm.keno_max_picks,
|
|
37
|
+
keno_multiplier_table: wasm.keno_multiplier_table,
|
|
38
|
+
keno_numbers_range: wasm.keno_numbers_range,
|
|
33
39
|
limbo_rtp_percent: wasm.limbo_rtp_percent,
|
|
34
40
|
make_main_leaf: wasm.make_main_leaf,
|
|
41
|
+
plinko_is_valid_config: wasm.plinko_is_valid_config,
|
|
42
|
+
plinko_max_rows: wasm.plinko_max_rows,
|
|
43
|
+
plinko_min_rows: wasm.plinko_min_rows,
|
|
44
|
+
plinko_multiplier_table: wasm.plinko_multiplier_table,
|
|
45
|
+
plinko_num_sectors: wasm.plinko_num_sectors,
|
|
35
46
|
poseidon2_hash: wasm.poseidon2_hash,
|
|
36
47
|
poseidon2_two_to_one: wasm.poseidon2_two_to_one,
|
|
37
48
|
seed_hash_truncated: wasm.seed_hash_truncated,
|
package/js/node-inline.mjs
CHANGED
|
@@ -20,14 +20,25 @@ export {
|
|
|
20
20
|
compute_user_seed_binding,
|
|
21
21
|
derive_session_key,
|
|
22
22
|
dice_rtp_percent,
|
|
23
|
+
encode_keno_selected,
|
|
23
24
|
generate_user_secret,
|
|
24
25
|
generate_user_seed,
|
|
25
26
|
goldilocks_fields_to_hex,
|
|
26
27
|
goldilocks_modulus,
|
|
27
28
|
goldilocks_reduce,
|
|
28
29
|
hash_balance_leaf,
|
|
30
|
+
keno_draw_count,
|
|
31
|
+
keno_is_valid_config,
|
|
32
|
+
keno_max_picks,
|
|
33
|
+
keno_multiplier_table,
|
|
34
|
+
keno_numbers_range,
|
|
29
35
|
limbo_rtp_percent,
|
|
30
36
|
make_main_leaf,
|
|
37
|
+
plinko_is_valid_config,
|
|
38
|
+
plinko_max_rows,
|
|
39
|
+
plinko_min_rows,
|
|
40
|
+
plinko_multiplier_table,
|
|
41
|
+
plinko_num_sectors,
|
|
31
42
|
poseidon2_hash,
|
|
32
43
|
poseidon2_two_to_one,
|
|
33
44
|
seed_hash_truncated,
|
package/js/node.cjs
CHANGED
|
@@ -24,14 +24,25 @@ module.exports = {
|
|
|
24
24
|
compute_user_seed_binding: wasm.compute_user_seed_binding,
|
|
25
25
|
derive_session_key: wasm.derive_session_key,
|
|
26
26
|
dice_rtp_percent: wasm.dice_rtp_percent,
|
|
27
|
+
encode_keno_selected: wasm.encode_keno_selected,
|
|
27
28
|
generate_user_secret: wasm.generate_user_secret,
|
|
28
29
|
generate_user_seed: wasm.generate_user_seed,
|
|
29
30
|
goldilocks_fields_to_hex: wasm.goldilocks_fields_to_hex,
|
|
30
31
|
goldilocks_modulus: wasm.goldilocks_modulus,
|
|
31
32
|
goldilocks_reduce: wasm.goldilocks_reduce,
|
|
32
33
|
hash_balance_leaf: wasm.hash_balance_leaf,
|
|
34
|
+
keno_draw_count: wasm.keno_draw_count,
|
|
35
|
+
keno_is_valid_config: wasm.keno_is_valid_config,
|
|
36
|
+
keno_max_picks: wasm.keno_max_picks,
|
|
37
|
+
keno_multiplier_table: wasm.keno_multiplier_table,
|
|
38
|
+
keno_numbers_range: wasm.keno_numbers_range,
|
|
33
39
|
limbo_rtp_percent: wasm.limbo_rtp_percent,
|
|
34
40
|
make_main_leaf: wasm.make_main_leaf,
|
|
41
|
+
plinko_is_valid_config: wasm.plinko_is_valid_config,
|
|
42
|
+
plinko_max_rows: wasm.plinko_max_rows,
|
|
43
|
+
plinko_min_rows: wasm.plinko_min_rows,
|
|
44
|
+
plinko_multiplier_table: wasm.plinko_multiplier_table,
|
|
45
|
+
plinko_num_sectors: wasm.plinko_num_sectors,
|
|
35
46
|
poseidon2_hash: wasm.poseidon2_hash,
|
|
36
47
|
poseidon2_two_to_one: wasm.poseidon2_two_to_one,
|
|
37
48
|
seed_hash_truncated: wasm.seed_hash_truncated,
|
package/js/node.mjs
CHANGED
|
@@ -25,14 +25,25 @@ export const {
|
|
|
25
25
|
compute_user_seed_binding,
|
|
26
26
|
derive_session_key,
|
|
27
27
|
dice_rtp_percent,
|
|
28
|
+
encode_keno_selected,
|
|
28
29
|
generate_user_secret,
|
|
29
30
|
generate_user_seed,
|
|
30
31
|
goldilocks_fields_to_hex,
|
|
31
32
|
goldilocks_modulus,
|
|
32
33
|
goldilocks_reduce,
|
|
33
34
|
hash_balance_leaf,
|
|
35
|
+
keno_draw_count,
|
|
36
|
+
keno_is_valid_config,
|
|
37
|
+
keno_max_picks,
|
|
38
|
+
keno_multiplier_table,
|
|
39
|
+
keno_numbers_range,
|
|
34
40
|
limbo_rtp_percent,
|
|
35
41
|
make_main_leaf,
|
|
42
|
+
plinko_is_valid_config,
|
|
43
|
+
plinko_max_rows,
|
|
44
|
+
plinko_min_rows,
|
|
45
|
+
plinko_multiplier_table,
|
|
46
|
+
plinko_num_sectors,
|
|
36
47
|
poseidon2_hash,
|
|
37
48
|
poseidon2_two_to_one,
|
|
38
49
|
seed_hash_truncated,
|
package/js/react.d.mts
CHANGED
|
@@ -36,6 +36,16 @@ export interface RollyWasmResult {
|
|
|
36
36
|
coinflip_rtp_percent: () => number;
|
|
37
37
|
coinflip_multiplier_x10000: () => number;
|
|
38
38
|
dice_rtp_percent: () => number;
|
|
39
|
+
plinko_min_rows: () => number;
|
|
40
|
+
plinko_max_rows: () => number;
|
|
41
|
+
plinko_num_sectors: () => number;
|
|
42
|
+
plinko_multiplier_table: (sector: number, rows: number, is_extreme: boolean) => BigUint64Array;
|
|
43
|
+
plinko_is_valid_config: (sector: number, rows: number, is_extreme: boolean) => boolean;
|
|
44
|
+
keno_numbers_range: () => number;
|
|
45
|
+
keno_draw_count: () => number;
|
|
46
|
+
keno_max_picks: () => number;
|
|
47
|
+
keno_multiplier_table: (risk: number, pick_count: number) => BigUint64Array;
|
|
48
|
+
keno_is_valid_config: (risk: number, pick_count: number) => boolean;
|
|
39
49
|
}
|
|
40
50
|
|
|
41
51
|
export function useRollyWasm(): RollyWasmResult;
|
package/js/react.mjs
CHANGED
|
@@ -21,14 +21,25 @@ import init, {
|
|
|
21
21
|
compute_user_seed_binding,
|
|
22
22
|
derive_session_key,
|
|
23
23
|
dice_rtp_percent,
|
|
24
|
+
encode_keno_selected,
|
|
24
25
|
generate_user_secret,
|
|
25
26
|
generate_user_seed,
|
|
26
27
|
goldilocks_fields_to_hex,
|
|
27
28
|
goldilocks_modulus,
|
|
28
29
|
goldilocks_reduce,
|
|
29
30
|
hash_balance_leaf,
|
|
31
|
+
keno_draw_count,
|
|
32
|
+
keno_is_valid_config,
|
|
33
|
+
keno_max_picks,
|
|
34
|
+
keno_multiplier_table,
|
|
35
|
+
keno_numbers_range,
|
|
30
36
|
limbo_rtp_percent,
|
|
31
37
|
make_main_leaf,
|
|
38
|
+
plinko_is_valid_config,
|
|
39
|
+
plinko_max_rows,
|
|
40
|
+
plinko_min_rows,
|
|
41
|
+
plinko_multiplier_table,
|
|
42
|
+
plinko_num_sectors,
|
|
32
43
|
poseidon2_hash,
|
|
33
44
|
poseidon2_two_to_one,
|
|
34
45
|
seed_hash_truncated,
|
|
@@ -69,14 +80,25 @@ const fns = {
|
|
|
69
80
|
compute_user_seed_binding: guard(compute_user_seed_binding),
|
|
70
81
|
derive_session_key: guard(derive_session_key),
|
|
71
82
|
dice_rtp_percent: guard(dice_rtp_percent),
|
|
83
|
+
encode_keno_selected: guard(encode_keno_selected),
|
|
72
84
|
generate_user_secret: guard(generate_user_secret),
|
|
73
85
|
generate_user_seed: guard(generate_user_seed),
|
|
74
86
|
goldilocks_fields_to_hex: guard(goldilocks_fields_to_hex),
|
|
75
87
|
goldilocks_modulus: guard(goldilocks_modulus),
|
|
76
88
|
goldilocks_reduce: guard(goldilocks_reduce),
|
|
77
89
|
hash_balance_leaf: guard(hash_balance_leaf),
|
|
90
|
+
keno_draw_count: guard(keno_draw_count),
|
|
91
|
+
keno_is_valid_config: guard(keno_is_valid_config),
|
|
92
|
+
keno_max_picks: guard(keno_max_picks),
|
|
93
|
+
keno_multiplier_table: guard(keno_multiplier_table),
|
|
94
|
+
keno_numbers_range: guard(keno_numbers_range),
|
|
78
95
|
limbo_rtp_percent: guard(limbo_rtp_percent),
|
|
79
96
|
make_main_leaf: guard(make_main_leaf),
|
|
97
|
+
plinko_is_valid_config: guard(plinko_is_valid_config),
|
|
98
|
+
plinko_max_rows: guard(plinko_max_rows),
|
|
99
|
+
plinko_min_rows: guard(plinko_min_rows),
|
|
100
|
+
plinko_multiplier_table: guard(plinko_multiplier_table),
|
|
101
|
+
plinko_num_sectors: guard(plinko_num_sectors),
|
|
80
102
|
poseidon2_hash: guard(poseidon2_hash),
|
|
81
103
|
poseidon2_two_to_one: guard(poseidon2_two_to_one),
|
|
82
104
|
seed_hash_truncated: guard(seed_hash_truncated),
|