Commit graph

453 commits

Author SHA1 Message Date
Andrew Poelstra
419fd4f90d Merge b75f2ad72d into merged_master (Bitcoin PR #19660) 2020-11-27 04:05:36 +00:00
Andrew Poelstra
54f2d85914 Merge 34eb236258 into merged_master (Bitcoin PR #19326) 2020-11-27 00:39:12 +00:00
Andrew Poelstra
21f9f41bf4 Merge a1da180b1b into merged_master (Bitcoin PR #19589) 2020-11-26 19:33:53 +00:00
Andrew Poelstra
50d06f59f3 Merge db9f1b9edc into merged_master (Elements PR #896) 2020-11-26 19:16:44 +00:00
Andrew Poelstra
f36832a9dd Merge f5000ae66c into merged_master (Bitcoin PR #19555) 2020-11-26 14:11:14 +00:00
Andrew Poelstra
c6cb7be640 Merge c57dc566b0 into merged_master (Bitcoin PR #16525) 2020-11-26 12:15:14 +00:00
Andrew Poelstra
262c624540 Merge 032cfdc9a2 into merged_master (Bitcoin PR #19517) 2020-11-26 04:17:00 +00:00
Andrew Poelstra
1aa51f0c4c Merge b52e25cc1b into merged_master (Bitcoin PR #19328) 2020-11-26 01:09:20 +00:00
Andrew Poelstra
d664527f5a Merge a24806c25d into merged_master (Bitcoin PR #19215) 2020-11-26 01:09:18 +00:00
Andrew Poelstra
dc44b27189 Merge d3a5dbfd1f into merged_master (Bitcoin PR #19114) 2020-11-26 01:09:14 +00:00
Andrew Poelstra
b431cfa2d7 Merge 532b134cb0 into merged_master (Bitcoin PR #19373) 2020-11-26 01:09:12 +00:00
Andrew Poelstra
fa10c4dfe5 Merge bd331bd745 into merged_master (Bitcoin PR #17938)
Also re-`static`'d a method in src/script/standard.cpp which we had made globally
visible for some historical reason, but which I noticed diffing that file against
upstream.
2020-11-26 01:09:10 +00:00
Andrew Poelstra
51965ad1e6 Merge 25ad2c623a into merged_master (Bitcoin PR #18740) 2020-11-26 01:08:47 +00:00
Andrew Poelstra
1ea940a2e2 Merge 4f802e59a0 into merged_master (Bitcoin PR #17509) 2020-11-26 01:08:28 +00:00
Andrew Poelstra
fd37b7c5d6 Merge 54f812d9d2 into merged_master (Bitcoin PR #18673) 2020-11-26 01:08:23 +00:00
Andrew Poelstra
bc49e22548 Merge f0d97cdf70 into merged_master (Elements PR #861) 2020-11-26 01:08:22 +00:00
Andrew Poelstra
d6d099ce1c Merge 76143bf714 into merged_master (Bitcoin PR #18495) 2020-11-26 01:08:17 +00:00
Andrew Poelstra
c8909955fa Merge 1b151e3ffc into merged_master (Bitcoin PR #18532) 2020-11-26 01:08:13 +00:00
Andrew Poelstra
5b3e849748 Merge 2e97d80017 into merged_master (Bitcoin PR #18134) 2020-11-26 01:08:02 +00:00
Andrew Poelstra
cf81cec06c Merge 58c72880ff into merged_master (Bitcoin PR #18268) 2020-11-26 01:07:54 +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
91b1e1b4ab Merge a71c34742c into merged_master (Bitcoin PR #17809)
This was pretty-much as awful as it looks.
2020-11-26 01:07:48 +00:00
Andrew Poelstra
e81fccc9a5 Merge 263f53e2d0 into merged_master (Bitcoin PR #18098) 2020-11-26 01:07:43 +00:00
Andrew Poelstra
d20bafff5e Merge 712b7d9b47 into merged_master (Bitcoin PR #17804) 2020-11-26 00:29:45 +00:00
Andrew Poelstra
68d0a25901 Merge 1326092e6c into merged_master (Bitcoin PR #17156)
This fixes a segfault I introduced in 981df590811 (#17371) a couple hundred PRs
ago, where we might out-of-bounds access the vout arrray of a non_witness_utxo
transaction in a PSBT.

This logic should probably be refactored after the rebase -- we sift through
the non_witness_utxos to find a scriptpubkey, which we use to get a wallet
provider, so we can pass this to SignPSBTInput, which then repeats the same
logic (for its own reasons, and without the segfault bug)....and we aren't
even calling SignPSBTInput for signing reasons! It has something to do with
blinding.
2020-11-14 16:52:12 +00:00
Andrew Poelstra
4219b6d7d9 Merge 48d64d73c0 into merged_master (Bitcoin PR #17564) 2020-11-14 16:51:59 +00:00
Andrew Poelstra
fe9767f625 Merge d4b335c60a into merged_master (Bitcoin PR #17617) 2020-11-14 16:51:58 +00:00
Andrew Poelstra
473008e9e0 Merge f1d3d3430e into merged_master (Bitcoin PR #17714) 2020-11-14 16:51:57 +00:00
Andrew Poelstra
9709d02c23 Merge fae94785d9 into merged_master (Bitcoin PR #17524)
lol converting the psbt test vector to a pset one was pretty brutal. Conversion to
hex using rust-bitcoin and then manual hex-editing in vim.
2020-11-14 16:51:56 +00:00
Andrew Poelstra
fd78a12518 Merge 2949ea924f into merged_master (Elements PR #751) 2020-11-14 16:51:52 +00:00
Andrew Poelstra
9239882c43 Merge 8aac85d71e into merged_master (Bitcoin PR #17371) 2020-11-14 16:51:41 +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
34af974d28 Merge 471e5f8829 into merged_master (Bitcoin PR #16839) 2020-11-09 21:20:47 +00:00
Andrew Poelstra
fdb06a8ceb Merge 4c1090c882 into merged_master (Bitcoin PR #17279) 2020-11-09 21:20:46 +00:00
Andrew Poelstra
508fcb020d Merge b688b859db into merged_master (Bitcoin PR #17004) 2020-11-09 21:20:44 +00:00
Andrew Poelstra
dea0647042 Merge 048e456fc4 into merged_master (Bitcoin PR #17119) 2020-11-09 21:20:41 +00:00
Andrew Poelstra
821f5256a5 Merge 46d6930f8c into merged_master (Bitcoin PR #16659) 2020-11-09 21:20:41 +00:00
Andrew Poelstra
4f50591181 Merge 0d2832a6d1 into merged_master (Elements PR #741)
To resolve the `ConstructTransaction` conflict I reverted to the existing code
then manually applied the diff (it adds a parameter then adds a giant pile of
code to the input loop).
2020-11-09 21:20:40 +00:00
Andrew Poelstra
e87be41b02 Merge 742cd77f6f into merged_master (Bitcoin PR #16929) 2020-11-09 21:20:28 +00:00
Andrew Poelstra
244335056c Merge 0ee0474234 into merged_master (Bitcoin PR #16521) 2020-11-09 21:20:26 +00:00
Andrew Poelstra
df8fcece9d Merge 72d30d668a into merged_master (Bitcoin PR #16512) 2020-11-09 21:20:26 +00:00
Andrew Poelstra
15573b7a25 Merge 46494b08e2 into merged_master (Bitcoin PR #16798) 2020-11-09 21:20:22 +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
028f2d94d1 Merge 85883a9f8e into merged_master (Bitcoin PR #16443) 2020-11-09 21:20:14 +00:00
Andrew Poelstra
c14d13f7fe Merge be0e8b4bff into merged_master (Bitcoin PR #15713) 2020-11-09 21:20:11 +00:00
Andrew Poelstra
626971b963 Merge d759b5d26a into merged_master (Bitcoin PR #15911) 2020-11-09 21:20:11 +00:00
Andrew Poelstra
62ce823f8f Merge c67ef2938c into merged_master (Elements PR #600)
Also uncommented a bunch of PSBT functional tests (had to add a fee output
to one transaction, update `find_output` to skip CT outputs, and change two
constant checks at the end of the commented-out section).
2020-11-09 21:20:10 +00:00
Andrew Poelstra
2cf627d0a6 Merge f735851be2 into merged_master (Bitcoin PR #16467) 2020-11-09 21:20:09 +00:00
Andrew Poelstra
a50b652932 Merge 735d6b57e7 into merged_master (Bitcoin PR #16227) 2020-11-09 03:58:21 +00:00