Skip to content

Commit f2e73f0

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 f2e73f0

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

decred/decred/dcr/dcrdata.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,14 @@ 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__(
428+
self,
429+
db,
430+
netParams,
431+
datapath,
432+
skipConnect=False,
433+
relayFee=txscript.DefaultRelayFeePerKb,
434+
):
428435
"""
429436
Args:
430437
db (database.Bucket | database.KeyValueDatabase | filepath):
@@ -451,6 +458,7 @@ def __init__(self, db, netParams, datapath, skipConnect=False):
451458
self.subsidyCache = txscript.SubsidyCache(netParams)
452459
self.addrSubscribers = {}
453460
self.blockSubscribers = []
461+
self.relayFee = relayFee
454462
if not skipConnect:
455463
self.connect()
456464

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

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-
871870
def saveBlockHeader(self, header):
872871
"""
873872
Save the block header to the database.
@@ -1016,7 +1015,7 @@ def sendOutputs(self, outputs, keysource, utxosource, feeRate=None):
10161015
changeScriptVersion = txscript.DefaultScriptVersion
10171016
changeScriptSize = txscript.P2PKHPkScriptSize
10181017

1019-
relayFeePerKb = feeRate * 1e3 if feeRate else self.relayFee()
1018+
relayFeePerKb = feeRate * 1e3 if feeRate else self.relayFee
10201019
for (i, txout) in enumerate(outputs):
10211020
checkOutput(txout, relayFeePerKb)
10221021

@@ -1225,7 +1224,7 @@ def purchaseTickets(self, keysource, utxosource, req):
12251224

12261225
ticketFeeIncrement = req.ticketFee
12271226
if ticketFeeIncrement == 0:
1228-
ticketFeeIncrement = self.relayFee()
1227+
ticketFeeIncrement = self.relayFee
12291228

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

12911290
txFeeIncrement = req.txFee
12921291
if txFeeIncrement == 0:
1293-
txFeeIncrement = self.relayFee()
1292+
txFeeIncrement = self.relayFee
12941293

12951294
# Send the split transaction.
12961295
# sendOutputs takes the fee rate in atoms/byte
@@ -1407,7 +1406,7 @@ def revokeTicket(self, tx, keysource, redeemScript):
14071406
MsgTx: the signed revocation.
14081407
"""
14091408

1410-
revocation = txscript.makeRevocation(tx, self.relayFee())
1409+
revocation = txscript.makeRevocation(tx, self.relayFee)
14111410

14121411
signedScript = txscript.signTxOutput(
14131412
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)