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:
3 files changed
+11
-38
No files matched your search
+1
-17
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user