From 067ae2da8fca16d747fd3b53a4d315ac16822b97 Mon Sep 17 00:00:00 2001 From: 4tochka Date: Sun, 12 May 2019 21:59:24 +0400 Subject: [PATCH] connector --- pybtc/_lru/lru.c | 1 - pybtc/connector/block_loader.py | 4 ++-- pybtc/connector/utxo.py | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/pybtc/_lru/lru.c b/pybtc/_lru/lru.c index 3486a40..506edec 100644 --- a/pybtc/_lru/lru.c +++ b/pybtc/_lru/lru.c @@ -255,7 +255,6 @@ static PyObject *LRU_delete(LRU *self, PyObject *args) if (!PyArg_ParseTuple(args, "O|O", &key, &instead)) return NULL; Node *node = GET_NODE(self->dict, key); - PyErr_Clear(); /* GET_NODE sets an exception on miss. Shut it up. */ if (!node) { if (!instead) { Py_RETURN_NONE; } Py_INCREF(instead); diff --git a/pybtc/connector/block_loader.py b/pybtc/connector/block_loader.py index c70fe3c..d5a8f56 100644 --- a/pybtc/connector/block_loader.py +++ b/pybtc/connector/block_loader.py @@ -245,7 +245,7 @@ class Worker: inp = block["rawTx"][z]["vIn"][i] outpoint = b"".join((inp["txId"], int_to_bytes(inp["vOut"]))) try: - r = self.coins[outpoint] + r = self.coins.delete(outpoint) block["rawTx"][z]["vIn"][i]["_c_"] = r t += 1 self.destroyed_coins[r[0]] = True @@ -268,7 +268,7 @@ class Worker: for i in blocks[x]["rawTx"][y]["vOut"]: try: pointer = (x << 42) + (y << 21) + i - blocks[x]["rawTx"][y]["vOut"][i]["_s_"] = self.destroyed_coins[pointer] + blocks[x]["rawTx"][y]["vOut"][i]["_s_"] = self.destroyed_coins.delete(pointer) except: pass blocks[x] = pickle.dumps(blocks[x]) diff --git a/pybtc/connector/utxo.py b/pybtc/connector/utxo.py index cce3bd4..d276258 100644 --- a/pybtc/connector/utxo.py +++ b/pybtc/connector/utxo.py @@ -69,7 +69,7 @@ class UTXO(): if lb != i[1][0] >> 42: block_changed = True lb = i[1][0] >> 42 - if self.cached <= self.size_limit: + if len(self.cached) <= self.size_limit: if block_changed: break utxo.add((i[0],b"".join((int_to_c_int(i[1][0]),