Skip to content

Commit 8f484e6

Browse files
authored
Name wallet protocol subscription messages consistently (#19132)
* Name wallet protocol subscription messages consistently * fix changelog * fix name in full_node_api * missed a spot
1 parent e562cd7 commit 8f484e6

File tree

11 files changed

+57
-57
lines changed

11 files changed

+57
-57
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ macOS 11 (Big Sur) is deprecated. This release (2.4.0) will be the last release
726726
- Only subscribe to inner wallet puzzle hashes
727727
- Rpc: Fix and test `WalletRpcApi.get_coin_records_by_names`
728728
- Full_node: `uint32.MAXIMUM_EXCLUSIVE` -> `uint32.MAXIMUM`
729-
- Full_node: Don't send duplicates in `register_interest_in_puzzle_hash`
729+
- Full_node: Don't send duplicates in `register_for_ph_updates`
730730
- Wallet: Deduplicate coin states from peers
731731
- Build: include `puzzles` packages (#15508)
732732
- Handle VC syncing exceptions better

chia/_tests/wallet/simple_sync/test_simple_sync_protocol.py

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ async def test_subscribe_for_ph(simulator_and_wallet: OldSimulatorsAndWallets, s
5353
junk_ph = bytes32(32 * b"\a")
5454
fake_wallet_peer = fn_server.all_connections[peer_id]
5555
msg = wallet_protocol.RegisterForPhUpdates([zero_ph], uint32(0))
56-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, fake_wallet_peer)
56+
msg_response = await full_node_api.register_for_ph_updates(msg, fake_wallet_peer)
5757

58-
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_update.value
58+
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_updates.value
5959
data_response = RespondToCoinUpdates.from_bytes(msg_response.data)
6060
assert data_response.coin_states == []
6161

@@ -68,8 +68,8 @@ async def test_subscribe_for_ph(simulator_and_wallet: OldSimulatorsAndWallets, s
6868
await full_node_api.farm_new_transaction_block(FarmNewBlockProtocol(zero_ph))
6969

7070
msg = wallet_protocol.RegisterForPhUpdates([zero_ph], uint32(0))
71-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, fake_wallet_peer)
72-
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_update.value
71+
msg_response = await full_node_api.register_for_ph_updates(msg, fake_wallet_peer)
72+
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_updates.value
7373
data_response = RespondToCoinUpdates.from_bytes(msg_response.data)
7474
# we have already subscribed to this puzzle hash, it will be ignored
7575
# we still receive the updates (see below)
@@ -101,7 +101,7 @@ async def test_subscribe_for_ph(simulator_and_wallet: OldSimulatorsAndWallets, s
101101
# Test subscribing to more coins
102102
one_ph = bytes32(32 * b"\1")
103103
msg = wallet_protocol.RegisterForPhUpdates([one_ph], uint32(0))
104-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, fake_wallet_peer)
104+
msg_response = await full_node_api.register_for_ph_updates(msg, fake_wallet_peer)
105105
peak = full_node_api.full_node.blockchain.get_peak()
106106

107107
for i in range(num_blocks):
@@ -163,8 +163,8 @@ async def test_subscribe_for_ph(simulator_and_wallet: OldSimulatorsAndWallets, s
163163
assert funds == fn_amount
164164

165165
msg_1 = wallet_protocol.RegisterForPhUpdates([puzzle_hash], uint32(0))
166-
msg_response_1 = await full_node_api.register_interest_in_puzzle_hash(msg_1, fake_wallet_peer)
167-
assert msg_response_1.type == ProtocolMessageTypes.respond_to_ph_update.value
166+
msg_response_1 = await full_node_api.register_for_ph_updates(msg_1, fake_wallet_peer)
167+
assert msg_response_1.type == ProtocolMessageTypes.respond_to_ph_updates.value
168168
data_response_1 = RespondToCoinUpdates.from_bytes(msg_response_1.data)
169169
assert len(data_response_1.coin_states) == 2 * num_blocks # 2 per height farmer / pool reward
170170

@@ -244,9 +244,9 @@ async def test_subscribe_for_coin_id(simulator_and_wallet: OldSimulatorsAndWalle
244244
coin_to_spend = my_coins[0].coin
245245

246246
msg = wallet_protocol.RegisterForCoinUpdates([coin_to_spend.name()], uint32(0))
247-
msg_response = await full_node_api.register_interest_in_coin(msg, fake_wallet_peer)
247+
msg_response = await full_node_api.register_for_coin_updates(msg, fake_wallet_peer)
248248
assert msg_response is not None
249-
assert msg_response.type == ProtocolMessageTypes.respond_to_coin_update.value
249+
assert msg_response.type == ProtocolMessageTypes.respond_to_coin_updates.value
250250
data_response = RespondToCoinUpdates.from_bytes(msg_response.data)
251251
assert data_response.coin_states[0].coin == coin_to_spend
252252

@@ -286,9 +286,9 @@ async def test_subscribe_for_coin_id(simulator_and_wallet: OldSimulatorsAndWalle
286286
assert added_target is not None
287287

288288
msg = wallet_protocol.RegisterForCoinUpdates([added_target.name()], uint32(0))
289-
msg_response = await full_node_api.register_interest_in_coin(msg, fake_wallet_peer)
289+
msg_response = await full_node_api.register_for_coin_updates(msg, fake_wallet_peer)
290290
assert msg_response is not None
291-
assert msg_response.type == ProtocolMessageTypes.respond_to_coin_update.value
291+
assert msg_response.type == ProtocolMessageTypes.respond_to_coin_updates.value
292292
data_response = RespondToCoinUpdates.from_bytes(msg_response.data)
293293
assert len(data_response.coin_states) == 0
294294

@@ -338,7 +338,7 @@ async def test_subscribe_for_ph_reorg(simulator_and_wallet: OldSimulatorsAndWall
338338
await full_node_api.farm_new_transaction_block(FarmNewBlockProtocol(zero_ph))
339339

340340
msg = wallet_protocol.RegisterForPhUpdates([puzzle_hash], uint32(0))
341-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, fake_wallet_peer)
341+
msg_response = await full_node_api.register_for_ph_updates(msg, fake_wallet_peer)
342342
assert msg_response is not None
343343
await full_node_api.farm_new_transaction_block(FarmNewBlockProtocol(puzzle_hash))
344344

@@ -425,7 +425,7 @@ async def test_subscribe_for_coin_id_reorg(simulator_and_wallet: OldSimulatorsAn
425425

426426
for coin_rec in coin_records:
427427
msg = wallet_protocol.RegisterForCoinUpdates([coin_rec.name], uint32(0))
428-
msg_response = await full_node_api.register_interest_in_coin(msg, fake_wallet_peer)
428+
msg_response = await full_node_api.register_for_coin_updates(msg, fake_wallet_peer)
429429
assert msg_response is not None
430430

431431
fork_height = uint32(expected_height - num_blocks - 5)
@@ -481,8 +481,8 @@ async def test_subscribe_for_hint(simulator_and_wallet: OldSimulatorsAndWallets,
481481

482482
fake_wallet_peer = fn_server.all_connections[peer_id]
483483
msg = wallet_protocol.RegisterForPhUpdates([hint], uint32(0))
484-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, fake_wallet_peer)
485-
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_update.value
484+
msg_response = await full_node_api.register_for_ph_updates(msg, fake_wallet_peer)
485+
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_updates.value
486486
data_response = RespondToCoinUpdates.from_bytes(msg_response.data)
487487
assert len(data_response.coin_states) == 0
488488

@@ -512,8 +512,8 @@ async def test_subscribe_for_hint(simulator_and_wallet: OldSimulatorsAndWallets,
512512
assert notified_state.items[0].coin == Coin(coin_spent.name(), hint_puzzle_hash, amount)
513513

514514
msg = wallet_protocol.RegisterForPhUpdates([hint], uint32(0))
515-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, fake_wallet_peer)
516-
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_update.value
515+
msg_response = await full_node_api.register_for_ph_updates(msg, fake_wallet_peer)
516+
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_updates.value
517517
response = RespondToCoinUpdates.from_bytes(msg_response.data)
518518
# we have already subscribed to this puzzle hash. The full node will
519519
# ignore the duplicate
@@ -548,8 +548,8 @@ async def test_subscribe_for_puzzle_hash_coin_hint_duplicates(
548548
await full_node_api.process_spend_bundles(bundles=[tx])
549549
# Query the coin states and make sure it doesn't contain duplicated entries
550550
msg = wallet_protocol.RegisterForPhUpdates([ph], uint32(0))
551-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, wallet_connection)
552-
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_update.value
551+
msg_response = await full_node_api.register_for_ph_updates(msg, wallet_connection)
552+
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_updates.value
553553
response = RespondToCoinUpdates.from_bytes(msg_response.data)
554554
assert len(response.coin_states) > 0
555555
assert len(set(response.coin_states)) == len(response.coin_states)
@@ -586,10 +586,10 @@ async def test_subscribe_for_hint_long_sync(
586586
fake_wallet_peer = fn_server.all_connections[peer_id]
587587
fake_wallet_peer_1 = fn_server_1.all_connections[peer_id_1]
588588
msg = wallet_protocol.RegisterForPhUpdates([hint], uint32(0))
589-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, fake_wallet_peer)
590-
await full_node_api_1.register_interest_in_puzzle_hash(msg, fake_wallet_peer_1)
589+
msg_response = await full_node_api.register_for_ph_updates(msg, fake_wallet_peer)
590+
await full_node_api_1.register_for_ph_updates(msg, fake_wallet_peer_1)
591591

592-
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_update.value
592+
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_updates.value
593593
data_response = RespondToCoinUpdates.from_bytes(msg_response.data)
594594
assert len(data_response.coin_states) == 0
595595

@@ -655,8 +655,8 @@ async def test_ph_subscribe_limits(simulator_and_wallet: OldSimulatorsAndWallets
655655
full_node_api.full_node.config["max_subscribe_items"] = 2
656656
assert full_node_api.is_trusted(con) is False
657657
msg = wallet_protocol.RegisterForPhUpdates(phs, uint32(0))
658-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, con)
659-
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_update.value
658+
msg_response = await full_node_api.register_for_ph_updates(msg, con)
659+
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_updates.value
660660
s = full_node_api.full_node.subscriptions
661661
assert s.puzzle_subscription_count() == 2
662662
assert s.has_puzzle_subscription(phs[0])
@@ -666,8 +666,8 @@ async def test_ph_subscribe_limits(simulator_and_wallet: OldSimulatorsAndWallets
666666
full_node_api.full_node.config["trusted_max_subscribe_items"] = 4
667667
full_node_api.full_node.config["trusted_peers"] = {server_2.node_id.hex(): server_2.node_id.hex()}
668668
assert full_node_api.is_trusted(con) is True
669-
msg_response = await full_node_api.register_interest_in_puzzle_hash(msg, con)
670-
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_update.value
669+
msg_response = await full_node_api.register_for_ph_updates(msg, con)
670+
assert msg_response.type == ProtocolMessageTypes.respond_to_ph_updates.value
671671
assert s.puzzle_subscription_count() == 4
672672
assert s.has_puzzle_subscription(phs[0])
673673
assert s.has_puzzle_subscription(phs[1])
@@ -696,8 +696,8 @@ async def test_coin_subscribe_limits(simulator_and_wallet: OldSimulatorsAndWalle
696696
full_node_api.full_node.config["max_subscribe_items"] = 2
697697
assert full_node_api.is_trusted(con) is False
698698
msg = wallet_protocol.RegisterForCoinUpdates(coins, uint32(0))
699-
msg_response = await full_node_api.register_interest_in_coin(msg, con)
700-
assert msg_response.type == ProtocolMessageTypes.respond_to_coin_update.value
699+
msg_response = await full_node_api.register_for_coin_updates(msg, con)
700+
assert msg_response.type == ProtocolMessageTypes.respond_to_coin_updates.value
701701
s = full_node_api.full_node.subscriptions
702702
assert s.coin_subscription_count() == 2
703703
assert s.has_coin_subscription(coins[0])
@@ -707,8 +707,8 @@ async def test_coin_subscribe_limits(simulator_and_wallet: OldSimulatorsAndWalle
707707
full_node_api.full_node.config["trusted_max_subscribe_items"] = 4
708708
full_node_api.full_node.config["trusted_peers"] = {server_2.node_id.hex(): server_2.node_id.hex()}
709709
assert full_node_api.is_trusted(con) is True
710-
msg_response = await full_node_api.register_interest_in_coin(msg, con)
711-
assert msg_response.type == ProtocolMessageTypes.respond_to_coin_update.value
710+
msg_response = await full_node_api.register_for_coin_updates(msg, con)
711+
assert msg_response.type == ProtocolMessageTypes.respond_to_coin_updates.value
712712
assert s.coin_subscription_count() == 4
713713
assert s.has_coin_subscription(coins[0])
714714
assert s.has_coin_subscription(coins[1])

chia/_tests/wallet/sync/test_wallet_sync.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1573,7 +1573,7 @@ async def test_long_sync_untrusted_break(
15731573

15741574
sync_canceled = False
15751575

1576-
async def register_interest_in_puzzle_hash(
1576+
async def register_for_ph_updates(
15771577
self: object,
15781578
request: wallet_protocol.RegisterForPhUpdates,
15791579
peer: WSChiaConnection,
@@ -1604,7 +1604,7 @@ def only_trusted_peer() -> bool:
16041604

16051605
await add_blocks_in_batches(default_1000_blocks[:400], untrusted_full_node_api.full_node)
16061606

1607-
with patch_request_handler(api=untrusted_full_node_api, handler=register_interest_in_puzzle_hash):
1607+
with patch_request_handler(api=untrusted_full_node_api, handler=register_for_ph_updates):
16081608
# Connect to the untrusted peer and wait until the long sync started
16091609
await wallet_server.start_client(PeerInfo(self_hostname, untrusted_full_node_server.get_port()), None)
16101610
await time_out_assert(30, wallet_syncing)

chia/_tests/wallet/test_wallet_node.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -688,11 +688,11 @@ async def test_wallet_node_bad_coin_state_ignore(
688688

689689
await wallet_server.start_client(PeerInfo(self_hostname, full_node_api.server.get_port()), None)
690690

691-
async def register_interest_in_coin(
691+
async def register_for_coin_updates(
692692
self: Self, request: wallet_protocol.RegisterForCoinUpdates, *, test: bool = False
693693
) -> Optional[Message]:
694694
return make_msg(
695-
ProtocolMessageTypes.respond_to_coin_update,
695+
ProtocolMessageTypes.respond_to_coin_updates,
696696
wallet_protocol.RespondToCoinUpdates(
697697
[], uint32(0), [CoinState(Coin(bytes32.zeros, bytes32.zeros, uint64(0)), uint32(0), uint32(0))]
698698
),
@@ -704,7 +704,7 @@ async def validate_received_state_from_peer(*args: Any) -> bool:
704704

705705
assert full_node_api.full_node._server is not None
706706
with patch_request_handler(
707-
api=full_node_api.full_node._server.get_connections()[0].api, handler=register_interest_in_coin
707+
api=full_node_api.full_node._server.get_connections()[0].api, handler=register_for_coin_updates
708708
):
709709
monkeypatch.setattr(
710710
wallet_node,

chia/full_node/full_node_api.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1614,7 +1614,7 @@ async def respond_compact_vdf(self, request: full_node_protocol.RespondCompactVD
16141614
return None
16151615

16161616
@metadata.request(peer_required=True)
1617-
async def register_interest_in_puzzle_hash(
1617+
async def register_for_ph_updates(
16181618
self, request: wallet_protocol.RegisterForPhUpdates, peer: WSChiaConnection
16191619
) -> Message:
16201620
trusted = self.is_trusted(peer)
@@ -1673,11 +1673,11 @@ async def register_interest_in_puzzle_hash(
16731673
)
16741674

16751675
response = wallet_protocol.RespondToPhUpdates(request.puzzle_hashes, request.min_height, list(states))
1676-
msg = make_msg(ProtocolMessageTypes.respond_to_ph_update, response)
1676+
msg = make_msg(ProtocolMessageTypes.respond_to_ph_updates, response)
16771677
return msg
16781678

16791679
@metadata.request(peer_required=True)
1680-
async def register_interest_in_coin(
1680+
async def register_for_coin_updates(
16811681
self, request: wallet_protocol.RegisterForCoinUpdates, peer: WSChiaConnection
16821682
) -> Message:
16831683
max_items = self.max_subscribe_response_items(peer)
@@ -1693,7 +1693,7 @@ async def register_interest_in_coin(
16931693
)
16941694

16951695
response = wallet_protocol.RespondToCoinUpdates(request.coin_ids, request.min_height, states)
1696-
msg = make_msg(ProtocolMessageTypes.respond_to_coin_update, response)
1696+
msg = make_msg(ProtocolMessageTypes.respond_to_coin_updates, response)
16971697
return msg
16981698

16991699
@metadata.request()

chia/protocols/protocol_message_types.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,10 @@ class ProtocolMessageTypes(Enum):
100100

101101
# More wallet protocol
102102
coin_state_update = 69
103-
register_interest_in_puzzle_hash = 70
104-
respond_to_ph_update = 71
105-
register_interest_in_coin = 72
106-
respond_to_coin_update = 73
103+
register_for_ph_updates = 70
104+
respond_to_ph_updates = 71
105+
register_for_coin_updates = 72
106+
respond_to_coin_updates = 73
107107
request_children = 74
108108
respond_children = 75
109109
request_ses_hashes = 76

chia/protocols/protocol_state_machine.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
pmt.request_compact_vdf: [pmt.respond_compact_vdf],
4242
pmt.request_peers: [pmt.respond_peers],
4343
pmt.request_header_blocks: [pmt.respond_header_blocks, pmt.reject_header_blocks, pmt.reject_block_headers],
44-
pmt.register_interest_in_puzzle_hash: [pmt.respond_to_ph_update],
45-
pmt.register_interest_in_coin: [pmt.respond_to_coin_update],
44+
pmt.register_for_ph_updates: [pmt.respond_to_ph_updates],
45+
pmt.register_for_coin_updates: [pmt.respond_to_coin_updates],
4646
pmt.request_children: [pmt.respond_children],
4747
pmt.request_ses_hashes: [pmt.respond_ses_hashes],
4848
pmt.request_block_headers: [pmt.respond_block_headers, pmt.reject_block_headers, pmt.reject_header_blocks],

chia/server/rate_limit_numbers.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,10 @@ def compose_rate_limits(old_rate_limits: dict[str, Any], new_rate_limits: dict[s
154154
ProtocolMessageTypes.plot_sync_done: RLSettings(1000, 100 * 1024 * 1024),
155155
ProtocolMessageTypes.plot_sync_response: RLSettings(3000, 100 * 1024 * 1024),
156156
ProtocolMessageTypes.coin_state_update: RLSettings(1000, 100 * 1024 * 1024),
157-
ProtocolMessageTypes.register_interest_in_puzzle_hash: RLSettings(1000, 100 * 1024 * 1024),
158-
ProtocolMessageTypes.respond_to_ph_update: RLSettings(1000, 100 * 1024 * 1024),
159-
ProtocolMessageTypes.register_interest_in_coin: RLSettings(1000, 100 * 1024 * 1024),
160-
ProtocolMessageTypes.respond_to_coin_update: RLSettings(1000, 100 * 1024 * 1024),
157+
ProtocolMessageTypes.register_for_ph_updates: RLSettings(1000, 100 * 1024 * 1024),
158+
ProtocolMessageTypes.respond_to_ph_updates: RLSettings(1000, 100 * 1024 * 1024),
159+
ProtocolMessageTypes.register_for_coin_updates: RLSettings(1000, 100 * 1024 * 1024),
160+
ProtocolMessageTypes.respond_to_coin_updates: RLSettings(1000, 100 * 1024 * 1024),
161161
ProtocolMessageTypes.request_remove_puzzle_subscriptions: RLSettings(1000, 100 * 1024 * 1024),
162162
ProtocolMessageTypes.respond_remove_puzzle_subscriptions: RLSettings(1000, 100 * 1024 * 1024),
163163
ProtocolMessageTypes.request_remove_coin_subscriptions: RLSettings(1000, 100 * 1024 * 1024),

chia/wallet/util/wallet_sync_utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ async def subscribe_to_phs(
5656
"""
5757
msg = RegisterForPhUpdates(puzzle_hashes, uint32(max(min_height, uint32(0))))
5858
all_coins_state: Optional[RespondToPhUpdates] = await peer.call_api(
59-
FullNodeAPI.register_interest_in_puzzle_hash, msg, timeout=300
59+
FullNodeAPI.register_for_ph_updates, msg, timeout=300
6060
)
6161
if all_coins_state is None:
62-
raise ValueError(f"None response from peer {peer.peer_info.host} for register_interest_in_puzzle_hash")
62+
raise ValueError(f"None response from peer {peer.peer_info.host} for register_for_ph_updates")
6363
return all_coins_state.coin_states
6464

6565

@@ -73,11 +73,11 @@ async def subscribe_to_coin_updates(
7373
"""
7474
msg = RegisterForCoinUpdates(coin_names, uint32(max(0, min_height)))
7575
all_coins_state: Optional[RespondToCoinUpdates] = await peer.call_api(
76-
FullNodeAPI.register_interest_in_coin, msg, timeout=300
76+
FullNodeAPI.register_for_coin_updates, msg, timeout=300
7777
)
7878

7979
if all_coins_state is None:
80-
raise ValueError(f"None response from peer {peer.peer_info.host} for register_interest_in_coin")
80+
raise ValueError(f"None response from peer {peer.peer_info.host} for register_for_coin_updates")
8181
return all_coins_state.coin_states
8282

8383

chia/wallet/wallet_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1683,7 +1683,7 @@ async def get_coin_state(
16831683
self, coin_names: list[bytes32], peer: WSChiaConnection, fork_height: Optional[uint32] = None
16841684
) -> list[CoinState]:
16851685
msg = RegisterForCoinUpdates(coin_names, uint32(0))
1686-
coin_state: Optional[RespondToCoinUpdates] = await peer.call_api(FullNodeAPI.register_interest_in_coin, msg)
1686+
coin_state: Optional[RespondToCoinUpdates] = await peer.call_api(FullNodeAPI.register_for_coin_updates, msg)
16871687
if coin_state is None or not isinstance(coin_state, RespondToCoinUpdates):
16881688
raise PeerRequestException(f"Was not able to get states for {coin_names}")
16891689

0 commit comments

Comments
 (0)