From 4a3d03dd75b79d727d446d44d51821dbc8cd22bb Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Wed, 22 Oct 2014 16:07:16 -0700 Subject: [PATCH] add "filterload" handler. --- src/bitcoindjs.cc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/bitcoindjs.cc b/src/bitcoindjs.cc index 4d75b043..20ee200e 100644 --- a/src/bitcoindjs.cc +++ b/src/bitcoindjs.cc @@ -3727,7 +3727,23 @@ NAN_METHOD(HookPackets) { } } } else if (strCommand == "filterload") { - ; + CBloomFilter filter; + cur->vRecv >> filter; + + if (!filter.IsWithinSizeConstraints()) { + // There is no excuse for sending a too-large filter + o->Set(NanNew("misbehaving"), NanNew(true)); + } else { + LOCK(pfrom->cs_filter); + filter.UpdateEmptyFull(); + // std::vector vData; + o->Set(NanNew("data"), NanNew(filter.vData.GetHex().c_str())); + o->Set(NanNew("full"), NanNew(filter.isFull)); + o->Set(NanNew("empty"), NanNew(filter.isEmpty)); + o->Set(NanNew("hashFuncs"), NanNew(filter.nHashFuncs)); + o->Set(NanNew("tweaks"), NanNew(filter.nTweak)); + o->Set(NanNew("flags"), NanNew(filter.nFlags)); + } } else if (strCommand == "filteradd") { ; } else if (strCommand == "filterclear") {