@libp2p/kad-dht 7.0.2 → 8.0.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/dist/index.min.js +12 -12
- package/dist/src/message/dht.d.ts +4 -4
- package/dist/src/message/dht.d.ts.map +1 -1
- package/dist/src/message/dht.js +40 -46
- package/dist/src/message/dht.js.map +1 -1
- package/package.json +8 -8
- package/src/message/dht.ts +44 -47
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
2
1
|
import type { Codec } from 'protons-runtime';
|
|
2
|
+
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
3
3
|
export interface Record {
|
|
4
4
|
key?: Uint8Array;
|
|
5
5
|
value?: Uint8Array;
|
|
@@ -9,7 +9,7 @@ export interface Record {
|
|
|
9
9
|
}
|
|
10
10
|
export declare namespace Record {
|
|
11
11
|
const codec: () => Codec<Record>;
|
|
12
|
-
const encode: (obj: Record) => Uint8Array;
|
|
12
|
+
const encode: (obj: Partial<Record>) => Uint8Array;
|
|
13
13
|
const decode: (buf: Uint8Array | Uint8ArrayList) => Record;
|
|
14
14
|
}
|
|
15
15
|
export interface Message {
|
|
@@ -48,11 +48,11 @@ export declare namespace Message {
|
|
|
48
48
|
}
|
|
49
49
|
namespace Peer {
|
|
50
50
|
const codec: () => Codec<Peer>;
|
|
51
|
-
const encode: (obj: Peer) => Uint8Array;
|
|
51
|
+
const encode: (obj: Partial<Peer>) => Uint8Array;
|
|
52
52
|
const decode: (buf: Uint8Array | Uint8ArrayList) => Peer;
|
|
53
53
|
}
|
|
54
54
|
const codec: () => Codec<Message>;
|
|
55
|
-
const encode: (obj: Message) => Uint8Array;
|
|
55
|
+
const encode: (obj: Partial<Message>) => Uint8Array;
|
|
56
56
|
const decode: (buf: Uint8Array | Uint8ArrayList) => Message;
|
|
57
57
|
}
|
|
58
58
|
//# sourceMappingURL=dht.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../../src/message/dht.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dht.d.ts","sourceRoot":"","sources":["../../../src/message/dht.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,MAAM;IACrB,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,yBAAiB,MAAM,CAAC;IAGf,MAAM,KAAK,QAAO,MAAM,MAAM,CAsEpC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,MAAM,CAAC,KAAG,UAE7C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,MAEzD,CAAA;CACF;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,GAAG,CAAC,EAAE,UAAU,CAAA;IAChB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;CAC9B;AAED,yBAAiB,OAAO,CAAC;IACvB,KAAY,WAAW;QACrB,SAAS,cAAc;QACvB,SAAS,cAAc;QACvB,YAAY,iBAAiB;QAC7B,aAAa,kBAAkB;QAC/B,SAAS,cAAc;QACvB,IAAI,SAAS;KACd;IAWD,UAAiB,WAAW,CAAC;QACpB,MAAM,KAAK,QAAO,MAAM,WAAW,CAEzC,CAAA;KACF;IAED,KAAY,cAAc;QACxB,aAAa,kBAAkB;QAC/B,SAAS,cAAc;QACvB,WAAW,gBAAgB;QAC3B,cAAc,mBAAmB;KAClC;IASD,UAAiB,cAAc,CAAC;QACvB,MAAM,KAAK,QAAO,MAAM,cAAc,CAE5C,CAAA;KACF;IAED,UAAiB,IAAI;QACnB,EAAE,CAAC,EAAE,UAAU,CAAA;QACf,KAAK,EAAE,UAAU,EAAE,CAAA;QACnB,UAAU,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;KACpC;IAED,UAAiB,IAAI,CAAC;QAGb,MAAM,KAAK,QAAO,MAAM,IAAI,CA0DlC,CAAA;QAEM,MAAM,MAAM,QAAS,QAAQ,IAAI,CAAC,KAAG,UAE3C,CAAA;QAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,IAEzD,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,MAAM,OAAO,CAqFrC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,OAAO,CAAC,KAAG,UAE9C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,OAEzD,CAAA;CACF"}
|
package/dist/src/message/dht.js
CHANGED
|
@@ -1,37 +1,40 @@
|
|
|
1
1
|
/* eslint-disable import/export */
|
|
2
|
+
/* eslint-disable complexity */
|
|
2
3
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
3
6
|
import { encodeMessage, decodeMessage, message, enumeration } from 'protons-runtime';
|
|
4
7
|
export var Record;
|
|
5
8
|
(function (Record) {
|
|
6
9
|
let _codec;
|
|
7
10
|
Record.codec = () => {
|
|
8
11
|
if (_codec == null) {
|
|
9
|
-
_codec = message((obj,
|
|
12
|
+
_codec = message((obj, w, opts = {}) => {
|
|
10
13
|
if (opts.lengthDelimited !== false) {
|
|
11
|
-
|
|
14
|
+
w.fork();
|
|
12
15
|
}
|
|
13
16
|
if (obj.key != null) {
|
|
14
|
-
|
|
15
|
-
|
|
17
|
+
w.uint32(10);
|
|
18
|
+
w.bytes(obj.key);
|
|
16
19
|
}
|
|
17
20
|
if (obj.value != null) {
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
w.uint32(18);
|
|
22
|
+
w.bytes(obj.value);
|
|
20
23
|
}
|
|
21
24
|
if (obj.author != null) {
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
w.uint32(26);
|
|
26
|
+
w.bytes(obj.author);
|
|
24
27
|
}
|
|
25
28
|
if (obj.signature != null) {
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
w.uint32(34);
|
|
30
|
+
w.bytes(obj.signature);
|
|
28
31
|
}
|
|
29
32
|
if (obj.timeReceived != null) {
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
w.uint32(42);
|
|
34
|
+
w.string(obj.timeReceived);
|
|
32
35
|
}
|
|
33
36
|
if (opts.lengthDelimited !== false) {
|
|
34
|
-
|
|
37
|
+
w.ldelim();
|
|
35
38
|
}
|
|
36
39
|
}, (reader, length) => {
|
|
37
40
|
const obj = {};
|
|
@@ -120,29 +123,26 @@ export var Message;
|
|
|
120
123
|
let _codec;
|
|
121
124
|
Peer.codec = () => {
|
|
122
125
|
if (_codec == null) {
|
|
123
|
-
_codec = message((obj,
|
|
126
|
+
_codec = message((obj, w, opts = {}) => {
|
|
124
127
|
if (opts.lengthDelimited !== false) {
|
|
125
|
-
|
|
128
|
+
w.fork();
|
|
126
129
|
}
|
|
127
130
|
if (obj.id != null) {
|
|
128
|
-
|
|
129
|
-
|
|
131
|
+
w.uint32(10);
|
|
132
|
+
w.bytes(obj.id);
|
|
130
133
|
}
|
|
131
134
|
if (obj.addrs != null) {
|
|
132
135
|
for (const value of obj.addrs) {
|
|
133
|
-
|
|
134
|
-
|
|
136
|
+
w.uint32(18);
|
|
137
|
+
w.bytes(value);
|
|
135
138
|
}
|
|
136
139
|
}
|
|
137
|
-
else {
|
|
138
|
-
throw new Error('Protocol error: required field "addrs" was not found in object');
|
|
139
|
-
}
|
|
140
140
|
if (obj.connection != null) {
|
|
141
|
-
|
|
142
|
-
Message.ConnectionType.codec().encode(obj.connection,
|
|
141
|
+
w.uint32(24);
|
|
142
|
+
Message.ConnectionType.codec().encode(obj.connection, w);
|
|
143
143
|
}
|
|
144
144
|
if (opts.lengthDelimited !== false) {
|
|
145
|
-
|
|
145
|
+
w.ldelim();
|
|
146
146
|
}
|
|
147
147
|
}, (reader, length) => {
|
|
148
148
|
const obj = {
|
|
@@ -181,46 +181,40 @@ export var Message;
|
|
|
181
181
|
let _codec;
|
|
182
182
|
Message.codec = () => {
|
|
183
183
|
if (_codec == null) {
|
|
184
|
-
_codec = message((obj,
|
|
184
|
+
_codec = message((obj, w, opts = {}) => {
|
|
185
185
|
if (opts.lengthDelimited !== false) {
|
|
186
|
-
|
|
186
|
+
w.fork();
|
|
187
187
|
}
|
|
188
188
|
if (obj.type != null) {
|
|
189
|
-
|
|
190
|
-
Message.MessageType.codec().encode(obj.type,
|
|
189
|
+
w.uint32(8);
|
|
190
|
+
Message.MessageType.codec().encode(obj.type, w);
|
|
191
191
|
}
|
|
192
192
|
if (obj.clusterLevelRaw != null) {
|
|
193
|
-
|
|
194
|
-
|
|
193
|
+
w.uint32(80);
|
|
194
|
+
w.int32(obj.clusterLevelRaw);
|
|
195
195
|
}
|
|
196
196
|
if (obj.key != null) {
|
|
197
|
-
|
|
198
|
-
|
|
197
|
+
w.uint32(18);
|
|
198
|
+
w.bytes(obj.key);
|
|
199
199
|
}
|
|
200
200
|
if (obj.record != null) {
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
w.uint32(26);
|
|
202
|
+
w.bytes(obj.record);
|
|
203
203
|
}
|
|
204
204
|
if (obj.closerPeers != null) {
|
|
205
205
|
for (const value of obj.closerPeers) {
|
|
206
|
-
|
|
207
|
-
Message.Peer.codec().encode(value,
|
|
206
|
+
w.uint32(66);
|
|
207
|
+
Message.Peer.codec().encode(value, w);
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
else {
|
|
211
|
-
throw new Error('Protocol error: required field "closerPeers" was not found in object');
|
|
212
|
-
}
|
|
213
210
|
if (obj.providerPeers != null) {
|
|
214
211
|
for (const value of obj.providerPeers) {
|
|
215
|
-
|
|
216
|
-
Message.Peer.codec().encode(value,
|
|
212
|
+
w.uint32(74);
|
|
213
|
+
Message.Peer.codec().encode(value, w);
|
|
217
214
|
}
|
|
218
215
|
}
|
|
219
|
-
else {
|
|
220
|
-
throw new Error('Protocol error: required field "providerPeers" was not found in object');
|
|
221
|
-
}
|
|
222
216
|
if (opts.lengthDelimited !== false) {
|
|
223
|
-
|
|
217
|
+
w.ldelim();
|
|
224
218
|
}
|
|
225
219
|
}, (reader, length) => {
|
|
226
220
|
const obj = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../../src/message/dht.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;
|
|
1
|
+
{"version":3,"file":"dht.js","sourceRoot":"","sources":["../../../src/message/dht.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/kad-dht",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "JavaScript implementation of the Kad-DHT for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-kad-dht#readme",
|
|
@@ -162,9 +162,9 @@
|
|
|
162
162
|
"@multiformats/multiaddr": "^11.0.0",
|
|
163
163
|
"abortable-iterator": "^4.0.2",
|
|
164
164
|
"any-signal": "^3.0.0",
|
|
165
|
-
"datastore-core": "^
|
|
165
|
+
"datastore-core": "^9.0.1",
|
|
166
166
|
"hashlru": "^2.3.0",
|
|
167
|
-
"interface-datastore": "^
|
|
167
|
+
"interface-datastore": "^8.0.0",
|
|
168
168
|
"it-all": "^2.0.0",
|
|
169
169
|
"it-drain": "^2.0.0",
|
|
170
170
|
"it-first": "^2.0.0",
|
|
@@ -181,7 +181,7 @@
|
|
|
181
181
|
"p-defer": "^4.0.0",
|
|
182
182
|
"p-queue": "^7.2.0",
|
|
183
183
|
"private-ip": "^3.0.0",
|
|
184
|
-
"protons-runtime": "^
|
|
184
|
+
"protons-runtime": "^5.0.0",
|
|
185
185
|
"timeout-abort-controller": "^3.0.0",
|
|
186
186
|
"uint8arraylist": "^2.0.0",
|
|
187
187
|
"uint8arrays": "^4.0.2",
|
|
@@ -190,22 +190,22 @@
|
|
|
190
190
|
"devDependencies": {
|
|
191
191
|
"@libp2p/interface-mocks": "^9.0.0",
|
|
192
192
|
"@libp2p/peer-id-factory": "^2.0.0",
|
|
193
|
-
"@libp2p/peer-store": "^
|
|
193
|
+
"@libp2p/peer-store": "^7.0.0",
|
|
194
194
|
"@types/lodash.random": "^3.2.6",
|
|
195
195
|
"@types/lodash.range": "^3.2.6",
|
|
196
196
|
"@types/varint": "^6.0.0",
|
|
197
197
|
"@types/which": "^2.0.1",
|
|
198
198
|
"aegir": "^38.1.2",
|
|
199
|
-
"datastore-level": "^
|
|
199
|
+
"datastore-level": "^10.0.0",
|
|
200
200
|
"delay": "^5.0.0",
|
|
201
|
-
"execa": "^
|
|
201
|
+
"execa": "^7.0.0",
|
|
202
202
|
"it-filter": "^2.0.0",
|
|
203
203
|
"it-last": "^2.0.0",
|
|
204
204
|
"lodash.random": "^3.2.0",
|
|
205
205
|
"lodash.range": "^3.2.0",
|
|
206
206
|
"p-retry": "^5.0.0",
|
|
207
207
|
"p-wait-for": "^5.0.0",
|
|
208
|
-
"protons": "^
|
|
208
|
+
"protons": "^7.0.2",
|
|
209
209
|
"sinon": "^15.0.0",
|
|
210
210
|
"ts-sinon": "^2.0.2",
|
|
211
211
|
"which": "^3.0.0"
|
package/src/message/dht.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/* eslint-disable import/export */
|
|
2
|
+
/* eslint-disable complexity */
|
|
2
3
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
3
6
|
|
|
4
7
|
import { encodeMessage, decodeMessage, message, enumeration } from 'protons-runtime'
|
|
5
|
-
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
6
8
|
import type { Codec } from 'protons-runtime'
|
|
9
|
+
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
7
10
|
|
|
8
11
|
export interface Record {
|
|
9
12
|
key?: Uint8Array
|
|
@@ -18,38 +21,38 @@ export namespace Record {
|
|
|
18
21
|
|
|
19
22
|
export const codec = (): Codec<Record> => {
|
|
20
23
|
if (_codec == null) {
|
|
21
|
-
_codec = message<Record>((obj,
|
|
24
|
+
_codec = message<Record>((obj, w, opts = {}) => {
|
|
22
25
|
if (opts.lengthDelimited !== false) {
|
|
23
|
-
|
|
26
|
+
w.fork()
|
|
24
27
|
}
|
|
25
28
|
|
|
26
29
|
if (obj.key != null) {
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
w.uint32(10)
|
|
31
|
+
w.bytes(obj.key)
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
if (obj.value != null) {
|
|
32
|
-
|
|
33
|
-
|
|
35
|
+
w.uint32(18)
|
|
36
|
+
w.bytes(obj.value)
|
|
34
37
|
}
|
|
35
38
|
|
|
36
39
|
if (obj.author != null) {
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
w.uint32(26)
|
|
41
|
+
w.bytes(obj.author)
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
if (obj.signature != null) {
|
|
42
|
-
|
|
43
|
-
|
|
45
|
+
w.uint32(34)
|
|
46
|
+
w.bytes(obj.signature)
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
if (obj.timeReceived != null) {
|
|
47
|
-
|
|
48
|
-
|
|
50
|
+
w.uint32(42)
|
|
51
|
+
w.string(obj.timeReceived)
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
if (opts.lengthDelimited !== false) {
|
|
52
|
-
|
|
55
|
+
w.ldelim()
|
|
53
56
|
}
|
|
54
57
|
}, (reader, length) => {
|
|
55
58
|
const obj: any = {}
|
|
@@ -88,7 +91,7 @@ export namespace Record {
|
|
|
88
91
|
return _codec
|
|
89
92
|
}
|
|
90
93
|
|
|
91
|
-
export const encode = (obj: Record): Uint8Array => {
|
|
94
|
+
export const encode = (obj: Partial<Record>): Uint8Array => {
|
|
92
95
|
return encodeMessage(obj, Record.codec())
|
|
93
96
|
}
|
|
94
97
|
|
|
@@ -162,32 +165,30 @@ export namespace Message {
|
|
|
162
165
|
|
|
163
166
|
export const codec = (): Codec<Peer> => {
|
|
164
167
|
if (_codec == null) {
|
|
165
|
-
_codec = message<Peer>((obj,
|
|
168
|
+
_codec = message<Peer>((obj, w, opts = {}) => {
|
|
166
169
|
if (opts.lengthDelimited !== false) {
|
|
167
|
-
|
|
170
|
+
w.fork()
|
|
168
171
|
}
|
|
169
172
|
|
|
170
173
|
if (obj.id != null) {
|
|
171
|
-
|
|
172
|
-
|
|
174
|
+
w.uint32(10)
|
|
175
|
+
w.bytes(obj.id)
|
|
173
176
|
}
|
|
174
177
|
|
|
175
178
|
if (obj.addrs != null) {
|
|
176
179
|
for (const value of obj.addrs) {
|
|
177
|
-
|
|
178
|
-
|
|
180
|
+
w.uint32(18)
|
|
181
|
+
w.bytes(value)
|
|
179
182
|
}
|
|
180
|
-
} else {
|
|
181
|
-
throw new Error('Protocol error: required field "addrs" was not found in object')
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
if (obj.connection != null) {
|
|
185
|
-
|
|
186
|
-
Message.ConnectionType.codec().encode(obj.connection,
|
|
186
|
+
w.uint32(24)
|
|
187
|
+
Message.ConnectionType.codec().encode(obj.connection, w)
|
|
187
188
|
}
|
|
188
189
|
|
|
189
190
|
if (opts.lengthDelimited !== false) {
|
|
190
|
-
|
|
191
|
+
w.ldelim()
|
|
191
192
|
}
|
|
192
193
|
}, (reader, length) => {
|
|
193
194
|
const obj: any = {
|
|
@@ -222,7 +223,7 @@ export namespace Message {
|
|
|
222
223
|
return _codec
|
|
223
224
|
}
|
|
224
225
|
|
|
225
|
-
export const encode = (obj: Peer): Uint8Array => {
|
|
226
|
+
export const encode = (obj: Partial<Peer>): Uint8Array => {
|
|
226
227
|
return encodeMessage(obj, Peer.codec())
|
|
227
228
|
}
|
|
228
229
|
|
|
@@ -235,51 +236,47 @@ export namespace Message {
|
|
|
235
236
|
|
|
236
237
|
export const codec = (): Codec<Message> => {
|
|
237
238
|
if (_codec == null) {
|
|
238
|
-
_codec = message<Message>((obj,
|
|
239
|
+
_codec = message<Message>((obj, w, opts = {}) => {
|
|
239
240
|
if (opts.lengthDelimited !== false) {
|
|
240
|
-
|
|
241
|
+
w.fork()
|
|
241
242
|
}
|
|
242
243
|
|
|
243
244
|
if (obj.type != null) {
|
|
244
|
-
|
|
245
|
-
Message.MessageType.codec().encode(obj.type,
|
|
245
|
+
w.uint32(8)
|
|
246
|
+
Message.MessageType.codec().encode(obj.type, w)
|
|
246
247
|
}
|
|
247
248
|
|
|
248
249
|
if (obj.clusterLevelRaw != null) {
|
|
249
|
-
|
|
250
|
-
|
|
250
|
+
w.uint32(80)
|
|
251
|
+
w.int32(obj.clusterLevelRaw)
|
|
251
252
|
}
|
|
252
253
|
|
|
253
254
|
if (obj.key != null) {
|
|
254
|
-
|
|
255
|
-
|
|
255
|
+
w.uint32(18)
|
|
256
|
+
w.bytes(obj.key)
|
|
256
257
|
}
|
|
257
258
|
|
|
258
259
|
if (obj.record != null) {
|
|
259
|
-
|
|
260
|
-
|
|
260
|
+
w.uint32(26)
|
|
261
|
+
w.bytes(obj.record)
|
|
261
262
|
}
|
|
262
263
|
|
|
263
264
|
if (obj.closerPeers != null) {
|
|
264
265
|
for (const value of obj.closerPeers) {
|
|
265
|
-
|
|
266
|
-
Message.Peer.codec().encode(value,
|
|
266
|
+
w.uint32(66)
|
|
267
|
+
Message.Peer.codec().encode(value, w)
|
|
267
268
|
}
|
|
268
|
-
} else {
|
|
269
|
-
throw new Error('Protocol error: required field "closerPeers" was not found in object')
|
|
270
269
|
}
|
|
271
270
|
|
|
272
271
|
if (obj.providerPeers != null) {
|
|
273
272
|
for (const value of obj.providerPeers) {
|
|
274
|
-
|
|
275
|
-
Message.Peer.codec().encode(value,
|
|
273
|
+
w.uint32(74)
|
|
274
|
+
Message.Peer.codec().encode(value, w)
|
|
276
275
|
}
|
|
277
|
-
} else {
|
|
278
|
-
throw new Error('Protocol error: required field "providerPeers" was not found in object')
|
|
279
276
|
}
|
|
280
277
|
|
|
281
278
|
if (opts.lengthDelimited !== false) {
|
|
282
|
-
|
|
279
|
+
w.ldelim()
|
|
283
280
|
}
|
|
284
281
|
}, (reader, length) => {
|
|
285
282
|
const obj: any = {
|
|
@@ -324,7 +321,7 @@ export namespace Message {
|
|
|
324
321
|
return _codec
|
|
325
322
|
}
|
|
326
323
|
|
|
327
|
-
export const encode = (obj: Message): Uint8Array => {
|
|
324
|
+
export const encode = (obj: Partial<Message>): Uint8Array => {
|
|
328
325
|
return encodeMessage(obj, Message.codec())
|
|
329
326
|
}
|
|
330
327
|
|