@waku/core 0.0.1 → 0.0.3
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/CHANGELOG.md +9 -0
- package/bundle/{index-691c0be6.js → index-a67d7136.js} +1 -1
- package/bundle/{index-0a4bdddc.js → index-f7e049ad.js} +1 -1
- package/bundle/index.js +24853 -3555
- package/bundle/lib/peer_discovery_static_list.js +18 -4
- package/bundle/lib/predefined_bootstrap_nodes.js +1 -1
- package/bundle/lib/wait_for_remote_peer.js +2 -3
- package/bundle/lib/waku_message/topic_only_message.js +2 -3
- package/bundle/lib/waku_message/version_0.js +317 -4
- package/bundle/{message-e2db79d7.js → message-049c8b67.js} +861 -2
- package/bundle/{topic_only_message-34f36fa6.js → topic_only_message-5ad3a869.js} +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/waku_filter/index.d.ts +2 -2
- package/dist/lib/waku_filter/index.js.map +1 -1
- package/dist/lib/waku_message/version_0.d.ts +3 -2
- package/dist/lib/waku_message/version_0.js +2 -1
- package/dist/lib/waku_message/version_0.js.map +1 -1
- package/dist/lib/waku_relay/index.d.ts +4 -3
- package/dist/lib/waku_relay/index.js.map +1 -1
- package/dist/lib/waku_store/index.d.ts +4 -4
- package/package.json +4 -123
- package/src/index.ts +0 -10
- package/src/lib/waku_filter/index.ts +4 -3
- package/src/lib/waku_message/version_0.ts +5 -3
- package/src/lib/waku_relay/index.ts +4 -3
- package/src/lib/waku_store/index.ts +5 -5
- package/bundle/crypto-8551d579.js +0 -2585
- package/bundle/crypto-b00764b7.js +0 -1772
- package/bundle/enr-564d4a51.js +0 -20785
- package/bundle/enr-9fc5eed8.js +0 -20786
- package/bundle/enr-f6e82a53.js +0 -20785
- package/bundle/events-fcbda4dc.js +0 -76
- package/bundle/index-02d21809.js +0 -20
- package/bundle/index-2ae915be.js +0 -1854
- package/bundle/index-a013a259.js +0 -20
- package/bundle/index-ba42b4fc.js +0 -862
- package/bundle/lib/enr.js +0 -8
- package/bundle/lib/peer_discovery_dns.js +0 -5018
- package/bundle/lib/utils.js +0 -1
- package/bundle/lib/waku_message/version_1.js +0 -463
- package/bundle/multiaddr_to_peer_info-c406b1e1.js +0 -19
- package/bundle/multiaddr_to_peer_info-fd1de516.js +0 -19
- package/bundle/utils-9a3221f2.js +0 -815
- package/bundle/version_0-e6fe440c.js +0 -317
- package/dist/lib/crypto.d.ts +0 -34
- package/dist/lib/crypto.js +0 -79
- package/dist/lib/crypto.js.map +0 -1
- package/dist/lib/enr/constants.d.ts +0 -4
- package/dist/lib/enr/constants.js +0 -8
- package/dist/lib/enr/constants.js.map +0 -1
- package/dist/lib/enr/enr.d.ts +0 -90
- package/dist/lib/enr/enr.js +0 -432
- package/dist/lib/enr/enr.js.map +0 -1
- package/dist/lib/enr/index.d.ts +0 -5
- package/dist/lib/enr/index.js +0 -6
- package/dist/lib/enr/index.js.map +0 -1
- package/dist/lib/enr/keypair/index.d.ts +0 -8
- package/dist/lib/enr/keypair/index.js +0 -53
- package/dist/lib/enr/keypair/index.js.map +0 -1
- package/dist/lib/enr/keypair/secp256k1.d.ts +0 -13
- package/dist/lib/enr/keypair/secp256k1.js +0 -57
- package/dist/lib/enr/keypair/secp256k1.js.map +0 -1
- package/dist/lib/enr/keypair/types.d.ts +0 -13
- package/dist/lib/enr/keypair/types.js +0 -7
- package/dist/lib/enr/keypair/types.js.map +0 -1
- package/dist/lib/enr/multiaddr_from_fields.d.ts +0 -2
- package/dist/lib/enr/multiaddr_from_fields.js +0 -8
- package/dist/lib/enr/multiaddr_from_fields.js.map +0 -1
- package/dist/lib/enr/multiaddrs_codec.d.ts +0 -3
- package/dist/lib/enr/multiaddrs_codec.js +0 -32
- package/dist/lib/enr/multiaddrs_codec.js.map +0 -1
- package/dist/lib/enr/types.d.ts +0 -8
- package/dist/lib/enr/types.js +0 -3
- package/dist/lib/enr/types.js.map +0 -1
- package/dist/lib/enr/v4.d.ts +0 -3
- package/dist/lib/enr/v4.js +0 -14
- package/dist/lib/enr/v4.js.map +0 -1
- package/dist/lib/enr/waku2_codec.d.ts +0 -8
- package/dist/lib/enr/waku2_codec.js +0 -36
- package/dist/lib/enr/waku2_codec.js.map +0 -1
- package/dist/lib/peer_discovery_dns/dns.d.ts +0 -48
- package/dist/lib/peer_discovery_dns/dns.js +0 -158
- package/dist/lib/peer_discovery_dns/dns.js.map +0 -1
- package/dist/lib/peer_discovery_dns/dns_over_https.d.ts +0 -32
- package/dist/lib/peer_discovery_dns/dns_over_https.js +0 -87
- package/dist/lib/peer_discovery_dns/dns_over_https.js.map +0 -1
- package/dist/lib/peer_discovery_dns/enrtree.d.ts +0 -33
- package/dist/lib/peer_discovery_dns/enrtree.js +0 -76
- package/dist/lib/peer_discovery_dns/enrtree.js.map +0 -1
- package/dist/lib/peer_discovery_dns/fetch_nodes.d.ts +0 -14
- package/dist/lib/peer_discovery_dns/fetch_nodes.js +0 -133
- package/dist/lib/peer_discovery_dns/fetch_nodes.js.map +0 -1
- package/dist/lib/peer_discovery_dns/index.d.ts +0 -30
- package/dist/lib/peer_discovery_dns/index.js +0 -54
- package/dist/lib/peer_discovery_dns/index.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -22
- package/dist/lib/utils.js +0 -40
- package/dist/lib/utils.js.map +0 -1
- package/dist/lib/waku_message/constants.d.ts +0 -12
- package/dist/lib/waku_message/constants.js +0 -10
- package/dist/lib/waku_message/constants.js.map +0 -1
- package/dist/lib/waku_message/ecies.d.ts +0 -17
- package/dist/lib/waku_message/ecies.js +0 -126
- package/dist/lib/waku_message/ecies.js.map +0 -1
- package/dist/lib/waku_message/symmetric.d.ts +0 -3
- package/dist/lib/waku_message/symmetric.js +0 -18
- package/dist/lib/waku_message/symmetric.js.map +0 -1
- package/dist/lib/waku_message/version_1.d.ts +0 -93
- package/dist/lib/waku_message/version_1.js +0 -325
- package/dist/lib/waku_message/version_1.js.map +0 -1
- package/src/lib/crypto.ts +0 -100
- package/src/lib/enr/constants.ts +0 -10
- package/src/lib/enr/enr.ts +0 -516
- package/src/lib/enr/index.ts +0 -5
- package/src/lib/enr/keypair/index.ts +0 -76
- package/src/lib/enr/keypair/secp256k1.ts +0 -69
- package/src/lib/enr/keypair/types.ts +0 -14
- package/src/lib/enr/multiaddr_from_fields.ts +0 -18
- package/src/lib/enr/multiaddrs_codec.ts +0 -50
- package/src/lib/enr/types.ts +0 -11
- package/src/lib/enr/v4.ts +0 -22
- package/src/lib/enr/waku2_codec.ts +0 -39
- package/src/lib/peer_discovery_dns/dns.ts +0 -223
- package/src/lib/peer_discovery_dns/dns_over_https.ts +0 -98
- package/src/lib/peer_discovery_dns/enrtree.ts +0 -123
- package/src/lib/peer_discovery_dns/fetch_nodes.ts +0 -180
- package/src/lib/peer_discovery_dns/index.ts +0 -84
- package/src/lib/utils.ts +0 -50
- package/src/lib/waku_message/constants.ts +0 -10
- package/src/lib/waku_message/ecies.ts +0 -194
- package/src/lib/waku_message/symmetric.ts +0 -33
- package/src/lib/waku_message/version_1.ts +0 -457
@@ -1,11 +1,25 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import { m as multiaddr } from '../index-0a4bdddc.js';
|
1
|
+
import { p as peerIdFromString, E as EventEmitter, C as CustomEvent } from '../events-158407bb.js';
|
2
|
+
import { m as multiaddr } from '../index-f7e049ad.js';
|
4
3
|
import { d as debug } from '../browser-1e1a2f27.js';
|
5
4
|
import { g as getPseudoRandomSubset } from '../random_subset-75d1c511.js';
|
6
|
-
import '../index-2ae915be.js';
|
7
5
|
import '../index-64ce43f0.js';
|
8
6
|
|
7
|
+
const symbol = Symbol.for('@libp2p/peer-discovery');
|
8
|
+
|
9
|
+
function multiaddrsToPeerInfo(mas) {
|
10
|
+
return mas
|
11
|
+
.map((ma) => {
|
12
|
+
const peerIdStr = ma.getPeerId();
|
13
|
+
const protocols = [];
|
14
|
+
return {
|
15
|
+
id: peerIdStr ? peerIdFromString(peerIdStr) : null,
|
16
|
+
multiaddrs: [ma.decapsulateCode(421)],
|
17
|
+
protocols,
|
18
|
+
};
|
19
|
+
})
|
20
|
+
.filter((peerInfo) => peerInfo.id !== null);
|
21
|
+
}
|
22
|
+
|
9
23
|
const log = debug("waku:peer-discovery-static-list");
|
10
24
|
/**
|
11
25
|
* Pass a list of multiaddr that will be used to bootstrap a node.
|
@@ -1,7 +1,6 @@
|
|
1
|
-
import { P as Protocols, S as StoreCodec, L as LightPushCodec, F as FilterCodec } from '../index-
|
1
|
+
import { P as Protocols, S as StoreCodec, L as LightPushCodec, F as FilterCodec } from '../index-a67d7136.js';
|
2
2
|
import { d as debug } from '../browser-1e1a2f27.js';
|
3
|
-
import '../message-
|
4
|
-
import '../index-ba42b4fc.js';
|
3
|
+
import '../message-049c8b67.js';
|
5
4
|
import '../index-64ce43f0.js';
|
6
5
|
|
7
6
|
class TimeoutError extends Error {
|
@@ -1,4 +1,3 @@
|
|
1
1
|
import '../../browser-1e1a2f27.js';
|
2
|
-
export { T as TopicOnlyDecoder, a as TopicOnlyMessage } from '../../topic_only_message-
|
3
|
-
import '../../message-
|
4
|
-
import '../../index-ba42b4fc.js';
|
2
|
+
export { T as TopicOnlyDecoder, a as TopicOnlyMessage } from '../../topic_only_message-5ad3a869.js';
|
3
|
+
import '../../message-049c8b67.js';
|
@@ -1,4 +1,317 @@
|
|
1
|
-
import '../../browser-1e1a2f27.js';
|
2
|
-
|
3
|
-
|
4
|
-
import
|
1
|
+
import { d as debug } from '../../browser-1e1a2f27.js';
|
2
|
+
import { m as message$1, j as encodeMessage, k as decodeMessage } from '../../message-049c8b67.js';
|
3
|
+
|
4
|
+
/* eslint-disable import/export */
|
5
|
+
var RateLimitProof;
|
6
|
+
(function (RateLimitProof) {
|
7
|
+
let _codec;
|
8
|
+
RateLimitProof.codec = () => {
|
9
|
+
if (_codec == null) {
|
10
|
+
_codec = message$1((obj, writer, opts = {}) => {
|
11
|
+
if (opts.lengthDelimited !== false) {
|
12
|
+
writer.fork();
|
13
|
+
}
|
14
|
+
if (obj.proof != null) {
|
15
|
+
writer.uint32(10);
|
16
|
+
writer.bytes(obj.proof);
|
17
|
+
}
|
18
|
+
else {
|
19
|
+
throw new Error('Protocol error: required field "proof" was not found in object');
|
20
|
+
}
|
21
|
+
if (obj.merkleRoot != null) {
|
22
|
+
writer.uint32(18);
|
23
|
+
writer.bytes(obj.merkleRoot);
|
24
|
+
}
|
25
|
+
else {
|
26
|
+
throw new Error('Protocol error: required field "merkleRoot" was not found in object');
|
27
|
+
}
|
28
|
+
if (obj.epoch != null) {
|
29
|
+
writer.uint32(26);
|
30
|
+
writer.bytes(obj.epoch);
|
31
|
+
}
|
32
|
+
else {
|
33
|
+
throw new Error('Protocol error: required field "epoch" was not found in object');
|
34
|
+
}
|
35
|
+
if (obj.shareX != null) {
|
36
|
+
writer.uint32(34);
|
37
|
+
writer.bytes(obj.shareX);
|
38
|
+
}
|
39
|
+
else {
|
40
|
+
throw new Error('Protocol error: required field "shareX" was not found in object');
|
41
|
+
}
|
42
|
+
if (obj.shareY != null) {
|
43
|
+
writer.uint32(42);
|
44
|
+
writer.bytes(obj.shareY);
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
throw new Error('Protocol error: required field "shareY" was not found in object');
|
48
|
+
}
|
49
|
+
if (obj.nullifier != null) {
|
50
|
+
writer.uint32(50);
|
51
|
+
writer.bytes(obj.nullifier);
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
throw new Error('Protocol error: required field "nullifier" was not found in object');
|
55
|
+
}
|
56
|
+
if (obj.rlnIdentifier != null) {
|
57
|
+
writer.uint32(58);
|
58
|
+
writer.bytes(obj.rlnIdentifier);
|
59
|
+
}
|
60
|
+
else {
|
61
|
+
throw new Error('Protocol error: required field "rlnIdentifier" was not found in object');
|
62
|
+
}
|
63
|
+
if (opts.lengthDelimited !== false) {
|
64
|
+
writer.ldelim();
|
65
|
+
}
|
66
|
+
}, (reader, length) => {
|
67
|
+
const obj = {
|
68
|
+
proof: new Uint8Array(0),
|
69
|
+
merkleRoot: new Uint8Array(0),
|
70
|
+
epoch: new Uint8Array(0),
|
71
|
+
shareX: new Uint8Array(0),
|
72
|
+
shareY: new Uint8Array(0),
|
73
|
+
nullifier: new Uint8Array(0),
|
74
|
+
rlnIdentifier: new Uint8Array(0),
|
75
|
+
};
|
76
|
+
const end = length == null ? reader.len : reader.pos + length;
|
77
|
+
while (reader.pos < end) {
|
78
|
+
const tag = reader.uint32();
|
79
|
+
switch (tag >>> 3) {
|
80
|
+
case 1:
|
81
|
+
obj.proof = reader.bytes();
|
82
|
+
break;
|
83
|
+
case 2:
|
84
|
+
obj.merkleRoot = reader.bytes();
|
85
|
+
break;
|
86
|
+
case 3:
|
87
|
+
obj.epoch = reader.bytes();
|
88
|
+
break;
|
89
|
+
case 4:
|
90
|
+
obj.shareX = reader.bytes();
|
91
|
+
break;
|
92
|
+
case 5:
|
93
|
+
obj.shareY = reader.bytes();
|
94
|
+
break;
|
95
|
+
case 6:
|
96
|
+
obj.nullifier = reader.bytes();
|
97
|
+
break;
|
98
|
+
case 7:
|
99
|
+
obj.rlnIdentifier = reader.bytes();
|
100
|
+
break;
|
101
|
+
default:
|
102
|
+
reader.skipType(tag & 7);
|
103
|
+
break;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
if (obj.proof == null) {
|
107
|
+
throw new Error('Protocol error: value for required field "proof" was not found in protobuf');
|
108
|
+
}
|
109
|
+
if (obj.merkleRoot == null) {
|
110
|
+
throw new Error('Protocol error: value for required field "merkleRoot" was not found in protobuf');
|
111
|
+
}
|
112
|
+
if (obj.epoch == null) {
|
113
|
+
throw new Error('Protocol error: value for required field "epoch" was not found in protobuf');
|
114
|
+
}
|
115
|
+
if (obj.shareX == null) {
|
116
|
+
throw new Error('Protocol error: value for required field "shareX" was not found in protobuf');
|
117
|
+
}
|
118
|
+
if (obj.shareY == null) {
|
119
|
+
throw new Error('Protocol error: value for required field "shareY" was not found in protobuf');
|
120
|
+
}
|
121
|
+
if (obj.nullifier == null) {
|
122
|
+
throw new Error('Protocol error: value for required field "nullifier" was not found in protobuf');
|
123
|
+
}
|
124
|
+
if (obj.rlnIdentifier == null) {
|
125
|
+
throw new Error('Protocol error: value for required field "rlnIdentifier" was not found in protobuf');
|
126
|
+
}
|
127
|
+
return obj;
|
128
|
+
});
|
129
|
+
}
|
130
|
+
return _codec;
|
131
|
+
};
|
132
|
+
RateLimitProof.encode = (obj) => {
|
133
|
+
return encodeMessage(obj, RateLimitProof.codec());
|
134
|
+
};
|
135
|
+
RateLimitProof.decode = (buf) => {
|
136
|
+
return decodeMessage(buf, RateLimitProof.codec());
|
137
|
+
};
|
138
|
+
})(RateLimitProof || (RateLimitProof = {}));
|
139
|
+
var WakuMessage;
|
140
|
+
(function (WakuMessage) {
|
141
|
+
let _codec;
|
142
|
+
WakuMessage.codec = () => {
|
143
|
+
if (_codec == null) {
|
144
|
+
_codec = message$1((obj, writer, opts = {}) => {
|
145
|
+
if (opts.lengthDelimited !== false) {
|
146
|
+
writer.fork();
|
147
|
+
}
|
148
|
+
if (obj.payload != null) {
|
149
|
+
writer.uint32(10);
|
150
|
+
writer.bytes(obj.payload);
|
151
|
+
}
|
152
|
+
if (obj.contentTopic != null) {
|
153
|
+
writer.uint32(18);
|
154
|
+
writer.string(obj.contentTopic);
|
155
|
+
}
|
156
|
+
if (obj.version != null) {
|
157
|
+
writer.uint32(24);
|
158
|
+
writer.uint32(obj.version);
|
159
|
+
}
|
160
|
+
if (obj.timestampDeprecated != null) {
|
161
|
+
writer.uint32(33);
|
162
|
+
writer.double(obj.timestampDeprecated);
|
163
|
+
}
|
164
|
+
if (obj.timestamp != null) {
|
165
|
+
writer.uint32(80);
|
166
|
+
writer.sint64(obj.timestamp);
|
167
|
+
}
|
168
|
+
if (obj.rateLimitProof != null) {
|
169
|
+
writer.uint32(170);
|
170
|
+
RateLimitProof.codec().encode(obj.rateLimitProof, writer);
|
171
|
+
}
|
172
|
+
if (opts.lengthDelimited !== false) {
|
173
|
+
writer.ldelim();
|
174
|
+
}
|
175
|
+
}, (reader, length) => {
|
176
|
+
const obj = {};
|
177
|
+
const end = length == null ? reader.len : reader.pos + length;
|
178
|
+
while (reader.pos < end) {
|
179
|
+
const tag = reader.uint32();
|
180
|
+
switch (tag >>> 3) {
|
181
|
+
case 1:
|
182
|
+
obj.payload = reader.bytes();
|
183
|
+
break;
|
184
|
+
case 2:
|
185
|
+
obj.contentTopic = reader.string();
|
186
|
+
break;
|
187
|
+
case 3:
|
188
|
+
obj.version = reader.uint32();
|
189
|
+
break;
|
190
|
+
case 4:
|
191
|
+
obj.timestampDeprecated = reader.double();
|
192
|
+
break;
|
193
|
+
case 10:
|
194
|
+
obj.timestamp = reader.sint64();
|
195
|
+
break;
|
196
|
+
case 21:
|
197
|
+
obj.rateLimitProof = RateLimitProof.codec().decode(reader, reader.uint32());
|
198
|
+
break;
|
199
|
+
default:
|
200
|
+
reader.skipType(tag & 7);
|
201
|
+
break;
|
202
|
+
}
|
203
|
+
}
|
204
|
+
return obj;
|
205
|
+
});
|
206
|
+
}
|
207
|
+
return _codec;
|
208
|
+
};
|
209
|
+
WakuMessage.encode = (obj) => {
|
210
|
+
return encodeMessage(obj, WakuMessage.codec());
|
211
|
+
};
|
212
|
+
WakuMessage.decode = (buf) => {
|
213
|
+
return decodeMessage(buf, WakuMessage.codec());
|
214
|
+
};
|
215
|
+
})(WakuMessage || (WakuMessage = {}));
|
216
|
+
|
217
|
+
var message = /*#__PURE__*/Object.freeze({
|
218
|
+
__proto__: null,
|
219
|
+
get RateLimitProof () { return RateLimitProof; },
|
220
|
+
get WakuMessage () { return WakuMessage; }
|
221
|
+
});
|
222
|
+
|
223
|
+
const log = debug("waku:message:version-0");
|
224
|
+
const OneMillion = BigInt(1000000);
|
225
|
+
const Version = 0;
|
226
|
+
class MessageV0 {
|
227
|
+
constructor(proto) {
|
228
|
+
this.proto = proto;
|
229
|
+
}
|
230
|
+
get _rawPayload() {
|
231
|
+
if (this.proto.payload) {
|
232
|
+
return new Uint8Array(this.proto.payload);
|
233
|
+
}
|
234
|
+
return;
|
235
|
+
}
|
236
|
+
get payload() {
|
237
|
+
return this._rawPayload;
|
238
|
+
}
|
239
|
+
get contentTopic() {
|
240
|
+
return this.proto.contentTopic;
|
241
|
+
}
|
242
|
+
get _rawTimestamp() {
|
243
|
+
return this.proto.timestamp;
|
244
|
+
}
|
245
|
+
get timestamp() {
|
246
|
+
// In the case we receive a value that is bigger than JS's max number,
|
247
|
+
// we catch the error and return undefined.
|
248
|
+
try {
|
249
|
+
if (this.proto.timestamp) {
|
250
|
+
// nanoseconds 10^-9 to milliseconds 10^-3
|
251
|
+
const timestamp = this.proto.timestamp / OneMillion;
|
252
|
+
return new Date(Number(timestamp));
|
253
|
+
}
|
254
|
+
if (this.proto.timestampDeprecated) {
|
255
|
+
return new Date(this.proto.timestampDeprecated * 1000);
|
256
|
+
}
|
257
|
+
}
|
258
|
+
catch (e) {
|
259
|
+
return;
|
260
|
+
}
|
261
|
+
return;
|
262
|
+
}
|
263
|
+
get version() {
|
264
|
+
// https://github.com/status-im/js-waku/issues/921
|
265
|
+
return this.proto.version ?? 0;
|
266
|
+
}
|
267
|
+
get rateLimitProof() {
|
268
|
+
return this.proto.rateLimitProof;
|
269
|
+
}
|
270
|
+
}
|
271
|
+
class EncoderV0 {
|
272
|
+
constructor(contentTopic) {
|
273
|
+
this.contentTopic = contentTopic;
|
274
|
+
}
|
275
|
+
async toWire(message$1) {
|
276
|
+
return WakuMessage.encode(await this.toProtoObj(message$1));
|
277
|
+
}
|
278
|
+
async toProtoObj(message) {
|
279
|
+
const timestamp = message.timestamp ?? new Date();
|
280
|
+
return {
|
281
|
+
payload: message.payload,
|
282
|
+
version: Version,
|
283
|
+
contentTopic: this.contentTopic,
|
284
|
+
timestamp: BigInt(timestamp.valueOf()) * OneMillion,
|
285
|
+
rateLimitProof: message.rateLimitProof,
|
286
|
+
};
|
287
|
+
}
|
288
|
+
}
|
289
|
+
class DecoderV0 {
|
290
|
+
constructor(contentTopic) {
|
291
|
+
this.contentTopic = contentTopic;
|
292
|
+
}
|
293
|
+
fromWireToProtoObj(bytes) {
|
294
|
+
const protoMessage = WakuMessage.decode(bytes);
|
295
|
+
log("Message decoded", protoMessage);
|
296
|
+
return Promise.resolve({
|
297
|
+
payload: protoMessage.payload ?? undefined,
|
298
|
+
contentTopic: protoMessage.contentTopic ?? undefined,
|
299
|
+
version: protoMessage.version ?? undefined,
|
300
|
+
timestamp: protoMessage.timestamp ?? undefined,
|
301
|
+
rateLimitProof: protoMessage.rateLimitProof ?? undefined,
|
302
|
+
});
|
303
|
+
}
|
304
|
+
async fromProtoObj(proto) {
|
305
|
+
// https://github.com/status-im/js-waku/issues/921
|
306
|
+
if (proto.version === undefined) {
|
307
|
+
proto.version = 0;
|
308
|
+
}
|
309
|
+
if (proto.version !== Version) {
|
310
|
+
log("Failed to decode due to incorrect version, expected:", Version, ", actual:", proto.version);
|
311
|
+
return Promise.resolve(undefined);
|
312
|
+
}
|
313
|
+
return new MessageV0(proto);
|
314
|
+
}
|
315
|
+
}
|
316
|
+
|
317
|
+
export { DecoderV0, EncoderV0, MessageV0, Version, message as proto };
|