Commit graph

774 commits

Author SHA1 Message Date
Andrew Poelstra
ff4bfc81c9 Merge 584170a388 into merged_master (Bitcoin PR #19142) 2020-11-26 01:08:58 +00:00
Andrew Poelstra
7ffe113cd9 Merge a1c0e5fce1 into merged_master (Bitcoin PR #19088) 2020-11-26 01:08:57 +00:00
Andrew Poelstra
4d1d393cd6 Merge 9e8bd217cd into merged_master (Bitcoin PR #13204) 2020-11-26 01:08:56 +00:00
Andrew Poelstra
531cdf3ca5 Merge 826fe9c667 into merged_master (Bitcoin PR #18807) 2020-11-26 01:08:54 +00:00
Andrew Poelstra
29b17c1221 Merge 793e0ff22c into merged_master (Bitcoin PR #18698) 2020-11-26 01:08:49 +00:00
Andrew Poelstra
0903cd4bc7 Merge d44dd51322 into merged_master (Bitcoin PR #18152) 2020-11-26 01:08:46 +00:00
Andrew Poelstra
1d1a32e637 Merge 5b24f6084e into merged_master (Bitcoin PR #16224) 2020-11-26 01:08:40 +00:00
Andrew Poelstra
028afdac4a Merge e727c2bdca into merged_master (Bitcoin PR #18088) 2020-11-26 01:08:37 +00:00
Andrew Poelstra
8c572c898e Merge 42fd503819 into merged_master (Bitcoin PR #18786) 2020-11-26 01:08:37 +00:00
Andrew Poelstra
0a22e1a6e6 Merge 64673b1037 into merged_master (Bitcoin PR #18780) 2020-11-26 01:08:34 +00:00
Andrew Poelstra
e5f1b2cdaa Merge 0ef0d33f75 into merged_master (Bitcoin PR #18038) 2020-11-26 01:08:33 +00:00
Andrew Poelstra
22cee70001 Merge 9fac600aba into merged_master (Bitcoin PR #17383) 2020-11-26 01:08:30 +00:00
Andrew Poelstra
89c3236c58 Merge 9e8e813df5 into merged_master (Bitcoin PR #18410) 2020-11-26 01:08:27 +00:00
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