@rolly-dev/wasm-signer 0.12.0 → 1.0.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/README.md +10 -13
- package/dist/node/README.md +10 -13
- package/dist/node/rolly_wasm_signer.d.ts +41 -142
- package/dist/node/rolly_wasm_signer.js +96 -415
- package/dist/node/rolly_wasm_signer_bg.wasm +0 -0
- package/dist/node/rolly_wasm_signer_bg.wasm.d.ts +7 -15
- package/dist/node-inline/README.md +10 -13
- package/dist/node-inline/rolly_wasm_signer.d.ts +41 -142
- package/dist/node-inline/rolly_wasm_signer.js +97 -416
- package/dist/node-inline/rolly_wasm_signer.mjs +94 -405
- package/dist/node-inline/rolly_wasm_signer_bg.wasm.d.ts +7 -15
- package/dist/web/README.md +10 -13
- package/dist/web/rolly_wasm_signer.d.ts +48 -157
- package/dist/web/rolly_wasm_signer.js +92 -403
- package/dist/web/rolly_wasm_signer_bg.wasm +0 -0
- package/dist/web/rolly_wasm_signer_bg.wasm.d.ts +7 -15
- package/js/browser.d.mts +2 -10
- package/js/browser.mjs +2 -10
- package/js/index.d.ts +2 -10
- package/js/node-inline.cjs +2 -10
- package/js/node-inline.mjs +2 -10
- package/js/node.cjs +2 -10
- package/js/node.mjs +2 -10
- package/js/react.d.mts +3 -11
- package/js/react.mjs +4 -20
- package/package.json +1 -1
|
@@ -4,29 +4,21 @@ export const memory: WebAssembly.Memory;
|
|
|
4
4
|
export const amount_split: (a: number, b: bigint) => void;
|
|
5
5
|
export const compute_address_hash: (a: number, b: number, c: number) => void;
|
|
6
6
|
export const compute_server_seed_hash: (a: number, b: number, c: number) => void;
|
|
7
|
-
export const compute_tx_msg_hash: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint) => void;
|
|
8
|
-
export const create_bet_auth: (a: number, b: number, c: number, d: bigint, e: bigint) => void;
|
|
9
7
|
export const derive_session_key: (a: number, b: number, c: number) => void;
|
|
10
8
|
export const generate_user_seed: (a: number) => void;
|
|
11
9
|
export const goldilocks_fields_to_hex: (a: number, b: number, c: number) => void;
|
|
12
10
|
export const goldilocks_reduce: (a: bigint) => bigint;
|
|
11
|
+
export const hash_balance_leaf: (a: number, b: number, c: number) => void;
|
|
12
|
+
export const make_main_leaf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
13
13
|
export const poseidon2_hash: (a: number, b: number, c: number) => void;
|
|
14
14
|
export const poseidon2_two_to_one: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
15
|
-
export const schnorr_keygen: (a: number, b: number, c: number) => void;
|
|
16
|
-
export const schnorr_pk_encode: (a: number, b: number, c: number) => void;
|
|
17
|
-
export const schnorr_pk_hash: (a: number, b: number, c: number) => void;
|
|
18
|
-
export const schnorr_pk_hash_hex: (a: number, b: number, c: number) => void;
|
|
19
|
-
export const schnorr_pubkey: (a: number, b: number, c: number) => void;
|
|
20
|
-
export const schnorr_sign_cpk: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
21
|
-
export const schnorr_sign_tx: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: bigint) => number;
|
|
22
|
-
export const schnorr_verify_tx: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: bigint) => number;
|
|
23
15
|
export const seed_hash_truncated: (a: number, b: number, c: number) => void;
|
|
24
|
-
export const session_public_key: (a: number, b: number, c: number) => void;
|
|
16
|
+
export const session_public_key: (a: number, b: number, c: number, d: bigint) => void;
|
|
25
17
|
export const string_to_user_seed: (a: number, b: number, c: number) => void;
|
|
26
18
|
export const string_to_user_seed_hex: (a: number, b: number, c: number) => void;
|
|
27
19
|
export const goldilocks_modulus: () => bigint;
|
|
28
|
-
export const __wbindgen_export: (a: number
|
|
29
|
-
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
30
|
-
export const __wbindgen_export3: (a: number) => void;
|
|
20
|
+
export const __wbindgen_export: (a: number) => void;
|
|
31
21
|
export const __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
32
|
-
export const
|
|
22
|
+
export const __wbindgen_export2: (a: number, b: number, c: number) => void;
|
|
23
|
+
export const __wbindgen_export3: (a: number, b: number) => number;
|
|
24
|
+
export const __wbindgen_export4: (a: number, b: number, c: number, d: number) => number;
|
package/dist/web/README.md
CHANGED
|
@@ -23,7 +23,6 @@ const {
|
|
|
23
23
|
poseidon2_hash,
|
|
24
24
|
derive_session_key,
|
|
25
25
|
session_public_key,
|
|
26
|
-
create_bet_auth,
|
|
27
26
|
} = require('@rolly-dev/wasm-signer');
|
|
28
27
|
|
|
29
28
|
const hash = poseidon2_hash(BigUint64Array.from([1n, 2n, 3n]));
|
|
@@ -36,10 +35,11 @@ const hash = poseidon2_hash(BigUint64Array.from([1n, 2n, 3n]));
|
|
|
36
35
|
import {
|
|
37
36
|
poseidon2_hash,
|
|
38
37
|
derive_session_key,
|
|
39
|
-
|
|
38
|
+
session_public_key,
|
|
40
39
|
} from '@rolly-dev/wasm-signer';
|
|
41
40
|
|
|
42
|
-
const
|
|
41
|
+
const sessionKey = derive_session_key(metamaskSignatureBytes);
|
|
42
|
+
const pkHash = session_public_key(sessionKey, BigInt(expiryTimestamp));
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
### React
|
|
@@ -47,17 +47,15 @@ const hash = poseidon2_hash(BigUint64Array.from([1n, 2n, 3n]));
|
|
|
47
47
|
```jsx
|
|
48
48
|
import { useRollyWasm } from '@rolly-dev/wasm-signer/react';
|
|
49
49
|
|
|
50
|
-
function
|
|
51
|
-
const { ready,
|
|
50
|
+
function SessionInfo({ sessionKey, expiry }) {
|
|
51
|
+
const { ready, session_public_key } = useRollyWasm();
|
|
52
52
|
|
|
53
53
|
if (!ready) return <span>Loading...</span>;
|
|
54
54
|
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
// send auth to server...
|
|
58
|
-
};
|
|
55
|
+
const pkHash = session_public_key(sessionKey, BigInt(expiry));
|
|
56
|
+
// register pkHash on-chain via key_register tx...
|
|
59
57
|
|
|
60
|
-
return <
|
|
58
|
+
return <div>Session active until {new Date(Number(expiry) * 1000).toLocaleString()}</div>;
|
|
61
59
|
}
|
|
62
60
|
```
|
|
63
61
|
|
|
@@ -89,10 +87,9 @@ poseidon2_hash(BigUint64Array.from([1n]));
|
|
|
89
87
|
| `poseidon2_hash` | `BigUint64Array` | `BigUint64Array(4)` | Hash N field elements |
|
|
90
88
|
| `poseidon2_two_to_one` | `BigUint64Array(4)` × 2 | `BigUint64Array(4)` | Merkle hash: H(left‖right) |
|
|
91
89
|
| `derive_session_key` | `Uint8Array(32)` | `BigUint64Array(4)` | MetaMask sig → session key |
|
|
92
|
-
| `session_public_key` | `BigUint64Array(4)`
|
|
93
|
-
| `create_bet_auth` | `(BigUint64Array(4), bigint, bigint)` | `BigUint64Array(4)` | MAC = H(sk‖amount_lo‖amount_hi‖nonce) |
|
|
90
|
+
| `session_public_key` | `(BigUint64Array(4), bigint)` | `BigUint64Array(4)` | pk_hash = Poseidon2(session_key, expiry) |
|
|
94
91
|
| `compute_server_seed_hash` | `BigUint64Array(8)` | `BigUint64Array(4)` | Full hash of server seed |
|
|
95
|
-
| `seed_hash_truncated` | `BigUint64Array(8)` | `BigUint64Array(
|
|
92
|
+
| `seed_hash_truncated` | `BigUint64Array(8)` | `BigUint64Array(3)` | First 3 elements (circuit leaf format, 192-bit commitment) |
|
|
96
93
|
| `goldilocks_modulus` | — | `bigint` | Returns p = 2^64 - 2^32 + 1 |
|
|
97
94
|
| `goldilocks_reduce` | `bigint` | `bigint` | Reduce mod p |
|
|
98
95
|
|
|
@@ -22,7 +22,7 @@ export function compute_address_hash(address_hex: string): BigUint64Array;
|
|
|
22
22
|
* Full Poseidon2 hash of an 8-element server seed.
|
|
23
23
|
*
|
|
24
24
|
* Returns all 4 hash elements. Note: the circuit stores only the
|
|
25
|
-
* **first
|
|
25
|
+
* **first 3 elements** as the leaf commitment (see `seed_hash_truncated`).
|
|
26
26
|
* This full variant is useful for client-side verification where all
|
|
27
27
|
* 4 elements may be needed.
|
|
28
28
|
*
|
|
@@ -30,45 +30,6 @@ export function compute_address_hash(address_hex: string): BigUint64Array;
|
|
|
30
30
|
*/
|
|
31
31
|
export function compute_server_seed_hash(server_seed: BigUint64Array): BigUint64Array;
|
|
32
32
|
|
|
33
|
-
/**
|
|
34
|
-
* Compute the transaction message hash (for debugging / verification).
|
|
35
|
-
*
|
|
36
|
-
* Returns `BigUint64Array` of length 4 — the same hash the circuit computes.
|
|
37
|
-
*
|
|
38
|
-
* ```js
|
|
39
|
-
* const hash = compute_tx_msg_hash(5, userId, 0, amountLo, amountHi);
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export function compute_tx_msg_hash(tx_type: number, user_id: number, currency_id: number, amount_lo: number, amount_hi: number, session_expiry: bigint): BigUint64Array;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Create a `bet_auth` MAC that proves the user authorized this specific bet.
|
|
46
|
-
*
|
|
47
|
-
* ```text
|
|
48
|
-
* bet_auth = Poseidon2(
|
|
49
|
-
* session_key[0..4], // 4 field elements (private)
|
|
50
|
-
* amount_lo, // lower 32 bits of bet_amount
|
|
51
|
-
* amount_hi, // upper 32 bits of bet_amount
|
|
52
|
-
* nonce, // monotonic counter, prevents replay
|
|
53
|
-
* )
|
|
54
|
-
* ```
|
|
55
|
-
*
|
|
56
|
-
* The circuit verifies two things:
|
|
57
|
-
* 1. `session_pk == Poseidon2(session_key)` — knowledge of key
|
|
58
|
-
* 2. `bet_auth == Poseidon2(session_key ‖ amount_lo ‖ amount_hi ‖ nonce)`
|
|
59
|
-
*
|
|
60
|
-
* The lo/hi split matches `src/circuit/main_circuit.rs` witness assignment:
|
|
61
|
-
* `amount as u32` / `(amount >> 32) as u32`, both via `from_canonical_u32`.
|
|
62
|
-
*
|
|
63
|
-
* **Parameters**
|
|
64
|
-
* - `session_key` : 4 × u64 (private, from `derive_session_key`)
|
|
65
|
-
* - `bet_amount` : u64 (in smallest currency units)
|
|
66
|
-
* - `nonce` : u64 (incrementing per-session counter)
|
|
67
|
-
*
|
|
68
|
-
* **Returns**: 4 × u64 (`bet_auth` hash)
|
|
69
|
-
*/
|
|
70
|
-
export function create_bet_auth(session_key: BigUint64Array, bet_amount: bigint, nonce: bigint): BigUint64Array;
|
|
71
|
-
|
|
72
33
|
/**
|
|
73
34
|
* Derive a session key from 32 bytes of entropy (e.g. MetaMask signature).
|
|
74
35
|
*
|
|
@@ -126,151 +87,89 @@ export function goldilocks_modulus(): bigint;
|
|
|
126
87
|
export function goldilocks_reduce(value: bigint): bigint;
|
|
127
88
|
|
|
128
89
|
/**
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
* Mirrors `builder.hash_n_to_hash_no_pad::<Poseidon2Hash>(...)` inside
|
|
132
|
-
* the circuit and `Poseidon2Hash::hash_no_pad` in `src/block_builder`.
|
|
133
|
-
*
|
|
134
|
-
* **Input** : `BigUint64Array` — each element must be < `GOLDILOCKS_P`.
|
|
135
|
-
* **Output**: `BigUint64Array` of length 4 (one `HashOut`).
|
|
136
|
-
*
|
|
137
|
-
* ```js
|
|
138
|
-
* const h = poseidon2_hash(BigUint64Array.from([1n, 2n, 3n]));
|
|
139
|
-
* // h.length === 4
|
|
140
|
-
* ```
|
|
141
|
-
*/
|
|
142
|
-
export function poseidon2_hash(input: BigUint64Array): BigUint64Array;
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Merkle-tree hash: Poseidon2(left[4] ‖ right[4]).
|
|
146
|
-
*
|
|
147
|
-
* Identical to `poseidon_hash(left, right)` in `src/merkletree/hash.rs`.
|
|
148
|
-
* Input ordering is critical — `left` concatenated before `right`.
|
|
149
|
-
*
|
|
150
|
-
* Both arrays **must** have exactly 4 elements (one `HashOut` each).
|
|
151
|
-
*/
|
|
152
|
-
export function poseidon2_two_to_one(left: BigUint64Array, right: BigUint64Array): BigUint64Array;
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Derive a Schnorr secret key from entropy bytes (e.g. MetaMask signature).
|
|
156
|
-
*
|
|
157
|
-
* Takes at least 32 bytes, uses `Scalar::decode_reduce` to map them into
|
|
158
|
-
* the ECgFp5 scalar field. Returns hex-encoded secret key (80 chars = 40 bytes).
|
|
159
|
-
*
|
|
160
|
-
* ```js
|
|
161
|
-
* const skHex = schnorr_keygen(sigBytes.slice(0, 32));
|
|
162
|
-
* ```
|
|
163
|
-
*/
|
|
164
|
-
export function schnorr_keygen(entropy: Uint8Array): string;
|
|
165
|
-
|
|
166
|
-
/**
|
|
167
|
-
* Get the w-encoding of a public key as 5 Goldilocks field elements (for circuit witness).
|
|
90
|
+
* Hash a raw 7-element balance leaf → 4-element Merkle node.
|
|
168
91
|
*
|
|
169
|
-
*
|
|
92
|
+
* Raw layout: `[balance_lo, balance_hi, seed_hash_0, seed_hash_1, seed_hash_2, credit_lo, credit_hi]`
|
|
170
93
|
*
|
|
171
|
-
*
|
|
172
|
-
* const encode = schnorr_pk_encode(pkHex);
|
|
173
|
-
* // encode.length === 5
|
|
174
|
-
* ```
|
|
175
|
-
*/
|
|
176
|
-
export function schnorr_pk_encode(pk_hex: string): BigUint64Array;
|
|
177
|
-
|
|
178
|
-
/**
|
|
179
|
-
* Compute pk_hash = Poseidon2(w_encoding[5]) from a hex-encoded public key.
|
|
180
|
-
*
|
|
181
|
-
* The w-encoding is the 40-byte (80 hex) representation returned by `schnorr_pubkey`.
|
|
182
|
-
* pk_hash is stored in the Merkle tree to bind the Schnorr key to an account.
|
|
183
|
-
*
|
|
184
|
-
* Returns `BigUint64Array` of length 4.
|
|
185
|
-
*
|
|
186
|
-
* ```js
|
|
187
|
-
* const pkHash = schnorr_pk_hash(pkHex);
|
|
188
|
-
* ```
|
|
189
|
-
*/
|
|
190
|
-
export function schnorr_pk_hash(pk_hex: string): BigUint64Array;
|
|
191
|
-
|
|
192
|
-
/**
|
|
193
|
-
* Compute pk_hash as a hex string (for convenience).
|
|
194
|
-
*
|
|
195
|
-
* ```js
|
|
196
|
-
* const pkHashHex = schnorr_pk_hash_hex(pkHex);
|
|
197
|
-
* ```
|
|
198
|
-
*/
|
|
199
|
-
export function schnorr_pk_hash_hex(pk_hex: string): string;
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Compute the Schnorr public key from a hex-encoded secret key.
|
|
94
|
+
* Identical to `hash_balance_leaf` in `prover/circuit/src/helpers/leaf_ops.rs`.
|
|
203
95
|
*
|
|
204
|
-
*
|
|
96
|
+
* **Input** : `BigUint64Array` of exactly 7 elements (each < `GOLDILOCKS_P`).
|
|
97
|
+
* **Output**: `BigUint64Array` of length 4 (one `HashOut`).
|
|
205
98
|
*
|
|
206
99
|
* ```js
|
|
207
|
-
* const
|
|
100
|
+
* const raw = BigUint64Array.from([balLo, balHi, seed0, seed1, seed2, credLo, credHi]);
|
|
101
|
+
* const balanceHash = hash_balance_leaf(raw); // length 4
|
|
208
102
|
* ```
|
|
209
103
|
*/
|
|
210
|
-
export function
|
|
104
|
+
export function hash_balance_leaf(raw: BigUint64Array): BigUint64Array;
|
|
211
105
|
|
|
212
106
|
/**
|
|
213
|
-
*
|
|
107
|
+
* Build a main Merkle tree leaf from balance_hash, pk_hash, and address_hash.
|
|
214
108
|
*
|
|
215
|
-
*
|
|
109
|
+
* `main_leaf = Poseidon2(balance_hash[4] || pk_hash[0..2] || address_hash[0..2])`
|
|
216
110
|
*
|
|
217
|
-
*
|
|
111
|
+
* Uses truncated (128-bit) pk/address hashes to keep the preimage at 8 elements
|
|
112
|
+
* (single Poseidon2 permutation round). Identical to `make_main_leaf` in
|
|
113
|
+
* `prover/circuit/src/helpers/leaf_ops.rs`.
|
|
218
114
|
*
|
|
219
|
-
*
|
|
115
|
+
* All three inputs must be exactly 4 elements.
|
|
116
|
+
* **Output**: `BigUint64Array` of length 4 (the Merkle leaf hash).
|
|
220
117
|
*
|
|
221
118
|
* ```js
|
|
222
|
-
* const
|
|
119
|
+
* const leaf = make_main_leaf(balanceHash, pkHash, addressHash);
|
|
223
120
|
* ```
|
|
224
121
|
*/
|
|
225
|
-
export function
|
|
122
|
+
export function make_main_leaf(balance_hash: BigUint64Array, pk_hash: BigUint64Array, address_hash: BigUint64Array): BigUint64Array;
|
|
226
123
|
|
|
227
124
|
/**
|
|
228
|
-
*
|
|
125
|
+
* Poseidon2 hash of an arbitrary number of Goldilocks field elements.
|
|
229
126
|
*
|
|
230
|
-
*
|
|
127
|
+
* Mirrors `builder.hash_n_to_hash_no_pad::<Poseidon2Hash>(...)` inside
|
|
128
|
+
* the circuit and `Poseidon2Hash::hash_no_pad` in `src/block_builder`.
|
|
231
129
|
*
|
|
232
|
-
*
|
|
130
|
+
* **Input** : `BigUint64Array` — each element must be < `GOLDILOCKS_P`.
|
|
131
|
+
* **Output**: `BigUint64Array` of length 4 (one `HashOut`).
|
|
233
132
|
*
|
|
234
133
|
* ```js
|
|
235
|
-
* const
|
|
236
|
-
* //
|
|
134
|
+
* const h = poseidon2_hash(BigUint64Array.from([1n, 2n, 3n]));
|
|
135
|
+
* // h.length === 4
|
|
237
136
|
* ```
|
|
238
137
|
*/
|
|
239
|
-
export function
|
|
138
|
+
export function poseidon2_hash(input: BigUint64Array): BigUint64Array;
|
|
240
139
|
|
|
241
140
|
/**
|
|
242
|
-
*
|
|
243
|
-
*
|
|
244
|
-
* Algorithm: R_v = s·G + e·pk, e_v = H(R_v‖pk‖msg), check e == e_v.
|
|
141
|
+
* Merkle-tree hash: Poseidon2(left[4] ‖ right[4]).
|
|
245
142
|
*
|
|
246
|
-
*
|
|
143
|
+
* Identical to `poseidon_hash(left, right)` in `src/merkletree/hash.rs`.
|
|
144
|
+
* Input ordering is critical — `left` concatenated before `right`.
|
|
247
145
|
*
|
|
248
|
-
*
|
|
249
|
-
* const ok = schnorr_verify_tx(pubkeyHex, sigSHex, sigEHex, 5, userId, 0, amountLo, amountHi);
|
|
250
|
-
* ```
|
|
146
|
+
* Both arrays **must** have exactly 4 elements (one `HashOut` each).
|
|
251
147
|
*/
|
|
252
|
-
export function
|
|
148
|
+
export function poseidon2_two_to_one(left: BigUint64Array, right: BigUint64Array): BigUint64Array;
|
|
253
149
|
|
|
254
150
|
/**
|
|
255
|
-
* Truncated seed hash — first
|
|
151
|
+
* Truncated seed hash — first 3 elements of `Poseidon2(server_seed)`.
|
|
256
152
|
*
|
|
153
|
+
* 192 bits of commitment → ~96-bit collision resistance, which closes the
|
|
154
|
+
* multi-preimage grinding vector that an earlier 128-bit truncation left open.
|
|
257
155
|
* This is the exact format stored in the Merkle-tree leaf and verified
|
|
258
156
|
* by the circuit. Matches `seed_hash_truncated` in
|
|
259
|
-
* `src/block_builder/builder.rs` and `src/circuit/
|
|
157
|
+
* `src/block_builder/builder.rs` and `src/circuit/slot/fairness.rs`.
|
|
260
158
|
*
|
|
261
|
-
* Returns `BigUint64Array` of length
|
|
159
|
+
* Returns `BigUint64Array` of length 3: `[h[0], h[1], h[2]]`.
|
|
262
160
|
*/
|
|
263
161
|
export function seed_hash_truncated(server_seed: BigUint64Array): BigUint64Array;
|
|
264
162
|
|
|
265
163
|
/**
|
|
266
|
-
* Compute the public key for a session: `
|
|
164
|
+
* Compute the public key for a session: `pk_hash = Poseidon2(session_key[4], expiry)`.
|
|
267
165
|
*
|
|
268
|
-
* The public key is stored in the user-asset Merkle leaf and verified
|
|
269
|
-
* inside the circuit (the prover must know the preimage `session_key`).
|
|
166
|
+
* The public key hash is stored in the user-asset Merkle leaf and verified
|
|
167
|
+
* inside the circuit (the prover must know the preimage `session_key` + `expiry`).
|
|
270
168
|
*
|
|
271
169
|
* `session_key` must be exactly 4 elements (output of `derive_session_key`).
|
|
170
|
+
* `session_expiry` is the Unix timestamp after which the session is invalid.
|
|
272
171
|
*/
|
|
273
|
-
export function session_public_key(session_key: BigUint64Array): BigUint64Array;
|
|
172
|
+
export function session_public_key(session_key: BigUint64Array, session_expiry: bigint): BigUint64Array;
|
|
274
173
|
|
|
275
174
|
/**
|
|
276
175
|
* Convert a user seed string to 4 Goldilocks field elements.
|
|
@@ -308,32 +207,24 @@ export interface InitOutput {
|
|
|
308
207
|
readonly amount_split: (a: number, b: bigint) => void;
|
|
309
208
|
readonly compute_address_hash: (a: number, b: number, c: number) => void;
|
|
310
209
|
readonly compute_server_seed_hash: (a: number, b: number, c: number) => void;
|
|
311
|
-
readonly compute_tx_msg_hash: (a: number, b: number, c: number, d: number, e: number, f: number, g: bigint) => void;
|
|
312
|
-
readonly create_bet_auth: (a: number, b: number, c: number, d: bigint, e: bigint) => void;
|
|
313
210
|
readonly derive_session_key: (a: number, b: number, c: number) => void;
|
|
314
211
|
readonly generate_user_seed: (a: number) => void;
|
|
315
212
|
readonly goldilocks_fields_to_hex: (a: number, b: number, c: number) => void;
|
|
316
213
|
readonly goldilocks_reduce: (a: bigint) => bigint;
|
|
214
|
+
readonly hash_balance_leaf: (a: number, b: number, c: number) => void;
|
|
215
|
+
readonly make_main_leaf: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
317
216
|
readonly poseidon2_hash: (a: number, b: number, c: number) => void;
|
|
318
217
|
readonly poseidon2_two_to_one: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
319
|
-
readonly schnorr_keygen: (a: number, b: number, c: number) => void;
|
|
320
|
-
readonly schnorr_pk_encode: (a: number, b: number, c: number) => void;
|
|
321
|
-
readonly schnorr_pk_hash: (a: number, b: number, c: number) => void;
|
|
322
|
-
readonly schnorr_pk_hash_hex: (a: number, b: number, c: number) => void;
|
|
323
|
-
readonly schnorr_pubkey: (a: number, b: number, c: number) => void;
|
|
324
|
-
readonly schnorr_sign_cpk: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
325
|
-
readonly schnorr_sign_tx: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: bigint) => number;
|
|
326
|
-
readonly schnorr_verify_tx: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: bigint) => number;
|
|
327
218
|
readonly seed_hash_truncated: (a: number, b: number, c: number) => void;
|
|
328
|
-
readonly session_public_key: (a: number, b: number, c: number) => void;
|
|
219
|
+
readonly session_public_key: (a: number, b: number, c: number, d: bigint) => void;
|
|
329
220
|
readonly string_to_user_seed: (a: number, b: number, c: number) => void;
|
|
330
221
|
readonly string_to_user_seed_hex: (a: number, b: number, c: number) => void;
|
|
331
222
|
readonly goldilocks_modulus: () => bigint;
|
|
332
|
-
readonly __wbindgen_export: (a: number
|
|
333
|
-
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
334
|
-
readonly __wbindgen_export3: (a: number) => void;
|
|
223
|
+
readonly __wbindgen_export: (a: number) => void;
|
|
335
224
|
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
336
|
-
readonly
|
|
225
|
+
readonly __wbindgen_export2: (a: number, b: number, c: number) => void;
|
|
226
|
+
readonly __wbindgen_export3: (a: number, b: number) => number;
|
|
227
|
+
readonly __wbindgen_export4: (a: number, b: number, c: number, d: number) => number;
|
|
337
228
|
}
|
|
338
229
|
|
|
339
230
|
export type SyncInitInput = BufferSource | WebAssembly.Module;
|