Rusty Russell
1380d36898
xpay: don't try to timeout things until after we have created xpay layer.
...
```
lightningd-1 2024-11-19T05:21:16.313Z DEBUG lightningd: Looking for [askrene,layers]
lightningd-1 2024-11-19T05:21:16.314Z DEBUG lightningd: Got [askrene,layers,xpay]
lightningd-1 2024-11-19T05:21:16.314Z DEBUG lightningd: Printing
lightningd-1 2024-11-19T05:21:16.315Z **BROKEN** plugin-cln-xpay: askrene-age failed with {\"code\":-32602,\"message\":\"layer: Unknown layer: invalid token '\\\"xpay\\\"'\"}
lightningd-1 2024-11-19T05:21:16.318Z DEBUG plugin-cln-askrene: datastore = {\"datastore\":[{\"key\":[\"askrene\",\"layers\",\"xpay\"],\"generation\":13,\"hex\":\"000300001000003f47af0100000000673c1fea010000000000d1b0d4000003000000000ce5066e0000000000673c1fea010000000000d1b0d400000300001000001a47050000000000673c1fea010000000000d1b0d400000300003f00005a72b40100000000673c1fea010000000000d1b0d400000300000000005a07e80100000000673c1fea010000000000d1b0d400000300001a0000e3564c0100000000673c1fea010000000000d1b0d40000030000e3000db69cf50000000000673c1fea0001000000000100637e\"}]}
lightningd-1 2024-11-19T05:21:16.318Z DEBUG plugin-cln-askrene: Loaded level xpay (203 bytes)
lightningd-1 2024-11-19T05:21:16.391Z INFO plugin-cln-xpay: Killing plugin: exited during normal operation
```
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-19 17:51:18 +10:30
Rusty Russell
05fbcb4d9b
xpay: make sure to call preapproveinvoice!
...
This is required for VLS which wants to know (and potentially decline) invoices
we're trying to pay.
As a nice side effect, our "check" command for xpay now does much more thorough
checking of arguments.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-18 11:03:26 +10:30
Rusty Russell
2c15dc0e5b
xpay: make self-pay work.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-18 11:03:26 +10:30
Rusty Russell
229fc3f2b4
xpay: make the xpay layer persistent.
...
As the first user of a persistent layer, this tripped tests which
assumed the datastore would be empty!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-18 11:03:26 +10:30
Rusty Russell
41e15b1ac9
xpay: age the "xpay" layer so we forget information older than 1 hour.
...
1 hour is what mpay uses, so stick with that for now.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-18 11:03:26 +10:30
Rusty Russell
c715253af7
xpay: option to steal easy commands from pay.
...
Note: won't work with grpc (or probably other tools), since the output
is different. But good for testing.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
Changelog-Added: Config: option `xpay-handle-pay` can be used to call xpay when pay is used in many cases (but output is different from pay!)
2024-11-18 11:03:26 +10:30
Rusty Russell
64c1522597
xpay: don't use rpc_scan or jsonrpc_request_sync.
...
These will deadlock once we hook into rpc_command, so avoid them.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-18 11:03:26 +10:30
Rusty Russell
dd4d3940b1
xpay: implement partial payments.
...
Explicitly tell xpay to only make part of a payment.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-18 11:03:26 +10:30
Rusty Russell
47318a7875
xpay: add deadline.
...
We promised this in the schema originally, now support it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-18 11:03:26 +10:30
Rusty Russell
7c2407ef48
xpay: new plugin which uses askrene, injectpaymentonion.
...
Changelog-Added: Plugins: cln-xpay, with associated `xpay` command for payments.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2024-11-18 11:03:26 +10:30