lightninglabs / lightninglabs/chantools
zombierecovery: create standard PSBT for increased compatibility
- Dominant language
- Go
- Stars
- 239
- Forks
- 46
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 6
Description
Currently, `chantools` uses a custom field in the PSBT that's created in the `createoffer` sub command of `zombierecovery` to signal to the other party what key to use to sign.
Example:
```
"unknown": {
"cc": "03815e9bcxxxxx"
}
```
This of course makes it incompatible with any other software out there and the PSBT can only be signed by another instance of `chantools`, which makes it hard to use in some cases.
The goal is to produce a standardized PSBT with the appropriate fields set for a multisig signing session. Then node operators could also use `lncli wallet signpsbt` instead of `chantools zombierecovery signoffer`.
Steps to complete:
- [ ] Add master root key fingerprint to match file.
- [ ] Add derivation path and indexes to match file.
- [ ] After matching the keys, put the full derivation path and expected public key of both signers into the generated PSBT.
- [ ] Add integration test for signing with `lnd`'s `SignPsbt` RPC.
- [ ] Update the docs to mention the alternative signing path (and the exact commands to use).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the zombierecovery createoffer subcommand and inspect how its custom PSBT field is produced; then review zombierecovery signoffer and lnd's SignPsbt RPC behavior. Verify key fingerprints, derivation paths, indexes, and signer public keys in generated PSBTs, add the requested integration coverage, and update the documentation with the alternative commands.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cli, cryptography, documentation, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100