@libp2p/daemon-client 9.0.8 → 10.0.0-049bfa0fa
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 +5 -4
- package/dist/index.min.js.map +4 -4
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +13 -14
- package/dist/src/index.js.map +1 -1
- package/package.json +17 -112
- package/src/index.ts +19 -17
- package/dist/typedoc-urls.json +0 -18
package/dist/src/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Request } from '@libp2p/daemon-protocol';
|
|
2
2
|
import type { PSMessage } from '@libp2p/daemon-protocol';
|
|
3
3
|
import type { Stream, PeerId, MultiaddrConnection, PeerInfo } from '@libp2p/interface';
|
|
4
|
+
import type { ProtobufStream } from '@libp2p/utils';
|
|
4
5
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
5
|
-
import type { ProtobufStream } from 'it-protobuf-stream';
|
|
6
6
|
import type { CID } from 'multiformats/cid';
|
|
7
7
|
export declare class OperationFailedError extends Error {
|
|
8
8
|
constructor(message?: string);
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwB,MAAM,yBAAyB,CAAA;AAWvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAuB,MAAM,mBAAmB,CAAA;AAC3G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,qBAAa,oBAAqB,SAAQ,KAAK;gBAChC,OAAO,SAAqB;CAI1C;AAoPD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/C,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IACnC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { Request, Response, StreamInfo } from '@libp2p/daemon-protocol';
|
|
2
|
-
import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
|
|
3
2
|
import { PassThroughUpgrader } from '@libp2p/daemon-protocol/upgrader';
|
|
4
3
|
import { InvalidParametersError, isPeerId } from '@libp2p/interface';
|
|
5
4
|
import { defaultLogger, logger } from '@libp2p/logger';
|
|
6
5
|
import { peerIdFromMultihash } from '@libp2p/peer-id';
|
|
7
6
|
import { tcp } from '@libp2p/tcp';
|
|
7
|
+
import { pbStream } from '@libp2p/utils';
|
|
8
8
|
import { multiaddr, isMultiaddr } from '@multiformats/multiaddr';
|
|
9
|
-
import { pbStream } from 'it-protobuf-stream';
|
|
10
9
|
import * as Digest from 'multiformats/hashes/digest';
|
|
11
10
|
import { DHT } from './dht.js';
|
|
12
11
|
import { Pubsub } from './pubsub.js';
|
|
@@ -80,6 +79,7 @@ class Client {
|
|
|
80
79
|
}
|
|
81
80
|
});
|
|
82
81
|
const response = await sh.read(Response);
|
|
82
|
+
log('%s response %s', Request.Type.CONNECT, response.type);
|
|
83
83
|
if (response.type !== Response.Type.OK) {
|
|
84
84
|
const errResponse = response.error ?? { msg: 'unspecified' };
|
|
85
85
|
throw new OperationFailedError(errResponse.msg ?? 'unspecified');
|
|
@@ -99,6 +99,7 @@ class Client {
|
|
|
99
99
|
type: Request.Type.IDENTIFY
|
|
100
100
|
});
|
|
101
101
|
const response = await sh.read(Response);
|
|
102
|
+
log('%s response %s', Request.Type.IDENTIFY, response.type);
|
|
102
103
|
if (response.type !== Response.Type.OK) {
|
|
103
104
|
throw new OperationFailedError(response.error?.msg ?? 'Identify failed');
|
|
104
105
|
}
|
|
@@ -118,6 +119,7 @@ class Client {
|
|
|
118
119
|
type: Request.Type.LIST_PEERS
|
|
119
120
|
});
|
|
120
121
|
const response = await sh.read(Response);
|
|
122
|
+
log('%s response %s', Request.Type.LIST_PEERS, response.type);
|
|
121
123
|
if (response.type !== Response.Type.OK) {
|
|
122
124
|
throw new OperationFailedError(response.error?.msg ?? 'List peers failed');
|
|
123
125
|
}
|
|
@@ -142,9 +144,11 @@ class Client {
|
|
|
142
144
|
}
|
|
143
145
|
});
|
|
144
146
|
const response = await sh.read(Response);
|
|
147
|
+
log('%s response %s', Request.Type.STREAM_OPEN, response.type);
|
|
145
148
|
if (response.type !== Response.Type.OK) {
|
|
146
|
-
|
|
147
|
-
|
|
149
|
+
const err = new OperationFailedError(response.error?.msg ?? 'Open stream failed');
|
|
150
|
+
sh.unwrap().abort(err);
|
|
151
|
+
throw err;
|
|
148
152
|
}
|
|
149
153
|
return sh.unwrap();
|
|
150
154
|
}
|
|
@@ -174,6 +178,7 @@ class Client {
|
|
|
174
178
|
}
|
|
175
179
|
});
|
|
176
180
|
const response = await sh.read(Response);
|
|
181
|
+
log('%s response %s', Request.Type.STREAM_HANDLER, response.type);
|
|
177
182
|
await sh.unwrap().close();
|
|
178
183
|
if (response.type !== Response.Type.OK) {
|
|
179
184
|
throw new OperationFailedError(response.error?.msg ?? 'Register stream handler failed');
|
|
@@ -182,19 +187,13 @@ class Client {
|
|
|
182
187
|
onConnection(protocol, listener, handler, connection) {
|
|
183
188
|
Promise.resolve()
|
|
184
189
|
.then(async () => {
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const message = await sh.read();
|
|
189
|
-
if (message == null) {
|
|
190
|
-
throw new OperationFailedError('Could not read open stream response');
|
|
191
|
-
}
|
|
192
|
-
const response = StreamInfo.decode(message);
|
|
193
|
-
if (response.proto !== protocol) {
|
|
190
|
+
const pb = pbStream(connection).pb(StreamInfo);
|
|
191
|
+
const message = await pb.read();
|
|
192
|
+
if (message.proto !== protocol) {
|
|
194
193
|
throw new OperationFailedError('Incorrect protocol');
|
|
195
194
|
}
|
|
196
195
|
// @ts-expect-error because we are using a passthrough upgrader, this is a MultiaddrConnection
|
|
197
|
-
await handler(
|
|
196
|
+
await handler(pb.unwrap().unwrap());
|
|
198
197
|
})
|
|
199
198
|
.catch(err => {
|
|
200
199
|
connection.abort(err);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/daemon-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0-049bfa0fa",
|
|
4
4
|
"description": "libp2p-daemon client implementation",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
|
-
"homepage": "https://github.com/libp2p/js-libp2p
|
|
6
|
+
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/libp2p-daemon-client#readme",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/libp2p/js-libp2p
|
|
9
|
+
"url": "git+https://github.com/libp2p/js-libp2p.git"
|
|
10
10
|
},
|
|
11
11
|
"bugs": {
|
|
12
|
-
"url": "https://github.com/libp2p/js-libp2p
|
|
12
|
+
"url": "https://github.com/libp2p/js-libp2p/issues"
|
|
13
13
|
},
|
|
14
14
|
"publishConfig": {
|
|
15
15
|
"access": "public",
|
|
@@ -32,99 +32,6 @@
|
|
|
32
32
|
"import": "./dist/src/index.js"
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
|
-
"release": {
|
|
36
|
-
"branches": [
|
|
37
|
-
"main"
|
|
38
|
-
],
|
|
39
|
-
"plugins": [
|
|
40
|
-
[
|
|
41
|
-
"@semantic-release/commit-analyzer",
|
|
42
|
-
{
|
|
43
|
-
"preset": "conventionalcommits",
|
|
44
|
-
"releaseRules": [
|
|
45
|
-
{
|
|
46
|
-
"breaking": true,
|
|
47
|
-
"release": "major"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"revert": true,
|
|
51
|
-
"release": "patch"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"type": "feat",
|
|
55
|
-
"release": "minor"
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
"type": "fix",
|
|
59
|
-
"release": "patch"
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"type": "docs",
|
|
63
|
-
"release": "patch"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "test",
|
|
67
|
-
"release": "patch"
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"type": "deps",
|
|
71
|
-
"release": "patch"
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
"scope": "no-release",
|
|
75
|
-
"release": false
|
|
76
|
-
}
|
|
77
|
-
]
|
|
78
|
-
}
|
|
79
|
-
],
|
|
80
|
-
[
|
|
81
|
-
"@semantic-release/release-notes-generator",
|
|
82
|
-
{
|
|
83
|
-
"preset": "conventionalcommits",
|
|
84
|
-
"presetConfig": {
|
|
85
|
-
"types": [
|
|
86
|
-
{
|
|
87
|
-
"type": "feat",
|
|
88
|
-
"section": "Features"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"type": "fix",
|
|
92
|
-
"section": "Bug Fixes"
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"type": "chore",
|
|
96
|
-
"section": "Trivial Changes"
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
"type": "docs",
|
|
100
|
-
"section": "Documentation"
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
"type": "deps",
|
|
104
|
-
"section": "Dependencies"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"type": "test",
|
|
108
|
-
"section": "Tests"
|
|
109
|
-
}
|
|
110
|
-
]
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
],
|
|
114
|
-
"@semantic-release/changelog",
|
|
115
|
-
"@semantic-release/npm",
|
|
116
|
-
"@semantic-release/github",
|
|
117
|
-
[
|
|
118
|
-
"@semantic-release/git",
|
|
119
|
-
{
|
|
120
|
-
"assets": [
|
|
121
|
-
"CHANGELOG.md",
|
|
122
|
-
"package.json"
|
|
123
|
-
]
|
|
124
|
-
}
|
|
125
|
-
]
|
|
126
|
-
]
|
|
127
|
-
},
|
|
128
35
|
"scripts": {
|
|
129
36
|
"clean": "aegir clean",
|
|
130
37
|
"lint": "aegir lint",
|
|
@@ -132,27 +39,25 @@
|
|
|
132
39
|
"build": "aegir build",
|
|
133
40
|
"pretest": "npm run build",
|
|
134
41
|
"test": "aegir test -t node",
|
|
135
|
-
"test:node": "aegir test -t node"
|
|
136
|
-
"release": "aegir release"
|
|
42
|
+
"test:node": "aegir test -t node"
|
|
137
43
|
},
|
|
138
44
|
"dependencies": {
|
|
139
|
-
"@libp2p/daemon-protocol": "
|
|
140
|
-
"@libp2p/interface": "
|
|
141
|
-
"@libp2p/logger": "
|
|
142
|
-
"@libp2p/peer-id": "
|
|
143
|
-
"@libp2p/tcp": "
|
|
144
|
-
"@
|
|
145
|
-
"
|
|
45
|
+
"@libp2p/daemon-protocol": "8.0.0-049bfa0fa",
|
|
46
|
+
"@libp2p/interface": "3.0.0-049bfa0fa",
|
|
47
|
+
"@libp2p/logger": "6.0.0-049bfa0fa",
|
|
48
|
+
"@libp2p/peer-id": "6.0.0-049bfa0fa",
|
|
49
|
+
"@libp2p/tcp": "11.0.0-049bfa0fa",
|
|
50
|
+
"@libp2p/utils": "7.0.0-049bfa0fa",
|
|
51
|
+
"@multiformats/multiaddr": "^13.0.1",
|
|
146
52
|
"multiformats": "^13.4.0"
|
|
147
53
|
},
|
|
148
54
|
"devDependencies": {
|
|
149
|
-
"@
|
|
150
|
-
"@libp2p/daemon-server": "
|
|
151
|
-
"@libp2p/
|
|
152
|
-
"
|
|
153
|
-
"aegir": "^47.0.21",
|
|
55
|
+
"@libp2p/gossipsub": "15.0.0-049bfa0fa",
|
|
56
|
+
"@libp2p/daemon-server": "9.0.0-049bfa0fa",
|
|
57
|
+
"@libp2p/kad-dht": "16.0.0-049bfa0fa",
|
|
58
|
+
"aegir": "^47.0.22",
|
|
154
59
|
"it-all": "^3.0.9",
|
|
155
|
-
"
|
|
60
|
+
"p-event": "^6.0.1",
|
|
156
61
|
"sinon": "^21.0.0",
|
|
157
62
|
"sinon-ts": "^2.0.0",
|
|
158
63
|
"uint8arraylist": "^2.4.8",
|
package/src/index.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { Request, Response, StreamInfo } from '@libp2p/daemon-protocol'
|
|
2
|
-
import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler'
|
|
3
2
|
import { PassThroughUpgrader } from '@libp2p/daemon-protocol/upgrader'
|
|
4
3
|
import { InvalidParametersError, isPeerId } from '@libp2p/interface'
|
|
5
4
|
import { defaultLogger, logger } from '@libp2p/logger'
|
|
6
5
|
import { peerIdFromMultihash } from '@libp2p/peer-id'
|
|
7
6
|
import { tcp } from '@libp2p/tcp'
|
|
7
|
+
import { pbStream } from '@libp2p/utils'
|
|
8
8
|
import { multiaddr, isMultiaddr } from '@multiformats/multiaddr'
|
|
9
|
-
import { pbStream } from 'it-protobuf-stream'
|
|
10
9
|
import * as Digest from 'multiformats/hashes/digest'
|
|
11
10
|
import { DHT } from './dht.js'
|
|
12
11
|
import { Pubsub } from './pubsub.js'
|
|
13
12
|
import type { PSMessage } from '@libp2p/daemon-protocol'
|
|
14
13
|
import type { Stream, PeerId, MultiaddrConnection, PeerInfo, Transport, Listener } from '@libp2p/interface'
|
|
14
|
+
import type { ProtobufStream } from '@libp2p/utils'
|
|
15
15
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
16
|
-
import type { ProtobufStream } from 'it-protobuf-stream'
|
|
17
16
|
import type { CID } from 'multiformats/cid'
|
|
18
17
|
|
|
19
18
|
const log = logger('libp2p:daemon-client')
|
|
@@ -100,6 +99,8 @@ class Client implements DaemonClient {
|
|
|
100
99
|
|
|
101
100
|
const response = await sh.read(Response)
|
|
102
101
|
|
|
102
|
+
log('%s response %s', Request.Type.CONNECT, response.type)
|
|
103
|
+
|
|
103
104
|
if (response.type !== Response.Type.OK) {
|
|
104
105
|
const errResponse = response.error ?? { msg: 'unspecified' }
|
|
105
106
|
throw new OperationFailedError(errResponse.msg ?? 'unspecified')
|
|
@@ -124,6 +125,8 @@ class Client implements DaemonClient {
|
|
|
124
125
|
|
|
125
126
|
const response = await sh.read(Response)
|
|
126
127
|
|
|
128
|
+
log('%s response %s', Request.Type.IDENTIFY, response.type)
|
|
129
|
+
|
|
127
130
|
if (response.type !== Response.Type.OK) {
|
|
128
131
|
throw new OperationFailedError(response.error?.msg ?? 'Identify failed')
|
|
129
132
|
}
|
|
@@ -150,6 +153,8 @@ class Client implements DaemonClient {
|
|
|
150
153
|
|
|
151
154
|
const response = await sh.read(Response)
|
|
152
155
|
|
|
156
|
+
log('%s response %s', Request.Type.LIST_PEERS, response.type)
|
|
157
|
+
|
|
153
158
|
if (response.type !== Response.Type.OK) {
|
|
154
159
|
throw new OperationFailedError(response.error?.msg ?? 'List peers failed')
|
|
155
160
|
}
|
|
@@ -181,9 +186,12 @@ class Client implements DaemonClient {
|
|
|
181
186
|
|
|
182
187
|
const response = await sh.read(Response)
|
|
183
188
|
|
|
189
|
+
log('%s response %s', Request.Type.STREAM_OPEN, response.type)
|
|
190
|
+
|
|
184
191
|
if (response.type !== Response.Type.OK) {
|
|
185
|
-
|
|
186
|
-
|
|
192
|
+
const err = new OperationFailedError(response.error?.msg ?? 'Open stream failed')
|
|
193
|
+
sh.unwrap().abort(err)
|
|
194
|
+
throw err
|
|
187
195
|
}
|
|
188
196
|
|
|
189
197
|
return sh.unwrap()
|
|
@@ -220,6 +228,8 @@ class Client implements DaemonClient {
|
|
|
220
228
|
|
|
221
229
|
const response = await sh.read(Response)
|
|
222
230
|
|
|
231
|
+
log('%s response %s', Request.Type.STREAM_HANDLER, response.type)
|
|
232
|
+
|
|
223
233
|
await sh.unwrap().close()
|
|
224
234
|
|
|
225
235
|
if (response.type !== Response.Type.OK) {
|
|
@@ -230,23 +240,15 @@ class Client implements DaemonClient {
|
|
|
230
240
|
private onConnection (protocol: string, listener: Listener, handler: StreamHandlerFunction, connection: MultiaddrConnection): void {
|
|
231
241
|
Promise.resolve()
|
|
232
242
|
.then(async () => {
|
|
233
|
-
const
|
|
234
|
-
|
|
235
|
-
})
|
|
236
|
-
const message = await sh.read()
|
|
237
|
-
|
|
238
|
-
if (message == null) {
|
|
239
|
-
throw new OperationFailedError('Could not read open stream response')
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
const response = StreamInfo.decode(message)
|
|
243
|
+
const pb = pbStream(connection).pb(StreamInfo)
|
|
244
|
+
const message = await pb.read()
|
|
243
245
|
|
|
244
|
-
if (
|
|
246
|
+
if (message.proto !== protocol) {
|
|
245
247
|
throw new OperationFailedError('Incorrect protocol')
|
|
246
248
|
}
|
|
247
249
|
|
|
248
250
|
// @ts-expect-error because we are using a passthrough upgrader, this is a MultiaddrConnection
|
|
249
|
-
await handler(
|
|
251
|
+
await handler(pb.unwrap().unwrap())
|
|
250
252
|
})
|
|
251
253
|
.catch(err => {
|
|
252
254
|
connection.abort(err)
|
package/dist/typedoc-urls.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"OperationFailedError": "https://libp2p.github.io/js-libp2p-daemon/classes/_libp2p_daemon-client.OperationFailedError.html",
|
|
3
|
-
".:OperationFailedError": "https://libp2p.github.io/js-libp2p-daemon/classes/_libp2p_daemon-client.OperationFailedError.html",
|
|
4
|
-
"DaemonClient": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.DaemonClient.html",
|
|
5
|
-
".:DaemonClient": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.DaemonClient.html",
|
|
6
|
-
"DHTClient": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.DHTClient.html",
|
|
7
|
-
".:DHTClient": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.DHTClient.html",
|
|
8
|
-
"IdentifyResult": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.IdentifyResult.html",
|
|
9
|
-
".:IdentifyResult": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.IdentifyResult.html",
|
|
10
|
-
"PubSubClient": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.PubSubClient.html",
|
|
11
|
-
".:PubSubClient": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.PubSubClient.html",
|
|
12
|
-
"StreamHandlerFunction": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.StreamHandlerFunction.html",
|
|
13
|
-
".:StreamHandlerFunction": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.StreamHandlerFunction.html",
|
|
14
|
-
"Subscription": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.Subscription.html",
|
|
15
|
-
".:Subscription": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon-client.Subscription.html",
|
|
16
|
-
"createClient": "https://libp2p.github.io/js-libp2p-daemon/functions/_libp2p_daemon-client.createClient.html",
|
|
17
|
-
".:createClient": "https://libp2p.github.io/js-libp2p-daemon/functions/_libp2p_daemon-client.createClient.html"
|
|
18
|
-
}
|