keysend: Check that the destination supports keysend upon init

We were blindly initiating the keysend payment, which could lead to
confusing outcomes. This adds a very specific error message to the
error returned.

Changelog-Fixed: keysend: Keysend now checks whether the destination supports keysend before attempting a payment. If not a more informative error is returned.
This commit is contained in:
Christian Decker
2020-11-30 15:04:24 +01:00
parent 1ca2c66c54
commit 3b599b846e
2 changed files with 20 additions and 1 deletions

View File

@@ -3373,7 +3373,7 @@ def test_listpay_result_with_paymod(node_factory, bitcoind):
amount_sat = 10 ** 6
l1, l2, l3 = node_factory.line_graph(3)
l1, l2, l3 = node_factory.line_graph(3, wait_for_announce=True)
invl2 = l2.rpc.invoice(amount_sat * 2, "inv_l2", "inv_l2")
l1.rpc.pay(invl2['bolt11'])