Commit graph

19380 commits

Author SHA1 Message Date
Andrew Poelstra
46ee0e1bd1 Merge c45e1d9aa7 into merged_master (Bitcoin PR bitcoin-core/gui#21) 2021-05-07 13:59:36 +00:00
Andrew Poelstra
9d9fec3785 Merge fdd068507d into merged_master (Bitcoin PR #20056) 2021-05-06 22:30:00 +00:00
Andrew Poelstra
575da3c422 Merge 46f0b2f976 into merged_master (Bitcoin PR #19851) 2021-05-06 22:22:51 +00:00
Andrew Poelstra
5fd99738b0 Merge 2878167c18 into merged_master (Bitcoin PR #20000) 2021-05-06 22:15:27 +00:00
Andrew Poelstra
436a1295e9 Merge 0a267f4eb8 into merged_master (Bitcoin PR bitcoin-core/gui#46) 2021-05-06 22:08:23 +00:00
Andrew Poelstra
74ec32907f Merge 848d66519c into merged_master (Bitcoin PR #20054) 2021-05-06 21:38:12 +00:00
Andrew Poelstra
1ecb6390d4 Merge 884bde510e into merged_master (Bitcoin PR #20291) 2021-05-06 21:31:08 +00:00
Andrew Poelstra
bd90341b97 Merge 7aa94569ce into merged_master (Bitcoin PR #20024) 2021-05-06 21:14:55 +00:00
Andrew Poelstra
ec8588c71e Merge 71d068db40 into merged_master (Bitcoin PR #18531)
(Mostly) mechanical RPC changes
2021-05-06 21:05:40 +00:00
Andrew Poelstra
620add9627 Merge 9ab9665c74 into merged_master (Bitcoin PR #15710) 2021-05-06 19:50:01 +00:00
Andrew Poelstra
a1c928558e Merge 1cc5e693c1 into merged_master (Bitcoin PR #20358) 2021-05-06 19:35:38 +00:00
Andrew Poelstra
155b09bf5e Merge fbb2bee82d into merged_master (Bitcoin PR #20067) 2021-05-06 19:28:29 +00:00
Andrew Poelstra
9662170619 Merge e12ad7f383 into merged_master (Bitcoin PR #19968) 2021-05-06 19:21:13 +00:00
Andrew Poelstra
1d951c2239 Merge ea7926527c into merged_master (Bitcoin PR #20413) 2021-05-06 18:51:59 +00:00
Andrew Poelstra
d12efb3e2b Merge 5bcae7967f into merged_master (Bitcoin PR #20408) 2021-05-06 17:16:52 +00:00
Andrew Poelstra
882fd6628a Merge a64ff1c4d3 into merged_master (Bitcoin PR #19905) 2021-05-06 16:40:36 +00:00
Andrew Poelstra
fe47385795 Merge 54532f46c4 into merged_master (Bitcoin PR bitcoin-core/gui#109) 2021-05-06 16:33:09 +00:00
Andrew Poelstra
3c748b001b Merge 4ae04090bb into merged_master (Bitcoin PR bitcoin-core/gui#118) 2021-05-06 16:25:50 +00:00
Steven Roose
108e1ba7bb
Merge ElementsProject/elements#984: Address problems raised in #935 (0.21 rebase)
f2a0050f31 primitives: do not de/serialize asset issuance in bitcoin mode (Andrew Poelstra)
9c1de4d85f ci: give more memory to a couple Cirrus jobs (Andrew Poelstra)
40c09f637c rpc: fix error message accidentally changed in 5e62edc (Andrew Poelstra)
adbd9f163a qt: fix PSBT/PSET change from 4839db857d (Andrew Poelstra)
057237bd02 qt: fix double-scoping of enum introduced in c3b6bbb (Andrew Poelstra)
5819f25975 bitcoin-tx: add ASSET to the help text of some option (Andrew Poelstra)
1f3cfb451a chainparamsbase: fix bool-vs-enum mistake in 9c3480fea9 (Andrew Poelstra)
2573747447 fix test code duplication from 3a0de44d90 (Andrew Poelstra)
0045cafd75 rpc/mining: restore code erroneously dropped in 0e2c963dbf (Andrew Poelstra)
39112e1eaa correct copy/paste error in error message (Andrew Poelstra)

Pull request description:

ACKs for top commit:
  stevenroose:
    utACK f2a0050

Tree-SHA512: 5ce831ef24e51e76b93cd4d8e345a382dbd716e38c99565a7c2f25b5eeb8bac1e36c623491c5763ceb7b47444024b5821a878942df150bb01b33eeae33f292b1
2021-05-06 15:33:55 +01:00
Glenn Willen
b47c279ee1 Fix compilation errors after rebase onto master 2021-04-29 15:00:54 -07:00
Andrew Poelstra
f2a0050f31 primitives: do not de/serialize asset issuance in bitcoin mode
Fixes a fuzztest failure related to `g_con_elementsmode`.
2021-04-28 22:33:34 +00:00
Andrew Poelstra
40c09f637c rpc: fix error message accidentally changed in 5e62edc 2021-04-15 18:06:52 +00:00
Andrew Poelstra
adbd9f163a qt: fix PSBT/PSET change from 4839db857d 2021-04-15 18:04:01 +00:00
Andrew Poelstra
057237bd02 qt: fix double-scoping of enum introduced in c3b6bbb 2021-04-15 17:39:50 +00:00
Andrew Poelstra
5819f25975 bitcoin-tx: add ASSET to the help text of some option 2021-04-15 17:33:44 +00:00
Andrew Poelstra
1f3cfb451a chainparamsbase: fix bool-vs-enum mistake in 9c3480fea9 2021-04-15 17:09:11 +00:00
Andrew Poelstra
0045cafd75 rpc/mining: restore code erroneously dropped in 0e2c963dbf 2021-04-15 17:03:29 +00:00
Andrew Poelstra
39112e1eaa correct copy/paste error in error message 2021-04-15 16:46:45 +00:00
Glenn Willen
6d19c44bd0 Add liquidv1test chainparams. 2021-04-07 15:59:22 -07:00
Glenn Willen
a8704b270d Fix description of -chain parameter 2021-04-07 15:56:34 -07:00
Glenn Willen
188283eecb Change stray uses of global gArgs to args in CCustomParams 2021-04-07 15:55:44 -07:00
Andrew Poelstra
f994740dd1 fuzz: fix SignatureHash stuff for rangeproof sighash API changes 2021-03-30 16:53:54 +00:00
Andrew Poelstra
fec99efb8f fix invalid memory access that I added when merging descriptor wallets
Thanks, ubsan + fuzzer!
2021-03-26 17:33:05 +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
ef3bc3084a build: move dynafed and pak to server rather than libelementsconsensus
This was causing build failures on win64, and since we (currently) do
not expose any dynafed or PAK stuff in libelementsconsensus, there is
no reason to be trying to link these.
2021-03-26 17:33:05 +00:00
Andrew Poelstra
89926e6b5f ci: correct bitcoin-node to elements-node for multiprocess CI job
Also rename libbitcoin_consensus to libelements_consensus more
consistently in src/Makefile.am. I'm not sure this was causing any
problems but it did make it harder to follow what autotools is
thinking.
2021-03-26 17:33:05 +00:00
Andrew Poelstra
f912cb8e2e Revert "gui: Alternate row background based on txid"
This reverts commit 264f9c4d4f7c1aeb3e89eedddcd88e47e8bba938.

This was included in https://github.com/ElementsProject/elements/pull/569/
which received no review, and is a backport of upstream PR
https://github.com/bitcoin/bitcoin/pull/12578 which was
later closed. It leaks memory which is causing CI to fail.
2021-03-26 17:33:05 +00:00
Andrew Poelstra
e5ecee8d2d reduce cache sizes so that default maxsigcache size is same as Bitcoin
Bitcoin allocates 32M for signature caching by default, split
between a signature cache and a script validity cache (see
Core #10192). Since 0.14 we have added an additional 32M for
rangeproof caching *and* an additional 32M for surjectionproof
caching.

These cache entries cost a bit over 32 bytes, so these are room
for a million entries....or 4Gb of rangeproofs and 300M of
surjection proofs.

Presumably we did not intend to triple memory usage relative to
Core to deal with some champagne problem in which our mempool is
overfilled ten times with pure rangeproofs. So put the total
default cache size back to 32M. This should have no performance
hit under realistic circumstances and should reduce CI OOM failures.

On my system we now use 50M rather than 110M during the fedpeg
test; we still use 18M that Core does not by having three additional
global secp contexts (one in blind.cpp, one in pegins.cpp, one in
confidential_validation.cpp) but we can settle that in a future
commit.
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
47885e97bf ci: tighten locking in signblock to ensure consistent main/wallet locking order 2021-03-26 17:33:05 +00:00
Andrew Poelstra
2f5c624b18 ci: eliminate a bunch of build warnings
Includes removing some variables from qt/intro.cpp that've been
unused since #13216 and ought to have been removed in the 0.17
rebase, but our linters were not so agressive then. Similarly
fix the BITCOIN_PID_FILE, whose value was incorrectly changed
in the 0.18 rebase.
2021-03-26 17:33:05 +00:00
Andrew Poelstra
a1bac6d8a6 build: drop the rendered icon stuff
This is broken in multiple ways, does not exist in 0.14, appears in an
unreviewed mega-PR "porting" from a version of liquid-qt that I cannot
track down, and apparently has caused a fair bit of follow-on trouble
with icon integration.

Just put the icons in the repo like upstream does.

The committed icons were built using the Makefile prior to this
commit, starting from ./share/pixmaps/nsis-wizard.svg and
./src/qt/res/src/bitcoin.svg. They should be recreated manually
if they need to be changed in the future.
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
1e98c9fa9e fix RPC linter issues 2021-03-26 17:33:02 +00:00
Andrew Poelstra
59076ca8f3 Merge 0c82c2743b into merged_master (Elements PR #970) 2021-03-26 00:27:13 +00:00
Andrew Poelstra
05e221374e Merge 8c834f7da1 into merged_master (Elements PR #959) 2021-03-26 00:24:13 +00:00
Andrew Poelstra
d89112072c Merge 3b8e4070c8 into merged_master (Elements PR #958)
Conflicts due to change of error state formatting upstream.
2021-03-26 00:21:11 +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
70390ee638
Specify the dynafed epoch length for liquidv1 2021-03-11 17:34:37 +00:00