7b0b52f81 [RPC]Add assetlabel support to some commands (Akio Nakamura)
Pull request description:
The support of assetlabel parameter that was previously present left behind from elements-0.17 when #515 have been merged.
I think it is still useful for these commands to support assetlabels.
This patch add assetlabel support to following RPC:
1. getreceivedbyaddress
Add the 3rd parameter as "assetlabel"
Print 'optional' explicitly in the help text.↲
2. getreceivedbylabel
Add the 3rd parameter as "assetlabel"
Print 'optional' explicitly in the help text.↲
3. gettransaction
Add the 3rd parameter as "assetlabel"
4. getbalance
Set the name of 4th parameter as "assetlabel".
Print 'optional' explicitly in the help text.↲
5. listreceivedbyaddress
Set the name of 5th parameter as "assetlabel".
Enable assetlabel selection to the result of amounts.
Print 'optional' explicitly in the help text.↲
6. sendtoaddress
Print 'optional' explicitly in the help text.↲
... and add some tests for assetlabel support.
notice)
Also ```getwalletinfo``` had a parameter to specify "assetlabel".
But no need to add a parameter because the command is a catch-all one.
Tree-SHA512: ba8633e87e21ea3ae5f16f30eb3767e79d7b52cf0ada73257f71416ece2eeca91566e6d33d00bcb8efeac6012def8d3c86bb39deb0fc6a54b24758b8d469e1ef
Remain the support of assetlabel parameter that was previously present.
1. sendtoaddress
Print 'optional' explicitly in the help text.↲
2. getreceivedbyaddress
Add the 3rd parameter as "assetlabel"
Print 'optional' explicitly in the help text.↲
3. getreceivedbylabel
Add the 3rd parameter as "assetlabel"
Print 'optional' explicitly in the help text.↲
4. getbalance
Set the name of 4th parameter as "assetlabel".
Print 'optional' explicitly in the help text.↲
5. listreceivedbyaddress
Set the name of 5th parameter as "assetlabel".
Enable assetlabel selection to the result of amounts.
Print 'optional' explicitly in the help text.↲
6. gettransaction
Add the 3rd parameter as "assetlabel"
notice) Also getwalletinfo had a parameter to specify "assetlabel".
But no need to add a parameter because the command is a catch-all one.
cc49106 Update getnewaddress help message with "blech32" special case (Steven Roose)
56358b8 Add tests for blinding pegin transactions (Steven Roose)
a9f589b Add support for blinding pegin transactions (Steven Roose)
bf0cc83 Add confidential assets values to listunspent documentation (Steven Roose)
4e84596 Always return blind address for "blech32" type (Steven Roose)
Pull request description:
Adds pegin handling support for `blindrawtransaction` and `rawblindrawtransaction`.
Tree-SHA512: 1138aeedd2d5852108abd53a6afc83524e5f06ad3ab770fd8ab37c97c8dd5c49f78b8d44bdf7cbe2c073e07cd8566bf032526ab6488e99fc02f8b5b154a3fde1
f9d159b Don't assert on user-inputed values (Steven Roose)
Pull request description:
This prevents the assertion from crashing the node when an RPC user
enters invalid blinding factors.
Fixes#540.
Tree-SHA512: d68787edb9919a3a55b94884180700854941c5f273c2ac07f534bd0a3981f163fa26c8cef931001bc9906d6c74a58cdc0148eb7d53d3edbedf005a0be7c60c5b
4089122 Better explain the 8-decimal asset issuance. (Gregory Sanders)
Pull request description:
Since this RPC call is likely the first place people are exposed to this UI quirk, explain it here.
Tree-SHA512: 0d0e5d576e772facecc6632b9966c689946d76ea5b2a4faf7d790d7147ac542c952f20283458675f9753228c371a9ce16bd2599d317615c06863cce21ae20f7a
dd757ad FundTransaction: mark all change keys as kept (Gregory Sanders)
Pull request description:
Regression from 0.14 due to internal API changes.
If a key has already been marked returned it's a nop.
Tree-SHA512: c3842f17a9f6032500491c303bf0bc47b05d1f1fb7b6f37b55fc0815d7b20b30be97e34793526288dccee449e3939df8d6dc79899c1adcb3cf6abf8713700dee
c866f52e2 Squashed 'src/secp256k1/' changes from 43dd1f4..44db4d8 (Gregory Sanders)
Pull request description:
Resolves https://github.com/ElementsProject/elements/issues/540 along with other minor updates.
Tree-SHA512: ef34626cb6a5b35c81587d3bf545baab5dbe875db61047fbccfc367058c5416f8e32e5ff6b1ffbb0d14c0e5307893376b0d4b548846994470c8191fe295538ee
44db4d8 Merge pull request #57 from apoelstra/2019-04-surjectionproof-stack
f7e4d08 surjection proof: Reject proofs with too many used inputs in reduced mode
112edb2 allow reducing surjection proof size (to lower generation stack usage)
d512d78 surjectionproof: introduce `SECP256K1_SURJECTIONPROOF_MAX_USED_INPUTS` constant and set it to 16
a118acc surjectionproof: reduce stack usage
e7f4ff4 Merge pull request #70 from apoelstra/2019-06-surjection-count
f94d46e Merge pull request #71 from real-or-random/fix-trailing-test
49a1e01 surjectionproof: fix malleability in surjection proof parsing
55311b0 Fix read of wrong buffer (and OOB) in surjectionproof tests
290a27b surjectionproof: add test vectors for "set padding bits"
7bc3daa surjectionproof: add fixed test vectors
6f3b0c0 Improve comments for surctionproof init+alloc/destroy funcs
250ebb3 work in progress: add _allocate_initialized/destroy funcs
4a77633 Improve explanation of key cancellation attack in whitelist.md
898c9f0 Clarify how to derive alternative generator H
15d9278 Add bench_generator and bench_rangeproof to .gitignore
86240b2 Clean up ./configure help strings (zkp extensions)
865b761 Fix a small typo in the generator parameter name
cd5ba5c generator: remove `CHECK` abort calls exposed by public API
ff16651 musig: add user documentation
0ad6b60 Add 3-of-3 MuSig example
b61a1a9 Add MuSig module which allows creating n-of-n multisignatures and adaptor signatures.
5d5374f Add schnorrsig module which implements BIP-schnorr [0] compatible signing, verification and batch verification.
a8ae6ba add chacha20 function
9a8a71e use proper types for rangeproof min/max
14769b9 rangeproof: reduce iteration count in unit tests
0593861 Enable more builds with rest of experimental flags
e9fea74 Add explanation about how BIP32 unhardened derivation can be used to simplify whitelisting
dec1b9c Add comment to explain effect of max_n_iterations in surjectionproof_init
ea62bfe add unit test for generator and pedersen commitment roundtripping
e32924f rangeproof: fix serialization of pedersen commintments
972d056 rangeproof: verify correctness of pedersen commitments when parsing
2cc4c6f generator: verify correctness of point when parsing
65ffea4 rangeproof: check that points deserialize correctly when verifying rangeproof
cb786d6 rangeproof: add fixed vector test case
b387ba0 Expose generator in shared library
8da4328 fix spelling in documentation
6f14fe4 Test for rejection of trailing bytes in range proofs
ab4fbc1 Test for rejection of trailing bytes in surjection proofs
c908c97 Reject surjection proofs with trailing garbage
f723bf5 Minor bugfix. Wrong length due to NUL character.
6872069 Add whitelisting benchmark
6ceccb7 add whitelist_impl.h to include for dist
a3ad4a8 generator: add API tests
e93e886 generator: remove unnecessary ARG_CHECK from generate()
f1d6e4b Fix generator makefile
68be611 Fix pedersen_blind_generator_blind_sum return value documentation
51fc58a Add n_keys argument to whitelist_verify
36b100c Fix checks of whitelist serialize/parse arguments
c8f54e1 whitelist: fix serialize/parse API to take serialized length
56fca50 Fix include/secp256k1_rangeproof.h function argument documentation.
4617f04 rangeproof: add API tests
cd4e438 surjectionproof: rename unit test functions to be more consistent with other modules
2cc7f1e surjectionproof: add API unit tests
c4097f7 surjectionproof: tests_impl.h s/assert/CHECK/g
5ee6bf3 rangeproof: fix memory leak in unit tests
94e81a2 add surjection proof module
a66ea35 Implement ring-signature based whitelist delegation scheme
2bb5133 rangeproof: several API changes
9b00b61 Expose generator in pedersen/rangeproof API
54fa263 Constant-time generator module
023aa86 rangeproof: expose sidechannel message field in the signing API
89e7451 [RANGEPROOF BREAK] Use quadratic residue for tie break and modularity cleanup
f126331 Pedersen commitments, borromean ring signatures, and ZK range proofs.
e1fb4af Add 64-bit integer utilities
e541a90 Merge #629: Avoid calling _is_zero when _set_b32 fails.
f34b0c3 Merge #630: Note intention of timing sidechannel freeness.
8d1563b Note intention of timing sidechannel freeness.
1669bb2 Merge #628: Fix ability to compile tests without -DVERIFY.
ecc94ab Merge #627: Guard memcmp in tests against mixed size inputs.
544435f Merge #578: Avoid implementation-defined and undefined behavior when dealing with sizes
143dc6e Merge #595: Allow to use external default callbacks
e49f799 Add missing #(un)defines to base-config.h
77defd2 Add secp256k1_ prefix to default callback functions
908bdce Include stdio.h and stdlib.h explicitly in secp256k1.c
5db782e Allow usage of external default callbacks
6095a86 Replace CHECKs for no_precomp ctx by ARG_CHECKs without a return
cd473e0 Avoid calling secp256k1_*_is_zero when secp256k1_*_set_b32 fails.
6c36de7 Merge #600: scratch space: use single allocation
98836b1 scratch: replace frames with "checkpoint" system
7623cf2 scratch: save a couple bytes of unnecessarily-allocated memory
a7a164f scratch: rename `max_size` to `size`, document that extra will actually be allocated
5a4bc0b scratch: unify allocations
c2b028a scratch space: thread `error_callback` into all scratch space functions
0be1a4a scratch: add magic bytes to beginning of structure
92a48a7 scratch space: use single allocation
40839e2 Merge #592: Use trivial algorithm in ecmult_multi if scratch space is small
dcf3920 Fix ability to compile tests without -DVERIFY.
a484e00 Merge #566: Enable context creation in preallocated memory
0522caa Explain caller's obligations for preallocated memory
238305f Move _preallocated functions to separate header
695feb6 Export _preallocated functions
814cc78 Add tests for contexts in preallocated memory
ba12dd0 Check arguments of _preallocated functions
5feadde Support cloning a context into preallocated memory
c4fd5da Switch to a single malloc call
ef020de Add size constants for preallocated memory
1bf7c05 Prepare for manual memory management in preallocated memory
248bffb Guard memcmp in tests against mixed size inputs.
36698dc Merge #596: Make WINDOW_G configurable
a61a93f Clean up ./configure help strings
2842dc5 Make WINDOW_G configurable
1a02d6c Merge #626: Revert "Merge #620: Install headers automatically"
662918c Revert "Merge #620: Install headers automatically"
14c7dbd Simplify control flow in DER parsing
ec8f20b Avoid out-of-bound pointers and integer overflows in size comparisons
01ee1b3 Parse DER-enconded length into a size_t instead of an int
912680e Merge #561: Respect LDFLAGS and #undef STATIC_PRECOMPUTATION if using basic config
91fae3a Merge #620: Install headers automatically
5df77a0 Merge #533: Make sure we're not using an uninitialized variable in secp256k1_wnaf_const(...)
975e51e Merge #617: Pass scalar by reference in secp256k1_wnaf_const()
735fbde Merge #619: Clear a copied secret key after negation
16e8615 Install headers automatically
069870d Clear a copied secret key after negation
8979ec0 Pass scalar by reference in secp256k1_wnaf_const()
84a8085 Merge #612: Allow field_10x26_arm.s to compile for ARMv7 architecture
d4d270a Allow field_10x26_arm.s to compile for ARMv7 architecture
b19c000 Merge #607: Use size_t shifts when computing a size_t
4d01bc2 Merge #606: travis: Remove unused sudo:false
e6d01e9 Use size_t shifts when computing a size_t
7667532 travis: Remove unused sudo:false
248f046 Make sure we're not using an uninitialized variable in secp256k1_wnaf_const(...)
9ab96f7 Use trivial algorithm in ecmult_multi if scratch space is small
ee99f12 Merge #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 #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 #568: Fix integer overflow in ecmult_multi_var when n is large
2277af5 Fix integer overflow in ecmult_multi_var when n is large
dbed75d Undefine `STATIC_PRECOMPUTATION` if using the basic config
310111e Keep LDFLAGS if `--coverage`
85d0e1b Merge #591: Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing.
1419637 Merge #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 #584: configure: Use CFLAGS_FOR_BUILD when checking native compiler
20c5869 Merge #516: improvements to random seed in src/tests.c
b76e45d Make bench_internal obey secp256k1_fe_sqrt's contract wrt aliasing.
870a977 Merge #562: Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse
be40c4d Fixup for C90 mixed declarations.
c71dd2c Merge #509: Fix algorithm selection in bench_ecmult
6492bf8 Merge #518: Summarize build options after running configure
0e9ada1 Merge #567: Correct order of libs returned on pkg-config --libs --static libsecp2…
e96901a Merge #587: Make randomization of a non-signing context a noop
58df8d0 Merge #511: Portability fix for the configure scripts generated
2ebdad7 Merge #552: Make constants static:
1c131af Merge #551: secp256k1_fe_sqrt: Verify that the arguments don't alias.
ba698f8 Merge #539: Assorted minor corrections
949e85b Merge #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 #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
3cb057f Fix possible integer overflow in DER parsing
89a20a8 Correct order of libs returned on pkg-config --libs --static libsecp256k1 call.
d3cb1f9 Make use of TAG_PUBKEY constants in secp256k1_eckey_pubkey_parse
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.
3965027 Summarize build options in configure script
0f05173 Fix algorithm selection in bench_ecmult
8b3841c fix bug in fread() failure check
cddef0c tests: add warning message when /dev/urandom fails
270f6c8 Portability fix for the configure scripts generated
REVERT: 43dd1f4 Merge pull request #40 from instagibbs/size_t
REVERT: 6532fa0 Merge pull request #39 from instagibbs/more_builds
REVERT: 2b2429d rangeproof: reduce iteration count in unit tests
REVERT: 12b0e5d Enable more builds with rest of experimental flags
REVERT: 8c444ee use proper types for rangeproof min/max
REVERT: 53ad841 Add explanation about how BIP32 unhardened derivation can be used to simplify whitelisting
REVERT: 71c5fe0 Add comment to explain effect of max_n_iterations in surjectionproof_init
REVERT: 85fd42f add unit test for generator and pedersen commitment roundtripping
REVERT: 2ccf885 rangeproof: fix serialization of pedersen commintments
REVERT: 60c173b rangeproof: verify correctness of pedersen commitments when parsing
REVERT: 32d7526 generator: verify correctness of point when parsing
REVERT: ae14e8a rangeproof: check that points deserialize correctly when verifying rangeproof
REVERT: 44fe43d rangeproof: add fixed vector test case
REVERT: e065d7d Expose generator in shared library
REVERT: fb1ba32 fix spelling in documentation
REVERT: fb75faa Test for rejection of trailing bytes in range proofs
REVERT: 9b2cf17 Test for rejection of trailing bytes in surjection proofs
REVERT: a3a1800 Reject surjection proofs with trailing garbage
REVERT: 0c77ae9 Minor bugfix. Wrong length due to NUL character.
REVERT: b1f31bc Add whitelisting benchmark
REVERT: 52a9f8f add whitelist_impl.h to include for dist
REVERT: a707865 generator: add API tests
REVERT: ec1ef04 generator: remove unnecessary ARG_CHECK from generate()
REVERT: b0e9aa8 Fix generator makefile
REVERT: 526c654 Fix pedersen_blind_generator_blind_sum return value documentation
REVERT: b51886e Add n_keys argument to whitelist_verify
REVERT: 37c57de Fix checks of whitelist serialize/parse arguments
REVERT: 9b8a9d9 whitelist: fix serialize/parse API to take serialized length
REVERT: 7f17515 Fix include/secp256k1_rangeproof.h function argument documentation.
REVERT: 0d81702 rangeproof: add API tests
REVERT: 417bb06 surjectionproof: rename unit test functions to be more consistent with other modules
REVERT: 1e2d5c1 surjectionproof: add API unit tests
REVERT: 7878a29 surjectionproof: tests_impl.h s/assert/CHECK/g
REVERT: e609591 rangeproof: fix memory leak in unit tests
REVERT: 0c17f79 add surjection proof module
REVERT: c174f0c Implement ring-signature based whitelist delegation scheme
REVERT: a2bc660 rangeproof: several API changes
REVERT: 21bfb3c Expose generator in pedersen/rangeproof API
REVERT: f4620de Constant-time generator module
REVERT: d46fc3c rangeproof: expose sidechannel message field in the signing API
REVERT: cf40b1b [RANGEPROOF BREAK] Use quadratic residue for tie break and modularity cleanup
REVERT: 6d28767 Get rid of precomputed H tables (Pieter Wuille)
REVERT: ae1e576 Pedersen commitments, borromean ring signatures, and ZK range proofs.
REVERT: efc61dc Add 64-bit integer utilities
git-subtree-dir: src/secp256k1
git-subtree-split: 44db4d801fff3cd94105136cb443d603683baad2
a502bc8ff Move MainchainRPCCheck to its own schedule, fix resolution (Gregory Sanders)
Pull request description:
Also fix second->millisecond regression from 0.17
Tree-SHA512: 8074d953f6a661ce5cab76d0304d85acea0b7eabfcf9dc5be6c3bba1a34caf03649fa3feb6d20ab0e546640d98a016d3ddb12f8176b7fefbe772323d3c870de2
7737d29b7 have peg-in witness creation strip witness for space savings (Gregory Sanders)
Pull request description:
Cheaper peg-in witness for those with segwit transactions in Bitcoin.
resolves https://github.com/ElementsProject/elements/issues/628
Tree-SHA512: defc4f38b2456c6f45cf2ebd48a3d5f9e39544bd048606257ef6cf90623595c159f61e3df56845fb7a37a44b5019614e692663978a9664dd9b4d01b77bedeb86
1ae68dc0b Fix qt usages of txout-based GetCredit (Gregory Sanders)
c17af5d2d Delete unused non-CWalletTx GetCredit (Gregory Sanders)
Pull request description:
First commit is dead code that we don't want to accidentally try to use.
Second fixes actually-used code in QT for looking at transaction details.
resolves https://github.com/ElementsProject/elements/issues/630
Tree-SHA512: 181fead8c385de6d91d637607619014bb1668fa2a6c3c81fb6c575750582f3204e4f94fcf28e68f42c2c02a97e42a818ac8c3add5a9700e263f5620718973bcc
5de1e3f9d Disallow issuance calls in bitcoin mode (Gregory Sanders)
Pull request description:
Enough people are running `-regtest` and getting confused as to why they cannot issue assets to make some checks worth it even though we don't intend people to run bitcoin mode at all.
Tree-SHA512: cb595839d01a000b5a48be4ae5c7084a687bb5c252be8f812f56455082ed78e66cb15313ab15934941cd403040ae253d8270faf6e85995d5caa0d1a66ccd3c6c
This is technically not 100% correct since if blinded addresses are
turned off, it will create a normal address for "blech32".
But it's the simplest thing to do.
I also moved some RPC methods that were not at the end of the file with
the other ELEMENTS RPC methods. This makes the diff on my machine look
crazy. Let's hope GitHub has more intelligent diffs..
693f20608 fill checkqueue_tests vector for completion checking (Gregory Sanders)
3cc720592 Assert that queued checks are non-null (Gregory Sanders)
d21e0563c Address some linter complaints (Steven Roose)
ad3d496d7 Add extra lock check for OSX build (Steven Roose)
872d39fbe Prevent Travis from failing when tests are disabled (Steven Roose)
4ed0bb36b Fix dead-code linter issues (Steven Roose)
bf4f1d009 MERGE-FIX: Disable p2p_invalid_messages tests to fix later (Steven Roose)
ee0e510f3 MERGE-FIX: Fix other functional tests (Steven Roose)
5492cefcc MERGE-FIX: Fix fedpeg and pak tests for 0.18.0 (Steven Roose)
1a2a93a5f MERGE-FIX: General fixes for functional tests (Steven Roose)
3a8398024 MERGE-FIX: Fix upstream functional tests (Steven Roose)
71723f794 MERGE-FIX: Adapt bitcoin_functional (Steven Roose)
449ac89f3 MERGE-FIX: Copy bitcoin_functional from upstream (Steven Roose)
9f4f2e751 MERGE-FIX: Fix compilation errors (Steven Roose)
7256637da MERGE-FIX: Makefile fix (Steven Roose)
7afddfa8c importmulti: Don't add internal addresses to address book (Gregory Sanders)
fa483e13b rpc: Add RPCHelpMan for machine-generated help (MarcoFalke)
fa0d36f71 rpc: Include rpc/util.h where needed for RPCHelpMan (MarcoFalke)
fa5a6ce10 qa: Raise ci test_runner timeout to 40 mins (MarcoFalke)
fa3df025e travis: Avoid timeout on verify-commits check (MarcoFalke)
fa2156820 qa: Avoid race in p2p_invalid_block by waiting for the block request (MarcoFalke)
6c787d340 tests: Make feature_block pass on centos (MarcoFalke)
27154ce76 util.h: explicitly include required QString header (1Il1)
4e4de10f6 Throw error if CPubKey is invalid during PSBT keypath serialization (Gregory Sanders)
a16f44c04 qt: Remove "Pay only required fee" checkbox (Hennadii Stepanov)
8711cc0c7 qt: Improve BitcoinAmountField class (Hennadii Stepanov)
a6b5ec18f rpc: creates possibility to preserve labels on importprivkey (marcoagner)
88a79cb43 fix converttopsbt permitsigdata arg, add basic test (Gregory Sanders)
038510944 Add test for rpcpassword hash error (MeshCollider)
13fe258e9 Error if rpcpassword in conf contains a hash character (MeshCollider)
ec1201a36 Don't use systray icon on inappropriate systems (Hennadii Stepanov)
fa9ed38d5 test_node: get_mem_rss fixups (MarcoFalke)
0a656f85a qt: All tray menu actions call showNormalIfMinimized (João Barbosa)
6fc21aca6 qt: Use GUIUtil::bringToFront where possible (João Barbosa)
5796671e1 qt: Add GUIUtil::bringToFront (João Barbosa)
6b1d2972b Remove obj_c for macOS Dock icon menu (Hennadii Stepanov)
2464925e7 Use Qt signal for macOS Dock icon click event (Hennadii Stepanov)
53bb6be3f Remove obj_c for macOS Dock icon setting (Hennadii Stepanov)
76e13b586 warnings: Compiler warning on memset usage for non-trivial type (Lenny Maiorani)
1e0f3c449 macOS: disable AppNap during sync (Alexey Ivanov)
6b8d86ddb Require a public key to be retrieved when signing a P2PKH input (Andrew Chow)
e13fea975 Add regression test for PSBT signing bug #14473 (Glenn Willen)
565500508 Refactor PSBTInput signing to enforce invariant (Glenn Willen)
0f5bda2bd Simplify arguments to SignPSBTInput (Glenn Willen)
53e6fffb8 Add bool PSBTInputSigned (Glenn Willen)
65166d4cf New PartiallySignedTransaction constructor from CTransction (Glenn Willen)
4f3f5cb4b Remove redundant txConst parameter to FillPSBT (Glenn Willen)
fe5d22bc6 More concise conversion of CDataStream to string (Glenn Willen)
081accb87 Pass chain locked variables where needed (Russell Yanofsky)
79d579f4e Remove uses of cs_main in wallet code (Russell Yanofsky)
ea961c3d7 Remove direct node->wallet calls in init.cpp (Russell Yanofsky)
8db11dd0b Pass chain and client variables where needed (Russell Yanofsky)
7e2e62cf7 Add skeleton chain and client classes (Russell Yanofsky)
fa4da3c05 [doc] conf: Remove deprecated options from docs, Other cleanup (MarcoFalke)
7a90b1b9d build: Fix windows build error if `--disable-bip70` (Chun Kuan Lee)
b191c7dfb doc: add comment explaining recentRejects-DoS behavior (James O'Beirne)
c82190cdb tests: Add Python dead code linter (vulture) (practicalswift)
590a57fde tests: Remove unused testing code (practicalswift)
535203075 Avoid using numeric_limits for sequence numbers and lock times (Russell Yanofsky)
bafb92150 Remove duplicated code (Hennadii Stepanov)
e4dc39b3b Replace platform dependent type with proper const (Hennadii Stepanov)
053b6f42d align items in contrib init (Harry Moreno)
99d33a6be appveyor: Script improvement part II (Chun Kuan Lee)
4773fa820 Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers. (practicalswift)
5c292dafc Add UBSan suppressions needed to pass test suite (practicalswift)
fced6b508 Add UBSan options: print_stacktrace + halt_on_error (practicalswift)
3d305e3b8 Send fewer spam messages in p2p_invalid_messages (James O'Beirne)
5a05aa2db Add metavar to match var name in help text + Change wording for better readability (Martin Erlandsson)
fef5adcc3 blockfilter: Use unordered_set instead of set in blockfilter. (Jim Posen)
4fb789e9b Extract CSipHasher to it's own file in crypto/ directory. (Jim Posen)
bbbbb3f88 qa: Add test to ensure node can generate all help texts at runtime (MarcoFalke)
d20a9fa13 tests: add tests for invalid P2P messages (James O'Beirne)
62f94d39f tests: add P2PConnection.send_raw_message (James O'Beirne)
5aa31f6ef tests: add utility to assert node memory usage hasn't increased (James O'Beirne)
825f779dc doc: Add historical release notes for 0.17.0.1 (Wladimir J. van der Laan)
9f49db733 Enable functional tests in UBSAN job. Enable -fsanitize=integer (part of UBSAN). Merge UBSAN Travis job with no depends. (practicalswift)
6c5355e43 example_test.py: fixup coinbase height argument, derive number clearly (Gregory Sanders)
b6022149e trivial: Don't translate in help text (ken2812221)
086fc8357 Tests: Fix a comment (fridokus)
dfef0df84 tests: Dry run bench_bitcoin (-evals=1 -scaling=0: <1 second running time) as part "make check" to allow for quick identification of assertion/sanitizer failures in benchmarking code (practicalswift)
00c6306a6 Remove RUN_BENCH logic (practicalswift)
a4edb168b ZMQ: add options to configure outbound message high water mark, aka SNDHWM (mruddy)
ab8c6f24d Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986) (practicalswift)
991248649 rpc: Make HTTP RPC debug logging more informative (practicalswift)
33ae98591 doc: Update OpenBSD build guide for 6.4 (fanquake)
6d247b114 gitignore contents of db4 folder (Marty Jones)
4ed730802 scripted-diff: Rename misleading 'defaultPort' to 'http_port' (Murray Nesbitt)
65f3672f3 wallet: Refactor to use WalletLocation (João Barbosa)
01a4c095c wallet: Add WalletLocation utility class (João Barbosa)
04972fefd Remove unused `adjustedTime` parameter (Hennadii Stepanov)
63c74d2d3 build: Remove illegal spacing in darwin.mk (Jon Layton)
2068f089c scripted-diff: Move util files to separate directory. (Jim Posen)
14a06525b tests: add test for 'getaddressinfo' RPC result 'ischange' field (whythat)
93d1aa9ab rpcwallet: add 'ischange' field to 'getaddressinfo' response (whythat)
fa4bcaf82 travis: Compile once on xenial (MarcoFalke)
fa4362661 test_runner: Remove travis specific code (MarcoFalke)
3fd7e76f6 [tests] Move deterministic address import to setup_nodes (John Newbery)
4fb3388db check that a separator is found for psbt inputs, outputs, and global map (Andrew Chow)
9605bbd31 Make clear function argument case in dev notes (Carl Dong)
fa77aaa5a doc: Add external interface consistency guarantees (MarcoFalke)
862d159d6 Add test for conversion from non-witness to witness UTXO (Pieter Wuille)
f8c171463 Convert non-witness UTXOs to witness if witness sig created (Andrew Chow)
0a0466761 FreeBSD: Document Python 3 requirement for 'gmake check' (Murray Nesbitt)
4bd125fff tests: Print dots by default (Chun Kuan Lee)
cf2f4306f gui: explicitly disable "Dark Mode" appearance on macOS (fanquake)
0e6de3aac added details about commit messages (Martin Erlandsson)
c11875c59 Add segwit address tests for importmulti (MeshCollider)
201451b1c Make getaddressinfo return solvability (MeshCollider)
1753d217e Add release notes for importmulti segwit change (MeshCollider)
353c06459 Fix typo in test_framework/blocktools (MeshCollider)
f6ed748cf Add SegWit support to importmulti with some ProcessImport cleanup (MeshCollider)
d8bf1071c Bugfix: RPC: Add address_type named param for createmultisig (Luke Dashjr)
15db77f4d Don't rely on locale dependent functions in base_blob<BITS>::SetHex(...) (uint256), DecodeBase58(...), ParseMoney(...) and ParseHex(...) (practicalswift)
36c8e6858 Various textual improvements in build docs (Martin Erlandsson)
fa511e8da Pass tx pool reference into CheckSequenceLocks (MarcoFalke)
fa78a2fc6 [tests] Test that nodes respond to getdata with notfound (MarcoFalke)
3387bb082 travis: avoid timeout without saving caches, also enable all qt (Chun Kuan Lee)
fbaccbf00 build: Fix Qt link order for Windows build (Chun Kuan Lee)
ed2e18398 Remove fs::relative call and fix listwalletdir tests (João Barbosa)
3be209d10 rpc: Always throw in getblockstats if -txindex is required (João Barbosa)
43719e0a3 [macOS] Remove DS_Store WindowBounds bytes object (Jonas Schnelli)
4dca7d0a9 appveyor: Enable multiwallet test (Chun Kuan Lee)
4ea77320c tests: add test case for loading copied wallet twice (Chun Kuan Lee)
2d796faf6 wallet: Fix duplicate fileid (Chun Kuan Lee)
96c509e4d show the progress of functional test (Isidoro Ghezzi)
8907df9e0 qa: Ensure wallet unload during walletpassphrase timeout (João Barbosa)
321decffa rpc: Fix wallet unload during walletpassphrase timeout (João Barbosa)
48439b3c1 Don't link SSL_LIBS with GUI unless BIP70 is enabled (James Hilliard)
fbb643d2a Add BIP70 deprecation warning (James Hilliard)
38b98507c qt: cleanup: Move BIP70 functions together in paymentserver (Wladimir J. van der Laan)
9dcf6c0df build: Add --disable-bip70 configure option (Wladimir J. van der Laan)
585b47cfe rpc: Prevent concurrent savemempool (João Barbosa)
2b91e42ec [docs] Add release note for removing getwitnessaddress (John Newbery)
ebec90ac9 [wallet] Remove deprecated addwitnessaddress RPC method (John Newbery)
07e3f585a [test] Remove deprecated addwitnessaddress from feature_segwit.py (John Newbery)
82f2fa03a [test] Remove deprecated addwitnessaddress from wallet_bumpfee.py (John Newbery)
9d7ee187a [test] Remove deprecated addwitnessaddress from p2p_compactblocks.py (John Newbery)
3cf77f0b3 [tests] Remove deprecated addwitnessaddress call from wallet_dump.py (John Newbery)
bdefc9705 [tests] Remove deprecated addwitnessaddress call from feature_nulldummy (John Newbery)
67d7d67cf [test] Fix flake8 warnings in tests (John Newbery)
69e7ee2dd Add GUARDED_BY(cs_wallet) for setExternalKeyPool, mapKeyMetadata, m_script_metadata and setLockedCoins (practicalswift)
37b2538c2 Add GUARDED_BY(cs_wallet) for encrypted_batch, nWalletMaxVersion, m_max_keypool_index and nOrderPosNext (practicalswift)
dee42927c wallet: Add Clang thread safety analysis annotations (practicalswift)
1c7e25db0 wallet: Add missing locks (practicalswift)
008990536 Add compile time checking for cs_main locks which we assert at run time (practicalswift)
d4d70eda3 Fix listreceivedbyaddress not taking address as a string (Eric Scrivner)
ab9aca2bd [rpc] add 'getnewaddress' hint to 'generatetoaddress' help text. (John Newbery)
c9f02955b [wallet] Deprecate the generate RPC method (John Newbery)
aab81720d [tests] Add generate method to TestNode (John Newbery)
c26920933 [tests] Small fixups before deprecating generate (John Newbery)
591820430 Removed explicit mention of storage requirement (squashed) (Martin Erlandsson)
8afb16687 Update documentation to incude origin information (Pieter Wuille)
ff37459ab Add tests for key origin support (Pieter Wuille)
2c6281f18 Add key origin support to descriptors (Pieter Wuille)
eeeaa2921 descriptors.md: Refer to descriptors as describing instead of matching (Russell Yanofsky)
eb4941256 doc/descriptors.md tweaks (Russell Yanofsky)
8640631eb docs: Document lint tests (Mason Simon)
97ddc6026 validation: Pass chainparams in AcceptToMemoryPoolWorker(...) (practicalswift)
fadffae17 Revert "Make qt wallet test compatible with qt4" (MarcoFalke)
1fb3c167c Add `doc/bitcoin-conf.md` (Hennadii Stepanov)
94e21c150 test: forward timeouts properly in send_blocks_and_test (James O'Beirne)
b6b991531 Textual improvements (Martin Erlandsson)
29ed2d64f Improve CAmount tests (Hennadii Stepanov)
a3197c529 Disable wallet and address book Qt tests on macOS minimal platform (Russell Yanofsky)
1f01fe025 bitcoin-tx: Use constant for n pubkeys check (Antoine Le Calvez)
369244f65 utils: Fix broken Windows filelock (Chun Kuan Lee)
bc60c615a Avoid 1 << 31 (UB) in calculation of SEQUENCE_LOCKTIME_DISABLE_FLAG (practicalswift)
7e18673f0 Fix typo (Kristaps Kaupe)
ca6d86c32 tests: Stop node before removing the notification file (Chun Kuan Lee)
d56a06893 docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad16 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360 rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bf wallet: Add ListWalletDir utility (João Barbosa)
96f6dc9fc Avoid triggering undefined behaviour in base_uint<BITS>::bits() (practicalswift)
2ab9140c9 Add tooltips for both datadir and blocksdir (Hennadii Stepanov)
304570450 Add "Blocksdir" to Debug window (Hennadii Stepanov)
b0510d78a Set C locale for amountWidget (Hennadii Stepanov)
2d471636e wallet: Remove trailing separators from -walletdir arg (Pierre Rochard)
ea3009ee9 wallet: Add walletdir arg unit tests (Pierre Rochard)
43c7fbb1e Make MSVC compiler read the source code using utf-8 (Chun Kuan Lee)
f86a571ed tests: Add test case for std::ios_base::ate (Chun Kuan Lee)
a554cc901 Move boost/std fstream to fsbridge (Chun Kuan Lee)
86eb3b3f1 utils: Add fsbridge fstream function wrapper (Chun Kuan Lee)
d56202707 [doc] getblocktemplate: use SegWit in example (Sjors Provoost)
081cc02a9 Fix QCompleter popup regression (Hennadii Stepanov)
ee0b7c4e8 build: Pin to specific versions of Python packages we install from PyPI in Travis (practicalswift)
c32cf6a0f Add ignored word: mut (practicalswift)
4ae50daaa Revert "qa: Fix codespell error and have lint-spelling error instead of warn" (practicalswift)
032488e6e Move SocketHandler logic to private method. (Patrick Strateman)
2af9cff11 Move InactivityCheck logic to private method. (Patrick Strateman)
7479b63d9 Move DisconnectNodes logic to private method. (Patrick Strateman)
edb5350c3 Move NotifyNumConnectionsChanged logic to private method. (Patrick Strateman)
7d173c4cd qt: Revert "Force TLS1.0+ for SSL connections" (Tim Ruffing)
36323e2ac Clean systray icon menu for -disablewallet mode (Hennadii Stepanov)
2f6b466ae Stop requiring imported pubkey to sign non-PKH schemes (Pieter Wuille)
b8edb9810 [rpc] Descriptions: Textual consistency fixes (Jon Layton)
a48e44bd4 Fix CLEAN_BITCOIN_TEST to remove .log files for all BITCOIN_TESTS files (James O'Beirne)
3e9f6c821 Add missing locks and locking annotations for CAddrMan (practicalswift)
f149e31ea depends: qt: avoid system harfbuzz and bz2 (Cory Fields)
854c85ae9 test: allow arguments to be forwarded to flake8 in lint-python.sh (James O'Beirne)
3f5ac2720 Include some files currently missed by 'make distclean'. (murrayn)
3b706212a doc: RPC documentation (Karel Bílek)
0bd64dc6d Fix macOS files description (Hennadii Stepanov)
faa4043c6 qa: Run more tests with wallet disabled (MarcoFalke)
62c304ea4 tests: Allow closed http server in assert_start_raises_init_error (Chun Kuan Lee)
59a50c217 appveyor: trivial build cache modifications (Chun Kuan Lee)
42a995ae4 [tests] Remove rpc_zmq.py (John Newbery)
b09c81454 Don't access out of bounds array entry array[sizeof(array)] (Ben Woosley)
64937fda6 [docs] path to descriptors.md fixed (Damian Mee)
380c84321 utils: Convert Windows args to utf-8 string (Chun Kuan Lee)
4a9f064ea Fix typos (Dimitris Apostolou)
86eddd466 doc: miss install (poiuty)
d10f2cd7d travis: set codespell version to avoid breakage (MarcoFalke)
fad95e8da doc: Split build linux dependencies (MarcoFalke)
000000901 doc: Split depends installation instructions per arch (MarcoFalke)
ff94da788 tests: Make appveyor run with --usecli (practicalswift)
db0183936 test: Add missing call to skip_if_no_cli() (practicalswift)
1f59c6f3e doc: Remove "temporary file" notice from 0.17.0 release notes (Wladimir J. van der Laan)
5aaf1a047 doc: Add historical release notes for 0.17.0 (Wladimir J. van der Laan)
d813266db [gitian] use versioned unsigned tarballs instead of generically named ones (Andrew Chow)
fa69ac761 doxygen: Fix member comments (MarcoFalke)
430bf6c7a depends: fix bitcoin-qt back-compat with older freetype versions at runtime (Cory Fields)
0809e68a9 doc: Add historical release notes for 0.14.3 and 0.15.2 (Wladimir J. van der Laan)
fae9e84cb doc: Add GitHub pr template (MarcoFalke)
c7b3e487f tests: exclude all tests with difference parameters (Chun Kuan Lee)
fa84723e7 amount: Move CAmount CENT to unit test header (MarcoFalke)
9c5af58d5 Consolidate redundant implementations of ParseHashStr (Ben Woosley)
66b3fc543 Skip stale tip checking if outbound connections are off or if reindexing. (Gregory Maxwell)
a2a04a5ab Bugfix: Only run bitcoin-tx tests when bitcoin-tx is enabled (Luke Dashjr)
92af71cea configure: Make it possible to build only one of bitcoin-cli or bitcoin-tx (Luke Dashjr)
e46023287 Document fixed attribute behavior in critical test framework classes. (Justin Turner Arthur)
17b42f412 Check for specific tx acceptance failures based on script signature (Justin Turner Arthur)
3a4449e9a Strictly enforce instance attrs in critical functional test classes. (Justin Turner Arthur)
1d0ce94a5 Fix for incorrect version attr set on functional test segwit block. (Justin Turner Arthur)
ba923e32a test: Fix broken segwit test (practicalswift)
7ac911afe [docs] Add release notes for removing `-usehd` (John Newbery)
25548b295 [wallet] Remove -usehd (John Newbery)
20442f617 [wallet] remove redundand restart node (gustavonalle)
db1580566 [wallet] Ensure wallet is unlocked before signing (gustavonalle)
2c3eade70 Make fs::path::string() always return utf-8 string (Chun Kuan Lee)
fa6b30c40 lcov: filter /usr/lib/ from coverage reports (MarcoFalke)
ff40357da AppVeyor: Move AppVeyor YAML to dot-file-style YAML (Mitchell Cash)
67654b640 tests: write the notification to different files to avoid race condition (Chun Kuan Lee)
6fa901fb4 Don't edit Chainparams after initialization (Jorge Timón)
980b38f8a MOVEONLY: Move versionbits info out of versionbits.o (Jorge Timón)
661ac15a4 appveyor: Run functional tests on appveyor (Chun Kuan Lee)
2148c36b6 tests: Make it possible to run functional tests on Windows (Chun Kuan Lee)
5eb20f81d Consistently use ParseHashV to validate hash inputs in rpc (Ben Woosley)
1eb9a9b52 [RPC] Remove warning for removed estimatefee RPC (John Newbery)
30973e984 [REST] improve performance for JSON calls (Antoine Le Calvez)
a23a7f60a wallet: Avoid potential use of unitialized value bnb_used in CWallet::CreateTransaction(...) (practicalswift)
b6718e373 tests: Use MakeUnique to construct objects owned by unique_ptrs (practicalswift)
3ccfa34b3 convert C-style (void) parameter lists to C++ style () (Arvid Norberg)
fa910e430 init: Remove deprecated args from hidden args (MarcoFalke)
52beb9ed8 Add autogen.sh in ARM Cross-compilation (Walter)
a2eb6f540 [rpc] Add getnodeaddresses RPC command (chris-belcher)
fd5c95cc4 doc: Add historical release notes for 0.16.3 (Wladimir J. van der Laan)
9b4a36eff [qa] Test for duplicate inputs within a transaction (Suhas Daftuar)
b8f801964 Fix crash bug with duplicate inputs within a transaction (Suhas Daftuar)
0ca4c8b3c Changed functional tests which do not require wallets to run without (sanket1729)
f1bd03eb0 [depends, zmq, doc] upgrade zeromq to 4.2.5 and avoid deprecated zeromq api functions (mruddy)
be54f42e5 use integer division instead of double conversion and multiplication for computing amounts (Arvid Norberg)
Pull request description:
Currently this catches up until Core commit f617e05c38 and has everything working except the `p2p_invalid_messages` unit test that gets some updates in later upstream commits.
I'm planning to continue to catch up to 519b0bc5dc next, which is the merge-base between upstream master and upstream v0.18.0.
Fixes#532.
Tree-SHA512: a8da8fe1c03d3317fc42d610b2203b7b84ac403ecdff88cf54be525c7a94b0b366ae8741b2652274152f9da657631c221bf2540b79c9c121b5b1e74facd197c1