config: sanitize fee_level and depth_level

This commit is contained in:
ThomasV 2018-02-06 11:09:42 +01:00
parent 4e19484b4a
commit aafd3b929b

View file

@ -325,7 +325,7 @@ class SimpleConfig(PrintError):
def get_fee_status(self): def get_fee_status(self):
dyn = self.is_dynfee() dyn = self.is_dynfee()
mempool = self.get('mempool_fees') mempool = self.get('mempool_fees')
pos = self.get('fee_level', 2) if mempool else self.get('depth_level', 2) pos = self.get_depth_level() if mempool else self.get_fee_level()
fee_rate = self.fee_per_kb() fee_rate = self.fee_per_kb()
target, tooltip = self.get_fee_text(pos, dyn, mempool, fee_rate) target, tooltip = self.get_fee_text(pos, dyn, mempool, fee_rate)
return target return target
@ -356,20 +356,28 @@ class SimpleConfig(PrintError):
tooltip = '' tooltip = ''
return text, tooltip return text, tooltip
def get_depth_level(self):
maxp = len(FEE_DEPTH_TARGETS) - 1
return min(maxp, self.get('depth_level', 2))
def get_fee_level(self):
maxp = len(FEE_ETA_TARGETS) - 1
return min(maxp, self.get('fee_level', 2))
def get_fee_slider(self, dyn, mempool): def get_fee_slider(self, dyn, mempool):
if dyn: if dyn:
if mempool: if mempool:
pos = self.get_depth_level()
maxp = len(FEE_DEPTH_TARGETS) - 1 maxp = len(FEE_DEPTH_TARGETS) - 1
pos = min(maxp, self.get('depth_level', 2))
fee_rate = self.depth_to_fee(pos) fee_rate = self.depth_to_fee(pos)
else: else:
pos = self.get_fee_level()
maxp = len(FEE_ETA_TARGETS) - 1 maxp = len(FEE_ETA_TARGETS) - 1
pos = min(maxp, self.get('fee_level', 2))
fee_rate = self.eta_to_fee(pos) fee_rate = self.eta_to_fee(pos)
else: else:
fee_rate = self.fee_per_kb() fee_rate = self.fee_per_kb()
pos = self.static_fee_index(fee_rate) pos = self.static_fee_index(fee_rate)
maxp= 9 maxp = 9
return maxp, pos, fee_rate return maxp, pos, fee_rate
@ -398,9 +406,9 @@ class SimpleConfig(PrintError):
""" """
if self.is_dynfee(): if self.is_dynfee():
if self.use_mempool_fees(): if self.use_mempool_fees():
fee_rate = self.depth_to_fee(self.get('depth_level', 2)) fee_rate = self.depth_to_fee(self.get_depth_level())
else: else:
fee_rate = self.eta_to_fee(self.get('fee_level', 2)) fee_rate = self.eta_to_fee(self.get_fee_level())
else: else:
fee_rate = self.get('fee_per_kb', self.max_fee_rate()/2) fee_rate = self.get('fee_per_kb', self.max_fee_rate()/2)
return fee_rate return fee_rate