@typeberry/lib 0.5.0 → 0.5.1-f5e8f92

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.
Files changed (4) hide show
  1. package/index.cjs +593 -585
  2. package/index.d.ts +203 -143
  3. package/index.js +593 -585
  4. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -142,14 +142,12 @@ declare namespace index$A {
142
142
  }
143
143
 
144
144
  declare enum GpVersion {
145
- V0_6_7 = "0.6.7",
146
145
  V0_7_0 = "0.7.0",
147
146
  V0_7_1 = "0.7.1",
148
147
  V0_7_2 = "0.7.2"
149
148
  }
150
149
  declare enum TestSuite {
151
- W3F_DAVXY = "w3f-davxy",
152
- JAMDUNA = "jamduna"
150
+ W3F_DAVXY = "w3f-davxy"
153
151
  }
154
152
  declare const DEFAULT_SUITE = TestSuite.W3F_DAVXY;
155
153
  declare const DEFAULT_VERSION = GpVersion.V0_7_2;
@@ -161,7 +159,6 @@ declare class Compatibility {
161
159
  static is(...version: GpVersion[]): boolean;
162
160
  static isSuite(suite: TestSuite, version?: GpVersion): boolean;
163
161
  static isGreaterOrEqual(version: GpVersion): boolean;
164
- static isLessThan(version: GpVersion): boolean;
165
162
  /**
166
163
  * Allows selecting different values for different Gray Paper versions from one record.
167
164
  *
@@ -1963,6 +1960,8 @@ declare class TruncatedHashDictionary<T extends OpaqueHash, V> {
1963
1960
  set(key: T | TruncatedHash, value: V): void;
1964
1961
  /** Remove a value that matches the key on `TRUNCATED_HASH_SIZE`. */
1965
1962
  delete(key: T | TruncatedHash): void;
1963
+ /** Iterator over keys of the dictionary. */
1964
+ keys(): Iterator<TruncatedHash, any, any> & Iterable<TruncatedHash>;
1966
1965
  /** Iterator over values of the dictionary. */
1967
1966
  values(): Iterator<V, any, any> & Iterable<V>;
1968
1967
  /** Iterator over entries of the dictionary (with truncated keys) */
@@ -2008,21 +2007,43 @@ declare namespace index$v {
2008
2007
  }
2009
2008
 
2010
2009
  declare namespace bandersnatch_d_exports {
2011
- export { batch_verify_tickets, __wbg_init$2 as default, derive_public_key, initSync$2 as initSync, ring_commitment, verify_seal };
2010
+ export { batch_verify_tickets, __wbg_init$2 as default, derive_public_key, generate_seal, initSync$2 as initSync, ring_commitment, verify_seal, vrf_output_hash };
2012
2011
  export type { InitInput$2 as InitInput, InitOutput$2 as InitOutput, SyncInitInput$2 as SyncInitInput };
2013
2012
  }
2014
2013
  /* tslint:disable */
2015
2014
  /* eslint-disable */
2016
2015
  /**
2017
- * Generate ring commitment given concatenation of ring keys.
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 ring_commitment(keys: Uint8Array): Uint8Array;
2035
+ declare function vrf_output_hash(secret_seed: Uint8Array, input: Uint8Array): Uint8Array;
2020
2036
  /**
2021
- * Derive Private and Public Key from Seed
2037
+ * Verify multiple tickets at once as defined in:
2038
+ * https://graypaper.fluffylabs.dev/#/68eaa1f/0f3e000f3e00?v=0.6.4
2022
2039
  *
2023
- * returns: `Vec<u8>` containing the exit (1 byte) status followed by the (32 bytes) public key
2040
+ * NOTE: the aux_data of VRF function is empty!
2024
2041
  */
2025
- declare function derive_public_key(seed: Uint8Array): Uint8Array;
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;
2026
2047
  /**
2027
2048
  * Seal verification as defined in:
2028
2049
  * https://graypaper.fluffylabs.dev/#/68eaa1f/0eff000eff00?v=0.6.4
@@ -2031,19 +2052,41 @@ declare function derive_public_key(seed: Uint8Array): Uint8Array;
2031
2052
  */
2032
2053
  declare function verify_seal(signer_key: Uint8Array, seal_data: Uint8Array, payload: Uint8Array, aux_data: Uint8Array): Uint8Array;
2033
2054
  /**
2034
- * Verify multiple tickets at once as defined in:
2035
- * https://graypaper.fluffylabs.dev/#/68eaa1f/0f3e000f3e00?v=0.6.4
2055
+ * Generate seal that is verifiable using `verify_seal` function.
2036
2056
  *
2037
- * NOTE: the aux_data of VRF function is empty!
2057
+ * # Arguments
2058
+ * * `secret_seed` - Seed used to derive the secret key
2059
+ * * `input` - VRF input data
2060
+ * * `aux_data` - Auxiliary data for the VRF proof
2061
+ *
2062
+ * # Returns
2063
+ * A byte vector with the following format:
2064
+ * - On success (97 bytes):
2065
+ * - Byte 0: Status code `0` (RESULT_OK)
2066
+ * - Bytes 1-32: Serialized VRF output (32 bytes, compressed) NOTE: not output hash!
2067
+ * - Bytes 33-96: Serialized IETF VRF proof (64 bytes, compressed)
2068
+ * - On error (1 byte):
2069
+ * - Byte 0: Status code `1` (RESULT_ERR)
2070
+ *
2071
+ * Returns an error if the input cannot be converted to a valid VRF input point
2072
+ * or if serialization of the output or proof fails.
2038
2073
  */
2039
- declare function batch_verify_tickets(ring_size: number, commitment: Uint8Array, tickets_data: Uint8Array, vrf_input_data_len: number): Uint8Array;
2074
+ declare function generate_seal(secret_seed: Uint8Array, input: Uint8Array, aux_data: Uint8Array): Uint8Array;
2075
+ /**
2076
+ * Derive Private and Public Key from Seed
2077
+ *
2078
+ * returns: `Vec<u8>` containing the exit (1 byte) status followed by the (32 bytes) public key
2079
+ */
2080
+ declare function derive_public_key(seed: Uint8Array): Uint8Array;
2040
2081
  type InitInput$2 = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
2041
2082
  interface InitOutput$2 {
2042
2083
  readonly memory: WebAssembly.Memory;
2043
- readonly ring_commitment: (a: number, b: number) => [number, number];
2084
+ readonly batch_verify_tickets: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
2044
2085
  readonly derive_public_key: (a: number, b: number) => [number, number];
2086
+ readonly generate_seal: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
2087
+ readonly ring_commitment: (a: number, b: number) => [number, number];
2045
2088
  readonly verify_seal: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number];
2046
- readonly batch_verify_tickets: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
2089
+ readonly vrf_output_hash: (a: number, b: number, c: number, d: number) => [number, number];
2047
2090
  readonly __wbindgen_export_0: WebAssembly.Table;
2048
2091
  readonly __wbindgen_malloc: (a: number, b: number) => number;
2049
2092
  readonly __wbindgen_free: (a: number, b: number, c: number) => void;
@@ -2693,7 +2736,7 @@ declare const encodeUnsealedHeader: (view: HeaderView) => BytesBlob;
2693
2736
  /**
2694
2737
  * The header of the JAM block.
2695
2738
  *
2696
- * https://graypaper.fluffylabs.dev/#/579bd12/0c66000c7200
2739
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/0c66000c7200?v=0.7.2
2697
2740
  */
2698
2741
  declare class Header extends WithDebug {
2699
2742
  static Codec: Descriptor<Header & CodecRecord<Header>, ViewOf<Header & CodecRecord<Header>, {
@@ -2715,9 +2758,9 @@ declare class Header extends WithDebug {
2715
2758
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
2716
2759
  }>>>;
2717
2760
  }> | null>;
2718
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2719
2761
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
2720
2762
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2763
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2721
2764
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2722
2765
  }>>;
2723
2766
  static create(h: CodecRecord<Header>): Header & CodecRecord<Header>;
@@ -2726,35 +2769,35 @@ declare class Header extends WithDebug {
2726
2769
  *
2727
2770
  * In case of the genesis block, the hash will be zero.
2728
2771
  */
2729
- parentHeaderHash: HeaderHash;
2772
+ readonly parentHeaderHash: HeaderHash;
2730
2773
  /** `H_r`: The state trie root hash before executing that block. */
2731
- priorStateRoot: StateRootHash;
2774
+ readonly priorStateRoot: StateRootHash;
2732
2775
  /** `H_x`: The hash of block extrinsic. */
2733
- extrinsicHash: ExtrinsicHash;
2776
+ readonly extrinsicHash: ExtrinsicHash;
2734
2777
  /** `H_t`: JAM time-slot index. */
2735
- timeSlotIndex: TimeSlot;
2778
+ readonly timeSlotIndex: TimeSlot;
2736
2779
  /**
2737
2780
  * `H_e`: Key and entropy relevant to the following epoch in case the ticket
2738
2781
  * contest does not complete adequately.
2739
2782
  */
2740
- epochMarker: EpochMarker | null;
2783
+ readonly epochMarker: EpochMarker | null;
2741
2784
  /**
2742
2785
  * `H_w`: Winning tickets provides the series of 600 slot sealing "tickets"
2743
2786
  * for the next epoch.
2744
2787
  */
2745
- ticketsMarker: TicketsMarker | null;
2788
+ readonly ticketsMarker: TicketsMarker | null;
2746
2789
  /** `H_i`: Block author's index in the current validator set. */
2747
- bandersnatchBlockAuthorIndex: ValidatorIndex;
2790
+ readonly bandersnatchBlockAuthorIndex: ValidatorIndex;
2748
2791
  /** `H_v`: Entropy-yielding VRF signature. */
2749
- entropySource: BandersnatchVrfSignature;
2792
+ readonly entropySource: BandersnatchVrfSignature;
2750
2793
  /** `H_o`: Sequence of keys of newly misbehaving validators. */
2751
- offendersMarker: Ed25519Key[];
2794
+ readonly offendersMarker: Ed25519Key[];
2752
2795
  /**
2753
2796
  * `H_s`: Block seal.
2754
2797
  *
2755
2798
  * https://graypaper.fluffylabs.dev/#/579bd12/0d0c010d1101
2756
2799
  */
2757
- seal: BandersnatchVrfSignature;
2800
+ readonly seal: BandersnatchVrfSignature;
2758
2801
  private constructor();
2759
2802
  /** Create an empty header with some dummy values. */
2760
2803
  static empty(): Header;
@@ -2781,9 +2824,9 @@ declare const headerViewWithHashCodec: Descriptor<WithHash<OpaqueHash & WithOpaq
2781
2824
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
2782
2825
  }>>>;
2783
2826
  }> | null>;
