@libp2p/interface 0.1.6-effcfaa8e → 1.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/README.md +15 -1
- package/dist/index.min.js +1 -1
- package/dist/src/connection/index.d.ts +15 -3
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js +2 -2
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-encrypter/index.d.ts +7 -5
- package/dist/src/connection-encrypter/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.d.ts +1 -1
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +1 -1
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/errors.d.ts +20 -5
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +20 -8
- package/dist/src/errors.js.map +1 -1
- package/dist/src/events.d.ts +0 -1
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +0 -2
- package/dist/src/events.js.map +1 -1
- package/dist/src/index.d.ts +34 -14
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +21 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/keys/index.d.ts +5 -4
- package/dist/src/keys/index.d.ts.map +1 -1
- package/dist/src/keys/index.js.map +1 -1
- package/dist/src/peer-discovery/index.d.ts +1 -1
- package/dist/src/peer-discovery/index.d.ts.map +1 -1
- package/dist/src/peer-discovery/index.js +1 -1
- package/dist/src/peer-discovery/index.js.map +1 -1
- package/dist/src/peer-id/index.d.ts +1 -1
- package/dist/src/peer-id/index.d.ts.map +1 -1
- package/dist/src/peer-id/index.js +2 -2
- package/dist/src/peer-id/index.js.map +1 -1
- package/dist/src/peer-info/index.d.ts +12 -1
- package/dist/src/peer-info/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.d.ts +1 -1
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.js +1 -1
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/startable.d.ts +8 -1
- package/dist/src/startable.d.ts.map +1 -1
- package/dist/src/startable.js +8 -0
- package/dist/src/startable.js.map +1 -1
- package/dist/src/stream-muxer/index.d.ts +2 -2
- package/dist/src/stream-muxer/index.d.ts.map +1 -1
- package/dist/src/stream-muxer/stream.d.ts +2 -149
- package/dist/src/stream-muxer/stream.d.ts.map +1 -1
- package/dist/src/stream-muxer/stream.js +8 -322
- package/dist/src/stream-muxer/stream.js.map +1 -1
- package/dist/src/topology/index.d.ts +0 -2
- package/dist/src/topology/index.d.ts.map +1 -1
- package/dist/src/transport/index.d.ts +2 -2
- package/dist/src/transport/index.d.ts.map +1 -1
- package/dist/src/transport/index.js +2 -2
- package/dist/src/transport/index.js.map +1 -1
- package/dist/typedoc-urls.json +265 -0
- package/package.json +15 -27
- package/src/connection/index.ts +19 -4
- package/src/connection-encrypter/index.ts +7 -5
- package/src/content-routing/index.ts +1 -1
- package/src/errors.ts +21 -8
- package/src/events.ts +0 -3
- package/src/index.ts +37 -15
- package/src/keys/index.ts +6 -4
- package/src/peer-discovery/index.ts +1 -1
- package/src/peer-id/index.ts +2 -2
- package/src/peer-info/index.ts +13 -1
- package/src/peer-routing/index.ts +1 -1
- package/src/startable.ts +8 -2
- package/src/stream-muxer/index.ts +2 -2
- package/src/stream-muxer/stream.ts +9 -494
- package/src/topology/index.ts +0 -3
- package/src/transport/index.ts +3 -3
- package/dist/src/keychain/index.d.ts +0 -154
- package/dist/src/keychain/index.d.ts.map +0 -1
- package/dist/src/keychain/index.js +0 -23
- package/dist/src/keychain/index.js.map +0 -1
- package/dist/src/metrics/tracked-map.d.ts +0 -17
- package/dist/src/metrics/tracked-map.d.ts.map +0 -1
- package/dist/src/metrics/tracked-map.js +0 -38
- package/dist/src/metrics/tracked-map.js.map +0 -1
- package/src/keychain/index.ts +0 -167
- package/src/metrics/tracked-map.ts +0 -65
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @packageDocumentation
|
|
3
|
-
*
|
|
4
|
-
* The libp2p keychain provides an API to store keys in a datastore in
|
|
5
|
-
* an encrypted format.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
*
|
|
9
|
-
* ```typescript
|
|
10
|
-
* import { createLibp2p } from 'libp2p'
|
|
11
|
-
* import { FsDatastore } from 'datastore-fs'
|
|
12
|
-
*
|
|
13
|
-
* const node = await createLibp2p({
|
|
14
|
-
* datastore: new FsDatastore('/path/to/dir')
|
|
15
|
-
* })
|
|
16
|
-
*
|
|
17
|
-
* const info = await node.keychain.createKey('my-new-key', 'Ed25519')
|
|
18
|
-
*
|
|
19
|
-
* console.info(info) // { id: '...', name: 'my-new-key' }
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/keychain/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Metrics } from './index.js';
|
|
2
|
-
export interface TrackedMapInit {
|
|
3
|
-
name: string;
|
|
4
|
-
metrics: Metrics;
|
|
5
|
-
}
|
|
6
|
-
export interface CreateTrackedMapInit {
|
|
7
|
-
/**
|
|
8
|
-
* The metric name to use
|
|
9
|
-
*/
|
|
10
|
-
name: string;
|
|
11
|
-
/**
|
|
12
|
-
* A metrics implementation
|
|
13
|
-
*/
|
|
14
|
-
metrics?: Metrics;
|
|
15
|
-
}
|
|
16
|
-
export declare function trackedMap<K, V>(config: CreateTrackedMapInit): Map<K, V>;
|
|
17
|
-
//# sourceMappingURL=tracked-map.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracked-map.d.ts","sourceRoot":"","sources":["../../../src/metrics/tracked-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,OAAO,EAAE,MAAM,YAAY,CAAA;AAEjD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB;AAoCD,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,UAAU,CAAE,CAAC,EAAE,CAAC,EAAG,MAAM,EAAE,oBAAoB,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAW1E"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
class TrackedMap extends Map {
|
|
2
|
-
metric;
|
|
3
|
-
constructor(init) {
|
|
4
|
-
super();
|
|
5
|
-
const { name, metrics } = init;
|
|
6
|
-
this.metric = metrics.registerMetric(name);
|
|
7
|
-
this.updateComponentMetric();
|
|
8
|
-
}
|
|
9
|
-
set(key, value) {
|
|
10
|
-
super.set(key, value);
|
|
11
|
-
this.updateComponentMetric();
|
|
12
|
-
return this;
|
|
13
|
-
}
|
|
14
|
-
delete(key) {
|
|
15
|
-
const deleted = super.delete(key);
|
|
16
|
-
this.updateComponentMetric();
|
|
17
|
-
return deleted;
|
|
18
|
-
}
|
|
19
|
-
clear() {
|
|
20
|
-
super.clear();
|
|
21
|
-
this.updateComponentMetric();
|
|
22
|
-
}
|
|
23
|
-
updateComponentMetric() {
|
|
24
|
-
this.metric.update(this.size);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export function trackedMap(config) {
|
|
28
|
-
const { name, metrics } = config;
|
|
29
|
-
let map;
|
|
30
|
-
if (metrics != null) {
|
|
31
|
-
map = new TrackedMap({ name, metrics });
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
map = new Map();
|
|
35
|
-
}
|
|
36
|
-
return map;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=tracked-map.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracked-map.js","sourceRoot":"","sources":["../../../src/metrics/tracked-map.ts"],"names":[],"mappings":"AAOA,MAAM,UAAiB,SAAQ,GAAS;IACrB,MAAM,CAAQ;IAE/B,YAAa,IAAoB;QAC/B,KAAK,EAAE,CAAA;QAEP,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;QAE9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC9B,CAAC;IAED,GAAG,CAAE,GAAM,EAAE,KAAQ;QACnB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAE,GAAM;QACZ,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC5B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAA;QACb,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC9B,CAAC;IAEO,qBAAqB;QAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;CACF;AAcD,MAAM,UAAU,UAAU,CAAS,MAA4B;IAC7D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAChC,IAAI,GAAc,CAAA;IAElB,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,GAAG,GAAG,IAAI,UAAU,CAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;KAC9C;SAAM;QACL,GAAG,GAAG,IAAI,GAAG,EAAQ,CAAA;KACtB;IAED,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
package/src/keychain/index.ts
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @packageDocumentation
|
|
3
|
-
*
|
|
4
|
-
* The libp2p keychain provides an API to store keys in a datastore in
|
|
5
|
-
* an encrypted format.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
*
|
|
9
|
-
* ```typescript
|
|
10
|
-
* import { createLibp2p } from 'libp2p'
|
|
11
|
-
* import { FsDatastore } from 'datastore-fs'
|
|
12
|
-
*
|
|
13
|
-
* const node = await createLibp2p({
|
|
14
|
-
* datastore: new FsDatastore('/path/to/dir')
|
|
15
|
-
* })
|
|
16
|
-
*
|
|
17
|
-
* const info = await node.keychain.createKey('my-new-key', 'Ed25519')
|
|
18
|
-
*
|
|
19
|
-
* console.info(info) // { id: '...', name: 'my-new-key' }
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
import type { KeyType } from '../keys/index.js'
|
|
24
|
-
import type { PeerId } from '../peer-id/index.js'
|
|
25
|
-
import type { Multibase } from 'multiformats/bases/interface'
|
|
26
|
-
|
|
27
|
-
export interface KeyInfo {
|
|
28
|
-
/**
|
|
29
|
-
* The universally unique key id
|
|
30
|
-
*/
|
|
31
|
-
id: string
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* The local key name
|
|
35
|
-
*/
|
|
36
|
-
name: string
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export interface KeyChain {
|
|
40
|
-
/**
|
|
41
|
-
* Export an existing key as a PEM encrypted PKCS #8 string.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
*
|
|
45
|
-
* ```js
|
|
46
|
-
* await libp2p.keychain.createKey('keyTest', 'RSA', 4096)
|
|
47
|
-
* const pemKey = await libp2p.keychain.exportKey('keyTest', 'password123')
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
|
-
exportKey(name: string, password: string): Promise<Multibase<'m'>>
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Import a new key from a PEM encoded PKCS #8 string.
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
*
|
|
57
|
-
* ```js
|
|
58
|
-
* await libp2p.keychain.createKey('keyTest', 'RSA', 4096)
|
|
59
|
-
* const pemKey = await libp2p.keychain.exportKey('keyTest', 'password123')
|
|
60
|
-
* const keyInfo = await libp2p.keychain.importKey('keyTestImport', pemKey, 'password123')
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
importKey(name: string, pem: string, password: string): Promise<KeyInfo>
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Import a new key from a PeerId with a private key component
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
*
|
|
70
|
-
* ```js
|
|
71
|
-
* const keyInfo = await libp2p.keychain.importPeer('keyTestImport', peerIdFromString('12D3Foo...'))
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
importPeer(name: string, peerId: PeerId): Promise<KeyInfo>
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Export an existing key as a PeerId
|
|
78
|
-
*
|
|
79
|
-
* @example
|
|
80
|
-
*
|
|
81
|
-
* ```js
|
|
82
|
-
* const peerId = await libp2p.keychain.exportPeerId('key-name')
|
|
83
|
-
* ```
|
|
84
|
-
*/
|
|
85
|
-
exportPeerId(name: string): Promise<PeerId>
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Create a key in the keychain.
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
*
|
|
92
|
-
* ```js
|
|
93
|
-
* const keyInfo = await libp2p.keychain.createKey('keyTest', 'RSA', 4096)
|
|
94
|
-
* ```
|
|
95
|
-
*/
|
|
96
|
-
createKey(name: string, type: KeyType, size?: number): Promise<KeyInfo>
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* List all the keys.
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
*
|
|
103
|
-
* ```js
|
|
104
|
-
* const keyInfos = await libp2p.keychain.listKeys()
|
|
105
|
-
* ```
|
|
106
|
-
*/
|
|
107
|
-
listKeys(): Promise<KeyInfo[]>
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Removes a key from the keychain.
|
|
111
|
-
*
|
|
112
|
-
* @example
|
|
113
|
-
*
|
|
114
|
-
* ```js
|
|
115
|
-
* await libp2p.keychain.createKey('keyTest', 'RSA', 4096)
|
|
116
|
-
* const keyInfo = await libp2p.keychain.removeKey('keyTest')
|
|
117
|
-
* ```
|
|
118
|
-
*/
|
|
119
|
-
removeKey(name: string): Promise<KeyInfo>
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Rename a key in the keychain.
|
|
123
|
-
*
|
|
124
|
-
* @example
|
|
125
|
-
*
|
|
126
|
-
* ```js
|
|
127
|
-
* await libp2p.keychain.createKey('keyTest', 'RSA', 4096)
|
|
128
|
-
* const keyInfo = await libp2p.keychain.renameKey('keyTest', 'keyNewNtest')
|
|
129
|
-
* ```
|
|
130
|
-
*/
|
|
131
|
-
renameKey(oldName: string, newName: string): Promise<KeyInfo>
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Find a key by it's id.
|
|
135
|
-
*
|
|
136
|
-
* @example
|
|
137
|
-
*
|
|
138
|
-
* ```js
|
|
139
|
-
* const keyInfo = await libp2p.keychain.createKey('keyTest', 'RSA', 4096)
|
|
140
|
-
* const keyInfo2 = await libp2p.keychain.findKeyById(keyInfo.id)
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
143
|
-
findKeyById(id: string): Promise<KeyInfo>
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Find a key by it's name.
|
|
147
|
-
*
|
|
148
|
-
* @example
|
|
149
|
-
*
|
|
150
|
-
* ```js
|
|
151
|
-
* const keyInfo = await libp2p.keychain.createKey('keyTest', 'RSA', 4096)
|
|
152
|
-
* const keyInfo2 = await libp2p.keychain.findKeyByName('keyTest')
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
|
-
findKeyByName(name: string): Promise<KeyInfo>
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Rotate keychain password and re-encrypt all associated keys
|
|
159
|
-
*
|
|
160
|
-
* @example
|
|
161
|
-
*
|
|
162
|
-
* ```js
|
|
163
|
-
* await libp2p.keychain.rotateKeychainPass('oldPassword', 'newPassword')
|
|
164
|
-
* ```
|
|
165
|
-
*/
|
|
166
|
-
rotateKeychainPass(oldPass: string, newPass: string): Promise<void>
|
|
167
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type { Metric, Metrics } from './index.js'
|
|
2
|
-
|
|
3
|
-
export interface TrackedMapInit {
|
|
4
|
-
name: string
|
|
5
|
-
metrics: Metrics
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
class TrackedMap<K, V> extends Map<K, V> {
|
|
9
|
-
private readonly metric: Metric
|
|
10
|
-
|
|
11
|
-
constructor (init: TrackedMapInit) {
|
|
12
|
-
super()
|
|
13
|
-
|
|
14
|
-
const { name, metrics } = init
|
|
15
|
-
|
|
16
|
-
this.metric = metrics.registerMetric(name)
|
|
17
|
-
this.updateComponentMetric()
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
set (key: K, value: V): this {
|
|
21
|
-
super.set(key, value)
|
|
22
|
-
this.updateComponentMetric()
|
|
23
|
-
return this
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
delete (key: K): boolean {
|
|
27
|
-
const deleted = super.delete(key)
|
|
28
|
-
this.updateComponentMetric()
|
|
29
|
-
return deleted
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
clear (): void {
|
|
33
|
-
super.clear()
|
|
34
|
-
this.updateComponentMetric()
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
private updateComponentMetric (): void {
|
|
38
|
-
this.metric.update(this.size)
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export interface CreateTrackedMapInit {
|
|
43
|
-
/**
|
|
44
|
-
* The metric name to use
|
|
45
|
-
*/
|
|
46
|
-
name: string
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* A metrics implementation
|
|
50
|
-
*/
|
|
51
|
-
metrics?: Metrics
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function trackedMap <K, V> (config: CreateTrackedMapInit): Map<K, V> {
|
|
55
|
-
const { name, metrics } = config
|
|
56
|
-
let map: Map<K, V>
|
|
57
|
-
|
|
58
|
-
if (metrics != null) {
|
|
59
|
-
map = new TrackedMap<K, V>({ name, metrics })
|
|
60
|
-
} else {
|
|
61
|
-
map = new Map<K, V>()
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return map
|
|
65
|
-
}
|