lnrpc+sweep: make FeeEstimateInfo an optional param

This is needed as we soon will remove the usage of the fee preference
when sweeping inputs.
This commit is contained in:
yyforyongyu 2024-03-19 01:14:37 +08:00
parent 658ba445ea
commit 0b30d4ba3e
No known key found for this signature in database
GPG Key ID: 9BCD95C4FF296868
2 changed files with 34 additions and 21 deletions

View File

@ -883,25 +883,34 @@ func (w *WalletKit) PendingSweeps(ctx context.Context,
satPerVbyte := uint64(sweeperInput.LastFeeRate.FeePerVByte()) satPerVbyte := uint64(sweeperInput.LastFeeRate.FeePerVByte())
broadcastAttempts := uint32(sweeperInput.BroadcastAttempts) broadcastAttempts := uint32(sweeperInput.BroadcastAttempts)
feePref := sweeperInput.Params.Fee ps := &PendingSweep{
requestedFee, ok := feePref.(sweep.FeeEstimateInfo) Outpoint: op,
if !ok { WitnessType: witnessType,
return nil, fmt.Errorf("unknown fee preference type: "+ AmountSat: amountSat,
"%v", feePref) SatPerVbyte: satPerVbyte,
BroadcastAttempts: broadcastAttempts,
Force: sweeperInput.Params.Force,
} }
feePref := sweeperInput.Params.Fee
// If there's no fee preference specified, we can move to the
// next record.
if feePref == nil {
rpcPendingSweeps = append(rpcPendingSweeps, ps)
continue
}
requestedFee, ok := feePref.(sweep.FeeEstimateInfo)
if !ok {
return nil, fmt.Errorf("unknown fee "+
"preference type: "+"%v", feePref)
}
requestedFeeRate := uint64(requestedFee.FeeRate.FeePerVByte()) requestedFeeRate := uint64(requestedFee.FeeRate.FeePerVByte())
rpcPendingSweeps = append(rpcPendingSweeps, &PendingSweep{ ps.RequestedSatPerVbyte = requestedFeeRate
Outpoint: op, ps.RequestedConfTarget = requestedFee.ConfTarget
WitnessType: witnessType, rpcPendingSweeps = append(rpcPendingSweeps, ps)
AmountSat: amountSat,
SatPerVbyte: satPerVbyte,
BroadcastAttempts: broadcastAttempts,
RequestedSatPerVbyte: requestedFeeRate,
RequestedConfTarget: requestedFee.ConfTarget,
Force: sweeperInput.Params.Force,
})
} }
return &PendingSweepsResponse{ return &PendingSweepsResponse{

View File

@ -514,11 +514,15 @@ func (s *UtxoSweeper) SweepInput(input input.Input,
} }
// Ensure the client provided a sane fee preference. // Ensure the client provided a sane fee preference.
_, err := params.Fee.Estimate( //
s.cfg.FeeEstimator, s.cfg.MaxFeeRate.FeePerKWeight(), // TODO(yy): remove this check?
) if params.Fee != nil {
if err != nil { _, err := params.Fee.Estimate(
return nil, err s.cfg.FeeEstimator, s.cfg.MaxFeeRate.FeePerKWeight(),
)
if err != nil {
return nil, err
}
} }
absoluteTimeLock, _ := input.RequiredLockTime() absoluteTimeLock, _ := input.RequiredLockTime()
@ -1580,7 +1584,7 @@ func (s *UtxoSweeper) sweepPendingInputs(inputs InputsMap) {
} }
if err != nil { if err != nil {
log.Errorf("Sweep new inputs: %v", err) log.Errorf("Failed to sweep %v: %v", set, err)
} }
} }
} }