Commit graph

735 commits

Author SHA1 Message Date
Andrew Poelstra
1b585cf0c3 Merge e16718a8b3 into merged_master (Bitcoin PR #18401) 2020-11-26 01:08:21 +00:00
Andrew Poelstra
9ce236f051 Merge 10358a381a into merged_master (Bitcoin PR #17737) 2020-11-26 01:08:16 +00:00
Andrew Poelstra
cf93edb0be Merge 312d27b11c into merged_master (Bitcoin PR #17477) 2020-11-26 01:07:59 +00:00
Andrew Poelstra
76d5966b9d Merge 39497d1f32 into merged_master (Bitcoin PR #15283) 2020-11-26 01:07:58 +00:00
Andrew Poelstra
c718f86e8f Merge 9ed429c50a into merged_master (Bitcoin PR #18341) 2020-11-26 01:07:56 +00:00
Andrew Poelstra
5b9f316537 Merge dcf2ccbfde into merged_master (Bitcoin PR #18115)
I really like this PR, but it wound up being pretty nontrivial to merge.
The crux is that it pulls PSBT signing logic into scriptpubkey manager,
which is where it belongs, but for us this means reasoning about pegins
inside script/sign.cpp.

However, sign.cpp is part of libbitcoin_common, which does not include
anything for reasoning about PoW or RPC (lol) or anything heavy about
that. This means that some pegin validation had to remain split between
the wallet/rpc layer and sign.cpp. I added a new file script/pegins.cpp
which has the (one) method we actually need in sign.cpp.

Aside from that, this diff is very large but is mostly just moving our
code changes to wallet/psbtwallet.* into wallet/wallet.* where those
functions now live. As far as review, it's probably not worthwhile to
spend too much too much time on this since it's going to be change
again in #16528 and others. The test coverage is pretty extensive.
2020-11-26 01:07:51 +00:00
Andrew Poelstra
cc668250eb Merge 97aadf98d0 into merged_master (Bitcoin PR #16117) 2020-11-26 01:07:50 +00:00
Andrew Poelstra
0246b86872 Merge 54a7ef612a into merged_master (Bitcoin PR #17399) 2020-11-26 01:07:48 +00:00
Andrew Poelstra
66204f061c Merge c0e0e0a9d5 into merged_master (Elements PR #818) 2020-11-26 01:07:46 +00:00
Andrew Poelstra
fdf8be76de Merge 651e343888 into merged_master (Bitcoin PR #16974) 2020-11-26 00:29:44 +00:00
Andrew Poelstra
7c53615bb6 Merge af05bd9e1e into merged_master (Bitcoin PR #17891) 2020-11-14 16:52:07 +00:00
Andrew Poelstra
3f3d6f9c98 Merge 2ed74a43a0 into merged_master (Bitcoin PR #16945) 2020-11-14 16:52:06 +00:00
Andrew Poelstra
c4e2622681 Merge 3f8dbcd655 into merged_master (Bitcoin PR #16658) 2020-11-14 16:52:03 +00:00
Andrew Poelstra
009bc2fdfb Merge 99813a9745 into merged_master (Bitcoin PR #17829) 2020-11-14 16:52:02 +00:00
Andrew Poelstra
8746cbf50b Merge a739d207a3 into merged_master (Bitcoin PR #17519) 2020-11-09 23:10:14 +00:00
Andrew Poelstra
cfde15703a Merge 99ab3a72c5 into merged_master (Bitcoin PR #15931) 2020-11-09 23:10:09 +00:00
Andrew Poelstra
3f2190d870 Merge 7d14e35f3f into merged_master (Bitcoin PR #17342) 2020-11-09 23:10:08 +00:00
Andrew Poelstra
85feb8aadb Merge 40b6070ad7 into merged_master (Bitcoin PR #16805) 2020-11-09 21:20:53 +00:00
Andrew Poelstra
c82f65f262 Merge 73b26e38d7 into merged_master (Bitcoin PR #17351) 2020-11-09 21:20:50 +00:00
Andrew Poelstra
bde84fefc4 Merge 3c40bc6726 into merged_master (Bitcoin PR #15921) 2020-11-09 21:20:48 +00:00
Andrew Poelstra
88a7e99a91 Merge 48cb468ce3 into merged_master (Bitcoin PR #17242) 2020-11-09 21:20:45 +00:00
Andrew Poelstra
234994b810 Merge 90ed98ae9a into merged_master (Bitcoin PR #17080) 2020-11-09 21:20:44 +00:00
Andrew Poelstra
508fcb020d Merge b688b859db into merged_master (Bitcoin PR #17004) 2020-11-09 21:20:44 +00:00
Andrew Poelstra
821f5256a5 Merge 46d6930f8c into merged_master (Bitcoin PR #16659) 2020-11-09 21:20:41 +00:00
Andrew Poelstra
e25e16c65e Merge ccaef6c28b into merged_master (Bitcoin PR #16908) 2020-11-09 21:20:33 +00:00
Andrew Poelstra
e5deb2eb70 Merge 30c2b0b1cb into merged_master (Bitcoin PR #16849) 2020-11-09 21:20:32 +00:00
Andrew Poelstra
d1ed1db7fc Merge 6b2210f101 into merged_master (Bitcoin PR #16713) 2020-11-09 21:20:29 +00:00
Andrew Poelstra
f2874628b4 Merge fdfaeb67de into merged_master (Bitcoin PR #16956) 2020-11-09 21:20:28 +00:00
Andrew Poelstra
7ed0d4f1e2 Merge 7d4bc60f1f into merged_master (Bitcoin PR #16743) 2020-11-09 21:20:27 +00:00
Andrew Poelstra
084729aa3d Merge 9bf5768dd6 into merged_master (Bitcoin PR #16885) 2020-11-09 21:20:27 +00:00
Andrew Poelstra
74202bd35a Merge 408c920381 into merged_master (Bitcoin PR #16400)
This was a scary-looking refactor but basically what it does is move all the
local variables from AcceptToMemoryPoolWorker into a class Workspace, so
that the method can be broken down into multiple steps.

The only Elements change required (beyond obvious conflict resolution) was
to also move the local variable setPeginsSpent into the class, and to rename
it m_set_pegins_spent for consistency. There were also multiple loops over
transaction inputs and it was important to make sure all the Elements pegin
logic went into the right ones, to preserve the control flow. This was
annoying because of all the whitespace changes in the PR but not too hard.
2020-11-09 21:20:26 +00:00
Andrew Poelstra
ca7b7f3810 Merge feb162d500 into merged_master (Bitcoin PR #14696) 2020-11-09 21:20:26 +00:00
Andrew Poelstra
94cf235067 Merge 871d3ae45b into merged_master (Bitcoin PR #16757) 2020-11-09 21:20:25 +00:00
Andrew Poelstra
3465e350be Merge fb4f5beb6e into merged_master (Bitcoin PR #16854) 2020-11-09 21:20:24 +00:00
Andrew Poelstra
5cca042772 Merge 0d20c42a01 into merged_master (Bitcoin PR #16421) 2020-11-09 21:20:22 +00:00
Andrew Poelstra
14b98224c3 Merge ae3e3bd151 into merged_master (Bitcoin PR #16793) 2020-11-09 21:20:21 +00:00
Andrew Poelstra
9cc26a716a Merge 5b2fe5563b into merged_master (Elements PR #642)
FIXME: we disable standardness checks for the non-PAK node in the PAK tests.
This is because of a bug in Elements which causes non-PAK nodes to reject
pegouts for standardness reasons. Need to fix it after the rebase.
2020-11-09 21:20:21 +00:00
Andrew Poelstra
bbfa3115a1 Merge 8e00a68552 into merged_master (Bitcoin PR #16774) 2020-11-09 21:20:21 +00:00
Andrew Poelstra
5115dbbf41 Merge 6519be6054 into merged_master (Bitcoin PR #13868) 2020-11-09 21:20:20 +00:00
Andrew Poelstra
5deb2c636f Merge 1f8378508a into merged_master (Bitcoin PR #15615) 2020-11-09 21:20:19 +00:00
Andrew Poelstra
5f280a6068 Merge 1bf2ff2bf8 into merged_master (Bitcoin PR #16060) 2020-11-09 21:20:15 +00:00
Andrew Poelstra
028f2d94d1 Merge 85883a9f8e into merged_master (Bitcoin PR #16443) 2020-11-09 21:20:14 +00:00
Andrew Poelstra
0657bbeffa Merge 68da54987d into merged_master (Bitcoin PR #16471) 2020-11-09 21:20:09 +00:00
Andrew Poelstra
31aa2513fb Merge d5a54ce8f0 into merged_master (Bitcoin PR #15305) 2020-11-09 21:20:08 +00:00
Andrew Poelstra
83019c2acd Merge d960d5ca99 into merged_master (Bitcoin PR #16362) 2020-11-09 21:20:08 +00:00
Andrew Poelstra
04f0e67e67 Merge 51a6e2c419 into merged_master (Bitcoin PR #15681) 2020-11-09 21:20:07 +00:00
Andrew Poelstra
1e58aac3d1 Merge 8f604361eb into merged_master (Bitcoin PR #16194) 2020-11-09 21:20:06 +00:00
Andrew Poelstra
f7cb3a9645 Merge f373beebbc into merged_master (Bitcoin PR #16344) 2020-11-09 03:58:19 +00:00
Andrew Poelstra
62a63e4c6b Merge 8c69fae944 into merged_master (Bitcoin PR #15457) 2020-11-09 03:58:19 +00:00
Andrew Poelstra
19568c3891 Merge c6e42f1ca9 into merged_master (Bitcoin PR #14193) 2020-11-09 03:58:18 +00:00