Skip to content
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

Parse URIs with non-BTC amounts #553

Closed
wants to merge 1 commit into from

Conversation

@luke-jr
Copy link
Member

luke-jr commented Oct 4, 2011

This syntax has had plenty of time wasted arguing over whether it should be tolerated syntax; please don't bother wasting more time on that discussion. I can't force anyone to merge it, but I can at least make it easy for those who decide to tolerate it. Please keep in mind that it doesn't hurt the BTC-only URIs at all, and if nobody ends up using it for other units, it can always be removed later.
Best case scenario: people use it and bitcoin-qt works correctly
Worst case scenario: people don't use it, and it can be removed

For 5 cBTC, use: amount=5x6
For 5 mBTC, use: amount=5x5
For 5 μBTC, use: amount=5x2
For 5 Satoshis, use: amount=5x0

@luke-jr
Copy link
Member Author

luke-jr commented Oct 5, 2011

As I said, this is not the place to waste time arguing for or against using it.

@TheBlueMatt
Copy link
Contributor

TheBlueMatt commented Oct 5, 2011

I wasnt, I was providing links to the previous arguments for people to see the history. Frankly, I couldnt care less whether or not this gets merged, I was just providing history.

@gavinandresen
Copy link
Contributor

gavinandresen commented Oct 5, 2011

No consensus that this is a good idea, closing.

luke-jr added a commit to bitcoinknots/bitcoin that referenced this pull request Jun 27, 2016
ptschip pushed a commit to ptschip/bitcoin that referenced this pull request May 17, 2017
sipa added a commit to sipa/bitcoin that referenced this pull request Mar 30, 2019
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
sipa added a commit to sipa/bitcoin that referenced this pull request Mar 30, 2019
763484a1e5 f fix undefined behavior when shifting an int 31 places
5af66e7f79 f expose nonce_function_bipschnorr
594e3abb69 f hash noncedata into nonce in nonce_function_bipschnorr
318d55155c f make helper functions static
d65adc82f8 Add schnorrsig module which implements BIP-schnorr [0] compatible signing, verification and batch verification.
f4153a29ab add chacha20 function
REVERT: ee99f12 Merge bitcoin#599: Switch x86_64 asm to use "i" instead of "n" for immediate values.
REVERT: d58bc93 Switch x86_64 asm to use "i" instead of "n" for immediate values.
REVERT: 05362ee Merge bitcoin#597: Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build
REVERT: 8348386 Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build
REVERT: aa15154 Merge bitcoin#568: Fix integer overflow in ecmult_multi_var when n is large
REVERT: 2277af5 Fix integer overflow in ecmult_multi_var when n is large
REVERT: 85d0e1b Merge bitcoin#591: Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing.
REVERT: 1419637 Merge bitcoin#580: Add trivial ecmult_multi algorithm which does not require a scratch space
REVERT: a697d82 Add trivial ecmult_multi to the benchmark tool
REVERT: bade617 Add trivial ecmult_multi algorithm. It is selected when no scratch space is given and just multiplies and adds the points.
REVERT: 5545e13 Merge bitcoin#584: configure: Use CFLAGS_FOR_BUILD when checking native compiler
REVERT: 20c5869 Merge bitcoin#516: improvements to random seed in src/tests.c
REVERT: b76e45d Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing.
REVERT: 870a977 Merge bitcoin#562: Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse
REVERT: be40c4d Fixup for C90 mixed declarations.
REVERT: c71dd2c Merge bitcoin#509: Fix algorithm selection in bench_ecmult
REVERT: 6492bf8 Merge bitcoin#518: Summarize build options after running configure
REVERT: 0e9ada1 Merge bitcoin#567: Correct order of libs returned on pkg-config --libs --static libsecp2…
REVERT: e96901a Merge bitcoin#587: Make randomization of a non-signing context a noop
REVERT: 58df8d0 Merge bitcoin#511: Portability fix for the configure scripts generated
REVERT: 2ebdad7 Merge bitcoin#552: Make constants static:
REVERT: 1c131af Merge bitcoin#551: secp256k1_fe_sqrt: Verify that the arguments don't alias.
REVERT: ba698f8 Merge bitcoin#539: Assorted minor corrections
REVERT: 949e85b Merge bitcoin#550: Optimize secp256k1_fe_normalize_weak calls.
REVERT: a34bcaa Actually pass CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD to linker
REVERT: 2d5f4ce configure: Use CFLAGS_FOR_BUILD when checking native compiler
REVERT: b408c6a Merge bitcoin#579: Use __GNUC_PREREQ for detecting __builtin_expect
REVERT: 6198375 Make randomization of a non-signing context a noop
REVERT: c663397 Use __GNUC_PREREQ for detecting __builtin_expect
REVERT: e34ceb3 Merge bitcoin#557: Eliminate scratch memory used when generating contexts
REVERT: b3bf5f9 ecmult_impl: expand comment to explain how effective affine interacts with everything
REVERT: efa783f Store z-ratios in the 'x' coord they'll recover
REVERT: ffd3b34 add `secp256k1_ge_set_all_gej_var` test which deals with many infinite points
REVERT: 84740ac ecmult_impl: save one fe_inv_var
REVERT: 4704527 ecmult_impl: eliminate scratch memory used when generating context
REVERT: 7f7a2ed ecmult_gen_impl: eliminate scratch memory used when generating context
REVERT: 314a61d Merge bitcoin#553: add static context object which has no capabilities
REVERT: 89a20a8 Correct order of libs returned on pkg-config --libs --static libsecp256k1 call.
REVERT: d3cb1f9 Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse
REVERT: 40fde61 prevent attempts to modify `secp256k1_context_no_precomp`
REVERT: ed7c084 add static context object which has no capabilities
REVERT: 496c5b4 Make constants static: static const secp256k1_ge secp256k1_ge_const_g; static const int CURVE_B;
REVERT: bf8b86c secp256k1_fe_sqrt: Verify that the arguments don't alias.
REVERT: 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.
REVERT: 52ab96f clean dependendies in field_*_impl.h
REVERT: deff5ed Correct math typos in field_*.h
REVERT: 4efb3f8 Add check that restrict pointers don't alias with all parameters.
REVERT: 3965027 Summarize build options in configure script
REVERT: 0f05173 Fix algorithm selection in bench_ecmult
REVERT: 8b3841c fix bug in fread() failure check
REVERT: cddef0c tests: add warning message when /dev/urandom fails
REVERT: 270f6c8 Portability fix for the configure scripts generated

