From 58e7f92cde19deccc2a71c0cbb42051e2e8e1182 Mon Sep 17 00:00:00 2001 From: diminator Date: Wed, 1 Jun 2016 13:39:27 +0200 Subject: [PATCH 1/5] escrow doc update --- .../_static/cc_escrow_execute_abort.png | Bin 47087 -> 53825 bytes docs/source/_static/tx_schematics.odg | Bin 17632 -> 18296 bytes docs/source/python-server-api-examples.md | 32 ++++++++++++------ .../doc/run_doc_python_server_api_examples.py | 12 ++++--- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/docs/source/_static/cc_escrow_execute_abort.png b/docs/source/_static/cc_escrow_execute_abort.png index e2c61217d830ef819bfb96df438712358c5f4262..959f276f5631e4d9e4e41582ca5d782ded21b6a3 100644 GIT binary patch literal 53825 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 literal 47087 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 diff --git a/docs/source/_static/tx_schematics.odg b/docs/source/_static/tx_schematics.odg index c367dec9a5e17ac4c8446443cff281c9d92f1b7b..49453f8b3295cc993df1dd691c4d52b1bc6b86f7 100644 GIT binary patch delta 12534 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 diff --git a/docs/source/python-server-api-examples.md b/docs/source/python-server-api-examples.md index 9d2c992c..f23c5ea2 100644 --- a/docs/source/python-server-api-examples.md +++ b/docs/source/python-server-api-examples.md @@ -1037,15 +1037,14 @@ The above switch can be implemented as follows using threshold cryptoconditions:

