diff --git a/pybtc/connector/utxo.py b/pybtc/connector/utxo.py index 9daf25a..a8efc02 100644 --- a/pybtc/connector/utxo.py +++ b/pybtc/connector/utxo.py @@ -77,9 +77,14 @@ class UTXO(): block_changed = True lb = i[1][0] >> 39 if lb - 1 == checkpoint: - if len(self.cached) > int(self.size_limit): - if self.checkpoints: - checkpoint = self.checkpoints.pop(0) + if len(self.pending_utxo) < int(self.size_limit * 0.9): + if len(self.cached) > int(self.size_limit * 0.9): + if self.checkpoints: + checkpoint = self.checkpoints.pop(0) + else: + if len(self.cached) > int(self.size_limit): + if self.checkpoints: + checkpoint = self.checkpoints.pop(0) else: checkpoint_found = True while self.checkpoints and checkpoint < lb - 1: