core-lightning/doc/schemas/lightning-openchannel_bump.json
Rusty Russell b327bd30c3 doc: fix all JSON schemas to enforce no additional properties.
Without this, we have hardly any enforcement.  This is why the schema
mistake fixed in the previous patches weren't spotted immediately.

The hard work was done by:

```
$ for f in lightning-*.json; do grep -v '^  "additionalProperties": false,' $f | bagto $f; done
$ for f in lightning-*.json; do sed 's/"properties": {/"additionalProperties": false, "properties": {/' $f | bagto $f; done
$ make fmt-schemas
```

Then checking where 'additionalProperties: true' had been turned to
false (we deliberately use it in some places where there are if
statements in the schema, or occasionally where there can be arbitrary
fields).

[Including doc/rpc-schema-draft.json update by Shahana]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-10-30 15:39:12 +10:30

263 lines
10 KiB
JSON

{
"$schema": "../rpc-schema-draft.json",
"type": "object",
"rpc": "openchannel_bump",
"title": "Command to initiate a channel RBF",
"description": [
"`openchannel_bump` is a RPC command which initiates a channel RBF (Replace-By-Fee) for the specified channel. It uses the openchannel protocol which allows for interactive transaction construction.",
"",
"Warning: bumping a leased channel will lose the lease."
],
"request": {
"required": [
"channel_id",
"amount",
"initialpsbt"
],
"additionalProperties": false,
"properties": {
"channel_id": {
"type": "hash",
"description": [
"Id of the channel to RBF."
]
},
"amount": {
"type": "sat",
"description": [
"Satoshi value that we will contribute to the channel. This value will be _added_ to the provided PSBT in the output which is encumbered by the 2-of-2 script for this channel."
]
},
"initialpsbt": {
"type": "string",
"description": [
"The funded, incomplete PSBT that specifies the UTXOs and change output for our channel contribution. It can be updated, see `openchannel_update`; *initialpsbt* must have at least one input. Must have the Non-Witness UTXO (PSBT_IN_NON_WITNESS_UTXO) set for every input. An error (code 309) will be returned if this requirement is not met."
]
},
"funding_feerate": {
"type": "feerate",
"description": [
"Feerate for the funding transaction."
],
"default": "1/64th greater than the last feerate used for this channel"
}
}
},
"response": {
"required": [
"channel_id",
"channel_type",
"psbt",
"commitments_secured",
"funding_serial"
],
"additionalProperties": false,
"properties": {
"channel_id": {
"type": "hash",
"description": [
"The channel id of the channel."
]
},
"channel_type": {
"type": "object",
"description": [
"Channel_type as negotiated with peer."
],
"added": "v24.02",
"additionalProperties": false,
"required": [
"bits",
"names"
],
"properties": {
"bits": {
"type": "array",
"description": [
"Each bit set in this channel_type."
],
"added": "v24.02",
"items": {
"type": "u32",
"description": [
"Bit number."
]
}
},
"names": {
"type": "array",
"description": [
"Feature name for each bit set in this channel_type. Note that *anchors_zero_fee_htlc_tx* is a deprecated synonym for *anchors*."
],
"added": "v24.02",
"items": {
"type": "string",
"enum": [
"static_remotekey/even",
"anchor_outputs/even",
"anchors_zero_fee_htlc_tx/even",
"anchors/even",
"scid_alias/even",
"zeroconf/even"
],
"description": [
"Name of feature bit."
]
}
}
}
},
"psbt": {
"type": "string",
"description": [
"The (incomplete) PSBT of the RBF transaction."
]
},
"commitments_secured": {
"type": "boolean",
"enum": [
false
],
"description": [
"Whether the *psbt* is complete."
]
},
"funding_serial": {
"type": "u64",
"description": [
"The serial_id of the funding output in the *psbt*."
]
},
"requires_confirmed_inputs": {
"type": "boolean",
"description": [
"Does peer require confirmed inputs in psbt?"
]
}
},
"post_return_value_notes": [
"If the peer does not support `option_dual_fund`, this command will return an error.",
"",
"If the channel is not in a state that is eligible for RBF, this command will return an error."
]
},
"errors": [
"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.",
"- 300: The amount exceeded the maximum configured funding amount.",
"- 301: The provided PSBT cannot afford the funding amount.",
"- 305: Peer is not connected.",
"- 309: PSBT missing required fields",
"- 311: Unknown channel id.",
"- 312: Channel in an invalid state"
],
"author": [
"Lisa Neigut <<niftynei@gmail.com>> is mainly responsible."
],
"see_also": [
"lightning-openchannel_init(7)",
"lightning-openchannel_update(7)",
"lightning-openchannel_signed(7)",
"lightning-openchannel_abort(7)",
"lightning-fundchannel_start(7)",
"lightning-fundchannel_complete(7)",
"lightning-fundchannel(7)",
"lightning-fundpsbt(7)",
"lightning-utxopsbt(7)",
"lightning-multifundchannel(7)"
],
"resources": [
"Main web site: <https://github.com/ElementsProject/lightning>"
],
"examples": [
{
"request": {
"id": "example:openchannel_bump#1",
"method": "openchannel_bump",
"params": [
"b020c1c6818daf024954c9ee578caad058cbcae7dd75b2c4d38b8f6f81901ff5",
1000000,
"cHNidP8BAF4CAAAAAbMFPNMIQ2TqCB0v5X8scJh4eVEhwcG3I1h2iff11Pu/AQAAAAD9////AUFZ3AsAAAAAIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUreYAAAAAAEAcQIAAAABl0vCMXO3vKmwYNrBKr0bsVjo7Wmj501PavWRmxX1dywAAAAAAP3///8Ceh/00gAAAAAWABSauB3UBW2CVXly9l1sU6aMmVAq+ADC6wsAAAAAFgAUA8/shxXh9ASjbsAR5COPhjKfkJyXAAAAAQEfAMLrCwAAAAAWABQDz+yHFeH0BKNuwBHkI4+GMp+QnAAA",
"15000perkw"
]
},
"response": {
"channel_id": "b020c1c6818daf024954c9ee578caad058cbcae7dd75b2c4d38b8f6f81901ff5",
"psbt": "cHNidP8BAgQCAAAAAQMEmAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQBxAgAAAAGXS8Ixc7e8qbBg2sEqvRuxWOjtaaPnTU9q9ZGbFfV3LAAAAAAA/f///wJ6H/TSAAAAABYAFJq4HdQFbYJVeXL2XWxTpoyZUCr4AMLrCwAAAAAWABQDz+yHFeH0BKNuwBHkI4+GMp+QnJcAAAABAR8AwusLAAAAABYAFAPP7IcV4fQEo27AEeQjj4Yyn5CcAQ4gswU80whDZOoIHS/lfyxwmHh5USHBwbcjWHaJ9/XU+78BDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEITP+kZdFBsOIAAQMIQEIPAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQg8VGAuu93kPAABAwhBWdwLAAAAAAEEIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUrcM/AlsaWdodG5pbmcBCJhXLSQQ2IEcAA==",
"channel_type": {
"bits": [
12,
22
],
"names": [
"static_remotekey/even",
"anchors/even"
]
},
"commitments_secured": false,
"funding_serial": 4347205294156014600,
"requires_confirmed_inputs": false
}
},
{
"request": {
"id": "example:openchannel_bump#2",
"method": "openchannel_bump",
"params": {
"channel_id": "b020c1c6818daf024954c9ee578caad058cbcae7dd75b2c4d38b8f6f81901ff5",
"amount": 1000000,
"initialpsbt": "cHNidP8BAF4CAAAAAbMFPNMIQ2TqCB0v5X8scJh4eVEhwcG3I1h2iff11Pu/AQAAAAD9////AUFZ3AsAAAAAIlEgO+E35aPNS3YQRaiMByjTJDUYNvBO1Z39o3m42EZGUreYAAAAAAEAcQIAAAABl0vCMXO3vKmwYNrBKr0bsVjo7Wmj501PavWRmxX1dywAAAAAAP3///8Ceh/00gAAAAAWABSauB3UBW2CVXly9l1sU6aMmVAq+ADC6wsAAAAAFgAUA8/shxXh9ASjbsAR5COPhjKfkJyXAAAAAQEfAMLrCwAAAAAWABQDz+yHFeH0BKNuwBHkI4+GMp+QnAAA",
"funding_feerate": "15000perkw"
}
},
"response": {
"channel_id": "b020c1c6818daf024954c9ee578caad058cbcae7dd75b2c4d38b8f6f81901ff5",
"psbt": "cHNidP8BAgQCAAAAAQMEmAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQBxAgAAAAGXS8Ixc7e8qbBg2sEqvRuxWOjtaaPnTU9q9ZGbFfV3LAAAAAAA/f///wJ6H/TSAAAAABYAFJq4HdQFbYJVeXL2XWxTpoyZUCr4AMLrCwAAAAAWABQDz+yHFeH0BKNuwBHkI4+GMp+QnJcAAAABAR8AwusLAAAAABYAFAPP7IcV4fQEo27AEeQjj4Yyn5CcAQ4gswU80whDZOoIHS/lfyxwmHh5USHBwbcjWHaJ9/XU+78BDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIQCsNB0i02NIAAQMIQVncCwAAAAABBCJRIDvhN+WjzUt2EEWojAco0yQ1GDbwTtWd/aN5uNhGRlK3DPwJbGlnaHRuaW5nAQgwkgFDAVpmeAABAwhAQg8AAAAAAAEEIgAgybxcBjyu+/emx4FEB7Vie0+BqLVuy+kyxoL5y6wNGd8M/AlsaWdodG5pbmcBCI9GsPn+O/M0AA==",
"channel_type": {
"bits": [
12,
22
],
"names": [
"static_remotekey/even",
"anchors/even"
]
},
"commitments_secured": false,
"funding_serial": 10324133783552127000,
"requires_confirmed_inputs": false
}
},
{
"request": {
"id": "example:openchannel_bump#3",
"method": "openchannel_bump",
"params": [
"b020c1c6818daf024954c9ee578caad058cbcae7dd75b2c4d38b8f6f81901ff5",
2000000,
"cHNidP8BAF4CAAAAAbMFPNMIQ2TqCB0v5X8scJh4eVEhwcG3I1h2iff11Pu/AQAAAAD9////AWINzQsAAAAAIlEgyRg+3pEh88b9FJiCLEenYCcyJ2ackJUIhDusW72BP2iYAAAAAAEAcQIAAAABl0vCMXO3vKmwYNrBKr0bsVjo7Wmj501PavWRmxX1dywAAAAAAP3///8Ceh/00gAAAAAWABSauB3UBW2CVXly9l1sU6aMmVAq+ADC6wsAAAAAFgAUA8/shxXh9ASjbsAR5COPhjKfkJyXAAAAAQEfAMLrCwAAAAAWABQDz+yHFeH0BKNuwBHkI4+GMp+QnAAA",
"18750perkw"
]
},
"response": {
"channel_id": "b020c1c6818daf024954c9ee578caad058cbcae7dd75b2c4d38b8f6f81901ff5",
"psbt": "cHNidP8BAgQCAAAAAQMEmAAAAAEEAQEBBQECAQYBAwH7BAIAAAAAAQBxAgAAAAGXS8Ixc7e8qbBg2sEqvRuxWOjtaaPnTU9q9ZGbFfV3LAAAAAAA/f///wJ6H/TSAAAAABYAFJq4HdQFbYJVeXL2XWxTpoyZUCr4AMLrCwAAAAAWABQDz+yHFeH0BKNuwBHkI4+GMp+QnJcAAAABAR8AwusLAAAAABYAFAPP7IcV4fQEo27AEeQjj4Yyn5CcAQ4gswU80whDZOoIHS/lfyxwmHh5USHBwbcjWHaJ9/XU+78BDwQBAAAAARAE/f///wz8CWxpZ2h0bmluZwEIwRR1uu1r8GoAAQMIgIQeAAAAAAABBCIAIMm8XAY8rvv3pseBRAe1YntPgai1bsvpMsaC+cusDRnfDPwJbGlnaHRuaW5nAQjdRD+FoUsRIAABAwhiDc0LAAAAAAEEIlEgyRg+3pEh88b9FJiCLEenYCcyJ2ackJUIhDusW72BP2gM/AlsaWdodG5pbmcBCPN/JmOnjFW4AA==",
"channel_type": {
"bits": [
12,
22
],
"names": [
"static_remotekey/even",
"anchors/even"
]
},
"commitments_secured": false,
"funding_serial": 15943938423967650000,
"requires_confirmed_inputs": false
}
}
]
}