-
Notifications
You must be signed in to change notification settings - Fork 377
Edit docker file to install indy-crypto #384
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mzk-vct
pushed a commit
to mzk-vct/plenum
that referenced
this pull request
Sep 20, 2017
ashcherbakov
added a commit
that referenced
this pull request
Sep 22, 2017
* bls signatures charm-based implementation * bls infrustructure and hierarchy * sign one msg * implement bls_key_registry; support seed for BLS keys * fix tests * expect all data in str * bls-bft implementation * bls-bft implementation * fix tests * call BLS validate COMMIT in replica * add BLS_KEY to Node txn * add init_bls_keys script * fix init script * support calculation of multi-sig; add gc * rename test_send_txns_no_bls to test_send_txns_partial_bls to make it match file name and purpose * fix conditions and getting of public key by node name in BlsBftPlenum * modify tests to avoid 3pc batching * make replica add bls signature to COMMIT message * change signature of calculate_multi_sig to let it return optional str * add test_send_txns_full_bls test * make replica register own commit in bls registry * move docstrings from BlsBftPlenum to BlsBft * add base class for BLS validation errors * raise exception if validation of bls signature for commit failed * add validate_multi_sig method to BlsBft * make BlsBftPlenum raise exceptions in validation methods and do not store commits * comment raising of exception if there is no signature since it is allowed as of now * update test_validate_pre_prepare_incorrect_multi_sig * in replica handle exceptions from bls * update tests in test_bls_bft.py to make them test multisig using prepares instead of commits * move signatures from commit to prepares as it is described in design doc * remove debug logging and unused import * make replica add latest multi-sig to preprepare * create BlsMultiSignatureField validator and test for it * remove redundant test case for BlsMultiSignature message * update test of validation of commit and prepare preprepare messages * use BlsMultiSignatureField instead of BlsMultiSignature in preprepare * use multi-sig as a tuple instead of a dict * propagate primaries multisig to other nodes * return bls signature back to commit * add log for saving multi sig * use multisig for domain ledger only * fix tests in test_primary_selector * fix test for commit message * fix name of test_send_txns_full_bls test * add signarue for current batch to preprepare * refactor verification methods of BlsBftPlenum * update test of PrePrepare message * Add key value bls store * Save on master instance only * check if multisig is none before handling it * add missing empty line * pass bls store to domain request handler * add bls_Store to TestNode * fix broken import of PREPARE * add constants for state proof fields * exclude state proof from checking of rreply equality * Integrate indy_crypto lib * fix excluding of state_proof fromr replies * Add indy-crypto factory * New indy-crypto api * Final indy_crypto doc * add correct root hash to multi singature in preprepare * create class for multi signature * use MultiSignature in bls_bft * add todo about updating BlsMultiSignature message * add checks of multi sig fields * init bls keys in tests * send BLS sigs in COMMITs only * use MultiSignature in BlsStore * add as_dict and define __eq__ in MultiSignature * use MultiSignature in BlsBftPlenum * Add new dep python3-indy-crypto to install req * blskey support * remove redundant args * update signatures, remove validation of prepare, use MultiSignature * Make generator type str * remove sig from (pre)prepare, add state to commit * Add blsfactoryindycrypto; add dedicated seed for bls * support 48-bit seed * disable charm-based tests * re-factored bls_bft move all bls-related logic from replica to bls_bft * re-factored bls_bft move all bls-related logic from replica to bls_bft * use pool_state for multi-sig * fixes * fixed tests * Edit docker file to install indy-crypto (#384) * Edit docker file to install indy-crypto (#384) * pass pool_state to bls_bft * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * add txn time to nym * Bls storage (#387) * Edit docker file to install indy-crypto * Change libindy-crypto source to sovrin repo instead of wget it * remove bls multisig message test * use pool_state_root; get rid of charm-code * use correct pool_state_root for multi-sig * update tests * fix tests * support getting a value for a specified root * create bls keys in initLocalKeys * return bls key in initLocalKeys * update usages of initLocalKeys * generate bls keys not only for local nodes * fix static code validation errors * get BLS keys for the given pool root state * extend tests * add tests for BLS sig consensus * enable BLS for domain ledger only * fix tests to include BLS keys into NODE txn for new nodes * use list instead of tuple when creating PrePrepare to have correct equal * more bls_bft tests; improve logging * fix usage of initLocalKeys gen_steward_key * fix code review findings * add docs * build and install python3-indy-crypto with libindy-crypto dependency (needs to be re-factored)
ashcherbakov
pushed a commit
that referenced
this pull request
Sep 29, 2017
* bls signatures charm-based implementation * bls infrustructure and hierarchy * sign one msg * implement bls_key_registry; support seed for BLS keys * fix tests * expect all data in str * bls-bft implementation * bls-bft implementation * fix tests * call BLS validate COMMIT in replica * add BLS_KEY to Node txn * add init_bls_keys script * fix init script * support calculation of multi-sig; add gc * rename test_send_txns_no_bls to test_send_txns_partial_bls to make it match file name and purpose * fix conditions and getting of public key by node name in BlsBftPlenum * modify tests to avoid 3pc batching * make replica add bls signature to COMMIT message * change signature of calculate_multi_sig to let it return optional str * add test_send_txns_full_bls test * make replica register own commit in bls registry * move docstrings from BlsBftPlenum to BlsBft * add base class for BLS validation errors * raise exception if validation of bls signature for commit failed * add validate_multi_sig method to BlsBft * make BlsBftPlenum raise exceptions in validation methods and do not store commits * comment raising of exception if there is no signature since it is allowed as of now * update test_validate_pre_prepare_incorrect_multi_sig * in replica handle exceptions from bls * update tests in test_bls_bft.py to make them test multisig using prepares instead of commits * move signatures from commit to prepares as it is described in design doc * remove debug logging and unused import * make replica add latest multi-sig to preprepare * create BlsMultiSignatureField validator and test for it * remove redundant test case for BlsMultiSignature message * update test of validation of commit and prepare preprepare messages * use BlsMultiSignatureField instead of BlsMultiSignature in preprepare * use multi-sig as a tuple instead of a dict * propagate primaries multisig to other nodes * return bls signature back to commit * add log for saving multi sig * use multisig for domain ledger only * fix tests in test_primary_selector * fix test for commit message * fix name of test_send_txns_full_bls test * add signarue for current batch to preprepare * refactor verification methods of BlsBftPlenum * update test of PrePrepare message * Add key value bls store * Save on master instance only * check if multisig is none before handling it * add missing empty line * pass bls store to domain request handler * add bls_Store to TestNode * fix broken import of PREPARE * add constants for state proof fields * exclude state proof from checking of rreply equality * Integrate indy_crypto lib * fix excluding of state_proof fromr replies * Add indy-crypto factory * New indy-crypto api * Final indy_crypto doc * add correct root hash to multi singature in preprepare * create class for multi signature * use MultiSignature in bls_bft * add todo about updating BlsMultiSignature message * add checks of multi sig fields * init bls keys in tests * send BLS sigs in COMMITs only * use MultiSignature in BlsStore * add as_dict and define __eq__ in MultiSignature * use MultiSignature in BlsBftPlenum * Add new dep python3-indy-crypto to install req * blskey support * remove redundant args * update signatures, remove validation of prepare, use MultiSignature * Make generator type str * remove sig from (pre)prepare, add state to commit * Add blsfactoryindycrypto; add dedicated seed for bls * support 48-bit seed * disable charm-based tests * re-factored bls_bft move all bls-related logic from replica to bls_bft * re-factored bls_bft move all bls-related logic from replica to bls_bft * use pool_state for multi-sig * fixes * fixed tests * Edit docker file to install indy-crypto (#384) * Edit docker file to install indy-crypto (#384) * pass pool_state to bls_bft * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * add txn time to nym * Bls storage (#387) * Edit docker file to install indy-crypto * Change libindy-crypto source to sovrin repo instead of wget it * remove bls multisig message test * use pool_state_root; get rid of charm-code * use correct pool_state_root for multi-sig * update tests * fix tests * support getting a value for a specified root * create bls keys in initLocalKeys * return bls key in initLocalKeys * update usages of initLocalKeys * generate bls keys not only for local nodes * fix static code validation errors * get BLS keys for the given pool root state * extend tests * add checking of proof in hasConsensus * add base implementation of take_one_proved * add use_bls param to initNodeKeysForBothStacks * continue implementation of state proof in cli * use bls_bft for checking multi sig in client * add tests for BLS sig consensus * enable BLS for domain ledger only * fix tests to include BLS keys into NODE txn for new nodes * rename request param to reply * use one method for making both key and value * use list instead of tuple when creating PrePrepare to have correct equal * more bls_bft tests; improve logging * change arg list of BlsFactoryIndyCrypto in create_bls_bft * fix usage of initLocalKeys gen_steward_key * fix code review findings * refactor hasConsensus * add docs * use bls crypto for checking multisignature * fix signature of getReply * exclude state proof from quorum check * build and install python3-indy-crypto with libindy-crypto dependency (needs to be re-factored) * load bls keys in Client * move here make_proof from indy-node * fix quorum condition * comment out early init of bls_node_public_keys * create special class for multi sig verification * fix json serializer * fix verification of state proof in client * make test node and client add proof for some reqs * add test for state proofs on client * use 'buy' instead of 'hello' for state proof checks * remove unused imports * fix indentation * remove unused method * fcreate base64 serializer * user serializers instead of direct usage of base* * remove unused exit line * check that number of participants in multisig >= f * fix quorumed; check number of participants * create mostCommonElementWithFreq * update logic of take_one_quorumed * merge mostCommonElementWithFreq nad mostCommonElement * update signature of mostCommonElement * fix formatting if objSearchReplace signature * use None instead of set() as default arg val * use bls quorum instead of reply quorum for participants * change log level to warning for replies * use named serializers in make_proof * fix formatting * introduce lazy_field decorator * create bls_key_register_pool_manager_ledger * rake ledger instead of pool_manager in BlsKeyRegisterPoolManagerLedger * rename BlsKeyRegisterPoolmanagerLedger to BlsKeyRegisterPoolLedger * use BlsKeyRegisterPoolLedgerin client * fix proof validation on client * make IndyCryptoMultiSigVerifier get GroupParams instead of Generator * create MultiSignatureVerifier abstract class * support MultiSignatureVerifier in crypto factory * create verifier using factory in client * create utility method for creation of full root hash * use utility method create_full_root_hash * fix active waiting when there is no messages * add check_sufficient_replies_received util method it uses client's hasConsensus * fix logging of request id in client * make client check if multi signature empty * use check_sufficient_replies_received in tests * use check_sufficient_replies_received in waitForSufficientRepliesForRequests * remove fVal param from sendReqsToNodesAndVerifySuffReplies * tmp warkaround: remove state proof from catchup reply * update buy in sendRepliesToClients * remove debug loop * transform generator to list * make take_one_proved return result instead of reply * in client use create_default_bls_crypto_factory * change instId to 0 to fix test
ashcherbakov
pushed a commit
that referenced
this pull request
Oct 2, 2017
* Support of state proofs in client (#394) * bls signatures charm-based implementation * bls infrustructure and hierarchy * sign one msg * implement bls_key_registry; support seed for BLS keys * fix tests * expect all data in str * bls-bft implementation * bls-bft implementation * fix tests * call BLS validate COMMIT in replica * add BLS_KEY to Node txn * add init_bls_keys script * fix init script * support calculation of multi-sig; add gc * rename test_send_txns_no_bls to test_send_txns_partial_bls to make it match file name and purpose * fix conditions and getting of public key by node name in BlsBftPlenum * modify tests to avoid 3pc batching * make replica add bls signature to COMMIT message * change signature of calculate_multi_sig to let it return optional str * add test_send_txns_full_bls test * make replica register own commit in bls registry * move docstrings from BlsBftPlenum to BlsBft * add base class for BLS validation errors * raise exception if validation of bls signature for commit failed * add validate_multi_sig method to BlsBft * make BlsBftPlenum raise exceptions in validation methods and do not store commits * comment raising of exception if there is no signature since it is allowed as of now * update test_validate_pre_prepare_incorrect_multi_sig * in replica handle exceptions from bls * update tests in test_bls_bft.py to make them test multisig using prepares instead of commits * move signatures from commit to prepares as it is described in design doc * remove debug logging and unused import * make replica add latest multi-sig to preprepare * create BlsMultiSignatureField validator and test for it * remove redundant test case for BlsMultiSignature message * update test of validation of commit and prepare preprepare messages * use BlsMultiSignatureField instead of BlsMultiSignature in preprepare * use multi-sig as a tuple instead of a dict * propagate primaries multisig to other nodes * return bls signature back to commit * add log for saving multi sig * use multisig for domain ledger only * fix tests in test_primary_selector * fix test for commit message * fix name of test_send_txns_full_bls test * add signarue for current batch to preprepare * refactor verification methods of BlsBftPlenum * update test of PrePrepare message * Add key value bls store * Save on master instance only * check if multisig is none before handling it * add missing empty line * pass bls store to domain request handler * add bls_Store to TestNode * fix broken import of PREPARE * add constants for state proof fields * exclude state proof from checking of rreply equality * Integrate indy_crypto lib * fix excluding of state_proof fromr replies * Add indy-crypto factory * New indy-crypto api * Final indy_crypto doc * add correct root hash to multi singature in preprepare * create class for multi signature * use MultiSignature in bls_bft * add todo about updating BlsMultiSignature message * add checks of multi sig fields * init bls keys in tests * send BLS sigs in COMMITs only * use MultiSignature in BlsStore * add as_dict and define __eq__ in MultiSignature * use MultiSignature in BlsBftPlenum * Add new dep python3-indy-crypto to install req * blskey support * remove redundant args * update signatures, remove validation of prepare, use MultiSignature * Make generator type str * remove sig from (pre)prepare, add state to commit * Add blsfactoryindycrypto; add dedicated seed for bls * support 48-bit seed * disable charm-based tests * re-factored bls_bft move all bls-related logic from replica to bls_bft * re-factored bls_bft move all bls-related logic from replica to bls_bft * use pool_state for multi-sig * fixes * fixed tests * Edit docker file to install indy-crypto (#384) * Edit docker file to install indy-crypto (#384) * pass pool_state to bls_bft * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * add txn time to nym * Bls storage (#387) * Edit docker file to install indy-crypto * Change libindy-crypto source to sovrin repo instead of wget it * remove bls multisig message test * use pool_state_root; get rid of charm-code * use correct pool_state_root for multi-sig * update tests * fix tests * support getting a value for a specified root * create bls keys in initLocalKeys * return bls key in initLocalKeys * update usages of initLocalKeys * generate bls keys not only for local nodes * fix static code validation errors * get BLS keys for the given pool root state * extend tests * add checking of proof in hasConsensus * add base implementation of take_one_proved * add use_bls param to initNodeKeysForBothStacks * continue implementation of state proof in cli * use bls_bft for checking multi sig in client * add tests for BLS sig consensus * enable BLS for domain ledger only * fix tests to include BLS keys into NODE txn for new nodes * rename request param to reply * use one method for making both key and value * use list instead of tuple when creating PrePrepare to have correct equal * more bls_bft tests; improve logging * change arg list of BlsFactoryIndyCrypto in create_bls_bft * fix usage of initLocalKeys gen_steward_key * fix code review findings * refactor hasConsensus * add docs * use bls crypto for checking multisignature * fix signature of getReply * exclude state proof from quorum check * build and install python3-indy-crypto with libindy-crypto dependency (needs to be re-factored) * load bls keys in Client * move here make_proof from indy-node * fix quorum condition * comment out early init of bls_node_public_keys * create special class for multi sig verification * fix json serializer * fix verification of state proof in client * make test node and client add proof for some reqs * add test for state proofs on client * use 'buy' instead of 'hello' for state proof checks * remove unused imports * fix indentation * remove unused method * fcreate base64 serializer * user serializers instead of direct usage of base* * remove unused exit line * check that number of participants in multisig >= f * fix quorumed; check number of participants * create mostCommonElementWithFreq * update logic of take_one_quorumed * merge mostCommonElementWithFreq nad mostCommonElement * update signature of mostCommonElement * fix formatting if objSearchReplace signature * use None instead of set() as default arg val * use bls quorum instead of reply quorum for participants * change log level to warning for replies * use named serializers in make_proof * fix formatting * introduce lazy_field decorator * create bls_key_register_pool_manager_ledger * rake ledger instead of pool_manager in BlsKeyRegisterPoolManagerLedger * rename BlsKeyRegisterPoolmanagerLedger to BlsKeyRegisterPoolLedger * use BlsKeyRegisterPoolLedgerin client * fix proof validation on client * make IndyCryptoMultiSigVerifier get GroupParams instead of Generator * create MultiSignatureVerifier abstract class * support MultiSignatureVerifier in crypto factory * create verifier using factory in client * create utility method for creation of full root hash * use utility method create_full_root_hash * fix active waiting when there is no messages * add check_sufficient_replies_received util method it uses client's hasConsensus * fix logging of request id in client * make client check if multi signature empty * use check_sufficient_replies_received in tests * use check_sufficient_replies_received in waitForSufficientRepliesForRequests * remove fVal param from sendReqsToNodesAndVerifySuffReplies * tmp warkaround: remove state proof from catchup reply * update buy in sendRepliesToClients * remove debug loop * transform generator to list * make take_one_proved return result instead of reply * in client use create_default_bls_crypto_factory * change instId to 0 to fix test * Expand user before directory creation * Copy genesis data to client folder during test network generation * Next version
ashcherbakov
pushed a commit
that referenced
this pull request
Oct 4, 2017
* Support of state proofs in client (#394) * bls signatures charm-based implementation * bls infrustructure and hierarchy * sign one msg * implement bls_key_registry; support seed for BLS keys * fix tests * expect all data in str * bls-bft implementation * bls-bft implementation * fix tests * call BLS validate COMMIT in replica * add BLS_KEY to Node txn * add init_bls_keys script * fix init script * support calculation of multi-sig; add gc * rename test_send_txns_no_bls to test_send_txns_partial_bls to make it match file name and purpose * fix conditions and getting of public key by node name in BlsBftPlenum * modify tests to avoid 3pc batching * make replica add bls signature to COMMIT message * change signature of calculate_multi_sig to let it return optional str * add test_send_txns_full_bls test * make replica register own commit in bls registry * move docstrings from BlsBftPlenum to BlsBft * add base class for BLS validation errors * raise exception if validation of bls signature for commit failed * add validate_multi_sig method to BlsBft * make BlsBftPlenum raise exceptions in validation methods and do not store commits * comment raising of exception if there is no signature since it is allowed as of now * update test_validate_pre_prepare_incorrect_multi_sig * in replica handle exceptions from bls * update tests in test_bls_bft.py to make them test multisig using prepares instead of commits * move signatures from commit to prepares as it is described in design doc * remove debug logging and unused import * make replica add latest multi-sig to preprepare * create BlsMultiSignatureField validator and test for it * remove redundant test case for BlsMultiSignature message * update test of validation of commit and prepare preprepare messages * use BlsMultiSignatureField instead of BlsMultiSignature in preprepare * use multi-sig as a tuple instead of a dict * propagate primaries multisig to other nodes * return bls signature back to commit * add log for saving multi sig * use multisig for domain ledger only * fix tests in test_primary_selector * fix test for commit message * fix name of test_send_txns_full_bls test * add signarue for current batch to preprepare * refactor verification methods of BlsBftPlenum * update test of PrePrepare message * Add key value bls store * Save on master instance only * check if multisig is none before handling it * add missing empty line * pass bls store to domain request handler * add bls_Store to TestNode * fix broken import of PREPARE * add constants for state proof fields * exclude state proof from checking of rreply equality * Integrate indy_crypto lib * fix excluding of state_proof fromr replies * Add indy-crypto factory * New indy-crypto api * Final indy_crypto doc * add correct root hash to multi singature in preprepare * create class for multi signature * use MultiSignature in bls_bft * add todo about updating BlsMultiSignature message * add checks of multi sig fields * init bls keys in tests * send BLS sigs in COMMITs only * use MultiSignature in BlsStore * add as_dict and define __eq__ in MultiSignature * use MultiSignature in BlsBftPlenum * Add new dep python3-indy-crypto to install req * blskey support * remove redundant args * update signatures, remove validation of prepare, use MultiSignature * Make generator type str * remove sig from (pre)prepare, add state to commit * Add blsfactoryindycrypto; add dedicated seed for bls * support 48-bit seed * disable charm-based tests * re-factored bls_bft move all bls-related logic from replica to bls_bft * re-factored bls_bft move all bls-related logic from replica to bls_bft * use pool_state for multi-sig * fixes * fixed tests * Edit docker file to install indy-crypto (#384) * Edit docker file to install indy-crypto (#384) * pass pool_state to bls_bft * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * add txn time to nym * Bls storage (#387) * Edit docker file to install indy-crypto * Change libindy-crypto source to sovrin repo instead of wget it * remove bls multisig message test * use pool_state_root; get rid of charm-code * use correct pool_state_root for multi-sig * update tests * fix tests * support getting a value for a specified root * create bls keys in initLocalKeys * return bls key in initLocalKeys * update usages of initLocalKeys * generate bls keys not only for local nodes * fix static code validation errors * get BLS keys for the given pool root state * extend tests * add checking of proof in hasConsensus * add base implementation of take_one_proved * add use_bls param to initNodeKeysForBothStacks * continue implementation of state proof in cli * use bls_bft for checking multi sig in client * add tests for BLS sig consensus * enable BLS for domain ledger only * fix tests to include BLS keys into NODE txn for new nodes * rename request param to reply * use one method for making both key and value * use list instead of tuple when creating PrePrepare to have correct equal * more bls_bft tests; improve logging * change arg list of BlsFactoryIndyCrypto in create_bls_bft * fix usage of initLocalKeys gen_steward_key * fix code review findings * refactor hasConsensus * add docs * use bls crypto for checking multisignature * fix signature of getReply * exclude state proof from quorum check * build and install python3-indy-crypto with libindy-crypto dependency (needs to be re-factored) * load bls keys in Client * move here make_proof from indy-node * fix quorum condition * comment out early init of bls_node_public_keys * create special class for multi sig verification * fix json serializer * fix verification of state proof in client * make test node and client add proof for some reqs * add test for state proofs on client * use 'buy' instead of 'hello' for state proof checks * remove unused imports * fix indentation * remove unused method * fcreate base64 serializer * user serializers instead of direct usage of base* * remove unused exit line * check that number of participants in multisig >= f * fix quorumed; check number of participants * create mostCommonElementWithFreq * update logic of take_one_quorumed * merge mostCommonElementWithFreq nad mostCommonElement * update signature of mostCommonElement * fix formatting if objSearchReplace signature * use None instead of set() as default arg val * use bls quorum instead of reply quorum for participants * change log level to warning for replies * use named serializers in make_proof * fix formatting * introduce lazy_field decorator * create bls_key_register_pool_manager_ledger * rake ledger instead of pool_manager in BlsKeyRegisterPoolManagerLedger * rename BlsKeyRegisterPoolmanagerLedger to BlsKeyRegisterPoolLedger * use BlsKeyRegisterPoolLedgerin client * fix proof validation on client * make IndyCryptoMultiSigVerifier get GroupParams instead of Generator * create MultiSignatureVerifier abstract class * support MultiSignatureVerifier in crypto factory * create verifier using factory in client * create utility method for creation of full root hash * use utility method create_full_root_hash * fix active waiting when there is no messages * add check_sufficient_replies_received util method it uses client's hasConsensus * fix logging of request id in client * make client check if multi signature empty * use check_sufficient_replies_received in tests * use check_sufficient_replies_received in waitForSufficientRepliesForRequests * remove fVal param from sendReqsToNodesAndVerifySuffReplies * tmp warkaround: remove state proof from catchup reply * update buy in sendRepliesToClients * remove debug loop * transform generator to list * make take_one_proved return result instead of reply * in client use create_default_bls_crypto_factory * change instId to 0 to fix test * Expand user before directory creation * Copy genesis data to client folder during test network generation * Next version * INDY-830: Wallet migration for rebranding (#402) Supported wallet migration for rebranding * Fix code validation
ashcherbakov
pushed a commit
that referenced
this pull request
Oct 27, 2017
* Squashed commit of the following: commit a7df7a8 Author: Dmitry Surnin <[email protected]> Date: Tue Oct 17 11:23:26 2017 +0300 Revert jenkins file Signed-off-by: Dmitry Surnin <[email protected]> commit e5b12ad Merge: 98ac91c e5921c7 Author: Dmitry Surnin <[email protected]> Date: Tue Oct 17 08:49:01 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit 98ac91c Merge: 074ec5b 635d921 Author: Dmitry Surnin <[email protected]> Date: Mon Oct 16 11:54:33 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit 074ec5b Author: Dmitry Surnin <[email protected]> Date: Wed Oct 11 15:31:57 2017 +0300 Fix review notes Signed-off-by: Dmitry Surnin <[email protected]> commit dd1dd57 Merge: 4d66665 0ba6a87 Author: Dmitry Surnin <[email protected]> Date: Tue Oct 10 09:57:38 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit 4d66665 Author: Dmitry Surnin <[email protected]> Date: Mon Oct 9 12:34:35 2017 +0300 Next ver Signed-off-by: Dmitry Surnin <[email protected]> commit a16f3b2 Author: Dmitry Surnin <[email protected]> Date: Mon Oct 9 12:33:07 2017 +0300 Remove path creation during setup Signed-off-by: Dmitry Surnin <[email protected]> commit 4bddb24 Merge: 6a1ba50 260721c Author: Dmitry Surnin <[email protected]> Date: Mon Oct 9 08:47:23 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit 6a1ba50 Merge: d3ca6de e0b1b79 Author: Andrey Kononykhin <[email protected]> Date: Fri Oct 6 12:53:16 2017 +0300 Merge pull request #408 from dsurnin/file-struct File struct commit e0b1b79 Author: Dmitry Surnin <[email protected]> Date: Fri Oct 6 12:49:59 2017 +0300 Next Version Signed-off-by: Dmitry Surnin <[email protected]> commit 090c0ab Merge: d3ca6de 1471202 Author: Dmitry Surnin <[email protected]> Date: Fri Oct 6 12:47:57 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit d3ca6de Merge: 8d58391 fd7e4e9 Author: Andrey Kononykhin <[email protected]> Date: Wed Oct 4 15:08:04 2017 +0300 Merge pull request #405 from dsurnin/file-struct File struct commit fd7e4e9 Author: Dmitry Surnin <[email protected]> Date: Wed Oct 4 14:49:45 2017 +0300 Next version commit 290a6e0 Merge: fe74879 8d58391 Author: Dmitry Surnin <[email protected]> Date: Wed Oct 4 14:49:33 2017 +0300 Merge remote-tracking branch 'origin/file-struct' into file-struct commit 8d58391 Author: dsurnin <[email protected]> Date: Wed Oct 4 11:23:10 2017 +0300 File struct (#404) * Support of state proofs in client (#394) * bls signatures charm-based implementation * bls infrustructure and hierarchy * sign one msg * implement bls_key_registry; support seed for BLS keys * fix tests * expect all data in str * bls-bft implementation * bls-bft implementation * fix tests * call BLS validate COMMIT in replica * add BLS_KEY to Node txn * add init_bls_keys script * fix init script * support calculation of multi-sig; add gc * rename test_send_txns_no_bls to test_send_txns_partial_bls to make it match file name and purpose * fix conditions and getting of public key by node name in BlsBftPlenum * modify tests to avoid 3pc batching * make replica add bls signature to COMMIT message * change signature of calculate_multi_sig to let it return optional str * add test_send_txns_full_bls test * make replica register own commit in bls registry * move docstrings from BlsBftPlenum to BlsBft * add base class for BLS validation errors * raise exception if validation of bls signature for commit failed * add validate_multi_sig method to BlsBft * make BlsBftPlenum raise exceptions in validation methods and do not store commits * comment raising of exception if there is no signature since it is allowed as of now * update test_validate_pre_prepare_incorrect_multi_sig * in replica handle exceptions from bls * update tests in test_bls_bft.py to make them test multisig using prepares instead of commits * move signatures from commit to prepares as it is described in design doc * remove debug logging and unused import * make replica add latest multi-sig to preprepare * create BlsMultiSignatureField validator and test for it * remove redundant test case for BlsMultiSignature message * update test of validation of commit and prepare preprepare messages * use BlsMultiSignatureField instead of BlsMultiSignature in preprepare * use multi-sig as a tuple instead of a dict * propagate primaries multisig to other nodes * return bls signature back to commit * add log for saving multi sig * use multisig for domain ledger only * fix tests in test_primary_selector * fix test for commit message * fix name of test_send_txns_full_bls test * add signarue for current batch to preprepare * refactor verification methods of BlsBftPlenum * update test of PrePrepare message * Add key value bls store * Save on master instance only * check if multisig is none before handling it * add missing empty line * pass bls store to domain request handler * add bls_Store to TestNode * fix broken import of PREPARE * add constants for state proof fields * exclude state proof from checking of rreply equality * Integrate indy_crypto lib * fix excluding of state_proof fromr replies * Add indy-crypto factory * New indy-crypto api * Final indy_crypto doc * add correct root hash to multi singature in preprepare * create class for multi signature * use MultiSignature in bls_bft * add todo about updating BlsMultiSignature message * add checks of multi sig fields * init bls keys in tests * send BLS sigs in COMMITs only * use MultiSignature in BlsStore * add as_dict and define __eq__ in MultiSignature * use MultiSignature in BlsBftPlenum * Add new dep python3-indy-crypto to install req * blskey support * remove redundant args * update signatures, remove validation of prepare, use MultiSignature * Make generator type str * remove sig from (pre)prepare, add state to commit * Add blsfactoryindycrypto; add dedicated seed for bls * support 48-bit seed * disable charm-based tests * re-factored bls_bft move all bls-related logic from replica to bls_bft * re-factored bls_bft move all bls-related logic from replica to bls_bft * use pool_state for multi-sig * fixes * fixed tests * Edit docker file to install indy-crypto (#384) * Edit docker file to install indy-crypto (#384) * pass pool_state to bls_bft * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * add txn time to nym * Bls storage (#387) * Edit docker file to install indy-crypto * Change libindy-crypto source to sovrin repo instead of wget it * remove bls multisig message test * use pool_state_root; get rid of charm-code * use correct pool_state_root for multi-sig * update tests * fix tests * support getting a value for a specified root * create bls keys in initLocalKeys * return bls key in initLocalKeys * update usages of initLocalKeys * generate bls keys not only for local nodes * fix static code validation errors * get BLS keys for the given pool root state * extend tests * add checking of proof in hasConsensus * add base implementation of take_one_proved * add use_bls param to initNodeKeysForBothStacks * continue implementation of state proof in cli * use bls_bft for checking multi sig in client * add tests for BLS sig consensus * enable BLS for domain ledger only * fix tests to include BLS keys into NODE txn for new nodes * rename request param to reply * use one method for making both key and value * use list instead of tuple when creating PrePrepare to have correct equal * more bls_bft tests; improve logging * change arg list of BlsFactoryIndyCrypto in create_bls_bft * fix usage of initLocalKeys gen_steward_key * fix code review findings * refactor hasConsensus * add docs * use bls crypto for checking multisignature * fix signature of getReply * exclude state proof from quorum check * build and install python3-indy-crypto with libindy-crypto dependency (needs to be re-factored) * load bls keys in Client * move here make_proof from indy-node * fix quorum condition * comment out early init of bls_node_public_keys * create special class for multi sig verification * fix json serializer * fix verification of state proof in client * make test node and client add proof for some reqs * add test for state proofs on client * use 'buy' instead of 'hello' for state proof checks * remove unused imports * fix indentation * remove unused method * fcreate base64 serializer * user serializers instead of direct usage of base* * remove unused exit line * check that number of participants in multisig >= f * fix quorumed; check number of participants * create mostCommonElementWithFreq * update logic of take_one_quorumed * merge mostCommonElementWithFreq nad mostCommonElement * update signature of mostCommonElement * fix formatting if objSearchReplace signature * use None instead of set() as default arg val * use bls quorum instead of reply quorum for participants * change log level to warning for replies * use named serializers in make_proof * fix formatting * introduce lazy_field decorator * create bls_key_register_pool_manager_ledger * rake ledger instead of pool_manager in BlsKeyRegisterPoolManagerLedger * rename BlsKeyRegisterPoolmanagerLedger to BlsKeyRegisterPoolLedger * use BlsKeyRegisterPoolLedgerin client * fix proof validation on client * make IndyCryptoMultiSigVerifier get GroupParams instead of Generator * create MultiSignatureVerifier abstract class * support MultiSignatureVerifier in crypto factory * create verifier using factory in client * create utility method for creation of full root hash * use utility method create_full_root_hash * fix active waiting when there is no messages * add check_sufficient_replies_received util method it uses client's hasConsensus * fix logging of request id in client * make client check if multi signature empty * use check_sufficient_replies_received in tests * use check_sufficient_replies_received in waitForSufficientRepliesForRequests * remove fVal param from sendReqsToNodesAndVerifySuffReplies * tmp warkaround: remove state proof from catchup reply * update buy in sendRepliesToClients * remove debug loop * transform generator to list * make take_one_proved return result instead of reply * in client use create_default_bls_crypto_factory * change instId to 0 to fix test * Expand user before directory creation * Copy genesis data to client folder during test network generation * Next version * INDY-830: Wallet migration for rebranding (#402) Supported wallet migration for rebranding * Fix code validation commit fe74879 Author: Dmitry Surnin <[email protected]> Date: Tue Oct 3 09:47:39 2017 +0300 Fix code validation commit 3bae9ae Merge: 4b7f9f0 e036774 Author: Dmitry Surnin <[email protected]> Date: Tue Oct 3 09:44:01 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit 4b7f9f0 Merge: 1434b0c 235fdba Author: Dmitry Surnin <[email protected]> Date: Tue Oct 3 09:43:53 2017 +0300 Merge remote-tracking branch 'origin/file-struct' into file-struct commit 235fdba Author: dsurnin <[email protected]> Date: Mon Oct 2 16:17:57 2017 +0300 File struct (#403) * Support of state proofs in client (#394) * bls signatures charm-based implementation * bls infrustructure and hierarchy * sign one msg * implement bls_key_registry; support seed for BLS keys * fix tests * expect all data in str * bls-bft implementation * bls-bft implementation * fix tests * call BLS validate COMMIT in replica * add BLS_KEY to Node txn * add init_bls_keys script * fix init script * support calculation of multi-sig; add gc * rename test_send_txns_no_bls to test_send_txns_partial_bls to make it match file name and purpose * fix conditions and getting of public key by node name in BlsBftPlenum * modify tests to avoid 3pc batching * make replica add bls signature to COMMIT message * change signature of calculate_multi_sig to let it return optional str * add test_send_txns_full_bls test * make replica register own commit in bls registry * move docstrings from BlsBftPlenum to BlsBft * add base class for BLS validation errors * raise exception if validation of bls signature for commit failed * add validate_multi_sig method to BlsBft * make BlsBftPlenum raise exceptions in validation methods and do not store commits * comment raising of exception if there is no signature since it is allowed as of now * update test_validate_pre_prepare_incorrect_multi_sig * in replica handle exceptions from bls * update tests in test_bls_bft.py to make them test multisig using prepares instead of commits * move signatures from commit to prepares as it is described in design doc * remove debug logging and unused import * make replica add latest multi-sig to preprepare * create BlsMultiSignatureField validator and test for it * remove redundant test case for BlsMultiSignature message * update test of validation of commit and prepare preprepare messages * use BlsMultiSignatureField instead of BlsMultiSignature in preprepare * use multi-sig as a tuple instead of a dict * propagate primaries multisig to other nodes * return bls signature back to commit * add log for saving multi sig * use multisig for domain ledger only * fix tests in test_primary_selector * fix test for commit message * fix name of test_send_txns_full_bls test * add signarue for current batch to preprepare * refactor verification methods of BlsBftPlenum * update test of PrePrepare message * Add key value bls store * Save on master instance only * check if multisig is none before handling it * add missing empty line * pass bls store to domain request handler * add bls_Store to TestNode * fix broken import of PREPARE * add constants for state proof fields * exclude state proof from checking of rreply equality * Integrate indy_crypto lib * fix excluding of state_proof fromr replies * Add indy-crypto factory * New indy-crypto api * Final indy_crypto doc * add correct root hash to multi singature in preprepare * create class for multi signature * use MultiSignature in bls_bft * add todo about updating BlsMultiSignature message * add checks of multi sig fields * init bls keys in tests * send BLS sigs in COMMITs only * use MultiSignature in BlsStore * add as_dict and define __eq__ in MultiSignature * use MultiSignature in BlsBftPlenum * Add new dep python3-indy-crypto to install req * blskey support * remove redundant args * update signatures, remove validation of prepare, use MultiSignature * Make generator type str * remove sig from (pre)prepare, add state to commit * Add blsfactoryindycrypto; add dedicated seed for bls * support 48-bit seed * disable charm-based tests * re-factored bls_bft move all bls-related logic from replica to bls_bft * re-factored bls_bft move all bls-related logic from replica to bls_bft * use pool_state for multi-sig * fixes * fixed tests * Edit docker file to install indy-crypto (#384) * Edit docker file to install indy-crypto (#384) * pass pool_state to bls_bft * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * fix static validation errors * add txn time to nym * Bls storage (#387) * Edit docker file to install indy-crypto * Change libindy-crypto source to sovrin repo instead of wget it * remove bls multisig message test * use pool_state_root; get rid of charm-code * use correct pool_state_root for multi-sig * update tests * fix tests * support getting a value for a specified root * create bls keys in initLocalKeys * return bls key in initLocalKeys * update usages of initLocalKeys * generate bls keys not only for local nodes * fix static code validation errors * get BLS keys for the given pool root state * extend tests * add checking of proof in hasConsensus * add base implementation of take_one_proved * add use_bls param to initNodeKeysForBothStacks * continue implementation of state proof in cli * use bls_bft for checking multi sig in client * add tests for BLS sig consensus * enable BLS for domain ledger only * fix tests to include BLS keys into NODE txn for new nodes * rename request param to reply * use one method for making both key and value * use list instead of tuple when creating PrePrepare to have correct equal * more bls_bft tests; improve logging * change arg list of BlsFactoryIndyCrypto in create_bls_bft * fix usage of initLocalKeys gen_steward_key * fix code review findings * refactor hasConsensus * add docs * use bls crypto for checking multisignature * fix signature of getReply * exclude state proof from quorum check * build and install python3-indy-crypto with libindy-crypto dependency (needs to be re-factored) * load bls keys in Client * move here make_proof from indy-node * fix quorum condition * comment out early init of bls_node_public_keys * create special class for multi sig verification * fix json serializer * fix verification of state proof in client * make test node and client add proof for some reqs * add test for state proofs on client * use 'buy' instead of 'hello' for state proof checks * remove unused imports * fix indentation * remove unused method * fcreate base64 serializer * user serializers instead of direct usage of base* * remove unused exit line * check that number of participants in multisig >= f * fix quorumed; check number of participants * create mostCommonElementWithFreq * update logic of take_one_quorumed * merge mostCommonElementWithFreq nad mostCommonElement * update signature of mostCommonElement * fix formatting if objSearchReplace signature * use None instead of set() as default arg val * use bls quorum instead of reply quorum for participants * change log level to warning for replies * use named serializers in make_proof * fix formatting * introduce lazy_field decorator * create bls_key_register_pool_manager_ledger * rake ledger instead of pool_manager in BlsKeyRegisterPoolManagerLedger * rename BlsKeyRegisterPoolmanagerLedger to BlsKeyRegisterPoolLedger * use BlsKeyRegisterPoolLedgerin client * fix proof validation on client * make IndyCryptoMultiSigVerifier get GroupParams instead of Generator * create MultiSignatureVerifier abstract class * support MultiSignatureVerifier in crypto factory * create verifier using factory in client * create utility method for creation of full root hash * use utility method create_full_root_hash * fix active waiting when there is no messages * add check_sufficient_replies_received util method it uses client's hasConsensus * fix logging of request id in client * make client check if multi signature empty * use check_sufficient_replies_received in tests * use check_sufficient_replies_received in waitForSufficientRepliesForRequests * remove fVal param from sendReqsToNodesAndVerifySuffReplies * tmp warkaround: remove state proof from catchup reply * update buy in sendRepliesToClients * remove debug loop * transform generator to list * make take_one_proved return result instead of reply * in client use create_default_bls_crypto_factory * change instId to 0 to fix test * Expand user before directory creation * Copy genesis data to client folder during test network generation * Next version commit 1434b0c Author: Dmitry Surnin <[email protected]> Date: Mon Oct 2 16:04:08 2017 +0300 Next version commit 3a93d39 Author: Dmitry Surnin <[email protected]> Date: Mon Oct 2 14:04:08 2017 +0300 Copy genesis data to client folder during test network generation commit b9afe8c Merge: d50b152 76841bf Author: Dmitry Surnin <[email protected]> Date: Mon Oct 2 08:53:51 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit d50b152 Author: Dmitry Surnin <[email protected]> Date: Mon Oct 2 08:53:14 2017 +0300 Expand user before directory creation commit 98f3f4f Author: keenondrums <[email protected]> Date: Fri Sep 29 11:05:45 2017 +0300 upd commit 4493a52 Merge: cde6d56 cd02d5f Author: Andrei Goncharov <[email protected]> Date: Fri Sep 29 10:58:11 2017 +0300 Merge pull request #401 from dsurnin/file-struct File struct commit cd02d5f Author: Dmitry Surnin <[email protected]> Date: Fri Sep 29 10:55:32 2017 +0300 Fix test network gen script commit a3e5356 Merge: cde6d56 abdb4d7 Author: Dmitry Surnin <[email protected]> Date: Fri Sep 29 09:07:34 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit cde6d56 Author: keenondrums <[email protected]> Date: Thu Sep 28 20:47:11 2017 +0300 Version upd commit b78681d Author: keenondrums <[email protected]> Date: Thu Sep 28 18:49:38 2017 +0300 CLI refactoring commit dc04415 Merge: 9eab129 c41da64 Author: Andrei Goncharov <[email protected]> Date: Thu Sep 28 11:34:26 2017 +0300 Merge pull request #398 from dsurnin/file-struct File struct commit c41da64 Author: Dmitry Surnin <[email protected]> Date: Thu Sep 28 11:28:36 2017 +0300 Next version commit d12a1b3 Merge: 42d3ae6 9eab129 Author: Dmitry Surnin <[email protected]> Date: Thu Sep 28 08:51:54 2017 +0300 Merge remote-tracking branch 'origin/file-struct' into file-struct commit 9eab129 Author: dsurnin <[email protected]> Date: Wed Sep 27 11:29:27 2017 +0300 File struct (#396) * fix serialization in JsonSerializer (#393) * Add base dir to Client constructor in tests * Fix code validation commit 42d3ae6 Author: Dmitry Surnin <[email protected]> Date: Wed Sep 27 08:52:07 2017 +0300 Fix code validation commit 79a2631 Author: Dmitry Surnin <[email protected]> Date: Wed Sep 27 08:42:49 2017 +0300 Add base dir to Client constructor in tests commit 010bcc0 Merge: 54068b2 76b9e79 Author: Dmitry Surnin <[email protected]> Date: Wed Sep 27 08:42:34 2017 +0300 Merge remote-tracking branch 'origin/file-struct' into file-struct commit 76b9e79 Merge: 5995d56 c459a98 Author: Andrei Goncharov <[email protected]> Date: Tue Sep 26 15:15:25 2017 +0300 Merge pull request #395 from dsurnin/file-struct File struct commit 54068b2 Merge: c459a98 134143b Author: Dmitry Surnin <[email protected]> Date: Tue Sep 26 08:02:40 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit c459a98 Author: Dmitry Surnin <[email protected]> Date: Mon Sep 25 16:34:19 2017 +0300 change config.baseDir to self.baseDir commit b13c6a7 Author: Dmitry Surnin <[email protected]> Date: Mon Sep 25 09:55:44 2017 +0300 Add data_dir_path override in testNodeClass init commit a7a9d56 Merge: 6390c16 0b2fd52 Author: Dmitry Surnin <[email protected]> Date: Mon Sep 25 08:50:22 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit 6390c16 Merge: c5e4490 8436910 Author: Dmitry Surnin <[email protected]> Date: Fri Sep 22 14:12:04 2017 +0300 Merge remote-tracking branch 'origin/master' into file-struct commit c5e4490 Merge: c70b5d2 5995d56 Author: Dmitry Surnin <[email protected]> Date: Fri Sep 22 14:08:26 2017 +0300 Merge remote-tracking branch 'origin/file-struct' into file-struct commit c70b5d2 Author: Dmitry Surnin <[email protected]> Date: Fri Sep 22 14:06:37 2017 +0300 Remove system folders reference from python setup; remove exception from config loader; commit 5995d56 Author: dsurnin <[email protected]> Date: Wed Sep 20 18:43:09 2017 +0300 Modify jenkinsfile to support build from branch (#388) commit 08de996 Author: Dmitry Surnin <[email protected]> Date: Wed Sep 20 18:40:08 2017 +0300 Modify jenkinsfile to support build from branch commit ac0aa67 Author: keenondrums <[email protected]> Date: Tue Sep 19 18:26:02 2017 +0300 Start script fix commit b1f6163 Author: keenondrums <[email protected]> Date: Tue Sep 19 18:01:33 2017 +0300 Build scripts commit 176b64e Author: keenondrums <[email protected]> Date: Tue Sep 19 14:31:15 2017 +0300 [WIP] Incubation - File Structure Refactoring Updated config util commit 74895dc Author: keenondrums <[email protected]> Date: Tue Sep 19 14:13:50 2017 +0300 [WIP] Incubation - File Structure Refactoring commit 7bfbdb0 Author: keenondrums <[email protected]> Date: Tue Sep 19 13:09:06 2017 +0300 [WIP] Incubation - File Structure Refactoring commit 1d847db Author: keenondrums <[email protected]> Date: Tue Sep 19 10:39:31 2017 +0300 [WIP] Incubation - File Structure Refactoring commit ab68845 Author: keenondrums <[email protected]> Date: Mon Sep 18 17:24:56 2017 +0300 [WIP] Incubation - File Structure Refactoring Signed-off-by: Dmitry Surnin <[email protected]> * Restore indy-crypto version Signed-off-by: Dmitry Surnin <[email protected]> * Fix paths in initremotekeys Signed-off-by: Dmitry Surnin <[email protected]> * Append keys folder on the lowest level Signed-off-by: Dmitry Surnin <[email protected]> * Do not pass None to expanduser Signed-off-by: Dmitry Surnin <[email protected]> * Fix key generation paths for tests Signed-off-by: Dmitry Surnin <[email protected]> * Remove debug print; move key dir construct to bls key manager level Signed-off-by: Dmitry Surnin <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.