From f96ef9efe2241a8d3f6dc1824fbe883dd995c323 Mon Sep 17 00:00:00 2001 From: Antoine Poinsot <darosior@protonmail.com> Date: Tue, 18 Jan 2022 17:09:47 +0100 Subject: [PATCH] messages: merge the `sig` messages to the WT into a single `sigs` --- messages.md | 47 ++++++++++++++++++++++------------------------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/messages.md b/messages.md index c2e3c54..485b228 100644 --- a/messages.md +++ b/messages.md @@ -36,42 +36,40 @@ transaction. ``` STAKEHOLDER's WALLET WATCHTOWER - || -- sig emer ------------> || // Here are all sigs for the emergency transaction. - || <--- sig_ack --------- || // I succesfully re-constructed, checked, and stored this transaction. - || -- sig emer_unvault ----> || - || <--- sig_ack --------- || - || -- sig cancel --------> || - || <--- sig_ack --------- || + || -- sigs --------------> || // Here are all sigs for the emergency transaction. + || <-------- sigs_ack ----- || // I succesfully re-constructed, checked, and stored this transaction. ``` ### Messages format -#### `sig` - -Sent at any point in time by a stakeholder's wallet to share all signatures for a revocation -transaction with its watchtower. +#### `sigs` -The wallet must first send the Emergency transaction signatures. Then it must share the -UnvaultEmergency transaction signatures. -Only prior to delegating a vault (and thereby sharing its Unvault transaction signature with the -managers) it must share the Cancel transaction signature, and wait for a positive response for the -watchtower before sharing the Unvault transaction signature. +Sent at any point in time by a stakeholder's wallet to share the revocation transactions' signature +with (one of) its watchtower(s). -This order is established so the watchtower can allocate fee-bumping reserve only when a vault is -delegated. +It must wait for a positive response from the watchtower before sharing the Unvault transaction +signature. #### Request ```json { - "method": "sig", + "method": "sigs", "params": { "signatures": { - "pubkeyA": "ALL|ANYONECANPAY Bitcoin ECDSA signature as hex", - "pubkeyB": "ALL|ANYONECANPAY Bitcoin ECDSA signature as hex", - ... + "emergency": { + "pubkeyA": "ALL|ANYONECANPAY Bitcoin ECDSA signature as hex", + "pubkeyB": "ALL|ANYONECANPAY Bitcoin ECDSA signature as hex", + }, + "cancel": { + "pubkeyA": "ALL|ANYONECANPAY Bitcoin ECDSA signature as hex", + "pubkeyB": "ALL|ANYONECANPAY Bitcoin ECDSA signature as hex", + } + "unvault_emergency": { + "pubkeyA": "ALL|ANYONECANPAY Bitcoin ECDSA signature as hex", + "pubkeyB": "ALL|ANYONECANPAY Bitcoin ECDSA signature as hex", + } }, - "txid": "txid", "deposit_outpoint": "deposit utxo outpoint", "derivation_index": 42 } @@ -80,14 +78,13 @@ delegated. #### Response -The watchtower must not send an ACK if it did not successfully reconstruct and check -the transaction, *or if it is unable to bump its feerate with its currently-available utxos*. +The watchtower must not send an ACK if it did not successfully checked and stored all transactions' +signatures, *or if it is unable to bump its feerate with its currently-available utxos*. ```json { "result": { "ack": true, - "txid": "txid" } } ```