core-lightning/doc/schemas/sendpay.request.json
Rusty Russell d7cc1e4a17 doc: Updated parameter descriptions for *.request.json
Added descriptions for rpc command parameters

This also performs the following fixes:
1. delforward parameters are compulsory (required).
2. disableinvoicerequest request added `added` field.
3. invoice request order fixed (label then description, not vice-versa!).
4. listpeers log levels are a proper enum
5. description parameter documented for sendonion requests.
6. deprecatred amount_msat removed from sendpay request.
7. sendpay request partid type fixed to u64 (was u16!)
8. sendpay request localinvreqid type tightened to hash (was hex)
9. sendpay request payment_metadata and description fields documented.
10. sendpsbt request reserve type fixed to u32 (was boolean)
11. utxopsbt request satoshi type fixed to msat_or_all (was msat)
12. withdraw request parameter satoshi is compulsory (required)
13. fundchannel_start request amount is sat, not msat_or_all.
14. openchannel_init request amount is sat, not msat
15. openchannel_init close_to is a string, not hex.
16: invoice labels can be strings OR numbers.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-03-19 14:58:59 +10:30

83 lines
3.2 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"additionalProperties": false,
"required": [
"route",
"payment_hash"
],
"properties": {
"route": {
"type": "array",
"items": {
"type": "object",
"required": [
"amount_msat",
"id",
"delay",
"channel"
],
"properties": {
"id": {
"type": "pubkey",
"description": "The node at the end of this hop"
},
"channel": {
"type": "short_channel_id",
"description": "The channel joining these nodes"
},
"delay": {
"type": "u32",
"description": "The total CLTV expected by the node at the end of this hop"
},
"amount_msat": {
"type": "msat",
"description": "The amount expected by the node at the end of this hop"
}
}
}
},
"payment_hash": {
"type": "hash",
"description": "the hash of the payment_preimage"
},
"label": {
"type": "string",
"description": "the label provided when creating the invoice_request"
},
"amount_msat": {
"type": "msat",
"description": "amount must be provided if *partid* is non-zero, or the payment is to-self, otherwise it must be equal to the final amount to the destination. By default it is in millisatoshi precision; it can be a whole number, or a whole number ending in *msat* or *sat*, or a number with three decimal places ending in *sat*, or a number with 1 to 11 decimal places ending in *btc*"
},
"bolt11": {
"type": "string",
"description": "bolt11 invoice to pay. If provided, will be returned in *waitsendpay* and *listsendpays* results"
},
"payment_secret": {
"type": "secret",
"description": "value that the final recipient requires to accept the payment, as defined by the `payment_data` field in BOLT 4 and the `s` field in the BOLT 11 invoice format. It is required if *partid* is non-zero"
},
"partid": {
"type": "u64",
"description": "must not be provided for self-payments. If provided and non-zero, allows for multiple parallel partial payments with the same *payment_hash*. The *amount_msat* amount (which must be provided) for each **sendpay** with matching *payment_hash* must be equal, and **sendpay** will fail if there are differing values given"
},
"localinvreqid": {
"type": "hex",
"description": "indicates that this payment is being made for a local invoice_request. This ensures that we only send a payment for a single-use invoice_request once"
},
"groupid": {
"type": "u64",
"description": "allows you to attach a number which appears in **listsendpays** so payments can be identified as part of a logical group. The *pay* plugin uses this to identify one attempt at a MPP payment, for example"
},
"payment_metadata": {
"added": "v0.11.0",
"type": "hex",
"description": "placed in the final onion hop TLV"
},
"description": {
"added": "v0.11.0",
"type": "string",
"description": "description used in the invoice"
}
}
}