This commit adds a method SetNodesScores to the WeightedCombAttachment
heuristic.
Since the heuristic keeps a list of sub-heuristics, it will attempt to
recursively apply the scores to the sub heuristics.
This commit adds a new autopilot heuristic that is scoring based. It is
a simple heuristic that will keep a list of pubkeys and scores, and will
try opening channels with the nodes with the largest score first.
In this commit, we update all the `btcsuite` dependencies, along with
neutrino to their latest version. The main change in this version is a
bug fix in the way that we generated the filters that neutrino uses. As
a result, any users running btcd with neutrino today will need to
**regenerate their filter chain** using `--dropcfindex`. Any existing
neutrino clients out there will also need _re sync_ all together as the
"correct" filter header chain.
In this commit, we rename the previously unexported ticker into T,
making it exported along the way. This is nice as we now have access to
the actual interface implementation without the need of making further
type assertions.
This latest versino of neutrino contains some fixes that make lnd a bit
snappier when running on mobile devices. We'll now wait until we have our
first peer before we try to sync the chain. We'll also no longer try to fail
to query filter checkpoints if we don't actually have any to fetch.
This commit changes when the sweep pkscript
is assigned in the construction of the justice
transaction. Currently, the sweep pkscript is
assigned when the task is bound to a session.
However, we will moving to an assignment where
a unique sweep pkscript is used per channel to
prevent address inflation. Hence, this commit
makes the sweep pkscript a state dependent
variable, since it can be known at the time the
channel id is assigned.
A recent change in this area of the codebase refactored some code to
make way for the deprecation of the streaming multi-route `SendToRoute`
method. Along the way, it removed the parsing of the `PaymentHashString`
field for the sync `SendToRouteSync` which is meant to be used via the
REST interface. In this commit, we fix this by populating _both_
`PaymentHash` and `PaymentHashString`. This is OK, as
`extractPaymentIntent` will check both values to extract the hex-encoded
payment hash if it's specified.