pub trait Score {
    fn channel_penalty_msat(
        &self,
        short_channel_id: u64,
        send_amt_msat: u64,
        capacity_msat: u64,
        source: &NodeId,
        target: &NodeId
    ) -> u64;
fn payment_path_failed(&mut self, path: &[&RouteHop], short_channel_id: u64);
fn payment_path_successful(&mut self, path: &[&RouteHop]); }
Expand description

An interface used to score payment channels for path finding.

Scoring is in terms of fees willing to be paid in order to avoid routing through a channel.

Required methods

Returns the fee in msats willing to be paid to avoid routing send_amt_msat through the given channel in the direction from source to target.

The channel’s capacity (less any other MPP parts that are also being considered for use in the same payment) is given by capacity_msat. It may be determined from various sources such as a chain data, network gossip, or invoice hints. For invoice hints, a capacity near u64::max_value is given to indicate sufficient capacity for the invoice’s full amount. Thus, implementations should be overflow-safe.

Handles updating channel penalties after failing to route through a channel.

Handles updating channel penalties after successfully routing along a path.

Implementors