walletrpc+sweep: refactor BumpFee to properly handle sweep request

This commit is contained in:
yyforyongyu
2024-04-11 17:08:50 +08:00
parent 94159e8950
commit 8804947179
3 changed files with 204 additions and 79 deletions

View File

@@ -490,12 +490,12 @@ func (t *TxPublisher) createAndCheckTx(req *BumpRequest, f FeeFunction) (
req.Inputs, req.DeliveryAddress, f.FeeRate(),
)
if err != nil {
return nil, 0, fmt.Errorf("create sweep tx: %w", err)
return nil, fee, fmt.Errorf("create sweep tx: %w", err)
}
// Sanity check the budget still covers the fee.
if fee > req.Budget {
return nil, 0, fmt.Errorf("%w: budget=%v, fee=%v",
return nil, fee, fmt.Errorf("%w: budget=%v, fee=%v",
ErrNotEnoughBudget, req.Budget, fee)
}
@@ -522,8 +522,8 @@ func (t *TxPublisher) createAndCheckTx(req *BumpRequest, f FeeFunction) (
return tx, fee, nil
}
return nil, 0, fmt.Errorf("tx=%v failed mempool check: %w", tx.TxHash(),
err)
return nil, fee, fmt.Errorf("tx=%v failed mempool check: %w",
tx.TxHash(), err)
}
// broadcast takes a monitored tx and publishes it to the network. Prior to the