@waku/core 0.0.36-6d86b6f.0 → 0.0.36-76fb1ea.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/{base_protocol-DvQrudwy.js → base_protocol-DbwKyDLW.js} +1 -1
- package/bundle/{index-CTo1my9M.js → index-JnhMR9ZE.js} +20 -1
- package/bundle/index.js +510 -58
- package/bundle/lib/base_protocol.js +2 -2
- package/bundle/lib/message/version_0.js +2 -2
- package/bundle/{version_0-CiYGrPc2.js → version_0-sWyv9XWm.js} +920 -185
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/connection_manager/connection_manager.d.ts +1 -1
- package/dist/lib/connection_manager/connection_manager.js +1 -1
- package/dist/lib/filter/filter.d.ts +4 -2
- package/dist/lib/filter/filter.js +21 -3
- package/dist/lib/filter/filter.js.map +1 -1
- package/dist/lib/light_push/index.d.ts +5 -1
- package/dist/lib/light_push/index.js +5 -1
- package/dist/lib/light_push/index.js.map +1 -1
- package/dist/lib/light_push/light_push.d.ts +3 -4
- package/dist/lib/light_push/light_push.js +12 -21
- package/dist/lib/light_push/light_push.js.map +1 -1
- package/dist/lib/light_push/light_push_v3.d.ts +9 -0
- package/dist/lib/light_push/light_push_v3.js +171 -0
- package/dist/lib/light_push/light_push_v3.js.map +1 -0
- package/dist/lib/light_push/push_rpc.d.ts +1 -1
- package/dist/lib/light_push/push_rpc.js.map +1 -1
- package/dist/lib/light_push/push_rpc_v2.d.ts +11 -0
- package/dist/lib/light_push/push_rpc_v2.js +32 -0
- package/dist/lib/light_push/push_rpc_v2.js.map +1 -0
- package/dist/lib/light_push/push_rpc_v3.d.ts +11 -0
- package/dist/lib/light_push/push_rpc_v3.js +33 -0
- package/dist/lib/light_push/push_rpc_v3.js.map +1 -0
- package/dist/lib/light_push/status_codes.d.ts +14 -0
- package/dist/lib/light_push/status_codes.js +49 -0
- package/dist/lib/light_push/status_codes.js.map +1 -0
- package/dist/lib/light_push/status_codes_v3.d.ts +4 -0
- package/dist/lib/light_push/status_codes_v3.js +53 -0
- package/dist/lib/light_push/status_codes_v3.js.map +1 -0
- package/dist/lib/light_push/utils.d.ts +6 -0
- package/dist/lib/light_push/utils.js +41 -0
- package/dist/lib/light_push/utils.js.map +1 -1
- package/dist/lib/message/version_0.d.ts +2 -3
- package/dist/lib/message/version_0.js +1 -4
- package/dist/lib/message/version_0.js.map +1 -1
- package/dist/lib/message_hash/index.d.ts +1 -0
- package/dist/lib/message_hash/index.js +2 -0
- package/dist/lib/message_hash/index.js.map +1 -0
- package/dist/lib/message_hash/message_hash.d.ts +52 -0
- package/dist/lib/message_hash/message_hash.js +84 -0
- package/dist/lib/message_hash/message_hash.js.map +1 -0
- package/dist/lib/store/rpc.js +16 -10
- package/dist/lib/store/rpc.js.map +1 -1
- package/dist/lib/store/store.js +12 -2
- package/dist/lib/store/store.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +7 -0
- package/src/lib/connection_manager/connection_manager.ts +1 -1
- package/src/lib/filter/filter.ts +33 -6
- package/src/lib/light_push/index.ts +22 -1
- package/src/lib/light_push/light_push.ts +19 -25
- package/src/lib/light_push/light_push_v3.ts +232 -0
- package/src/lib/light_push/push_rpc.ts +1 -1
- package/src/lib/light_push/push_rpc_v2.ts +38 -0
- package/src/lib/light_push/push_rpc_v3.ts +46 -0
- package/src/lib/light_push/status_codes.ts +71 -0
- package/src/lib/light_push/status_codes_v3.ts +80 -0
- package/src/lib/light_push/utils.ts +57 -0
- package/src/lib/message/version_0.ts +3 -7
- package/src/lib/message_hash/index.ts +1 -0
- package/src/lib/message_hash/message_hash.ts +106 -0
- package/src/lib/store/rpc.ts +23 -19
- package/src/lib/store/store.ts +13 -1
package/src/lib/store/rpc.ts
CHANGED
@@ -14,6 +14,7 @@ export class StoreQueryRequest {
|
|
14
14
|
public static create(params: QueryRequestParams): StoreQueryRequest {
|
15
15
|
const request = new StoreQueryRequest({
|
16
16
|
...params,
|
17
|
+
contentTopics: params.contentTopics || [],
|
17
18
|
requestId: uuid(),
|
18
19
|
timeStart: params.timeStart
|
19
20
|
? BigInt(params.timeStart.getTime() * ONE_MILLION)
|
@@ -27,26 +28,29 @@ export class StoreQueryRequest {
|
|
27
28
|
: undefined
|
28
29
|
});
|
29
30
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
) {
|
35
|
-
throw new Error(
|
36
|
-
"Both pubsubTopic and contentTopics must be set or unset"
|
37
|
-
);
|
38
|
-
}
|
31
|
+
const isHashQuery = params.messageHashes && params.messageHashes.length > 0;
|
32
|
+
const hasContentTopics =
|
33
|
+
params.contentTopics && params.contentTopics.length > 0;
|
34
|
+
const hasTimeFilter = params.timeStart || params.timeEnd;
|
39
35
|
|
40
|
-
if (
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
36
|
+
if (isHashQuery) {
|
37
|
+
if (hasContentTopics || hasTimeFilter) {
|
38
|
+
throw new Error(
|
39
|
+
"Message hash lookup queries cannot include content filter criteria (contentTopics, timeStart, or timeEnd)"
|
40
|
+
);
|
41
|
+
}
|
42
|
+
} else {
|
43
|
+
if (
|
44
|
+
(params.pubsubTopic &&
|
45
|
+
(!params.contentTopics || params.contentTopics.length === 0)) ||
|
46
|
+
(!params.pubsubTopic &&
|
47
|
+
params.contentTopics &&
|
48
|
+
params.contentTopics.length > 0)
|
49
|
+
) {
|
50
|
+
throw new Error(
|
51
|
+
"Both pubsubTopic and contentTopics must be set together for content-filtered queries"
|
52
|
+
);
|
53
|
+
}
|
50
54
|
}
|
51
55
|
|
52
56
|
return request;
|
package/src/lib/store/store.ts
CHANGED
@@ -40,9 +40,14 @@ export class StoreCore extends BaseProtocol implements IStoreCore {
|
|
40
40
|
decoders: Map<string, IDecoder<T>>,
|
41
41
|
peerId: PeerId
|
42
42
|
): AsyncGenerator<Promise<T | undefined>[]> {
|
43
|
+
// Only validate decoder content topics for content-filtered queries
|
44
|
+
const isHashQuery =
|
45
|
+
queryOpts.messageHashes && queryOpts.messageHashes.length > 0;
|
43
46
|
if (
|
47
|
+
!isHashQuery &&
|
48
|
+
queryOpts.contentTopics &&
|
44
49
|
queryOpts.contentTopics.toString() !==
|
45
|
-
|
50
|
+
Array.from(decoders.keys()).toString()
|
46
51
|
) {
|
47
52
|
throw new Error(
|
48
53
|
"Internal error, the decoders should match the query's content topics"
|
@@ -56,6 +61,13 @@ export class StoreCore extends BaseProtocol implements IStoreCore {
|
|
56
61
|
paginationCursor: currentCursor
|
57
62
|
});
|
58
63
|
|
64
|
+
log.info("Sending store query request:", {
|
65
|
+
hasMessageHashes: !!queryOpts.messageHashes?.length,
|
66
|
+
messageHashCount: queryOpts.messageHashes?.length,
|
67
|
+
pubsubTopic: queryOpts.pubsubTopic,
|
68
|
+
contentTopics: queryOpts.contentTopics
|
69
|
+
});
|
70
|
+
|
59
71
|
let stream;
|
60
72
|
try {
|
61
73
|
stream = await this.getStream(peerId);
|