From 77c12d0b0ea1a8d3df5383b3d3fa23ef083c5203 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Eckel?= Date: Mon, 16 Jan 2023 09:58:08 +0100 Subject: [PATCH] added support for v2.0 transaction to DB writing/reading MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jürgen Eckel --- planetmint/backend/models/dbtransaction.py | 4 ++-- planetmint/backend/tarantool/query.py | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/planetmint/backend/models/dbtransaction.py b/planetmint/backend/models/dbtransaction.py index 46c64b2..6515721 100644 --- a/planetmint/backend/models/dbtransaction.py +++ b/planetmint/backend/models/dbtransaction.py @@ -39,7 +39,7 @@ class DbTransaction: operation=transaction[1], version=transaction[2], metadata=MetaData.from_dict(transaction[3]), - assets=Asset.from_list_dict(transaction[4]), + assets=Asset.from_list_dict(transaction[4]) if transaction[2] != "2.0" else Asset.from_dict(transaction[4][0]), inputs=Input.from_list_dict(transaction[5]), script=Script.from_dict(transaction[6]), ) @@ -66,7 +66,7 @@ class DbTransaction: "outputs": Output.list_to_dict(self.outputs), "operation": self.operation, "metadata": self.metadata.to_dict() if self.metadata is not None else None, - "assets": Asset.list_to_dict(self.assets), + "assets": Asset.list_to_dict(self.assets) if self.version!="2.0" else Asset.to_dict(self.assets), "version": self.version, "id": self.id, "script": self.script.to_dict() if self.script is not None else None, diff --git a/planetmint/backend/tarantool/query.py b/planetmint/backend/tarantool/query.py index be1dd05..74203da 100644 --- a/planetmint/backend/tarantool/query.py +++ b/planetmint/backend/tarantool/query.py @@ -129,12 +129,16 @@ def store_transaction(connection, transaction, table = TARANT_TABLE_TRANSACTION) if TARANT_TABLE_SCRIPT in transaction: scripts = transaction[TARANT_TABLE_SCRIPT] asset_obj = Transaction.get_assets_tag(transaction["version"]) + if( transaction["version"] == "2.0"): + asset_array = [ transaction[asset_obj] ] + else: + asset_array = transaction[asset_obj] tx = ( transaction["id"], transaction["operation"], transaction["version"], transaction["metadata"], - transaction[asset_obj], + asset_array, transaction["inputs"], scripts, )