Skip to content

Extended public keys support#10

Merged
darosior merged 5 commits intorevault:masterfrom
darosior:xpubs
Oct 2, 2020
Merged

Extended public keys support#10
darosior merged 5 commits intorevault:masterfrom
darosior:xpubs

Conversation

@darosior
Copy link
Copy Markdown
Member

@darosior darosior commented Sep 15, 2020

This:

@darosior darosior changed the title Extended public keys support WIP: Extended public keys support Sep 15, 2020
@darosior darosior changed the title WIP: Extended public keys support Extended public keys support Sep 18, 2020
@darosior darosior force-pushed the xpubs branch 2 times, most recently from d879caf to d15906d Compare September 23, 2020 19:24
@darosior
Copy link
Copy Markdown
Member Author

Rebased after upstream rebased, and (painfully) rebased on #15 : i restored bisectability and went for a better API for descriptor while at it.

PSBT is now the next step to the :PSBTDESCRIPTORMINISCRIPTXPUBS: graal!

@darosior
Copy link
Copy Markdown
Member Author

Rebased after latest upstream changes.

@darosior
Copy link
Copy Markdown
Member Author

Rebased

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
I changed the API here: as we needed to clone the key (xpubs are not
Copy), we consume Vec s instead: this lets the caller choose if they want
to clone or not.

Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
Signed-off-by: Antoine Poinsot <darosior@protonmail.com>
@darosior
Copy link
Copy Markdown
Member Author

darosior commented Oct 2, 2020

Now that the upstream PR is merged, we run on upstream's master and no longer one of my branch (one step from the release!). This is now mergeable.

Copy link
Copy Markdown
Member

@JSwambo JSwambo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack dcb88a0

@darosior darosior merged commit f895005 into revault:master Oct 2, 2020
@darosior darosior deleted the xpubs branch October 2, 2020 09:42
darosior added a commit that referenced this pull request Oct 2, 2020
2855c5b scripts: expose a raw interface to the unvault script (Antoine Poinsot)
4ab3f78 cleanup dependencies (Antoine Poinsot)

Pull request description:

  This is based on #10 (itself base on #15 ...), see:
  - cd829a3
  - 5feaa58

  This adds an interface to fix #14 .
  Good news: we can apparently support threshold-based managers set.
  Question news: [what now](https://github.com/re-vault/practical-revault/issues/19#issuecomment-699479602) ?

ACKs for top commit:
  JSwambo:
    Ack 2855c5b

Tree-SHA512: 02f02191e935193ca9baf989cdb64a7d0d528f9274e719eab49f1dbef515647950611a9ca7f68e31a06d51e604487e7cc7e8e4bb4301b658a3916cbffcf96a56
darosior added a commit that referenced this pull request Oct 3, 2020
a0e0ff5 scripts: wrap the Descriptor in TxOut-specific newtypes (Antoine Poinsot)
f560107 transactions: always check the transaction against libbitcoinconsensus (Antoine Poinsot)
3a0ffbd transactions: sanity check the PSBT input when adding a signature (Antoine Poinsot)
41e93d3 transactions: RevaultTransaction to wrap a PSBT (Antoine Poinsot)
c2975d8 txins: rename src/prevouts into src/txins (Antoine Poinsot)
2f2b97d prevouts: add the sequence to RevaultPrevouts, rename them to TxIns (Antoine Poinsot)
9852b9d transactions: rename into_prevout() into into_outpoint() (Antoine Poinsot)
de80fb9 prevouts: add the spent RevaultTxOut to RevaultPrevouts (Antoine Poinsot)
63d2514 txouts: add the output's witness script to the struct (Antoine Poinsot)
8320b5e transactions: return actual error type for encoding errors (Antoine Poinsot)
6efc2bd transactions: make serialize() propagate Errors (Antoine Poinsot)
515d5a2 transactions: cleanup imports (Antoine Poinsot)

Pull request description:

  This is based on #10 (as pretty much everything now..) and implements the usage of PSBT in our `RevaultTransaction` management, from the creation to the satisfaction.

  This unlocked a few side improvements, such as:
  - Get rid of the RevaultSatisfier struct
  - Libbitcoinconsensus verification is back!
  - Even more typesafety (eg for TxOuts and script descriptors)

  The methods of the `RevaultTransaction` traits have been modified with [BIP174 roles in mind](https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#responsibilities), which will likely guide us toward less footguns downstream.

ACKs for top commit:
  edouardparis:
    ACK a0e0ff5

Tree-SHA512: 330167a106f8b2305c9a1c06b45c794ad032b012bc54a0a23030ec88120df0ae7a47a6229b45182605f888c4230b3d8c69c075265c03415efe2f2e2295e1ee34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants