tinterface: validate field order in "mempool.get_fee_histogram" response - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 5481fd8af692b7e24b4e904b115ea6a1f80e6a0b DIR parent 25d4a40d6e635bb024c047ffd1ce6810961eab1a HTML Author: SomberNight <somber.night@protonmail.com> Date: Mon, 26 Oct 2020 02:07:30 +0100 interface: validate field order in "mempool.get_fee_histogram" response Diffstat: M electrum/interface.py | 4 ++++ 1 file changed, 4 insertions(+), 0 deletions(-) --- DIR diff --git a/electrum/interface.py b/electrum/interface.py t@@ -993,9 +993,13 @@ class Interface(Logger): res = await self.session.send_request('mempool.get_fee_histogram') # check response assert_list_or_tuple(res) + prev_fee = float('inf') for fee, s in res: assert_non_negative_int_or_float(fee) assert_non_negative_integer(s) + if fee >= prev_fee: # check monotonicity + raise RequestCorrupted(f'fees must be in decreasing order') + prev_fee = fee return res async def get_server_banner(self) -> str: