From 77963322979ff29b4528696247692aad68f2bd7a Mon Sep 17 00:00:00 2001 From: Alexandru Popenta Date: Wed, 9 Apr 2025 10:23:52 +0300 Subject: [PATCH] fix displaying tx on network --- multiversx_sdk_cli/cli_output.py | 6 ++-- multiversx_sdk_cli/transactions.py | 58 +----------------------------- pyproject.toml | 2 +- 3 files changed, 5 insertions(+), 61 deletions(-) diff --git a/multiversx_sdk_cli/cli_output.py b/multiversx_sdk_cli/cli_output.py index 2250f489..84f02aee 100644 --- a/multiversx_sdk_cli/cli_output.py +++ b/multiversx_sdk_cli/cli_output.py @@ -6,7 +6,6 @@ from multiversx_sdk import Address, Transaction, TransactionOnNetwork from multiversx_sdk_cli import utils -from multiversx_sdk_cli.transactions import transaction_on_network_to_dictionary from multiversx_sdk_cli.utils import ISerializable logger = logging.getLogger("cli.output") @@ -36,7 +35,8 @@ def set_contract_address(self, contract_address: Address): return self def set_awaited_transaction(self, awaited_transaction: TransactionOnNetwork, omitted_fields: list[str] = []): - return self.set_transaction_on_network(awaited_transaction, omitted_fields) + self.set_transaction_on_network(awaited_transaction, omitted_fields) + self.set_emitted_transaction_hash(awaited_transaction.hash.hex()) def set_transaction_on_network( self, @@ -69,7 +69,7 @@ def build(self) -> dict[str, Any]: output["contractAddress"] = contract_address if self.transaction_on_network: - transaction_on_network_dict = transaction_on_network_to_dictionary(self.transaction_on_network) + transaction_on_network_dict = self.transaction_on_network.raw utils.omit_fields(transaction_on_network_dict, self.transaction_on_network_omitted_fields) output["transactionOnNetwork"] = transaction_on_network_dict diff --git a/multiversx_sdk_cli/transactions.py b/multiversx_sdk_cli/transactions.py index 0d8d9772..40074518 100644 --- a/multiversx_sdk_cli/transactions.py +++ b/multiversx_sdk_cli/transactions.py @@ -1,15 +1,12 @@ import json import logging -from typing import Any, Optional, Protocol, TextIO, Union +from typing import Optional, Protocol, TextIO, Union from multiversx_sdk import ( Address, AwaitingOptions, - SmartContractResult, TokenTransfer, Transaction, - TransactionEvent, - TransactionLogs, TransactionOnNetwork, TransactionsFactoryConfig, TransferTransactionsFactory, @@ -116,56 +113,3 @@ def load_transaction_from_file(f: TextIO) -> Transaction: data_json: bytes = f.read().encode() transaction_dictionary = json.loads(data_json).get("tx") or json.loads(data_json).get("emittedTransaction") return Transaction.new_from_dictionary(transaction_dictionary) - - -def transaction_event_to_dictionary(event: TransactionEvent) -> dict[str, Any]: - return { - "address": event.address.to_bech32(), - "identifier": event.identifier, - "topics": [topic.hex() for topic in event.topics], - "data": event.data.decode(), - "additional_data": [data.hex() for data in event.additional_data], - } - - -def transaction_logs_to_dictionary(logs: TransactionLogs) -> dict[str, Any]: - return { - "address": logs.address.to_bech32(), - "events": [transaction_event_to_dictionary(event) for event in logs.events], - } - - -def smart_contract_result_to_dictionary(result: SmartContractResult) -> dict[str, Any]: - return { - "sender": result.sender.to_bech32(), - "receiver": result.receiver.to_bech32(), - "data": result.data.decode(), - "logs": transaction_logs_to_dictionary(result.logs), - } - - -def transaction_on_network_to_dictionary(tx: TransactionOnNetwork) -> dict[str, Any]: - return { - "sender": tx.sender.to_bech32(), - "receiver": tx.receiver.to_bech32(), - "hash": tx.hash.hex(), - "nonce": tx.nonce, - "round": tx.round, - "epoch": tx.epoch, - "timestamp": tx.timestamp, - "blockHash": tx.block_hash.hex(), - "miniBlockHash": tx.miniblock_hash.hex(), - "senderShard": tx.sender_shard, - "receiverShard": tx.receiver_shard, - "value": tx.value, - "gasLimit": tx.gas_limit, - "gasPrice": tx.gas_price, - "function": tx.function, - "data": tx.data.decode(), - "version": tx.version, - "options": tx.options, - "signature": tx.signature.hex(), - "status": tx.status.status, - "smartContractResults": [smart_contract_result_to_dictionary(res) for res in tx.smart_contract_results], - "logs": transaction_logs_to_dictionary(tx.logs), - } diff --git a/pyproject.toml b/pyproject.toml index b911b8cc..7b925fc9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "multiversx-sdk-cli" -version = "10.1.0" +version = "10.1.1" authors = [ { name="MultiversX" }, ]