From 4e0da4cfb36db133c733e140b6f4431dfb1bb61d Mon Sep 17 00:00:00 2001 From: Jerry Date: Fri, 12 May 2023 21:18:20 -0700 Subject: [PATCH] Fix parsing of multiple asset that has an empty asset name in Ogmios --- pycardano/backend/ogmios.py | 10 +++++++++- test/pycardano/backend/test_ogmios.py | 4 +++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pycardano/backend/ogmios.py b/pycardano/backend/ogmios.py index 29aa4c41..0553a256 100644 --- a/pycardano/backend/ogmios.py +++ b/pycardano/backend/ogmios.py @@ -362,7 +362,15 @@ def _check_utxo_unspent(self, tx_id: str, index: int) -> bool: return len(results) > 0 def _extract_asset_info(self, asset_hash: str) -> Tuple[str, ScriptHash, AssetName]: - policy_hex, asset_name_hex = asset_hash.split(".") + split_result = asset_hash.split(".") + + if len(split_result) == 1: + policy_hex, asset_name_hex = split_result[0], "" + elif len(split_result) == 2: + policy_hex, asset_name_hex = split_result + else: + raise ValueError(f"Unable to parse asset hash: {asset_hash}") + policy = ScriptHash.from_primitive(policy_hex) asset_name = AssetName.from_primitive(asset_name_hex) diff --git a/test/pycardano/backend/test_ogmios.py b/test/pycardano/backend/test_ogmios.py index 83676e7f..093bd6ae 100644 --- a/test/pycardano/backend/test_ogmios.py +++ b/test/pycardano/backend/test_ogmios.py @@ -76,6 +76,7 @@ "126b8676446c84a5cd6e3259223b16a2314c5676b88ae1c1f8579a8f.744d494e": 762462, "57fca08abbaddee36da742a839f7d83a7e1d2419f1507fcbf3916522.43484f43": 9945000, "fc3ef8db4a16c1959fbabfcbc3fb7669bf315967ffef260ececc47a3.53484942": 1419813131821, + "fc3ef8db4a16c1959fbabfcbc3fb7669bf315967ffef260ececc47a3": 1234, }, }, "datum": None, @@ -194,7 +195,8 @@ def test_utxo(self, chain_context): "43484f43": 9945000 }, "fc3ef8db4a16c1959fbabfcbc3fb7669bf315967ffef260ececc47a3": { - "53484942": 1419813131821 + "53484942": 1419813131821, + b"": 1234, }, } )