rgb-cln/doc/schemas/unreserveinputs.schema.json

60 lines
1.3 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"required": [ "reservations" ],
"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" ],
"properties": {
"txid": { },
"vout": { },
"was_reserved": { },
"reserved": { },
"reserved_to_block": {
"type": "u32",
"description": "what blockheight the reservation will expire"
}
}
}
}
]
}
}
}
}