2784
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2785
2827
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
2786
2828
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2829
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2787
2830
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2788
2831
  }>>, ViewOf<WithHash<OpaqueHash & WithOpaque<"HeaderHash">, ViewOf<Header & CodecRecord<Header>, {
2789
2832
  parentHeaderHash: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
@@ -2804,9 +2847,9 @@ declare const headerViewWithHashCodec: Descriptor<WithHash<OpaqueHash & WithOpaq
2804
2847
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
2805
2848
  }>>>;
2806
2849
  }> | null>;
2807
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2808
2850
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
2809
2851
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2852
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2810
2853
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2811
2854
  }>>, {
2812
2855
  hash: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
@@ -2829,9 +2872,9 @@ declare const headerViewWithHashCodec: Descriptor<WithHash<OpaqueHash & WithOpaq
2829
2872
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
2830
2873
  }>>>;
2831
2874
  }> | null>;
2832
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2833
2875
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
2834
2876
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2877
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2835
2878
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2836
2879
  }>, ViewOf<Header & CodecRecord<Header>, {
2837
2880
  parentHeaderHash: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
@@ -2852,9 +2895,9 @@ declare const headerViewWithHashCodec: Descriptor<WithHash<OpaqueHash & WithOpaq
2852
2895
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
2853
2896
  }>>>;
2854
2897
  }> | null>;
2855
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2856
2898
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
2857
2899
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2900
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
2858
2901
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
2859
2902
  }>>;
2860
2903
  }>>;
@@ -3290,7 +3333,7 @@ declare function workItemExtrinsicsCodec(workItems: WorkItem[]): Descriptor<read
3290
3333
  /**
3291
3334
  * Work Item which is a part of some work package.
3292
3335
  *
3293
- * https://graypaper.fluffylabs.dev/#/579bd12/198b00199600
3336
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/1a86001a9100?v=0.7.2
3294
3337
  */
