Skip to content

Commit

Permalink
Add unfinished block to state change event
Browse files Browse the repository at this point in the history
  • Loading branch information
felixbrucker committed May 9, 2024
1 parent fdb87e6 commit fc5d0b5
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
15 changes: 13 additions & 2 deletions chia/full_node/full_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -2010,6 +2010,9 @@ async def add_unfinished_block(
pre_validation_log = (
f"pre_validation time {pre_validation_time:0.4f}, " if pre_validation_time is not None else ""
)
block_duration_in_seconds = (
receive_time - self.signage_point_times[block.reward_chain_block.signage_point_index]
)
if farmed_block is True:
self.log.info(
f"🍀 ️Farmed unfinished_block {block_hash}, SP: {block.reward_chain_block.signage_point_index}, "
Expand All @@ -2029,7 +2032,7 @@ async def add_unfinished_block(
self.log.info(
f"Added unfinished_block {block_hash}, not farmed by us,"
f" SP: {block.reward_chain_block.signage_point_index} farmer response time: "
f"{receive_time - self.signage_point_times[block.reward_chain_block.signage_point_index]:0.4f}, "
f"{block_duration_in_seconds:0.4f}, "
f"Pool pk {encode_puzzle_hash(block.foliage.foliage_block_data.pool_target.puzzle_hash, 'xch')}, "
f"validation time: {validation_time:0.4f} seconds, {pre_validation_log}"
f"cost: {block.transactions_info.cost if block.transactions_info else 'None'}"
Expand Down Expand Up @@ -2091,7 +2094,15 @@ def new_clients(conn: WSChiaConnection) -> bool:
await self.server.send_to_all_if([msg], NodeType.FULL_NODE, old_clients, peer_id)
await self.server.send_to_all_if([msg2], NodeType.FULL_NODE, new_clients, peer_id)

self._state_changed("unfinished_block")
self._state_changed(
"unfinished_block",
{
"block_duration_in_seconds": block_duration_in_seconds,
"validation_time_in_seconds": validation_time,
"pre_validation_time_in_seconds": pre_validation_time,
"unfinished_block": block.to_json_dict(),
},
)

async def new_infusion_point_vdf(
self, request: timelord_protocol.NewInfusionPointVDF, timelord_peer: Optional[WSChiaConnection] = None
Expand Down
3 changes: 3 additions & 0 deletions chia/rpc/full_node_rpc_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,9 @@ async def _state_changed(self, change: str, change_data: Optional[Dict[str, Any]
if change in ("block", "signage_point"):
payloads.append(create_payload_dict(change, change_data, self.service_name, "metrics"))

if change == "unfinished_block":
payloads.append(create_payload_dict(change, change_data, self.service_name, "unfinished_block_info"))

return payloads

# this function is just here for backwards-compatibility. It will probably
Expand Down

0 comments on commit fc5d0b5

Please sign in to comment.