mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 09:54:16 +01:00
b327bd30c3
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>
153 lines
4.1 KiB
JSON
153 lines
4.1 KiB
JSON
{
|
|
"$schema": "../rpc-schema-draft.json",
|
|
"type": "object",
|
|
"rpc": "reserveinputs",
|
|
"title": "Construct a transaction and reserve the UTXOs it spends",
|
|
"description": [
|
|
"The **reserveinputs** RPC command places (or increases) reservations on any inputs specified in *psbt* which are known to lightningd. It will fail with an error if any of the inputs are known to be spent, and ignore inputs which are unknown.",
|
|
"",
|
|
"Normally the command will fail (with no reservations made) if an input is already reserved."
|
|
],
|
|
"request": {
|
|
"required": [
|
|
"psbt"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"psbt": {
|
|
"type": "string",
|
|
"description": [
|
|
"The PSBT to reserve inputs from."
|
|
]
|
|
},
|
|
"exclusive": {
|
|
"type": "boolean",
|
|
"description": [
|
|
"If set to *False*, existing reservations are simply extended, rather than causing failure."
|
|
]
|
|
},
|
|
"reserve": {
|
|
"type": "u32",
|
|
"description": [
|
|
"The number of blocks to reserve. By default, reservations are for the next 72 blocks (approximately 6 hours)."
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"response": {
|
|
"required": [
|
|
"reservations"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"reservations": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"txid",
|
|
"vout",
|
|
"was_reserved",
|
|
"reserved",
|
|
"reserved_to_block"
|
|
],
|
|
"properties": {
|
|
"txid": {
|
|
"type": "txid",
|
|
"description": [
|
|
"The input transaction id."
|
|
]
|
|
},
|
|
"vout": {
|
|
"type": "u32",
|
|
"description": [
|
|
"The input index output number which was reserved."
|
|
]
|
|
},
|
|
"was_reserved": {
|
|
"type": "boolean",
|
|
"description": [
|
|
"Whether the input was already reserved."
|
|
]
|
|
},
|
|
"reserved": {
|
|
"type": "boolean",
|
|
"enum": [
|
|
true
|
|
],
|
|
"description": [
|
|
"Whether the input is now reserved."
|
|
]
|
|
},
|
|
"reserved_to_block": {
|
|
"type": "u32",
|
|
"description": [
|
|
"What blockheight the reservation will expire."
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"errors": [
|
|
"On failure, an error is reported and no UTXOs are reserved.",
|
|
"",
|
|
"- -32602: Invalid parameter, such as specifying a spent/reserved input in *psbt*."
|
|
],
|
|
"author": [
|
|
"Lisa Neigut <<niftynei@gmail.com>> is mainly responsible."
|
|
],
|
|
"see_also": [
|
|
"lightning-unreserveinputs(7)",
|
|
"lightning-signpsbt(7)",
|
|
"lightning-sendpsbt(7)"
|
|
],
|
|
"resources": [
|
|
"Main web site: <https://github.com/ElementsProject/lightning>"
|
|
],
|
|
"examples": [
|
|
{
|
|
"request": {
|
|
"id": "example:reserveinputs#1",
|
|
"method": "reserveinputs",
|
|
"params": {
|
|
"psbt": "cHNidP8BADMCAAAAAfcJ+tPRXly5UFuX2jOOOBUcBBjfDGAC8vLWfrkJf/O2AQAAAAD9////AAAAAAAAAA=="
|
|
}
|
|
},
|
|
"response": {
|
|
"reservations": [
|
|
{
|
|
"txid": "b6f37f09b97ed6f2f202600cdf18041c15388e33da975b50b95c5ed1d3fa09f7",
|
|
"vout": 1,
|
|
"was_reserved": false,
|
|
"reserved": true,
|
|
"reserved_to_block": 226
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"request": {
|
|
"id": "example:reserveinputs#2",
|
|
"method": "reserveinputs",
|
|
"params": {
|
|
"psbt": "cHNidP8BADMCAAAAAQmU87pv4WOONFOqae6XAQBHIi5fZ4Ztyt0vn1YASZntAAAAAAD9////AAAAAAAAAA=="
|
|
}
|
|
},
|
|
"response": {
|
|
"reservations": [
|
|
{
|
|
"txid": "ed994900569f2fddca6d86675f2e2247000197ee69aa53348e63e16fbaf39409",
|
|
"vout": 0,
|
|
"was_reserved": false,
|
|
"reserved": true,
|
|
"reserved_to_block": 226
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|