sweep: account for all script types in craftSweepTx
With this change, transactions created via craftSweepTx will be standard. Previously, p2wsh/p2pkh scripts passed in via SendCoins would be weighted as p2wpkh scripts. With a feerate of 1 sat/vbyte, transactions returned would be non-standard. Luckily, the critical sweeper subsystem only used p2wpkh scripts so this only affected callers from the rpcserver. Also added is an integration test that fails if SendCoins manages to generate a non-standard transaction. All script types are now accounted for in getWeightEstimate, which now errors if an unknown script type is passed in.
This commit is contained in:
6 files changed
+311
-15
No files matched your search
@@ -83,6 +83,12 @@ func (w *weightEstimator) addP2TROutput() {
|
||||
w.estimator.AddP2TROutput()
|
||||
}
|
||||
|
||||
// addP2WSHOutput updates the weight estimate to account for an additional
|
||||
// segwit v0 P2WSH output.
|
||||
func (w *weightEstimator) addP2WSHOutput() {
|
||||
w.estimator.AddP2WSHOutput()
|
||||
}
|
||||
|
||||
// addOutput updates the weight estimate to account for the known
|
||||
// output given.
|
||||
func (w *weightEstimator) addOutput(txOut *wire.TxOut) {
|
||||
|
||||
Reference in new issue
Block a user