From ceaa4be6ecf746b6ca8c830566fd50141b23621a Mon Sep 17 00:00:00 2001 From: diminator Date: Fri, 12 May 2017 20:45:43 +0200 Subject: [PATCH 1/4] remove redundant statement that causes bugs on complex cc --- bigchaindb/utils.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/bigchaindb/utils.py b/bigchaindb/utils.py index f87916b7..f339edbe 100644 --- a/bigchaindb/utils.py +++ b/bigchaindb/utils.py @@ -114,15 +114,9 @@ def condition_details_has_owner(condition_details, owner): def output_has_owner(output, owner): - # TODO - # Check whether it is really necessary to treat the single key case - # differently from the multiple keys case, and why not just use the same - # function for both cases. - if len(output['public_keys']) > 1: + if len(output['public_keys']) > 0: return condition_details_has_owner( output['condition']['details'], owner) - elif len(output['public_keys']) == 1: - return output['condition']['details']['public_key'] == owner # TODO raise proper exception, e.g. invalid tx payload? From 7bf1d55f622560b5b4e89d93d895a49f9ce60ba7 Mon Sep 17 00:00:00 2001 From: diminator Date: Fri, 12 May 2017 20:48:41 +0200 Subject: [PATCH 2/4] return false --- bigchaindb/utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/bigchaindb/utils.py b/bigchaindb/utils.py index f339edbe..3c0ad637 100644 --- a/bigchaindb/utils.py +++ b/bigchaindb/utils.py @@ -117,6 +117,7 @@ def output_has_owner(output, owner): if len(output['public_keys']) > 0: return condition_details_has_owner( output['condition']['details'], owner) + return False # TODO raise proper exception, e.g. invalid tx payload? From 066ec713338487bd7d6262980c8ab80e3b2a6159 Mon Sep 17 00:00:00 2001 From: Rodolphe Marques Date: Thu, 1 Jun 2017 17:07:26 +0200 Subject: [PATCH 3/4] Remove unnecessary if statement --- bigchaindb/utils.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/bigchaindb/utils.py b/bigchaindb/utils.py index 3c0ad637..0a047344 100644 --- a/bigchaindb/utils.py +++ b/bigchaindb/utils.py @@ -114,10 +114,7 @@ def condition_details_has_owner(condition_details, owner): def output_has_owner(output, owner): - if len(output['public_keys']) > 0: - return condition_details_has_owner( - output['condition']['details'], owner) - return False + return condition_details_has_owner(output['condition']['details'], owner) # TODO raise proper exception, e.g. invalid tx payload? From 9033ba76f85aeb8e0cb6d0a10efaad34e081af3e Mon Sep 17 00:00:00 2001 From: Rodolphe Marques Date: Mon, 3 Jul 2017 14:30:19 +0200 Subject: [PATCH 4/4] Remove unnecessary output_has_owner method. - Refactor the code --- bigchaindb/fastquery.py | 5 +++-- bigchaindb/utils.py | 5 ----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/bigchaindb/fastquery.py b/bigchaindb/fastquery.py index 985b758e..e0431a71 100644 --- a/bigchaindb/fastquery.py +++ b/bigchaindb/fastquery.py @@ -1,4 +1,4 @@ -from bigchaindb.utils import output_has_owner +from bigchaindb.utils import condition_details_has_owner from bigchaindb.backend import query from bigchaindb.common.transaction import TransactionLink @@ -52,7 +52,8 @@ class FastQuery: return [TransactionLink(tx['id'], index) for tx in txs for index, output in enumerate(tx['outputs']) - if output_has_owner(output, public_key)] + if condition_details_has_owner(output['condition']['details'], + public_key)] def filter_spent_outputs(self, outputs): """ diff --git a/bigchaindb/utils.py b/bigchaindb/utils.py index 56bd6259..03651f8e 100644 --- a/bigchaindb/utils.py +++ b/bigchaindb/utils.py @@ -113,11 +113,6 @@ def condition_details_has_owner(condition_details, owner): return False -def output_has_owner(output, owner): - return condition_details_has_owner(output['condition']['details'], owner) - # TODO raise proper exception, e.g. invalid tx payload? - - def is_genesis_block(block): """Check if the block is the genesis block.