From 09c4ff509d2c665d00cde8e6982350a6ed3f0542 Mon Sep 17 00:00:00 2001 From: Juan Pablo Civile Date: Mon, 12 Apr 2021 15:38:35 -0300 Subject: [PATCH] sweep,rpc: honor minConfs paramater when SendAll is set --- rpcserver.go | 2 ++ sweep/walletsweep.go | 4 ++-- sweep/walletsweep_test.go | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/rpcserver.go b/rpcserver.go index 5c299c4f..a0adae45 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -1194,6 +1194,7 @@ func (r *rpcServer) SendCoins(ctx context.Context, uint32(bestHeight), nil, targetAddr, wallet, wallet, wallet.WalletController, r.server.cc.FeeEstimator, r.server.cc.Signer, + minConfs, ) if err != nil { return nil, err @@ -1246,6 +1247,7 @@ func (r *rpcServer) SendCoins(ctx context.Context, uint32(bestHeight), outputs, targetAddr, wallet, wallet, wallet.WalletController, r.server.cc.FeeEstimator, r.server.cc.Signer, + minConfs, ) if err != nil { return nil, err diff --git a/sweep/walletsweep.go b/sweep/walletsweep.go index abe0cd24..4b10eea5 100644 --- a/sweep/walletsweep.go +++ b/sweep/walletsweep.go @@ -169,7 +169,7 @@ func CraftSweepAllTx(feeRate chainfee.SatPerKWeight, dustLimit btcutil.Amount, blockHeight uint32, deliveryAddrs []DeliveryAddr, changeAddr btcutil.Address, coinSelectLocker CoinSelectionLocker, utxoSource UtxoSource, outpointLocker OutpointLocker, feeEstimator chainfee.Estimator, - signer input.Signer) (*WalletSweepPackage, error) { + signer input.Signer, minConfs int32) (*WalletSweepPackage, error) { // TODO(roasbeef): turn off ATPL as well when available? @@ -194,7 +194,7 @@ func CraftSweepAllTx(feeRate chainfee.SatPerKWeight, dustLimit btcutil.Amount, // operations are going on, we can grab a clean snapshot of the // current UTXO state of the wallet. utxos, err := utxoSource.ListUnspentWitnessFromDefaultAccount( - 1, math.MaxInt32, + minConfs, math.MaxInt32, ) if err != nil { return err diff --git a/sweep/walletsweep_test.go b/sweep/walletsweep_test.go index 41c5abd4..f62fb900 100644 --- a/sweep/walletsweep_test.go +++ b/sweep/walletsweep_test.go @@ -289,7 +289,7 @@ func TestCraftSweepAllTxCoinSelectFail(t *testing.T) { _, err := CraftSweepAllTx( 0, 100, 10, nil, nil, coinSelectLocker, utxoSource, - utxoLocker, nil, nil, + utxoLocker, nil, nil, 0, ) // Since we instructed the coin select locker to fail above, we should @@ -315,7 +315,7 @@ func TestCraftSweepAllTxUnknownWitnessType(t *testing.T) { _, err := CraftSweepAllTx( 0, 100, 10, nil, nil, coinSelectLocker, utxoSource, - utxoLocker, nil, nil, + utxoLocker, nil, nil, 0, ) // Since passed in a p2wsh output, which is unknown, we should fail to @@ -350,7 +350,7 @@ func TestCraftSweepAllTx(t *testing.T) { sweepPkg, err := CraftSweepAllTx( 0, 100, 10, nil, deliveryAddr, coinSelectLocker, utxoSource, - utxoLocker, feeEstimator, signer, + utxoLocker, feeEstimator, signer, 0, ) if err != nil { t.Fatalf("unable to make sweep tx: %v", err)