lnwallet: add configurable cache for web fee estimator
Add fee.min-update-timeout and fee.max-update-timeout config options to allow configuration of the web fee estimator cache.
This commit is contained in:
1 parent
fa616ee059
commit
3837c3f12e
15 files changed
+202
-55
No files matched your search
+8
-8
@@ -202,15 +202,15 @@ type ChannelLinkConfig struct {
|
||||
// receiving node is persistent.
|
||||
UnsafeReplay bool
|
||||
|
||||
// MinFeeUpdateTimeout represents the minimum interval in which a link
|
||||
// MinUpdateTimeout represents the minimum interval in which a link
|
||||
// will propose to update its commitment fee rate. A random timeout will
|
||||
// be selected between this and MaxFeeUpdateTimeout.
|
||||
MinFeeUpdateTimeout time.Duration
|
||||
// be selected between this and MaxUpdateTimeout.
|
||||
MinUpdateTimeout time.Duration
|
||||
|
||||
// MaxFeeUpdateTimeout represents the maximum interval in which a link
|
||||
// MaxUpdateTimeout represents the maximum interval in which a link
|
||||
// will propose to update its commitment fee rate. A random timeout will
|
||||
// be selected between this and MinFeeUpdateTimeout.
|
||||
MaxFeeUpdateTimeout time.Duration
|
||||
// be selected between this and MinUpdateTimeout.
|
||||
MaxUpdateTimeout time.Duration
|
||||
|
||||
// OutgoingCltvRejectDelta defines the number of blocks before expiry of
|
||||
// an htlc where we don't offer an htlc anymore. This should be at least
|
||||
@@ -1558,8 +1558,8 @@ func getResolutionFailure(resolution *invoices.HtlcFailResolution,
|
||||
// within the link's configuration that will be used to determine when the link
|
||||
// should propose an update to its commitment fee rate.
|
||||
func (l *channelLink) randomFeeUpdateTimeout() time.Duration {
|
||||
lower := int64(l.cfg.MinFeeUpdateTimeout)
|
||||
upper := int64(l.cfg.MaxFeeUpdateTimeout)
|
||||
lower := int64(l.cfg.MinUpdateTimeout)
|
||||
upper := int64(l.cfg.MaxUpdateTimeout)
|
||||
return time.Duration(prand.Int63n(upper-lower) + lower)
|
||||
}
|
||||
|
||||
|
||||
@@ -2220,11 +2220,11 @@ func newSingleLinkTestHarness(t *testing.T, chanAmt,
|
||||
BatchTicker: bticker,
|
||||
FwdPkgGCTicker: ticker.NewForce(15 * time.Second),
|
||||
PendingCommitTicker: ticker.New(time.Minute),
|
||||
// Make the BatchSize and Min/MaxFeeUpdateTimeout large enough
|
||||
// Make the BatchSize and Min/MaxUpdateTimeout large enough
|
||||
// to not trigger commit updates automatically during tests.
|
||||
BatchSize: 10000,
|
||||
MinFeeUpdateTimeout: 30 * time.Minute,
|
||||
MaxFeeUpdateTimeout: 40 * time.Minute,
|
||||
MinUpdateTimeout: 30 * time.Minute,
|
||||
MaxUpdateTimeout: 40 * time.Minute,
|
||||
MaxOutgoingCltvExpiry: DefaultMaxOutgoingCltvExpiry,
|
||||
MaxFeeAllocation: DefaultMaxLinkFeeAllocation,
|
||||
NotifyActiveLink: func(wire.OutPoint) {},
|
||||
@@ -4881,11 +4881,11 @@ func (h *persistentLinkHarness) restartLink(
|
||||
BatchTicker: bticker,
|
||||
FwdPkgGCTicker: ticker.New(5 * time.Second),
|
||||
PendingCommitTicker: ticker.New(time.Minute),
|
||||
// Make the BatchSize and Min/MaxFeeUpdateTimeout large enough
|
||||
// Make the BatchSize and Min/MaxUpdateTimeout large enough
|
||||
// to not trigger commit updates automatically during tests.
|
||||
BatchSize: 10000,
|
||||
MinFeeUpdateTimeout: 30 * time.Minute,
|
||||
MaxFeeUpdateTimeout: 40 * time.Minute,
|
||||
BatchSize: 10000,
|
||||
MinUpdateTimeout: 30 * time.Minute,
|
||||
MaxUpdateTimeout: 40 * time.Minute,
|
||||
// Set any hodl flags requested for the new link.
|
||||
HodlMask: hodl.MaskFromFlags(hodlFlags...),
|
||||
MaxOutgoingCltvExpiry: DefaultMaxOutgoingCltvExpiry,
|
||||
|
||||
@@ -1155,8 +1155,8 @@ func (h *hopNetwork) createChannelLink(server, peer *mockServer,
|
||||
BatchTicker: ticker.NewForce(testBatchTimeout),
|
||||
FwdPkgGCTicker: ticker.NewForce(fwdPkgTimeout),
|
||||
PendingCommitTicker: ticker.New(2 * time.Minute),
|
||||
MinFeeUpdateTimeout: minFeeUpdateTimeout,
|
||||
MaxFeeUpdateTimeout: maxFeeUpdateTimeout,
|
||||
MinUpdateTimeout: minFeeUpdateTimeout,
|
||||
MaxUpdateTimeout: maxFeeUpdateTimeout,
|
||||
OnChannelFailure: func(lnwire.ChannelID, lnwire.ShortChannelID, LinkFailureError) {},
|
||||
OutgoingCltvRejectDelta: 3,
|
||||
MaxOutgoingCltvExpiry: DefaultMaxOutgoingCltvExpiry,
|
||||
|
||||
Reference in new issue
Block a user