@typeberry/lib 0.5.0-4da816c → 0.5.0-584584e

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 +577 -1212
  2. package/index.d.ts +79 -58
  3. package/index.js +577 -1212
  4. 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
- * Seal verification as defined in:
2015
- * https://graypaper.fluffylabs.dev/#/68eaa1f/0eff000eff00?v=0.6.4
2016
- * or
2017
- * https://graypaper.fluffylabs.dev/#/68eaa1f/0e54010e5401?v=0.6.4
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 verify_seal(signer_key: Uint8Array, seal_data: Uint8Array, payload: Uint8Array, aux_data: Uint8Array): Uint8Array;
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;
@@ -3601,7 +3603,7 @@ declare namespace workReport {
3601
3603
  * Since GP defines that value explicitly as "two or three",
3602
3604
  * we do that as well.
3603
3605
  *
3604
- * https://graypaper.fluffylabs.dev/#/579bd12/14b90214bb02
3606
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/152b01152d01?v=0.7.2
3605
3607
  */
3606
3608
  type REQUIRED_CREDENTIALS = 2 | 3;
3607
3609
  declare const REQUIRED_CREDENTIALS_RANGE: number[];
@@ -3621,7 +3623,7 @@ declare class Credential extends WithDebug {
3621
3623
  /**
3622
3624
  * Tuple of work-report, a credential and it's corresponding timeslot.
3623
3625
  *
3624
- * https://graypaper.fluffylabs.dev/#/579bd12/147102149102
3626
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/15df00150301?v=0.7.2
3625
3627
  */
3626
3628
  declare class ReportGuarantee extends WithDebug {
3627
3629
  /** The work-report being guaranteed. */
@@ -3633,7 +3635,7 @@ declare class ReportGuarantee extends WithDebug {
3633
3635
  * validator index and a signature.
3634
3636
  * Credentials must be ordered by their validator index.
3635
3637
  *
3636
- * https://graypaper.fluffylabs.dev/#/579bd12/14b90214bb02
3638
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/152b01152d01?v=0.7.2
3637
3639
  */
3638
3640
  readonly credentials: KnownSizeArray<Credential, `${REQUIRED_CREDENTIALS}`>;
3639
3641
  static Codec: Descriptor<ReportGuarantee, ViewOf<ReportGuarantee, {
@@ -3692,7 +3694,7 @@ declare const GuaranteesExtrinsicBounds = "[0..CoresCount)";
3692
3694
  * Each core index (within work-report) must be unique and guarantees
3693
3695
  * must be in ascending order of this.
3694
3696
  *
3695
- * https://graypaper.fluffylabs.dev/#/579bd12/146402146702
3697
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/15d10015d400?v=0.7.2
3696
3698
  */
3697
3699
  type GuaranteesExtrinsic = KnownSizeArray<ReportGuarantee, typeof GuaranteesExtrinsicBounds>;
3698
3700
  declare const guaranteesExtrinsicCodec: Descriptor<readonly ReportGuarantee[] & WithOpaque<"[0..CoresCount)">, SequenceView<ReportGuarantee, ViewOf<ReportGuarantee, {
@@ -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 entries;
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>;
@@ -9207,6 +9215,8 @@ type Input = {
9207
9215
  * https://graypaper.fluffylabs.dev/#/cc517d7/18dd0018dd00?v=0.6.5
9208
9216
  */
9209
9217
  transferStatistics: Map<ServiceId, CountAndGasUsed>;
9218
+ reporters: readonly Ed25519Key[];
9219
+ currentValidatorData: State["currentValidatorData"];
9210
9220
  };
9211
9221
  type CountAndGasUsed = {
9212
9222
  count: U32;
@@ -9273,14 +9283,19 @@ type AccumulateResult = {
9273
9283
  accumulationOutputLog: SortedArray<AccumulationOutput>;
9274
9284
  };
9275
9285
 
9286
+ type AccumulateOptions = {
9287
+ pvm: PvmBackend;
9288
+ accumulateSequentially: boolean;
9289
+ };
9290
+
9276
9291
  declare const ACCUMULATION_ERROR = "duplicate service created";
9277
9292
  type ACCUMULATION_ERROR = typeof ACCUMULATION_ERROR;
9278
9293
  declare class Accumulate {
9279
9294
  readonly chainSpec: ChainSpec;
9280
9295
  readonly blake2b: Blake2b;
9281
9296
  readonly state: AccumulateState;
9282
- readonly pvm: PvmBackend;
9283
- constructor(chainSpec: ChainSpec, blake2b: Blake2b, state: AccumulateState, pvm: PvmBackend);
9297
+ readonly options: AccumulateOptions;
9298
+ constructor(chainSpec: ChainSpec, blake2b: Blake2b, state: AccumulateState, options: AccumulateOptions);
9284
9299
  /**
9285
9300
  * Returns an index that determines how many WorkReports can be processed before exceeding a given gasLimit.
9286
9301
  *
@@ -9719,38 +9734,43 @@ interface HeaderChain {
9719
9734
  * by validators).
9720
9735
  *
9721
9736
  * After enough assurances the work-report is considered available,
9722
- * and the work outputs transform the state of their associated
9737
+ * and the work-digests transform the state of their associated
9723
9738
  * service by virtue of accumulation, covered in section 12.
9724
9739
  * The report may also be timed-out, implying it may be replaced
9725
9740
  * by another report without accumulation.
9726
9741
  *
9727
- * https://graypaper.fluffylabs.dev/#/5f542d7/133d00134200
9742
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/138801138d01?v=0.7.2
9728
9743
  */
9729
9744
  type ReportsInput = {
9730
9745
  /**
9731
9746
  * A work-package, is transformed by validators acting as
9732
9747
  * guarantors into its corresponding work-report, which
9733
- * similarly comprises several work outputs and then
9748
+ * similarly comprises several work-digests and then
9734
9749
  * presented on-chain within the guarantees extrinsic.
9735
9750
  *
9736
- * https://graypaper.fluffylabs.dev/#/5f542d7/133500133900
9751
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/138001138401?v=0.7.2
9737
9752
  */
9738
9753
  guarantees: GuaranteesExtrinsicView;
9739
9754
  /** Current time slot, excerpted from block header. */
9740
9755
  slot: TimeSlot;
9741
9756
  /** `eta_prime`: New entropy, after potential epoch transition. */
9742
9757
  newEntropy: SafroleStateUpdate["entropy"];
9743
- /** 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
+ */
9744
9763
  recentBlocksPartialUpdate: RecentHistoryStateUpdate["recentBlocks"];
9745
9764
  /**
9746
9765
  * ρ‡ - Availability assignment resulting from assurances transition
9747
- * https://graypaper.fluffylabs.dev/#/1c979cb/141302144402?v=0.7.1
9766
+ *
9767
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/141302144402?v=0.7.2
9748
9768
  */
9749
9769
  assurancesAvailAssignment: AssurancesStateUpdate["availabilityAssignment"];
9750
9770
  /**
9751
9771
  * ψ′O - Ed25519 keys of validators that were proven to judge incorrectly.
9752
9772
  *
9753
- * https://graypaper.fluffylabs.dev/#/1c979cb/134201134201?v=0.7.1
9773
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/134201134201?v=0.7.2
9754
9774
  */
9755
9775
  offenders: HashSet<Ed25519Key>;
9756
9776
  };
@@ -9772,7 +9792,7 @@ type ReportsOutput = {
9772
9792
  * This dictionary has the same number of items as in the input guarantees extrinsic.
9773
9793
  */
9774
9794
  reported: HashDictionary<WorkPackageHash, WorkPackageInfo>;
9775
- /** A set `R` of work package reporters. */
9795
+ /** A set `M` of work package reporters. */
9776
9796
  reporters: KnownSizeArray<Ed25519Key, "Guarantees * Credentials (at most `cores*3`)">;
9777
9797
  };
9778
9798
  declare class Reports {
@@ -9791,7 +9811,7 @@ declare class Reports {
9791
9811
  * Get the guarantor assignment (both core and validator data)
9792
9812
  * depending on the rotation.
9793
9813
  *
9794
- * https://graypaper.fluffylabs.dev/#/5f542d7/158200158200
9814
+ * https://graypaper.fluffylabs.dev/#/ab2cdbd/15df0115df01?v=0.7.2
9795
9815
  */
9796
9816
  getGuarantorAssignment(headerTimeSlot: TimeSlot, guaranteeTimeSlot: TimeSlot, newEntropy: SafroleStateUpdate["entropy"]): Result<PerValidator<GuarantorAssignment>, ReportsError>;
9797
9817
  }
@@ -9842,7 +9862,7 @@ declare class OnChain {
9842
9862
  private readonly authorization;
9843
9863
  private readonly statistics;
9844
9864
  private isReadyForNextEpoch;
9845
- constructor(chainSpec: ChainSpec, state: State & WithStateView, hasher: TransitionHasher, pvm: PvmBackend, headerChain: HeaderChain);
9865
+ constructor(chainSpec: ChainSpec, state: State & WithStateView, hasher: TransitionHasher, options: AccumulateOptions, headerChain: HeaderChain);
9846
9866
  /** Pre-populate things worth caching for the next epoch. */
9847
9867
  prepareForNextEpoch(): Promise<void>;
9848
9868
  private verifySeal;
@@ -10030,6 +10050,7 @@ type index$7_ACCUMULATION_ERROR = ACCUMULATION_ERROR;
10030
10050
  type index$7_Accumulate = Accumulate;
10031
10051
  declare const index$7_Accumulate: typeof Accumulate;
10032
10052
  type index$7_AccumulateInput = AccumulateInput;
10053
+ type index$7_AccumulateOptions = AccumulateOptions;
10033
10054
  type index$7_AccumulateResult = AccumulateResult;
10034
10055
  type index$7_AccumulateRoot = AccumulateRoot;
10035
10056
  type index$7_AccumulateState = AccumulateState;
@@ -10104,7 +10125,7 @@ declare const index$7_copyAndUpdateState: typeof copyAndUpdateState;
10104
10125
  declare const index$7_stfError: typeof stfError;
10105
10126
  declare namespace index$7 {
10106
10127
  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 };
10107
- 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 };
10128
+ 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 };
10108
10129
  }
10109
10130
 
10110
10131
  declare enum ImporterErrorKind {