Skip to content

Commit ed1a0e9

Browse files
committed
tapfreighter: don't use proof courier for pre-signed parcel
Since a pre-signed parcel (a parcel that uses the RPC driven vPSBT flow) doesn't have proof courier URLs (they aren't part of the vPSBT), the proofs must always be delivered in an interactive manner from sender to receiver and we don't even need to attempt to use a proof courier.
1 parent bcc86e8 commit ed1a0e9

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

tapfreighter/chain_porter.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -699,8 +699,14 @@ func (p *ChainPorter) transferReceiverProof(pkg *sendPackage) error {
699699
}
700700

701701
// If we have a proof courier instance active, then we'll launch several
702-
// goroutines to deliver the proof(s) to the receiver(s).
703-
if p.cfg.ProofCourierCfg != nil {
702+
// goroutines to deliver the proof(s) to the receiver(s). Since a
703+
// pre-signed parcel (a parcel that uses the RPC driven vPSBT flow)
704+
// doesn't have proof courier URLs (they aren't part of the vPSBT), the
705+
// proofs must always be delivered in an interactive manner from sender
706+
// to receiver, and we don't even need to attempt to use a proof
707+
// courier.
708+
_, isPreSigned := pkg.Parcel.(*PreSignedParcel)
709+
if p.cfg.ProofCourierCfg != nil && !isPreSigned {
704710
ctx, cancel := p.WithCtxQuitNoTimeout()
705711
defer cancel()
706712

0 commit comments

Comments
 (0)