twallet: dust limit calculation should round up (not down) - electrum - Electrum Bitcoin wallet
HTML git clone https://git.parazyd.org/electrum
DIR Log
DIR Files
DIR Refs
DIR Submodules
---
DIR commit 510399d3d258fef76a390786ad447bba40a2871b
DIR parent a500db371db414e4235e0609d6c328aa99eb135f
HTML Author: SomberNight <somber.night@protonmail.com>
Date: Sun, 15 Mar 2020 17:42:02 +0100
wallet: dust limit calculation should round up (not down)
related to prev commit
closes #6035
Diffstat:
M electrum/bitcoin.py | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
---
DIR diff --git a/electrum/bitcoin.py b/electrum/bitcoin.py
t@@ -299,6 +299,7 @@ def add_number_to_script(i: int) -> bytes:
def relayfee(network: 'Network' = None) -> int:
+ """Returns feerate in sat/kbyte."""
from .simple_config import FEERATE_DEFAULT_RELAY, FEERATE_MAX_RELAY
if network and network.relay_fee is not None:
fee = network.relay_fee
t@@ -310,9 +311,12 @@ def relayfee(network: 'Network' = None) -> int:
return fee
-def dust_threshold(network: 'Network'=None) -> int:
+def dust_threshold(network: 'Network' = None) -> int:
+ """Returns the dust limit in satoshis."""
# Change <= dust threshold is added to the tx fee
- return 182 * 3 * relayfee(network) // 1000
+ dust_lim = 182 * 3 * relayfee(network) # in msat
+ # convert to sat, but round up:
+ return (dust_lim // 1000) + (dust_lim % 1000 > 0)
def hash_encode(x: bytes) -> str: