-
Notifications
You must be signed in to change notification settings - Fork 417
Closed
Description
Because of this issue, eclair requires payment secret when sending probes: ACINQ/eclair#1810 (comment)
Right now I'm getting:
INFO [lightning::ln::onion_utils:579] Onion Error[from 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f: invalid_onion_payload(0x4016)] Node indicated that the decrypted onion per-hop payload was not understood by it or is incomplete
And I think it's because when sending probes, it uses sponaneous_empty
which does not send payment secret.
rust-lightning/lightning/src/ln/outbound_payment.rs
Lines 984 to 993 in 3dffe54
match self.pay_route_internal(&route, payment_hash, RecipientOnionFields::spontaneous_empty(), | |
None, payment_id, None, onion_session_privs, node_signer, best_block_height, &send_payment_along_path | |
) { | |
Ok(()) => Ok((payment_hash, payment_id)), | |
Err(e) => { | |
self.remove_outbound_if_all_failed(payment_id, &e); | |
Err(e) | |
} | |
} | |
} |
rust-lightning/lightning/src/ln/outbound_payment.rs
Lines 461 to 463 in 3dffe54
pub fn spontaneous_empty() -> Self { | |
Self { payment_secret: None, payment_metadata: None, custom_tlvs: Vec::new() } | |
} |
Would always sending payment secret be the right approach? Don't all nodes support it at this point? Or would allowing send_probe
to pass through RecipientOnionFields
be a work around and I can hardcode their node pubkey for it.
Metadata
Metadata
Assignees
Labels
No labels