@libp2p/peer-store 3.1.5 → 5.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/src/index.d.ts +8 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/pb/peer.d.ts.map +1 -1
- package/dist/src/pb/peer.js +36 -57
- package/dist/src/pb/peer.js.map +1 -1
- package/dist/src/pb/tags.d.ts.map +1 -1
- package/dist/src/pb/tags.js +19 -24
- package/dist/src/pb/tags.js.map +1 -1
- package/dist/src/store.d.ts +3 -4
- package/dist/src/store.d.ts.map +1 -1
- package/dist/src/store.js +7 -11
- package/dist/src/store.js.map +1 -1
- package/package.json +5 -6
- package/src/index.ts +12 -11
- package/src/pb/peer.ts +36 -54
- package/src/pb/tags.ts +19 -23
- package/src/store.ts +9 -12
package/dist/src/index.d.ts
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
2
2
|
import type { PeerStore, AddressBook, KeyBook, MetadataBook, ProtoBook, PeerStoreEvents, PeerStoreInit, Peer, TagOptions } from '@libp2p/interface-peer-store';
|
|
3
3
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
4
|
-
import {
|
|
4
|
+
import type { Datastore } from 'interface-datastore';
|
|
5
|
+
export interface PersistentPeerStoreComponents {
|
|
6
|
+
peerId: PeerId;
|
|
7
|
+
datastore: Datastore;
|
|
8
|
+
}
|
|
5
9
|
/**
|
|
6
10
|
* An implementation of PeerStore that stores data in a Datastore
|
|
7
11
|
*/
|
|
8
|
-
export declare class PersistentPeerStore extends EventEmitter<PeerStoreEvents> implements PeerStore
|
|
12
|
+
export declare class PersistentPeerStore extends EventEmitter<PeerStoreEvents> implements PeerStore {
|
|
9
13
|
addressBook: AddressBook;
|
|
10
14
|
keyBook: KeyBook;
|
|
11
15
|
metadataBook: MetadataBook;
|
|
12
16
|
protoBook: ProtoBook;
|
|
13
|
-
private components;
|
|
17
|
+
private readonly components;
|
|
14
18
|
private readonly store;
|
|
15
|
-
constructor(init?: PeerStoreInit);
|
|
16
|
-
init(components: Components): void;
|
|
19
|
+
constructor(components: PersistentPeerStoreComponents, init?: PeerStoreInit);
|
|
17
20
|
forEach(fn: (peer: Peer) => void): Promise<void>;
|
|
18
21
|
all(): Promise<Peer[]>;
|
|
19
22
|
/**
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAMxD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9J,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAMxD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9J,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAGvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAIpD,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY,CAAC,eAAe,CAAE,YAAW,SAAS;IAClF,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IAE3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;gBAEhB,UAAU,EAAE,6BAA6B,EAAE,IAAI,GAAE,aAAkB;IAW1E,OAAO,CAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;IAoBjC,GAAG,IAAK,OAAO,CAAC,IAAI,EAAE,CAAC;IAU7B;;OAEG;IACG,MAAM,CAAE,MAAM,EAAE,MAAM;IAa5B;;OAEG;IACG,GAAG,CAAE,MAAM,EAAE,MAAM;IAazB;;OAEG;IACG,GAAG,CAAE,MAAM,EAAE,MAAM;IAanB,OAAO,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe;IA+B9D,SAAS,CAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAatC,OAAO,CAAE,MAAM,EAAE,MAAM;;;;CAqB9B"}
|
package/dist/src/index.js
CHANGED
|
@@ -5,7 +5,6 @@ import { PeerStoreKeyBook } from './key-book.js';
|
|
|
5
5
|
import { PeerStoreMetadataBook } from './metadata-book.js';
|
|
6
6
|
import { PeerStoreProtoBook } from './proto-book.js';
|
|
7
7
|
import { PersistentStore } from './store.js';
|
|
8
|
-
import { Components } from '@libp2p/components';
|
|
9
8
|
import errCode from 'err-code';
|
|
10
9
|
import { Tags } from './pb/tags.js';
|
|
11
10
|
const log = logger('libp2p:peer-store');
|
|
@@ -13,26 +12,22 @@ const log = logger('libp2p:peer-store');
|
|
|
13
12
|
* An implementation of PeerStore that stores data in a Datastore
|
|
14
13
|
*/
|
|
15
14
|
export class PersistentPeerStore extends EventEmitter {
|
|
16
|
-
constructor(init = {}) {
|
|
15
|
+
constructor(components, init = {}) {
|
|
17
16
|
super();
|
|
18
|
-
this.components =
|
|
19
|
-
this.store = new PersistentStore();
|
|
17
|
+
this.components = components;
|
|
18
|
+
this.store = new PersistentStore(components);
|
|
20
19
|
this.addressBook = new PeerStoreAddressBook(this.dispatchEvent.bind(this), this.store, init.addressFilter);
|
|
21
20
|
this.keyBook = new PeerStoreKeyBook(this.dispatchEvent.bind(this), this.store);
|
|
22
21
|
this.metadataBook = new PeerStoreMetadataBook(this.dispatchEvent.bind(this), this.store);
|
|
23
22
|
this.protoBook = new PeerStoreProtoBook(this.dispatchEvent.bind(this), this.store);
|
|
24
23
|
}
|
|
25
|
-
init(components) {
|
|
26
|
-
this.components = components;
|
|
27
|
-
this.store.init(components);
|
|
28
|
-
}
|
|
29
24
|
async forEach(fn) {
|
|
30
25
|
log.trace('getPeers await read lock');
|
|
31
26
|
const release = await this.store.lock.readLock();
|
|
32
27
|
log.trace('getPeers got read lock');
|
|
33
28
|
try {
|
|
34
29
|
for await (const peer of this.store.all()) {
|
|
35
|
-
if (peer.id.equals(this.components.
|
|
30
|
+
if (peer.id.equals(this.components.peerId)) {
|
|
36
31
|
// Skip self peer if present
|
|
37
32
|
continue;
|
|
38
33
|
}
|
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,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAS,MAAM,YAAY,CAAA;AAGnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../../src/pb/peer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"peer.d.ts","sourceRoot":"","sources":["../../../src/pb/peer.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,IAAI;IACnB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,kBAAkB,CAAC,EAAE,UAAU,CAAA;CAChC;AAED,yBAAiB,IAAI,CAAC;IAGb,MAAM,KAAK,QAAO,MAAM,IAAI,CAoFlC,CAAA;IAEM,MAAM,MAAM,QAAS,IAAI,KAAG,UAElC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,IAEzD,CAAA;CACF;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,UAAU,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,yBAAiB,OAAO,CAAC;IAGhB,MAAM,KAAK,QAAO,MAAM,OAAO,CAgDrC,CAAA;IAEM,MAAM,MAAM,QAAS,OAAO,KAAG,UAErC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,OAEzD,CAAA;CACF;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,yBAAiB,QAAQ,CAAC;IAGjB,MAAM,KAAK,QAAO,MAAM,QAAQ,CAiDtC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,KAAG,UAEtC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,QAEzD,CAAA;CACF"}
|
package/dist/src/pb/peer.js
CHANGED
|
@@ -1,52 +1,49 @@
|
|
|
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 */
|
|
3
5
|
import { encodeMessage, decodeMessage, message } from 'protons-runtime';
|
|
4
6
|
export var Peer;
|
|
5
7
|
(function (Peer) {
|
|
6
8
|
let _codec;
|
|
7
9
|
Peer.codec = () => {
|
|
8
10
|
if (_codec == null) {
|
|
9
|
-
_codec = message((obj,
|
|
11
|
+
_codec = message((obj, w, opts = {}) => {
|
|
10
12
|
if (opts.lengthDelimited !== false) {
|
|
11
|
-
|
|
13
|
+
w.fork();
|
|
12
14
|
}
|
|
13
15
|
if (obj.addresses != null) {
|
|
14
16
|
for (const value of obj.addresses) {
|
|
15
|
-
|
|
16
|
-
Address.codec().encode(value,
|
|
17
|
+
w.uint32(10);
|
|
18
|
+
Address.codec().encode(value, w, {
|
|
19
|
+
writeDefaults: true
|
|
20
|
+
});
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
|
-
else {
|
|
20
|
-
throw new Error('Protocol error: required field "addresses" was not found in object');
|
|
21
|
-
}
|
|
22
23
|
if (obj.protocols != null) {
|
|
23
24
|
for (const value of obj.protocols) {
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
w.uint32(18);
|
|
26
|
+
w.string(value);
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
else {
|
|
29
|
-
throw new Error('Protocol error: required field "protocols" was not found in object');
|
|
30
|
-
}
|
|
31
29
|
if (obj.metadata != null) {
|
|
32
30
|
for (const value of obj.metadata) {
|
|
33
|
-
|
|
34
|
-
Metadata.codec().encode(value,
|
|
31
|
+
w.uint32(26);
|
|
32
|
+
Metadata.codec().encode(value, w, {
|
|
33
|
+
writeDefaults: true
|
|
34
|
+
});
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
else {
|
|
38
|
-
throw new Error('Protocol error: required field "metadata" was not found in object');
|
|
39
|
-
}
|
|
40
37
|
if (obj.pubKey != null) {
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
w.uint32(34);
|
|
39
|
+
w.bytes(obj.pubKey);
|
|
43
40
|
}
|
|
44
41
|
if (obj.peerRecordEnvelope != null) {
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
w.uint32(42);
|
|
43
|
+
w.bytes(obj.peerRecordEnvelope);
|
|
47
44
|
}
|
|
48
45
|
if (opts.lengthDelimited !== false) {
|
|
49
|
-
|
|
46
|
+
w.ldelim();
|
|
50
47
|
}
|
|
51
48
|
}, (reader, length) => {
|
|
52
49
|
const obj = {
|
|
@@ -95,23 +92,20 @@ export var Address;
|
|
|
95
92
|
let _codec;
|
|
96
93
|
Address.codec = () => {
|
|
97
94
|
if (_codec == null) {
|
|
98
|
-
_codec = message((obj,
|
|
95
|
+
_codec = message((obj, w, opts = {}) => {
|
|
99
96
|
if (opts.lengthDelimited !== false) {
|
|
100
|
-
|
|
97
|
+
w.fork();
|
|
101
98
|
}
|
|
102
|
-
if (obj.multiaddr != null) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
throw new Error('Protocol error: required field "multiaddr" was not found in object');
|
|
99
|
+
if (opts.writeDefaults === true || (obj.multiaddr != null && obj.multiaddr.byteLength > 0)) {
|
|
100
|
+
w.uint32(10);
|
|
101
|
+
w.bytes(obj.multiaddr);
|
|
108
102
|
}
|
|
109
103
|
if (obj.isCertified != null) {
|
|
110
|
-
|
|
111
|
-
|
|
104
|
+
w.uint32(16);
|
|
105
|
+
w.bool(obj.isCertified);
|
|
112
106
|
}
|
|
113
107
|
if (opts.lengthDelimited !== false) {
|
|
114
|
-
|
|
108
|
+
w.ldelim();
|
|
115
109
|
}
|
|
116
110
|
}, (reader, length) => {
|
|
117
111
|
const obj = {
|
|
@@ -132,9 +126,6 @@ export var Address;
|
|
|
132
126
|
break;
|
|
133
127
|
}
|
|
134
128
|
}
|
|
135
|
-
if (obj.multiaddr == null) {
|
|
136
|
-
throw new Error('Protocol error: value for required field "multiaddr" was not found in protobuf');
|
|
137
|
-
}
|
|
138
129
|
return obj;
|
|
139
130
|
});
|
|
140
131
|
}
|
|
@@ -152,26 +143,20 @@ export var Metadata;
|
|
|
152
143
|
let _codec;
|
|
153
144
|
Metadata.codec = () => {
|
|
154
145
|
if (_codec == null) {
|
|
155
|
-
_codec = message((obj,
|
|
146
|
+
_codec = message((obj, w, opts = {}) => {
|
|
156
147
|
if (opts.lengthDelimited !== false) {
|
|
157
|
-
|
|
148
|
+
w.fork();
|
|
158
149
|
}
|
|
159
|
-
if (obj.key
|
|
160
|
-
|
|
161
|
-
|
|
150
|
+
if (opts.writeDefaults === true || obj.key !== '') {
|
|
151
|
+
w.uint32(10);
|
|
152
|
+
w.string(obj.key);
|
|
162
153
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
if (obj.value != null) {
|
|
167
|
-
writer.uint32(18);
|
|
168
|
-
writer.bytes(obj.value);
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
throw new Error('Protocol error: required field "value" was not found in object');
|
|
154
|
+
if (opts.writeDefaults === true || (obj.value != null && obj.value.byteLength > 0)) {
|
|
155
|
+
w.uint32(18);
|
|
156
|
+
w.bytes(obj.value);
|
|
172
157
|
}
|
|
173
158
|
if (opts.lengthDelimited !== false) {
|
|
174
|
-
|
|
159
|
+
w.ldelim();
|
|
175
160
|
}
|
|
176
161
|
}, (reader, length) => {
|
|
177
162
|
const obj = {
|
|
@@ -193,12 +178,6 @@ export var Metadata;
|
|
|
193
178
|
break;
|
|
194
179
|
}
|
|
195
180
|
}
|
|
196
|
-
if (obj.key == null) {
|
|
197
|
-
throw new Error('Protocol error: value for required field "key" was not found in protobuf');
|
|
198
|
-
}
|
|
199
|
-
if (obj.value == null) {
|
|
200
|
-
throw new Error('Protocol error: value for required field "value" was not found in protobuf');
|
|
201
|
-
}
|
|
202
181
|
return obj;
|
|
203
182
|
});
|
|
204
183
|
}
|
package/dist/src/pb/peer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../../../src/pb/peer.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;
|
|
1
|
+
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../../../src/pb/peer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/pb/tags.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/pb/tags.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAE5C,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,GAAG,EAAE,CAAA;CACZ;AAED,yBAAiB,IAAI,CAAC;IAGb,MAAM,KAAK,QAAO,MAAM,IAAI,CA4ClC,CAAA;IAEM,MAAM,MAAM,QAAS,IAAI,KAAG,UAElC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,IAEzD,CAAA;CACF;AAED,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,yBAAiB,GAAG,CAAC;IAGZ,MAAM,KAAK,QAAO,MAAM,GAAG,CAwDjC,CAAA;IAEM,MAAM,MAAM,QAAS,GAAG,KAAG,UAEjC,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,KAAG,GAEzD,CAAA;CACF"}
|
package/dist/src/pb/tags.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
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 */
|
|
3
5
|
import { encodeMessage, decodeMessage, message } from 'protons-runtime';
|
|
4
6
|
export var Tags;
|
|
5
7
|
(function (Tags) {
|
|
6
8
|
let _codec;
|
|
7
9
|
Tags.codec = () => {
|
|
8
10
|
if (_codec == null) {
|
|
9
|
-
_codec = message((obj,
|
|
11
|
+
_codec = message((obj, w, opts = {}) => {
|
|
10
12
|
if (opts.lengthDelimited !== false) {
|
|
11
|
-
|
|
13
|
+
w.fork();
|
|
12
14
|
}
|
|
13
15
|
if (obj.tags != null) {
|
|
14
16
|
for (const value of obj.tags) {
|
|
15
|
-
|
|
16
|
-
Tag.codec().encode(value,
|
|
17
|
+
w.uint32(10);
|
|
18
|
+
Tag.codec().encode(value, w, {
|
|
19
|
+
writeDefaults: true
|
|
20
|
+
});
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
|
-
else {
|
|
20
|
-
throw new Error('Protocol error: required field "tags" was not found in object');
|
|
21
|
-
}
|
|
22
23
|
if (opts.lengthDelimited !== false) {
|
|
23
|
-
|
|
24
|
+
w.ldelim();
|
|
24
25
|
}
|
|
25
26
|
}, (reader, length) => {
|
|
26
27
|
const obj = {
|
|
@@ -55,27 +56,24 @@ export var Tag;
|
|
|
55
56
|
let _codec;
|
|
56
57
|
Tag.codec = () => {
|
|
57
58
|
if (_codec == null) {
|
|
58
|
-
_codec = message((obj,
|
|
59
|
+
_codec = message((obj, w, opts = {}) => {
|
|
59
60
|
if (opts.lengthDelimited !== false) {
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
if (obj.name != null) {
|
|
63
|
-
writer.uint32(10);
|
|
64
|
-
writer.string(obj.name);
|
|
61
|
+
w.fork();
|
|
65
62
|
}
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
if (opts.writeDefaults === true || obj.name !== '') {
|
|
64
|
+
w.uint32(10);
|
|
65
|
+
w.string(obj.name);
|
|
68
66
|
}
|
|
69
67
|
if (obj.value != null) {
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
w.uint32(16);
|
|
69
|
+
w.uint32(obj.value);
|
|
72
70
|
}
|
|
73
71
|
if (obj.expiry != null) {
|
|
74
|
-
|
|
75
|
-
|
|
72
|
+
w.uint32(24);
|
|
73
|
+
w.uint64(obj.expiry);
|
|
76
74
|
}
|
|
77
75
|
if (opts.lengthDelimited !== false) {
|
|
78
|
-
|
|
76
|
+
w.ldelim();
|
|
79
77
|
}
|
|
80
78
|
}, (reader, length) => {
|
|
81
79
|
const obj = {
|
|
@@ -99,9 +97,6 @@ export var Tag;
|
|
|
99
97
|
break;
|
|
100
98
|
}
|
|
101
99
|
}
|
|
102
|
-
if (obj.name == null) {
|
|
103
|
-
throw new Error('Protocol error: value for required field "name" was not found in protobuf');
|
|
104
|
-
}
|
|
105
100
|
return obj;
|
|
106
101
|
});
|
|
107
102
|
}
|
package/dist/src/pb/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/pb/tags.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,oDAAoD;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/pb/tags.ts"],"names":[],"mappings":"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"}
|
package/dist/src/store.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Key } from 'interface-datastore/key';
|
|
2
2
|
import type { Peer } from '@libp2p/interface-peer-store';
|
|
3
3
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
4
|
-
import {
|
|
4
|
+
import type { PersistentPeerStoreComponents } from './index.js';
|
|
5
5
|
export interface Store {
|
|
6
6
|
has: (peerId: PeerId) => Promise<boolean>;
|
|
7
7
|
save: (peer: Peer) => Promise<Peer>;
|
|
@@ -18,10 +18,9 @@ export interface Store {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
export declare class PersistentStore {
|
|
21
|
-
private components;
|
|
21
|
+
private readonly components;
|
|
22
22
|
lock: any;
|
|
23
|
-
constructor();
|
|
24
|
-
init(components: Components): void;
|
|
23
|
+
constructor(components: PersistentPeerStoreComponents);
|
|
25
24
|
_peerIdToDatastoreKey(peerId: PeerId): Key;
|
|
26
25
|
has(peerId: PeerId): Promise<boolean>;
|
|
27
26
|
delete(peerId: PeerId): Promise<void>;
|
package/dist/src/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAM7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAM7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAA;AAM/D,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7D,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrE,GAAG,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,CAAA;IAE9B,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;QACnC,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;KACrC,CAAA;CACF;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IACnD,IAAI,EAAE,GAAG,CAAA;gBAEH,UAAU,EAAE,6BAA6B;IAQtD,qBAAqB,CAAE,MAAM,EAAE,MAAM;IAU/B,GAAG,CAAE,MAAM,EAAE,MAAM;IAInB,MAAM,CAAE,MAAM,EAAE,MAAM;IAItB,IAAI,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBpC,IAAI,CAAE,IAAI,EAAE,IAAI;IAgDhB,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAM1C,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAgBlD,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI;IAQvD,KAAK,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAM1C,aAAa,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;IAiBlD,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI;IAuCrD,GAAG;CAWZ"}
|
package/dist/src/store.js
CHANGED
|
@@ -8,20 +8,16 @@ import { multiaddr } from '@multiformats/multiaddr';
|
|
|
8
8
|
import { Peer as PeerPB } from './pb/peer.js';
|
|
9
9
|
import mortice from 'mortice';
|
|
10
10
|
import { equals as uint8arrayEquals } from 'uint8arrays/equals';
|
|
11
|
-
import { Components } from '@libp2p/components';
|
|
12
11
|
const log = logger('libp2p:peer-store:store');
|
|
13
12
|
const NAMESPACE_COMMON = '/peers/';
|
|
14
13
|
export class PersistentStore {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.components =
|
|
14
|
+
constructor(components) {
|
|
15
|
+
this.components = components;
|
|
17
16
|
this.lock = mortice({
|
|
18
17
|
name: 'peer-store',
|
|
19
18
|
singleProcess: true
|
|
20
19
|
});
|
|
21
20
|
}
|
|
22
|
-
init(components) {
|
|
23
|
-
this.components = components;
|
|
24
|
-
}
|
|
25
21
|
_peerIdToDatastoreKey(peerId) {
|
|
26
22
|
if (peerId.type == null) {
|
|
27
23
|
log.error('peerId must be an instance of peer-id to store data');
|
|
@@ -31,13 +27,13 @@ export class PersistentStore {
|
|
|
31
27
|
return new Key(`${NAMESPACE_COMMON}${b32key}`);
|
|
32
28
|
}
|
|
33
29
|
async has(peerId) {
|
|
34
|
-
return await this.components.
|
|
30
|
+
return await this.components.datastore.has(this._peerIdToDatastoreKey(peerId));
|
|
35
31
|
}
|
|
36
32
|
async delete(peerId) {
|
|
37
|
-
await this.components.
|
|
33
|
+
await this.components.datastore.delete(this._peerIdToDatastoreKey(peerId));
|
|
38
34
|
}
|
|
39
35
|
async load(peerId) {
|
|
40
|
-
const buf = await this.components.
|
|
36
|
+
const buf = await this.components.datastore.get(this._peerIdToDatastoreKey(peerId));
|
|
41
37
|
const peer = PeerPB.decode(buf);
|
|
42
38
|
const metadata = new Map();
|
|
43
39
|
for (const meta of peer.metadata) {
|
|
@@ -93,7 +89,7 @@ export class PersistentStore {
|
|
|
93
89
|
metadata,
|
|
94
90
|
peerRecordEnvelope: peer.peerRecordEnvelope
|
|
95
91
|
});
|
|
96
|
-
await this.components.
|
|
92
|
+
await this.components.datastore.put(this._peerIdToDatastoreKey(peer.id), buf.subarray());
|
|
97
93
|
return await this.load(peer.id);
|
|
98
94
|
}
|
|
99
95
|
async patch(peerId, data) {
|
|
@@ -172,7 +168,7 @@ export class PersistentStore {
|
|
|
172
168
|
});
|
|
173
169
|
}
|
|
174
170
|
async *all() {
|
|
175
|
-
for await (const key of this.components.
|
|
171
|
+
for await (const key of this.components.datastore.queryKeys({
|
|
176
172
|
prefix: NAMESPACE_COMMON
|
|
177
173
|
})) {
|
|
178
174
|
// /peers/${peer-id-as-libp2p-key-cid-string-in-base-32}
|
package/dist/src/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAY,IAAI,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AACvD,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/peer-store",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"description": "Stores information about peers libp2p knows on the network",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-peer-store#readme",
|
|
@@ -143,7 +143,6 @@
|
|
|
143
143
|
"release": "aegir release"
|
|
144
144
|
},
|
|
145
145
|
"dependencies": {
|
|
146
|
-
"@libp2p/components": "^2.0.0",
|
|
147
146
|
"@libp2p/interface-peer-id": "^1.0.4",
|
|
148
147
|
"@libp2p/interface-peer-info": "^1.0.3",
|
|
149
148
|
"@libp2p/interface-peer-store": "^1.2.2",
|
|
@@ -161,10 +160,10 @@
|
|
|
161
160
|
"it-map": "^1.0.6",
|
|
162
161
|
"it-pipe": "^2.0.3",
|
|
163
162
|
"mortice": "^3.0.0",
|
|
164
|
-
"multiformats": "^
|
|
165
|
-
"protons-runtime": "^
|
|
163
|
+
"multiformats": "^10.0.0",
|
|
164
|
+
"protons-runtime": "^4.0.1",
|
|
166
165
|
"uint8arraylist": "^2.1.1",
|
|
167
|
-
"uint8arrays": "^
|
|
166
|
+
"uint8arrays": "^4.0.2"
|
|
168
167
|
},
|
|
169
168
|
"devDependencies": {
|
|
170
169
|
"@libp2p/interface-compliance-tests": "^3.0.2",
|
|
@@ -175,7 +174,7 @@
|
|
|
175
174
|
"delay": "^5.0.0",
|
|
176
175
|
"p-defer": "^4.0.0",
|
|
177
176
|
"p-wait-for": "^5.0.0",
|
|
178
|
-
"protons": "^
|
|
177
|
+
"protons": "^6.0.0",
|
|
179
178
|
"sinon": "^14.0.0"
|
|
180
179
|
}
|
|
181
180
|
}
|
package/src/index.ts
CHANGED
|
@@ -7,39 +7,40 @@ import { PeerStoreProtoBook } from './proto-book.js'
|
|
|
7
7
|
import { PersistentStore, Store } from './store.js'
|
|
8
8
|
import type { PeerStore, AddressBook, KeyBook, MetadataBook, ProtoBook, PeerStoreEvents, PeerStoreInit, Peer, TagOptions } from '@libp2p/interface-peer-store'
|
|
9
9
|
import type { PeerId } from '@libp2p/interface-peer-id'
|
|
10
|
-
import { Components, Initializable } from '@libp2p/components'
|
|
11
10
|
import errCode from 'err-code'
|
|
12
11
|
import { Tag, Tags } from './pb/tags.js'
|
|
12
|
+
import type { Datastore } from 'interface-datastore'
|
|
13
13
|
|
|
14
14
|
const log = logger('libp2p:peer-store')
|
|
15
15
|
|
|
16
|
+
export interface PersistentPeerStoreComponents {
|
|
17
|
+
peerId: PeerId
|
|
18
|
+
datastore: Datastore
|
|
19
|
+
}
|
|
20
|
+
|
|
16
21
|
/**
|
|
17
22
|
* An implementation of PeerStore that stores data in a Datastore
|
|
18
23
|
*/
|
|
19
|
-
export class PersistentPeerStore extends EventEmitter<PeerStoreEvents> implements PeerStore
|
|
24
|
+
export class PersistentPeerStore extends EventEmitter<PeerStoreEvents> implements PeerStore {
|
|
20
25
|
public addressBook: AddressBook
|
|
21
26
|
public keyBook: KeyBook
|
|
22
27
|
public metadataBook: MetadataBook
|
|
23
28
|
public protoBook: ProtoBook
|
|
24
29
|
|
|
25
|
-
private components:
|
|
30
|
+
private readonly components: PersistentPeerStoreComponents
|
|
26
31
|
private readonly store: Store
|
|
27
32
|
|
|
28
|
-
constructor (init: PeerStoreInit = {}) {
|
|
33
|
+
constructor (components: PersistentPeerStoreComponents, init: PeerStoreInit = {}) {
|
|
29
34
|
super()
|
|
30
35
|
|
|
31
|
-
this.
|
|
36
|
+
this.components = components
|
|
37
|
+
this.store = new PersistentStore(components)
|
|
32
38
|
this.addressBook = new PeerStoreAddressBook(this.dispatchEvent.bind(this), this.store, init.addressFilter)
|
|
33
39
|
this.keyBook = new PeerStoreKeyBook(this.dispatchEvent.bind(this), this.store)
|
|
34
40
|
this.metadataBook = new PeerStoreMetadataBook(this.dispatchEvent.bind(this), this.store)
|
|
35
41
|
this.protoBook = new PeerStoreProtoBook(this.dispatchEvent.bind(this), this.store)
|
|
36
42
|
}
|
|
37
43
|
|
|
38
|
-
init (components: Components) {
|
|
39
|
-
this.components = components
|
|
40
|
-
;(this.store as PersistentStore).init(components)
|
|
41
|
-
}
|
|
42
|
-
|
|
43
44
|
async forEach (fn: (peer: Peer) => void) {
|
|
44
45
|
log.trace('getPeers await read lock')
|
|
45
46
|
const release = await this.store.lock.readLock()
|
|
@@ -47,7 +48,7 @@ export class PersistentPeerStore extends EventEmitter<PeerStoreEvents> implement
|
|
|
47
48
|
|
|
48
49
|
try {
|
|
49
50
|
for await (const peer of this.store.all()) {
|
|
50
|
-
if (peer.id.equals(this.components.
|
|
51
|
+
if (peer.id.equals(this.components.peerId)) {
|
|
51
52
|
// Skip self peer if present
|
|
52
53
|
continue
|
|
53
54
|
}
|
package/src/pb/peer.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
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 */
|
|
3
5
|
|
|
4
6
|
import { encodeMessage, decodeMessage, message } from 'protons-runtime'
|
|
5
7
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
@@ -18,50 +20,48 @@ export namespace Peer {
|
|
|
18
20
|
|
|
19
21
|
export const codec = (): Codec<Peer> => {
|
|
20
22
|
if (_codec == null) {
|
|
21
|
-
_codec = message<Peer>((obj,
|
|
23
|
+
_codec = message<Peer>((obj, w, opts = {}) => {
|
|
22
24
|
if (opts.lengthDelimited !== false) {
|
|
23
|
-
|
|
25
|
+
w.fork()
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
if (obj.addresses != null) {
|
|
27
29
|
for (const value of obj.addresses) {
|
|
28
|
-
|
|
29
|
-
Address.codec().encode(value,
|
|
30
|
+
w.uint32(10)
|
|
31
|
+
Address.codec().encode(value, w, {
|
|
32
|
+
writeDefaults: true
|
|
33
|
+
})
|
|
30
34
|
}
|
|
31
|
-
} else {
|
|
32
|
-
throw new Error('Protocol error: required field "addresses" was not found in object')
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
if (obj.protocols != null) {
|
|
36
38
|
for (const value of obj.protocols) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
w.uint32(18)
|
|
40
|
+
w.string(value)
|
|
39
41
|
}
|
|
40
|
-
} else {
|
|
41
|
-
throw new Error('Protocol error: required field "protocols" was not found in object')
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
if (obj.metadata != null) {
|
|
45
45
|
for (const value of obj.metadata) {
|
|
46
|
-
|
|
47
|
-
Metadata.codec().encode(value,
|
|
46
|
+
w.uint32(26)
|
|
47
|
+
Metadata.codec().encode(value, w, {
|
|
48
|
+
writeDefaults: true
|
|
49
|
+
})
|
|
48
50
|
}
|
|
49
|
-
} else {
|
|
50
|
-
throw new Error('Protocol error: required field "metadata" was not found in object')
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
if (obj.pubKey != null) {
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
w.uint32(34)
|
|
55
|
+
w.bytes(obj.pubKey)
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
if (obj.peerRecordEnvelope != null) {
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
w.uint32(42)
|
|
60
|
+
w.bytes(obj.peerRecordEnvelope)
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
if (opts.lengthDelimited !== false) {
|
|
64
|
-
|
|
64
|
+
w.ldelim()
|
|
65
65
|
}
|
|
66
66
|
}, (reader, length) => {
|
|
67
67
|
const obj: any = {
|
|
@@ -123,25 +123,23 @@ export namespace Address {
|
|
|
123
123
|
|
|
124
124
|
export const codec = (): Codec<Address> => {
|
|
125
125
|
if (_codec == null) {
|
|
126
|
-
_codec = message<Address>((obj,
|
|
126
|
+
_codec = message<Address>((obj, w, opts = {}) => {
|
|
127
127
|
if (opts.lengthDelimited !== false) {
|
|
128
|
-
|
|
128
|
+
w.fork()
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
if (obj.multiaddr != null) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
} else {
|
|
135
|
-
throw new Error('Protocol error: required field "multiaddr" was not found in object')
|
|
131
|
+
if (opts.writeDefaults === true || (obj.multiaddr != null && obj.multiaddr.byteLength > 0)) {
|
|
132
|
+
w.uint32(10)
|
|
133
|
+
w.bytes(obj.multiaddr)
|
|
136
134
|
}
|
|
137
135
|
|
|
138
136
|
if (obj.isCertified != null) {
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
w.uint32(16)
|
|
138
|
+
w.bool(obj.isCertified)
|
|
141
139
|
}
|
|
142
140
|
|
|
143
141
|
if (opts.lengthDelimited !== false) {
|
|
144
|
-
|
|
142
|
+
w.ldelim()
|
|
145
143
|
}
|
|
146
144
|
}, (reader, length) => {
|
|
147
145
|
const obj: any = {
|
|
@@ -166,10 +164,6 @@ export namespace Address {
|
|
|
166
164
|
}
|
|
167
165
|
}
|
|
168
166
|
|
|
169
|
-
if (obj.multiaddr == null) {
|
|
170
|
-
throw new Error('Protocol error: value for required field "multiaddr" was not found in protobuf')
|
|
171
|
-
}
|
|
172
|
-
|
|
173
167
|
return obj
|
|
174
168
|
})
|
|
175
169
|
}
|
|
@@ -196,27 +190,23 @@ export namespace Metadata {
|
|
|
196
190
|
|
|
197
191
|
export const codec = (): Codec<Metadata> => {
|
|
198
192
|
if (_codec == null) {
|
|
199
|
-
_codec = message<Metadata>((obj,
|
|
193
|
+
_codec = message<Metadata>((obj, w, opts = {}) => {
|
|
200
194
|
if (opts.lengthDelimited !== false) {
|
|
201
|
-
|
|
195
|
+
w.fork()
|
|
202
196
|
}
|
|
203
197
|
|
|
204
|
-
if (obj.key
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
} else {
|
|
208
|
-
throw new Error('Protocol error: required field "key" was not found in object')
|
|
198
|
+
if (opts.writeDefaults === true || obj.key !== '') {
|
|
199
|
+
w.uint32(10)
|
|
200
|
+
w.string(obj.key)
|
|
209
201
|
}
|
|
210
202
|
|
|
211
|
-
if (obj.value != null) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
} else {
|
|
215
|
-
throw new Error('Protocol error: required field "value" was not found in object')
|
|
203
|
+
if (opts.writeDefaults === true || (obj.value != null && obj.value.byteLength > 0)) {
|
|
204
|
+
w.uint32(18)
|
|
205
|
+
w.bytes(obj.value)
|
|
216
206
|
}
|
|
217
207
|
|
|
218
208
|
if (opts.lengthDelimited !== false) {
|
|
219
|
-
|
|
209
|
+
w.ldelim()
|
|
220
210
|
}
|
|
221
211
|
}, (reader, length) => {
|
|
222
212
|
const obj: any = {
|
|
@@ -242,14 +232,6 @@ export namespace Metadata {
|
|
|
242
232
|
}
|
|
243
233
|
}
|
|
244
234
|
|
|
245
|
-
if (obj.key == null) {
|
|
246
|
-
throw new Error('Protocol error: value for required field "key" was not found in protobuf')
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
if (obj.value == null) {
|
|
250
|
-
throw new Error('Protocol error: value for required field "value" was not found in protobuf')
|
|
251
|
-
}
|
|
252
|
-
|
|
253
235
|
return obj
|
|
254
236
|
})
|
|
255
237
|
}
|
package/src/pb/tags.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
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 */
|
|
3
5
|
|
|
4
6
|
import { encodeMessage, decodeMessage, message } from 'protons-runtime'
|
|
5
7
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
@@ -14,22 +16,22 @@ export namespace Tags {
|
|
|
14
16
|
|
|
15
17
|
export const codec = (): Codec<Tags> => {
|
|
16
18
|
if (_codec == null) {
|
|
17
|
-
_codec = message<Tags>((obj,
|
|
19
|
+
_codec = message<Tags>((obj, w, opts = {}) => {
|
|
18
20
|
if (opts.lengthDelimited !== false) {
|
|
19
|
-
|
|
21
|
+
w.fork()
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
if (obj.tags != null) {
|
|
23
25
|
for (const value of obj.tags) {
|
|
24
|
-
|
|
25
|
-
Tag.codec().encode(value,
|
|
26
|
+
w.uint32(10)
|
|
27
|
+
Tag.codec().encode(value, w, {
|
|
28
|
+
writeDefaults: true
|
|
29
|
+
})
|
|
26
30
|
}
|
|
27
|
-
} else {
|
|
28
|
-
throw new Error('Protocol error: required field "tags" was not found in object')
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
if (opts.lengthDelimited !== false) {
|
|
32
|
-
|
|
34
|
+
w.ldelim()
|
|
33
35
|
}
|
|
34
36
|
}, (reader, length) => {
|
|
35
37
|
const obj: any = {
|
|
@@ -78,30 +80,28 @@ export namespace Tag {
|
|
|
78
80
|
|
|
79
81
|
export const codec = (): Codec<Tag> => {
|
|
80
82
|
if (_codec == null) {
|
|
81
|
-
_codec = message<Tag>((obj,
|
|
83
|
+
_codec = message<Tag>((obj, w, opts = {}) => {
|
|
82
84
|
if (opts.lengthDelimited !== false) {
|
|
83
|
-
|
|
85
|
+
w.fork()
|
|
84
86
|
}
|
|
85
87
|
|
|
86
|
-
if (obj.name
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
} else {
|
|
90
|
-
throw new Error('Protocol error: required field "name" was not found in object')
|
|
88
|
+
if (opts.writeDefaults === true || obj.name !== '') {
|
|
89
|
+
w.uint32(10)
|
|
90
|
+
w.string(obj.name)
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
if (obj.value != null) {
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
w.uint32(16)
|
|
95
|
+
w.uint32(obj.value)
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
if (obj.expiry != null) {
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
w.uint32(24)
|
|
100
|
+
w.uint64(obj.expiry)
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
if (opts.lengthDelimited !== false) {
|
|
104
|
-
|
|
104
|
+
w.ldelim()
|
|
105
105
|
}
|
|
106
106
|
}, (reader, length) => {
|
|
107
107
|
const obj: any = {
|
|
@@ -129,10 +129,6 @@ export namespace Tag {
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
if (obj.name == null) {
|
|
133
|
-
throw new Error('Protocol error: value for required field "name" was not found in protobuf')
|
|
134
|
-
}
|
|
135
|
-
|
|
136
132
|
return obj
|
|
137
133
|
})
|
|
138
134
|
}
|
package/src/store.ts
CHANGED
|
@@ -10,7 +10,7 @@ import mortice from 'mortice'
|
|
|
10
10
|
import { equals as uint8arrayEquals } from 'uint8arrays/equals'
|
|
11
11
|
import type { Peer } from '@libp2p/interface-peer-store'
|
|
12
12
|
import type { PeerId } from '@libp2p/interface-peer-id'
|
|
13
|
-
import {
|
|
13
|
+
import type { PersistentPeerStoreComponents } from './index.js'
|
|
14
14
|
|
|
15
15
|
const log = logger('libp2p:peer-store:store')
|
|
16
16
|
|
|
@@ -34,20 +34,17 @@ export interface Store {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
export class PersistentStore {
|
|
37
|
-
private components:
|
|
37
|
+
private readonly components: PersistentPeerStoreComponents
|
|
38
38
|
public lock: any
|
|
39
39
|
|
|
40
|
-
constructor () {
|
|
40
|
+
constructor (components: PersistentPeerStoreComponents) {
|
|
41
|
+
this.components = components
|
|
41
42
|
this.lock = mortice({
|
|
42
43
|
name: 'peer-store',
|
|
43
44
|
singleProcess: true
|
|
44
45
|
})
|
|
45
46
|
}
|
|
46
47
|
|
|
47
|
-
init (components: Components) {
|
|
48
|
-
this.components = components
|
|
49
|
-
}
|
|
50
|
-
|
|
51
48
|
_peerIdToDatastoreKey (peerId: PeerId) {
|
|
52
49
|
if (peerId.type == null) {
|
|
53
50
|
log.error('peerId must be an instance of peer-id to store data')
|
|
@@ -59,15 +56,15 @@ export class PersistentStore {
|
|
|
59
56
|
}
|
|
60
57
|
|
|
61
58
|
async has (peerId: PeerId) {
|
|
62
|
-
return await this.components.
|
|
59
|
+
return await this.components.datastore.has(this._peerIdToDatastoreKey(peerId))
|
|
63
60
|
}
|
|
64
61
|
|
|
65
62
|
async delete (peerId: PeerId) {
|
|
66
|
-
await this.components.
|
|
63
|
+
await this.components.datastore.delete(this._peerIdToDatastoreKey(peerId))
|
|
67
64
|
}
|
|
68
65
|
|
|
69
66
|
async load (peerId: PeerId): Promise<Peer> {
|
|
70
|
-
const buf = await this.components.
|
|
67
|
+
const buf = await this.components.datastore.get(this._peerIdToDatastoreKey(peerId))
|
|
71
68
|
const peer = PeerPB.decode(buf)
|
|
72
69
|
const metadata = new Map()
|
|
73
70
|
|
|
@@ -133,7 +130,7 @@ export class PersistentStore {
|
|
|
133
130
|
peerRecordEnvelope: peer.peerRecordEnvelope
|
|
134
131
|
})
|
|
135
132
|
|
|
136
|
-
await this.components.
|
|
133
|
+
await this.components.datastore.put(this._peerIdToDatastoreKey(peer.id), buf.subarray())
|
|
137
134
|
|
|
138
135
|
return await this.load(peer.id)
|
|
139
136
|
}
|
|
@@ -231,7 +228,7 @@ export class PersistentStore {
|
|
|
231
228
|
}
|
|
232
229
|
|
|
233
230
|
async * all () {
|
|
234
|
-
for await (const key of this.components.
|
|
231
|
+
for await (const key of this.components.datastore.queryKeys({
|
|
235
232
|
prefix: NAMESPACE_COMMON
|
|
236
233
|
})) {
|
|
237
234
|
// /peers/${peer-id-as-libp2p-key-cid-string-in-base-32}
|