sweep+lnd: move ticker creation into sweeper
This commit is contained in:
3 files changed
+17
-22
No files matched your search
@@ -1059,14 +1059,12 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
|
||||
}
|
||||
|
||||
s.sweeper = sweep.New(&sweep.UtxoSweeperConfig{
|
||||
FeeEstimator: cc.FeeEstimator,
|
||||
DetermineFeePerKw: sweep.DetermineFeePerKw,
|
||||
GenSweepScript: newSweepPkScriptGen(cc.Wallet),
|
||||
Signer: cc.Wallet.Cfg.Signer,
|
||||
Wallet: newSweeperWallet(cc.Wallet),
|
||||
NewBatchTimer: func() <-chan time.Time {
|
||||
return time.NewTimer(cfg.Sweeper.BatchWindowDuration).C
|
||||
},
|
||||
FeeEstimator: cc.FeeEstimator,
|
||||
DetermineFeePerKw: sweep.DetermineFeePerKw,
|
||||
GenSweepScript: newSweepPkScriptGen(cc.Wallet),
|
||||
Signer: cc.Wallet.Cfg.Signer,
|
||||
Wallet: newSweeperWallet(cc.Wallet),
|
||||
TickerDuration: cfg.Sweeper.BatchWindowDuration,
|
||||
Notifier: cc.ChainNotifier,
|
||||
Store: sweeperStore,
|
||||
MaxInputsPerTx: sweep.DefaultMaxInputsPerTx,
|
||||
|
||||
+6
-5
@@ -264,10 +264,11 @@ type UtxoSweeperConfig struct {
|
||||
// Wallet contains the wallet functions that sweeper requires.
|
||||
Wallet Wallet
|
||||
|
||||
// NewBatchTimer creates a channel that will be sent on when a certain
|
||||
// time window has passed. During this time window, new inputs can still
|
||||
// be added to the sweep tx that is about to be generated.
|
||||
NewBatchTimer func() <-chan time.Time
|
||||
// TickerDuration is used to create a channel that will be sent on when
|
||||
// a certain time window has passed. During this time window, new
|
||||
// inputs can still be added to the sweep tx that is about to be
|
||||
// generated.
|
||||
TickerDuration time.Duration
|
||||
|
||||
// Notifier is an instance of a chain notifier we'll use to watch for
|
||||
// certain on-chain events.
|
||||
@@ -1019,7 +1020,7 @@ func (s *UtxoSweeper) scheduleSweep(currentHeight int32) error {
|
||||
|
||||
// Start sweep timer to create opportunity for more inputs to be added
|
||||
// before a tx is constructed.
|
||||
s.timer = s.cfg.NewBatchTimer()
|
||||
s.timer = time.NewTicker(s.cfg.TickerDuration).C
|
||||
|
||||
log.Debugf("Sweep timer started")
|
||||
|
||||
|
||||
@@ -127,15 +127,11 @@ func createSweeperTestContext(t *testing.T) *sweeperTestContext {
|
||||
}
|
||||
|
||||
ctx.sweeper = New(&UtxoSweeperConfig{
|
||||
Notifier: notifier,
|
||||
Wallet: backend,
|
||||
NewBatchTimer: func() <-chan time.Time {
|
||||
c := make(chan time.Time, 1)
|
||||
ctx.timeoutChan <- c
|
||||
return c
|
||||
},
|
||||
Store: store,
|
||||
Signer: &mock.DummySigner{},
|
||||
Notifier: notifier,
|
||||
Wallet: backend,
|
||||
TickerDuration: 100 * time.Millisecond,
|
||||
Store: store,
|
||||
Signer: &mock.DummySigner{},
|
||||
GenSweepScript: func() ([]byte, error) {
|
||||
script := make([]byte, input.P2WPKHSize)
|
||||
script[0] = 0
|
||||
|
||||
Reference in new issue
Block a user