@typeberry/lib 0.5.0-5c5fc1c → 0.5.0-70ae055
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/index.cjs +369 -1015
- package/index.d.ts +49 -41
- package/index.js +369 -1015
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1960,6 +1960,8 @@ declare class TruncatedHashDictionary<T extends OpaqueHash, V> {
|
|
|
1960
1960
|
set(key: T | TruncatedHash, value: V): void;
|
|
1961
1961
|
/** Remove a value that matches the key on `TRUNCATED_HASH_SIZE`. */
|
|
1962
1962
|
delete(key: T | TruncatedHash): void;
|
|
1963
|
+
/** Iterator over keys of the dictionary. */
|
|
1964
|
+
keys(): Iterator<TruncatedHash, any, any> & Iterable<TruncatedHash>;
|
|
1963
1965
|
/** Iterator over values of the dictionary. */
|
|
1964
1966
|
values(): Iterator<V, any, any> & Iterable<V>;
|
|
1965
1967
|
/** Iterator over entries of the dictionary (with truncated keys) */
|
|
@@ -2011,12 +2013,26 @@ declare namespace bandersnatch_d_exports {
|
|
|
2011
2013
|
/* tslint:disable */
|
|
2012
2014
|
/* eslint-disable */
|
|
2013
2015
|
/**
|
|
2014
|
-
*
|
|
2015
|
-
*
|
|
2016
|
-
*
|
|
2017
|
-
*
|
|
2016
|
+
* Compute VRF output hash from a secret seed and input data.
|
|
2017
|
+
*
|
|
2018
|
+
* This function derives a deterministic VRF output hash without generating a proof.
|
|
2019
|
+
* Unlike `generate_seal`, this produces only the output hash, not a verifiable signature.
|
|
2020
|
+
*
|
|
2021
|
+
* # Arguments
|
|
2022
|
+
* * `secret_seed` - Seed used to derive the secret key
|
|
2023
|
+
* * `input` - VRF input data to be hashed
|
|
2024
|
+
*
|
|
2025
|
+
* # Returns
|
|
2026
|
+
* A byte vector with the following format:
|
|
2027
|
+
* - On success (33 bytes):
|
|
2028
|
+
* - Byte 0: Status code `0` (RESULT_OK)
|
|
2029
|
+
* - Bytes 1-32: VRF output hash (32 bytes)
|
|
2030
|
+
* - On error (1 byte):
|
|
2031
|
+
* - Byte 0: Status code `1` (RESULT_ERR)
|
|
2032
|
+
*
|
|
2033
|
+
* Returns an error if the input cannot be converted to a valid VRF input point.
|
|
2018
2034
|
*/
|
|
2019
|
-
declare function
|
|
2035
|
+
declare function vrf_output_hash(secret_seed: Uint8Array, input: Uint8Array): Uint8Array;
|
|
2020
2036
|
/**
|
|
2021
2037
|
* Verify multiple tickets at once as defined in:
|
|
2022
2038
|
* https://graypaper.fluffylabs.dev/#/68eaa1f/0f3e000f3e00?v=0.6.4
|
|
@@ -2024,6 +2040,17 @@ declare function verify_seal(signer_key: Uint8Array, seal_data: Uint8Array, payl
|
|
|
2024
2040
|
* NOTE: the aux_data of VRF function is empty!
|
|
2025
2041
|
*/
|
|
2026
2042
|
declare function batch_verify_tickets(ring_size: number, commitment: Uint8Array, tickets_data: Uint8Array, vrf_input_data_len: number): Uint8Array;
|
|
2043
|
+
/**
|
|
2044
|
+
* Generate ring commitment given concatenation of ring keys.
|
|
2045
|
+
*/
|
|
2046
|
+
declare function ring_commitment(keys: Uint8Array): Uint8Array;
|
|
2047
|
+
/**
|
|
2048
|
+
* Seal verification as defined in:
|
|
2049
|
+
* https://graypaper.fluffylabs.dev/#/68eaa1f/0eff000eff00?v=0.6.4
|
|
2050
|
+
* or
|
|
2051
|
+
* https://graypaper.fluffylabs.dev/#/68eaa1f/0e54010e5401?v=0.6.4
|
|
2052
|
+
*/
|
|
2053
|
+
declare function verify_seal(signer_key: Uint8Array, seal_data: Uint8Array, payload: Uint8Array, aux_data: Uint8Array): Uint8Array;
|
|
2027
2054
|
/**
|
|
2028
2055
|
* Generate seal that is verifiable using `verify_seal` function.
|
|
2029
2056
|
*
|
|
@@ -2051,31 +2078,6 @@ declare function generate_seal(secret_seed: Uint8Array, input: Uint8Array, aux_d
|
|
|
2051
2078
|
* returns: `Vec<u8>` containing the exit (1 byte) status followed by the (32 bytes) public key
|
|
2052
2079
|
*/
|
|
2053
2080
|
declare function derive_public_key(seed: Uint8Array): Uint8Array;
|
|
2054
|
-
/**
|
|
2055
|
-
* Compute VRF output hash from a secret seed and input data.
|
|
2056
|
-
*
|
|
2057
|
-
* This function derives a deterministic VRF output hash without generating a proof.
|
|
2058
|
-
* Unlike `generate_seal`, this produces only the output hash, not a verifiable signature.
|
|
2059
|
-
*
|
|
2060
|
-
* # Arguments
|
|
2061
|
-
* * `secret_seed` - Seed used to derive the secret key
|
|
2062
|
-
* * `input` - VRF input data to be hashed
|
|
2063
|
-
*
|
|
2064
|
-
* # Returns
|
|
2065
|
-
* A byte vector with the following format:
|
|
2066
|
-
* - On success (33 bytes):
|
|
2067
|
-
* - Byte 0: Status code `0` (RESULT_OK)
|
|
2068
|
-
* - Bytes 1-32: VRF output hash (32 bytes)
|
|
2069
|
-
* - On error (1 byte):
|
|
2070
|
-
* - Byte 0: Status code `1` (RESULT_ERR)
|
|
2071
|
-
*
|
|
2072
|
-
* Returns an error if the input cannot be converted to a valid VRF input point.
|
|
2073
|
-
*/
|
|
2074
|
-
declare function vrf_output_hash(secret_seed: Uint8Array, input: Uint8Array): Uint8Array;
|
|
2075
|
-
/**
|
|
2076
|
-
* Generate ring commitment given concatenation of ring keys.
|
|
2077
|
-
*/
|
|
2078
|
-
declare function ring_commitment(keys: Uint8Array): Uint8Array;
|
|
2079
2081
|
type InitInput$2 = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
2080
2082
|
interface InitOutput$2 {
|
|
2081
2083
|
readonly memory: WebAssembly.Memory;
|
|
@@ -2767,35 +2769,35 @@ declare class Header extends WithDebug {
|
|
|
2767
2769
|
*
|
|
2768
2770
|
* In case of the genesis block, the hash will be zero.
|
|
2769
2771
|
*/
|
|
2770
|
-
parentHeaderHash: HeaderHash;
|
|
2772
|
+
readonly parentHeaderHash: HeaderHash;
|
|
2771
2773
|
/** `H_r`: The state trie root hash before executing that block. */
|
|
2772
|
-
priorStateRoot: StateRootHash;
|
|
2774
|
+
readonly priorStateRoot: StateRootHash;
|
|
2773
2775
|
/** `H_x`: The hash of block extrinsic. */
|
|
2774
|
-
extrinsicHash: ExtrinsicHash;
|
|
2776
|
+
readonly extrinsicHash: ExtrinsicHash;
|
|
2775
2777
|
/** `H_t`: JAM time-slot index. */
|
|
2776
|
-
timeSlotIndex: TimeSlot;
|
|
2778
|
+
readonly timeSlotIndex: TimeSlot;
|
|
2777
2779
|
/**
|
|
2778
2780
|
* `H_e`: Key and entropy relevant to the following epoch in case the ticket
|
|
2779
2781
|
* contest does not complete adequately.
|
|
2780
2782
|
*/
|
|
2781
|
-
epochMarker: EpochMarker | null;
|
|
2783
|
+
readonly epochMarker: EpochMarker | null;
|
|
2782
2784
|
/**
|
|
2783
2785
|
* `H_w`: Winning tickets provides the series of 600 slot sealing "tickets"
|
|
2784
2786
|
* for the next epoch.
|
|
2785
2787
|
*/
|
|
2786
|
-
ticketsMarker: TicketsMarker | null;
|
|
2788
|
+
readonly ticketsMarker: TicketsMarker | null;
|
|
2787
2789
|
/** `H_i`: Block author's index in the current validator set. */
|
|
2788
|
-
bandersnatchBlockAuthorIndex: ValidatorIndex;
|
|
2790
|
+
readonly bandersnatchBlockAuthorIndex: ValidatorIndex;
|
|
2789
2791
|
/** `H_v`: Entropy-yielding VRF signature. */
|
|
2790
|
-
entropySource: BandersnatchVrfSignature;
|
|
2792
|
+
readonly entropySource: BandersnatchVrfSignature;
|
|
2791
2793
|
/** `H_o`: Sequence of keys of newly misbehaving validators. */
|
|
2792
|
-
offendersMarker: Ed25519Key[];
|
|
2794
|
+
readonly offendersMarker: Ed25519Key[];
|
|
2793
2795
|
/**
|
|
2794
2796
|
* `H_s`: Block seal.
|
|
2795
2797
|
*
|
|
2796
2798
|
* https://graypaper.fluffylabs.dev/#/579bd12/0d0c010d1101
|
|
2797
2799
|
*/
|
|
2798
|
-
seal: BandersnatchVrfSignature;
|
|
2800
|
+
readonly seal: BandersnatchVrfSignature;
|
|
2799
2801
|
private constructor();
|
|
2800
2802
|
/** Create an empty header with some dummy values. */
|
|
2801
2803
|
static empty(): Header;
|
|
@@ -6237,7 +6239,7 @@ declare function serializeStateUpdate(spec: ChainSpec, blake2b: Blake2b, update:
|
|
|
6237
6239
|
* State entries may be wrapped into `SerializedState` to access the contained values.
|
|
6238
6240
|
*/
|
|
6239
6241
|
declare class StateEntries {
|
|
6240
|
-
private readonly
|
|
6242
|
+
private readonly dictionary;
|
|
6241
6243
|
static Codec: Descriptor<StateEntries, StateEntries>;
|
|
6242
6244
|
/** Turn in-memory state into it's serialized form. */
|
|
6243
6245
|
static serializeInMemory(spec: ChainSpec, blake2b: Blake2b, state: InMemoryState): StateEntries;
|
|
@@ -6258,6 +6260,12 @@ declare class StateEntries {
|
|
|
6258
6260
|
private constructor();
|
|
6259
6261
|
/** When comparing, we can safely ignore `trieCache` and just use entries. */
|
|
6260
6262
|
[TEST_COMPARE_USING](): any;
|
|
6263
|
+
/** Iterator over entries */
|
|
6264
|
+
entries(): Generator<[TruncatedHash, BytesBlob]>;
|
|
6265
|
+
/** Iterator over entries keys */
|
|
6266
|
+
keys(): Generator<TruncatedHash>;
|
|
6267
|
+
/** Iterator over entries values */
|
|
6268
|
+
values(): Generator<BytesBlob>;
|
|
6261
6269
|
/** Dump state entries to JSON string (format compatible with stf vectors). */
|
|
6262
6270
|
toString(): string;
|
|
6263
6271
|
[Symbol.iterator](): Generator<[TruncatedHash, BytesBlob], any, any>;
|