[NWC] Add get_budget command for per-connection budget limits.

This separates the notion of budget from `get_balance` so that permissions
can be more appropriately controlled by the wallet. Budgets can be configured
by users like how Alby supports, and client apps can query their remaining
budget and when it will renew next.

Breaking out a separate command for this purpose means that a user can let
a client app see their own remaining budget without giving the app access
to see their entire wallet balance.
This commit is contained in:
Jeremy Klein 2024-09-17 20:40:08 -07:00
parent 8c47577ecb
commit 17cd5be192

27
47.md
View File

@ -373,6 +373,33 @@ Response:
}
```
### `get_budget`
Budgets can be used to limit the amount of funds that can be spent by a connection in a given time period.
Budgets are optional and can be set by the user if their wallet supports it. Support for this command indicates
that the wallet supports user-configured budgets. The budget will be reset at the `renews_at` timestamp.
Request:
```jsonc
{
"method": "get_budget",
"params": {
}
}
```
Response:
```jsonc
{
"result_type": "get_budget",
"result": {
"remaining_budget_msats": 10000,
"total_budget_msats": 100000,
"renews_at": 1693876973, // timestamp in seconds since epoch
}
}
```
### `get_info`
Request: