Commit graph

373 commits

Author SHA1 Message Date
Andrew Poelstra
7ec1f12f7c Merge 1dfe19e284 into merged_master (Bitcoin PR #20153) 2020-12-02 06:52:54 +00:00
Andrew Poelstra
2d1adacaf2 Merge 663fd92b28 into merged_master (Bitcoin PR #20266) 2020-12-02 06:16:37 +00:00
Andrew Poelstra
e483648523 Merge cbb5f3a2d5 into merged_master (Bitcoin PR #19836) 2020-12-01 04:16:10 +00:00
Andrew Poelstra
e765fc93ea Merge 3caee16946 into merged_master (Bitcoin PR #19953)
Taproot :D
2020-12-01 02:54:57 +00:00
Andrew Poelstra
ad7f014d11 Merge 89a8299a14 into merged_master (Bitcoin PR #19717) 2020-11-28 19:34:51 +00:00
Andrew Poelstra
419fd4f90d Merge b75f2ad72d into merged_master (Bitcoin PR #19660) 2020-11-27 04:05:36 +00:00
Andrew Poelstra
fc95b9bd68 Merge 89899a3448 into merged_master (Bitcoin PR #19046) 2020-11-26 01:09:24 +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
47f2c8acfa Merge 19e919217e into merged_master (Bitcoin PR #19250) 2020-11-26 01:09:03 +00:00
Andrew Poelstra
fe4f10e301 Merge 7a24cca829 into merged_master (Bitcoin PR #19100) 2020-11-26 01:09:03 +00:00
Andrew Poelstra
b196763cb6 Merge 082a417abc into merged_master (Bitcoin PR #18635) 2020-11-26 01:08:51 +00:00
Andrew Poelstra
e5faae4af6 Merge 60091d20f9 into merged_master (Bitcoin PR #9381) 2020-11-26 01:08:38 +00:00
Andrew Poelstra
4414990576 Merge 608359b071 into merged_master (Bitcoin PR #16426) 2020-11-26 01:08:35 +00:00
Andrew Poelstra
91aca85a2a Merge 8bdb2134fc into merged_master (Bitcoin PR #18777) 2020-11-26 01:08:31 +00:00
Andrew Poelstra
1c12ae1719 Merge eef90c14ed into merged_master (Bitcoin PR #16528)
This is the 43-commit descriptor wallet PR. It was remarkably easy to merge, given
its magnitude. With this commit Elements supports importing Bitcoin descriptors
and deriving (Bitcoin) addresses, though of course it does not support blinding
yet. That is a post-rebase project.

The material changes were:

1. Changing constants in the tests (super annoying but nothing surprising)

2. Adding a missing "skip if this coin is not ours" check in src/script/sign.cpp
   which was causing us to erroneously remove existing witnesses from transactions.
   This wasn't a problem before this commit since we would only ask specific
   scriptpubkeymans to sign, and we'd never ask any to sign inputs we didn't
   own. Andy simplified the logic here to always try every scriptpubkeyman,
   which means they have to play a bit more nicely with each other.

Other than that, this was a big diff with many conflicts but literally all of
them were "we both added code" and the resolution was to take both sides.
2020-11-26 01:08:31 +00:00
Andrew Poelstra
6990af3107 Merge e890c15e2c into merged_master (Bitcoin PR #18671) 2020-11-26 01:08:28 +00:00
Andrew Poelstra
569c68a0f2 Merge f8102d9088 into merged_master (Bitcoin PR #18601) 2020-11-26 01:08:25 +00:00
Andrew Poelstra
fd37b7c5d6 Merge 54f812d9d2 into merged_master (Bitcoin PR #18673) 2020-11-26 01:08:23 +00:00
Andrew Poelstra
23cab4213a Merge 4702cadca9 into merged_master (Bitcoin PR #17954) 2020-11-26 01:08:19 +00:00
Andrew Poelstra
0a87d878fa Merge 63dad67348 into merged_master (Bitcoin PR #18546) 2020-11-26 01:08:12 +00:00
Andrew Poelstra
879cfb6ad8 Merge c5966a87d1 into merged_master (Bitcoin PR #18192) 2020-11-26 01:08:11 +00:00
Andrew Poelstra
80db97d6db Merge 25424cf57e into merged_master (Bitcoin PR #18346) 2020-11-26 01:07:56 +00:00
Andrew Poelstra
5bbbba1ce1 Merge 4d80274b99 into merged_master (Bitcoin PR #18241) 2020-11-26 01:07:50 +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
d20bafff5e Merge 712b7d9b47 into merged_master (Bitcoin PR #17804) 2020-11-26 00:29:45 +00:00
Andrew Poelstra
91e195d7cd Merge 2d6e76af24 into merged_master (Bitcoin PR #17261)
Moved GetOnlinePakKey to the scriptpubkey manager; the other blinding
stuff remains in the CWallet. At some point after the rebase we should
consider whether there's a better separation to be had between the PAK
related stuff now that we have wallet boxes.
2020-11-14 17:16:10 +00:00
Andrew Poelstra
c00da34db0 Merge c7ee0ac906 into merged_master (Elements PR #803) 2020-11-14 16:52:07 +00:00
Andrew Poelstra
fe9767f625 Merge d4b335c60a into merged_master (Bitcoin PR #17617) 2020-11-14 16:51:58 +00:00
Andrew Poelstra
cfde15703a Merge 99ab3a72c5 into merged_master (Bitcoin PR #15931) 2020-11-09 23:10:09 +00:00
Andrew Poelstra
9ec912e160 Merge 976cc766c4 into merged_master (Bitcoin PR #17381) 2020-11-09 23:10:08 +00:00
Andrew Poelstra
00d30ddc6c Merge 94a26b192f into merged_master (Bitcoin PR #17318) 2020-11-09 21:20:51 +00:00
Andrew Poelstra
751d0ac9f4 Merge 100fa0a62a into merged_master (Bitcoin PR #17300) 2020-11-09 21:20:48 +00:00
Andrew Poelstra
e910b15aa8 Merge 6a97e8a060 into merged_master (Bitcoin PR #17260) (multiple commits)
This is the start of some nontrivial wallet refactoring by achow. See
https://github.com/bitcoin-core/bitcoin-devwiki/wiki/Wallet-Class-Structure-Changes
for a high-level design.

This PR moves some stuff out of CWallet into a dummy "box" LegacyScriptPubKeyMan
which is (currently) very tightly coulped to CWallet. Because of the coupling there
are currently null-checks that cannot fail, things which assume non-nullness which
will eventually be wrong, and a plethora of currently-equivalent ways to get from
a CWallet to a provider or back.

Our approach is basically to ignore the refactoring; leave the blinding key stuff
in CWallet and have it call into the wallet's provider when we are obtaining the
underlying keys.

Later, probably in a post-rebase PR, we should rethink how we manage blinding keys
to more closely match Core's "all keys go into providers" model.
2020-11-09 21:20:47 +00:00
Andrew Poelstra
bb87204b71 Merge cfec3e01b4 into merged_master (Bitcoin PR #17266) 2020-11-09 21:20:46 +00:00
Andrew Poelstra
821f5256a5 Merge 46d6930f8c into merged_master (Bitcoin PR #16659) 2020-11-09 21:20:41 +00:00
Andrew Poelstra
29e73c226a Merge 5e202382a9 into merged_master (Bitcoin PR #16624) 2020-11-09 21:20:21 +00:00
Andrew Poelstra
1b2ba86a9e Merge e8a6d52724 into merged_master (Bitcoin PR #16542) 2020-11-09 21:20:15 +00:00
Andrew Poelstra
bf4ccc84dd Merge dbf4f3f86a into merged_master (Bitcoin PR #16301) 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
Wladimir J. van der Laan
1dfe19e284
Merge #20153: wallet: do not import a descriptor with hardened derivations into a watch-only wallet
538be4219a wallet: fix importdescriptor silent fail (Ivan Metlushko)

Pull request description:

  Currently `importdescriptor` command will successfully import a descriptor with hardened derivations into a watch-only wallet while silently failing to expand the descriptor to fill the cache. This leads to a broken wallet state and failure to load such wallet due to missing cache on subsequent restart.

ACKs for top commit:
  laanwj:
    Code review ACK 538be4219a
  achow101:
    ACK 538be4219a
  meshcollider:
    utACK 538be4219a

Tree-SHA512: 4bdd0ab4437d55b3f1a79c3a300a0b186089155c020fe220a73d0cce274de47d90371d88918d39fd795f9fccf8db328f1e322d29a6062f9ce94a1c254398f004
2020-11-09 20:19:00 +01:00
Andrew Poelstra
f11c2f3dab Merge 357488f660 into merged_master (Bitcoin PR #16240) 2020-11-09 03:58:20 +00:00
Andrew Poelstra
a0f003eb6e Merge 51a89c80dd into merged_master (Elements PR #671) 2020-11-09 03:58:17 +00:00
Andrew Poelstra
2834091bbf Merge 5d2ccf0ce9 into merged_master (Bitcoin PR #15024)
lol thank Steven for hal
2020-11-06 15:20:13 +00:00
Andrew Poelstra
68d9951825 Merge d0f81a96d9 into merged_master (Bitcoin PR #16129) 2020-11-06 15:20:13 +00:00
Andrew Poelstra
4862e2ee48 Merge ed40fbb02a into merged_master (Bitcoin PR #15741) 2020-10-29 23:21:56 +00:00
Andrew Chow
bd93fc9945 Fix change detection of imported internal descriptors 2020-10-29 17:55:13 -04:00
Andrew Poelstra
03cbb94d6a Merge 12fd4bbd1e into merged_master (Bitcoin PR #16063) 2020-10-29 21:04:50 +00:00
Andrew Poelstra
c2330021e3 Merge ecbbb5cafe into merged_master (Bitcoin PR #16071) 2020-10-29 20:46:12 +00:00