@@ -3813,3 +3813,65 @@ async def test_toggle_user_liquidity(subtensor, fake_wallet, mocker):
3813
3813
period = None ,
3814
3814
)
3815
3815
assert result == mocked_extrinsic .return_value
3816
+
3817
+
3818
+ @pytest .mark .asyncio
3819
+ async def test_get_subnet_price (subtensor , mocker ):
3820
+ """Test get_subnet_price returns the correct value."""
3821
+ # preps
3822
+ netuid = 123
3823
+ mocked_determine_block_hash = mocker .patch .object (subtensor , "determine_block_hash" )
3824
+ fake_price = {"bits" : 3155343338053956962 }
3825
+ expected_price = Balance .from_tao (0.029258617 )
3826
+ mocked_query = mocker .patch .object (
3827
+ subtensor .substrate , "query" , return_value = fake_price
3828
+ )
3829
+
3830
+ # Call
3831
+ result = await subtensor .get_subnet_price (
3832
+ netuid = netuid ,
3833
+ )
3834
+
3835
+ # Asserts
3836
+ mocked_determine_block_hash .assert_awaited_once_with (
3837
+ block = None , block_hash = None , reuse_block = False
3838
+ )
3839
+ mocked_query .assert_awaited_once_with (
3840
+ module = "Swap" ,
3841
+ storage_function = "AlphaSqrtPrice" ,
3842
+ params = [netuid ],
3843
+ block_hash = mocked_determine_block_hash .return_value ,
3844
+ )
3845
+
3846
+ assert result == expected_price
3847
+
3848
+
3849
+ @pytest .mark .asyncio
3850
+ async def test_get_subnet_prices (subtensor , mocker ):
3851
+ """Test get_subnet_prices returns the correct value."""
3852
+ # preps
3853
+ mocked_determine_block_hash = mocker .patch .object (subtensor , "determine_block_hash" )
3854
+
3855
+ async def fake_current_sqrt_prices ():
3856
+ yield [0 , {"bits" : 0 }]
3857
+ yield [1 , {"bits" : 3155343338053956962 }]
3858
+
3859
+ expected_prices = {0 : Balance .from_tao (1 ), 1 : Balance .from_tao (0.029258617 )}
3860
+ mocked_query_map = mocker .patch .object (
3861
+ subtensor .substrate , "query_map" , return_value = fake_current_sqrt_prices ()
3862
+ )
3863
+
3864
+ # Call
3865
+ result = await subtensor .get_subnet_prices ()
3866
+
3867
+ # Asserts
3868
+ mocked_determine_block_hash .assert_awaited_once_with (
3869
+ block = None , block_hash = None , reuse_block = False
3870
+ )
3871
+ mocked_query_map .assert_awaited_once_with (
3872
+ module = "Swap" ,
3873
+ storage_function = "AlphaSqrtPrice" ,
3874
+ block_hash = mocked_determine_block_hash .return_value ,
3875
+ page_size = 129 , # total number of subnets
3876
+ )
3877
+ assert result == expected_prices
0 commit comments