-
Notifications
You must be signed in to change notification settings - Fork 36.5k
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
Hardening #513
Hardening #513
Conversation
+1 |
Can you rebase into one commit? Otherwise, looks good to me (but I'm no expert on obscure gcc compiler flags). |
ACK (if its in one commit). |
ACK (after rebase) |
ACK |
ACK (thanks for the rebase) |
1e6f1f5 Merge bitcoin#529: fix tests.c in the count == 0 case 95e99f1 fix tests.c in the count == 0 case 452d8e4 Merge bitcoin#523: scratch: add stack frame support 6fe5043 scratch: add stack frame support 9bc2e26 Merge bitcoin#522: parameterize ecmult_const over input size 7c1b91b parameterize ecmult_const over input size dbc3ddd Merge bitcoin#513: Increase sparsity of pippenger fixed window naf representation fb9271d Merge bitcoin#510: add a couple missing `const`s to ecmult_pippenger_wnaf cd5f602 Merge bitcoin#515: Fix typo 09146ae Merge bitcoin#512: secp256k1_ec_privkey_negate - fix documentation ec0a7b3 Don't touch leading zeros in wnaf_fixed. 9e36d1b Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar. 96f68a0 Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros. 9b7c47a Fix typo 6dbb007 Increase sparsity of pippenger fixed window naf representation 1646ace secp256k1_ec_privkey_negate - fix documentation 9b3ff03 add a couple missing `const`s to ecmult_pippenger_wnaf cd329db Merge bitcoin#460: [build] Update ax_jni_include_dir.m4 macro 7f9c1a1 Merge bitcoin#498: tests: Avoid calling fclose(...) with an invalid argument f99aa8d Merge bitcoin#499: tests: Make sure we get the requested number of bytes from /dev/urandom b549d3d Merge bitcoin#472: [build] Set --enable-jni to no by default instead of auto. d333521 Merge bitcoin#494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS 2ef8ea5 Merge bitcoin#495: Add bench_ecmult to .gitignore 82a96e4 tests: Make sure we get the requested number of bytes from /dev/urandom 5aae5b5 Avoid calling fclose(...) with an invalid argument cb32940 Add bench_ecmult to .gitignore 31abd3a Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS c95f6f1 Merge bitcoin#487: fix tests typo, s/changed/unchanged fb46c83 Merge bitcoin#463: Reduce usage of hardcoded size constants 02f5001 Merge bitcoin#490: Disambiguate bench functions and types 1f46d60 Disambiguate bench functions and types f54c6c5 Merge bitcoin#480: Enable benchmark building by default c77fc08 Merge bitcoin#486: Add pippenger_wnaf for multi-multiplication d2f9c6b Use more precise pippenger bucket windows 4c950bb Save some additions per window in _pippenger_wnaf a58f543 Add flags for choosing algorithm in ecmult_multi benchmark 36b22c9 Use scratch space dependent batching in ecmult_multi 355a38f Add pippenger_wnaf ecmult_multi bc65aa7 Add bench_ecmult dba5471 Add ecmult_multi tests 8c1c831 Generalize Strauss to support multiple points 548de42 add resizeable scratch space API 0e96cdc fix typo, s/changed/unchanged c7680e5 Reduce usage of hardcoded size constants 6ad5cdb Merge bitcoin#479: Get rid of reserved _t in type names 7a78f60 Print whether we're building benchmarks 4afec9f Build benchmarks by default d1dc9df Get rid of reserved _t in type names 0b70241 Merge bitcoin#474: Fix header guards using reserved identifiers ab1f89f Merge bitcoin#478: Fixed multiple typos 8c7ea22 Fixed multiple typos abe2d3e Fix header guards using reserved identifiers 57752d2 [build] Set --enable-jni to no by default instead of auto. f532bdc Merge bitcoin#459: Add pubkey prefix constants to include/secp256k1.h cac7c55 Merge bitcoin#470: Fix wnaf_const documentation 768514b Fix wnaf_const documentation with respect to return value and number of words set b8c26a3 Merge bitcoin#458: Fix typo in API documentation 817fb20 Merge bitcoin#440: Fix typos 12230f9 Merge bitcoin#468: Remove redundant conditional expression 2e1ccdc Remove redundant conditional expression e7daa9b [build] Tweak JNI macro to warn instead of error for JNI not found. 5b22977 [build] Update ax_jni_include_dir.m4 macro to deal with recent versions of macOS bc61b91 add pubkey prefix constants to include/secp256k1.h b0452e6 Fix typo in API documentation 84973d3 Merge bitcoin#454: Remove residual parts from the schnorr expirement. 5e95bf2 Remove residual parts from the schnorr expirement. cbc20b8 Merge bitcoin#452: Minor optimizations to _scalar_inverse to save 4M 4cc8f52 Merge bitcoin#437: Unroll secp256k1_fe_(get|set)_b32 to make them much faster. 465159c Further shorten the addition chain for scalar inversion. a2b6b19 Fix benchmark print_number infinite loop. 8b7680a Unroll secp256k1_fe_(get|set)_b32 for 10x26. aa84990 Unroll secp256k1_fe_(get|set)_b32 for 5x52. cf12fa1 Minor optimizations to _scalar_inverse to save 4M 1199492 Merge bitcoin#408: Add `secp256k1_ec_pubkey_negate` and `secp256k1_ec_privkey_negate` 6af0871 Merge bitcoin#441: secp256k1_context_randomize: document. ab31a52 Merge bitcoin#444: test: Use checked_alloc eda5c1a Merge bitcoin#449: Remove executable bit from secp256k1.c 51b77ae Remove executable bit from secp256k1.c 5eb030c test: Use checked_alloc 72d952c FIXUP: Missing "is" 70ff29b secp256k1_context_randomize: document. 4c0f32e Fix typo: "Agressive" → "Aggressive" 73aca83 Fix typo: "exectured" → "executed" 8e48aa6 Add `secp256k1_ec_pubkey_negate` and `secp256k1_ec_privkey_negate` git-subtree-dir: src/secp256k1 git-subtree-split: 1e6f1f5
ee99f12 Merge bitcoin#599: Switch x86_64 asm to use "i" instead of "n" for immediate values. d58bc93 Switch x86_64 asm to use "i" instead of "n" for immediate values. 05362ee Merge bitcoin#597: Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build 8348386 Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build aa15154 Merge bitcoin#568: Fix integer overflow in ecmult_multi_var when n is large 2277af5 Fix integer overflow in ecmult_multi_var when n is large 85d0e1b Merge bitcoin#591: Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing. 1419637 Merge bitcoin#580: Add trivial ecmult_multi algorithm which does not require a scratch space a697d82 Add trivial ecmult_multi to the benchmark tool bade617 Add trivial ecmult_multi algorithm. It is selected when no scratch space is given and just multiplies and adds the points. 5545e13 Merge bitcoin#584: configure: Use CFLAGS_FOR_BUILD when checking native compiler 20c5869 Merge bitcoin#516: improvements to random seed in src/tests.c b76e45d Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing. 870a977 Merge bitcoin#562: Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse be40c4d Fixup for C90 mixed declarations. c71dd2c Merge bitcoin#509: Fix algorithm selection in bench_ecmult 6492bf8 Merge bitcoin#518: Summarize build options after running configure 0e9ada1 Merge bitcoin#567: Correct order of libs returned on pkg-config --libs --static libsecp2… e96901a Merge bitcoin#587: Make randomization of a non-signing context a noop 58df8d0 Merge bitcoin#511: Portability fix for the configure scripts generated 2ebdad7 Merge bitcoin#552: Make constants static: 1c131af Merge bitcoin#551: secp256k1_fe_sqrt: Verify that the arguments don't alias. ba698f8 Merge bitcoin#539: Assorted minor corrections 949e85b Merge bitcoin#550: Optimize secp256k1_fe_normalize_weak calls. a34bcaa Actually pass CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD to linker 2d5f4ce configure: Use CFLAGS_FOR_BUILD when checking native compiler b408c6a Merge bitcoin#579: Use __GNUC_PREREQ for detecting __builtin_expect 6198375 Make randomization of a non-signing context a noop c663397 Use __GNUC_PREREQ for detecting __builtin_expect e34ceb3 Merge bitcoin#557: Eliminate scratch memory used when generating contexts b3bf5f9 ecmult_impl: expand comment to explain how effective affine interacts with everything efa783f Store z-ratios in the 'x' coord they'll recover ffd3b34 add `secp256k1_ge_set_all_gej_var` test which deals with many infinite points 84740ac ecmult_impl: save one fe_inv_var 4704527 ecmult_impl: eliminate scratch memory used when generating context 7f7a2ed ecmult_gen_impl: eliminate scratch memory used when generating context 314a61d Merge bitcoin#553: add static context object which has no capabilities 89a20a8 Correct order of libs returned on pkg-config --libs --static libsecp256k1 call. 1086fda Merge bitcoin#354: [ECDH API change] Support custom hash function d3cb1f9 Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse 40fde61 prevent attempts to modify `secp256k1_context_no_precomp` ed7c084 add static context object which has no capabilities 496c5b4 Make constants static: static const secp256k1_ge secp256k1_ge_const_g; static const int CURVE_B; bf8b86c secp256k1_fe_sqrt: Verify that the arguments don't alias. 9bd89c8 Optimize secp256k1_fe_normalize_weak calls. Move secp256k1_fe_normalize_weak calls out of ECMULT_TABLE_GET_GE and ECMULT_TABLE_GET_GE_STORAGE and into secp256k1_ge_globalz_set_table_gej instead. 52ab96f clean dependendies in field_*_impl.h deff5ed Correct math typos in field_*.h 4efb3f8 Add check that restrict pointers don't alias with all parameters. 1e6f1f5 Merge bitcoin#529: fix tests.c in the count == 0 case c8fbc3c [ECDH API change] Allow pass arbitrary data to hash function b00be65 [ECDH API change] Support custom hash function 95e99f1 fix tests.c in the count == 0 case 452d8e4 Merge bitcoin#523: scratch: add stack frame support 6fe5043 scratch: add stack frame support 9bc2e26 Merge bitcoin#522: parameterize ecmult_const over input size 7c1b91b parameterize ecmult_const over input size dbc3ddd Merge bitcoin#513: Increase sparsity of pippenger fixed window naf representation 3965027 Summarize build options in configure script 0f05173 Fix algorithm selection in bench_ecmult fb9271d Merge bitcoin#510: add a couple missing `const`s to ecmult_pippenger_wnaf cd5f602 Merge bitcoin#515: Fix typo 09146ae Merge bitcoin#512: secp256k1_ec_privkey_negate - fix documentation ec0a7b3 Don't touch leading zeros in wnaf_fixed. 9e36d1b Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar. 96f68a0 Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros. 8b3841c fix bug in fread() failure check cddef0c tests: add warning message when /dev/urandom fails 9b7c47a Fix typo 6dbb007 Increase sparsity of pippenger fixed window naf representation 1646ace secp256k1_ec_privkey_negate - fix documentation 270f6c8 Portability fix for the configure scripts generated 9b3ff03 add a couple missing `const`s to ecmult_pippenger_wnaf cd329db Merge bitcoin#460: [build] Update ax_jni_include_dir.m4 macro 7f9c1a1 Merge bitcoin#498: tests: Avoid calling fclose(...) with an invalid argument f99aa8d Merge bitcoin#499: tests: Make sure we get the requested number of bytes from /dev/urandom b549d3d Merge bitcoin#472: [build] Set --enable-jni to no by default instead of auto. d333521 Merge bitcoin#494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS 2ef8ea5 Merge bitcoin#495: Add bench_ecmult to .gitignore 82a96e4 tests: Make sure we get the requested number of bytes from /dev/urandom 5aae5b5 Avoid calling fclose(...) with an invalid argument cb32940 Add bench_ecmult to .gitignore 31abd3a Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS c95f6f1 Merge bitcoin#487: fix tests typo, s/changed/unchanged fb46c83 Merge bitcoin#463: Reduce usage of hardcoded size constants 02f5001 Merge bitcoin#490: Disambiguate bench functions and types 1f46d60 Disambiguate bench functions and types f54c6c5 Merge bitcoin#480: Enable benchmark building by default c77fc08 Merge bitcoin#486: Add pippenger_wnaf for multi-multiplication d2f9c6b Use more precise pippenger bucket windows 4c950bb Save some additions per window in _pippenger_wnaf a58f543 Add flags for choosing algorithm in ecmult_multi benchmark 36b22c9 Use scratch space dependent batching in ecmult_multi 355a38f Add pippenger_wnaf ecmult_multi bc65aa7 Add bench_ecmult dba5471 Add ecmult_multi tests 8c1c831 Generalize Strauss to support multiple points 548de42 add resizeable scratch space API 0e96cdc fix typo, s/changed/unchanged c7680e5 Reduce usage of hardcoded size constants 6ad5cdb Merge bitcoin#479: Get rid of reserved _t in type names 7a78f60 Print whether we're building benchmarks 4afec9f Build benchmarks by default d1dc9df Get rid of reserved _t in type names 57752d2 [build] Set --enable-jni to no by default instead of auto. e7daa9b [build] Tweak JNI macro to warn instead of error for JNI not found. 5b22977 [build] Update ax_jni_include_dir.m4 macro to deal with recent versions of macOS git-subtree-dir: src/secp256k1 git-subtree-split: ee99f12
b19c000 Merge bitcoin#607: Use size_t shifts when computing a size_t 4d01bc2 Merge bitcoin#606: travis: Remove unused sudo:false e6d01e9 Use size_t shifts when computing a size_t 7667532 travis: Remove unused sudo:false ee99f12 Merge bitcoin#599: Switch x86_64 asm to use "i" instead of "n" for immediate values. d58bc93 Switch x86_64 asm to use "i" instead of "n" for immediate values. 05362ee Merge bitcoin#597: Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build 8348386 Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build aa15154 Merge bitcoin#568: Fix integer overflow in ecmult_multi_var when n is large 2277af5 Fix integer overflow in ecmult_multi_var when n is large 85d0e1b Merge bitcoin#591: Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing. 1419637 Merge bitcoin#580: Add trivial ecmult_multi algorithm which does not require a scratch space a697d82 Add trivial ecmult_multi to the benchmark tool bade617 Add trivial ecmult_multi algorithm. It is selected when no scratch space is given and just multiplies and adds the points. 5545e13 Merge bitcoin#584: configure: Use CFLAGS_FOR_BUILD when checking native compiler 20c5869 Merge bitcoin#516: improvements to random seed in src/tests.c b76e45d Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing. 870a977 Merge bitcoin#562: Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse be40c4d Fixup for C90 mixed declarations. c71dd2c Merge bitcoin#509: Fix algorithm selection in bench_ecmult 6492bf8 Merge bitcoin#518: Summarize build options after running configure 0e9ada1 Merge bitcoin#567: Correct order of libs returned on pkg-config --libs --static libsecp2… e96901a Merge bitcoin#587: Make randomization of a non-signing context a noop 58df8d0 Merge bitcoin#511: Portability fix for the configure scripts generated 2ebdad7 Merge bitcoin#552: Make constants static: 1c131af Merge bitcoin#551: secp256k1_fe_sqrt: Verify that the arguments don't alias. ba698f8 Merge bitcoin#539: Assorted minor corrections 949e85b Merge bitcoin#550: Optimize secp256k1_fe_normalize_weak calls. a34bcaa Actually pass CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD to linker 2d5f4ce configure: Use CFLAGS_FOR_BUILD when checking native compiler b408c6a Merge bitcoin#579: Use __GNUC_PREREQ for detecting __builtin_expect 6198375 Make randomization of a non-signing context a noop c663397 Use __GNUC_PREREQ for detecting __builtin_expect e34ceb3 Merge bitcoin#557: Eliminate scratch memory used when generating contexts b3bf5f9 ecmult_impl: expand comment to explain how effective affine interacts with everything efa783f Store z-ratios in the 'x' coord they'll recover ffd3b34 add `secp256k1_ge_set_all_gej_var` test which deals with many infinite points 84740ac ecmult_impl: save one fe_inv_var 4704527 ecmult_impl: eliminate scratch memory used when generating context 7f7a2ed ecmult_gen_impl: eliminate scratch memory used when generating context 314a61d Merge bitcoin#553: add static context object which has no capabilities 89a20a8 Correct order of libs returned on pkg-config --libs --static libsecp256k1 call. 1086fda Merge bitcoin#354: [ECDH API change] Support custom hash function d3cb1f9 Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse 40fde61 prevent attempts to modify `secp256k1_context_no_precomp` ed7c084 add static context object which has no capabilities 496c5b4 Make constants static: static const secp256k1_ge secp256k1_ge_const_g; static const int CURVE_B; bf8b86c secp256k1_fe_sqrt: Verify that the arguments don't alias. 9bd89c8 Optimize secp256k1_fe_normalize_weak calls. Move secp256k1_fe_normalize_weak calls out of ECMULT_TABLE_GET_GE and ECMULT_TABLE_GET_GE_STORAGE and into secp256k1_ge_globalz_set_table_gej instead. 52ab96f clean dependendies in field_*_impl.h deff5ed Correct math typos in field_*.h 4efb3f8 Add check that restrict pointers don't alias with all parameters. 1e6f1f5 Merge bitcoin#529: fix tests.c in the count == 0 case c8fbc3c [ECDH API change] Allow pass arbitrary data to hash function b00be65 [ECDH API change] Support custom hash function 95e99f1 fix tests.c in the count == 0 case 452d8e4 Merge bitcoin#523: scratch: add stack frame support 6fe5043 scratch: add stack frame support 9bc2e26 Merge bitcoin#522: parameterize ecmult_const over input size 7c1b91b parameterize ecmult_const over input size dbc3ddd Merge bitcoin#513: Increase sparsity of pippenger fixed window naf representation 3965027 Summarize build options in configure script 0f05173 Fix algorithm selection in bench_ecmult fb9271d Merge bitcoin#510: add a couple missing `const`s to ecmult_pippenger_wnaf cd5f602 Merge bitcoin#515: Fix typo 09146ae Merge bitcoin#512: secp256k1_ec_privkey_negate - fix documentation ec0a7b3 Don't touch leading zeros in wnaf_fixed. 9e36d1b Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar. 96f68a0 Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros. 8b3841c fix bug in fread() failure check cddef0c tests: add warning message when /dev/urandom fails 9b7c47a Fix typo 6dbb007 Increase sparsity of pippenger fixed window naf representation 1646ace secp256k1_ec_privkey_negate - fix documentation 270f6c8 Portability fix for the configure scripts generated 9b3ff03 add a couple missing `const`s to ecmult_pippenger_wnaf cd329db Merge bitcoin#460: [build] Update ax_jni_include_dir.m4 macro 7f9c1a1 Merge bitcoin#498: tests: Avoid calling fclose(...) with an invalid argument f99aa8d Merge bitcoin#499: tests: Make sure we get the requested number of bytes from /dev/urandom b549d3d Merge bitcoin#472: [build] Set --enable-jni to no by default instead of auto. d333521 Merge bitcoin#494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS 2ef8ea5 Merge bitcoin#495: Add bench_ecmult to .gitignore 82a96e4 tests: Make sure we get the requested number of bytes from /dev/urandom 5aae5b5 Avoid calling fclose(...) with an invalid argument cb32940 Add bench_ecmult to .gitignore 31abd3a Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS c95f6f1 Merge bitcoin#487: fix tests typo, s/changed/unchanged fb46c83 Merge bitcoin#463: Reduce usage of hardcoded size constants 02f5001 Merge bitcoin#490: Disambiguate bench functions and types 1f46d60 Disambiguate bench functions and types f54c6c5 Merge bitcoin#480: Enable benchmark building by default c77fc08 Merge bitcoin#486: Add pippenger_wnaf for multi-multiplication d2f9c6b Use more precise pippenger bucket windows 4c950bb Save some additions per window in _pippenger_wnaf a58f543 Add flags for choosing algorithm in ecmult_multi benchmark 36b22c9 Use scratch space dependent batching in ecmult_multi 355a38f Add pippenger_wnaf ecmult_multi bc65aa7 Add bench_ecmult dba5471 Add ecmult_multi tests 8c1c831 Generalize Strauss to support multiple points 548de42 add resizeable scratch space API 0e96cdc fix typo, s/changed/unchanged c7680e5 Reduce usage of hardcoded size constants 6ad5cdb Merge bitcoin#479: Get rid of reserved _t in type names 7a78f60 Print whether we're building benchmarks 4afec9f Build benchmarks by default d1dc9df Get rid of reserved _t in type names 57752d2 [build] Set --enable-jni to no by default instead of auto. e7daa9b [build] Tweak JNI macro to warn instead of error for JNI not found. 5b22977 [build] Update ax_jni_include_dir.m4 macro to deal with recent versions of macOS git-subtree-dir: src/secp256k1 git-subtree-split: b19c000
b19c000 Merge bitcoin#607: Use size_t shifts when computing a size_t 4d01bc2 Merge bitcoin#606: travis: Remove unused sudo:false e6d01e9 Use size_t shifts when computing a size_t 7667532 travis: Remove unused sudo:false ee99f12 Merge bitcoin#599: Switch x86_64 asm to use "i" instead of "n" for immediate values. d58bc93 Switch x86_64 asm to use "i" instead of "n" for immediate values. 05362ee Merge bitcoin#597: Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build 8348386 Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build aa15154 Merge bitcoin#568: Fix integer overflow in ecmult_multi_var when n is large 2277af5 Fix integer overflow in ecmult_multi_var when n is large 85d0e1b Merge bitcoin#591: Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing. 1419637 Merge bitcoin#580: Add trivial ecmult_multi algorithm which does not require a scratch space a697d82 Add trivial ecmult_multi to the benchmark tool bade617 Add trivial ecmult_multi algorithm. It is selected when no scratch space is given and just multiplies and adds the points. 5545e13 Merge bitcoin#584: configure: Use CFLAGS_FOR_BUILD when checking native compiler 20c5869 Merge bitcoin#516: improvements to random seed in src/tests.c b76e45d Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing. 870a977 Merge bitcoin#562: Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse be40c4d Fixup for C90 mixed declarations. c71dd2c Merge bitcoin#509: Fix algorithm selection in bench_ecmult 6492bf8 Merge bitcoin#518: Summarize build options after running configure 0e9ada1 Merge bitcoin#567: Correct order of libs returned on pkg-config --libs --static libsecp2… e96901a Merge bitcoin#587: Make randomization of a non-signing context a noop 58df8d0 Merge bitcoin#511: Portability fix for the configure scripts generated 2ebdad7 Merge bitcoin#552: Make constants static: 1c131af Merge bitcoin#551: secp256k1_fe_sqrt: Verify that the arguments don't alias. ba698f8 Merge bitcoin#539: Assorted minor corrections 949e85b Merge bitcoin#550: Optimize secp256k1_fe_normalize_weak calls. a34bcaa Actually pass CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD to linker 2d5f4ce configure: Use CFLAGS_FOR_BUILD when checking native compiler b408c6a Merge bitcoin#579: Use __GNUC_PREREQ for detecting __builtin_expect 6198375 Make randomization of a non-signing context a noop c663397 Use __GNUC_PREREQ for detecting __builtin_expect e34ceb3 Merge bitcoin#557: Eliminate scratch memory used when generating contexts b3bf5f9 ecmult_impl: expand comment to explain how effective affine interacts with everything efa783f Store z-ratios in the 'x' coord they'll recover ffd3b34 add `secp256k1_ge_set_all_gej_var` test which deals with many infinite points 84740ac ecmult_impl: save one fe_inv_var 4704527 ecmult_impl: eliminate scratch memory used when generating context 7f7a2ed ecmult_gen_impl: eliminate scratch memory used when generating context 314a61d Merge bitcoin#553: add static context object which has no capabilities 89a20a8 Correct order of libs returned on pkg-config --libs --static libsecp256k1 call. 1086fda Merge bitcoin#354: [ECDH API change] Support custom hash function d3cb1f9 Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse 40fde61 prevent attempts to modify `secp256k1_context_no_precomp` ed7c084 add static context object which has no capabilities 496c5b4 Make constants static: static const secp256k1_ge secp256k1_ge_const_g; static const int CURVE_B; bf8b86c secp256k1_fe_sqrt: Verify that the arguments don't alias. 9bd89c8 Optimize secp256k1_fe_normalize_weak calls. Move secp256k1_fe_normalize_weak calls out of ECMULT_TABLE_GET_GE and ECMULT_TABLE_GET_GE_STORAGE and into secp256k1_ge_globalz_set_table_gej instead. 52ab96f clean dependendies in field_*_impl.h deff5ed Correct math typos in field_*.h 4efb3f8 Add check that restrict pointers don't alias with all parameters. 1e6f1f5 Merge bitcoin#529: fix tests.c in the count == 0 case c8fbc3c [ECDH API change] Allow pass arbitrary data to hash function b00be65 [ECDH API change] Support custom hash function 95e99f1 fix tests.c in the count == 0 case 452d8e4 Merge bitcoin#523: scratch: add stack frame support 6fe5043 scratch: add stack frame support 9bc2e26 Merge bitcoin#522: parameterize ecmult_const over input size 7c1b91b parameterize ecmult_const over input size dbc3ddd Merge bitcoin#513: Increase sparsity of pippenger fixed window naf representation 3965027 Summarize build options in configure script 0f05173 Fix algorithm selection in bench_ecmult fb9271d Merge bitcoin#510: add a couple missing `const`s to ecmult_pippenger_wnaf cd5f602 Merge bitcoin#515: Fix typo 09146ae Merge bitcoin#512: secp256k1_ec_privkey_negate - fix documentation ec0a7b3 Don't touch leading zeros in wnaf_fixed. 9e36d1b Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar. 96f68a0 Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros. 8b3841c fix bug in fread() failure check cddef0c tests: add warning message when /dev/urandom fails 9b7c47a Fix typo 6dbb007 Increase sparsity of pippenger fixed window naf representation 1646ace secp256k1_ec_privkey_negate - fix documentation 270f6c8 Portability fix for the configure scripts generated 9b3ff03 add a couple missing `const`s to ecmult_pippenger_wnaf cd329db Merge bitcoin#460: [build] Update ax_jni_include_dir.m4 macro 7f9c1a1 Merge bitcoin#498: tests: Avoid calling fclose(...) with an invalid argument f99aa8d Merge bitcoin#499: tests: Make sure we get the requested number of bytes from /dev/urandom b549d3d Merge bitcoin#472: [build] Set --enable-jni to no by default instead of auto. d333521 Merge bitcoin#494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS 2ef8ea5 Merge bitcoin#495: Add bench_ecmult to .gitignore 82a96e4 tests: Make sure we get the requested number of bytes from /dev/urandom 5aae5b5 Avoid calling fclose(...) with an invalid argument cb32940 Add bench_ecmult to .gitignore 31abd3a Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS c95f6f1 Merge bitcoin#487: fix tests typo, s/changed/unchanged fb46c83 Merge bitcoin#463: Reduce usage of hardcoded size constants 02f5001 Merge bitcoin#490: Disambiguate bench functions and types 1f46d60 Disambiguate bench functions and types f54c6c5 Merge bitcoin#480: Enable benchmark building by default c77fc08 Merge bitcoin#486: Add pippenger_wnaf for multi-multiplication d2f9c6b Use more precise pippenger bucket windows 4c950bb Save some additions per window in _pippenger_wnaf a58f543 Add flags for choosing algorithm in ecmult_multi benchmark 36b22c9 Use scratch space dependent batching in ecmult_multi 355a38f Add pippenger_wnaf ecmult_multi bc65aa7 Add bench_ecmult dba5471 Add ecmult_multi tests 8c1c831 Generalize Strauss to support multiple points 548de42 add resizeable scratch space API 0e96cdc fix typo, s/changed/unchanged c7680e5 Reduce usage of hardcoded size constants 6ad5cdb Merge bitcoin#479: Get rid of reserved _t in type names 7a78f60 Print whether we're building benchmarks 4afec9f Build benchmarks by default d1dc9df Get rid of reserved _t in type names 57752d2 [build] Set --enable-jni to no by default instead of auto. e7daa9b [build] Tweak JNI macro to warn instead of error for JNI not found. 5b22977 [build] Update ax_jni_include_dir.m4 macro to deal with recent versions of macOS git-subtree-dir: src/secp256k1 git-subtree-split: b19c000
…presentation ec0a7b3 Don't touch leading zeros in wnaf_fixed. (Jonas Nick) 9e36d1b Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar. (Jonas Nick) 96f68a0 Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros. (Jonas Nick) 6dbb007 Increase sparsity of pippenger fixed window naf representation (Jonas Nick) Pull request description: Fixes bitcoin#506 Tree-SHA512: 49a237a7d09c0c376ba4e6b1f522b9aff2517e420dfef9df810fd5ba920e0b98be8fe3f730b32e41b4aef475bc4cf3b13220024bd8d6f40c2744e6f392ff97a8
53ad841 Add explanation about how BIP32 unhardened derivation can be used to simplify whitelisting 71c5fe0 Add comment to explain effect of max_n_iterations in surjectionproof_init 85fd42f add unit test for generator and pedersen commitment roundtripping 2ccf885 rangeproof: fix serialization of pedersen commintments 60c173b rangeproof: verify correctness of pedersen commitments when parsing 32d7526 generator: verify correctness of point when parsing ae14e8a rangeproof: check that points deserialize correctly when verifying rangeproof 44fe43d rangeproof: add fixed vector test case e065d7d Expose generator in shared library fb1ba32 fix spelling in documentation fb75faa Test for rejection of trailing bytes in range proofs 9b2cf17 Test for rejection of trailing bytes in surjection proofs a3a1800 Reject surjection proofs with trailing garbage 0c77ae9 Minor bugfix. Wrong length due to NUL character. b1f31bc Add whitelisting benchmark 52a9f8f add whitelist_impl.h to include for dist a707865 generator: add API tests ec1ef04 generator: remove unnecessary ARG_CHECK from generate() b0e9aa8 Fix generator makefile 526c654 Fix pedersen_blind_generator_blind_sum return value documentation b51886e Add n_keys argument to whitelist_verify 37c57de Fix checks of whitelist serialize/parse arguments 9b8a9d9 whitelist: fix serialize/parse API to take serialized length 7f17515 Fix include/secp256k1_rangeproof.h function argument documentation. 0d81702 rangeproof: add API tests 417bb06 surjectionproof: rename unit test functions to be more consistent with other modules 1e2d5c1 surjectionproof: add API unit tests 7878a29 surjectionproof: tests_impl.h s/assert/CHECK/g e609591 rangeproof: fix memory leak in unit tests 0c17f79 add surjection proof module c174f0c Implement ring-signature based whitelist delegation scheme a2bc660 rangeproof: several API changes 21bfb3c Expose generator in pedersen/rangeproof API f4620de Constant-time generator module d46fc3c rangeproof: expose sidechannel message field in the signing API cf40b1b [RANGEPROOF BREAK] Use quadratic residue for tie break and modularity cleanup 6d28767 Get rid of precomputed H tables (Pieter Wuille) ae1e576 Pedersen commitments, borromean ring signatures, and ZK range proofs. efc61dc Add 64-bit integer utilities e34ceb3 Merge bitcoin#557: Eliminate scratch memory used when generating contexts b3bf5f9 ecmult_impl: expand comment to explain how effective affine interacts with everything efa783f Store z-ratios in the 'x' coord they'll recover ffd3b34 add `secp256k1_ge_set_all_gej_var` test which deals with many infinite points 84740ac ecmult_impl: save one fe_inv_var 4704527 ecmult_impl: eliminate scratch memory used when generating context 7f7a2ed ecmult_gen_impl: eliminate scratch memory used when generating context 314a61d Merge bitcoin#553: add static context object which has no capabilities 1086fda Merge bitcoin#354: [ECDH API change] Support custom hash function 40fde61 prevent attempts to modify `secp256k1_context_no_precomp` ed7c084 add static context object which has no capabilities 1e6f1f5 Merge bitcoin#529: fix tests.c in the count == 0 case c8fbc3c [ECDH API change] Allow pass arbitrary data to hash function b00be65 [ECDH API change] Support custom hash function 95e99f1 fix tests.c in the count == 0 case 452d8e4 Merge bitcoin#523: scratch: add stack frame support 6fe5043 scratch: add stack frame support 9bc2e26 Merge bitcoin#522: parameterize ecmult_const over input size 7c1b91b parameterize ecmult_const over input size dbc3ddd Merge bitcoin#513: Increase sparsity of pippenger fixed window naf representation fb9271d Merge bitcoin#510: add a couple missing `const`s to ecmult_pippenger_wnaf cd5f602 Merge bitcoin#515: Fix typo 09146ae Merge bitcoin#512: secp256k1_ec_privkey_negate - fix documentation ec0a7b3 Don't touch leading zeros in wnaf_fixed. 9e36d1b Fix bug in wnaf_fixed where the wnaf array is not completely zeroed when given a 0 scalar. 96f68a0 Don't invert scalar in wnaf_fixed when it is even because a caller might intentionally give a scalar with many leading zeros. 9b7c47a Fix typo 6dbb007 Increase sparsity of pippenger fixed window naf representation 1646ace secp256k1_ec_privkey_negate - fix documentation 9b3ff03 add a couple missing `const`s to ecmult_pippenger_wnaf cd329db Merge bitcoin#460: [build] Update ax_jni_include_dir.m4 macro 7f9c1a1 Merge bitcoin#498: tests: Avoid calling fclose(...) with an invalid argument f99aa8d Merge bitcoin#499: tests: Make sure we get the requested number of bytes from /dev/urandom b549d3d Merge bitcoin#472: [build] Set --enable-jni to no by default instead of auto. d333521 Merge bitcoin#494: Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS 2ef8ea5 Merge bitcoin#495: Add bench_ecmult to .gitignore 82a96e4 tests: Make sure we get the requested number of bytes from /dev/urandom 5aae5b5 Avoid calling fclose(...) with an invalid argument cb32940 Add bench_ecmult to .gitignore 31abd3a Support OpenSSL versions >= 1.1 for ENABLE_OPENSSL_TESTS c95f6f1 Merge bitcoin#487: fix tests typo, s/changed/unchanged fb46c83 Merge bitcoin#463: Reduce usage of hardcoded size constants 02f5001 Merge bitcoin#490: Disambiguate bench functions and types 1f46d60 Disambiguate bench functions and types f54c6c5 Merge bitcoin#480: Enable benchmark building by default c77fc08 Merge bitcoin#486: Add pippenger_wnaf for multi-multiplication d2f9c6b Use more precise pippenger bucket windows 4c950bb Save some additions per window in _pippenger_wnaf a58f543 Add flags for choosing algorithm in ecmult_multi benchmark 36b22c9 Use scratch space dependent batching in ecmult_multi 355a38f Add pippenger_wnaf ecmult_multi bc65aa7 Add bench_ecmult dba5471 Add ecmult_multi tests 8c1c831 Generalize Strauss to support multiple points 548de42 add resizeable scratch space API 0e96cdc fix typo, s/changed/unchanged c7680e5 Reduce usage of hardcoded size constants 6ad5cdb Merge bitcoin#479: Get rid of reserved _t in type names 7a78f60 Print whether we're building benchmarks 4afec9f Build benchmarks by default d1dc9df Get rid of reserved _t in type names 57752d2 [build] Set --enable-jni to no by default instead of auto. e7daa9b [build] Tweak JNI macro to warn instead of error for JNI not found. 5b22977 [build] Update ax_jni_include_dir.m4 macro to deal with recent versions of macOS git-subtree-dir: src/secp256k1 git-subtree-split: 53ad841cafa3bcb94b65409aec91fd7043533cf7
reject broken transactions
* Updated from PIVX v3.1.1 (bitcoin#49) * Merge bitcoin#524: Add blocksizenotify command 44e4d2e Add blocksizenotify command (Jeremy) Tree-SHA512: 0deb5a883c5d52d0b4e4681fd5ea6c845363ede4299bb59f10a22b23f00aff4e5bb62a7954b752d7d33db5a422ec169f60360868296aa833849cc3e35145250b * Merge bitcoin#528: Readme changes 42fa274 Readme changes (Sieres) Tree-SHA512: d5112531283a9554fd6c01ba75bda532cf8cebffc98ea16e7432663f88a9fe1378ba40eb242e6daf8b1666ba1f276f885bdd7a4a8c3300a04cf855d2150749ec # Conflicts: # README.md * Merge bitcoin#518: [Wallet] Combine fees when possible and fix autocombine insufficient funds eb603b4 [Wallet] Fix autocombine (warrows) 3f9e746 [Wallet] Combine change to output when possible & provide it in autocombine (warrows) 10426c7 [Wallet] Increase fee margin to up to 10% of autocombine send (warrows) Tree-SHA512: e3452b0862b30c5c7f21697d12485e7b009dda3b4225e9685209425cb4a16baf35dd9d591b39ece077c3314f7c344f23b3810e5d0d840a8003c7d7d09f5c7ae4 # Conflicts: # src/wallet.cpp * Merge bitcoin#523: Give high priority to zerocoinspends to make it into the next block. 84a4f91 Give high priority to zerocoinspends to make it into the next block. (presstab) Tree-SHA512: d7bf91433a2059d8acc4b322dc21b98ca97af7e03d47a7225a8fe0ccb1265c625aaab758071d2b950b07b4d11814e1baca384c213c49215d976d7d9f323e3660 * Merge bitcoin#533: [Doc] Update OSX build notes: zmq, libevent, and notes to handle possible glibtoolize error fde9f94 osx build notes: libzmq -> zmq in brew install, add libevent (Tim Uy) Tree-SHA512: eb44a499c3f42da2a296161bc01be49cd63fbd928c513018010a564cd1192e1000beb1987d536f4ab93782cd2930527552108418e973448c80e6c5a59c2a78ef # Conflicts: # doc/build-osx.md * Merge bitcoin#532: [Depends] Update depends package versions. bc4ffd5 [Depends] Update depends package versions. (Fuzzbawls) Tree-SHA512: 814f769d65657e1bd02daca583dd5b63fc3ee9af53afcabeaafa661fe9e584c484ebfef7763a59d41ac81b4ade03a9d85d40b86b25ab873bf578cfe8063acdd6 # Conflicts: # depends/patches/zeromq/0001-fix-build-with-older-mingw64.patch * Merge bitcoin#538: [Qt] Fix warning dialog popup for the Blockchain Explorer 50088b8 [Qt] Fix warning dialog popup for the Blockchain Explorer (Fuzzbawls) Tree-SHA512: 5bef022ea6ebbe36dfd58ccc6e0c0b48a2f1268934f4fb0ec34100e05be38b325d0a832e650104b2e1e2741c9d118e7d9894e99dafeb2bf7b5a43f180e597fff # Conflicts: # src/qt/blockexplorer.cpp * Merge bitcoin#542: [Network] Remove vfReachable and modify IsReachable to only use vfLimited. 38ed737 Remove vfReachable and modify IsReachable to only use vfLimited. (Patrick Strateman) Tree-SHA512: 8aa61f9abd8356522f3ba71b35497aac07e10333a39ff4b98bb635d1246e6b1be6b0ee0b236944fbfaa558af0e6c0cc219e540eacb2232bc05db393e4a72b088 * Merge bitcoin#526: Refactor ConnectBlock() to segregate state tracking items 00cd668 Refactor ConnectBlock() to segregate state tracking items from the 'Just Check' section. (presstab) Tree-SHA512: 457019024cd8e786810611efb776dc16e12ed7cb71c9df79bc52d5cab9fe32d55cefaf1653d11e3d348b8008456c613c1fc5f17f53520de5c157a6cc861e8379 # Conflicts: # src/main.cpp * Rename coin name * Fixed compiling error * Merge bitcoin#535: [core] Minor refacturing + unused variable removed 7633516 [core] Minor refacturing + unused variable removed (Mrs-X) Tree-SHA512: aa43dec1f95b56bfd8ae51ec3ea8e1a23e6011262b39a2492b006802a9da7f52aec99afd3d4e4259067911557a986ba52e18838feb4c7b117345610c3234a16a * Merge bitcoin#543: [RPC] Segfault pivx-cli getinfo while loading block index 336e3d8 [RPC] Segfault pivx-cli getinfo while loading block index (Mrs-X) Tree-SHA512: 30bf65f7f527ba78bdcd0e2fef4da77f15a049f605a0cb3000b565c0e19e8dd274a137d1371435c0793617004591757b6b5e31029ed7a247d46bb6368cfec88b * Merge bitcoin#539: [RPC] Allow watchonly coins to be shown for listunspent c3671b5 Allow rpc listunspent to have options for watchonly transactions (blondfrogs) Tree-SHA512: 5c998c1c5d0da8c4245662e528cbee5f70855fb941baa82524610d6f52810df0a70b6c29677f3f666e33995bf823778a58b2cb3e7b4182a2c644f1b383ba8506 * Merge bitcoin#544: [Trivial] Add debug info for CWallet::ReconsiderZerocoins(). 993fcee Add debug info for CWallet::ReconsiderZerocoins(). (presstab) Tree-SHA512: 494803e04778eec487ae35e12efd2cf3b5acdc094c98913998563d8386d98142b7525d6703a41dabba10e5126041d56c6ddd61e2130ae6f439d23439b7c6ee2c * Merge bitcoin#552: [Trivial] Fix errant LogPrint in UpdateZPIVSupply 2d5aa5b [Trivial] Fix errant LogPrint in UpdateZPIVSupply (Fuzzbawls) Tree-SHA512: b514a5aaa04b573af991c2eec518db0593dedd26e917f6275d308719b83059728d51fb9f50b721011393f4a73412998f88315d0587008a1f0cb940a272df6ceb * Merge bitcoin#551: [Consensus] Require standard transactions for testnet d3c60aa [Consensus] Require standard transactions for testnet (Fuzzbawls) Tree-SHA512: ef0d1ed46623ce15d59f63f0c857fbdda7d9cf52825957f631548908cfe03d79f18b9fc5c7cfb01ff14e90b1a6e2f41e190bc64d7f4561a83b5ab2e287ef75a9 * Merge bitcoin#554: [Docs] Added release notes for autocombine and proxy GUI. 68e1a20 [Docs] Added release notes for autocombine and proxy GUI. (warrows) Tree-SHA512: 59baa3bfe46489c288cc06d4dc9d3fc5486c9d2de5e41574333f1ada5438a9087f754a0c33eabf6bfb92b91ec71ae60464db48b7bed27c00cf7fb683e6e86904 * Merge bitcoin#558: [Core] Remove Gitan-OSX warning for High Sierra builds 390e49b [Core] Remove Gitan-OSX warning for High Sierra builds (Mrs-X) Tree-SHA512: d914f13ff8f8b4d15334ba4aaea21fa43035489bb2c5932c168a6299095b4e85a9f1bd54cc85a287251956a24bfa384b1998ca051ebc4a75510e4568b891c3d8 * Merge bitcoin#447: [Consensus] Fix compilation with OpenSSL 1.1 094fa11 [Compilation] Add additional information to compile with unsupported SSL (warrows) 903c4f1 [Consensus] Allow for compilation with OpenSSL 1.1 (warrows) Tree-SHA512: 9c843279cb889e72bb44b019a7859510f4fe39f3a358f18c4d09a35a9bede1d940a07c2c3781f388fdab42bd0e5acd51160e5e0b07a33050e293214b3e4db0a4 * Merge bitcoin#559: [Bug] Segfault with -enableswifttx=0 / -enableswifttx=false 0bc66f3 [Bug] Segfault with -enableswifttx=0 / -enableswifttx=false (Mrs-X) Tree-SHA512: e71de283ae5708bc7f844ebc7d5cf2a62a2c3928d5164661d66ed0b770eccfa9f84cf69de3d7bdd1dee6160439d916563045dc7d5173e0d70e6c7ec51ac1cbb7 * Merge bitcoin#562: [Wallet/RPC] Add argument to mint zerocoin from specific UTXO a5123c2 [Documentation] Improve help for mintzerocoin rpc command (warrows) 9a0b734 [Wallet/RPC] Add argument to mint zerocoin from specific UTXO (warrows) Tree-SHA512: fb5056eb7d81e06b66ced7ea8e92f053a04c0ad71df0eb84a08180ced2edd4313c5fa15fde7345dd1d8f65b1c93480e141049a570abec9dd7c14ecb6f8cde0e3 # Conflicts: # src/rpcwallet.cpp * Merge bitcoin#568: [Qt] Connect automint icon to the UI automint setting change 28466e2 [Qt] connect automint icon to the UI automint setting change (warrows) Tree-SHA512: 1107b842a0d0a9a7044922a6c997b05fb030dc5e6014217f09e6b769ad685bd5b7bdc32699eb2b6514259d719bdef8bc89b2fe1dd5b59beb0c64185a00783501 * Merge bitcoin#571: [Qt] Update privacy tab info about zeromint on config change c0ffe24 [Qt] Update privacy tab info about zeromint on config change (warrows) Tree-SHA512: 54016bef392a010541d1ab3373a0144100dc0b99f3cfed804b395dc0ab08f60bb93c22b52decdfbbabd6e5e39ffcba1d80bd23a92fb9986c722062de1f47ddd7 * Merge bitcoin#570: [Wallet] Add a check on zPIV spend to avoid a segfault b8185ae [Wallet] Add a check on zPIV spend to avoid a segfault (warrows) Tree-SHA512: 960c0d06a5fc040e290be334224fd224cf78f698cc99e4db7b618f25085091e19b2e02d906114008bb2e6315d343a46960b5f1f817c5975ac46d62fe498a8843 * Merge bitcoin#572: [Qt] Refresh zPIV balance after resetting mints or spends 992763b [Qt] Refresh zPIV balance after resetting mints or spends (warrows) Tree-SHA512: bea53d1632e6410144613f4a83de3ed232dc21c05b5eb091b5f6dcde55f67057190708d3493b54a7b243a60c6701054bdc85239625c41d3d5a32c630192b4b54 * Staking zPiv. # Conflicts: # src/chainparams.cpp # src/kernel.cpp # src/main.cpp # src/main.h # src/miner.cpp # src/qt/forms/zpivcontroldialog.ui # src/qt/transactionrecord.cpp # src/qt/transactiontablemodel.cpp # src/wallet.cpp # src/wallet.h # src/walletdb.cpp * Fixed compiling error * Add libzerocoin::SpendType enum. This allows for more transaction types using zPIV, including using zPIV without actually spending it (for example if needing to show proof of zPIV for voting or for masternode collateral). * Validate that the correct spend type is used for zPIV spend and zPIV stake. * V2 zPIV must have serials that have the 1st byte as 00. Requiring that v2 zPIV use serials that have the first byte as 00 will make zPIV v2 serials unique from v1 serials. This prevents a 'serial troller' from reminting with someone elses v2 serial and simply changing the version flag to v1 when they spend the zerocoin, which would negate any of the additional v2 requirements. It is unlikely that many (if any) serials were minted with the first byte as 00. Note that if there are existing v1 zPIV with 00 prefixed serials, it would make them unspendable since the owner would not have an associated private key. * change to using first nibble as 0xF for v2 serial mark. * Switch to a new accumulator with the correct modulus. # Conflicts: # src/libzerocoin/Commitment.cpp # src/miner.cpp # src/wallet.cpp * Fixed compiling error * Change zpiv stake to use serial hash. # Conflicts: # src/init.cpp # src/qt/transactiontablemodel.cpp # src/wallet.cpp * Fixed compiling error * Add description for -pivstake= and -zpivstake=. * Make RPC export/import zerocoins compatible with v2. * [P2P] Update ActiveProtocol for 70913 protocol version # Conflicts: # src/main.cpp # src/version.h * [Wallet] Add missing variable to 2 AvailableCoins() calls This is mostly depreciated code since the removal of coinjoin style privacy (Obfuscation), but the missing boolean variable in these two calls was causing compiler warnings on newer versions of gcc for always evaluating to true. The use of a static `false` was taken from upstream DASH. * [zPIV] Adjust testnet v2 starting block * Fix coinbase check. Add override specifiers. Proper init for SetDec. * [Budget] Change finalization collateral to 5 PIV * Merge bitcoin#513: [core] Fix masternode broadcast for networks != MAINNET bc8be7c [core] Fix masternode broadcast for networks != MAINNET (update) (Mrs-X) Tree-SHA512: de1a713e166a45d26848d45d656ab36d68dc0d52810e0a66865c635442d4ac75a5602dbf39455b986356f17d3552e697607bb4464657b727ebaef0a8580f5657 # Conflicts: # src/activemasternode.cpp # src/masternode.cpp # src/masternode.h * implemented masternode_broadcast # Conflicts: # src/activemasternode.cpp # src/activemasternode.h # src/masternode.cpp # src/masternode.h # src/masternodeman.cpp # src/masternodeman.h # src/rpcserver.cpp # src/rpcserver.h * Updated fundamental node * broke up the RPC commands in create/decode/relay # Conflicts: # src/masternode.cpp # src/rpcserver.cpp # src/rpcserver.h * Updated fundamental node * restore protocolVersion (lowered for testing purposes) # Conflicts: # src/masternode.cpp * factor out GetStrMessage() - define MIN_PEER_MNANNOUNCE # Conflicts: # src/masternode.cpp # src/masternode.h * Updated fundamental node * use error() instead of LogPrintf() # Conflicts: # src/masternode.cpp * Style Changes - don't print masternode ip in the logs - join fHelp and wrong command clauses - use more descriptive names for pubkeys variables - change "result" to "success" and make it a boolean value - use array for resultsObj in createmasternode all - use lowercase for json objects - add detailed output example to decodemasternodebroadcast help - fix rpcserver.cpp indentation # Conflicts: # src/masternodeman.cpp # src/rpcserver.cpp * Updated fundamental node * [P2P] Add new spork key and handling logic - New spork key added - Sporks signed with the old key are valid until a pre-determined time - No NEW spork changes can be signed with the old key # Conflicts: # src/chainparams.cpp # src/spork.cpp * [Wallet] use GetTime() for nStartupTime `nStartupTime` is initalized before the P2P network initialization takes place, making the use of `GetAdjustedTime()` cause a lock ordering segfault under certain situations. * Clean up lockorder data of destroyed mutexes # Conflicts: # src/sync.h * Clean up apparent locking issues These locks address compiler warnings when compiling with clang's `-Wthread-safety-analysis` * Remove extra typedef This slipped in from some other testing i was doing, shouldn't be included yet. * [Build] Add missing files to src/Makefile.am These were left out, and break Travis/Gigian building due to them not being included in the dist tarball. * Load mint version based on serial parsing. * Fix typo in ban reason output * [RPC] Fix spork command input length Sporks are uint64, but the input variable was being parsed as an int, causing an out-of-range error for larger values. * [Qt] Show correct data for MN reward on a zPIV stake block * [Wallet] Stop removing spent zPIV hashes from map * [QT] Fix zPIV stake transaction record # Conflicts: # src/qt/transactionrecord.cpp * GetOldStrMessage() / GetNewStrMessage(): check against both # Conflicts: # src/masternode.cpp # src/masternode.h * Merge bitcoin#513: [core] Fix masternode broadcast for networks != MAINNET bc8be7c [core] Fix masternode broadcast for networks != MAINNET (update) (Mrs-X) Tree-SHA512: de1a713e166a45d26848d45d656ab36d68dc0d52810e0a66865c635442d4ac75a5602dbf39455b986356f17d3552e697607bb4464657b727ebaef0a8580f5657 # Conflicts: # src/activemasternode.cpp # src/masternode.cpp # src/masternode.h * Sign "old" strMessage before nBlockZerocoinV2 # Conflicts: # src/masternode.cpp * minor style change (replace 'LogPrintf'+'return false' with 'return error') # Conflicts: # src/masternode.cpp * Fix zPIV mint databasing. * [Budget] Finalization fixes # Conflicts: # src/masternode-budget.cpp * Working model for deterministic zPIV. Deterministic zPIV minting. Unit test added to zerocoin_implementation_tests.cpp. This deterministic generation model will likely be changed with further testing. Update mapSerialHashes each time SelectStakeCoins() is called. Better tracking of zPIV mint status updates. - Removed several walletdb ListMintedCoins reads and replaced them with iterating over the serialhashes map. - Disconnect block will now update a mint's status that is part of the disconnected block. - Shorten CTxIn.ToString() print out when it is a zerocoinspend. - Remove several stake logging items that were flagged with any debug type. - Use a larger mintpool of 20 mints which will be more likely to see any blockchain mints that are ours. - Refactor zPIVWallet::SyncWithChain() to not get stuck in an infinite loop. - Remove locking of cs_main on GetUnconfirmedZerocoinBalance() because it now loops over mapSerialHashes and does not grab any chain data. - LOCK cs_wallet in CreateCoinStake() once a stake has been found. - LOCK cs_main when generating accumulator witness. # Conflicts: # src/Makefile.am # src/init.cpp # src/wallet.cpp * Fixed compile error and coin name. * Add zpivTracker. Add mint maturity filtering. Directly add wallet transactions from zpiv found on IBD. Fix ResetZerocoins. Use pubcoin hashes for mintpool instead of CBigNum. CBigNum may be a bit slower to iterate. # Conflicts: # src/Makefile.am # src/init.cpp # src/wallet.h * Fixed compile error * Database mints generated by the mintpool. - Load all generated mints on initialization. Then remove mints from the mintpool that are already known. * Do not database zerocoinmint too early. - A mint should only be recorded when it is added to the blockchain, not when it is simply checked for validity. - Remove a database of zPIV spend that should not be done as well (it is done later in connectblock). * Check for existence of zpivTracker in ListMintedCoins(). * Use unique databasing for dzpiv and do not database private info. -Feed majority of zpiv read/write/update operations through zpivTracker. fix # Conflicts: # src/denomination_functions.cpp # src/main.cpp # src/qt/privacydialog.cpp # src/qt/zVitcontroldialog.cpp # src/wallet.cpp # src/wallet.h # src/walletdb.h # src/zvittracker.cpp * [Qt] Fix zPIV transactions details * [Core] Guard against a segfault in serialization * [GUI] Update GUI depending on SPORK_16 without restart # Conflicts: # src/qt/privacydialog.cpp * Fixed coin name * [Staking] Fix MintableCoins and fMintableCoins This fixes an edge case where `fMintableCoins` evaluates to `false` during initialization, which was causing an infinate loop in the staking thread. Also refactor `MintableCoins()` to allow for cases when PIV balance is 0 but zPIV balance is not (and wallet has eligible zPIV mints) # Conflicts: # src/miner.cpp * [Wallet] Fix GetImmatureZerocoinBalance need to use `GetUnconfirmedZerocoinBalance()` instead of `GetUnconfirmedBalance()` here. * [P2P] Guard CInv::ToString against unknown types * Fix parsing of QT transaction records on fresh import of seed. # Conflicts: # src/qt/transactionrecord.cpp * Fixed compile error * Correct confirmation count on qt transaction records. * Use 1 second GUI update time. * Handle generating witness from mint less than checkpointed value. * Fix segfault on chainparams. * Remove AddToWallet() from miner.cpp. * Remove uneeded lock on createcoinstake(). * Make zPiv wallet consistently use nCount as the last count used and remove comparison against nCountLastGenerated that resulted in adding to the mintpool every time the wallet got opened. # Conflicts: # src/zvitwallet.cpp * Make sure mints are added to zerocoinDB even when it is a zcspend. * Add -reindexzerocoin arg to wipe zerocoindb and reindex blockchain. # Conflicts: # src/init.cpp * Fix mature zPIV balance calculation Overview and Privacy tabs were missing the subtraction of unconfirmed zPIV in their calculation. # Conflicts: # src/qt/overviewpage.cpp * Don't exit early in ReconsiderZerocoins Only exit if **BOTH** listMints and listDMints are empty. * Fix timing inconsistency with mature/unconfirmed zpiv balances This fixes a timing issue where a zPIV mint that had not yet been included in a block was being incorrectly accounted for in the "Mature/Spendable/Available" balance until it was included in a block. Now, the new mint is correctly accounted as "Unconfirmed" right away. * Load only the mintpool for the current seed, prevent the generation of mints already in the mintpool, and prevent the zpivwallet count from being updated when an error occurs during zpiv minting. * Fix MintPool logprint. * Do not try to add all zpiv stakes on init. * Fix QT transaction record when staking zpiv that was not deterministic. - Also add full information about merkle tree to the WalletTx. # Conflicts: # src/qt/transactionrecord.cpp * zpivTracker better check for orphans. Also no redundant adding wtx's. * Remove balance check from CreateCoinStake(). * Use correct params for spend when checking serial in miner. * Fix checking if mint is in chain. * Fixed compile error * [Qt] Properly set involvesWatchAddress in the transaction record This prevents "the eye" from watching you when it shouldn't * [Qt] Fix mn reward showing as zPIV stake # Conflicts: # src/qt/transactionrecord.cpp * [Qt] Fix normal PIV transaction record amount * [Wallet] Fix compilation on windows * Encryption of zpiv seeds seed routed through wallet before db to be encrypted (if IsCrypted()) when crypting, the hash of the vMasterKey is used as nIV # Conflicts: # src/init.cpp # src/qt/multisigdialog.cpp # src/walletdb.cpp # src/walletdb.h # src/zvitwallet.cpp * Fixed compile error * [Qt] Fix another instance of a wayward eye # Conflicts: # src/qt/transactionrecord.cpp * [Budget] Add debug to find 'Couldn't find opReturn' error * [Budget] Fix 'Couldn't find opReturn' error 1 # Conflicts: # src/masternode-budget.cpp * Updated fundamental node * [Budget] Remove obsolete finalized budgets + better debug info * Updated fundamental node * [Budget] Add debug info to CBudgetManager::IsTransactionValid() * Updated fundamental node * [Budget] Add debug info to CFinalizedBudget::IsTransactionValid() * Updated fundamental node * Mark orphan zPIV stake input as not used. Change listMints() to std::set. Add mapPendingSpends to track spends. -Change to set to reduce BigO complexity. -add mapPendingSpends to keep track of spends that were made so that they do not get considered as falsly marked as not used while they are in the mempool. Check mempool for pending spends. # Conflicts: # src/miner.cpp # src/qt/privacydialog.cpp # src/qt/zVitcontroldialog.cpp * Fixed compile error * [RPC] Fix clang error with vMintsToFind * Handle zPIV seed db transition. # Conflicts: # src/walletdb.cpp # src/walletdb.h * Fixed compile error * [Qt] Fix zPIV spend's nCount Actually increment `nCount` in the loop when displaying the transaction details so it doesn't stay at `0`. * Require v1 zPIV to use security level 100. * More description for spend that fails without using zpiv control dialog. # Conflicts: # src/wallet.h * Fixed compile error * Add better help text to all zerocoin related RPC commands Each command now includes the following: - Numbered arguments (if any) - Result example - Sample call execution `listzerocoinamounts` was also changed to return propper JSON # Conflicts: # src/rpcwallet.cpp * Fixed compile error * Make all RPC commands use the same styling format Added some missing help output, used EnsureWalletIsLocked where applicable (more in the next commit), and improved code readability for the help sections for each command. # Conflicts: # src/rpcdump.cpp # src/rpcmisc.cpp # src/rpcwallet.cpp * Teach EnsureWalletIsUnlocked() to accept unlock for anon only Add an optional bool paramater to `EnsureWalletIsUnlocked()` that defaults to `false` (current bahavior). If passed `true`, then only require a partial unlock. * [Staking] Fix Stake Split Threshold for PIV staking This reintroduces the calculation on wither or not the wallet should "split" the PIV stake input. Note: zPIV staking never splits, and it shouldn't. * [tests] Fix zPIV determinism test * Make zpiv unarchiving work with zpivtracker. * [Budget] Fix double-payment issue and replace "zPiv" by "zPIV" strings # Conflicts: # src/init.cpp # src/libzerocoin/Denominations.cpp # src/main.cpp # src/masternode-budget.cpp # src/miner.cpp # src/qt/forms/privacydialog.ui # src/qt/pivxstrings.cpp # src/qt/privacydialog.cpp # src/qt/transactiontablemodel.cpp # src/qt/transactionview.cpp # src/rpcwallet.cpp # src/wallet.cpp * Updated fundamental node * [Budget] Additional log for Budget debugging # Conflicts: # src/masternode-budget.cpp * Updated fundamental node * [Crypto] Bignum getcompact return correct result * [Crypto] Remove BigNum constructor implicitly calling SetHex * [Crypto] Fix %= and /= bignum operators * [Crypto] minor changes on BigNum uses * dzpivstate RPC call. Displays state of deterministic zpiv wallet. * Do not archive zpiv orphans on IDB. - Do not archive zpiv orphans on IDB. This should handle most problems with zpiv being archived when resyncing. - Speed up CzPIVWallet::SyncWithChain() by reducing calls to GetTransaction(). - Speed up CzPIVWallet::SyncWithChain() by adding a LOCK(cs_main). - Do not remove mints from the mint pool from init, let the syncing process do it naturally. * Make sure that mintpool checks all mints. * Readd zPIV tx's during -zapwallettxs # Conflicts: # src/init.cpp * Fix segfault on importzerocoins RPC. * More efficient scanning during zapwallettxes. # Conflicts: # src/init.cpp * Add multithreading to RPC searchdzpiv. * Save searched dzpiv to DB. Less verbosity. * [Budget] Improved double-payment-handling. # Conflicts: # src/masternode-budget.cpp * Updated fundamental node * [Wallet] Fix ListMints when returning only unused mints Needed to move up the logic/checks for filtering out unused mints to get a propper output with `exportzerocoins false`. * custom wallet backup paths # Conflicts: # src/wallet.cpp * Fixed compile error * Fix first run initialization of zwallet with encrypted wallet.dat file When running the client with a `wallet.dat` file that has never initialized it's zwallet or dzPIV, there is an incorrect code pathway that leads to the dzPIV seed hash never being written to the wallet file. Instead, we copy the seed generation code into `crypter.cpp` which will allow for proper dzPIV seed generation upon first unlock. * Use smart pointers to keep better track of memory. - Convert the raw ptr to zpivTracker in CWallet to unique_ptr. - Change the CheckProofOfStake() process to use unique_ptr. * [Fix] fix translation build error # Conflicts: # src/qt/walletmodel.cpp * Do not rely on chainActive with contextual checks. This can lead to situations of rejecting valid blocks that are from a competing fork. * Use unique_ptr for stake input list. * [Wallet] Refactor ListMints to more quickly detect orphan/failed stakes * [Staking] Exit CreateCoinStake loop if wallet locked/shutdown If the wallet gets locked or a shutdown is requested in the middle of the stakeinput loop, there is no sense in continuing. * [Output] Log network message receives as "net" debug category These messages spam the log constantly and should be classified in the "net" debug category instead of uncategorized. * Remove/replace logging that is not necessary. * [Budget] Handling of too few votes for finalized budget fixed * Updated fundamental node * Fix compilation * Add minimum zPIV maturity consideration to GetMintMaturityHeight(). The zPIV should not be considered mature unless it has 1 mint that occured after it AND the mint is at least two checkpoints deep. * Factor out components of ListMints() so that it is more legible. * Simplify and document -custombackupthreshold Also move -backuppath and -zpivbackuppath to more appropriate areas in the help output. # Conflicts: # src/init.cpp * Cleanup log spam & add additional check to archive zpiv stake orphans. My log was showing stake orphans getting stuck with the message "Found orphanded mint txid=.....". This is supposed to ignore it for the existing iteration and then clean it up next time ListMints() is called. This was not happening to stake transactions, so logic is added to archive the mint if it is coinstake. * [Budget] Spread out voting on finalized budget for testnet also. # Conflicts: # src/masternode-budget.cpp * Updated fundamental node * Display -backuppath, -zpivbackuppath, -custombackupthreshold in wallet repair menu also fix segfault when permission denied since trying to create directories before checking permissions * Guard against non-integer input for GUI's custombackupthreshold * [Core] Initialzed seed for rand() (trivial change) * Change spork key validity period. Minor spork code refactor. * Merge bitcoin#583: [Docs] Update release notes for v3.1.0 53fc2dd [Docs] Update release notes for v3.1.0 (Fuzzbawls) Tree-SHA512: 2df4411b3376aea24956f8c3e602bece66c92f6f74488bb5a22005bfaa7fab272a93417a76c520aae26a29dd2714270b73f72f3e7922377410a870ee68669c1b # Conflicts: # doc/release-notes.md * Merge bitcoin#584: [Doc] Update to zPIV staking and Thank you's e46e49b Update to zPIV staking and Thank you's (Sieres) Tree-SHA512: 21a43784106ea774e362c2b7d0ca7c1dfb8cb28460a9d7b56057c8becb68599b263510e6f838c441cef13835b722af49c497707b02c80f874432f8c5e7c2e8a6 # Conflicts: # doc/release-notes.md * PIVX Core v3.1.0 # Conflicts: # configure.ac * [Bug] Fix CMasternodeConfig::read rebase from upstream. Windows doesn't initialize CService properly during startup before the masternode.conf file is read. # Conflicts: # src/masternodeconfig.cpp * Updated fundamental node * Fixed compile error * Bump version to 3.1.0.1 Bugfix for Windows MN Controllers * Merge bitcoin#593: 3.1.0.2 backport 43f6f1b Add unit test for budget value. (presstab) 9ee7d98 Update protocol to 70914. (presstab) ebc4527 [Budget] Fix wrong budget amount (Mrs-X) Tree-SHA512: 6d813ee5e9cc548ffd8b3c816f669a9b79a6b8118de73941fd3fc6d7be46ae2dbfa935d94d1b62c32c1700165ad5a637f87eeaa8cd36927d4d281193b9c84ada # Conflicts: # src/version.h * Bump version to 3.1.0.2 * Bump to 3.1.0.3 one-line change for `listtransactions`, this won't be a full release with gitian builds, but a tag that exchanges/services can use as a fixed-point reference if they need `listtransactions` compatibility. * Merge bitcoin#584: [Doc] Update to zPIV staking and Thank you's e46e49b Update to zPIV staking and Thank you's (Sieres) Tree-SHA512: 21a43784106ea774e362c2b7d0ca7c1dfb8cb28460a9d7b56057c8becb68599b263510e6f838c441cef13835b722af49c497707b02c80f874432f8c5e7c2e8a6 # Conflicts: # doc/release-notes.md * Merge bitcoin#585: [Doc] Change aarch assert sign output folder a810714 [Doc] Change aarch assert sign output folder (Warrows) Tree-SHA512: 1b454a87f526ec8edf96f28952f4dccce444bbedd7512a21188d155ab5e57e494d8306529eccc0a280417895dc0e4b7718a233b883cfcffd84fd89f5c9d4e280 # Conflicts: # doc/release-process.md * Merge bitcoin#595: [Tests] Fix chain ordering in budget tests 3a6b152 [Tests] Fix chain ordering in budget tests (Fuzzbawls) Tree-SHA512: c94c7511d088bffc9568045b48b5fac8f10cceb4561e1d3a58fda3cb64227aee163280e9ad553157b206bd36257f516c34c697e8df4eeea153ffc8a44753a17a * Merge bitcoin#596: [Build] Bump master to 3.1.99 5d73f63 [Build] Bump master to 3.1.99 (Fuzzbawls) Tree-SHA512: 7d421685e1f3b90dfc4f536b679436f0d8bbd82614996aa7e76541ff9ad572e729063fb699d70778ea3f4acb2576713ebd3bbb49966d8e82a79945723419b256 # Conflicts: # configure.ac # contrib/gitian-descriptors/gitian-aarch64.yml # contrib/gitian-descriptors/gitian-linux.yml # contrib/gitian-descriptors/gitian-osx.yml # contrib/gitian-descriptors/gitian-win.yml * Merge bitcoin#597: [Wallet] Write new transactions to wtxOrdered properly b2fdbbf [Wallet] Write new transactions to wtxOrdered properly (Fuzzbawls) Tree-SHA512: b0bd54c9bd7fb44c18d7d4d84213b96b48dc22b35825c0a0f268b3f99086e8beeea7de5aed07cc575ee7dae0ce095e0438eb7e89454bae54551478ea5f81661d * [Refactor] Delete secp256k1 folder for subtreefication # Conflicts: # src/secp256k1/.gitignore # src/secp256k1/.travis.yml # src/secp256k1/COPYING # src/secp256k1/Makefile.am # src/secp256k1/README.md # src/secp256k1/TODO # src/secp256k1/configure.ac # src/secp256k1/include/secp256k1.h # src/secp256k1/libsecp256k1.pc.in # src/secp256k1/obj/.gitignore # src/secp256k1/src/bench_inv.c # src/secp256k1/src/bench_sign.c # src/secp256k1/src/bench_verify.c # src/secp256k1/src/ecdsa.h # src/secp256k1/src/ecdsa_impl.h # src/secp256k1/src/eckey.h # src/secp256k1/src/eckey_impl.h # src/secp256k1/src/ecmult.h # src/secp256k1/src/ecmult_gen.h # src/secp256k1/src/ecmult_gen_impl.h # src/secp256k1/src/ecmult_impl.h # src/secp256k1/src/field.h # src/secp256k1/src/field_10x26.h # src/secp256k1/src/field_10x26_impl.h # src/secp256k1/src/field_5x52.h # src/secp256k1/src/field_5x52_asm.asm # src/secp256k1/src/field_5x52_asm_impl.h # src/secp256k1/src/field_5x52_impl.h # src/secp256k1/src/field_5x52_int128_impl.h # src/secp256k1/src/field_gmp.h # src/secp256k1/src/field_gmp_impl.h # src/secp256k1/src/field_impl.h # src/secp256k1/src/group.h # src/secp256k1/src/group_impl.h # src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java # src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c # src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h # src/secp256k1/src/num.h # src/secp256k1/src/num_gmp.h # src/secp256k1/src/num_gmp_impl.h # src/secp256k1/src/num_impl.h # src/secp256k1/src/scalar.h # src/secp256k1/src/scalar_4x64.h # src/secp256k1/src/scalar_4x64_impl.h # src/secp256k1/src/scalar_8x32.h # src/secp256k1/src/scalar_8x32_impl.h # src/secp256k1/src/scalar_impl.h # src/secp256k1/src/secp256k1.c # src/secp256k1/src/testrand.h # src/secp256k1/src/testrand_impl.h # src/secp256k1/src/tests.c # src/secp256k1/src/util.h * Merge commit '8a901f93d505af3516353837600fd71a0c53a692' as 'src/secp256k1' * [Crypto] Switch from openssl to secp256k1 for consensus [Refactoring] Moved and removed some stuff -Removed duplicated arith uint files -Removed unused variables -Move keystore impls to .cpp instead of .h -Removed useless function in key.cpp [Crypto] fix bip38 compilation for latest libsecp256k1 [Compilation] Change compilation and some code to use libsec instead of sslcrypto [Crypto] Update keys to comply with latest secp256k1 lib # Conflicts: # src/Makefile.am # src/arith_uint256.cpp # src/arith_uint256.h # src/eccryptoverify.cpp # src/eccryptoverify.h # src/ecwrapper.cpp # src/ecwrapper.h # src/key.cpp # src/key.h # src/pubkey.cpp # src/pubkey.h # src/uint512.h * [Tests] Add new auto generated script tests * [Crypto] Bring back function CKey.SetPrivKey for zPIV * Fixed compile error * [Crypto] Add ctx initialisation for bip38 * [Tests] Fix chain ordering in budget tests check testnet params first, then check mainnet so as to not interfere with subsequent unit tests that rely on mainnet params. Also clean up include ordering. Github-Pull: bitcoin#595 Rebased-From: 3a6b152 * Only enable/disable PrivacyDialog zPIV elements if needed. Currently the zPIV buttons are constantly updated to enabled or disabled even if they are already in the correct state. Github-Pull: bitcoin#600 Rebased-From: 2b76f31 # Conflicts: # src/qt/privacydialog.cpp * Fix spending for v1 zPIV created before block 1050020. The transition to v2 zPIV and reset of the accumulators caused blocks 1050000 - 1050010 to be accumulated twice. This was causing many v1 zPIV to not create valid witnesses. This problem is fixed by double accumulating blocks 1050000-1050010 when creating the witness. Github-Pull: bitcoin#603 Rebased-From: abee3d9 * Add getaccumulatorvalues RPC. Return the accumulator values associated with a particular block height. Github-Pull: bitcoin#603 Rebased-From: 8a6d425 * Remove log spam and ensure proper zpiv version is used. Github-Pull: bitcoin#603 Rebased-From: ccf6c77 # Conflicts: # src/wallet.cpp * [GUI] Fix wrongly displayed balance on Overview tab Github-Pull: bitcoin#598 Rebased-From: 6030877 # Conflicts: # src/qt/overviewpage.cpp * Fixed Multisend dialog to show settings properly Multisend will display a message if it has only been enabled for masternodes and if its enabled for both (Displaying this didnt work if multisend was only enabled for masternodes) Github-Pull: bitcoin#580 Rebased-From: 40baa7d # Conflicts: # src/qt/multisenddialog.cpp * Update multisenddialog.cpp Github-Pull: bitcoin#580 Rebased-From: 8dca829 # Conflicts: # src/qt/multisenddialog.cpp * [Build] Remove unnecessary BOOST dependency Github-Pull: bitcoin#605 Rebased-From: da3a6a5 * [Budget] Make sorting of finalized budgets deterministic Github-Pull: bitcoin#608 Rebased-From: 93e637f * Updated fundamental node * Remove zPIV code from main.cpp Github-Pull: bitcoin#609 Rebased-From: 873ef19 # Conflicts: # src/Makefile.am * Renamed zpivchain to zvitchain * Fixed compile error * [Output] Properly log reason(s) for increasing a peer's DoS score. Many of the MN related DoS checks had their log messages output only if the client was running in debug mode, leading to unexplained peer bans. Github-Pull: bitcoin#611 Rebased-From: fe14f5f # Conflicts: # src/masternode-budget.cpp # src/masternodeman.cpp * [Build] Make sure Boost headers are included for libzerocoin Custom boost locations not using pkg_config can result in a header include not being found when compiling the libzerocoin library. This quick fix ensures that the `BOOST_CPPFLAGS` are explicitely included. Github-Pull: bitcoin#622 Rebased-From: 811785c # Conflicts: # src/Makefile.am * Update zPIV stake set more frequently. Github-Pull: bitcoin#617 Rebased-From: 355e2d3 * Lower stake hashdrift to 30 seconds. Lower the hash drift which should reduce the amount of orphans. Github-Pull: bitcoin#617 Rebased-From: 4c862f2 * [UI] Remove useless help button from QT dialogs Github-Pull: bitcoin#629 Rebased-From: 4dc636c # Conflicts: # src/qt/askpassphrasedialog.cpp # src/qt/zVitcontroldialog.cpp * Merge bitcoin#521: [GUI] Make "For anonymization and staking only" checked by default 4e5b73e [GUI] Make "For anonymization and staking only" checked by default (Mrs-X) Tree-SHA512: 53d5aa663269efdb82cb2d8961f2eae4aebc03a6d96d15d990b357385584e365935f012eb9410b81de891a1d1ed75fbfe88937b2e87df12db148b1d6e3c015a5 # Conflicts: # src/qt/askpassphrasedialog.cpp # src/qt/masternodelist.cpp # src/qt/walletview.h * Fixed compile error * [Wallet] Add some LOCK to avoid crash Github-Pull: bitcoin#625 Rebased-From: ed23d0d * [Qt] Show progress percent for zpiv reindex operations `-reindexaccumulators` and `-reindexzerocoin` can take a considerable time to complete depending on system hardware. Lets show a progress percent similar to `VerifyDB()` on the splashscreen. Github-Pull: bitcoin#612 Rebased-From: 48e502a # Conflicts: # src/main.cpp * Guard against division by zero for reindex zerocoin/accumulators in the event that the local chainActive is equal or below that of the relevant zerocoin block heights, there is nothing to do, so bypass the internal process. Github-Pull: bitcoin#612 Rebased-From: bed79e2 # Conflicts: # src/main.cpp * Move ReindexAccumulators() call to be inside parent conditional Not much point in checking if the listAccCheckpointsNoDB list is empty outside of when the wallet is started using `-reindexaccumulators`, as it is always empty outside of that case. Github-Pull: bitcoin#612 Rebased-From: 5127486 # Conflicts: # src/init.cpp * [Travis] Add separate job to check doc/logprint/subtree Break out a new job to do the basic linting that check-dock.py and logprint-scanner.py did. Also add new scripts to check the sanity of any git subtrees and to check that new pull requests don't contain any trailing whitespace. Also, remove the outdated slack notification callback Github-Pull: bitcoin#639 Rebased-From: 6f695b5 # Conflicts: # .travis.yml * [Main] Write to the zerocoinDB in batches instead of using a separate write operation for each and every bit of data that needs to be flushed to disk, utilize leveldb's batch writing capability. Github-Pull: bitcoin#636 Rebased-From: cd672cd * Remove unnecessary whitespaces Github-Pull: bitcoin#646 Rebased-From: a554259 # Conflicts: # src/qt/privacydialog.cpp * [Utils] Add copyright header to logprint-scanner.py Github-Pull: bitcoin#649 Rebased-From: 79d618f * [Doc] Change aarch assert sign output folder Github-Pull: bitcoin#585 Rebased-From: a810714 # Conflicts: # doc/release-process.md * Check whether tx is in chain in ContextualCheckZerocoinMint(). Github-Pull: bitcoin#610 Rebased-From: c4141aa * Merge bitcoin#651: [Doc] Release notes for v3.1.1 6bdef7a [Doc] Release notes for v3.1.1 (Fuzzbawls) Tree-SHA512: 8fb6c3ef52064b5542c5acdd2b93165fd2f1054b9e2ba607fcdfde3c5c4bbd6e6b8f05ac2fff53e97791c23be6366d60af1957e6e76786daecad591d3d4f8f9b # Conflicts: # doc/release-notes.md * Bump version to 3.1.1 # Conflicts: # configure.ac * Fixed coin name * Fixed coin name * Fixed coin name * Fixed coin name * Fixed coin name * Fixed coin name * Fixed wrongly replaced coin names * Update Nomenclature CzPIVWallet to CzVITWallet * More Nomenclature Fixes CzPIVWallet to CzVITTracker * Fixed compile error Co-authored-by: Mrs-X <[email protected]> Co-authored-by: Fuzzbawls <[email protected]> Co-authored-by: presstab <[email protected]> Co-authored-by: gpdionisio <[email protected]> Co-authored-by: warrows <[email protected]> Co-authored-by: Anthony Posselli <[email protected]> Co-authored-by: Warrows <[email protected]> Co-authored-by: rejectedpromise <[email protected]> Co-authored-by: SHTDJ <[email protected]> Co-authored-by: Crypto Pliskin <[email protected]> * Fixed testnet * Update testnet spork key * Fixed travis error that caused by check-doc.py * Removed unused check in travis * Fixed travis error * Disabled some unit tests to pass travis * Disabled some unit tests to pass travis * Fixed missing bracket in rpcwallet.cpp from merge * Incremented version to v4.5.0 * Updated spork and zerocoin chain parameters * Incremented protocol and swapped protocol spork from 18 to 14 * Removed seesaw * Added spork for enabling removal of seesaw reward algorithm * Added spork for enabling removal of seesaw reward algorithm & updated spork parameters * Updated DNS and fixed seeds * Updated DNS and fixed seeds * Updated spork parameters * Adjusted spork parameters * Fixes for OSX builds on newer OS versions * Updated release copyright year * Updated release-nodes.md * Updated macro name in blocksignature.h * Updated MIN_PEER_MNANNOUNCE protocol version * Fixed references to zerocoin spork * Fixed wrong balance displayed in overview * Removed unused function SliceHash * Fixed references to Spork 16 * Fixing compiler warning for rpcfundamentalnode.cpp * Updated macro names * Fixed naming for staking rewards * Fixed references to zVITAE * Fix FN Label There may be some compatability issues with this fix and upstream. * Added checkpoint * Added checkpoint * Updated release-notes.md * Reject blocks that have no previous block * Adding const to exception catching * Set AA_EnableHighDpiScaling attribute early * Updated VITAE copyright string * Fixed wrongly removed code about mapStakeSpent * [Wallet] Increase valid range for automint percentage * [Docs] OSX Build - Instructions on how to make the Homebrew OpenSSL headers visible * [Qt] Remove Growl support Growl hasn't been free nor needed for many years. MacOS versions since 10.8 have the OS notification center, which is still supported after this. * [Qt] Add Tor service icon to status bar Tor Icon is displayed when the client is initialized with a successful tor service connection. Icon is hidden otherwise. * Updated naming for zvitaebackuppath * Updated exception to const in rpcwallet.cpp * Updated spork key dates for testnet * Added checkpoint Co-authored-by: Wang Qi <[email protected]> Co-authored-by: Mrs-X <[email protected]> Co-authored-by: Fuzzbawls <[email protected]> Co-authored-by: presstab <[email protected]> Co-authored-by: gpdionisio <[email protected]> Co-authored-by: warrows <[email protected]> Co-authored-by: Anthony Posselli <[email protected]> Co-authored-by: Warrows <[email protected]> Co-authored-by: rejectedpromise <[email protected]> Co-authored-by: SHTDJ <[email protected]> Co-authored-by: Crypto Pliskin <[email protected]> Co-authored-by: wqking <[email protected]>
- typos - wrong word order - pathfinding if used as a NOUN is just one word, see https://en.wiktionary.org/wiki/pathfinding. verb is different - multipath just one word, see https://en.wiktionary.org/wiki/multipath - where vs were - somewhat: colloquial --> partially - etc - belive ... believe
I've been running bitcoin gui with these changes for a few days with no obvious effects and they are very common.