forked from ElementsProject/lightning
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
utxopsbt: new command to create PSBT from given utxos.
It's *possible* to do this using various RPC calls, but it's unfriendly: 1. Call getinfo to get the current block height. 2. Call listfunds to map the UTXOs. 3. Create the PSBT and hope you get all the fields correct. Instead, this presents an interface just like `fundpsbt`, with identical returns. I think it's different enough to justify a new command (though it shares much internally, of course). In particular, it's now quite simple to create a command which uses specified utxos, and then adds more to meet any shortfall. Signed-off-by: Rusty Russell <[email protected]>
- Loading branch information
1 parent
6371a49
commit b07327a
Showing
7 changed files
with
302 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -85,7 +85,7 @@ Rusty Russell <<[email protected]>> is mainly responsible. | |
SEE ALSO | ||
-------- | ||
|
||
lightning-reserveinputs(7), lightning-unreserveinputs(7). | ||
lightning-utxopsbt(7), lightning-reserveinputs(7), lightning-unreserveinputs(7). | ||
|
||
RESOURCES | ||
--------- | ||
|
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
lightning-utxopsbt -- Command to populate PSBT inputs from given UTXOs | ||
================================================================ | ||
|
||
SYNOPSIS | ||
-------- | ||
|
||
**utxopsbt** *satoshi* *feerate* *startweight* *utxos* \[*reserve*\] | ||
|
||
DESCRIPTION | ||
----------- | ||
|
||
*utxopsbt* is a low-level RPC command which creates a PSBT using unreserved | ||
inputs in the wallet, optionally reserving them as well. | ||
|
||
It deliberately mirrors the parameters and output of | ||
lightning-fundpsbt(7) except instead of an optional *minconf* | ||
parameter to select unreserved outputs from the wallet, it takes a | ||
compulsory list of outputs to use. | ||
|
||
*utxos* must be an array of "txid:vout", each of which must be | ||
reserved or available: the total amount must be sufficient to pay for | ||
the resulting transaction plus *startweight* at the given *feerate*, | ||
with at least *satoshi* left over (unless *satoshi* is **all**, which | ||
is equivalent to setting it to zero). | ||
|
||
RETURN VALUE | ||
------------ | ||
|
||
On success, returns the *psbt* containing the inputs, *feerate_per_kw* | ||
showing the exact numeric feerate it used, *estimated_final_weight* for | ||
the estimated weight of the transaction once fully signed, and | ||
*excess_msat* containing the amount above *satoshi* which is | ||
available. This could be zero, or dust. If *satoshi* was "all", | ||
then *excess_msat* is the entire amount once fees are subtracted | ||
for the weights of the inputs and *startweight*. | ||
|
||
If *reserve* was true, then a *reservations* array is returned, | ||
exactly like *reserveinputs*. | ||
|
||
On error the returned object will contain `code` and `message` properties, | ||
with `code` being one of the following: | ||
|
||
- -32602: If the given parameters are wrong. | ||
- -1: Catchall nonspecific error. | ||
- 301: Insufficient UTXOs to meet *satoshi* value. | ||
|
||
AUTHOR | ||
------ | ||
|
||
Rusty Russell <<[email protected]>> is mainly responsible. | ||
|
||
SEE ALSO | ||
-------- | ||
|
||
lightning-fundpsbt(7). | ||
|
||
RESOURCES | ||
--------- | ||
|
||
Main web site: <https://github.com/ElementsProject/lightning> |
Oops, something went wrong.