@@ -59,9 +59,9 @@ class PaymentInitiator(nodeParams: NodeParams, outgoingPaymentFactory: PaymentIn
5959 sender() ! PaymentFailed (paymentId, r.paymentHash, LocalFailure (r.recipientAmount, Nil , PaymentSecretMissing ) :: Nil )
6060 case Some (paymentSecret) if r.paymentRequest.features.allowMultiPart && nodeParams.features.hasFeature(BasicMultiPartPayment ) =>
6161 val fsm = outgoingPaymentFactory.spawnOutgoingMultiPartPayment(context, paymentCfg)
62- fsm ! SendMultiPartPayment (sender(), paymentSecret, r.recipientNodeId, r.recipientAmount, finalExpiry, r.maxAttempts, r.assistedRoutes, r.routeParams, userCustomTlvs = r.userCustomTlvs)
62+ fsm ! SendMultiPartPayment (sender(), paymentSecret, r.recipientNodeId, r.recipientAmount, finalExpiry, r.maxAttempts, r.paymentRequest.paymentMetadata, r. assistedRoutes, r.routeParams, userCustomTlvs = r.userCustomTlvs)
6363 case Some (paymentSecret) =>
64- val finalPayload = PaymentOnion .createSinglePartPayload(r.recipientAmount, finalExpiry, paymentSecret, r.userCustomTlvs)
64+ val finalPayload = PaymentOnion .createSinglePartPayload(r.recipientAmount, finalExpiry, paymentSecret, r.paymentRequest.paymentMetadata, r. userCustomTlvs)
6565 val fsm = outgoingPaymentFactory.spawnOutgoingPayment(context, paymentCfg)
6666 fsm ! PaymentLifecycle .SendPaymentToNode (sender(), r.recipientNodeId, finalPayload, r.maxAttempts, r.assistedRoutes, r.routeParams)
6767 }
@@ -140,11 +140,11 @@ class PaymentInitiator(nodeParams: NodeParams, outgoingPaymentFactory: PaymentIn
140140 sender() ! SendPaymentToRouteResponse (paymentId, parentPaymentId, Some (trampolineSecret))
141141 val payFsm = outgoingPaymentFactory.spawnOutgoingPayment(context, paymentCfg)
142142 val (trampolineAmount, trampolineExpiry, trampolineOnion) = buildTrampolinePayment(r, trampoline, r.trampolineFees, r.trampolineExpiryDelta)
143- payFsm ! PaymentLifecycle .SendPaymentToRoute (sender(), Left (r.route), PaymentOnion .createMultiPartPayload(r.amount, trampolineAmount, trampolineExpiry, trampolineSecret, Seq (OnionPaymentPayloadTlv .TrampolineOnion (trampolineOnion))), r.paymentRequest.routingInfo)
143+ payFsm ! PaymentLifecycle .SendPaymentToRoute (sender(), Left (r.route), PaymentOnion .createMultiPartPayload(r.amount, trampolineAmount, trampolineExpiry, trampolineSecret, r.paymentRequest.paymentMetadata, Seq (OnionPaymentPayloadTlv .TrampolineOnion (trampolineOnion))), r.paymentRequest.routingInfo)
144144 case Nil =>
145145 sender() ! SendPaymentToRouteResponse (paymentId, parentPaymentId, None )
146146 val payFsm = outgoingPaymentFactory.spawnOutgoingPayment(context, paymentCfg)
147- payFsm ! PaymentLifecycle .SendPaymentToRoute (sender(), Left (r.route), PaymentOnion .createMultiPartPayload(r.amount, r.recipientAmount, finalExpiry, r.paymentRequest.paymentSecret.get), r.paymentRequest.routingInfo)
147+ payFsm ! PaymentLifecycle .SendPaymentToRoute (sender(), Left (r.route), PaymentOnion .createMultiPartPayload(r.amount, r.recipientAmount, finalExpiry, r.paymentRequest.paymentSecret.get, r.paymentRequest.paymentMetadata ), r.paymentRequest.routingInfo)
148148 case _ =>
149149 sender() ! PaymentFailed (paymentId, r.paymentHash, LocalFailure (r.recipientAmount, Nil , TrampolineMultiNodeNotSupported ) :: Nil )
150150 }
@@ -156,9 +156,9 @@ class PaymentInitiator(nodeParams: NodeParams, outgoingPaymentFactory: PaymentIn
156156 NodeHop (trampolineNodeId, r.recipientNodeId, trampolineExpiryDelta, trampolineFees) // for now we only use a single trampoline hop
157157 )
158158 val finalPayload = if (r.paymentRequest.features.allowMultiPart) {
159- PaymentOnion .createMultiPartPayload(r.recipientAmount, r.recipientAmount, r.finalExpiry(nodeParams.currentBlockHeight), r.paymentRequest.paymentSecret.get)
159+ PaymentOnion .createMultiPartPayload(r.recipientAmount, r.recipientAmount, r.finalExpiry(nodeParams.currentBlockHeight), r.paymentRequest.paymentSecret.get, r.paymentRequest.paymentMetadata )
160160 } else {
161- PaymentOnion .createSinglePartPayload(r.recipientAmount, r.finalExpiry(nodeParams.currentBlockHeight), r.paymentRequest.paymentSecret.get)
161+ PaymentOnion .createSinglePartPayload(r.recipientAmount, r.finalExpiry(nodeParams.currentBlockHeight), r.paymentRequest.paymentSecret.get, r.paymentRequest.paymentMetadata )
162162 }
163163 // We assume that the trampoline node supports multi-part payments (it should).
164164 val (trampolineAmount, trampolineExpiry, trampolineOnion) = if (r.paymentRequest.features.allowTrampoline) {
@@ -175,7 +175,7 @@ class PaymentInitiator(nodeParams: NodeParams, outgoingPaymentFactory: PaymentIn
175175 val trampolineSecret = randomBytes32()
176176 val (trampolineAmount, trampolineExpiry, trampolineOnion) = buildTrampolinePayment(r, r.trampolineNodeId, trampolineFees, trampolineExpiryDelta)
177177 val fsm = outgoingPaymentFactory.spawnOutgoingMultiPartPayment(context, paymentCfg)
178- fsm ! SendMultiPartPayment (self, trampolineSecret, r.trampolineNodeId, trampolineAmount, trampolineExpiry, nodeParams.maxPaymentAttempts, r.paymentRequest.routingInfo, r.routeParams, Seq (OnionPaymentPayloadTlv .TrampolineOnion (trampolineOnion)))
178+ fsm ! SendMultiPartPayment (self, trampolineSecret, r.trampolineNodeId, trampolineAmount, trampolineExpiry, nodeParams.maxPaymentAttempts, r.paymentRequest.paymentMetadata, r.paymentRequest. routingInfo, r.routeParams, Seq (OnionPaymentPayloadTlv .TrampolineOnion (trampolineOnion)))
179179 }
180180
181181}
0 commit comments