Repository: Chia-Network/chia-blockchain
File: chia/protocols/protocol_message_type_to_node_type.py (Python)

Code before:
    ProtocolMessageTypes.request_block_header: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_block_header: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_header_request: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_removals: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_removals: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_removals_request: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_additions: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_additions: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_additions_request: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_header_blocks: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_header_blocks: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_header_blocks: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.coin_state_update: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.register_for_ph_updates: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_to_ph_updates: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.register_for_coin_updates: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_to_coin_updates: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_children: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_children: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_ses_hashes: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_ses_hashes: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_block_headers: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_block_headers: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_block_headers: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_fee_estimates: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_fee_estimates: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_remove_puzzle_subscriptions: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_remove_puzzle_subscriptions: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_remove_coin_subscriptions: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_remove_coin_subscriptions: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_puzzle_state: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_puzzle_state: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_puzzle_state: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_coin_state: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_coin_state: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_coin_state: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.mempool_items_added: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.mempool_items_removed: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.request_cost_info: {NodeType.WALLET, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_cost_info: {NodeType.WALLET, NodeType.FULL_NODE},
    # Introducer protocol (introducer <-> full_node)
    ProtocolMessageTypes.request_peers_introducer: {NodeType.INTRODUCER, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_peers_introducer: {NodeType.INTRODUCER, NodeType.FULL_NODE},
    # Simulator protocol
    ProtocolMessageTypes.farm_new_block: {NodeType.FULL_NODE},
    # Solver protocol
    ProtocolMessageTypes.solve: {NodeType.SOLVER, NodeType.FULL_NODE},
    # Error response (handled before lookup; allow all for completeness)
    ProtocolMessageTypes.error: set(NodeType),
}


Review comment (suggestion):
```suggestion
    ProtocolMessageTypes.request_fee_estimates: {NodeType.WALLET},
    ProtocolMessageTypes.respond_fee_estimates: {NodeType.FULL_NODE},
```

I would expect something like this

Code after:
    ProtocolMessageTypes.request_puzzle_solution: {NodeType.WALLET},
    ProtocolMessageTypes.respond_puzzle_solution: {NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_puzzle_solution: {NodeType.FULL_NODE},
    ProtocolMessageTypes.send_transaction: {NodeType.WALLET},
    ProtocolMessageTypes.transaction_ack: {NodeType.FULL_NODE},
    ProtocolMessageTypes.new_peak_wallet: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_block_header: {NodeType.WALLET},
    ProtocolMessageTypes.respond_block_header: {NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_header_request: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_removals: {NodeType.WALLET},
    ProtocolMessageTypes.respond_removals: {NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_removals_request: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_additions: {NodeType.WALLET},
    ProtocolMessageTypes.respond_additions: {NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_additions_request: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_header_blocks: {NodeType.WALLET},
    ProtocolMessageTypes.reject_header_blocks: {NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_header_blocks: {NodeType.FULL_NODE},
    ProtocolMessageTypes.coin_state_update: {NodeType.FULL_NODE},
    ProtocolMessageTypes.register_for_ph_updates: {NodeType.WALLET},
    ProtocolMessageTypes.respond_to_ph_updates: {NodeType.FULL_NODE},
    ProtocolMessageTypes.register_for_coin_updates: {NodeType.WALLET},
    ProtocolMessageTypes.respond_to_coin_updates: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_children: {NodeType.WALLET},
    ProtocolMessageTypes.respond_children: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_ses_hashes: {NodeType.WALLET},
    ProtocolMessageTypes.respond_ses_hashes: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_block_headers: {NodeType.WALLET},
    ProtocolMessageTypes.reject_block_headers: {NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_block_headers: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_fee_estimates: {NodeType.WALLET},
    ProtocolMessageTypes.respond_fee_estimates: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_remove_puzzle_subscriptions: {NodeType.WALLET},
    ProtocolMessageTypes.respond_remove_puzzle_subscriptions: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_remove_coin_subscriptions: {NodeType.WALLET},
    ProtocolMessageTypes.respond_remove_coin_subscriptions: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_puzzle_state: {NodeType.WALLET},
    ProtocolMessageTypes.respond_puzzle_state: {NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_puzzle_state: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_coin_state: {NodeType.WALLET},
    ProtocolMessageTypes.respond_coin_state: {NodeType.FULL_NODE},
    ProtocolMessageTypes.reject_coin_state: {NodeType.FULL_NODE},
    ProtocolMessageTypes.mempool_items_added: {NodeType.FULL_NODE},
    ProtocolMessageTypes.mempool_items_removed: {NodeType.FULL_NODE},
    ProtocolMessageTypes.request_cost_info: {NodeType.WALLET},
    ProtocolMessageTypes.respond_cost_info: {NodeType.FULL_NODE},
    # Introducer protocol (introducer <-> full_node)
    ProtocolMessageTypes.request_peers_introducer: {NodeType.WALLET, NodeType.FARMER, NodeType.FULL_NODE},
    ProtocolMessageTypes.respond_peers_introducer: {NodeType.INTRODUCER},
    # Simulator protocol
    # TODO: We should remove this protocol message as `farm_new_block` is only