core-lightning/doc/schemas/lightning-askrene-reserve.json
Rusty Russell 3c5c22b17a askrene: change inform interface, take into account reserve.
Lagrang3 points out that if we hit a maximum, we should take into account
the reserve.  This is true, but it's hard for the caller to do, so change
the API to be slightly higher level.

Tell "inform" what happened, and it adjust the constraints appropriately.
This makes the least assumptions possible (a reserve does *not* mean that
the capacity was actually used at that time).

We also add a mode to say "this succeeded": for now this does nothing,
but it could reduce both min/max capacities, and add capacity in the
other direction.  This is useful for future payments, but not as useful
for the current one.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2024-10-04 11:27:53 +09:30

61 lines
1.8 KiB
JSON

{
"$schema": "../rpc-schema-draft.json",
"type": "object",
"additionalProperties": false,
"rpc": "askrene-reserve",
"title": "Command for informing askrene that you are trying a path (EXPERIMENTAL)",
"description": [
"WARNING: experimental, so API may change.",
"",
"The **askrene-reserve** RPC command tells askrene that a path is being attempted. This allows it to take that into account when other *getroutes* calls are made. You should call *askrene-unreserve* after the attempt has completed (and before calling *askrene-inform*).",
"",
"Note that additional properties inside the *path* elements are ignored, which is useful when used with the result of *getroutes*."
],
"request": {
"required": [
"path"
],
"properties": {
"path": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"required": [
"short_channel_id_dir",
"amount_msat"
],
"properties": {
"short_channel_id_dir": {
"type": "short_channel_id_dir",
"description": [
"The channel and direction joining these nodes."
]
},
"amount_msat": {
"type": "msat",
"description": [
"The amount to send into this hop."
]
}
}
}
}
}
},
"response": {
"required": [],
"properties": {}
},
"see_also": [
"lightning-getroutes(7)",
"lightning-askrene-unreserve(7)",
"lightning-askrene-listreservations(7)"
],
"author": [
"Rusty Russell <<rusty@rustcorp.com.au>> is mainly responsible."
],
"resources": [
"Main web site: <https://github.com/ElementsProject/lightning>"
]
}