@@ -612,6 +612,14 @@ type BlindedPathRestrictions struct {
612
612
// NodeOmissionSet is a set of nodes that should not be used within any
613
613
// of the blinded paths that we generate.
614
614
NodeOmissionSet fn.Set [route.Vertex ]
615
+
616
+ // NodeIncomeSet holds a set of node IDs of nodes that we should
617
+ // use as income hope during blinded path selection.
618
+ NodeIncomeSet fn.Set [route.Vertex ]
619
+
620
+ // ChannelIncomeSet holds a set of channel IDs of channels that we
621
+ // should use as income channel during blinded path selection.
622
+ ChannelIncomeSet fn.Set [uint64 ]
615
623
}
616
624
617
625
// FindBlindedPaths finds a selection of paths to the destination node that can
@@ -624,9 +632,11 @@ func (r *ChannelRouter) FindBlindedPaths(destination route.Vertex,
624
632
// path length restrictions.
625
633
paths , err := findBlindedPaths (
626
634
r .cfg .RoutingGraph , destination , & blindedPathRestrictions {
627
- minNumHops : restrictions .MinDistanceFromIntroNode ,
628
- maxNumHops : restrictions .NumHops ,
629
- nodeOmissionSet : restrictions .NodeOmissionSet ,
635
+ minNumHops : restrictions .MinDistanceFromIntroNode ,
636
+ maxNumHops : restrictions .NumHops ,
637
+ nodeOmissionSet : restrictions .NodeOmissionSet ,
638
+ nodeIncomeSet : restrictions .NodeIncomeSet ,
639
+ channelIncomeSet : restrictions .ChannelIncomeSet ,
630
640
},
631
641
)
632
642
if err != nil {
0 commit comments