@libp2p/peer-store 1.0.5 → 1.0.8
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/address-book.d.ts +1 -3
- package/dist/src/address-book.d.ts.map +1 -1
- package/dist/src/address-book.js +68 -45
- package/dist/src/address-book.js.map +1 -1
- package/dist/src/index.d.ts +8 -20
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +28 -26
- package/dist/src/index.js.map +1 -1
- package/dist/src/key-book.d.ts +1 -1
- package/dist/src/key-book.d.ts.map +1 -1
- package/dist/src/key-book.js +35 -12
- package/dist/src/key-book.js.map +1 -1
- package/dist/src/metadata-book.d.ts +1 -1
- package/dist/src/metadata-book.d.ts.map +1 -1
- package/dist/src/metadata-book.js +63 -29
- package/dist/src/metadata-book.js.map +1 -1
- package/dist/src/pb/peer.d.ts +25 -216
- package/dist/src/pb/peer.d.ts.map +1 -0
- package/dist/src/pb/peer.js +52 -641
- package/dist/src/pb/peer.js.map +1 -0
- package/dist/src/proto-book.d.ts +1 -1
- package/dist/src/proto-book.d.ts.map +1 -1
- package/dist/src/proto-book.js +53 -33
- package/dist/src/proto-book.js.map +1 -1
- package/dist/src/store.d.ts.map +1 -1
- package/dist/src/store.js +39 -28
- package/dist/src/store.js.map +1 -1
- package/package.json +21 -23
- package/src/README.md +4 -4
- package/src/address-book.ts +76 -59
- package/src/index.ts +34 -46
- package/src/key-book.ts +38 -15
- package/src/metadata-book.ts +68 -34
- package/src/pb/peer.ts +76 -0
- package/src/proto-book.ts +58 -38
- package/src/store.ts +47 -31
- package/src/pb/peer.d.ts +0 -222
- package/src/pb/peer.js +0 -641
package/dist/src/proto-book.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Store } from './store.js';
|
|
2
|
-
import type { PeerStore, ProtoBook } from '@libp2p/interfaces/
|
|
2
|
+
import type { PeerStore, ProtoBook } from '@libp2p/interfaces/peer-store';
|
|
3
3
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
4
4
|
export declare class PeerStoreProtoBook implements ProtoBook {
|
|
5
5
|
private readonly dispatchEvent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proto-book.d.ts","sourceRoot":"","sources":["../../src/proto-book.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proto-book.d.ts","sourceRoot":"","sources":["../../src/proto-book.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,EAAiC,SAAS,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACxG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,qBAAa,kBAAmB,YAAW,SAAS;IAClD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B;;;OAGG;gBACU,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK;IAK9D,GAAG,CAAE,MAAM,EAAE,MAAM;IAqBnB,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAiDxC,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAkDxC,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;IAoD3C,MAAM,CAAE,MAAM,EAAE,MAAM;CAmC7B"}
|
package/dist/src/proto-book.js
CHANGED
|
@@ -2,7 +2,6 @@ import { logger } from '@libp2p/logger';
|
|
|
2
2
|
import errcode from 'err-code';
|
|
3
3
|
import { codes } from './errors.js';
|
|
4
4
|
import { peerIdFromPeerId } from '@libp2p/peer-id';
|
|
5
|
-
import { base58btc } from 'multiformats/bases/base58';
|
|
6
5
|
import { CustomEvent } from '@libp2p/interfaces';
|
|
7
6
|
const log = logger('libp2p:peer-store:proto-book');
|
|
8
7
|
const EVENT_NAME = 'change:protocols';
|
|
@@ -16,9 +15,9 @@ export class PeerStoreProtoBook {
|
|
|
16
15
|
this.store = store;
|
|
17
16
|
}
|
|
18
17
|
async get(peerId) {
|
|
19
|
-
log('get wait for read lock');
|
|
18
|
+
log.trace('get wait for read lock');
|
|
20
19
|
const release = await this.store.lock.readLock();
|
|
21
|
-
log('get got read lock');
|
|
20
|
+
log.trace('get got read lock');
|
|
22
21
|
try {
|
|
23
22
|
const peer = await this.store.load(peerId);
|
|
24
23
|
return peer.protocols;
|
|
@@ -29,7 +28,7 @@ export class PeerStoreProtoBook {
|
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
finally {
|
|
32
|
-
log('get release read lock');
|
|
31
|
+
log.trace('get release read lock');
|
|
33
32
|
release();
|
|
34
33
|
}
|
|
35
34
|
return [];
|
|
@@ -40,13 +39,14 @@ export class PeerStoreProtoBook {
|
|
|
40
39
|
log.error('protocols must be provided to store data');
|
|
41
40
|
throw errcode(new Error('protocols must be provided'), codes.ERR_INVALID_PARAMETERS);
|
|
42
41
|
}
|
|
43
|
-
log('set await write lock');
|
|
42
|
+
log.trace('set await write lock');
|
|
44
43
|
const release = await this.store.lock.writeLock();
|
|
45
|
-
log('set got write lock');
|
|
44
|
+
log.trace('set got write lock');
|
|
45
|
+
let peer;
|
|
46
46
|
let updatedPeer;
|
|
47
47
|
try {
|
|
48
48
|
try {
|
|
49
|
-
|
|
49
|
+
peer = await this.store.load(peerId);
|
|
50
50
|
if (new Set([
|
|
51
51
|
...protocols
|
|
52
52
|
]).size === peer.protocols.length) {
|
|
@@ -61,14 +61,18 @@ export class PeerStoreProtoBook {
|
|
|
61
61
|
updatedPeer = await this.store.patchOrCreate(peerId, {
|
|
62
62
|
protocols
|
|
63
63
|
});
|
|
64
|
-
log(
|
|
64
|
+
log('stored provided protocols for %p', peerId);
|
|
65
65
|
}
|
|
66
66
|
finally {
|
|
67
|
-
log('set release write lock');
|
|
67
|
+
log.trace('set release write lock');
|
|
68
68
|
release();
|
|
69
69
|
}
|
|
70
70
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
71
|
-
detail: {
|
|
71
|
+
detail: {
|
|
72
|
+
peerId,
|
|
73
|
+
protocols: updatedPeer.protocols,
|
|
74
|
+
oldProtocols: peer == null ? [] : peer.protocols
|
|
75
|
+
}
|
|
72
76
|
}));
|
|
73
77
|
}
|
|
74
78
|
async add(peerId, protocols) {
|
|
@@ -77,13 +81,14 @@ export class PeerStoreProtoBook {
|
|
|
77
81
|
log.error('protocols must be provided to store data');
|
|
78
82
|
throw errcode(new Error('protocols must be provided'), codes.ERR_INVALID_PARAMETERS);
|
|
79
83
|
}
|
|
80
|
-
log('add await write lock');
|
|
84
|
+
log.trace('add await write lock');
|
|
81
85
|
const release = await this.store.lock.writeLock();
|
|
82
|
-
log('add got write lock');
|
|
86
|
+
log.trace('add got write lock');
|
|
87
|
+
let peer;
|
|
83
88
|
let updatedPeer;
|
|
84
89
|
try {
|
|
85
90
|
try {
|
|
86
|
-
|
|
91
|
+
peer = await this.store.load(peerId);
|
|
87
92
|
if (new Set([
|
|
88
93
|
...peer.protocols,
|
|
89
94
|
...protocols
|
|
@@ -99,14 +104,18 @@ export class PeerStoreProtoBook {
|
|
|
99
104
|
updatedPeer = await this.store.mergeOrCreate(peerId, {
|
|
100
105
|
protocols
|
|
101
106
|
});
|
|
102
|
-
log(
|
|
107
|
+
log('added provided protocols for %p', peerId);
|
|
103
108
|
}
|
|
104
109
|
finally {
|
|
105
|
-
log('add release write lock');
|
|
110
|
+
log.trace('add release write lock');
|
|
106
111
|
release();
|
|
107
112
|
}
|
|
108
113
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
109
|
-
detail: {
|
|
114
|
+
detail: {
|
|
115
|
+
peerId,
|
|
116
|
+
protocols: updatedPeer.protocols,
|
|
117
|
+
oldProtocols: peer == null ? [] : peer.protocols
|
|
118
|
+
}
|
|
110
119
|
}));
|
|
111
120
|
}
|
|
112
121
|
async remove(peerId, protocols) {
|
|
@@ -115,13 +124,14 @@ export class PeerStoreProtoBook {
|
|
|
115
124
|
log.error('protocols must be provided to store data');
|
|
116
125
|
throw errcode(new Error('protocols must be provided'), codes.ERR_INVALID_PARAMETERS);
|
|
117
126
|
}
|
|
118
|
-
log('remove await write lock');
|
|
127
|
+
log.trace('remove await write lock');
|
|
119
128
|
const release = await this.store.lock.writeLock();
|
|
120
|
-
log('remove got write lock');
|
|
129
|
+
log.trace('remove got write lock');
|
|
130
|
+
let peer;
|
|
121
131
|
let updatedPeer;
|
|
122
132
|
try {
|
|
123
133
|
try {
|
|
124
|
-
|
|
134
|
+
peer = await this.store.load(peerId);
|
|
125
135
|
const protocolSet = new Set(peer.protocols);
|
|
126
136
|
for (const protocol of protocols) {
|
|
127
137
|
protocolSet.delete(protocol);
|
|
@@ -141,37 +151,47 @@ export class PeerStoreProtoBook {
|
|
|
141
151
|
});
|
|
142
152
|
}
|
|
143
153
|
finally {
|
|
144
|
-
log('remove release write lock');
|
|
154
|
+
log.trace('remove release write lock');
|
|
145
155
|
release();
|
|
146
156
|
}
|
|
147
157
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
148
|
-
detail: {
|
|
158
|
+
detail: {
|
|
159
|
+
peerId,
|
|
160
|
+
protocols: updatedPeer.protocols,
|
|
161
|
+
oldProtocols: peer == null ? [] : peer.protocols
|
|
162
|
+
}
|
|
149
163
|
}));
|
|
150
164
|
}
|
|
151
165
|
async delete(peerId) {
|
|
152
166
|
peerId = peerIdFromPeerId(peerId);
|
|
153
|
-
log('delete await write lock');
|
|
167
|
+
log.trace('delete await write lock');
|
|
154
168
|
const release = await this.store.lock.writeLock();
|
|
155
|
-
log('delete got write lock');
|
|
156
|
-
let
|
|
169
|
+
log.trace('delete got write lock');
|
|
170
|
+
let peer;
|
|
157
171
|
try {
|
|
158
|
-
|
|
172
|
+
try {
|
|
173
|
+
peer = await this.store.load(peerId);
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
if (err.code !== codes.ERR_NOT_FOUND) {
|
|
177
|
+
throw err;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
159
180
|
await this.store.patchOrCreate(peerId, {
|
|
160
181
|
protocols: []
|
|
161
182
|
});
|
|
162
183
|
}
|
|
163
|
-
catch (err) {
|
|
164
|
-
if (err.code !== codes.ERR_NOT_FOUND) {
|
|
165
|
-
throw err;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
184
|
finally {
|
|
169
|
-
log('delete release write lock');
|
|
185
|
+
log.trace('delete release write lock');
|
|
170
186
|
release();
|
|
171
187
|
}
|
|
172
|
-
if (
|
|
188
|
+
if (peer != null) {
|
|
173
189
|
this.dispatchEvent(new CustomEvent(EVENT_NAME, {
|
|
174
|
-
detail: {
|
|
190
|
+
detail: {
|
|
191
|
+
peerId,
|
|
192
|
+
protocols: [],
|
|
193
|
+
oldProtocols: peer.protocols
|
|
194
|
+
}
|
|
175
195
|
}));
|
|
176
196
|
}
|
|
177
197
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proto-book.js","sourceRoot":"","sources":["../../src/proto-book.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"proto-book.js","sourceRoot":"","sources":["../../src/proto-book.ts"],"names":[],"mappings":"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"}
|
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,+BAA+B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,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,SAAS,CAAW;IAC9B,IAAI,EAAE,GAAG,CAAA;gBAEH,SAAS,EAAE,SAAS;IAQjC,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;
|
|
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,+BAA+B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AAMxD,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,SAAS,CAAW;IAC9B,IAAI,EAAE,GAAG,CAAA;gBAEH,SAAS,EAAE,SAAS;IAQjC,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
|
@@ -23,8 +23,8 @@ export class PersistentStore {
|
|
|
23
23
|
log.error('peerId must be an instance of peer-id to store data');
|
|
24
24
|
throw errcode(new Error('peerId must be an instance of peer-id'), codes.ERR_INVALID_PARAMETERS);
|
|
25
25
|
}
|
|
26
|
-
const b32key = peerId.
|
|
27
|
-
return new Key(`${NAMESPACE_COMMON}
|
|
26
|
+
const b32key = base32.encode(peerId.toBytes());
|
|
27
|
+
return new Key(`${NAMESPACE_COMMON}${b32key}`);
|
|
28
28
|
}
|
|
29
29
|
async has(peerId) {
|
|
30
30
|
return await this.datastore.has(this._peerIdToDatastoreKey(peerId));
|
|
@@ -42,10 +42,12 @@ export class PersistentStore {
|
|
|
42
42
|
return {
|
|
43
43
|
...peer,
|
|
44
44
|
id: peerId,
|
|
45
|
-
addresses: peer.addresses.map(({ multiaddr, isCertified }) =>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
addresses: peer.addresses.map(({ multiaddr, isCertified }) => {
|
|
46
|
+
return {
|
|
47
|
+
multiaddr: new Multiaddr(multiaddr),
|
|
48
|
+
isCertified: isCertified ?? false
|
|
49
|
+
};
|
|
50
|
+
}),
|
|
49
51
|
metadata,
|
|
50
52
|
pubKey: peer.pubKey ?? undefined,
|
|
51
53
|
peerRecordEnvelope: peer.peerRecordEnvelope ?? undefined
|
|
@@ -58,27 +60,35 @@ export class PersistentStore {
|
|
|
58
60
|
}
|
|
59
61
|
// dedupe addresses
|
|
60
62
|
const addressSet = new Set();
|
|
63
|
+
const addresses = peer.addresses
|
|
64
|
+
.filter(address => {
|
|
65
|
+
if (addressSet.has(address.multiaddr.toString())) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
addressSet.add(address.multiaddr.toString());
|
|
69
|
+
return true;
|
|
70
|
+
})
|
|
71
|
+
.sort((a, b) => {
|
|
72
|
+
return a.multiaddr.toString().localeCompare(b.multiaddr.toString());
|
|
73
|
+
})
|
|
74
|
+
.map(({ multiaddr, isCertified }) => ({
|
|
75
|
+
multiaddr: multiaddr.bytes,
|
|
76
|
+
isCertified
|
|
77
|
+
}));
|
|
78
|
+
const metadata = [];
|
|
79
|
+
[...peer.metadata.keys()].sort().forEach(key => {
|
|
80
|
+
const value = peer.metadata.get(key);
|
|
81
|
+
if (value != null) {
|
|
82
|
+
metadata.push({ key, value });
|
|
83
|
+
}
|
|
84
|
+
});
|
|
61
85
|
const buf = PeerPB.encode({
|
|
62
|
-
addresses
|
|
63
|
-
.filter(address => {
|
|
64
|
-
if (addressSet.has(address.multiaddr.toString())) {
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
addressSet.add(address.multiaddr.toString());
|
|
68
|
-
return true;
|
|
69
|
-
})
|
|
70
|
-
.sort((a, b) => {
|
|
71
|
-
return a.multiaddr.toString().localeCompare(b.multiaddr.toString());
|
|
72
|
-
})
|
|
73
|
-
.map(({ multiaddr, isCertified }) => ({
|
|
74
|
-
multiaddr: multiaddr.bytes,
|
|
75
|
-
isCertified
|
|
76
|
-
})),
|
|
86
|
+
addresses,
|
|
77
87
|
protocols: peer.protocols.sort(),
|
|
78
88
|
pubKey: peer.pubKey,
|
|
79
|
-
metadata
|
|
89
|
+
metadata,
|
|
80
90
|
peerRecordEnvelope: peer.peerRecordEnvelope
|
|
81
|
-
})
|
|
91
|
+
});
|
|
82
92
|
await this.datastore.put(this._peerIdToDatastoreKey(peer.id), buf);
|
|
83
93
|
return await this.load(peer.id);
|
|
84
94
|
}
|
|
@@ -127,14 +137,15 @@ export class PersistentStore {
|
|
|
127
137
|
async _merge(peerId, data, peer) {
|
|
128
138
|
// if the peer has certified addresses, use those in
|
|
129
139
|
// favour of the supplied versions
|
|
130
|
-
/** @type {Map<string, boolean>} */
|
|
131
140
|
const addresses = new Map();
|
|
132
|
-
|
|
141
|
+
peer.addresses.forEach((addr) => {
|
|
133
142
|
addresses.set(addr.multiaddr.toString(), addr.isCertified);
|
|
134
143
|
});
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
|
|
144
|
+
(data.addresses ?? []).forEach(addr => {
|
|
145
|
+
const addrString = addr.multiaddr.toString();
|
|
146
|
+
const isAlreadyCertified = Boolean(addresses.get(addrString));
|
|
147
|
+
const isCertified = isAlreadyCertified || addr.isCertified;
|
|
148
|
+
addresses.set(addrString, isCertified);
|
|
138
149
|
});
|
|
139
150
|
return await this.save({
|
|
140
151
|
id: peerId,
|
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,
|
|
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": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
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-interfaces/tree/master/packages/libp2p-peer-store#readme",
|
|
@@ -123,26 +123,23 @@
|
|
|
123
123
|
]
|
|
124
124
|
},
|
|
125
125
|
"scripts": {
|
|
126
|
+
"clean": "aegir clean",
|
|
126
127
|
"lint": "aegir lint",
|
|
127
|
-
"dep-check": "aegir dep-check
|
|
128
|
-
"build": "
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"test": "aegir test -
|
|
135
|
-
"test:
|
|
136
|
-
"
|
|
137
|
-
"test:firefox": "npm run test -- -t browser -- --browser firefox",
|
|
138
|
-
"test:firefox-webworker": "npm run test -- -t webworker -- --browser firefox",
|
|
139
|
-
"test:node": "npm run test -- -t node --cov",
|
|
140
|
-
"test:electron-main": "npm run test -- -t electron-main"
|
|
128
|
+
"dep-check": "aegir dep-check",
|
|
129
|
+
"build": "aegir build",
|
|
130
|
+
"test": "aegir test",
|
|
131
|
+
"test:chrome": "aegir test -t browser --cov",
|
|
132
|
+
"test:chrome-webworker": "aegir test -t webworker",
|
|
133
|
+
"test:firefox": "aegir test -t browser -- --browser firefox",
|
|
134
|
+
"test:firefox-webworker": "aegir test -t webworker -- --browser firefox",
|
|
135
|
+
"test:node": "aegir test -t node --cov",
|
|
136
|
+
"test:electron-main": "aegir test -t electron-main",
|
|
137
|
+
"release": "aegir release"
|
|
141
138
|
},
|
|
142
139
|
"dependencies": {
|
|
143
|
-
"@libp2p/interfaces": "^1.3.
|
|
140
|
+
"@libp2p/interfaces": "^1.3.0",
|
|
144
141
|
"@libp2p/logger": "^1.1.0",
|
|
145
|
-
"@libp2p/peer-record": "^1.0.
|
|
142
|
+
"@libp2p/peer-record": "^1.0.0",
|
|
146
143
|
"@multiformats/multiaddr": "^10.1.5",
|
|
147
144
|
"interface-datastore": "^6.1.0",
|
|
148
145
|
"it-all": "^1.0.6",
|
|
@@ -152,18 +149,19 @@
|
|
|
152
149
|
"it-pipe": "^2.0.3",
|
|
153
150
|
"mortice": "^3.0.0",
|
|
154
151
|
"multiformats": "^9.6.3",
|
|
155
|
-
"
|
|
152
|
+
"protons-runtime": "^1.0.2"
|
|
156
153
|
},
|
|
157
154
|
"devDependencies": {
|
|
158
|
-
"@libp2p/interface-compliance-tests": "^1.1.
|
|
159
|
-
"@libp2p/peer-id": "^1.1.
|
|
160
|
-
"@libp2p/peer-id-factory": "^1.0.
|
|
161
|
-
"@libp2p/utils": "^1.0.
|
|
162
|
-
"aegir": "^
|
|
155
|
+
"@libp2p/interface-compliance-tests": "^1.1.0",
|
|
156
|
+
"@libp2p/peer-id": "^1.1.0",
|
|
157
|
+
"@libp2p/peer-id-factory": "^1.0.0",
|
|
158
|
+
"@libp2p/utils": "^1.0.9",
|
|
159
|
+
"aegir": "^37.0.7",
|
|
163
160
|
"datastore-core": "^7.0.1",
|
|
164
161
|
"err-code": "^3.0.1",
|
|
165
162
|
"p-defer": "^4.0.0",
|
|
166
163
|
"p-wait-for": "^4.1.0",
|
|
164
|
+
"protons": "^3.0.2",
|
|
167
165
|
"sinon": "^13.0.1",
|
|
168
166
|
"uint8arrays": "^3.0.0"
|
|
169
167
|
}
|
package/src/README.md
CHANGED
|
@@ -49,7 +49,7 @@ The `addressBook` keeps the known multiaddrs of a peer. The multiaddrs of each p
|
|
|
49
49
|
|
|
50
50
|
`Map<string, Address>`
|
|
51
51
|
|
|
52
|
-
A `peerId.toString(
|
|
52
|
+
A `peerId.toString()` identifier mapping to a `Address` object, which should have the following structure:
|
|
53
53
|
|
|
54
54
|
```js
|
|
55
55
|
{
|
|
@@ -63,7 +63,7 @@ The `keyBook` tracks the public keys of the peers by keeping their [`PeerId`][pe
|
|
|
63
63
|
|
|
64
64
|
`Map<string, PeerId`
|
|
65
65
|
|
|
66
|
-
A `peerId.toString(
|
|
66
|
+
A `peerId.toString()` identifier mapping to a `PeerId` of the peer. This instance contains the peer public key.
|
|
67
67
|
|
|
68
68
|
#### Protocol Book
|
|
69
69
|
|
|
@@ -71,7 +71,7 @@ The `protoBook` holds the identifiers of the protocols supported by each peer. T
|
|
|
71
71
|
|
|
72
72
|
`Map<string, Set<string>>`
|
|
73
73
|
|
|
74
|
-
A `peerId.toString(
|
|
74
|
+
A `peerId.toString()` identifier mapping to a `Set` of protocol identifier strings.
|
|
75
75
|
|
|
76
76
|
#### Metadata Book
|
|
77
77
|
|
|
@@ -79,7 +79,7 @@ The `metadataBook` keeps track of the known metadata of a peer. Its metadata is
|
|
|
79
79
|
|
|
80
80
|
`Map<string, Map<string, Uint8Array>>`
|
|
81
81
|
|
|
82
|
-
A `peerId.toString(
|
|
82
|
+
A `peerId.toString()` identifier mapping to the peer metadata Map.
|
|
83
83
|
|
|
84
84
|
### API
|
|
85
85
|
|