core-lightning/doc/schemas/lightning-unreserveinputs.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

153 lines
4.5 KiB
JSON

{
"$schema": "../rpc-schema-draft.json",
"type": "object",
"rpc": "unreserveinputs",
"title": "Release reserved UTXOs",
"description": [
"The **unreserveinputs** RPC command releases (or reduces reservation) on UTXOs which were previously marked as reserved, generally by lightning-reserveinputs(7)."
],
"request": {
"required": [
"psbt"
],
"additionalProperties": false,
"properties": {
"psbt": {
"type": "string",
"description": [
"Inputs to unreserve are the inputs specified in the passed-in *psbt*."
]
},
"reserve": {
"type": "u32",
"description": [
"The number of blocks to decrease reservation by."
],
"default": 72
}
}
},
"response": {
"required": [
"reservations"
],
"additionalProperties": false,
"properties": {
"reservations": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"required": [
"txid",
"vout",
"was_reserved",
"reserved"
],
"properties": {
"txid": {
"type": "txid",
"description": [
"The transaction id."
]
},
"vout": {
"type": "u32",
"description": [
"The output number which was reserved."
]
},
"was_reserved": {
"type": "boolean",
"description": [
"Whether the input was already reserved (usually `true`)."
]
},
"reserved": {
"type": "boolean",
"description": [
"Whether the input is now reserved (may still be `true` if it was reserved for a long time)."
]
}
},
"allOf": [
{
"if": {
"additionalProperties": true,
"properties": {
"reserved": {
"enum": [
true
]
}
}
},
"then": {
"required": [
"reserved_to_block"
],
"additionalProperties": false,
"properties": {
"txid": {},
"vout": {},
"was_reserved": {},
"reserved": {},
"reserved_to_block": {
"type": "u32",
"description": [
"What blockheight the reservation will expire."
]
}
}
}
}
]
}
}
}
},
"errors": [
"On failure, an error is reported and no UTXOs are unreserved.",
"",
"- -32602: Invalid parameter, i.e. an unparseable 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:unreserveinputs#1",
"method": "unreserveinputs",
"params": {
"psbt": "cHNidP8BAF4CAAAAAZiQf/mEs4NcFFfD4K8xauOgSpbz/xeetoXVWAPCI0h6AQAAAAD9////AahhAAAAAAAAIlEg+3d9jpNmK0getyg5W+Mp31CPIRDKcJg/mZs/uaVrQ+GZAAAAAAEAiQIAAAABswU80whDZOoIHS/lfyxwmHh5USHBwbcjWHaJ9/XU+78BAAAAAP3///8CgIQeAAAAAAAiACDJvFwGPK7796bHgUQHtWJ7T4GotW7L6TLGgvnLrA0Z32INzQsAAAAAIlEgyRg+3pEh88b9FJiCLEenYCcyJ2ackJUIhDusW72BP2iYAAAAAQErYg3NCwAAAAAiUSDJGD7ekSHzxv0UmIIsR6dgJzInZpyQlQiEO6xbvYE/aAAA",
"reserve": 200
}
},
"response": {
"reservations": []
}
},
{
"request": {
"id": "example:unreserveinputs#2",
"method": "unreserveinputs",
"params": [
"cHNidP8BAF4CAAAAAZiQf/mEs4NcFFfD4K8xauOgSpbz/xeetoXVWAPCI0h6AQAAAAD9////AfZRxQsAAAAAIlEg21kTTo7K2doCG6F2JqgaDjc1kRCrH7AL08oPVVJhuE+ZAAAAAAEAiQIAAAABswU80whDZOoIHS/lfyxwmHh5USHBwbcjWHaJ9/XU+78BAAAAAP3///8CgIQeAAAAAAAiACDJvFwGPK7796bHgUQHtWJ7T4GotW7L6TLGgvnLrA0Z32INzQsAAAAAIlEgyRg+3pEh88b9FJiCLEenYCcyJ2ackJUIhDusW72BP2iYAAAAAQErYg3NCwAAAAAiUSDJGD7ekSHzxv0UmIIsR6dgJzInZpyQlQiEO6xbvYE/aAAA"
]
},
"response": {
"reservations": []
}
}
]
}