move relayfee and dust_threshold to bitcoin.py
This commit is contained in:
parent
99d18a48f2
commit
791e0e1a67
@ -24,7 +24,7 @@
|
||||
# SOFTWARE.
|
||||
|
||||
import hashlib
|
||||
from typing import List, Tuple
|
||||
from typing import List, Tuple, TYPE_CHECKING
|
||||
|
||||
from .util import bfh, bh2u, BitcoinException, assert_bytes, to_bytes, inv_dict
|
||||
from . import version
|
||||
@ -33,6 +33,9 @@ from . import constants
|
||||
from . import ecc
|
||||
from .crypto import sha256d, sha256, hash_160, hmac_oneshot
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from .network import Network
|
||||
|
||||
|
||||
################################## transactions
|
||||
|
||||
@ -147,6 +150,18 @@ def add_number_to_script(i: int) -> bytes:
|
||||
return bfh(push_script(script_num_to_hex(i)))
|
||||
|
||||
|
||||
def relayfee(network: 'Network'=None) -> int:
|
||||
from .simple_config import FEERATE_DEFAULT_RELAY
|
||||
MAX_RELAY_FEE = 50000
|
||||
f = network.relay_fee if network and network.relay_fee else FEERATE_DEFAULT_RELAY
|
||||
return min(f, MAX_RELAY_FEE)
|
||||
|
||||
|
||||
def dust_threshold(network: 'Network'=None) -> int:
|
||||
# Change <= dust threshold is added to the tx fee
|
||||
return 182 * 3 * relayfee(network) // 1000
|
||||
|
||||
|
||||
hash_encode = lambda x: bh2u(x[::-1])
|
||||
hash_decode = lambda x: bfh(x)[::-1]
|
||||
hmac_sha_512 = lambda x, y: hmac_oneshot(x, y, hashlib.sha512)
|
||||
|
||||
@ -201,7 +201,7 @@ class Network(PrintError):
|
||||
|
||||
self.banner = ''
|
||||
self.donation_address = ''
|
||||
self.relay_fee = None
|
||||
self.relay_fee = None # type: Optional[int]
|
||||
# callbacks set by the GUI
|
||||
self.callbacks = defaultdict(list) # note: needs self.callback_lock
|
||||
|
||||
|
||||
@ -47,7 +47,7 @@ from .util import (NotEnoughFunds, PrintError, UserCancelled, profiler,
|
||||
InvalidPassword, format_time, timestamp_to_datetime, Satoshis,
|
||||
Fiat, bfh, bh2u)
|
||||
from .bitcoin import (COIN, TYPE_ADDRESS, is_address, address_to_script,
|
||||
is_minikey)
|
||||
is_minikey, relayfee, dust_threshold)
|
||||
from .version import *
|
||||
from .crypto import sha256d
|
||||
from .keystore import load_keystore, Hardware_KeyStore
|
||||
@ -74,18 +74,6 @@ TX_STATUS = [
|
||||
]
|
||||
|
||||
|
||||
|
||||
def relayfee(network: 'Network'):
|
||||
from .simple_config import FEERATE_DEFAULT_RELAY
|
||||
MAX_RELAY_FEE = 50000
|
||||
f = network.relay_fee if network and network.relay_fee else FEERATE_DEFAULT_RELAY
|
||||
return min(f, MAX_RELAY_FEE)
|
||||
|
||||
def dust_threshold(network: 'Network'):
|
||||
# Change <= dust threshold is added to the tx fee
|
||||
return 182 * 3 * relayfee(network) / 1000
|
||||
|
||||
|
||||
def append_utxos_to_inputs(inputs, network: 'Network', pubkey, txin_type, imax):
|
||||
if txin_type != 'p2pk':
|
||||
address = bitcoin.pubkey_to_address(txin_type, pubkey)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user