git-subtree-dir: src/secp256k1
git-subtree-split: 763484a1e5bed2b8b990e71c2f66129ae1038d59
sipa added a commit to sipa/bitcoin that referenced this pull request Mar 31, 2019
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
sipa added a commit to sipa/bitcoin that referenced this pull request Apr 2, 2019
763484a1e5 f fix undefined behavior when shifting an int 31 places
5af66e7f79 f expose nonce_function_bipschnorr
594e3abb69 f hash noncedata into nonce in nonce_function_bipschnorr
318d55155c f make helper functions static
d65adc82f8 Add schnorrsig module which implements BIP-schnorr [0] compatible signing, verification and batch verification.
f4153a29ab add chacha20 function
REVERT: b19c000 Merge bitcoin#607: Use size_t shifts when computing a size_t
REVERT: 4d01bc2 Merge bitcoin#606: travis: Remove unused sudo:false
REVERT: e6d01e9 Use size_t shifts when computing a size_t
REVERT: 7667532 travis: Remove unused sudo:false
REVERT: ee99f12 Merge bitcoin#599: Switch x86_64 asm to use "i" instead of "n" for immediate values.
REVERT: d58bc93 Switch x86_64 asm to use "i" instead of "n" for immediate values.
REVERT: 05362ee Merge bitcoin#597: Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build
REVERT: 8348386 Add $(COMMON_LIB) to exhaustive tests to fix ARM asm build
REVERT: aa15154 Merge bitcoin#568: Fix integer overflow in ecmult_multi_var when n is large
REVERT: 2277af5 Fix integer overflow in ecmult_multi_var when n is large
REVERT: 85d0e1b Merge bitcoin#591: Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing.
REVERT: 1419637 Merge bitcoin#580: Add trivial ecmult_multi algorithm which does not require a scratch space
REVERT: a697d82 Add trivial ecmult_multi to the benchmark tool
REVERT: bade617 Add trivial ecmult_multi algorithm. It is selected when no scratch space is given and just multiplies and adds the points.
REVERT: 5545e13 Merge bitcoin#584: configure: Use CFLAGS_FOR_BUILD when checking native compiler
REVERT: 20c5869 Merge bitcoin#516: improvements to random seed in src/tests.c
REVERT: b76e45d Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing.
REVERT: 870a977 Merge bitcoin#562: Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse
REVERT: be40c4d Fixup for C90 mixed declarations.
REVERT: c71dd2c Merge bitcoin#509: Fix algorithm selection in bench_ecmult
REVERT: 6492bf8 Merge bitcoin#518: Summarize build options after running configure
REVERT: 0e9ada1 Merge bitcoin#567: Correct order of libs returned on pkg-config --libs --static libsecp2…
REVERT: e96901a Merge bitcoin#587: Make randomization of a non-signing context a noop
REVERT: 58df8d0 Merge bitcoin#511: Portability fix for the configure scripts generated
REVERT: 2ebdad7 Merge bitcoin#552: Make constants static:
REVERT: 1c131af Merge bitcoin#551: secp256k1_fe_sqrt: Verify that the arguments don't alias.
REVERT: ba698f8 Merge bitcoin#539: Assorted minor corrections
REVERT: 949e85b Merge bitcoin#550: Optimize secp256k1_fe_normalize_weak calls.
REVERT: a34bcaa Actually pass CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD to linker
REVERT: 2d5f4ce configure: Use CFLAGS_FOR_BUILD when checking native compiler
REVERT: b408c6a Merge bitcoin#579: Use __GNUC_PREREQ for detecting __builtin_expect
REVERT: 6198375 Make randomization of a non-signing context a noop
REVERT: c663397 Use __GNUC_PREREQ for detecting __builtin_expect
REVERT: e34ceb3 Merge bitcoin#557: Eliminate scratch memory used when generating contexts
REVERT: b3bf5f9 ecmult_impl: expand comment to explain how effective affine interacts with everything
REVERT: efa783f Store z-ratios in the 'x' coord they'll recover
REVERT: ffd3b34 add `secp256k1_ge_set_all_gej_var` test which deals with many infinite points
REVERT: 84740ac ecmult_impl: save one fe_inv_var
REVERT: 4704527 ecmult_impl: eliminate scratch memory used when generating context
REVERT: 7f7a2ed ecmult_gen_impl: eliminate scratch memory used when generating context
REVERT: 314a61d Merge bitcoin#553: add static context object which has no capabilities
REVERT: 89a20a8 Correct order of libs returned on pkg-config --libs --static libsecp256k1 call.
REVERT: d3cb1f9 Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse
REVERT: 40fde61 prevent attempts to modify `secp256k1_context_no_precomp`
REVERT: ed7c084 add static context object which has no capabilities
REVERT: 496c5b4 Make constants static: static const secp256k1_ge secp256k1_ge_const_g; static const int CURVE_B;
REVERT: bf8b86c secp256k1_fe_sqrt: Verify that the arguments don't alias.
REVERT: 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.
REVERT: 52ab96f clean dependendies in field_*_impl.h
REVERT: deff5ed Correct math typos in field_*.h
REVERT: 4efb3f8 Add check that restrict pointers don't alias with all parameters.
REVERT: 3965027 Summarize build options in configure script
REVERT: 0f05173 Fix algorithm selection in bench_ecmult
REVERT: 8b3841c fix bug in fread() failure check
REVERT: cddef0c tests: add warning message when /dev/urandom fails
REVERT: 270f6c8 Portability fix for the configure scripts generated

git-subtree-dir: src/secp256k1
git-subtree-split: 763484a1e5bed2b8b990e71c2f66129ae1038d59
@bitcoin bitcoin locked and limited conversation to collaborators Apr 26, 2019
@bitcoin bitcoin deleted a comment from abdulaziz0101 Apr 26, 2019
lateminer pushed a commit to lateminer/bitcoin that referenced this pull request May 6, 2020
aa7ff86 [GUI][Wallet] Use unlock context for HD upgrade (random-zebra)
060790f [Doc] Add Context Lock/Unlock to release notes (random-zebra)
dee68e3 [Refactor] Use isWalletUnlocked() to check valid in requestUnlock() (random-zebra)
556a176 [GUI][Model] Remove verifyWalletUnlocked and connect everything (random-zebra)
1c803f0 [UI][Model] Connect WalletModel::requireUnlock (random-zebra)
31cbef7 [Refactor] Rename ...AnonymizationOnly --> ...StakingOnly (random-zebra)
1a7aa56 [Cleanup] Remove un-used walletpassworddialog (random-zebra)
a85deb7 [Wallet][Model] Fix and refactor UnlockContext (random-zebra)
05b1360 [Trivial] Styling: spaces and brackets (random-zebra)

Pull request description:

  Fix `UnlockContext` class and connect it where needed.
  Now, once an action requires the wallet to be fully unlocked, the askpassphrase dialog is presented to the user (if the status is "Locked" or "UnlockedForStaking"). This way, the password can be entered directly, and the operation can resume without needing additional clicks by the user.
  The previous locking status is restored when the action completes.

  Interested flows:
  - Send transaction (closes bitcoin#1365)
  - Create New Receive Address
  - Create New Payment Request
  - Create Masternode Controller
  - Create Cold Staking Address (closes bitcoin#1171)
  - Send Cold Stake Delegation
  - Wallet Data: Add multisend recipient
  - Tools: Sign Message
  - Tools: BIP38 tool
  - Upgrade wallet to HD

  Also
  Closes bitcoin#553
  Closes bitcoin#1035
  And maybe bitcoin#1152 becomes not needed now.

ACKs for top commit:
  Fuzzbawls:
    ACK aa7ff86

Tree-SHA512: 21590ca025b8c3a26824fea9c1107b68e0508cc080acbf0e1bf5b1c86da15f5f6696ea680c57989cc0cb8b5f54d328f32a60d24dc3c5ca8526179ef1750b3482
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.