Skip to content

Commit 18f17ae

Browse files
authored
Merge pull request #2771 from opentensor/fix/zyzniewski/async_raise_error
Fix: raise_error=True in AsyncSubtensor fails to get error_message
2 parents 2703462 + 538de5a commit 18f17ae

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

bittensor/core/async_subtensor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3182,7 +3182,7 @@ async def sign_and_send_extrinsic(
31823182
return True, ""
31833183

31843184
if raise_error:
3185-
raise ChainError.from_error(response.error_message)
3185+
raise ChainError.from_error(await response.error_message)
31863186

31873187
return False, format_error_message(await response.error_message)
31883188

tests/unit_tests/test_async_subtensor.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1855,6 +1855,30 @@ async def test_sign_and_send_extrinsic_substrate_request_exception(
18551855
assert result == (False, str(fake_exception))
18561856

18571857

1858+
@pytest.mark.asyncio
1859+
async def test_sign_and_send_extrinsic_raises_error(
1860+
mock_substrate, subtensor, fake_wallet, mocker
1861+
):
1862+
mock_substrate.submit_extrinsic.return_value = mocker.AsyncMock(
1863+
error_message=mocker.AsyncMock(
1864+
return_value={
1865+
"name": "Exception",
1866+
},
1867+
)(),
1868+
is_success=mocker.AsyncMock(return_value=False)(),
1869+
)
1870+
1871+
with pytest.raises(
1872+
async_subtensor.SubstrateRequestException,
1873+
match="{'name': 'Exception'}",
1874+
):
1875+
await subtensor.sign_and_send_extrinsic(
1876+
call=mocker.Mock(),
1877+
wallet=fake_wallet,
1878+
raise_error=True,
1879+
)
1880+
1881+
18581882
@pytest.mark.asyncio
18591883
async def test_get_children_success(subtensor, mocker):
18601884
"""Tests get_children when children are successfully retrieved and formatted."""

0 commit comments

Comments
 (0)