@libp2p/daemon-protocol 1.0.1 → 1.0.4
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 +15 -1
- package/dist/src/index.d.ts +259 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +391 -0
- package/dist/src/index.js.map +1 -0
- package/package.json +4 -7
- package/src/index.ts +552 -0
- package/src/index.d.ts +0 -1528
- package/src/index.js +0 -4449
package/src/index.ts
ADDED
|
@@ -0,0 +1,552 @@
|
|
|
1
|
+
/* eslint-disable import/export */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-namespace */
|
|
3
|
+
|
|
4
|
+
import { enumeration, encodeMessage, decodeMessage, message, bytes, int64, string, int32 } from 'protons-runtime'
|
|
5
|
+
|
|
6
|
+
export interface Request {
|
|
7
|
+
type: Request.Type
|
|
8
|
+
connect?: ConnectRequest
|
|
9
|
+
streamOpen?: StreamOpenRequest
|
|
10
|
+
streamHandler?: StreamHandlerRequest
|
|
11
|
+
dht?: DHTRequest
|
|
12
|
+
connManager?: ConnManagerRequest
|
|
13
|
+
disconnect?: DisconnectRequest
|
|
14
|
+
pubsub?: PSRequest
|
|
15
|
+
peerStore?: PeerstoreRequest
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export namespace Request {
|
|
19
|
+
export enum Type {
|
|
20
|
+
IDENTIFY = 'IDENTIFY',
|
|
21
|
+
CONNECT = 'CONNECT',
|
|
22
|
+
STREAM_OPEN = 'STREAM_OPEN',
|
|
23
|
+
STREAM_HANDLER = 'STREAM_HANDLER',
|
|
24
|
+
DHT = 'DHT',
|
|
25
|
+
LIST_PEERS = 'LIST_PEERS',
|
|
26
|
+
CONNMANAGER = 'CONNMANAGER',
|
|
27
|
+
DISCONNECT = 'DISCONNECT',
|
|
28
|
+
PUBSUB = 'PUBSUB',
|
|
29
|
+
PEERSTORE = 'PEERSTORE'
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export namespace Type {
|
|
33
|
+
export const codec = () => {
|
|
34
|
+
return enumeration<typeof Type>(Type)
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export const codec = () => {
|
|
39
|
+
return message<Request>({
|
|
40
|
+
1: { name: 'type', codec: Request.Type.codec() },
|
|
41
|
+
2: { name: 'connect', codec: ConnectRequest.codec(), optional: true },
|
|
42
|
+
3: { name: 'streamOpen', codec: StreamOpenRequest.codec(), optional: true },
|
|
43
|
+
4: { name: 'streamHandler', codec: StreamHandlerRequest.codec(), optional: true },
|
|
44
|
+
5: { name: 'dht', codec: DHTRequest.codec(), optional: true },
|
|
45
|
+
6: { name: 'connManager', codec: ConnManagerRequest.codec(), optional: true },
|
|
46
|
+
7: { name: 'disconnect', codec: DisconnectRequest.codec(), optional: true },
|
|
47
|
+
8: { name: 'pubsub', codec: PSRequest.codec(), optional: true },
|
|
48
|
+
9: { name: 'peerStore', codec: PeerstoreRequest.codec(), optional: true }
|
|
49
|
+
})
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export const encode = (obj: Request): Uint8Array => {
|
|
53
|
+
return encodeMessage(obj, Request.codec())
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export const decode = (buf: Uint8Array): Request => {
|
|
57
|
+
return decodeMessage(buf, Request.codec())
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface Response {
|
|
62
|
+
type: Response.Type
|
|
63
|
+
error?: ErrorResponse
|
|
64
|
+
streamInfo?: StreamInfo
|
|
65
|
+
identify?: IdentifyResponse
|
|
66
|
+
dht?: DHTResponse
|
|
67
|
+
peers: PeerInfo[]
|
|
68
|
+
pubsub?: PSResponse
|
|
69
|
+
peerStore?: PeerstoreResponse
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export namespace Response {
|
|
73
|
+
export enum Type {
|
|
74
|
+
OK = 'OK',
|
|
75
|
+
ERROR = 'ERROR'
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export namespace Type {
|
|
79
|
+
export const codec = () => {
|
|
80
|
+
return enumeration<typeof Type>(Type)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export const codec = () => {
|
|
85
|
+
return message<Response>({
|
|
86
|
+
1: { name: 'type', codec: Response.Type.codec() },
|
|
87
|
+
2: { name: 'error', codec: ErrorResponse.codec(), optional: true },
|
|
88
|
+
3: { name: 'streamInfo', codec: StreamInfo.codec(), optional: true },
|
|
89
|
+
4: { name: 'identify', codec: IdentifyResponse.codec(), optional: true },
|
|
90
|
+
5: { name: 'dht', codec: DHTResponse.codec(), optional: true },
|
|
91
|
+
6: { name: 'peers', codec: PeerInfo.codec(), repeats: true },
|
|
92
|
+
7: { name: 'pubsub', codec: PSResponse.codec(), optional: true },
|
|
93
|
+
8: { name: 'peerStore', codec: PeerstoreResponse.codec(), optional: true }
|
|
94
|
+
})
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export const encode = (obj: Response): Uint8Array => {
|
|
98
|
+
return encodeMessage(obj, Response.codec())
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export const decode = (buf: Uint8Array): Response => {
|
|
102
|
+
return decodeMessage(buf, Response.codec())
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export interface IdentifyResponse {
|
|
107
|
+
id: Uint8Array
|
|
108
|
+
addrs: Uint8Array[]
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export namespace IdentifyResponse {
|
|
112
|
+
export const codec = () => {
|
|
113
|
+
return message<IdentifyResponse>({
|
|
114
|
+
1: { name: 'id', codec: bytes },
|
|
115
|
+
2: { name: 'addrs', codec: bytes, repeats: true }
|
|
116
|
+
})
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export const encode = (obj: IdentifyResponse): Uint8Array => {
|
|
120
|
+
return encodeMessage(obj, IdentifyResponse.codec())
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export const decode = (buf: Uint8Array): IdentifyResponse => {
|
|
124
|
+
return decodeMessage(buf, IdentifyResponse.codec())
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface ConnectRequest {
|
|
129
|
+
peer: Uint8Array
|
|
130
|
+
addrs: Uint8Array[]
|
|
131
|
+
timeout?: bigint
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export namespace ConnectRequest {
|
|
135
|
+
export const codec = () => {
|
|
136
|
+
return message<ConnectRequest>({
|
|
137
|
+
1: { name: 'peer', codec: bytes },
|
|
138
|
+
2: { name: 'addrs', codec: bytes, repeats: true },
|
|
139
|
+
3: { name: 'timeout', codec: int64, optional: true }
|
|
140
|
+
})
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export const encode = (obj: ConnectRequest): Uint8Array => {
|
|
144
|
+
return encodeMessage(obj, ConnectRequest.codec())
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export const decode = (buf: Uint8Array): ConnectRequest => {
|
|
148
|
+
return decodeMessage(buf, ConnectRequest.codec())
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export interface StreamOpenRequest {
|
|
153
|
+
peer: Uint8Array
|
|
154
|
+
proto: string[]
|
|
155
|
+
timeout?: bigint
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export namespace StreamOpenRequest {
|
|
159
|
+
export const codec = () => {
|
|
160
|
+
return message<StreamOpenRequest>({
|
|
161
|
+
1: { name: 'peer', codec: bytes },
|
|
162
|
+
2: { name: 'proto', codec: string, repeats: true },
|
|
163
|
+
3: { name: 'timeout', codec: int64, optional: true }
|
|
164
|
+
})
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
export const encode = (obj: StreamOpenRequest): Uint8Array => {
|
|
168
|
+
return encodeMessage(obj, StreamOpenRequest.codec())
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export const decode = (buf: Uint8Array): StreamOpenRequest => {
|
|
172
|
+
return decodeMessage(buf, StreamOpenRequest.codec())
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export interface StreamHandlerRequest {
|
|
177
|
+
addr: Uint8Array
|
|
178
|
+
proto: string[]
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export namespace StreamHandlerRequest {
|
|
182
|
+
export const codec = () => {
|
|
183
|
+
return message<StreamHandlerRequest>({
|
|
184
|
+
1: { name: 'addr', codec: bytes },
|
|
185
|
+
2: { name: 'proto', codec: string, repeats: true }
|
|
186
|
+
})
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export const encode = (obj: StreamHandlerRequest): Uint8Array => {
|
|
190
|
+
return encodeMessage(obj, StreamHandlerRequest.codec())
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export const decode = (buf: Uint8Array): StreamHandlerRequest => {
|
|
194
|
+
return decodeMessage(buf, StreamHandlerRequest.codec())
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export interface ErrorResponse {
|
|
199
|
+
msg: string
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export namespace ErrorResponse {
|
|
203
|
+
export const codec = () => {
|
|
204
|
+
return message<ErrorResponse>({
|
|
205
|
+
1: { name: 'msg', codec: string }
|
|
206
|
+
})
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export const encode = (obj: ErrorResponse): Uint8Array => {
|
|
210
|
+
return encodeMessage(obj, ErrorResponse.codec())
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export const decode = (buf: Uint8Array): ErrorResponse => {
|
|
214
|
+
return decodeMessage(buf, ErrorResponse.codec())
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export interface StreamInfo {
|
|
219
|
+
peer: Uint8Array
|
|
220
|
+
addr: Uint8Array
|
|
221
|
+
proto: string
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export namespace StreamInfo {
|
|
225
|
+
export const codec = () => {
|
|
226
|
+
return message<StreamInfo>({
|
|
227
|
+
1: { name: 'peer', codec: bytes },
|
|
228
|
+
2: { name: 'addr', codec: bytes },
|
|
229
|
+
3: { name: 'proto', codec: string }
|
|
230
|
+
})
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
export const encode = (obj: StreamInfo): Uint8Array => {
|
|
234
|
+
return encodeMessage(obj, StreamInfo.codec())
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export const decode = (buf: Uint8Array): StreamInfo => {
|
|
238
|
+
return decodeMessage(buf, StreamInfo.codec())
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export interface DHTRequest {
|
|
243
|
+
type: DHTRequest.Type
|
|
244
|
+
peer?: Uint8Array
|
|
245
|
+
cid?: Uint8Array
|
|
246
|
+
key?: Uint8Array
|
|
247
|
+
value?: Uint8Array
|
|
248
|
+
count?: number
|
|
249
|
+
timeout?: bigint
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export namespace DHTRequest {
|
|
253
|
+
export enum Type {
|
|
254
|
+
FIND_PEER = 'FIND_PEER',
|
|
255
|
+
FIND_PEERS_CONNECTED_TO_PEER = 'FIND_PEERS_CONNECTED_TO_PEER',
|
|
256
|
+
FIND_PROVIDERS = 'FIND_PROVIDERS',
|
|
257
|
+
GET_CLOSEST_PEERS = 'GET_CLOSEST_PEERS',
|
|
258
|
+
GET_PUBLIC_KEY = 'GET_PUBLIC_KEY',
|
|
259
|
+
GET_VALUE = 'GET_VALUE',
|
|
260
|
+
SEARCH_VALUE = 'SEARCH_VALUE',
|
|
261
|
+
PUT_VALUE = 'PUT_VALUE',
|
|
262
|
+
PROVIDE = 'PROVIDE'
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
export namespace Type {
|
|
266
|
+
export const codec = () => {
|
|
267
|
+
return enumeration<typeof Type>(Type)
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
export const codec = () => {
|
|
272
|
+
return message<DHTRequest>({
|
|
273
|
+
1: { name: 'type', codec: DHTRequest.Type.codec() },
|
|
274
|
+
2: { name: 'peer', codec: bytes, optional: true },
|
|
275
|
+
3: { name: 'cid', codec: bytes, optional: true },
|
|
276
|
+
4: { name: 'key', codec: bytes, optional: true },
|
|
277
|
+
5: { name: 'value', codec: bytes, optional: true },
|
|
278
|
+
6: { name: 'count', codec: int32, optional: true },
|
|
279
|
+
7: { name: 'timeout', codec: int64, optional: true }
|
|
280
|
+
})
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export const encode = (obj: DHTRequest): Uint8Array => {
|
|
284
|
+
return encodeMessage(obj, DHTRequest.codec())
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
export const decode = (buf: Uint8Array): DHTRequest => {
|
|
288
|
+
return decodeMessage(buf, DHTRequest.codec())
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
export interface DHTResponse {
|
|
293
|
+
type: DHTResponse.Type
|
|
294
|
+
peer?: PeerInfo
|
|
295
|
+
value?: Uint8Array
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
export namespace DHTResponse {
|
|
299
|
+
export enum Type {
|
|
300
|
+
BEGIN = 'BEGIN',
|
|
301
|
+
VALUE = 'VALUE',
|
|
302
|
+
END = 'END'
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
export namespace Type {
|
|
306
|
+
export const codec = () => {
|
|
307
|
+
return enumeration<typeof Type>(Type)
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
export const codec = () => {
|
|
312
|
+
return message<DHTResponse>({
|
|
313
|
+
1: { name: 'type', codec: DHTResponse.Type.codec() },
|
|
314
|
+
2: { name: 'peer', codec: PeerInfo.codec(), optional: true },
|
|
315
|
+
3: { name: 'value', codec: bytes, optional: true }
|
|
316
|
+
})
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
export const encode = (obj: DHTResponse): Uint8Array => {
|
|
320
|
+
return encodeMessage(obj, DHTResponse.codec())
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
export const decode = (buf: Uint8Array): DHTResponse => {
|
|
324
|
+
return decodeMessage(buf, DHTResponse.codec())
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
export interface PeerInfo {
|
|
329
|
+
id: Uint8Array
|
|
330
|
+
addrs: Uint8Array[]
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
export namespace PeerInfo {
|
|
334
|
+
export const codec = () => {
|
|
335
|
+
return message<PeerInfo>({
|
|
336
|
+
1: { name: 'id', codec: bytes },
|
|
337
|
+
2: { name: 'addrs', codec: bytes, repeats: true }
|
|
338
|
+
})
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
export const encode = (obj: PeerInfo): Uint8Array => {
|
|
342
|
+
return encodeMessage(obj, PeerInfo.codec())
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
export const decode = (buf: Uint8Array): PeerInfo => {
|
|
346
|
+
return decodeMessage(buf, PeerInfo.codec())
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
export interface ConnManagerRequest {
|
|
351
|
+
type: ConnManagerRequest.Type
|
|
352
|
+
peer?: Uint8Array
|
|
353
|
+
tag?: string
|
|
354
|
+
weight?: bigint
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
export namespace ConnManagerRequest {
|
|
358
|
+
export enum Type {
|
|
359
|
+
TAG_PEER = 'TAG_PEER',
|
|
360
|
+
UNTAG_PEER = 'UNTAG_PEER',
|
|
361
|
+
TRIM = 'TRIM'
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
export namespace Type {
|
|
365
|
+
export const codec = () => {
|
|
366
|
+
return enumeration<typeof Type>(Type)
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
export const codec = () => {
|
|
371
|
+
return message<ConnManagerRequest>({
|
|
372
|
+
1: { name: 'type', codec: ConnManagerRequest.Type.codec() },
|
|
373
|
+
2: { name: 'peer', codec: bytes, optional: true },
|
|
374
|
+
3: { name: 'tag', codec: string, optional: true },
|
|
375
|
+
4: { name: 'weight', codec: int64, optional: true }
|
|
376
|
+
})
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
export const encode = (obj: ConnManagerRequest): Uint8Array => {
|
|
380
|
+
return encodeMessage(obj, ConnManagerRequest.codec())
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
export const decode = (buf: Uint8Array): ConnManagerRequest => {
|
|
384
|
+
return decodeMessage(buf, ConnManagerRequest.codec())
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
export interface DisconnectRequest {
|
|
389
|
+
peer: Uint8Array
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
export namespace DisconnectRequest {
|
|
393
|
+
export const codec = () => {
|
|
394
|
+
return message<DisconnectRequest>({
|
|
395
|
+
1: { name: 'peer', codec: bytes }
|
|
396
|
+
})
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
export const encode = (obj: DisconnectRequest): Uint8Array => {
|
|
400
|
+
return encodeMessage(obj, DisconnectRequest.codec())
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
export const decode = (buf: Uint8Array): DisconnectRequest => {
|
|
404
|
+
return decodeMessage(buf, DisconnectRequest.codec())
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
export interface PSRequest {
|
|
409
|
+
type: PSRequest.Type
|
|
410
|
+
topic?: string
|
|
411
|
+
data?: Uint8Array
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
export namespace PSRequest {
|
|
415
|
+
export enum Type {
|
|
416
|
+
GET_TOPICS = 'GET_TOPICS',
|
|
417
|
+
LIST_PEERS = 'LIST_PEERS',
|
|
418
|
+
PUBLISH = 'PUBLISH',
|
|
419
|
+
SUBSCRIBE = 'SUBSCRIBE'
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
export namespace Type {
|
|
423
|
+
export const codec = () => {
|
|
424
|
+
return enumeration<typeof Type>(Type)
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
export const codec = () => {
|
|
429
|
+
return message<PSRequest>({
|
|
430
|
+
1: { name: 'type', codec: PSRequest.Type.codec() },
|
|
431
|
+
2: { name: 'topic', codec: string, optional: true },
|
|
432
|
+
3: { name: 'data', codec: bytes, optional: true }
|
|
433
|
+
})
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
export const encode = (obj: PSRequest): Uint8Array => {
|
|
437
|
+
return encodeMessage(obj, PSRequest.codec())
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
export const decode = (buf: Uint8Array): PSRequest => {
|
|
441
|
+
return decodeMessage(buf, PSRequest.codec())
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
export interface PSMessage {
|
|
446
|
+
from?: Uint8Array
|
|
447
|
+
data?: Uint8Array
|
|
448
|
+
seqno?: Uint8Array
|
|
449
|
+
topicIDs: string[]
|
|
450
|
+
signature?: Uint8Array
|
|
451
|
+
key?: Uint8Array
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
export namespace PSMessage {
|
|
455
|
+
export const codec = () => {
|
|
456
|
+
return message<PSMessage>({
|
|
457
|
+
1: { name: 'from', codec: bytes, optional: true },
|
|
458
|
+
2: { name: 'data', codec: bytes, optional: true },
|
|
459
|
+
3: { name: 'seqno', codec: bytes, optional: true },
|
|
460
|
+
4: { name: 'topicIDs', codec: string, repeats: true },
|
|
461
|
+
5: { name: 'signature', codec: bytes, optional: true },
|
|
462
|
+
6: { name: 'key', codec: bytes, optional: true }
|
|
463
|
+
})
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
export const encode = (obj: PSMessage): Uint8Array => {
|
|
467
|
+
return encodeMessage(obj, PSMessage.codec())
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
export const decode = (buf: Uint8Array): PSMessage => {
|
|
471
|
+
return decodeMessage(buf, PSMessage.codec())
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
export interface PSResponse {
|
|
476
|
+
topics: string[]
|
|
477
|
+
peerIDs: Uint8Array[]
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
export namespace PSResponse {
|
|
481
|
+
export const codec = () => {
|
|
482
|
+
return message<PSResponse>({
|
|
483
|
+
1: { name: 'topics', codec: string, repeats: true },
|
|
484
|
+
2: { name: 'peerIDs', codec: bytes, repeats: true }
|
|
485
|
+
})
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
export const encode = (obj: PSResponse): Uint8Array => {
|
|
489
|
+
return encodeMessage(obj, PSResponse.codec())
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
export const decode = (buf: Uint8Array): PSResponse => {
|
|
493
|
+
return decodeMessage(buf, PSResponse.codec())
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
export interface PeerstoreRequest {
|
|
498
|
+
type: PeerstoreRequest.Type
|
|
499
|
+
id?: Uint8Array
|
|
500
|
+
protos: string[]
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
export namespace PeerstoreRequest {
|
|
504
|
+
export enum Type {
|
|
505
|
+
GET_PROTOCOLS = 'GET_PROTOCOLS',
|
|
506
|
+
GET_PEER_INFO = 'GET_PEER_INFO'
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
export namespace Type {
|
|
510
|
+
export const codec = () => {
|
|
511
|
+
return enumeration<typeof Type>(Type)
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
export const codec = () => {
|
|
516
|
+
return message<PeerstoreRequest>({
|
|
517
|
+
1: { name: 'type', codec: PeerstoreRequest.Type.codec() },
|
|
518
|
+
2: { name: 'id', codec: bytes, optional: true },
|
|
519
|
+
3: { name: 'protos', codec: string, repeats: true }
|
|
520
|
+
})
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
export const encode = (obj: PeerstoreRequest): Uint8Array => {
|
|
524
|
+
return encodeMessage(obj, PeerstoreRequest.codec())
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
export const decode = (buf: Uint8Array): PeerstoreRequest => {
|
|
528
|
+
return decodeMessage(buf, PeerstoreRequest.codec())
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
export interface PeerstoreResponse {
|
|
533
|
+
peer?: PeerInfo
|
|
534
|
+
protos: string[]
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
export namespace PeerstoreResponse {
|
|
538
|
+
export const codec = () => {
|
|
539
|
+
return message<PeerstoreResponse>({
|
|
540
|
+
1: { name: 'peer', codec: PeerInfo.codec(), optional: true },
|
|
541
|
+
2: { name: 'protos', codec: string, repeats: true }
|
|
542
|
+
})
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
export const encode = (obj: PeerstoreResponse): Uint8Array => {
|
|
546
|
+
return encodeMessage(obj, PeerstoreResponse.codec())
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
export const decode = (buf: Uint8Array): PeerstoreResponse => {
|
|
550
|
+
return decodeMessage(buf, PeerstoreResponse.codec())
|
|
551
|
+
}
|
|
552
|
+
}
|