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.
|
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) |
|
} |
|
} |
|
} |
|
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.
Because of this issue, eclair requires payment secret when sending probes: ACINQ/eclair#1810 (comment)
Right now I'm getting:
And I think it's because when sending probes, it uses
sponaneous_emptywhich does not send payment secret.rust-lightning/lightning/src/ln/outbound_payment.rs
Lines 984 to 993 in 3dffe54
rust-lightning/lightning/src/ln/outbound_payment.rs
Lines 461 to 463 in 3dffe54
Would always sending payment secret be the right approach? Don't all nodes support it at this point? Or would allowing
send_probeto pass throughRecipientOnionFieldsbe a work around and I can hardcode their node pubkey for it.