HomePhabricator

Reintroduce IsSolvable

Description

Reintroduce IsSolvable

Summary:
IsSolvable was added temporarily from D3121 .. D3136. At the time it looked
like it was a witness-only thing but it gets used in some other ways in Core
codebase now and so it's useful for backports. The basic concept of
solvability is 'Do I have all the pubkeys for this in my wallet, so that
if I had the private keys, then I would be able to fully sign this input'.
It was introduced in 2015 in d3354c52d7c0c6446cad4074c1d0e04bb1b3d84e .

This reintroduces IsSolvable in a form that includes the skipped changes from
already-done backports:
D3888 (PR12714)
D3889 (PR12803)
D4736 (PR13534)
D4420 (PR13697)

Test Plan: ninja check

Reviewers: #bitcoin_abc, deadalnix

Reviewed By: #bitcoin_abc, deadalnix

Differential Revision: https://reviews.bitcoinabc.org/D4912

Details

Provenance
Mark Lundeberg <markblundeberg@users.noreply.github.com>Authored on Jan 12 2020, 11:34
markblundebergPushed on Jan 13 2020, 01:07
Reviewer
Restricted Project
Differential Revision
D4912: Reintroduce IsSolvable
Parents
rSTAGING4311ffc54de3: Merge #13002: Do not treat bare multisig outputs as IsMine unless watched
Branches
Unknown
Tags
Unknown

Event Timeline

Mark Lundeberg <markblundeberg@users.noreply.github.com> committed rSTAGING9dda12ee9286: Reintroduce IsSolvable (authored by Mark Lundeberg <markblundeberg@users.noreply.github.com>).Jan 13 2020, 00:59