discovery+graph: get inbound fee directly from ChannelUpdate

Remove the previously added TODOs which would extract InboundFee info
from the ExtraOpaqueData of a ChannelUpdate at the time of
ChannelEdgePolicy construction. These can now be replaced by using the
newly added InboundFee record on the ChannelUpdate message.
This commit is contained in:
Elle Mouton committed 2025-06-09 08:44:47 +02:00
1 parent 420001a98c
commit 6d8bc63ad6
3 files changed
+11 -38

No files matched your search

+1 -17
View File
@@ -11,7 +11,6 @@ import (
"github.com/go-errors/errors"
"github.com/lightningnetwork/lnd/batch"
"github.com/lightningnetwork/lnd/chainntnfs"
"github.com/lightningnetwork/lnd/fn/v2"
graphdb "github.com/lightningnetwork/lnd/graph/db"
"github.com/lightningnetwork/lnd/graph/db/models"
"github.com/lightningnetwork/lnd/lnutils"
@@ -955,25 +954,10 @@ func (b *Builder) ApplyChannelUpdate(msg *lnwire.ChannelUpdate1) bool {
MaxHTLC: msg.HtlcMaximumMsat,
FeeBaseMSat: lnwire.MilliSatoshi(msg.BaseFee),
FeeProportionalMillionths: lnwire.MilliSatoshi(msg.FeeRate),
InboundFee: msg.InboundFee.ValOpt(),
ExtraOpaqueData: msg.ExtraOpaqueData,
}
// Extract the inbound fee from the ExtraOpaqueData, if present.
//
// TODO(elle): this can be removed once we define the optional TLV
// field on the lnwire.ChannelUpdate itself.
var inboundFee lnwire.Fee
typeMap, err := update.ExtraOpaqueData.ExtractRecords(&inboundFee)
if err != nil {
log.Errorf("%v: %v", graphdb.ErrParsingExtraTLVBytes, err)
return false
}
val, ok := typeMap[lnwire.FeeRecordType]
if ok && val == nil {
update.InboundFee = fn.Some(inboundFee)
}
err = b.UpdateEdge(update)
if err != nil && !IsError(err, ErrIgnored, ErrOutdated) {
log.Errorf("Unable to apply channel update: %v", err)