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

152 lines
4.0 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": true,
"required": [
"label",
"description",
"payment_hash",
"status",
"created_index",
"expires_at"
],
"properties": {
"label": {
"type": "string",
"description": "unique label supplied at invoice creation"
},
"description": {
"type": "string",
"description": "description used in the invoice"
},
"payment_hash": {
"type": "hash",
"description": "the hash of the *payment_preimage* which will prove payment"
},
"status": {
"type": "string",
"enum": [
"paid",
"expired"
],
"description": "Whether it's paid or expired"
},
"expires_at": {
"type": "u64",
"description": "UNIX timestamp of when it will become / became unpayable"
},
"amount_msat": {
"type": "msat",
"description": "the amount required to pay this invoice"
},
"bolt11": {
"type": "string",
"description": "the BOLT11 string (always present unless *bolt12* is)"
},
"bolt12": {
"type": "string",
"description": "the BOLT12 string (always present unless *bolt11* is)"
},
"created_index": {
"type": "u64",
"added": "v23.08",
"description": "1-based index indicating order this invoice was created in"
},
"updated_index": {
"type": "u64",
"added": "v23.08",
"description": "1-based index indicating order this invoice was changed (only present if it has changed since creation)"
}
},
"allOf": [
{
"if": {
"properties": {
"status": {
"type": "string",
"enum": [
"paid"
]
}
}
},
"then": {
"additionalProperties": false,
"required": [
"pay_index",
"amount_received_msat",
"paid_at",
"payment_preimage"
],
"properties": {
"label": {},
"description": {},
"payment_hash": {},
"status": {},
"msatoshi": {},
"amount_msat": {},
"bolt11": {},
"bolt12": {},
"expires_at": {},
"created_index": {},
"updated_index": {},
"pay_index": {
"type": "u64",
"description": "Unique incrementing index for this payment"
},
"amount_received_msat": {
"type": "msat",
"description": "the amount actually received (could be slightly greater than *amount_msat*, since clients may overpay)"
},
"paid_at": {
"type": "u64",
"description": "UNIX timestamp of when it was paid"
},
"paid_outpoint": {
"type": "object",
"description": "Outpoint this invoice was paid with",
"added": "v23.11",
"additionalProperties": false,
"required": [
"txid",
"outnum"
],
"properties": {
"txid": {
"added": "v23.11",
"type": "txid",
"description": "ID of the transaction that paid the invoice"
},
"outnum": {
"added": "v23.11",
"type": "u32",
"description": "The 0-based output number of the transaction that paid the invoice"
}
}
},
"payment_preimage": {
"type": "secret",
"description": "proof of payment"
}
}
},
"else": {
"additionalProperties": false,
"properties": {
"label": {},
"description": {},
"payment_hash": {},
"status": {},
"msatoshi": {},
"amount_msat": {},
"bolt11": {},
"bolt12": {},
"created_index": {},
"updated_index": {},
"expires_at": {}
}
}
}
]
}