Commit graph

3071 commits

Author SHA1 Message Date
Andrew Poelstra
9d9fec3785 Merge fdd068507d into merged_master (Bitcoin PR #20056) 2021-05-06 22:30:00 +00:00
Andrew Poelstra
5fd99738b0 Merge 2878167c18 into merged_master (Bitcoin PR #20000) 2021-05-06 22:15:27 +00:00
Andrew Poelstra
f994740dd1 fuzz: fix SignatureHash stuff for rangeproof sighash API changes 2021-03-30 16:53:54 +00:00
Andrew Poelstra
14ff891036 Various ubsan fixes
Mostly harmless signed/unsigned conversions but also an actual
memory leak related to `BlindingData`.
2021-03-26 17:33:05 +00:00
Andrew Poelstra
1670bdfa0b ci: fix benchmarks, fuzztests and unit tests
Includes a memory leak in the checkqueue unit test (but not in
the actual code). WE really need to switch our checkqueue to use
std::unique_pointer rather than bare pointers. But this would be
invasive enough that I want to do it in a followup PR.

Also pretty-much disable the validation_flush_cache unit test.
This is a stupid and irritating test which tries to unit-test
exact memory usage of std containers. It already has at least
one "remove wrong assumptions" update upstream and after many
tries I was unable to change all the magic numbers in a way
that'd consistently pass CI for Elements.

Also adds a couple ubsan suppressions about perfectly-legitimate
conversions of integer types.
2021-03-26 17:33:05 +00:00
Andrew Poelstra
ee5d4e3256 ci: temporarily disable qa-assets unit tests
These "pass" locally but in CI they download pre-signed transactions
from https://github.com/bitcoin-core/qa-assets/ which we need to
fork and recreate.

Essentially these files are the output of the Taproot functional
test (which passes), so I am not too worried about actual failures
here. But we should wait until after the Taproot sighash is finalized
to recreate these assets.
2021-03-26 17:33:04 +00:00
Andrew Poelstra
68bfd70b43 ci: various linter / CI compiler error fixes
Includes changing TRUE to OP_TRUE for anyone-can-spend output name,
to avoid symbol conflict on win64 builds, which is really obnoxious.
2021-03-26 17:33:04 +00:00
Andrew Poelstra
22cf380984 Merge a993a7c675 into merged_master (Elements PR #960)
Several conflicts in the C++ code related to the new `flags` parameter
to `CheckSignature` and the corresponding function being renamed upstream
to `CheckSignatureECDSA`.

Several conflicts in the test harness as Steven sorta pulled the new
upstream ECKey module into the Python code, and the actual upstream
code was slightly different. Also needed to update the feature_taproot
code to always use the non-RANGEPROOF sighash since dynafed is not
enabled in the Taproot test.

Also had to pull the `set_wif` method out of `ECKey` and inline it because
otherwise it triggers a "circular inclusion" error between script.py (which
would pull in `base58_to_bytes` from address.py) and address.py (which now
pulls in some taproot EC related stuff from script.py).

Noticed that #960 does not test the "sighash rangeproof flag set but no
witnesses" case.
2021-03-25 23:46:21 +00:00
Steven Roose
691040a63d
Add SIGHASH_RANGEPROOF support 2021-02-22 15:19:09 +00:00
Andrew Poelstra
5b89a9fc92 Merge 80e32e120e into merged_master (Bitcoin PR #20305) 2020-12-02 17:53:59 +00:00
Andrew Poelstra
8659aaf15c Merge 2fa085a5d7 into merged_master (Bitcoin PR #20033) 2020-12-02 15:03:16 +00:00
Andrew Poelstra
870c0a9f76 Merge 28cb61646b into merged_master (Bitcoin PR #19065) 2020-12-02 14:21:59 +00:00
Andrew Poelstra
af1c2e9f92 Merge 8a486158cb into merged_master (Bitcoin PR #20188) 2020-12-02 13:38:34 +00:00
Andrew Poelstra
e4026fa667 Merge af8ec1d3e5 into merged_master (Bitcoin PR #20375) 2020-12-02 13:26:14 +00:00
Andrew Poelstra
e9a3051078 Merge fa8dd34e91 into merged_master (Bitcoin PR #20332) 2020-12-02 07:25:53 +00:00
Andrew Poelstra
c509a5d0df Merge 0b69bb90ee into merged_master (Bitcoin PR #20355) 2020-12-02 07:00:03 +00:00
Andrew Poelstra
72b414fd7c Merge f33e332541 into merged_master (Bitcoin PR #20303) 2020-12-02 04:23:49 +00:00
Andrew Poelstra
e5658482a2 Merge 6760088015 into merged_master (Bitcoin PR #20300) 2020-12-02 03:41:37 +00:00
Andrew Poelstra
76437996fb Merge 88776c2926 into merged_master (Bitcoin PR #20245) 2020-12-02 03:12:26 +00:00
Andrew Poelstra
31e4afc89e Merge 218fe60d91 into merged_master (Bitcoin PR #20290) 2020-12-02 01:57:20 +00:00
Andrew Poelstra
1a2796e9cb Merge 5174b534da into merged_master (Bitcoin PR #20289) 2020-12-02 01:50:49 +00:00
Andrew Poelstra
00119482a0 Merge 8387f832d6 into merged_master (Bitcoin PR #20187) 2020-12-02 01:34:05 +00:00
Andrew Poelstra
aff3d057d5 Merge c5ec0367d7 into merged_master (Bitcoin PR #20165) 2020-12-01 21:54:11 +00:00
Andrew Poelstra
02fc69464f Merge 5a6f3c5a01 into merged_master (Bitcoin PR #20080) 2020-12-01 21:02:21 +00:00
Andrew Poelstra
8c3388f038 Merge 924a4ff7eb into merged_master (Bitcoin PR #20242) 2020-12-01 18:34:13 +00:00
Andrew Poelstra
d2c3e1aed0 Merge fa463f1163 into merged_master (Bitcoin PR #20247) 2020-12-01 16:52:05 +00:00
Andrew Poelstra
5ca702b5d9 Merge 152ddb3197 into merged_master (Bitcoin PR #20180) 2020-12-01 06:29:15 +00:00
Andrew Poelstra
0ef34670a2 Merge 711ddce943 into merged_master (Bitcoin PR #20131) 2020-12-01 03:36:05 +00:00
Andrew Poelstra
e765fc93ea Merge 3caee16946 into merged_master (Bitcoin PR #19953)
Taproot :D
2020-12-01 02:54:57 +00:00
Andrew Poelstra
f327fa97f2 Merge c2c4dbaebd into merged_master (Bitcoin PR #19988) 2020-11-30 19:05:03 +00:00
Andrew Poelstra
5ac09f4543 Merge 3750f664b3 into merged_master (Bitcoin PR #20129) 2020-11-30 18:44:05 +00:00
Andrew Poelstra
a21f702161 Merge f79a4a8952 into merged_master (Bitcoin PR #19998) 2020-11-30 17:55:22 +00:00
Andrew Poelstra
4cb66aae97 Merge 0b2abaa666 into merged_master (Bitcoin PR #19954) 2020-11-30 17:12:23 +00:00
Andrew Poelstra
1961e9c99c Merge d9de00b3e0 into merged_master (Bitcoin PR #20105) 2020-11-30 16:42:53 +00:00
Andrew Poelstra
45f9d081a2 Merge b337bd7bc0 into merged_master (Bitcoin PR #20065) 2020-11-30 16:22:16 +00:00
Andrew Poelstra
ab283556b0 Merge db88db4727 into merged_master (Bitcoin PR #19339)
Changes API for AcceptToMemoryPool to no longer check maximum fee; we remove
this check from interfaces::CChain::testPeginClaimAcceptance. This is fine,
the check never should have been there (this method's job is to notice double
claim attempts and provide a more helpful message to the user; other mempool
failures should be caught later in the `claimrawpegin` logic when we call
`pwallet->commitTransaction` which actually subits to the mempool). It was
only checking fees because the API made it easier to do so than to not.
2020-11-30 15:50:18 +00:00
Andrew Poelstra
8ef11db1b0 Merge d9935222d5 into merged_master (Bitcoin PR #19951) 2020-11-30 05:14:15 +00:00
Andrew Poelstra
979fc8ef9d Merge a6a993a888 into merged_master (Bitcoin PR #20060) 2020-11-30 04:19:03 +00:00
Andrew Poelstra
86c430b852 Merge 3487e421a7 into merged_master (Bitcoin PR #20004) 2020-11-30 03:25:50 +00:00
Andrew Poelstra
7c68cb4fb0 Merge 6af9b31bfc into merged_master (Bitcoin PR #19107) 2020-11-29 23:52:21 +00:00
Andrew Poelstra
850b0e367b Merge 655937ebcb into merged_master (Bitcoin PR #19845) 2020-11-29 23:08:29 +00:00
Andrew Poelstra
07d50b2951 Merge c95784e3d3 into merged_master (Bitcoin PR #20016) 2020-11-29 22:31:43 +00:00
Andrew Poelstra
5f5f4279ed Merge 1b313cacc9 into merged_master (Bitcoin PR #19927) 2020-11-29 21:07:46 +00:00
Andrew Poelstra
c1f937fe53 Merge 8219893825 into merged_master (Bitcoin PR #19993) 2020-11-29 18:52:06 +00:00
Andrew Poelstra
1c0f4b7a7d Merge 77376034d4 into merged_master (Bitcoin PR #17785) 2020-11-29 17:04:21 +00:00
Andrew Poelstra
455f61c0db Merge 8c5f68118c into merged_master (Bitcoin PR #18267)
This commit adds signet support, which is a little bit silly/redundant for us :)
Was a surprisingly easy merge to handle, and hopefully in future Core is more
mindful of signed blocks when they are changing code architecture.

I had to change a couple lines of src/signet.cpp to add blank assets to the
CTxOuts and to find transaction input scriptWitnesses. No need to add any
other tx witness data (and the CAsset()s that I did add to make things compile
won't be used..) because signet will always have g_con_elementsmode off.
2020-11-29 16:57:55 +00:00
Andrew Poelstra
42ec9ecdbe Merge be3af4f310 into merged_master (Bitcoin PR #19934) 2020-11-29 05:54:04 +00:00
Andrew Poelstra
f14158137a Merge a47e596486 into merged_master (Bitcoin PR #19841) 2020-11-29 02:43:18 +00:00
Andrew Poelstra
bc5e94af85 Merge 4f229d8904 into merged_master (Bitcoin PR #19914) 2020-11-29 02:21:13 +00:00
Andrew Poelstra
b657dd4a3a Merge 147d50d63e into merged_master (Bitcoin PR #19791) 2020-11-29 02:07:46 +00:00