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

254 lines
7.3 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"required": [
"forwards"
],
"properties": {
"forwards": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"required": [
"in_channel",
"in_msat",
"status",
"received_time"
],
"properties": {
"in_channel": {
"type": "short_channel_id",
"description": "the channel that received the HTLC"
},
"in_htlc_id": {
"type": "u64",
"description": "the unique HTLC id the sender gave this (not present if incoming channel was closed before ugprade to v22.11)"
},
"in_msatoshi": {
"deprecated": true
},
"in_msat": {
"type": "msat",
"description": "the value of the incoming HTLC"
},
"status": {
"type": "string",
"enum": [
"offered",
"settled",
"local_failed",
"failed"
],
"description": "still ongoing, completed, failed locally, or failed after forwarding"
},
"received_time": {
"type": "number",
"description": "the UNIX timestamp when this was received"
},
"out_channel": {
"type": "short_channel_id",
"description": "the channel that the HTLC (trying to) forward to"
},
"out_htlc_id": {
"type": "u64",
"description": "the unique HTLC id we gave this when sending (may be missing even if out_channel is present, for old forwards before v22.11)"
},
"style": {
"type": "string",
"enum": [
"legacy",
"tlv"
],
"description": "Either a legacy onion format or a modern tlv format"
}
},
"allOf": [
{
"if": {
"required": [
"out_msat"
]
},
"then": {
"additionalProperties": false,
"required": [
"fee_msat",
"out_msat",
"out_channel"
],
"properties": {
"in_channel": {},
"in_htlc_id": {},
"in_msatoshi": {},
"in_msat": {},
"status": {},
"style": {},
"received_time": {},
"resolved_time": {},
"out_channel": {},
"out_htlc_id": {},
"failcode": {},
"failreason": {},
"fee": {
"deprecated": true
},
"fee_msat": {
"type": "msat",
"description": "the amount this paid in fees"
},
"out_msatoshi": {
"deprecated": true
},
"out_msat": {
"type": "msat",
"description": "the amount we sent out the *out_channel*"
}
}
},
"else": {
"additionalProperties": false,
"required": [],
"properties": {
"in_channel": {},
"in_htlc_id": {},
"in_msatoshi": {},
"in_msat": {},
"status": {},
"style": {},
"received_time": {},
"resolved_time": {},
"failcode": {},
"failreason": {},
"out_channel": {}
}
}
},
{
"if": {
"properties": {
"status": {
"type": "string",
"enum": [
"settled",
"failed"
]
}
}
},
"then": {
"additionalProperties": false,
"required": [
"resolved_time"
],
"properties": {
"in_channel": {},
"in_htlc_id": {},
"in_msatoshi": {},
"in_msat": {},
"status": {},
"style": {},
"received_time": {},
"out_channel": {},
"out_htlc_id": {},
"fee": {},
"fee_msat": {},
"out_msatoshi": {},
"out_msat": {},
"failcode": {},
"failreason": {},
"resolved_time": {
"type": "number",
"description": "the UNIX timestamp when this was resolved"
}
}
},
"else": {
"additionalProperties": false,
"properties": {
"in_channel": {},
"in_htlc_id": {},
"in_msatoshi": {},
"in_msat": {},
"status": {},
"style": {},
"received_time": {},
"out_channel": {},
"out_htlc_id": {},
"fee": {},
"fee_msat": {},
"failcode": {},
"failreason": {},
"out_msatoshi": {},
"out_msat": {}
}
}
},
{
"if": {
"properties": {
"status": {
"type": "string",
"enum": [
"local_failed",
"failed"
]
}
}
},
"then": {
"additionalProperties": false,
"required": [],
"properties": {
"in_channel": {},
"in_htlc_id": {},
"in_msatoshi": {},
"in_msat": {},
"status": {},
"style": {},
"received_time": {},
"out_channel": {},
"out_htlc_id": {},
"fee": {},
"fee_msat": {},
"out_msatoshi": {},
"out_msat": {},
"resolved_time": {},
"failcode": {
"type": "u32",
"description": "the numeric onion code returned"
},
"failreason": {
"type": "string",
"description": "the name of the onion code returned"
}
}
},
"else": {
"additionalProperties": false,
"required": [],
"properties": {
"in_channel": {},
"in_htlc_id": {},
"in_msatoshi": {},
"in_msat": {},
"status": {},
"style": {},
"received_time": {},
"out_channel": {},
"out_htlc_id": {},
"fee": {},
"fee_msat": {},
"out_msatoshi": {},
"out_msat": {},
"resolved_time": {}
}
}
}
]
}
}
}
}