-The small circle (⚪) at an input of a threshold condition denotes an inversion of the fulfillment: +The inverted timeout is denoted by a -1 threshold, which negates the output of the fulfillment. ```python inverted_fulfillment.validate(msg) == not fulfillment.validate(msg) ``` -An inverted input to a threshold condition is simply obtained by negative weights. - -__Note__: negative weights are BigchainDB-specific and not (yet) supported by the ILP standard. +__Note__: inverted thresholds are BigchainDB-specific and not supported by the ILP standard. +The main reason is that it's difficult to tell whether the fulfillment was negated, or just omitted. The following code snippet shows how to create an escrow condition: @@ -1064,6 +1063,8 @@ time_expire = str(float(util.timestamp()) + time_sleep) # 12 secs from now # Create the escrow and timeout condition condition_escrow = cc.ThresholdSha256Fulfillment(threshold=1) # OR Gate condition_timeout = cc.TimeoutFulfillment(expire_time=time_expire) # only valid if now() <= time_expire +condition_timeout_inverted = cc.InvertedThresholdSha256Fulfillment(threshold=1) +condition_timeout_inverted.add_subfulfillment(condition_timeout) # invert the timeout condition # Create the execute branch condition_execute = cc.ThresholdSha256Fulfillment(threshold=2) # AND gate @@ -1074,7 +1075,7 @@ condition_escrow.add_subfulfillment(condition_execute) # Create the abort branch condition_abort = cc.ThresholdSha256Fulfillment(threshold=2) # AND gate condition_abort.add_subfulfillment(cc.Ed25519Fulfillment(public_key=testuser2_pub)) # abort address -condition_abort.add_subfulfillment(condition_timeout, weight=-1) # the negative weight inverts the condition +condition_abort.add_subfulfillment(condition_timeout_inverted) condition_escrow.add_subfulfillment(condition_abort) # Update the condition in the newly created transaction @@ -1144,10 +1145,19 @@ tx_escrow_signed }, { "bitmask":9, - "expire_time":"1464242352.227917", + "subfulfillments":[ + { + "bitmask":9, + "expire_time":"1464242352.227917", + "type":"fulfillment", + "type_id":99, + "weight":1 + } + ], + "threshold":1, "type":"fulfillment", - "type_id":99, - "weight":-1 + "type_id":98, + "weight":1 } ], "threshold":2, @@ -1207,6 +1217,7 @@ escrow_fulfillment = cc.Fulfillment.from_json( subfulfillment_testuser1 = escrow_fulfillment.get_subcondition_from_vk(testuser1_pub)[0] subfulfillment_testuser2 = escrow_fulfillment.get_subcondition_from_vk(testuser2_pub)[0] subfulfillment_timeout = escrow_fulfillment.subconditions[0]['body'].subconditions[1]['body'] +subfulfillment_timeout_inverted = escrow_fulfillment.subconditions[1]['body'].subconditions[1]['body'] # Get the fulfillment message to sign tx_escrow_execute_fulfillment_message = \ @@ -1227,7 +1238,7 @@ escrow_fulfillment.add_subfulfillment(fulfillment_execute) # Do not fulfill the abort branch condition_abort = cc.ThresholdSha256Fulfillment(threshold=2) condition_abort.add_subfulfillment(subfulfillment_testuser2) -condition_abort.add_subfulfillment(subfulfillment_timeout, weight=-1) +condition_abort.add_subfulfillment(subfulfillment_timeout_inverted) escrow_fulfillment.add_subcondition(condition_abort.condition) # Adding only the condition here # Update the execute transaction with the fulfillment @@ -1247,6 +1258,7 @@ escrow_fulfillment = cc.Fulfillment.from_json( subfulfillment_testuser1 = escrow_fulfillment.get_subcondition_from_vk(testuser1_pub)[0] subfulfillment_testuser2 = escrow_fulfillment.get_subcondition_from_vk(testuser2_pub)[0] subfulfillment_timeout = escrow_fulfillment.subconditions[0]['body'].subconditions[1]['body'] +subfulfillment_timeout_inverted = escrow_fulfillment.subconditions[1]['body'].subconditions[1]['body'] # Get the fulfillment message to sign tx_escrow_abort_fulfillment_message = \ @@ -1267,7 +1279,7 @@ escrow_fulfillment.add_subcondition(condition_execute.condition) # Adding only t fulfillment_abort = cc.ThresholdSha256Fulfillment(threshold=2) subfulfillment_testuser2.sign(tx_escrow_abort_fulfillment_message, crypto.SigningKey(testuser2_priv)) fulfillment_abort.add_subfulfillment(subfulfillment_testuser2) -fulfillment_abort.add_subfulfillment(subfulfillment_timeout, weight=-1) +fulfillment_abort.add_subfulfillment(subfulfillment_timeout_inverted) escrow_fulfillment.add_subfulfillment(fulfillment_abort) # Update the abort transaction with the fulfillment diff --git a/tests/doc/run_doc_python_server_api_examples.py b/tests/doc/run_doc_python_server_api_examples.py index 5ae9300f..2e132b04 100644 --- a/tests/doc/run_doc_python_server_api_examples.py +++ b/tests/doc/run_doc_python_server_api_examples.py @@ -119,7 +119,7 @@ tx_multisig_transfer_signed = b.sign_transaction(tx_multisig_transfer, [testuser try: b.validate_transaction(tx_multisig_transfer_signed) except exceptions.InvalidSignature: - import ipdb; ipdb.set_trace() + # import ipdb; ipdb.set_trace() b.validate_transaction(tx_multisig_transfer_signed) b.write_transaction(tx_multisig_transfer_signed) @@ -375,6 +375,8 @@ time_expire = str(float(util.timestamp()) + time_sleep) # Create escrow and timeout condition condition_escrow = cc.ThresholdSha256Fulfillment(threshold=1) # OR Gate condition_timeout = cc.TimeoutFulfillment(expire_time=time_expire) # only valid if now() <= time_expire +condition_timeout_inverted = cc.InvertedThresholdSha256Fulfillment(threshold=1) +condition_timeout_inverted.add_subfulfillment(condition_timeout) # Create execute branch condition_execute = cc.ThresholdSha256Fulfillment(threshold=2) # AND gate @@ -385,7 +387,7 @@ condition_escrow.add_subfulfillment(condition_execute) # Create abort branch condition_abort = cc.ThresholdSha256Fulfillment(threshold=2) # AND gate condition_abort.add_subfulfillment(cc.Ed25519Fulfillment(public_key=testuser2_pub)) # abort address -condition_abort.add_subfulfillment(condition_timeout, weight=-1) # the negative weight inverts the condition +condition_abort.add_subfulfillment(condition_timeout_inverted) condition_escrow.add_subfulfillment(condition_abort) # Update the condition in the newly created transaction @@ -421,6 +423,7 @@ escrow_fulfillment = cc.Fulfillment.from_json( subfulfillment_testuser1 = escrow_fulfillment.get_subcondition_from_vk(testuser1_pub)[0] subfulfillment_testuser2 = escrow_fulfillment.get_subcondition_from_vk(testuser2_pub)[0] subfulfillment_timeout = escrow_fulfillment.subconditions[0]['body'].subconditions[1]['body'] +subfulfillment_timeout_inverted = escrow_fulfillment.subconditions[1]['body'].subconditions[1]['body'] # Get the fulfillment message to sign tx_escrow_execute_fulfillment_message = \ @@ -440,7 +443,7 @@ escrow_fulfillment.add_subfulfillment(fulfillment_execute) # do not fulfill abort branch condition_abort = cc.ThresholdSha256Fulfillment(threshold=2) condition_abort.add_subfulfillment(subfulfillment_testuser2) -condition_abort.add_subfulfillment(subfulfillment_timeout, weight=-1) +condition_abort.add_subfulfillment(subfulfillment_timeout_inverted) escrow_fulfillment.add_subcondition(condition_abort.condition) # create fulfillment and append to transaction @@ -456,6 +459,7 @@ escrow_fulfillment = cc.Fulfillment.from_json( subfulfillment_testuser1 = escrow_fulfillment.get_subcondition_from_vk(testuser1_pub)[0] subfulfillment_testuser2 = escrow_fulfillment.get_subcondition_from_vk(testuser2_pub)[0] subfulfillment_timeout = escrow_fulfillment.subconditions[0]['body'].subconditions[1]['body'] +subfulfillment_timeout_inverted = escrow_fulfillment.subconditions[1]['body'].subconditions[1]['body'] tx_escrow_abort_fulfillment_message = \ util.get_fulfillment_message(tx_escrow_abort, @@ -473,7 +477,7 @@ escrow_fulfillment.add_subcondition(condition_execute.condition) fulfillment_abort = cc.ThresholdSha256Fulfillment(threshold=2) subfulfillment_testuser2.sign(tx_escrow_abort_fulfillment_message, crypto.SigningKey(testuser2_priv)) fulfillment_abort.add_subfulfillment(subfulfillment_testuser2) -fulfillment_abort.add_subfulfillment(subfulfillment_timeout, weight=-1) +fulfillment_abort.add_subfulfillment(subfulfillment_timeout_inverted) escrow_fulfillment.add_subfulfillment(fulfillment_abort) tx_escrow_abort['transaction']['fulfillments'][0]['fulfillment'] = escrow_fulfillment.serialize_uri() From d082a0fb6a8c9efbfca51312e439f4c5c8dfcfe8 Mon Sep 17 00:00:00 2001 From: diminator Date: Wed, 1 Jun 2016 13:44:48 +0200 Subject: [PATCH 2/5] cc version bump --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a72cd20c..45015b59 100644 --- a/setup.py +++ b/setup.py @@ -96,7 +96,7 @@ setup( 'rethinkdb==2.3.0', 'pysha3==0.3', 'pytz==2015.7', - 'cryptoconditions==0.3.0', + 'cryptoconditions==0.3.1', 'statsd==3.2.1', 'python-rapidjson==0.0.6', 'logstats==0.2.1', From de17f56ac2cf43192efce561049c0955cb11fb62 Mon Sep 17 00:00:00 2001 From: diminator Date: Wed, 1 Jun 2016 14:07:03 +0200 Subject: [PATCH 3/5] fixed tests --- tests/db/test_bigchain_api.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/tests/db/test_bigchain_api.py b/tests/db/test_bigchain_api.py index 4cff4c28..24207d2d 100644 --- a/tests/db/test_bigchain_api.py +++ b/tests/db/test_bigchain_api.py @@ -1983,6 +1983,8 @@ class TestCryptoconditions(object): condition_escrow = cc.ThresholdSha256Fulfillment(threshold=1) fulfillment_timeout = cc.TimeoutFulfillment(expire_time=str(float(util.timestamp()) + time_sleep)) + fulfillment_timeout_inverted = cc.InvertedThresholdSha256Fulfillment(threshold=1) + fulfillment_timeout_inverted.add_subfulfillment(fulfillment_timeout) # invert the timeout condition condition_user = cc.Ed25519Fulfillment(public_key=user_vk) condition_user2 = cc.Ed25519Fulfillment(public_key=user2_vk) @@ -1994,7 +1996,7 @@ class TestCryptoconditions(object): # do not fulfill abort branch fulfillment_and_abort = cc.ThresholdSha256Fulfillment(threshold=2) fulfillment_and_abort.add_subfulfillment(condition_user) - fulfillment_and_abort.add_subfulfillment(fulfillment_timeout, weight=-1) + fulfillment_and_abort.add_subfulfillment(fulfillment_timeout_inverted) condition_escrow.add_subfulfillment(fulfillment_and_execute) condition_escrow.add_subfulfillment(fulfillment_and_abort) @@ -2048,7 +2050,7 @@ class TestCryptoconditions(object): # do not fulfill abort branch fulfillment_and_abort = cc.ThresholdSha256Fulfillment(threshold=2) fulfillment_and_abort.add_subfulfillment(subfulfillment_user) - fulfillment_and_abort.add_subfulfillment(fulfillment_timeout, weight=-1) + fulfillment_and_abort.add_subfulfillment(fulfillment_timeout_inverted) escrow_fulfillment.add_subcondition(fulfillment_and_abort.condition) escrow_tx_transfer['transaction']['fulfillments'][0]['fulfillment'] = escrow_fulfillment.serialize_uri() @@ -2089,7 +2091,7 @@ class TestCryptoconditions(object): fulfillment_and_abort = cc.ThresholdSha256Fulfillment(threshold=2) subfulfillment_user.sign(escrow_tx_fulfillment_message, crypto.SigningKey(user_sk)) fulfillment_and_abort.add_subfulfillment(subfulfillment_user) - fulfillment_and_abort.add_subfulfillment(fulfillment_timeout, weight=-1) + fulfillment_and_abort.add_subfulfillment(fulfillment_timeout_inverted) escrow_fulfillment.add_subfulfillment(fulfillment_and_abort) escrow_tx_abort['transaction']['fulfillments'][0]['fulfillment'] = escrow_fulfillment.serialize_uri() @@ -2110,6 +2112,8 @@ class TestCryptoconditions(object): condition_escrow = cc.ThresholdSha256Fulfillment(threshold=1) fulfillment_timeout = cc.TimeoutFulfillment(expire_time=str(float(util.timestamp()) + time_sleep)) + fulfillment_timeout_inverted = cc.InvertedThresholdSha256Fulfillment(threshold=1) + fulfillment_timeout_inverted.add_subfulfillment(fulfillment_timeout) # invert the timeout condition condition_user = cc.Ed25519Fulfillment(public_key=user_vk) condition_user2 = cc.Ed25519Fulfillment(public_key=user2_vk) @@ -2121,7 +2125,7 @@ class TestCryptoconditions(object): # do not fulfill abort branch fulfillment_and_abort = cc.ThresholdSha256Fulfillment(threshold=2) fulfillment_and_abort.add_subfulfillment(condition_user) - fulfillment_and_abort.add_subfulfillment(fulfillment_timeout, weight=-1) + fulfillment_and_abort.add_subfulfillment(fulfillment_timeout_inverted) condition_escrow.add_subfulfillment(fulfillment_and_execute) condition_escrow.add_subfulfillment(fulfillment_and_abort) @@ -2175,7 +2179,7 @@ class TestCryptoconditions(object): # do not fulfill abort branch fulfillment_and_abort = cc.ThresholdSha256Fulfillment(threshold=2) fulfillment_and_abort.add_subfulfillment(subfulfillment_user) - fulfillment_and_abort.add_subfulfillment(fulfillment_timeout, weight=-1) + fulfillment_and_abort.add_subfulfillment(fulfillment_timeout_inverted) escrow_fulfillment.add_subcondition(fulfillment_and_abort.condition) escrow_tx_transfer['transaction']['fulfillments'][0]['fulfillment'] = escrow_fulfillment.serialize_uri() @@ -2222,7 +2226,7 @@ class TestCryptoconditions(object): fulfillment_and_abort = cc.ThresholdSha256Fulfillment(threshold=2) subfulfillment_user.sign(escrow_tx_fulfillment_message, crypto.SigningKey(user_sk)) fulfillment_and_abort.add_subfulfillment(subfulfillment_user) - fulfillment_and_abort.add_subfulfillment(fulfillment_timeout, weight=-1) + fulfillment_and_abort.add_subfulfillment(fulfillment_timeout_inverted) escrow_fulfillment.add_subfulfillment(fulfillment_and_abort) escrow_tx_abort['transaction']['fulfillments'][0]['fulfillment'] = escrow_fulfillment.serialize_uri() From 40950328f728af9a43fee96f478df869d458a47e Mon Sep 17 00:00:00 2001 From: troymc Date: Mon, 13 Jun 2016 09:16:37 +0200 Subject: [PATCH 4/5] Updated the Changelog for the v0.4.1 release --- CHANGELOG.md | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 11a14da2..ad931721 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,12 +15,28 @@ For reference, the possible headings are: * **Notes** -## [Unreleased] - YYYY-MM-DD -Tag name: +## [0.4.1] - 2016-06-13 +Tag name: v0.4.1 = commit: committed: -(Add new stuff here from time to time until the next version release.) +### Added +- Revert `bigchain` deletes: [Pull Request #330](https://github.com/bigchaindb/bigchaindb/pull/330) + +### Changed +- Use inverted threshold condition instead of negative weights for escrow: [Pull Request #355](https://github.com/bigchaindb/bigchaindb/pull/355) + +### Fixed +- Removed duplicate `pytest` in `setup.py`: [Pull Request #365](https://github.com/bigchaindb/bigchaindb/pull/365) + +### Notes +- There were several additions and changes to the documentation: Pull Requests +[#343](https://github.com/bigchaindb/bigchaindb/pull/343), +[#363](https://github.com/bigchaindb/bigchaindb/pull/363), +[#364](https://github.com/bigchaindb/bigchaindb/pull/364), +[#366](https://github.com/bigchaindb/bigchaindb/pull/366), +[#370](https://github.com/bigchaindb/bigchaindb/pull/370), +[#372](https://github.com/bigchaindb/bigchaindb/pull/372) ## [0.4.0] - 2016-05-27 From 9c4aa987bcbc294b6a5c3069e6c45a7ed77a4068 Mon Sep 17 00:00:00 2001 From: troymc Date: Mon, 13 Jun 2016 09:52:40 +0200 Subject: [PATCH 5/5] Updated version.py for the v0.4.1 release --- bigchaindb/version.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bigchaindb/version.py b/bigchaindb/version.py index f892d89f..ce4b94e3 100644 --- a/bigchaindb/version.py +++ b/bigchaindb/version.py @@ -1,2 +1,2 @@ -__version__ = '0.4.0' -__short_version__ = '0.4' \ No newline at end of file +__version__ = '0.4.1' +__short_version__ = '0.4'