@rolly-dev/wasm-signer 1.14.0 → 1.16.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 +9 -0
- package/dist/node/rolly_wasm_signer.js +26 -0
- package/dist/node/rolly_wasm_signer_bg.wasm +0 -0
- package/dist/node/rolly_wasm_signer_bg.wasm.d.ts +1 -0
- package/dist/node-inline/rolly_wasm_signer.d.ts +9 -0
- package/dist/node-inline/rolly_wasm_signer.js +27 -1
- package/dist/node-inline/rolly_wasm_signer.mjs +27 -2
- package/dist/node-inline/rolly_wasm_signer_bg.wasm.d.ts +1 -0
- package/dist/web/rolly_wasm_signer.d.ts +10 -0
- package/dist/web/rolly_wasm_signer.js +25 -0
- package/dist/web/rolly_wasm_signer_bg.wasm +0 -0
- package/dist/web/rolly_wasm_signer_bg.wasm.d.ts +1 -0
- package/js/browser.mjs +1 -0
- package/js/index.d.ts +1 -0
- package/js/node-inline.cjs +1 -0
- package/js/node-inline.mjs +1 -0
- package/js/node.cjs +1 -0
- package/js/node.mjs +1 -0
- package/js/react.d.mts +35 -19
- package/js/react.mjs +2 -0
- package/package.json +1 -1
|
@@ -21,6 +21,7 @@ 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;
|
|
@@ -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
|
*
|
|
@@ -402,6 +411,7 @@ export interface InitOutput {
|
|
|
402
411
|
readonly compute_server_seed_hash: (a: number, b: number, c: number) => void;
|
|
403
412
|
readonly compute_user_seed_binding: (a: number, b: number, c: bigint, d: number, e: number, f: number, g: number) => void;
|
|
404
413
|
readonly derive_session_key: (a: number, b: number, c: number) => void;
|
|
414
|
+
readonly encode_keno_selected: (a: number, b: number, c: number) => void;
|
|
405
415
|
readonly generate_user_secret: (a: number) => void;
|
|
406
416
|
readonly generate_user_seed: (a: number) => void;
|
|
407
417
|
readonly goldilocks_fields_to_hex: (a: number, b: number, c: 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
|
*
|
|
Binary file
|
|
@@ -21,6 +21,7 @@ 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;
|
package/js/browser.mjs
CHANGED
package/js/index.d.ts
CHANGED
package/js/node-inline.cjs
CHANGED
|
@@ -24,6 +24,7 @@ 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,
|
package/js/node-inline.mjs
CHANGED
package/js/node.cjs
CHANGED
|
@@ -24,6 +24,7 @@ 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,
|
package/js/node.mjs
CHANGED
package/js/react.d.mts
CHANGED
|
@@ -1,25 +1,41 @@
|
|
|
1
1
|
export interface RollyWasmResult {
|
|
2
2
|
ready: boolean;
|
|
3
3
|
error: Error | null;
|
|
4
|
-
poseidon2_hash:
|
|
5
|
-
poseidon2_two_to_one:
|
|
6
|
-
derive_session_key:
|
|
7
|
-
session_public_key:
|
|
8
|
-
compute_server_seed_hash:
|
|
9
|
-
seed_hash_truncated:
|
|
10
|
-
string_to_user_seed:
|
|
11
|
-
string_to_user_seed_hex:
|
|
12
|
-
generate_user_seed:
|
|
13
|
-
goldilocks_fields_to_hex:
|
|
14
|
-
goldilocks_modulus:
|
|
15
|
-
goldilocks_reduce:
|
|
16
|
-
amount_split:
|
|
17
|
-
compute_address_hash:
|
|
18
|
-
hash_balance_leaf:
|
|
19
|
-
make_main_leaf:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
4
|
+
poseidon2_hash: (input: BigUint64Array) => BigUint64Array;
|
|
5
|
+
poseidon2_two_to_one: (left: BigUint64Array, right: BigUint64Array) => BigUint64Array;
|
|
6
|
+
derive_session_key: (sig_bytes: Uint8Array) => BigUint64Array;
|
|
7
|
+
session_public_key: (session_key: BigUint64Array, session_expiry: bigint) => BigUint64Array;
|
|
8
|
+
compute_server_seed_hash: (server_seed: BigUint64Array) => BigUint64Array;
|
|
9
|
+
seed_hash_truncated: (server_seed: BigUint64Array) => BigUint64Array;
|
|
10
|
+
string_to_user_seed: (input: string) => BigUint64Array;
|
|
11
|
+
string_to_user_seed_hex: (input: string) => string;
|
|
12
|
+
generate_user_seed: () => string;
|
|
13
|
+
goldilocks_fields_to_hex: (fields: BigUint64Array) => string;
|
|
14
|
+
goldilocks_modulus: () => bigint;
|
|
15
|
+
goldilocks_reduce: (value: bigint) => bigint;
|
|
16
|
+
amount_split: (amount: bigint) => Uint32Array;
|
|
17
|
+
compute_address_hash: (address_hex: string) => BigUint64Array;
|
|
18
|
+
hash_balance_leaf: (raw: BigUint64Array) => BigUint64Array;
|
|
19
|
+
make_main_leaf: (balance_hash: BigUint64Array, pk_hash: BigUint64Array, address_hash: BigUint64Array) => BigUint64Array;
|
|
20
|
+
compute_prediction_hash: (game_id: number, p0: number, p1: number, p2: number) => BigUint64Array;
|
|
21
|
+
compute_prediction_hash_keno: (game_id: number, risk: number, pick_count: number, selected: Uint8Array) => BigUint64Array;
|
|
22
|
+
compute_user_seed_binding: (game_id: number, bet: bigint, pred_hash: BigUint64Array, secret: BigUint64Array) => BigUint64Array;
|
|
23
|
+
generate_user_secret: () => BigUint64Array;
|
|
24
|
+
compute_payout_dice: (random: BigUint64Array, bet_atomic: bigint, game_mode: number, prediction_lo: number, prediction_hi: number) => BigUint64Array;
|
|
25
|
+
compute_payout_limbo: (random: BigUint64Array, bet_atomic: bigint, prediction_x100: number) => BigUint64Array;
|
|
26
|
+
compute_payout_plinko: (random: BigUint64Array, bet_atomic: bigint, sector: number, rows: number, is_extreme: boolean) => BigUint64Array;
|
|
27
|
+
compute_payout_coinflip: (random: BigUint64Array, bet_atomic: bigint, prediction: number) => BigUint64Array;
|
|
28
|
+
compute_payout_keno: (random: BigUint64Array, bet_atomic: bigint, risk: number, selected: Uint8Array) => BigUint64Array;
|
|
29
|
+
compute_roll_dice: (random: BigUint64Array) => number;
|
|
30
|
+
compute_roll_limbo: (random: BigUint64Array) => number;
|
|
31
|
+
compute_roll_plinko: (random: BigUint64Array, rows: number) => number;
|
|
32
|
+
compute_roll_coinflip: (random: BigUint64Array) => number;
|
|
33
|
+
compute_drawn_keno: (random: BigUint64Array) => Uint8Array;
|
|
34
|
+
compute_multi_dice: (win_numbers: number) => bigint;
|
|
35
|
+
limbo_rtp_percent: () => number;
|
|
36
|
+
coinflip_rtp_percent: () => number;
|
|
37
|
+
coinflip_multiplier_x10000: () => number;
|
|
38
|
+
dice_rtp_percent: () => number;
|
|
23
39
|
}
|
|
24
40
|
|
|
25
41
|
export function useRollyWasm(): RollyWasmResult;
|
package/js/react.mjs
CHANGED
|
@@ -21,6 +21,7 @@ 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,
|
|
@@ -69,6 +70,7 @@ const fns = {
|
|
|
69
70
|
compute_user_seed_binding: guard(compute_user_seed_binding),
|
|
70
71
|
derive_session_key: guard(derive_session_key),
|
|
71
72
|
dice_rtp_percent: guard(dice_rtp_percent),
|
|
73
|
+
encode_keno_selected: guard(encode_keno_selected),
|
|
72
74
|
generate_user_secret: guard(generate_user_secret),
|
|
73
75
|
generate_user_seed: guard(generate_user_seed),
|
|
74
76
|
goldilocks_fields_to_hex: guard(goldilocks_fields_to_hex),
|