3295
3338
  declare class WorkItem extends WithDebug {
3296
3339
  /** `s`: related service */
@@ -3457,16 +3500,16 @@ declare class WorkPackageSpec extends WithDebug {
3457
3500
  /**
3458
3501
  * A report of execution of some work package.
3459
3502
  *
3460
- * https://graypaper.fluffylabs.dev/#/cc517d7/131c01132401?v=0.6.5
3503
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/13bb0113c301?v=0.7.2
3461
3504
  */
3462
- declare class WorkReportNoCodec extends WithDebug {
3505
+ declare class WorkReport extends WithDebug {
3463
3506
  /** `s`: Work package specification. */
3464
3507
  readonly workPackageSpec: WorkPackageSpec;
3465
- /** `x`: Refinement context. */
3508
+ /** `c`: Refinement context. */
3466
3509
  readonly context: RefineContext;
3467
- /** `c`: Core index on which the work is done. */
3510
+ /** *`c`*: Core index on which the work is done. */
3468
3511
  readonly coreIndex: CoreIndex;
3469
- /** `a`: Hash of the authorizer. */
3512
+ /** *`a`*: Hash of the authorizer. */
3470
3513
  readonly authorizerHash: AuthorizerHash;
3471
3514
  /** `o`: Authorization output. */
3472
3515
  readonly authorizationOutput: BytesBlob;
@@ -3477,17 +3520,56 @@ declare class WorkReportNoCodec extends WithDebug {
3477
3520
  readonly segmentRootLookup: readonly WorkPackageInfo[];
3478
3521
  /** `r`: The results of evaluation of each of the items in the work package. */
3479
3522
  readonly results: FixedSizeArray<WorkResult, WorkItemsCount>;
3480
- /** `g`: Gas used during authorization. */
3523
+ /** *`g`*: Gas used during authorization. */
3481
3524
  readonly authorizationGasUsed: ServiceGas;
3482
- static create({ workPackageSpec, context, coreIndex, authorizerHash, authorizationOutput, segmentRootLookup, results, authorizationGasUsed, }: CodecRecord<WorkReportNoCodec>): WorkReportNoCodec;
3525
+ static Codec: Descriptor<WorkReport, ViewOf<WorkReport, {
3526
+ workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
3527
+ hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
3528
+ length: Descriptor<U32, Bytes<4>>;
3529
+ erasureRoot: Descriptor<Bytes<32>, Bytes<32>>;
3530
+ exportsRoot: Descriptor<Bytes<32> & WithOpaque<"ExportsRootHash">, Bytes<32>>;
3531
+ exportsCount: Descriptor<U16, Bytes<2>>;
3532
+ }>>;
3533
+ context: Descriptor<RefineContext, ViewOf<RefineContext, {
3534
+ anchor: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
3535
+ stateRoot: Descriptor<Bytes<32> & WithOpaque<"StateRootHash">, Bytes<32>>;
3536
+ beefyRoot: Descriptor<Bytes<32> & WithOpaque<"BeefyHash">, Bytes<32>>;
3537
+ lookupAnchor: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
3538
+ lookupAnchorSlot: Descriptor<number & WithBytesRepresentation<4> & WithOpaque<"TimeSlot[u32]">, Bytes<4>>;
3539
+ prerequisites: Descriptor<(Bytes<32> & WithOpaque<"WorkPackageHash">)[], SequenceView<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>>;
3540
+ }>>;
3541
+ coreIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"CoreIndex[u16]">, U32>;
3542
+ authorizerHash: Descriptor<Bytes<32> & WithOpaque<"AuthorizerHash">, Bytes<32>>;
3543
+ authorizationGasUsed: Descriptor<bigint & WithBytesRepresentation<8> & WithOpaque<"ServiceGas[u64]">, U64>;
3544
+ authorizationOutput: Descriptor<BytesBlob, BytesBlob>;
3545
+ segmentRootLookup: Descriptor<readonly WorkPackageInfo[], SequenceView<WorkPackageInfo, ViewOf<WorkPackageInfo, {
3546
+ workPackageHash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
3547
+ segmentTreeRoot: Descriptor<Bytes<32> & WithOpaque<"ExportsRootHash">, Bytes<32>>;
3548
+ }>>>;
3549
+ results: Descriptor<FixedSizeArray<WorkResult, U8>, SequenceView<WorkResult, ViewOf<WorkResult, {
3550
+ serviceId: Descriptor<number & WithBytesRepresentation<4> & WithOpaque<"ServiceId[u32]">, Bytes<4>>;
3551
+ codeHash: Descriptor<Bytes<32> & WithOpaque<"CodeHash">, Bytes<32>>;
3552
+ payloadHash: Descriptor<Bytes<32>, Bytes<32>>;
3553
+ gas: Descriptor<bigint & WithBytesRepresentation<8> & WithOpaque<"ServiceGas[u64]">, Bytes<8>>;
3554
+ result: Descriptor<WorkExecResult, WorkExecResult>;
3555
+ load: Descriptor<WorkRefineLoad, ViewOf<WorkRefineLoad, {
3556
+ gasUsed: Descriptor<bigint & WithBytesRepresentation<8> & WithOpaque<"ServiceGas[u64]">, U64>;
3557
+ importedSegments: Descriptor<U32, U32>;
3558
+ extrinsicCount: Descriptor<U32, U32>;
3559
+ extrinsicSize: Descriptor<U32, U32>;
3560
+ exportedSegments: Descriptor<U32, U32>;
3561
+ }>>;
3562
+ }>>>;
3563
+ }>>;
3564
+ static create({ workPackageSpec, context, coreIndex, authorizerHash, authorizationOutput, segmentRootLookup, results, authorizationGasUsed, }: CodecRecord<WorkReport>): WorkReport;
3483
3565
  protected constructor(
3484
3566
  /** `s`: Work package specification. */
3485
3567
  workPackageSpec: WorkPackageSpec,
3486
- /** `x`: Refinement context. */
3568
+ /** `c`: Refinement context. */
3487
3569
  context: RefineContext,
3488
- /** `c`: Core index on which the work is done. */
3570
+ /** *`c`*: Core index on which the work is done. */
3489
3571
  coreIndex: CoreIndex,
3490
- /** `a`: Hash of the authorizer. */
3572
+ /** *`a`*: Hash of the authorizer. */
3491
3573
  authorizerHash: AuthorizerHash,
3492
3574
  /** `o`: Authorization output. */
3493
3575
  authorizationOutput: BytesBlob,
@@ -3498,63 +3580,18 @@ declare class WorkReportNoCodec extends WithDebug {
3498
3580
  segmentRootLookup: readonly WorkPackageInfo[],
3499
3581
  /** `r`: The results of evaluation of each of the items in the work package. */
3500
3582
  results: FixedSizeArray<WorkResult, WorkItemsCount>,
3501
- /** `g`: Gas used during authorization. */
3583
+ /** *`g`*: Gas used during authorization. */
3502
3584
  authorizationGasUsed: ServiceGas);
3503
3585
  }
3504
- declare const WorkReportCodec: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
3505
- workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
3506
- hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
3507
- length: Descriptor<U32, Bytes<4>>;
3508
- erasureRoot: Descriptor<Bytes<32>, Bytes<32>>;
3509
- exportsRoot: Descriptor<Bytes<32> & WithOpaque<"ExportsRootHash">, Bytes<32>>;
3510
- exportsCount: Descriptor<U16, Bytes<2>>;
3511
- }>>;
3512
- context: Descriptor<RefineContext, ViewOf<RefineContext, {
3513
- anchor: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
3514
- stateRoot: Descriptor<Bytes<32> & WithOpaque<"StateRootHash">, Bytes<32>>;
3515
- beefyRoot: Descriptor<Bytes<32> & WithOpaque<"BeefyHash">, Bytes<32>>;
3516
- lookupAnchor: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
3517
- lookupAnchorSlot: Descriptor<number & WithBytesRepresentation<4> & WithOpaque<"TimeSlot[u32]">, Bytes<4>>;
3518
- prerequisites: Descriptor<(Bytes<32> & WithOpaque<"WorkPackageHash">)[], SequenceView<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>>;
3519
- }>>;
3520
- coreIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"CoreIndex[u16]">, U32>;
3521
- authorizerHash: Descriptor<Bytes<32> & WithOpaque<"AuthorizerHash">, Bytes<32>>;
3522
- authorizationGasUsed: Descriptor<bigint & WithBytesRepresentation<8> & WithOpaque<"ServiceGas[u64]">, U64>;
3523
- authorizationOutput: Descriptor<BytesBlob, BytesBlob>;
3524
- segmentRootLookup: Descriptor<readonly WorkPackageInfo[], SequenceView<WorkPackageInfo, ViewOf<WorkPackageInfo, {
3525
- workPackageHash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
3526
- segmentTreeRoot: Descriptor<Bytes<32> & WithOpaque<"ExportsRootHash">, Bytes<32>>;
3527
- }>>>;
3528
- results: Descriptor<FixedSizeArray<WorkResult, U8>, SequenceView<WorkResult, ViewOf<WorkResult, {
3529
- serviceId: Descriptor<number & WithBytesRepresentation<4> & WithOpaque<"ServiceId[u32]">, Bytes<4>>;
3530
- codeHash: Descriptor<Bytes<32> & WithOpaque<"CodeHash">, Bytes<32>>;
3531
- payloadHash: Descriptor<Bytes<32>, Bytes<32>>;
3532
- gas: Descriptor<bigint & WithBytesRepresentation<8> & WithOpaque<"ServiceGas[u64]">, Bytes<8>>;
3533
- result: Descriptor<WorkExecResult, WorkExecResult>;
3534
- load: Descriptor<WorkRefineLoad, ViewOf<WorkRefineLoad, {
3535
- gasUsed: Descriptor<bigint & WithBytesRepresentation<8> & WithOpaque<"ServiceGas[u64]">, U64>;
3536
- importedSegments: Descriptor<U32, U32>;
3537
- extrinsicCount: Descriptor<U32, U32>;
3538
- extrinsicSize: Descriptor<U32, U32>;
3539
- exportedSegments: Descriptor<U32, U32>;
3540
- }>>;
3541
- }>>>;
3542
- }>>;
3543
- declare class WorkReport extends WorkReportNoCodec {
3544
- static Codec: typeof WorkReportCodec;
3545
- }
3546
3586
 
3547
3587
  type workReport_WorkPackageSpec = WorkPackageSpec;
3548
3588
  declare const workReport_WorkPackageSpec: typeof WorkPackageSpec;
3549
3589
  type workReport_WorkReport = WorkReport;
3550
3590
  declare const workReport_WorkReport: typeof WorkReport;
3551
- type workReport_WorkReportNoCodec = WorkReportNoCodec;
3552
- declare const workReport_WorkReportNoCodec: typeof WorkReportNoCodec;
3553
3591
  declare namespace workReport {
3554
3592
  export {
3555
3593
  workReport_WorkPackageSpec as WorkPackageSpec,
3556
3594
  workReport_WorkReport as WorkReport,
3557
- workReport_WorkReportNoCodec as WorkReportNoCodec,
3558
3595
  };
3559
3596
  }
3560
3597
 
@@ -3566,7 +3603,7 @@ declare namespace workReport {
3566
3603
  * Since GP defines that value explicitly as "two or three",
3567
3604
  * we do that as well.
3568
3605
  *
3569
- * https://graypaper.fluffylabs.dev/#/579bd12/14b90214bb02
3606
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/152b01152d01?v=0.7.2
3570
3607
  */
3571
3608
  type REQUIRED_CREDENTIALS = 2 | 3;
3572
3609
  declare const REQUIRED_CREDENTIALS_RANGE: number[];
@@ -3586,7 +3623,7 @@ declare class Credential extends WithDebug {
3586
3623
  /**
3587
3624
  * Tuple of work-report, a credential and it's corresponding timeslot.
3588
3625
  *
3589
- * https://graypaper.fluffylabs.dev/#/579bd12/147102149102
3626
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/15df00150301?v=0.7.2
3590
3627
  */
3591
3628
  declare class ReportGuarantee extends WithDebug {
3592
3629
  /** The work-report being guaranteed. */
@@ -3598,11 +3635,11 @@ declare class ReportGuarantee extends WithDebug {
3598
3635
  * validator index and a signature.
3599
3636
  * Credentials must be ordered by their validator index.
3600
3637
  *
3601
- * https://graypaper.fluffylabs.dev/#/579bd12/14b90214bb02
3638
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/152b01152d01?v=0.7.2
3602
3639
  */
3603
3640
  readonly credentials: KnownSizeArray<Credential, `${REQUIRED_CREDENTIALS}`>;
3604
3641
  static Codec: Descriptor<ReportGuarantee, ViewOf<ReportGuarantee, {
3605
- report: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
3642
+ report: Descriptor<WorkReport, ViewOf<WorkReport, {
3606
3643
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
3607
3644
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
3608
3645
  length: Descriptor<U32, Bytes<4>>;
@@ -3657,11 +3694,11 @@ declare const GuaranteesExtrinsicBounds = "[0..CoresCount)";
3657
3694
  * Each core index (within work-report) must be unique and guarantees
3658
3695
  * must be in ascending order of this.
3659
3696
  *
3660
- * https://graypaper.fluffylabs.dev/#/579bd12/146402146702
3697
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/15d10015d400?v=0.7.2
3661
3698
  */
3662
3699
  type GuaranteesExtrinsic = KnownSizeArray<ReportGuarantee, typeof GuaranteesExtrinsicBounds>;
3663
3700
  declare const guaranteesExtrinsicCodec: Descriptor<readonly ReportGuarantee[] & WithOpaque<"[0..CoresCount)">, SequenceView<ReportGuarantee, ViewOf<ReportGuarantee, {
3664
- report: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
3701
+ report: Descriptor<WorkReport, ViewOf<WorkReport, {
3665
3702
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
3666
3703
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
3667
3704
  length: Descriptor<U32, Bytes<4>>;
@@ -3806,7 +3843,7 @@ declare class Extrinsic extends WithDebug {
3806
3843
  blob: Descriptor<BytesBlob, BytesBlob>;
3807
3844
  }>>>;
3808
3845
  guarantees: Descriptor<readonly ReportGuarantee[] & WithOpaque<"[0..CoresCount)">, SequenceView<ReportGuarantee, ViewOf<ReportGuarantee, {
3809
- report: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
3846
+ report: Descriptor<WorkReport, ViewOf<WorkReport, {
3810
3847
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
3811
3848
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
3812
3849
  length: Descriptor<U32, Bytes<4>>;
@@ -3916,9 +3953,9 @@ declare class Block extends WithDebug {
3916
3953
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
3917
3954
  }>>>;
3918
3955
  }> | null>;
3919
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
3920
3956
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
3921
3957
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
3958
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
3922
3959
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
3923
3960
  }>>;
3924
3961
  extrinsic: Descriptor<Extrinsic, ViewOf<Extrinsic, {
@@ -3931,7 +3968,7 @@ declare class Block extends WithDebug {
3931
3968
  blob: Descriptor<BytesBlob, BytesBlob>;
3932
3969
  }>>>;
3933
3970
  guarantees: Descriptor<readonly ReportGuarantee[] & WithOpaque<"[0..CoresCount)">, SequenceView<ReportGuarantee, ViewOf<ReportGuarantee, {
3934
- report: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
3971
+ report: Descriptor<WorkReport, ViewOf<WorkReport, {
3935
3972
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
3936
3973
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
3937
3974
  length: Descriptor<U32, Bytes<4>>;
@@ -4273,10 +4310,8 @@ declare class JipChainSpec extends WithDebug {
4273
4310
 
4274
4311
  /** Block authorship options. */
4275
4312
  declare class AuthorshipOptions {
4276
- /** Use fake seal verification instead of running bandersnatch. */
4277
- readonly omitSealVerification: boolean;
4278
4313
  static fromJson: FromJsonWithParser<unknown, AuthorshipOptions>;
4279
- static new({ omit_seal_verification }: JsonObject<AuthorshipOptions>): AuthorshipOptions;
4314
+ static new(): AuthorshipOptions;
4280
4315
  private constructor();
4281
4316
  }
4282
4317
 
@@ -4658,7 +4693,7 @@ declare class NotYetAccumulatedReport extends WithDebug {
4658
4693
  */
4659
4694
  readonly dependencies: KnownSizeArray<WorkPackageHash, `[0..${MAX_REPORT_DEPENDENCIES})`>;
4660
4695
  static Codec: Descriptor<NotYetAccumulatedReport, ViewOf<NotYetAccumulatedReport, {
4661
- report: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
4696
+ report: Descriptor<WorkReport, ViewOf<WorkReport, {
4662
4697
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
4663
4698
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
4664
4699
  length: Descriptor<U32, Bytes<4>>;
@@ -4707,7 +4742,7 @@ declare class NotYetAccumulatedReport extends WithDebug {
4707
4742
  */
4708
4743
  type AccumulationQueue = PerEpochBlock<readonly NotYetAccumulatedReport[]>;
4709
4744
  declare const accumulationQueueCodec: Descriptor<readonly (readonly NotYetAccumulatedReport[])[] & WithOpaque<"EpochLength">, SequenceView<readonly NotYetAccumulatedReport[], SequenceView<NotYetAccumulatedReport, ViewOf<NotYetAccumulatedReport, {
4710
- report: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
4745
+ report: Descriptor<WorkReport, ViewOf<WorkReport, {
4711
4746
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
4712
4747
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
4713
4748
  length: Descriptor<U32, Bytes<4>>;
@@ -4764,7 +4799,7 @@ declare class AvailabilityAssignment extends WithDebug {
4764
4799
  /** Time slot at which the report becomes obsolete. */
4765
4800
  readonly timeout: TimeSlot;
4766
4801
  static Codec: Descriptor<AvailabilityAssignment, ViewOf<AvailabilityAssignment, {
4767
- workReport: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
4802
+ workReport: Descriptor<WorkReport, ViewOf<WorkReport, {
4768
4803
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
4769
4804
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
4770
4805
  length: Descriptor<U32, Bytes<4>>;
@@ -4809,7 +4844,7 @@ declare class AvailabilityAssignment extends WithDebug {
4809
4844
  private constructor();
4810
4845
  }
4811
4846
  declare const availabilityAssignmentsCodec: Descriptor<readonly (AvailabilityAssignment | null)[] & WithOpaque<"number of cores">, SequenceView<AvailabilityAssignment | null, ViewOf<AvailabilityAssignment, {
4812
- workReport: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
4847
+ workReport: Descriptor<WorkReport, ViewOf<WorkReport, {
4813
4848
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
4814
4849
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
4815
4850
  length: Descriptor<U32, Bytes<4>>;
@@ -5305,7 +5340,7 @@ declare class ValidatorStatistics {
5305
5340
  * Single core statistics.
5306
5341
  * Updated per block, based on incoming work reports (`w`).
5307
5342
  *
5308
- * https://graypaper.fluffylabs.dev/#/68eaa1f/18f10318f103?v=0.6.4
5343
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/197902197902?v=0.7.2
5309
5344
  * https://github.com/gavofyork/graypaper/blob/9bffb08f3ea7b67832019176754df4fb36b9557d/text/statistics.tex#L65
5310
5345
  */
5311
5346
  declare class CoreStatistics {
@@ -5343,7 +5378,7 @@ declare class CoreStatistics {
5343
5378
  * Service statistics.
5344
5379
  * Updated per block, based on available work reports (`W`).
5345
5380
  *
5346
- * https://graypaper.fluffylabs.dev/#/1c979cb/199802199802?v=0.7.1
5381
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/19e20219e202?v=0.7.2
5347
5382
  */
5348
5383
  declare class ServiceStatistics {
5349
5384
  /** `p.0` */
@@ -6204,7 +6239,7 @@ declare function serializeStateUpdate(spec: ChainSpec, blake2b: Blake2b, update:
6204
6239
  * State entries may be wrapped into `SerializedState` to access the contained values.
6205
6240
  */
6206
6241
  declare class StateEntries {
6207
- private readonly entries;
6242
+ private readonly dictionary;
6208
6243
  static Codec: Descriptor<StateEntries, StateEntries>;
6209
6244
  /** Turn in-memory state into it's serialized form. */
6210
6245
  static serializeInMemory(spec: ChainSpec, blake2b: Blake2b, state: InMemoryState): StateEntries;
@@ -6225,6 +6260,12 @@ declare class StateEntries {
6225
6260
  private constructor();
6226
6261
  /** When comparing, we can safely ignore `trieCache` and just use entries. */
6227
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>;
6228
6269
  /** Dump state entries to JSON string (format compatible with stf vectors). */
6229
6270
  toString(): string;
6230
6271
  [Symbol.iterator](): Generator<[TruncatedHash, BytesBlob], any, any>;
@@ -6922,9 +6963,9 @@ declare class Initialize extends WithDebug {
6922
6963
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
6923
6964
  }>>>;
6924
6965
  }> | null>;
6925
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
6926
6966
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
6927
6967
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
6968
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
6928
6969
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
6929
6970
  }>>;
6930
6971
  keyvals: Descriptor<KeyValue[], SequenceView<KeyValue, ViewOf<KeyValue, {
@@ -7229,12 +7270,12 @@ declare class DirectWorkerConfig<TParams = void, TBlocks = BlocksDb, TStates = S
7229
7270
  readonly workerParams: TParams;
7230
7271
  private readonly blocksDb;
7231
7272
  private readonly statesDb;
7232
- static new<T, B, S>({ nodeName, chainSpec, blocksDb, statesDb, params, }: {
7273
+ static new<T, B, S>({ nodeName, chainSpec, blocksDb, statesDb, workerParams: params, }: {
7233
7274
  nodeName: string;
7234
7275
  chainSpec: ChainSpec;
7235
7276
  blocksDb: B;
7236
7277
  statesDb: S;
7237
- params: T;
7278
+ workerParams: T;
7238
7279
  }): DirectWorkerConfig<T, B, S>;
7239
7280
  private constructor();
7240
7281
  openDatabase(_options?: {
@@ -9174,6 +9215,8 @@ type Input = {
9174
9215
  * https://graypaper.fluffylabs.dev/#/cc517d7/18dd0018dd00?v=0.6.5
9175
9216
  */
9176
9217
  transferStatistics: Map<ServiceId, CountAndGasUsed>;
9218
+ reporters: readonly Ed25519Key[];
9219
+ currentValidatorData: State["currentValidatorData"];
9177
9220
  };
9178
9221
  type CountAndGasUsed = {
9179
9222
  count: U32;
@@ -9240,14 +9283,19 @@ type AccumulateResult = {
9240
9283
  accumulationOutputLog: SortedArray<AccumulationOutput>;
9241
9284
  };
9242
9285
 
9286
+ type AccumulateOptions = {
9287
+ pvm: PvmBackend;
9288
+ accumulateSequentially: boolean;
9289
+ };
9290
+
9243
9291
  declare const ACCUMULATION_ERROR = "duplicate service created";
9244
9292
  type ACCUMULATION_ERROR = typeof ACCUMULATION_ERROR;
9245
9293
  declare class Accumulate {
9246
9294
  readonly chainSpec: ChainSpec;
9247
9295
  readonly blake2b: Blake2b;
9248
9296
  readonly state: AccumulateState;
9249
- readonly pvm: PvmBackend;
9250
- constructor(chainSpec: ChainSpec, blake2b: Blake2b, state: AccumulateState, pvm: PvmBackend);
9297
+ readonly options: AccumulateOptions;
9298
+ constructor(chainSpec: ChainSpec, blake2b: Blake2b, state: AccumulateState, options: AccumulateOptions);
9251
9299
  /**
9252
9300
  * Returns an index that determines how many WorkReports can be processed before exceeding a given gasLimit.
9253
9301
  *
@@ -9686,40 +9734,53 @@ interface HeaderChain {
9686
9734
  * by validators).
9687
9735
  *
9688
9736
  * After enough assurances the work-report is considered available,
9689
- * and the work outputs transform the state of their associated
9737
+ * and the work-digests transform the state of their associated
9690
9738
  * service by virtue of accumulation, covered in section 12.
9691
9739
  * The report may also be timed-out, implying it may be replaced
9692
9740
  * by another report without accumulation.
9693
9741
  *
9694
- * https://graypaper.fluffylabs.dev/#/5f542d7/133d00134200
9742
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/138801138d01?v=0.7.2
9695
9743
  */
9696
9744
  type ReportsInput = {
9697
9745
  /**
9698
9746
  * A work-package, is transformed by validators acting as
9699
9747
  * guarantors into its corresponding work-report, which
9700
- * similarly comprises several work outputs and then
9748
+ * similarly comprises several work-digests and then
9701
9749
  * presented on-chain within the guarantees extrinsic.
9702
9750
  *
9703
- * https://graypaper.fluffylabs.dev/#/5f542d7/133500133900
9751
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/138001138401?v=0.7.2
9704
9752
  */
9705
9753
  guarantees: GuaranteesExtrinsicView;
9706
9754
  /** Current time slot, excerpted from block header. */
9707
9755
  slot: TimeSlot;
9708
9756
  /** `eta_prime`: New entropy, after potential epoch transition. */
9709
9757
  newEntropy: SafroleStateUpdate["entropy"];
9710
- /** Partial update of recent blocks. (β†, https://graypaper.fluffylabs.dev/#/9a08063/0fd8010fdb01?v=0.6.6) */
9758
+ /**
9759
+ * β† - Partial update of recent blocks.
9760
+ *
9761
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/0f56020f6b02?v=0.7.2
9762
+ */
9711
9763
  recentBlocksPartialUpdate: RecentHistoryStateUpdate["recentBlocks"];
9712
9764
  /**
9713
9765
  * ρ‡ - Availability assignment resulting from assurances transition
9714
- * https://graypaper.fluffylabs.dev/#/1c979cb/141302144402?v=0.7.1
9766
+ *
9767
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/141302144402?v=0.7.2
9715
9768
  */
9716
9769
  assurancesAvailAssignment: AssurancesStateUpdate["availabilityAssignment"];
9717
9770
  /**
9718
9771
  * ψ′O - Ed25519 keys of validators that were proven to judge incorrectly.
9719
9772
  *
9720
- * https://graypaper.fluffylabs.dev/#/1c979cb/134201134201?v=0.7.1
9773
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/134201134201?v=0.7.2
9721
9774
  */
9722
9775
  offenders: HashSet<Ed25519Key>;
9776
+ /**
9777
+ * `κ' kappa prime` - Current validator data.
9778
+ */
9779
+ currentValidatorData: SafroleStateUpdate["currentValidatorData"];
9780
+ /**
9781
+ * `λ' lambda prime` - Previous validator data.
9782
+ */
9783
+ previousValidatorData: SafroleStateUpdate["previousValidatorData"];
9723
9784
  };
9724
9785
 
9725
9786
  type GuarantorAssignment = {
@@ -9727,7 +9788,7 @@ type GuarantorAssignment = {
9727
9788
  ed25519: Ed25519Key;
9728
9789
  };
9729
9790
 
9730
- type ReportsState = Pick<State, "availabilityAssignment" | "currentValidatorData" | "previousValidatorData" | "entropy" | "getService" | "recentBlocks" | "accumulationQueue" | "recentlyAccumulated"> & WithStateView<Pick<StateView, "authPoolsView">>;
9791
+ type ReportsState = Pick<State, "availabilityAssignment" | "entropy" | "getService" | "recentBlocks" | "accumulationQueue" | "recentlyAccumulated"> & WithStateView<Pick<StateView, "authPoolsView">>;
9731
9792
  /** Reports state update. */
9732
9793
  type ReportsStateUpdate = Pick<ReportsState, "availabilityAssignment">;
9733
9794
  type ReportsOutput = {
@@ -9739,7 +9800,7 @@ type ReportsOutput = {
9739
9800
  * This dictionary has the same number of items as in the input guarantees extrinsic.
9740
9801
  */
9741
9802
  reported: HashDictionary<WorkPackageHash, WorkPackageInfo>;
9742
- /** A set `R` of work package reporters. */
9803
+ /** A set `M` of work package reporters. */
9743
9804
  reporters: KnownSizeArray<Ed25519Key, "Guarantees * Credentials (at most `cores*3`)">;
9744
9805
  };
9745
9806
  declare class Reports {
@@ -9758,9 +9819,9 @@ declare class Reports {
9758
9819
  * Get the guarantor assignment (both core and validator data)
9759
9820
  * depending on the rotation.
9760
9821
  *
9761
- * https://graypaper.fluffylabs.dev/#/5f542d7/158200158200
9822
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/15df0115df01?v=0.7.2
9762
9823
  */
9763
- getGuarantorAssignment(headerTimeSlot: TimeSlot, guaranteeTimeSlot: TimeSlot, newEntropy: SafroleStateUpdate["entropy"]): Result<PerValidator<GuarantorAssignment>, ReportsError>;
9824
+ getGuarantorAssignment(headerTimeSlot: TimeSlot, guaranteeTimeSlot: TimeSlot, newEntropy: SafroleStateUpdate["entropy"], currentValidatorData: SafroleStateUpdate["currentValidatorData"], previousValidatorData: SafroleStateUpdate["previousValidatorData"]): Result<PerValidator<GuarantorAssignment>, ReportsError>;
9764
9825
  }
9765
9826
 
9766
9827
  declare class DbHeaderChain implements HeaderChain {
@@ -9809,11 +9870,11 @@ declare class OnChain {
9809
9870
  private readonly authorization;
9810
9871
  private readonly statistics;
9811
9872
  private isReadyForNextEpoch;
9812
- constructor(chainSpec: ChainSpec, state: State & WithStateView, hasher: TransitionHasher, pvm: PvmBackend, headerChain: HeaderChain);
9873
+ constructor(chainSpec: ChainSpec, state: State & WithStateView, hasher: TransitionHasher, options: AccumulateOptions, headerChain: HeaderChain);
9813
9874
  /** Pre-populate things worth caching for the next epoch. */
9814
9875
  prepareForNextEpoch(): Promise<void>;
9815
9876
  private verifySeal;
9816
- transition(block: BlockView, headerHash: HeaderHash, omitSealVerification?: boolean): Promise<Result<Ok, StfError>>;
9877
+ transition(block: BlockView, headerHash: HeaderHash): Promise<Result<Ok, StfError>>;
9817
9878
  private getUsedAuthorizerHashes;
9818
9879
  }
9819
9880
 
@@ -9885,20 +9946,20 @@ declare class AccumulateExternalities implements PartialState, AccountsWrite, Ac
9885
9946
  /**
9886
9947
  * The set of wrangled operand tuples, used as an operand to the PVM Accumulation function.
9887
9948
  *
9888
- * https://graypaper.fluffylabs.dev/#/7e6ff6a/173d03173d03?v=0.6.7
9949
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/176b00176b00?v=0.7.2
9889
9950
  */
9890
9951
  declare class Operand extends WithDebug {
9891
9952
  static Codec: Descriptor<Operand, ViewOf<Operand, {
9892
9953
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
9893
9954
  exportsRoot: Descriptor<Bytes<32> & WithOpaque<"ExportsRootHash">, Bytes<32>>;
9894
9955
  authorizerHash: Descriptor<Bytes<32> & WithOpaque<"AuthorizerHash">, Bytes<32>>;
9895
- authorizationOutput: Descriptor<BytesBlob, BytesBlob>;
9896
9956
  payloadHash: Descriptor<Bytes<32>, Bytes<32>>;
9897
9957
  gas: Descriptor<bigint & WithBytesRepresentation<8> & WithOpaque<"ServiceGas[u64]">, U64>;
9898
9958
  result: Descriptor<WorkExecResult, WorkExecResult>;
9959
+ authorizationOutput: Descriptor<BytesBlob, BytesBlob>;
9899
9960
  }>>;
9900
9961
  /**
9901
- * https://graypaper.fluffylabs.dev/#/7e6ff6a/181801189d01?v=0.6.7
9962
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/18680118eb01?v=0.7.2
9902
9963
  */
9903
9964
  hash: WorkPackageHash;
9904
9965
  exportsRoot: ExportsRootHash;
@@ -9997,6 +10058,7 @@ type index$7_ACCUMULATION_ERROR = ACCUMULATION_ERROR;
9997
10058
  type index$7_Accumulate = Accumulate;
9998
10059
  declare const index$7_Accumulate: typeof Accumulate;
9999
10060
  type index$7_AccumulateInput = AccumulateInput;
10061
+ type index$7_AccumulateOptions = AccumulateOptions;
10000
10062
  type index$7_AccumulateResult = AccumulateResult;
10001
10063
  type index$7_AccumulateRoot = AccumulateRoot;
10002
10064
  type index$7_AccumulateState = AccumulateState;
@@ -10071,7 +10133,7 @@ declare const index$7_copyAndUpdateState: typeof copyAndUpdateState;
10071
10133
  declare const index$7_stfError: typeof stfError;
10072
10134
  declare namespace index$7 {
10073
10135
  export { index$7_Accumulate as Accumulate, index$7_Assurances as Assurances, index$7_AssurancesError as AssurancesError, index$7_Authorization as Authorization, index$7_BlockVerifier as BlockVerifier, index$7_BlockVerifierError as BlockVerifierError, index$7_DbHeaderChain as DbHeaderChain, index$7_DeferredTransfers as DeferredTransfers, index$7_DeferredTransfersErrorCode as DeferredTransfersErrorCode, index$7_Disputes as Disputes, index$7_GAS_TO_INVOKE_WORK_REPORT as GAS_TO_INVOKE_WORK_REPORT, index$7_OnChain as OnChain, index$7_Preimages as Preimages, index$7_PreimagesErrorCode as PreimagesErrorCode, index$7_REPORT_TIMEOUT_GRACE_PERIOD as REPORT_TIMEOUT_GRACE_PERIOD, index$7_RecentHistory as RecentHistory, index$7_Reports as Reports, index$7_ReportsError as ReportsError, index$7_Statistics as Statistics, index$7_StfErrorKind as StfErrorKind, index$7_TransitionHasher as TransitionHasher, index$7_copyAndUpdateState as copyAndUpdateState, index$8 as externalities, index$7_stfError as stfError };
10074
- export type { index$7_ACCUMULATION_ERROR as ACCUMULATION_ERROR, index$7_AccumulateInput as AccumulateInput, index$7_AccumulateResult as AccumulateResult, index$7_AccumulateRoot as AccumulateRoot, index$7_AccumulateState as AccumulateState, index$7_AccumulateStateUpdate as AccumulateStateUpdate, index$7_AssurancesInput as AssurancesInput, index$7_AssurancesState as AssurancesState, index$7_AssurancesStateUpdate as AssurancesStateUpdate, index$7_AuthorizationInput as AuthorizationInput, index$7_AuthorizationState as AuthorizationState, index$7_AuthorizationStateUpdate as AuthorizationStateUpdate, index$7_CountAndGasUsed as CountAndGasUsed, index$7_DeferredTransfersResult as DeferredTransfersResult, index$7_DeferredTransfersState as DeferredTransfersState, index$7_DisputesState as DisputesState, index$7_DisputesStateUpdate as DisputesStateUpdate, index$7_HeaderChain as HeaderChain, index$7_Input as Input, index$7_Ok as Ok, index$7_PreimagesInput as PreimagesInput, index$7_PreimagesState as PreimagesState, index$7_PreimagesStateUpdate as PreimagesStateUpdate, index$7_RecentHistoryInput as RecentHistoryInput, index$7_RecentHistoryPartialInput as RecentHistoryPartialInput, index$7_RecentHistoryState as RecentHistoryState, index$7_RecentHistoryStateUpdate as RecentHistoryStateUpdate, index$7_ReportsInput as ReportsInput, index$7_ReportsOutput as ReportsOutput, index$7_ReportsState as ReportsState, index$7_ReportsStateUpdate as ReportsStateUpdate, index$7_StatisticsState as StatisticsState, index$7_StatisticsStateUpdate as StatisticsStateUpdate, index$7_StfError as StfError };
10136
+ export type { index$7_ACCUMULATION_ERROR as ACCUMULATION_ERROR, index$7_AccumulateInput as AccumulateInput, index$7_AccumulateOptions as AccumulateOptions, index$7_AccumulateResult as AccumulateResult, index$7_AccumulateRoot as AccumulateRoot, index$7_AccumulateState as AccumulateState, index$7_AccumulateStateUpdate as AccumulateStateUpdate, index$7_AssurancesInput as AssurancesInput, index$7_AssurancesState as AssurancesState, index$7_AssurancesStateUpdate as AssurancesStateUpdate, index$7_AuthorizationInput as AuthorizationInput, index$7_AuthorizationState as AuthorizationState, index$7_AuthorizationStateUpdate as AuthorizationStateUpdate, index$7_CountAndGasUsed as CountAndGasUsed, index$7_DeferredTransfersResult as DeferredTransfersResult, index$7_DeferredTransfersState as DeferredTransfersState, index$7_DisputesState as DisputesState, index$7_DisputesStateUpdate as DisputesStateUpdate, index$7_HeaderChain as HeaderChain, index$7_Input as Input, index$7_Ok as Ok, index$7_PreimagesInput as PreimagesInput, index$7_PreimagesState as PreimagesState, index$7_PreimagesStateUpdate as PreimagesStateUpdate, index$7_RecentHistoryInput as RecentHistoryInput, index$7_RecentHistoryPartialInput as RecentHistoryPartialInput, index$7_RecentHistoryState as RecentHistoryState, index$7_RecentHistoryStateUpdate as RecentHistoryStateUpdate, index$7_ReportsInput as ReportsInput, index$7_ReportsOutput as ReportsOutput, index$7_ReportsState as ReportsState, index$7_ReportsStateUpdate as ReportsStateUpdate, index$7_StatisticsState as StatisticsState, index$7_StatisticsStateUpdate as StatisticsStateUpdate, index$7_StfError as StfError };
10075
10137
  }
10076
10138
 
10077
10139
  declare enum ImporterErrorKind {
@@ -10093,8 +10155,8 @@ declare class Importer {
10093
10155
  constructor(spec: ChainSpec, pvm: PvmBackend, hasher: TransitionHasher, logger: Logger, blocks: BlocksDb, states: StatesDb<SerializedState<LeafDb>>);
10094
10156
  /** Do some extra work for preparation for the next epoch. */
10095
10157
  prepareForNextEpoch(): Promise<void>;
10096
- importBlockWithStateRoot(block: BlockView, omitSealVerification: boolean): Promise<Result<StateRootHash, ImporterError>>;
10097
- importBlock(block: BlockView, omitSealVerification: boolean): Promise<Result<WithHash<HeaderHash, HeaderView>, ImporterError>>;
10158
+ importBlockWithStateRoot(block: BlockView): Promise<Result<StateRootHash, ImporterError>>;
10159
+ importBlock(block: BlockView): Promise<Result<WithHash<HeaderHash, HeaderView>, ImporterError>>;
10098
10160
  private importBlockInternal;
10099
10161
  getBestStateRootHash(): (OpaqueHash & WithOpaque<"StateRootHash">) | null;
10100
10162
  getBestBlockHash(): OpaqueHash & WithOpaque<"HeaderHash">;
@@ -10132,9 +10194,9 @@ declare const protocol: LousyProtocol<{
10132
10194
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
10133
10195
  }>>>;
10134
10196
  }> | null>;
10135
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10136
10197
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
10137
10198
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10199
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10138
10200
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10139
10201
  }>>;
10140
10202
  extrinsic: Descriptor<Extrinsic, ViewOf<Extrinsic, {
@@ -10147,7 +10209,7 @@ declare const protocol: LousyProtocol<{
10147
10209
  blob: Descriptor<BytesBlob, BytesBlob>;
10148
10210
  }>>>;
10149
10211
  guarantees: Descriptor<readonly ReportGuarantee[] & WithOpaque<"[0..CoresCount)">, SequenceView<ReportGuarantee, ViewOf<ReportGuarantee, {
10150
- report: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
10212
+ report: Descriptor<WorkReport, ViewOf<WorkReport, {
10151
10213
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
10152
10214
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
10153
10215
  length: Descriptor<U32, Bytes<4>>;
@@ -10241,9 +10303,9 @@ declare const protocol: LousyProtocol<{
10241
10303
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
10242
10304
  }>>>;
10243
10305
  }> | null>;
10244
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10245
10306
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
10246
10307
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10308
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10247
10309
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10248
10310
  }>>;
10249
10311
  extrinsic: Descriptor<Extrinsic, ViewOf<Extrinsic, {
@@ -10256,7 +10318,7 @@ declare const protocol: LousyProtocol<{
10256
10318
  blob: Descriptor<BytesBlob, BytesBlob>;
10257
10319
  }>>>;
10258
10320
  guarantees: Descriptor<readonly ReportGuarantee[] & WithOpaque<"[0..CoresCount)">, SequenceView<ReportGuarantee, ViewOf<ReportGuarantee, {
10259
- report: Descriptor<WorkReportNoCodec, ViewOf<WorkReportNoCodec, {
10321
+ report: Descriptor<WorkReport, ViewOf<WorkReport, {
10260
10322
  workPackageSpec: Descriptor<WorkPackageSpec, ViewOf<WorkPackageSpec, {
10261
10323
  hash: Descriptor<Bytes<32> & WithOpaque<"WorkPackageHash">, Bytes<32>>;
10262
10324
  length: Descriptor<U32, Bytes<4>>;
@@ -10358,9 +10420,9 @@ declare const protocol: LousyProtocol<{
10358
10420
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
10359
10421
  }>>>;
10360
10422
  }> | null>;
10361
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10362
10423
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
10363
10424
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10425
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10364
10426
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10365
10427
  }>>, ViewOf<WithHash<OpaqueHash & WithOpaque<"HeaderHash">, ViewOf<Header & CodecRecord<Header>, {
10366
10428
  parentHeaderHash: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
@@ -10381,9 +10443,9 @@ declare const protocol: LousyProtocol<{
10381
10443
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
10382
10444
  }>>>;
10383
10445
  }> | null>;
10384
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10385
10446
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
10386
10447
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10448
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10387
10449
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10388
10450
  }>>, {
10389
10451
  hash: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
@@ -10406,9 +10468,9 @@ declare const protocol: LousyProtocol<{
10406
10468
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
10407
10469
  }>>>;
10408
10470
  }> | null>;
10409
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10410
10471
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
10411
10472
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10473
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10412
10474
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10413
10475
  }>, ViewOf<Header & CodecRecord<Header>, {
10414
10476
  parentHeaderHash: Descriptor<Bytes<32> & WithOpaque<"HeaderHash">, Bytes<32>>;
@@ -10429,9 +10491,9 @@ declare const protocol: LousyProtocol<{
10429
10491
  attempt: Descriptor<number & WithBytesRepresentation<1> & WithOpaque<"TicketAttempt[0|1|2]">, U8>;
10430
10492
  }>>>;
10431
10493
  }> | null>;
10432
- offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10433
10494
  bandersnatchBlockAuthorIndex: Descriptor<number & WithBytesRepresentation<2> & WithOpaque<"ValidatorIndex[u16]">, Bytes<2>>;
10434
10495
  entropySource: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10496
+ offendersMarker: Descriptor<(Bytes<32> & WithOpaque<"Ed25519Key">)[], SequenceView<Bytes<32> & WithOpaque<"Ed25519Key">, Bytes<32>>>;
10435
10497
  seal: Descriptor<Bytes<96> & WithOpaque<"BandersnatchVrfSignature">, Bytes<96>>;
10436
10498
  }>>;
10437
10499
  }>>;
@@ -10441,13 +10503,11 @@ declare const protocol: LousyProtocol<{
10441
10503
  type ImporterInternal = Internal<typeof protocol>;
10442
10504
  type ImporterApi = Api<typeof protocol>;
10443
10505
  declare class ImporterConfig {
10444
- readonly omitSealVerification: boolean;
10445
10506
  readonly pvm: PvmBackend;
10446
10507
  static Codec: Descriptor<ImporterConfig, ViewOf<ImporterConfig, {
10447
- omitSealVerification: Descriptor<boolean, boolean>;
10448
10508
  pvm: Descriptor<PvmBackend, U8>;
10449
10509
  }>>;
10450
- static create({ omitSealVerification, pvm }: CodecRecord<ImporterConfig>): ImporterConfig;
10510
+ static create({ pvm }: CodecRecord<ImporterConfig>): ImporterConfig;
10451
10511
  private constructor();
10452
10512
  }
10453
10513