Skip to content

Commit 93d070b

Browse files
committed
app: Use relayFee setting
Make relayFee a field of the blockchain and set that field on initiation and changing.
1 parent dd4f2fc commit 93d070b

File tree

3 files changed

+8
-14
lines changed

3 files changed

+8
-14
lines changed

decred/decred/dcr/dcrdata.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ class DcrdataBlockchain:
424424
DcrdataBlockchain implements the Blockchain API from tinydecred.api.
425425
"""
426426

427-
def __init__(self, db, netParams, datapath, skipConnect=False):
427+
def __init__(self, db, netParams, datapath, skipConnect=False, relayFee=txscript.DefaultRelayFeePerKb):
428428
"""
429429
Args:
430430
db (database.Bucket | database.KeyValueDatabase | filepath):
@@ -451,6 +451,7 @@ def __init__(self, db, netParams, datapath, skipConnect=False):
451451
self.subsidyCache = txscript.SubsidyCache(netParams)
452452
self.addrSubscribers = {}
453453
self.blockSubscribers = []
454+
self.relayFee = relayFee
454455
if not skipConnect:
455456
self.connect()
456457

@@ -859,15 +860,6 @@ def updateTip(self):
859860
log.error("failed to retrieve tip from blockchain: %s" % formatTraceback(e))
860861
raise DecredError("no tip data retrieved")
861862

862-
def relayFee(self):
863-
"""
864-
Return the current transaction fee.
865-
866-
Returns:
867-
int: Atoms per kB of encoded transaction.
868-
"""
869-
return txscript.DefaultRelayFeePerKb
870-
871863
def saveBlockHeader(self, header):
872864
"""
873865
Save the block header to the database.
@@ -1016,7 +1008,7 @@ def sendOutputs(self, outputs, keysource, utxosource, feeRate=None):
10161008
changeScriptVersion = txscript.DefaultScriptVersion
10171009
changeScriptSize = txscript.P2PKHPkScriptSize
10181010

1019-
relayFeePerKb = feeRate * 1e3 if feeRate else self.relayFee()
1011+
relayFeePerKb = feeRate * 1e3 if feeRate else self.relayFee
10201012
for (i, txout) in enumerate(outputs):
10211013
checkOutput(txout, relayFeePerKb)
10221014

@@ -1225,7 +1217,7 @@ def purchaseTickets(self, keysource, utxosource, req):
12251217

12261218
ticketFeeIncrement = req.ticketFee
12271219
if ticketFeeIncrement == 0:
1228-
ticketFeeIncrement = self.relayFee()
1220+
ticketFeeIncrement = self.relayFee
12291221

12301222
# Make sure that we have enough funds. Calculate different
12311223
# ticket required amounts depending on whether or not a
@@ -1290,7 +1282,7 @@ def purchaseTickets(self, keysource, utxosource, req):
12901282

12911283
txFeeIncrement = req.txFee
12921284
if txFeeIncrement == 0:
1293-
txFeeIncrement = self.relayFee()
1285+
txFeeIncrement = self.relayFee
12941286

12951287
# Send the split transaction.
12961288
# sendOutputs takes the fee rate in atoms/byte
@@ -1407,7 +1399,7 @@ def revokeTicket(self, tx, keysource, redeemScript):
14071399
MsgTx: the signed revocation.
14081400
"""
14091401

1410-
revocation = txscript.makeRevocation(tx, self.relayFee())
1402+
revocation = txscript.makeRevocation(tx, self.relayFee)
14111403

14121404
signedScript = txscript.signTxOutput(
14131405
self.netParams,

tinywallet/tinywallet/app.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def __init__(self, qApp):
115115
self.cfg.netParams,
116116
self.settings[DB.dcrdata].decode(),
117117
skipConnect=True,
118+
relayFee=self.settings[DB.relayFee],
118119
)
119120
chains.registerChain("dcr", self.dcrdata)
120121

tinywallet/tinywallet/screens.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,6 +1142,7 @@ def relayFeeChangeClicked(self, e=None):
11421142
self.relayFeeField.setText(str(app.settings[DB.relayFee]))
11431143
return
11441144

1145+
self.blockchain.relayFee = fee
11451146
app.settings[DB.relayFee] = fee
11461147
log.info(f"relay fee changed to {fee}")
11471148
app.appWindow.showSuccess("fee changed")

0 commit comments

Comments
 (0)