Commit graph

21767 commits

Author SHA1 Message Date
Andrew Poelstra
97ea1dabe4 Merge 07ededa30c into merged_master (Bitcoin PR bitcoin/bitcoin#22050) 2021-07-21 21:08:21 +00:00
Andrew Poelstra
18986689be Merge 907d636e5e into merged_master (Bitcoin PR bitcoin/bitcoin#21353) 2021-07-21 20:30:59 +00:00
Andrew Poelstra
fb319a2a8b Merge 8837f1ebde into merged_master (Bitcoin PR bitcoin/bitcoin#21654) 2021-07-21 18:18:32 +00:00
Andrew Poelstra
f26f9a1e49 Merge fcfd37f3f9 into merged_master (Bitcoin PR bitcoin/bitcoin#22123)
Added a limit to the tx_pool and tx_pool_standard fuzztest loops,
not because it had anything to do with this PR, but because it was
causing long fuzztests runs and I happened to stop the merge script
here.
2021-07-21 17:39:58 +00:00
Andrew Poelstra
9fe08bf392 Merge 6fe012c6bd into merged_master (Bitcoin PR bitcoin/bitcoin#22133) 2021-07-21 15:43:37 +00:00
Andrew Poelstra
08bd31102a Merge a9435e3445 into merged_master (Bitcoin PR bitcoin/bitcoin#22065) 2021-07-21 12:44:46 +00:00
Andrew Poelstra
1aba12c797 Merge 0011167191 into merged_master (Bitcoin PR bitcoin/bitcoin#22135) 2021-07-21 02:29:28 +00:00
Andrew Poelstra
e0b40dae0d Merge a7d17daa5c into merged_master (Bitcoin PR bitcoin/bitcoin#22086) 2021-07-20 20:29:41 +00:00
Andrew Poelstra
9a066ed2de Merge e3d644a127 into merged_master (Bitcoin PR bitcoin-core/gui#351) 2021-07-20 18:41:09 +00:00
Andrew Poelstra
e0e20ba06f Merge 2fccd9cf30 into merged_master (Bitcoin PR bitcoin/bitcoin#22082) 2021-07-20 17:12:16 +00:00
Andrew Poelstra
69d1898e00 Merge 0a3b8ea11a into merged_master (Bitcoin PR bitcoin/bitcoin#22106) 2021-07-20 14:13:28 +00:00
Andrew Poelstra
b654bb7f5e Merge f63fc53c2a into merged_master (Bitcoin PR bitcoin/bitcoin#21767) 2021-07-20 05:10:30 +00:00
Andrew Poelstra
fcdbd75e5b Merge c91589dc2d into merged_master (Bitcoin PR bitcoin/bitcoin#22005) 2021-07-20 03:41:04 +00:00
Andrew Poelstra
f39648bfe5 Merge 5cf92c32d1 into merged_master (Bitcoin PR bitcoin/bitcoin#21969) 2021-07-20 02:11:14 +00:00
Andrew Poelstra
62962e335d Merge 62d9ff9e6e into merged_master (Bitcoin PR bitcoin/bitcoin#22107) 2021-07-19 23:51:25 +00:00
Andrew Poelstra
c2b9c35879 Merge 684e687d42 into merged_master (Bitcoin PR bitcoin-core/gui#123) 2021-07-19 22:22:14 +00:00
Andrew Poelstra
7f5524363f Merge aedf71dcc5 into merged_master (Bitcoin PR bitcoin-core/gui#331) 2021-07-19 20:53:29 +00:00
Andrew Poelstra
91b060613d Merge 11225905b7 into merged_master (Bitcoin PR bitcoin-core/gui#309) 2021-07-19 17:56:32 +00:00
Andrew Poelstra
564e6fb94b Merge 8c6df2b4ca into merged_master (Bitcoin PR bitcoin/bitcoin#22095) 2021-07-19 14:35:04 +00:00
Andrew Poelstra
3d6a5a2182 Merge 55a156fca0 into merged_master (Bitcoin PR bitcoin/bitcoin#21207)
git diff --color-moved=zebra is your friend
2021-07-19 03:15:44 +00:00
Andrew Poelstra
ed3f083e18 Merge be1c512437 into merged_master (Bitcoin PR bitcoin-core/gui#343) 2021-07-19 00:03:09 +00:00
Andrew Poelstra
2645f8139a Merge 123b401e0a into merged_master (Bitcoin PR bitcoin-core/gui#275) 2021-07-18 22:35:11 +00:00
Andrew Poelstra
95bd11d222 Merge 8115c2ad7d into merged_master (Bitcoin PR bitcoin/bitcoin#22078) 2021-07-18 21:07:19 +00:00
Andrew Poelstra
8a669eccfb Merge 7257e50dba into merged_master (Bitcoin PR bitcoin/bitcoin#20833) 2021-07-18 18:11:25 +00:00
Andrew Poelstra
af3617ff29 Merge ea1e5c2c71 into merged_master (Bitcoin PR bitcoin/bitcoin#22025) 2021-07-18 15:14:04 +00:00
Andrew Poelstra
92436f454e Merge e20745c1bd into merged_master (Bitcoin PR bitcoin/bitcoin#22029) 2021-07-18 14:08:58 +00:00
Andrew Poelstra
013eaeaca2 Merge 7076bba841 into merged_master (Bitcoin PR bitcoin-core/gui#346) 2021-07-18 09:43:00 +00:00
Andrew Poelstra
83055ed93a Merge 22b845291c into merged_master (Bitcoin PR bitcoin/bitcoin#22063) 2021-07-18 08:37:26 +00:00
Andrew Poelstra
4d504fe396 Merge b789914f17 into merged_master (Bitcoin PR bitcoin-core/gui#332) 2021-07-18 07:32:00 +00:00
Andrew Poelstra
306a1dca0b Merge 811aa24c71 into merged_master (Bitcoin PR bitcoin/bitcoin#22060) 2021-07-18 06:26:52 +00:00
Andrew Poelstra
6d8ad49505 Merge 5c041cb348 into merged_master (Bitcoin PR bitcoin-core/gui#311) 2021-07-18 05:21:17 +00:00
Andrew Poelstra
7db44ed938 Merge 456c8d6cd8 into merged_master (Bitcoin PR bitcoin-core/gui#313) 2021-07-18 04:15:48 +00:00
Andrew Poelstra
5f8081db1a Merge ecddd12482 into merged_master (Bitcoin PR bitcoin/bitcoin#18418) 2021-07-18 03:10:21 +00:00
Andrew Poelstra
2893856697 Merge 3ec033ed32 into merged_master (Bitcoin PR bitcoin-core/gui#121) 2021-07-18 01:09:47 +00:00
Andrew Poelstra
95ce7de90f Merge 707ba8692b into merged_master (Bitcoin PR bitcoin/bitcoin#21966) 2021-07-17 20:20:55 +00:00
Andrew Poelstra
81eb03b40c Merge 7aa41fc581 into merged_master (Bitcoin PR bitcoin/bitcoin#22042) 2021-07-17 19:14:17 +00:00
Andrew Poelstra
84be3d46b1 Merge 48c86eca02 into merged_master (Bitcoin PR bitcoin/bitcoin#22069) 2021-07-17 17:28:29 +00:00
Andrew Poelstra
9933b7dae8 Merge 3ad1b8899b into merged_master (Bitcoin PR bitcoin-core/gui#297) 2021-07-17 14:07:56 +00:00
Andrew Poelstra
8b34c974c3 Merge 6b254814c0 into merged_master (Bitcoin PR bitcoin/bitcoin#17331)
This removes a lot of the craziness that was added during the 0.21
rebase 240f03f586 (Bitcoin PR #17290)
as well as a lot of other upstream craziness. It's a very positive
change but will probably be a bear to review.

There are two places where I (purposely) nontrivially changed the
logic beyond what the upstream PR did:

    1. When setting the change output positions, I used a uniform
       distribution for all change outputs and also obeyed the user's
       `change_position` choice. The old code was non-uniform and
       had a bug where it would offset the change position.

       For non-policy assets, I do not create zero-sized change
       since we would just remove them later. For the policy asset,
       I do sometimes create zero-sized change since the upstream
       logic expects it to exist.

    2. Rather than "reblinding whenever something changes" we blind
       once for size/fee estimation purposes and then again at the
       end after all potential adjustments have been made. The
       resulting code should be closer to upstream.

       We should really redo this code though because our use of the
       `BlindDetails` structure is very confusing and stateful.

    3. We consider whether or not we're using CT/CA when estimating
       the size of change outpust. This is because we now use branch
       and bound far more often (yay!) which selects coins such that
       there will be no change output. This is implemented however
       by adding a change output then dumping it to fees ... meaning
       that if we dramatically overestimate the size of a change out
       then we'll end up dramatically dumping too many coins to fees.

There are another couple small things, which I apologize for .. this
PR took me 2 hours to get compiling and 11 hours to get working(!!)
and some things got away from me.

One fun thing is that I changed CWallet::SelectCoinsMinConf to gate
an addition on coin_selection_params.m_subtract_fee_outputs ... this
is actually an upstream bug that I'll file whenever I get around to
producing a test that triggers it. (A bit hard as I have to gin up
a scenario where branch-and-bound fails to hit this codepath.)

Also, in test/functional/wallet_bumpfee.py I had to change the feerate
required to force selection to add another input from 500 to 800. I
don't know why and I don't care to figure it out.
2021-07-17 02:42:16 +00:00
Andrew Poelstra
76bb76c18c Merge 40f7a2891f into merged_master (Bitcoin PR bitcoin/bitcoin#22043) 2021-07-13 00:24:44 +00:00
Andrew Poelstra
53344c6b08 Merge db1aca01d5 into merged_master (Bitcoin PR bitcoin/bitcoin#22021) 2021-07-12 23:18:07 +00:00
Andrew Poelstra
916944ed6e Merge aeecb1c2eb into merged_master (Bitcoin PR bitcoin/bitcoin#21992) 2021-07-12 22:11:35 +00:00
Andrew Poelstra
4ccd7f4e36 Merge 2968417948 into merged_master (Bitcoin PR bitcoin/bitcoin#22013) 2021-07-12 18:51:11 +00:00
Andrew Poelstra
092f386da0 Merge d3fa42c795 into merged_master (Bitcoin PR bitcoin/bitcoin#21186) 2021-07-12 17:45:04 +00:00
Andrew Poelstra
d1bbcf2a0a Merge ce4a852475 into merged_master (Bitcoin PR bitcoin/bitcoin#21848) 2021-07-12 16:38:25 +00:00
Andrew Poelstra
29a8292858 Merge 599000903e into merged_master (Bitcoin PR bitcoin/bitcoin#21850)
Copied GetMainchainAuthCookieFile logic from GetAuthCookieFile, since
the former no longer compiled.
2021-07-12 15:20:15 +00:00
Andrew Poelstra
2a2bbdaee3 Merge be4171679b into merged_master (Bitcoin PR bitcoin/bitcoin#21953) 2021-07-12 03:35:40 +00:00
Andrew Poelstra
cfd16b90ca Merge eb4df9a628 into merged_master (Bitcoin PR bitcoin/bitcoin#22004) 2021-07-11 23:59:16 +00:00
Andrew Poelstra
d509636ace Merge ac5f7f47c1 into merged_master (Bitcoin PR bitcoin/bitcoin#21936) 2021-07-11 22:52:59 +00:00
Andrew Poelstra
b9027c994c Merge 1cc38d3e01 into merged_master (Bitcoin PR bitcoin/bitcoin#22003) 2021-07-11 21:46:30 +00:00