upgradewallet

upgradewallet -- Command to spend all P2SH-wrapped inputs into a Native Segwit output

SYNOPSIS

upgradewallet [feerate] [reservedok]

DESCRIPTION

upgradewallet is a convenience RPC which will spend all p2sh-wrapped Segwit deposits in a wallet into a single Native Segwit P2WPKH address.

  • feerate (feerate, optional): Feerate for the upgrade transaction. The default is opening. (added v23.02)
  • reservedok (boolean, optional): Tells the wallet to include all P2SH-wrapped inputs, including reserved ones. (added v23.02)

RETURN VALUE

On success, an object is returned, containing:

  • upgraded_outs (u64): Count of spent/upgraded UTXOs. (added v23.02)
  • psbt (string, optional): The PSBT that was finalized and sent. (added v23.02)
  • tx (hex, optional): The raw transaction which was sent. (added v23.02)
  • txid (txid, optional): The txid of the tx. (added v23.02)

AUTHOR

Lisa Neigut <[email protected]> is mainly responsible.

SEE ALSO

lightning-utxopsbt(7), lightning-reserveinputs(7), lightning-unreserveinputs(7)

RESOURCES

Main web site: https://github.com/ElementsProject/lightning

USAGE

The caller is trying to buy a liquidity ad but the command keeps failing. They have funds in their wallet, but they're all P2SH-wrapped outputs.

The caller can call upgradewallet to convert their funds to native segwit outputs, which are valid for liquidity ad buys.

EXAMPLES

Example 1:

Request:

lightning-cli upgradewallet
{
  "id": "example:upgradewallet#1",
  "method": "upgradewallet",
  "params": {}
}

Response:

{
  "upgraded_outs": 0
}

Example 2:

Request:

lightning-cli upgradewallet -k "feerate"="urgent" "reservedok"=True
{
  "id": "example:upgradewallet#2",
  "method": "upgradewallet",
  "params": {
    "feerate": "urgent",
    "reservedok": true
  }
}

Response:

{
  "tx": "02000000000101upgd20000200002000020000200002000020000200002000020000200002000020000200002000020000200002000020000200002000020000200002000020000200002000020000200002000020000200002000020000",
  "txid": "txidupgrade200000200000200000200000200000200000200000200000200000",
  "psbt": "cHNidP8BAgQCAAAAAQMEbwAAAAEEAQpsbt110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000",
  "upgraded_outs": 1
}

Core Lightning is Blockstream's open-source implementation of the Lightning Network optimised for performance. It is highly customizable through modular expandability.

© 2023 Core Lightning
All rights reserved.

X Twitter Logo Streamline Icon: https://streamlinehq.com

X

The official Core Lightning X(Twitter) handle to follow project updates and announcements.

Github Logo 2 Streamline Icon: https://streamlinehq.com

Github

Github repository for source code, issues, and contributions. Visit our project here to explore or contibute.

Telegram

Community-driven telegram group where most of the node operators hang out. Go to https://t.me/lightningd to join.

Discord

Community-driven discord server where the devs flock together. Go to https://discord.gg/V6ay9yNhBQ to join.