nwaku/tests/waku_store/store_utils.nim

43 lines
904 B
Nim

{.used.}
import
std/options,
chronos,
chronicles,
libp2p/crypto/crypto
import
../../../waku/[
node/peer_manager,
waku_core,
waku_store,
waku_store/client,
],
../testlib/[
common,
wakucore
]
proc newTestWakuStore*(switch: Switch, handler: HistoryQueryHandler): Future[WakuStore] {.async.} =
let
peerManager = PeerManager.new(switch)
proto = WakuStore.new(peerManager, rng, handler)
await proto.start()
switch.mount(proto)
return proto
proc newTestWakuStoreClient*(switch: Switch): WakuStoreClient =
let peerManager = PeerManager.new(switch)
WakuStoreClient.new(peerManager, rng)
proc computeHistoryCursor*(pubsubTopic: PubsubTopic, message: WakuMessage): HistoryCursor =
HistoryCursor(
pubsubTopic: pubsubTopic,
senderTime: message.timestamp,
storeTime: message.timestamp,
digest: waku_store.computeDigest(message)
)