Skip to content

Commit a662d55

Browse files
committed
Merge commit 'ecb54a5874681326b9ba0d0f33e68c8d718c8639' into checkpoint/main_from_release_2.5.6_ecb54a5874681326b9ba0d0f33e68c8d718c8639
2 parents 5184258 + ecb54a5 commit a662d55

11 files changed

+186
-107
lines changed

chia/_tests/harvester/test_harvester_api.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,15 @@ async def harvester_environment(
5151

5252
def signage_point_from_block(
5353
block: FullBlock, constants: ConsensusConstants
54-
) -> harvester_protocol.NewSignagePointHarvester:
54+
) -> harvester_protocol.NewSignagePointHarvester2:
5555
sp_index = block.reward_chain_block.signage_point_index
5656
challenge_hash = block.reward_chain_block.pos_ss_cc_challenge_hash
5757
sp_hash = (
5858
block.reward_chain_block.reward_chain_sp_vdf.output.get_hash()
5959
if block.reward_chain_block.reward_chain_sp_vdf
6060
else challenge_hash
6161
)
62-
return harvester_protocol.NewSignagePointHarvester(
62+
return harvester_protocol.NewSignagePointHarvester2(
6363
challenge_hash=challenge_hash,
6464
difficulty=uint64(constants.DIFFICULTY_STARTING),
6565
sub_slot_iters=uint64(constants.SUB_SLOT_ITERS_STARTING),
@@ -75,7 +75,7 @@ def create_test_setup(
7575
harvester_environment: HarvesterTestEnvironment,
7676
default_400_blocks: list[FullBlock],
7777
blockchain_constants: ConsensusConstants,
78-
) -> tuple[HarvesterTestEnvironment, harvester_protocol.NewSignagePointHarvester, MagicMock]:
78+
) -> tuple[HarvesterTestEnvironment, harvester_protocol.NewSignagePointHarvester2, MagicMock]:
7979
env = harvester_environment
8080
block = default_400_blocks[2]
8181
new_challenge = signage_point_from_block(block, blockchain_constants)
@@ -128,7 +128,7 @@ async def test_new_signage_point_harvester_pool_difficulty(
128128
sub_slot_iters=uint64(67108864),
129129
)
130130

131-
new_challenge = harvester_protocol.NewSignagePointHarvester(
131+
new_challenge = harvester_protocol.NewSignagePointHarvester2(
132132
challenge_hash=new_challenge.challenge_hash,
133133
difficulty=new_challenge.difficulty,
134134
sub_slot_iters=new_challenge.sub_slot_iters,

chia/_tests/util/build_network_protocol_files.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ def visit_harvester_protocol(visitor: Callable[[Any, str], None]) -> None:
123123
visitor(pool_difficulty, "pool_difficulty")
124124
visitor(harvester_handhsake, "harvester_handhsake")
125125
visitor(new_signage_point_harvester, "new_signage_point_harvester")
126+
visitor(new_signage_point_harvester2, "new_signage_point_harvester2")
126127
visitor(new_proof_of_space, "new_proof_of_space")
127128
visitor(request_signatures, "request_signatures")
128129
visitor(respond_signatures, "respond_signatures")

chia/_tests/util/network_protocol_data.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -810,6 +810,16 @@
810810
)
811811

812812
new_signage_point_harvester = harvester_protocol.NewSignagePointHarvester(
813+
bytes32(bytes.fromhex("e342c21b4aeaa52349d42492be934692db58494ca9bce4a8697d06fdf8e583bb")),
814+
uint64(15615706268399948682),
815+
uint64(10520767421667792980),
816+
uint8(148),
817+
bytes32(bytes.fromhex("b78c9fca155e9742df835cbe84bb7e518bee70d78b6be6e39996c0a02e0cfe4c")),
818+
[pool_difficulty],
819+
uint8(3),
820+
)
821+
822+
new_signage_point_harvester2 = harvester_protocol.NewSignagePointHarvester2(
813823
bytes32(bytes.fromhex("e342c21b4aeaa52349d42492be934692db58494ca9bce4a8697d06fdf8e583bb")),
814824
uint64(15615706268399948682),
815825
uint64(10520767421667792980),
@@ -820,6 +830,7 @@
820830
uint32(0),
821831
)
822832

833+
823834
new_proof_of_space = harvester_protocol.NewProofOfSpace(
824835
bytes32.fromhex("1b64ec6bf3fe33bb80eca5b64ff1c88be07771eaed1e98a7199510522087e56e"),
825836
bytes32.fromhex("ad1f8a74376ce8c5c93b7fbb355c2fb6d689ae4f4a7134166593d95265a3da30"),
138 Bytes
Binary file not shown.

chia/_tests/util/protocol_messages_json.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2160,6 +2160,22 @@
21602160
}
21612161

21622162
new_signage_point_harvester_json: dict[str, Any] = {
2163+
"challenge_hash": "0xe342c21b4aeaa52349d42492be934692db58494ca9bce4a8697d06fdf8e583bb",
2164+
"difficulty": 15615706268399948682,
2165+
"sub_slot_iters": 10520767421667792980,
2166+
"signage_point_index": 148,
2167+
"sp_hash": "0xb78c9fca155e9742df835cbe84bb7e518bee70d78b6be6e39996c0a02e0cfe4c",
2168+
"pool_difficulties": [
2169+
{
2170+
"difficulty": 14819251421858580996,
2171+
"sub_slot_iters": 12852879676624401630,
2172+
"pool_contract_puzzle_hash": "0xc9423123ea65e6923e973b95531b4874570dae942cb757a2daec4a6971753886",
2173+
}
2174+
],
2175+
"filter_prefix_bits": 3,
2176+
}
2177+
2178+
new_signage_point_harvester2_json: dict[str, Any] = {
21632179
"challenge_hash": "0xe342c21b4aeaa52349d42492be934692db58494ca9bce4a8697d06fdf8e583bb",
21642180
"difficulty": 15615706268399948682,
21652181
"sub_slot_iters": 10520767421667792980,

chia/_tests/util/test_network_protocol_files.py

Lines changed: 101 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -431,163 +431,168 @@ def test_protocol_bytes() -> None:
431431
assert bytes(message_80) == bytes(new_signage_point_harvester)
432432

433433
message_bytes, input_bytes = parse_blob(input_bytes)
434-
message_81 = type(new_proof_of_space).from_bytes(message_bytes)
435-
assert message_81 == new_proof_of_space
436-
assert bytes(message_81) == bytes(new_proof_of_space)
434+
message_81 = type(new_signage_point_harvester2).from_bytes(message_bytes)
435+
assert message_81 == new_signage_point_harvester2
436+
assert bytes(message_81) == bytes(new_signage_point_harvester2)
437437

438438
message_bytes, input_bytes = parse_blob(input_bytes)
439-
message_82 = type(request_signatures).from_bytes(message_bytes)
440-
assert message_82 == request_signatures
441-
assert bytes(message_82) == bytes(request_signatures)
439+
message_82 = type(new_proof_of_space).from_bytes(message_bytes)
440+
assert message_82 == new_proof_of_space
441+
assert bytes(message_82) == bytes(new_proof_of_space)
442442

443443
message_bytes, input_bytes = parse_blob(input_bytes)
444-
message_83 = type(respond_signatures).from_bytes(message_bytes)
445-
assert message_83 == respond_signatures
446-
assert bytes(message_83) == bytes(respond_signatures)
444+
message_83 = type(request_signatures).from_bytes(message_bytes)
445+
assert message_83 == request_signatures
446+
assert bytes(message_83) == bytes(request_signatures)
447447

448448
message_bytes, input_bytes = parse_blob(input_bytes)
449-
message_84 = type(plot).from_bytes(message_bytes)
450-
assert message_84 == plot
451-
assert bytes(message_84) == bytes(plot)
449+
message_84 = type(respond_signatures).from_bytes(message_bytes)
450+
assert message_84 == respond_signatures
451+
assert bytes(message_84) == bytes(respond_signatures)
452452

453453
message_bytes, input_bytes = parse_blob(input_bytes)
454-
message_85 = type(request_plots).from_bytes(message_bytes)
455-
assert message_85 == request_plots
456-
assert bytes(message_85) == bytes(request_plots)
454+
message_85 = type(plot).from_bytes(message_bytes)
455+
assert message_85 == plot
456+
assert bytes(message_85) == bytes(plot)
457457

458458
message_bytes, input_bytes = parse_blob(input_bytes)
459-
message_86 = type(respond_plots).from_bytes(message_bytes)
460-
assert message_86 == respond_plots
461-
assert bytes(message_86) == bytes(respond_plots)
459+
message_86 = type(request_plots).from_bytes(message_bytes)
460+
assert message_86 == request_plots
461+
assert bytes(message_86) == bytes(request_plots)
462462

463463
message_bytes, input_bytes = parse_blob(input_bytes)
464-
message_87 = type(request_peers_introducer).from_bytes(message_bytes)
465-
assert message_87 == request_peers_introducer
466-
assert bytes(message_87) == bytes(request_peers_introducer)
464+
message_87 = type(respond_plots).from_bytes(message_bytes)
465+
assert message_87 == respond_plots
466+
assert bytes(message_87) == bytes(respond_plots)
467467

468468
message_bytes, input_bytes = parse_blob(input_bytes)
469-
message_88 = type(respond_peers_introducer).from_bytes(message_bytes)
470-
assert message_88 == respond_peers_introducer
471-
assert bytes(message_88) == bytes(respond_peers_introducer)
469+
message_88 = type(request_peers_introducer).from_bytes(message_bytes)
470+
assert message_88 == request_peers_introducer
471+
assert bytes(message_88) == bytes(request_peers_introducer)
472472

473473
message_bytes, input_bytes = parse_blob(input_bytes)
474-
message_89 = type(authentication_payload).from_bytes(message_bytes)
475-
assert message_89 == authentication_payload
476-
assert bytes(message_89) == bytes(authentication_payload)
474+
message_89 = type(respond_peers_introducer).from_bytes(message_bytes)
475+
assert message_89 == respond_peers_introducer
476+
assert bytes(message_89) == bytes(respond_peers_introducer)
477477

478478
message_bytes, input_bytes = parse_blob(input_bytes)
479-
message_90 = type(get_pool_info_response).from_bytes(message_bytes)
480-
assert message_90 == get_pool_info_response
481-
assert bytes(message_90) == bytes(get_pool_info_response)
479+
message_90 = type(authentication_payload).from_bytes(message_bytes)
480+
assert message_90 == authentication_payload
481+
assert bytes(message_90) == bytes(authentication_payload)
482482

483483
message_bytes, input_bytes = parse_blob(input_bytes)
484-
message_91 = type(post_partial_payload).from_bytes(message_bytes)
485-
assert message_91 == post_partial_payload
486-
assert bytes(message_91) == bytes(post_partial_payload)
484+
message_91 = type(get_pool_info_response).from_bytes(message_bytes)
485+
assert message_91 == get_pool_info_response
486+
assert bytes(message_91) == bytes(get_pool_info_response)
487487

488488
message_bytes, input_bytes = parse_blob(input_bytes)
489-
message_92 = type(post_partial_request).from_bytes(message_bytes)
490-
assert message_92 == post_partial_request
491-
assert bytes(message_92) == bytes(post_partial_request)
489+
message_92 = type(post_partial_payload).from_bytes(message_bytes)
490+
assert message_92 == post_partial_payload
491+
assert bytes(message_92) == bytes(post_partial_payload)
492492

493493
message_bytes, input_bytes = parse_blob(input_bytes)
494-
message_93 = type(post_partial_response).from_bytes(message_bytes)
495-
assert message_93 == post_partial_response
496-
assert bytes(message_93) == bytes(post_partial_response)
494+
message_93 = type(post_partial_request).from_bytes(message_bytes)
495+
assert message_93 == post_partial_request
496+
assert bytes(message_93) == bytes(post_partial_request)
497497

498498
message_bytes, input_bytes = parse_blob(input_bytes)
499-
message_94 = type(get_farmer_response).from_bytes(message_bytes)
500-
assert message_94 == get_farmer_response
501-
assert bytes(message_94) == bytes(get_farmer_response)
499+
message_94 = type(post_partial_response).from_bytes(message_bytes)
500+
assert message_94 == post_partial_response
501+
assert bytes(message_94) == bytes(post_partial_response)
502502

503503
message_bytes, input_bytes = parse_blob(input_bytes)
504-
message_95 = type(post_farmer_payload).from_bytes(message_bytes)
505-
assert message_95 == post_farmer_payload
506-
assert bytes(message_95) == bytes(post_farmer_payload)
504+
message_95 = type(get_farmer_response).from_bytes(message_bytes)
505+
assert message_95 == get_farmer_response
506+
assert bytes(message_95) == bytes(get_farmer_response)
507507

508508
message_bytes, input_bytes = parse_blob(input_bytes)
509-
message_96 = type(post_farmer_request).from_bytes(message_bytes)
510-
assert message_96 == post_farmer_request
511-
assert bytes(message_96) == bytes(post_farmer_request)
509+
message_96 = type(post_farmer_payload).from_bytes(message_bytes)
510+
assert message_96 == post_farmer_payload
511+
assert bytes(message_96) == bytes(post_farmer_payload)
512512

513513
message_bytes, input_bytes = parse_blob(input_bytes)
514-
message_97 = type(post_farmer_response).from_bytes(message_bytes)
515-
assert message_97 == post_farmer_response
516-
assert bytes(message_97) == bytes(post_farmer_response)
514+
message_97 = type(post_farmer_request).from_bytes(message_bytes)
515+
assert message_97 == post_farmer_request
516+
assert bytes(message_97) == bytes(post_farmer_request)
517517

518518
message_bytes, input_bytes = parse_blob(input_bytes)
519-
message_98 = type(put_farmer_payload).from_bytes(message_bytes)
520-
assert message_98 == put_farmer_payload
521-
assert bytes(message_98) == bytes(put_farmer_payload)
519+
message_98 = type(post_farmer_response).from_bytes(message_bytes)
520+
assert message_98 == post_farmer_response
521+
assert bytes(message_98) == bytes(post_farmer_response)
522522

523523
message_bytes, input_bytes = parse_blob(input_bytes)
524-
message_99 = type(put_farmer_request).from_bytes(message_bytes)
525-
assert message_99 == put_farmer_request
526-
assert bytes(message_99) == bytes(put_farmer_request)
524+
message_99 = type(put_farmer_payload).from_bytes(message_bytes)
525+
assert message_99 == put_farmer_payload
526+
assert bytes(message_99) == bytes(put_farmer_payload)
527527

528528
message_bytes, input_bytes = parse_blob(input_bytes)
529-
message_100 = type(put_farmer_response).from_bytes(message_bytes)
530-
assert message_100 == put_farmer_response
531-
assert bytes(message_100) == bytes(put_farmer_response)
529+
message_100 = type(put_farmer_request).from_bytes(message_bytes)
530+
assert message_100 == put_farmer_request
531+
assert bytes(message_100) == bytes(put_farmer_request)
532532

533533
message_bytes, input_bytes = parse_blob(input_bytes)
534-
message_101 = type(error_response).from_bytes(message_bytes)
535-
assert message_101 == error_response
536-
assert bytes(message_101) == bytes(error_response)
534+
message_101 = type(put_farmer_response).from_bytes(message_bytes)
535+
assert message_101 == put_farmer_response
536+
assert bytes(message_101) == bytes(put_farmer_response)
537537

538538
message_bytes, input_bytes = parse_blob(input_bytes)
539-
message_102 = type(new_peak_timelord).from_bytes(message_bytes)
540-
assert message_102 == new_peak_timelord
541-
assert bytes(message_102) == bytes(new_peak_timelord)
539+
message_102 = type(error_response).from_bytes(message_bytes)
540+
assert message_102 == error_response
541+
assert bytes(message_102) == bytes(error_response)
542542

543543
message_bytes, input_bytes = parse_blob(input_bytes)
544-
message_103 = type(new_unfinished_block_timelord).from_bytes(message_bytes)
545-
assert message_103 == new_unfinished_block_timelord
546-
assert bytes(message_103) == bytes(new_unfinished_block_timelord)
544+
message_103 = type(new_peak_timelord).from_bytes(message_bytes)
545+
assert message_103 == new_peak_timelord
546+
assert bytes(message_103) == bytes(new_peak_timelord)
547547

548548
message_bytes, input_bytes = parse_blob(input_bytes)
549-
message_104 = type(new_infusion_point_vdf).from_bytes(message_bytes)
550-
assert message_104 == new_infusion_point_vdf
551-
assert bytes(message_104) == bytes(new_infusion_point_vdf)
549+
message_104 = type(new_unfinished_block_timelord).from_bytes(message_bytes)
550+
assert message_104 == new_unfinished_block_timelord
551+
assert bytes(message_104) == bytes(new_unfinished_block_timelord)
552552

553553
message_bytes, input_bytes = parse_blob(input_bytes)
554-
message_105 = type(new_signage_point_vdf).from_bytes(message_bytes)
555-
assert message_105 == new_signage_point_vdf
556-
assert bytes(message_105) == bytes(new_signage_point_vdf)
554+
message_105 = type(new_infusion_point_vdf).from_bytes(message_bytes)
555+
assert message_105 == new_infusion_point_vdf
556+
assert bytes(message_105) == bytes(new_infusion_point_vdf)
557557

558558
message_bytes, input_bytes = parse_blob(input_bytes)
559-
message_106 = type(new_end_of_sub_slot_bundle).from_bytes(message_bytes)
560-
assert message_106 == new_end_of_sub_slot_bundle
561-
assert bytes(message_106) == bytes(new_end_of_sub_slot_bundle)
559+
message_106 = type(new_signage_point_vdf).from_bytes(message_bytes)
560+
assert message_106 == new_signage_point_vdf
561+
assert bytes(message_106) == bytes(new_signage_point_vdf)
562562

563563
message_bytes, input_bytes = parse_blob(input_bytes)
564-
message_107 = type(request_compact_proof_of_time).from_bytes(message_bytes)
565-
assert message_107 == request_compact_proof_of_time
566-
assert bytes(message_107) == bytes(request_compact_proof_of_time)
564+
message_107 = type(new_end_of_sub_slot_bundle).from_bytes(message_bytes)
565+
assert message_107 == new_end_of_sub_slot_bundle
566+
assert bytes(message_107) == bytes(new_end_of_sub_slot_bundle)
567567

568568
message_bytes, input_bytes = parse_blob(input_bytes)
569-
message_108 = type(respond_compact_proof_of_time).from_bytes(message_bytes)
570-
assert message_108 == respond_compact_proof_of_time
571-
assert bytes(message_108) == bytes(respond_compact_proof_of_time)
569+
message_108 = type(request_compact_proof_of_time).from_bytes(message_bytes)
570+
assert message_108 == request_compact_proof_of_time
571+
assert bytes(message_108) == bytes(request_compact_proof_of_time)
572572

573573
message_bytes, input_bytes = parse_blob(input_bytes)
574-
message_109 = type(error_without_data).from_bytes(message_bytes)
575-
assert message_109 == error_without_data
576-
assert bytes(message_109) == bytes(error_without_data)
574+
message_109 = type(respond_compact_proof_of_time).from_bytes(message_bytes)
575+
assert message_109 == respond_compact_proof_of_time
576+
assert bytes(message_109) == bytes(respond_compact_proof_of_time)
577577

578578
message_bytes, input_bytes = parse_blob(input_bytes)
579-
message_110 = type(error_with_data).from_bytes(message_bytes)
580-
assert message_110 == error_with_data
581-
assert bytes(message_110) == bytes(error_with_data)
579+
message_110 = type(error_without_data).from_bytes(message_bytes)
580+
assert message_110 == error_without_data
581+
assert bytes(message_110) == bytes(error_without_data)
582582

583583
message_bytes, input_bytes = parse_blob(input_bytes)
584-
message_111 = type(solver_info).from_bytes(message_bytes)
585-
assert message_111 == solver_info
586-
assert bytes(message_111) == bytes(solver_info)
584+
message_111 = type(error_with_data).from_bytes(message_bytes)
585+
assert message_111 == error_with_data
586+
assert bytes(message_111) == bytes(error_with_data)
587587

588588
message_bytes, input_bytes = parse_blob(input_bytes)
589-
message_112 = type(solver_response).from_bytes(message_bytes)
590-
assert message_112 == solver_response
591-
assert bytes(message_112) == bytes(solver_response)
589+
message_112 = type(solver_info).from_bytes(message_bytes)
590+
assert message_112 == solver_info
591+
assert bytes(message_112) == bytes(solver_info)
592+
593+
message_bytes, input_bytes = parse_blob(input_bytes)
594+
message_113 = type(solver_response).from_bytes(message_bytes)
595+
assert message_113 == solver_response
596+
assert bytes(message_113) == bytes(solver_response)
592597

593598
assert input_bytes == b""

chia/_tests/util/test_network_protocol_json.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,11 @@ def test_protocol_json() -> None:
196196
type(new_signage_point_harvester).from_json_dict(new_signage_point_harvester_json)
197197
== new_signage_point_harvester
198198
)
199+
assert str(new_signage_point_harvester2_json) == str(new_signage_point_harvester2.to_json_dict())
200+
assert (
201+
type(new_signage_point_harvester2).from_json_dict(new_signage_point_harvester2_json)
202+
== new_signage_point_harvester2
203+
)
199204
assert str(new_proof_of_space_json) == str(new_proof_of_space.to_json_dict())
200205
assert type(new_proof_of_space).from_json_dict(new_proof_of_space_json) == new_proof_of_space
201206
assert str(request_signatures_json) == str(request_signatures.to_json_dict())

chia/_tests/util/test_network_protocol_test.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ def test_missing_messages() -> None:
174174
"ProofOfSpaceFeeInfo",
175175
"NewProofOfSpace",
176176
"NewSignagePointHarvester",
177+
"NewSignagePointHarvester2",
177178
"Plot",
178179
"PlotSyncDone",
179180
"PlotSyncError",

0 commit comments

Comments
 (0)