Description
I'm not using graph/gossip data (yet, will be soon) and trying to pay one LDK node from another through a direct channel between the two. This doesn't seem to work when I am using Phantom invoices but it does seem to work when I fall back to creating a normal invoice.
I'm not sure what other logs might be useful, but I print out the channel details after the payment fails. The channel should be useable, I am paying in the right direction (channel opener -> channel receiver) and I shouldn't be running into any amount problems since the invoice is just 1k sats out of a 1M channel.
Phantom Invoice:
lnbcrt10u1p3cu945dqjw3jhxarfdenjqvfjxvpp5mrj0rtyj0nh9q5zwha4dydrspr882j5pe0jkm774lwzx6zyz594ssp5vje9xafaz8g9cd7zwa3wclqa8exqqpmupps5p28e524c9uay4z9q9qrsgqcqpcxqrpwur9yqg49keumdt07vfdtjh66x9hvpm9sarq3l5v4qvrhkl6xrcd5uay8xqqz5sqqfvsqqsqqqqlgqqqqqqqqfqpftfu7q88l2hn5tpvgm4y7tmfrkqlg8n8qwsn5kar26v0rdd4zf6qqqffsqq3xqqzsqqqqqqqqqqqqqq4qz9uywasnr8uwc9cny2jae8v6r9xkf6295ef7xwrcl759akdm5a34vm423cgf0h6pun960x0awesyupufe9sxf4r9q6suc7ljntm4wlsqgdjuws
The sender's logs:
ERROR node-manager/src/node.rs:656
failed to make payment: Routing(LightningError { err: "Failed to find a path to the given destination", action: IgnoreError }) node_manager.js:1515
DEBUG node-manager/src/node.rs:659
current channel details: [ChannelDetails { channel_id: [57, 231, 202, 69, 104, 55, 215, 249, 32, 99, 17, 10, 65, 236, 7, 254, 215, 221, 226, 150, 84, 109, 66, 6, 237, 157, 115, 201, 69, 29, 70, 139], counterparty: ChannelCounterparty { node_id: PublicKey(e8246a6be331ad46b7744207ce3ce8033bd25e9ed48d5858745ef5cf019ea795c24cab74e3e3c42161b05a2ef523e288c29f2280917ab7cb604098fc533c0f23), features: [34, 81, 10, 8, 0, 160, 8], unspendable_punishment_reserve: 10000, forwarding_info: Some(CounterpartyForwardingInfo { fee_base_msat: 1000, fee_proportional_millionths: 0, cltv_expiry_delta: 72 }), outbound_htlc_minimum_msat: Some(1), outbound_htlc_maximum_msat: Some(100000000) }, funding_txo: Some(OutPoint { txid: 8a461d45c9739ded06426d5496e2ddd7fe07ec410a116320f9d7376845cae739, index: 1 }), channel_type: Some([0, 16, 0, 0, 0, 64]), short_channel_id: Some(5551434208706561), outbound_scid_alias: Some(743269939150852), inbound_scid_alias: Some(334251605032965), channel_value_satoshis: 1000000, unspendable_punishment_reserve: Some(10000), user_channel_id: 0, balance_msat: 1000000000, outbound_capacity_msat: 990000000, next_outbound_htlc_limit_msat: 100000000, inbound_capacity_msat: 0, confirmations_required: Some(1), force_close_spend_delay: Some(144), is_outbound: true, is_channel_ready: true, is_usable: true, is_public: false, inbound_htlc_minimum_msat: Some(1), inbound_htlc_maximum_msat: Some(100000000), config: Some(ChannelConfig { forwarding_fee_proportional_millionths: 0, forwarding_fee_base_msat: 1000, cltv_expiry_delta: 72, max_dust_htlc_exposure_msat: 5000000, force_close_avoidance_max_fee_satoshis: 1000 }) }]
For reference, had no problem paying this non-phantom invoice:
lnbcrt10u1p3cugjhdqjw3jhxarfdenjqvfjxvnp4q22608spel64uazctzxaf8j76gas86puecr5ya9hg6knrcmtdgjwspp5x4p7w5h7tlpfs36nxchslqadm6n9tdkl9h6wrxfzr5we2g0nu6vssp50qkvnf9kuf9hcax3dcq6x3s8rqjle3d99yq60638t3xu0hatn6gs9qyysgqcqpcxqrpwurzjqg49keumdt07vfdtjh66x9hvpm9sarq3l5v4qvrhkl6xrcd5uay8xqqz5sqqfvsqqsqqqqlgqqqqqqqqfqhss80jggk0j6a5qr5e2ad9g4qe99lznjsfd5ldmv9gvtxauyk9txzx2j0mehye3xk0ppcuqwudke7aagrxxyksa06d077pvekeadjccqwukyv0
Channel Opener / Payer pubkey: 022a5b679b6adfe625ab95f5a316ec0ecb0e8c11fd19503077b7f461e1b4e74873
Receiver pubkey: 0295a79e01cff55e7458588dd49e5ed23b03e83cce074274b746ad31e36b6a24e8
Happy to experiment with any tests to figure this out.