Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 11 additions & 6 deletions crates/chia-consensus/src/consensus_constants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,10 @@ pub struct ConsensusConstants {
hard_fork2_height: u32,

/// Once hard fork 2 activates, we'll start phasing out v1 plots. This is
/// the number blocks they will be phased-out over
plot_v1_phase_out: u32,
/// the log2 of the number of epochs they will be phased-out over. i.e. the
/// number of epochs is (1 << plot_v1_phase_out_epoch_bits).
/// This is not allowed to be > 8.
plot_v1_phase_out_epoch_bits: u8,

/// The 128 plot filter adjustment height.
/// This affects the plot filter for original plots
Expand All @@ -153,8 +155,10 @@ pub struct ConsensusConstants {
/// This affects the plot filter for original plots
plot_filter_32_height: u32,

/// initial minimum plot strength for v2 plots
plot_strength_initial: u8,
/// minimum and maximum plot strength for v2 plots. Proofs using strength
/// outside of these limits are not considered valid.
min_plot_strength: u8,
max_plot_strength: u8,

/// The quality proof scan filter for v2 plots
quality_proof_scan_filter: u8,
Expand Down Expand Up @@ -229,12 +233,13 @@ pub const TEST_CONSTANTS: ConsensusConstants = ConsensusConstants {
pool_sub_slot_iters: 37_600_000_000,
hard_fork_height: 5_496_000,
hard_fork2_height: 0xffff_ffff, // placeholder
plot_v1_phase_out: 920_000,
plot_v1_phase_out_epoch_bits: 8,
plot_filter_128_height: 10_542_000,
plot_filter_64_height: 15_592_000,
plot_filter_32_height: 20_643_000,

plot_strength_initial: 2,
min_plot_strength: 2,
max_plot_strength: 32,

quality_proof_scan_filter: 5,

Expand Down
5 changes: 3 additions & 2 deletions tests/run_gen.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,12 @@
POOL_SUB_SLOT_ITERS=uint64(37600000000),
HARD_FORK_HEIGHT=uint32(5496000),
HARD_FORK2_HEIGHT=uint32(0xFFFFFFFF),
PLOT_V1_PHASE_OUT=uint32(920000),
PLOT_V1_PHASE_OUT_EPOCH_BITS=uint8(8),
PLOT_FILTER_128_HEIGHT=uint32(10542000),
PLOT_FILTER_64_HEIGHT=uint32(15592000),
PLOT_FILTER_32_HEIGHT=uint32(20643000),
PLOT_STRENGTH_INITIAL=uint8(2),
MIN_PLOT_STRENGTH=uint8(2),
MAX_PLOT_STRENGTH=uint8(32),
QUALITY_PROOF_SCAN_FILTER=uint8(5),
PLOT_FILTER_V2_FIRST_ADJUSTMENT_HEIGHT=uint32(0xFFFFFFFF),
PLOT_FILTER_V2_SECOND_ADJUSTMENT_HEIGHT=uint32(0xFFFFFFFF),
Expand Down
2 changes: 1 addition & 1 deletion tests/test_consensus_constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ def test_formatting() -> None:

assert (
f"{DEFAULT_CONSTANTS}"
== "ConsensusConstants { SLOT_BLOCKS_TARGET: 32, MIN_BLOCKS_PER_CHALLENGE_BLOCK: 16, MAX_SUB_SLOT_BLOCKS: 128, NUM_SPS_SUB_SLOT: 64, SUB_SLOT_ITERS_STARTING: 134217728, DIFFICULTY_CONSTANT_FACTOR: 147573952589676412928, DIFFICULTY_STARTING: 7, DIFFICULTY_CHANGE_MAX_FACTOR: 3, SUB_EPOCH_BLOCKS: 384, EPOCH_BLOCKS: 4608, SIGNIFICANT_BITS: 8, DISCRIMINANT_SIZE_BITS: 1024, NUMBER_ZERO_BITS_PLOT_FILTER_V1: 9, NUMBER_ZERO_BITS_PLOT_FILTER_V2: 5, MIN_PLOT_SIZE_V1: 32, MAX_PLOT_SIZE_V1: 50, PLOT_SIZE_V2: 28, SUB_SLOT_TIME_TARGET: 600, NUM_SP_INTERVALS_EXTRA: 3, MAX_FUTURE_TIME2: 120, NUMBER_OF_TIMESTAMPS: 11, GENESIS_CHALLENGE: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, AGG_SIG_ME_ADDITIONAL_DATA: ccd5bb71183532bff220ba46c268991a3ff07eb358e8255a65c30a2dce0e5fbb, AGG_SIG_PARENT_ADDITIONAL_DATA: baf5d69c647c91966170302d18521b0a85663433d161e72c826ed08677b53a74, AGG_SIG_PUZZLE_ADDITIONAL_DATA: 284fa2ef486c7a41cc29fc99c9d08376161e93dd37817edb8219f42dca7592c4, AGG_SIG_AMOUNT_ADDITIONAL_DATA: cda186a9cd030f7a130fae45005e81cae7a90e0fa205b75f6aebc0d598e0348e, AGG_SIG_PUZZLE_AMOUNT_ADDITIONAL_DATA: 0f7d90dff0613e6901e24dae59f1e690f18b8f5fbdcf1bb192ac9deaf7de22ad, AGG_SIG_PARENT_AMOUNT_ADDITIONAL_DATA: 585796bd90bb553c0430b87027ffee08d88aba0162c6e1abbbcc6b583f2ae7f9, AGG_SIG_PARENT_PUZZLE_ADDITIONAL_DATA: 2ebfdae17b29d83bae476a25ea06f0c4bd57298faddbbc3ec5ad29b9b86ce5df, GENESIS_PRE_FARM_POOL_PUZZLE_HASH: d23da14695a188ae5708dd152263c4db883eb27edeb936178d4d988b8f3ce5fc, GENESIS_PRE_FARM_FARMER_PUZZLE_HASH: 3d8765d3a597ec1d99663f6c9816d915b9f68613ac94009884c4addaefcce6af, MAX_VDF_WITNESS_SIZE: 64, MEMPOOL_BLOCK_BUFFER: 10, MAX_COIN_AMOUNT: 18446744073709551615, MAX_BLOCK_COST_CLVM: 11000000000, COST_PER_BYTE: 12000, WEIGHT_PROOF_THRESHOLD: 2, WEIGHT_PROOF_RECENT_BLOCKS: 1000, MAX_BLOCK_COUNT_PER_REQUESTS: 32, BLOCKS_CACHE_SIZE: 5120, MAX_GENERATOR_REF_LIST_SIZE: 512, POOL_SUB_SLOT_ITERS: 37600000000, HARD_FORK_HEIGHT: 5496000, HARD_FORK2_HEIGHT: 4294967295, PLOT_V1_PHASE_OUT: 920000, PLOT_FILTER_128_HEIGHT: 10542000, PLOT_FILTER_64_HEIGHT: 15592000, PLOT_FILTER_32_HEIGHT: 20643000, PLOT_STRENGTH_INITIAL: 2, QUALITY_PROOF_SCAN_FILTER: 5, PLOT_FILTER_V2_FIRST_ADJUSTMENT_HEIGHT: 4294967295, PLOT_FILTER_V2_SECOND_ADJUSTMENT_HEIGHT: 4294967295, PLOT_FILTER_V2_THIRD_ADJUSTMENT_HEIGHT: 4294967295, }"
== "ConsensusConstants { SLOT_BLOCKS_TARGET: 32, MIN_BLOCKS_PER_CHALLENGE_BLOCK: 16, MAX_SUB_SLOT_BLOCKS: 128, NUM_SPS_SUB_SLOT: 64, SUB_SLOT_ITERS_STARTING: 134217728, DIFFICULTY_CONSTANT_FACTOR: 147573952589676412928, DIFFICULTY_STARTING: 7, DIFFICULTY_CHANGE_MAX_FACTOR: 3, SUB_EPOCH_BLOCKS: 384, EPOCH_BLOCKS: 4608, SIGNIFICANT_BITS: 8, DISCRIMINANT_SIZE_BITS: 1024, NUMBER_ZERO_BITS_PLOT_FILTER_V1: 9, NUMBER_ZERO_BITS_PLOT_FILTER_V2: 5, MIN_PLOT_SIZE_V1: 32, MAX_PLOT_SIZE_V1: 50, PLOT_SIZE_V2: 28, SUB_SLOT_TIME_TARGET: 600, NUM_SP_INTERVALS_EXTRA: 3, MAX_FUTURE_TIME2: 120, NUMBER_OF_TIMESTAMPS: 11, GENESIS_CHALLENGE: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, AGG_SIG_ME_ADDITIONAL_DATA: ccd5bb71183532bff220ba46c268991a3ff07eb358e8255a65c30a2dce0e5fbb, AGG_SIG_PARENT_ADDITIONAL_DATA: baf5d69c647c91966170302d18521b0a85663433d161e72c826ed08677b53a74, AGG_SIG_PUZZLE_ADDITIONAL_DATA: 284fa2ef486c7a41cc29fc99c9d08376161e93dd37817edb8219f42dca7592c4, AGG_SIG_AMOUNT_ADDITIONAL_DATA: cda186a9cd030f7a130fae45005e81cae7a90e0fa205b75f6aebc0d598e0348e, AGG_SIG_PUZZLE_AMOUNT_ADDITIONAL_DATA: 0f7d90dff0613e6901e24dae59f1e690f18b8f5fbdcf1bb192ac9deaf7de22ad, AGG_SIG_PARENT_AMOUNT_ADDITIONAL_DATA: 585796bd90bb553c0430b87027ffee08d88aba0162c6e1abbbcc6b583f2ae7f9, AGG_SIG_PARENT_PUZZLE_ADDITIONAL_DATA: 2ebfdae17b29d83bae476a25ea06f0c4bd57298faddbbc3ec5ad29b9b86ce5df, GENESIS_PRE_FARM_POOL_PUZZLE_HASH: d23da14695a188ae5708dd152263c4db883eb27edeb936178d4d988b8f3ce5fc, GENESIS_PRE_FARM_FARMER_PUZZLE_HASH: 3d8765d3a597ec1d99663f6c9816d915b9f68613ac94009884c4addaefcce6af, MAX_VDF_WITNESS_SIZE: 64, MEMPOOL_BLOCK_BUFFER: 10, MAX_COIN_AMOUNT: 18446744073709551615, MAX_BLOCK_COST_CLVM: 11000000000, COST_PER_BYTE: 12000, WEIGHT_PROOF_THRESHOLD: 2, WEIGHT_PROOF_RECENT_BLOCKS: 1000, MAX_BLOCK_COUNT_PER_REQUESTS: 32, BLOCKS_CACHE_SIZE: 5120, MAX_GENERATOR_REF_LIST_SIZE: 512, POOL_SUB_SLOT_ITERS: 37600000000, HARD_FORK_HEIGHT: 5496000, HARD_FORK2_HEIGHT: 4294967295, PLOT_V1_PHASE_OUT_EPOCH_BITS: 8, PLOT_FILTER_128_HEIGHT: 10542000, PLOT_FILTER_64_HEIGHT: 15592000, PLOT_FILTER_32_HEIGHT: 20643000, MIN_PLOT_STRENGTH: 2, MAX_PLOT_STRENGTH: 32, QUALITY_PROOF_SCAN_FILTER: 5, PLOT_FILTER_V2_FIRST_ADJUSTMENT_HEIGHT: 4294967295, PLOT_FILTER_V2_SECOND_ADJUSTMENT_HEIGHT: 4294967295, PLOT_FILTER_V2_THIRD_ADJUSTMENT_HEIGHT: 4294967295, }"
)
15 changes: 9 additions & 6 deletions wheel/python/chia_rs/chia_rs.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -4512,11 +4512,12 @@ class ConsensusConstants:
POOL_SUB_SLOT_ITERS: uint64
HARD_FORK_HEIGHT: uint32
HARD_FORK2_HEIGHT: uint32
PLOT_V1_PHASE_OUT: uint32
PLOT_V1_PHASE_OUT_EPOCH_BITS: uint8
PLOT_FILTER_128_HEIGHT: uint32
PLOT_FILTER_64_HEIGHT: uint32
PLOT_FILTER_32_HEIGHT: uint32
PLOT_STRENGTH_INITIAL: uint8
MIN_PLOT_STRENGTH: uint8
MAX_PLOT_STRENGTH: uint8
QUALITY_PROOF_SCAN_FILTER: uint8
PLOT_FILTER_V2_FIRST_ADJUSTMENT_HEIGHT: uint32
PLOT_FILTER_V2_SECOND_ADJUSTMENT_HEIGHT: uint32
Expand Down Expand Up @@ -4567,11 +4568,12 @@ class ConsensusConstants:
POOL_SUB_SLOT_ITERS: uint64,
HARD_FORK_HEIGHT: uint32,
HARD_FORK2_HEIGHT: uint32,
PLOT_V1_PHASE_OUT: uint32,
PLOT_V1_PHASE_OUT_EPOCH_BITS: uint8,
PLOT_FILTER_128_HEIGHT: uint32,
PLOT_FILTER_64_HEIGHT: uint32,
PLOT_FILTER_32_HEIGHT: uint32,
PLOT_STRENGTH_INITIAL: uint8,
MIN_PLOT_STRENGTH: uint8,
MAX_PLOT_STRENGTH: uint8,
QUALITY_PROOF_SCAN_FILTER: uint8,
PLOT_FILTER_V2_FIRST_ADJUSTMENT_HEIGHT: uint32,
PLOT_FILTER_V2_SECOND_ADJUSTMENT_HEIGHT: uint32,
Expand Down Expand Up @@ -4638,11 +4640,12 @@ class ConsensusConstants:
POOL_SUB_SLOT_ITERS: Union[ uint64, _Unspec] = _Unspec(),
HARD_FORK_HEIGHT: Union[ uint32, _Unspec] = _Unspec(),
HARD_FORK2_HEIGHT: Union[ uint32, _Unspec] = _Unspec(),
PLOT_V1_PHASE_OUT: Union[ uint32, _Unspec] = _Unspec(),
PLOT_V1_PHASE_OUT_EPOCH_BITS: Union[ uint8, _Unspec] = _Unspec(),
PLOT_FILTER_128_HEIGHT: Union[ uint32, _Unspec] = _Unspec(),
PLOT_FILTER_64_HEIGHT: Union[ uint32, _Unspec] = _Unspec(),
PLOT_FILTER_32_HEIGHT: Union[ uint32, _Unspec] = _Unspec(),
PLOT_STRENGTH_INITIAL: Union[ uint8, _Unspec] = _Unspec(),
MIN_PLOT_STRENGTH: Union[ uint8, _Unspec] = _Unspec(),
MAX_PLOT_STRENGTH: Union[ uint8, _Unspec] = _Unspec(),
QUALITY_PROOF_SCAN_FILTER: Union[ uint8, _Unspec] = _Unspec(),
PLOT_FILTER_V2_FIRST_ADJUSTMENT_HEIGHT: Union[ uint32, _Unspec] = _Unspec(),
PLOT_FILTER_V2_SECOND_ADJUSTMENT_HEIGHT: Union[ uint32, _Unspec] = _Unspec(),
Expand Down
Loading