From d9f98dabce996c35eccb79f935b602691de2b8f5 Mon Sep 17 00:00:00 2001 From: Lorenzo Delgado Date: Wed, 16 Nov 2022 20:09:20 +0100 Subject: [PATCH] feat(waku2-store): add waku v2 store protocol v2beta4 wire format --- waku/store/v2beta4/store.proto | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 waku/store/v2beta4/store.proto diff --git a/waku/store/v2beta4/store.proto b/waku/store/v2beta4/store.proto new file mode 100644 index 0000000..1bb6ef0 --- /dev/null +++ b/waku/store/v2beta4/store.proto @@ -0,0 +1,54 @@ +syntax = "proto3"; + +import "waku/message/v1/message.proto"; + +// 13/WAKU2-STORE rfc: https://rfc.vac.dev/spec/13/ +// Protocol identifier: /vac/waku/store/2.0.0-beta4 +package waku.store.v2beta4; + +message Index { + bytes digest = 1; + sint64 receiver_time = 2; + sint64 sender_time = 3; + string pubsub_topic = 4; +} + +message PagingInfo { + optional uint64 page_size = 1; + optional Index cursor = 2; + enum Direction { + BACKWARD = 0; + FORWARD = 1; + } + optional Direction direction = 3; +} + +message ContentFilter { + string content_topic = 1; +} + +message HistoryQuery { + // The first field is reserved for future use + optional string pubsub_topic = 2; + repeated ContentFilter content_filters = 3; + optional PagingInfo paging_info = 4; + optional sint64 start_time = 5; + optional sint64 end_time = 6; +} + +message HistoryResponse { + // The first field is reserved for future use + repeated waku.message.v1.WakuMessage messages = 2; + optional PagingInfo paging_info = 3; + enum Error { + NONE = 0; + INVALID_CURSOR = 1; + } + Error error = 4; +} + +message HistoryRPC { + string request_id = 1; + optional HistoryQuery query = 2; + optional HistoryResponse response = 3; +}