diff --git a/electrumx/server/session/session_manager.py b/electrumx/server/session/session_manager.py index 4952fc26..194a6236 100644 --- a/electrumx/server/session/session_manager.py +++ b/electrumx/server/session/session_manager.py @@ -47,7 +47,7 @@ from electrumx.server.session import BAD_REQUEST, DAEMON_ERROR from electrumx.server.session.http_session import HttpSession from electrumx.server.session.rpc_session import LocalRPC -from electrumx.server.session.util import SESSION_PROTOCOL_MAX, non_negative_integer +from electrumx.server.session.util import SESSION_PROTOCOL_MAX, assert_tx_hash, non_negative_integer from electrumx.version import electrumx_version if TYPE_CHECKING: @@ -991,7 +991,7 @@ async def transaction_decode_raw_tx_blueprint( # Analysis the transaction detail by txid. # See BlockProcessor.op_list for the complete op list. async def get_transaction_detail(self, tx_id: str, height=None, tx_num=-1): - tx_hash = hex_str_to_hash(tx_id) + tx_hash = assert_tx_hash(tx_id) res = self._tx_detail_cache.get(tx_hash) if res: # txid maybe the same, this key should add height add key prefix @@ -1177,7 +1177,7 @@ def make_transfer_outputs( return auto_encode_bytes_elements(res) async def get_transaction_detail_batch(self, tx_ids: str): - tasks = [self.get_transaction_detail(txid) for txid in tx_ids.split(',')] + tasks = [self.get_transaction_detail(assert_tx_hash(tx_id)) for tx_id in tx_ids.split(',')] details = await asyncio.gather(*tasks) return details diff --git a/electrumx/server/session/shared_session.py b/electrumx/server/session/shared_session.py index bb74b03f..e52da727 100644 --- a/electrumx/server/session/shared_session.py +++ b/electrumx/server/session/shared_session.py @@ -1007,7 +1007,7 @@ async def transaction_get(self, tx_hash, verbose=False): tx_hash: the transaction hash as a hexadecimal string verbose: passed on to the daemon """ - assert_tx_hash(tx_hash) + tx_hash = assert_tx_hash(tx_hash) if verbose not in (True, False): raise RPCError(BAD_REQUEST, '"verbose" must be a boolean')