mirror of
https://github.com/btcsuite/btcd.git
synced 2025-01-19 05:33:36 +01:00
mempool: export isDust for use in other projects
This changes isDust to IsDust so other golang projects (btcwallet or lnd) can use the precise dust calculation used by btcd.
This commit is contained in:
parent
b3e6bd6161
commit
f5a1fb9965
@ -172,12 +172,12 @@ func checkPkScriptStandard(pkScript []byte, scriptClass txscript.ScriptClass) er
|
||||
return nil
|
||||
}
|
||||
|
||||
// isDust returns whether or not the passed transaction output amount is
|
||||
// IsDust returns whether or not the passed transaction output amount is
|
||||
// considered dust or not based on the passed minimum transaction relay fee.
|
||||
// Dust is defined in terms of the minimum transaction relay fee. In
|
||||
// particular, if the cost to the network to spend coins is more than 1/3 of the
|
||||
// minimum transaction relay fee, it is considered dust.
|
||||
func isDust(txOut *wire.TxOut, minRelayTxFee btcutil.Amount) bool {
|
||||
func IsDust(txOut *wire.TxOut, minRelayTxFee btcutil.Amount) bool {
|
||||
// Unspendable outputs are considered dust.
|
||||
if txscript.IsUnspendable(txOut.PkScript) {
|
||||
return true
|
||||
@ -351,7 +351,7 @@ func checkTransactionStandard(tx *btcutil.Tx, height int32,
|
||||
// "dust".
|
||||
if scriptClass == txscript.NullDataTy {
|
||||
numNullDataOutputs++
|
||||
} else if isDust(txOut, minRelayTxFee) {
|
||||
} else if IsDust(txOut, minRelayTxFee) {
|
||||
str := fmt.Sprintf("transaction output %d: payment "+
|
||||
"of %d is dust", i, txOut.Value)
|
||||
return txRuleError(wire.RejectDust, str)
|
||||
|
@ -204,7 +204,7 @@ func TestCheckPkScriptStandard(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestDust tests the isDust API.
|
||||
// TestDust tests the IsDust API.
|
||||
func TestDust(t *testing.T) {
|
||||
pkScript := []byte{0x76, 0xa9, 0x21, 0x03, 0x2f, 0x7e, 0x43,
|
||||
0x0a, 0xa4, 0xc9, 0xd1, 0x59, 0x43, 0x7e, 0x84, 0xb9,
|
||||
@ -268,7 +268,7 @@ func TestDust(t *testing.T) {
|
||||
},
|
||||
}
|
||||
for _, test := range tests {
|
||||
res := isDust(&test.txOut, test.relayFee)
|
||||
res := IsDust(&test.txOut, test.relayFee)
|
||||
if res != test.isDust {
|
||||
t.Fatalf("Dust test '%s' failed: want %v got %v",
|
||||
test.name, test.isDust, res)
|
||||
|
Loading…
Reference in New Issue
Block a user