From fd71a131425c1eaa8398b6af6a215323ebbd6f87 Mon Sep 17 00:00:00 2001 From: kdeme Date: Mon, 28 Oct 2019 12:54:31 +0100 Subject: [PATCH] Add calls to get bloom filter and minimum PoW --- wrappers/libnimbus.h | 4 ++++ wrappers/libnimbus.nim | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/wrappers/libnimbus.h b/wrappers/libnimbus.h index a9cb803be..b3cc72349 100644 --- a/wrappers/libnimbus.h +++ b/wrappers/libnimbus.h @@ -93,6 +93,10 @@ int nimbus_unsubscribe_filter(const char* id); /* Post Whisper message */ int nimbus_post(post_message* msg); +// TODO: why are these getters needed? +double nimbus_get_min_pow(); +void nimbus_get_bloom_filter(uint8_t* bloomfilter); + #ifdef __cplusplus } #endif diff --git a/wrappers/libnimbus.nim b/wrappers/libnimbus.nim index 127d6aa4b..a280543f9 100644 --- a/wrappers/libnimbus.nim +++ b/wrappers/libnimbus.nim @@ -380,5 +380,11 @@ proc nimbus_subscribe_filter(options: ptr CFilterOptions, result = node.subscribeFilter(filter, c_handler) -proc nimbus_unsubscribe_filter(id: cstring): bool {.exportc.} = +proc nimbus_unsubscribe_filter(id: cstring): bool {.exportc, foreignThreadGc.} = result = node.unsubscribeFilter($id) + +proc nimbus_get_min_pow(): float64 {.exportc, foreignThreadGc.} = + result = node.protocolState(Whisper).config.powRequirement + +proc nimbus_get_bloom_filter(bloom: ptr Bloom) {.exportc, foreignThreadGc.} = + bloom[] = node.protocolState(Whisper).config.bloom