/// import { TransactionVersion } from '../primitives/transaction'; export type ActivationSequence = number | null; export type Checkpoint = { sequence: number; hash: string; }; export type ConsensusParameters = { /** * When adding a block, the block can be this amount of seconds into the future * without rejecting it */ allowedBlockFutureSeconds: number; /** * The amount of coins in the genesis block */ genesisSupplyInIron: number; /** * The average time that all blocks should be mined */ targetBlockTimeInSeconds: number; /** * The time range when difficulty and target not change */ targetBucketTimeInSeconds: number; /** * Max block size */ maxBlockSizeBytes: number; /** * The minimum fee that a transaction must have to be accepted */ minFee: number; /** * The block height that enables the use of V2 transactions instead of V1 */ enableAssetOwnership: ActivationSequence; /** * Before upgrade we have block timestamp smaller than previous block. After this * block we enforce the block timestamps in the sequential order as the block sequences. */ enforceSequentialBlockTime: ActivationSequence; /** * Sequence at which to start mining and validating blocks with the FishHash algorithm * instead Blake3. This sequence also modifies the block header serialization to move graffiti * to the beginning of the block header before mining. */ enableFishHash: ActivationSequence; /** * Sequence at which to use an increased max bucket in the target calculation, * allowing for a greater per-block downward shift. */ enableIncreasedDifficultyChange: ActivationSequence; /** * Mapping of block height to the hash of the block at that height. Once a node has added this block to * its main chain, it will not be disconnected from the main chain. */ checkpoints: Checkpoint[]; }; export declare class Consensus { readonly parameters: ConsensusParameters; readonly checkpoints: Map; constructor(parameters: ConsensusParameters); isActive(upgrade: keyof ConsensusParameters, sequence: number): boolean; /** * Returns true if the upgrade can never activate on the network */ isNeverActive(upgrade: keyof ConsensusParameters): boolean; getActiveTransactionVersion(sequence: number): TransactionVersion; getDifficultyBucketMax(sequence: number): number; } //# sourceMappingURL=consensus.d.ts.map