From d94c51868bb897d29f46b892d139ba16f8d394e9 Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 29 Jan 2025 19:24:35 -0800 Subject: [PATCH 1/4] fix integration metagraph test --- tests/helpers/integration_websocket_data.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/helpers/integration_websocket_data.py b/tests/helpers/integration_websocket_data.py index 340072ee96..1427a3285e 100644 --- a/tests/helpers/integration_websocket_data.py +++ b/tests/helpers/integration_websocket_data.py @@ -6385,7 +6385,11 @@ '["NeuronInfoRuntimeApi_get_neurons_lite", "0x1700"]': { "jsonrpc": "2.0", "result": "0x35364cb26667d9765b6aaa76c1b7f0f2786c03257a090081bb483b1e6862e409f64e3f6aa1c0384f95f3ec8f764309523a653a5bd814632fe2eff931d35c606a5e0c65005c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046aa1c0384f95f3ec8f764309523a653a5bd814632fe2eff931d35c606a5e0c65620bb70000000000000000825b53000100c0dcbc2b619e07312e6fa2e1b9c91eb6826c77ab732fa1670bfa175c3cc06b01d89c740d9dfede764de5284c89dcedac74aa23b2d303a668e251620b78d79949045c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004d89c740d9dfede764de5284c89dcedac74aa23b2d303a668e251620b78d7994907f1a79e0402000000000000003aac57000100e6e23c10ab6ed114577d8fa56f976d350aabea07e0382c6ab0313f1fd5b4ed7c9aa545ce482f48c3160fa706bbafe923bb8248403141729d95c96699b615f04d085c00e390160000000000b40200001329d44300000000000000000000000049080404000000000000000000000000000000000000000000000000000000000000000000049aa545ce482f48c3160fa706bbafe923bb8248403141729d95c96699b615f04d000000000000000022435a000100866eda07c029ea2856de08c183ddff461cb6ce83f8ec49150ef5647eee8f4c6b40469c545b3d0396a76ca1c41a6c090266e2e532adc9fde080d9e90d2e7b093d0c5c00dfb8190000000000b5020000026fb5d50000000000000000000000009aac04040000000000000000000000000000000000000000000000000000000000000000000440469c545b3d0396a76ca1c41a6c090266e2e532adc9fde080d9e90d2e7b093dea2b0e000000000000000046d9660001000cc6dd507099d72736a92d6f889e4024e3431ac57eb9eb1fe0ca3302c6d4c867509b91e2cf336358ec2f3fe6e0598e2909c29a57597765240dfa8db41e7dd46a105c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004509b91e2cf336358ec2f3fe6e0598e2909c29a57597765240dfa8db41e7dd46a00000000000000005a9f6f0001004af7598952f87683204a2a0c2266f941a74899bd69b0ce56e42a82820f6894461257de87a71abb164403f7cb9ea65d0721f8bb89d8bd85754deceedd91e86053145c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041257de87a71abb164403f7cb9ea65d0721f8bb89d8bd85754deceedd91e8605303b0ec68b3000000000000006e4478000100ba7c215ab878d9231d11bdaa5e4717b90d3b85df986abc669de607b1da6a020c74d879f5f872947565597d2f0c310fa0658d168ecd68a2ad3d5ec63438561643185c00265e1e0000000000b5020000583937a2000000000000000000000000d54f04040000000000000000000000000000000000000000000000000000000000000000000474d879f5f872947565597d2f0c310fa0658d168ecd68a2ad3d5ec6343856164307ed6f74c302000000000000004a7579000100084667e9ab96aca6c12c3094d740142cc4d36e423ede27b752978ffc70841b4dda618f84f833dc38b54f31cca63c408134bcce60f38c16c2f64fd4cf37068b0f1c5c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004da618f84f833dc38b54f31cca63c408134bcce60f38c16c2f64fd4cf37068b0f07bfb78a48170000000000000022e888000100f4b1b7c1237c118a43504f0b1f312c027fb7517cb46911d9a9ab1c432be0b039da618f84f833dc38b54f31cca63c408134bcce60f38c16c2f64fd4cf37068b0f205c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004da618f84f833dc38b54f31cca63c408134bcce60f38c16c2f64fd4cf37068b0f0753238a4817000000000000003ae888000100446ad8dfc37a54c8c1030e70eedd53b7b410cec1376a0aae42fd376b9749272f002326240a609c72641c6a3fcad3ad2ee33f2db95f6c16e181f7c62fa063834b245c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004002326240a609c72641c6a3fcad3ad2ee33f2db95f6c16e181f7c62fa063834b07fcbacd2e0200000000000000eec2890001008a90be061598f4b592afbd546bcb6beadb3c02f5c129df2e11b698f9543dbd412aa58acc7df6cea78de0928a5c6c2e79f3d24e5893d6a5971738cfbc03ca8f33285c010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000042aa58acc7df6cea78de0928a5c6c2e79f3d24e5893d6a5971738cfbc03ca8f330f65f486c4ba2401000000000000007a32c70001feff03000efdb10e8dfe2e73b6f29ce09aaad2c374dc22e2a64fcad4a77ed547e9175a08de74e52b42323230d99ec6f46fc1bf01b03f54f11f02fddb9d9668535e8ed4632c5c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004de74e52b42323230d99ec6f46fc1bf01b03f54f11f02fddb9d9668535e8ed46300000000000000002e0791000100984a52dfdfbba392625d238ff859ec78d79b04f8ad456c9ab8d8426a085d4e73de74e52b42323230d99ec6f46fc1bf01b03f54f11f02fddb9d9668535e8ed463305c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004de74e52b42323230d99ec6f46fc1bf01b03f54f11f02fddb9d9668535e8ed46307b7ec18d01f00000000000000720791000100c260f03b11e0e67574deb81febf89f6afb697d6c36d165f4ecb65522ea433805de74e52b42323230d99ec6f46fc1bf01b03f54f11f02fddb9d9668535e8ed463345c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004de74e52b42323230d99ec6f46fc1bf01b03f54f11f02fddb9d9668535e8ed4630000000000000000ae079100010024126de9392aa70486873b23182a00ee1b9e2f394a46d409230871113a76be56b88597476f139767a85863d096b7668620bcf7cb531a950006f18b26d4b30600385c00792d2b0000000000b60200004a024d940000000000000000000000009756040400000000000000000000000000000000000000000000000000000000000000000004b88597476f139767a85863d096b7668620bcf7cb531a950006f18b26d4b306000771d8c05f520000000000000046899400010062380cd8c9bbe606cfda6572b6da580ec035ec57b18dc3d64acbcef53c3efc71143906b4ea1ab0986976c98468b8371bd54cba3330c0e895a1762d8e96c12c023c5c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004143906b4ea1ab0986976c98468b8371bd54cba3330c0e895a1762d8e96c12c024a930c0000000000000000568da100010006c112ee93775bb184b6bf00f22adee24091efe725c249db3ba01b15274b2a2f9ef89253596e8764aecef9a452db36da8188153e0f707f1a0a37011583b5e82d405c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049ef89253596e8764aecef9a452db36da8188153e0f707f1a0a37011583b5e82d07e68ca9693100000000000000d257ad000100e45433ff9820f9d62b98feff2a95281d14ff6028a9b3c78063a11bbd0fc7bd549ef89253596e8764aecef9a452db36da8188153e0f707f1a0a37011583b5e82d445c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000049ef89253596e8764aecef9a452db36da8188153e0f707f1a0a37011583b5e82d5a9c11a7000000000000004a59ad000100fa01f3e6d839007cc8179e6cb40fb87d4b87502315568340cc51255d4b526d59b24a20c37c76fe89b0ab49ef5ef0e5ceeb33964ef89a496944e9b31cb4915d1b485c004bc72d0000000000b60200008cbc4c94000000000000000000000000464a040400000000000000000000000000000000000000000000000000000000000000000004b24a20c37c76fe89b0ab49ef5ef0e5ceeb33964ef89a496944e9b31cb4915d1bd51500000000000000eedfb4000100", - } + }, + '["SubnetInfoRuntimeApi_get_subnet_state", "0x1700"]': { + "jsonrpc": "2.0", + "result": "0x0400", + }, }, "state_getRuntimeVersion": { '["0xae0ef35761d050ada6d4f09efec39ca430d4f4c50b927741b32fd487d382ead8"]': { From fc20eee3413149a84a73ee667086c9bb6655b0d3 Mon Sep 17 00:00:00 2001 From: Roman Date: Wed, 29 Jan 2025 20:03:49 -0800 Subject: [PATCH 2/4] fix unit test --- bittensor/core/async_subtensor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bittensor/core/async_subtensor.py b/bittensor/core/async_subtensor.py index 84e9c87d69..f714bdb361 100644 --- a/bittensor/core/async_subtensor.py +++ b/bittensor/core/async_subtensor.py @@ -1084,7 +1084,7 @@ async def get_delegate_identities( ) all_delegates_details = {} - async for ss58_address, identity in identities_info: + for ss58_address, identity in identities_info: all_delegates_details.update( { decode_account_id( From 6e76992aa62c424a886d229b1a578f9379559140 Mon Sep 17 00:00:00 2001 From: Roman Ch Date: Wed, 29 Jan 2025 23:52:55 -0800 Subject: [PATCH 3/4] replace sync result to async one for test. bring back `async for` --- bittensor/core/async_subtensor.py | 2 +- tests/unit_tests/test_async_subtensor.py | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/bittensor/core/async_subtensor.py b/bittensor/core/async_subtensor.py index f714bdb361..84e9c87d69 100644 --- a/bittensor/core/async_subtensor.py +++ b/bittensor/core/async_subtensor.py @@ -1084,7 +1084,7 @@ async def get_delegate_identities( ) all_delegates_details = {} - for ss58_address, identity in identities_info: + async for ss58_address, identity in identities_info: all_delegates_details.update( { decode_account_id( diff --git a/tests/unit_tests/test_async_subtensor.py b/tests/unit_tests/test_async_subtensor.py index 8d4eda3339..5237285541 100644 --- a/tests/unit_tests/test_async_subtensor.py +++ b/tests/unit_tests/test_async_subtensor.py @@ -2169,10 +2169,22 @@ async def test_get_delegate_identities(subtensor, mocker): """Tests get_delegate_identities with successful data retrieval from both chain and GitHub.""" # Preps fake_block_hash = "block_hash" - fake_chain_data = [ - (["delegate1_ss58"], mocker.Mock(value={"info": {"name": "Chain Delegate 1"}})), - (["delegate2_ss58"], mocker.Mock(value={"info": {"name": "Chain Delegate 2"}})), - ] + # fake_chain_data = [ + # (["delegate1_ss58"], mocker.Mock(value={"info": {"name": "Chain Delegate 1"}})), + # (["delegate2_ss58"], mocker.Mock(value={"info": {"name": "Chain Delegate 2"}})), + # ] + fake_chain_data = mocker.AsyncMock( + return_value=[ + ( + ["delegate1_ss58"], + mocker.Mock(value={"info": {"name": "Chain Delegate 1"}}), + ), + ( + ["delegate2_ss58"], + mocker.Mock(value={"info": {"name": "Chain Delegate 2"}}), + ), + ] + ) fake_github_data = { "delegate1_ss58": { "name": "GitHub Delegate 1", @@ -2219,7 +2231,6 @@ async def test_get_delegate_identities(subtensor, mocker): mock_session_get.assert_called_once_with(async_subtensor.DELEGATES_DETAILS_URL) assert result["delegate1_ss58"].display == "GitHub Delegate 1" - assert result["delegate2_ss58"].display == "" assert result["delegate3_ss58"].display == "GitHub Delegate 3" From 6ad891358b7e67d526d0627bf58a667aea552b5d Mon Sep 17 00:00:00 2001 From: Roman Ch Date: Wed, 29 Jan 2025 23:54:26 -0800 Subject: [PATCH 4/4] remove commented code --- tests/unit_tests/test_async_subtensor.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/unit_tests/test_async_subtensor.py b/tests/unit_tests/test_async_subtensor.py index 5237285541..1442a4ab8c 100644 --- a/tests/unit_tests/test_async_subtensor.py +++ b/tests/unit_tests/test_async_subtensor.py @@ -2169,10 +2169,6 @@ async def test_get_delegate_identities(subtensor, mocker): """Tests get_delegate_identities with successful data retrieval from both chain and GitHub.""" # Preps fake_block_hash = "block_hash" - # fake_chain_data = [ - # (["delegate1_ss58"], mocker.Mock(value={"info": {"name": "Chain Delegate 1"}})), - # (["delegate2_ss58"], mocker.Mock(value={"info": {"name": "Chain Delegate 2"}})), - # ] fake_chain_data = mocker.AsyncMock( return_value=[ (