Skip to content

Commit faeea3f

Browse files
committed
Allow single-part payments to trampoline nodes
We don't actually need to use MPP between trampoline nodes: a single part payment could work. We're thus removing the requirement to always provide the MPP field in the outer onion. Always using MPP (even for single-part payments) simplified our eclair implementation, but other implementations may work differently, so it shouldn't impact the spec.
1 parent 079f761 commit faeea3f

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

04-onion-routing.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,9 @@ A sending node:
513513
- MUST include `outgoing_node_id`.
514514
- MUST use a different `session_key` for the `trampoline_onion_packet` and the `onion_packet`.
515515
- MUST include the `trampoline_onion_packet` tlv in the _last_ hop's payload of the `onion_packet`.
516-
- MUST generate a random `payment_secret` to use in the outer onion.
516+
- If it sends a multi-part payment:
517+
- MUST generate a random `payment_secret` to use in the outer onion.
518+
- MUST NOT use the invoice's `payment_secret` in the outer onion.
517519

518520
When processing a `trampoline_onion_packet`, a receiving node:
519521

09-features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ The Context column decodes as follows:
5151
| 46/47 | `option_scid_alias` | Supply channel aliases for routing | IN | | [BOLT #2][bolt02-channel-ready] |
5252
| 48/49 | `option_payment_metadata` | Payment metadata in tlv record | 9 | | [BOLT #11](11-payment-encoding.md#tagged-fields) |
5353
| 50/51 | `option_zeroconf` | Understands zeroconf channel types | IN | `option_scid_alias` | [BOLT #2][bolt02-channel-ready] |
54-
| 56/57 | `trampoline_routing` | This node supports trampoline routing | IN9 | `basic_mpp` | [BOLT #4](bolt04-trampoline) |
54+
| 56/57 | `trampoline_routing` | This node supports trampoline routing | IN9 | | [BOLT #4](bolt04-trampoline) |
5555

5656
## Requirements
5757

0 commit comments

Comments
 (0)