peerbit 1.2.0 → 1.3.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/lib/esm/peer.d.ts +7 -3
- package/lib/esm/peer.js +13 -7
- package/lib/esm/peer.js.map +1 -1
- package/package.json +6 -6
- package/src/peer.ts +19 -11
package/lib/esm/peer.d.ts
CHANGED
|
@@ -8,8 +8,6 @@ import { OpenOptions } from "@peerbit/program";
|
|
|
8
8
|
export declare const logger: import("pino").Logger<import("pino").LoggerOptions | import("pino").DestinationStream>;
|
|
9
9
|
export type OptionalCreateOptions = {
|
|
10
10
|
limitSigning?: boolean;
|
|
11
|
-
minReplicas?: number;
|
|
12
|
-
refreshIntreval?: number;
|
|
13
11
|
libp2pExternal?: boolean;
|
|
14
12
|
};
|
|
15
13
|
export type CreateOptions = {
|
|
@@ -18,8 +16,13 @@ export type CreateOptions = {
|
|
|
18
16
|
identity: Ed25519Keypair;
|
|
19
17
|
keychain: Libp2pKeychain;
|
|
20
18
|
} & OptionalCreateOptions;
|
|
21
|
-
|
|
19
|
+
type Libp2pOptions = {
|
|
22
20
|
libp2p?: Libp2pExtended | ClientCreateOptions;
|
|
21
|
+
};
|
|
22
|
+
type SimpleLibp2pOptions = {
|
|
23
|
+
relay?: boolean;
|
|
24
|
+
};
|
|
25
|
+
export type CreateInstanceOptions = (SimpleLibp2pOptions | Libp2pOptions) & {
|
|
23
26
|
directory?: string;
|
|
24
27
|
cache?: LazyLevel;
|
|
25
28
|
} & OptionalCreateOptions;
|
|
@@ -61,3 +64,4 @@ export declare class Peerbit implements ProgramClient {
|
|
|
61
64
|
open<S extends Program<Args>, Args = any>(storeOrAddress: S | Address | string, options?: OpenOptions<Args, S>): Promise<S>;
|
|
62
65
|
get memory(): LazyLevel;
|
|
63
66
|
}
|
|
67
|
+
export {};
|
package/lib/esm/peer.js
CHANGED
|
@@ -64,7 +64,9 @@ export class Peerbit {
|
|
|
64
64
|
}
|
|
65
65
|
static async create(options = {}) {
|
|
66
66
|
await sodium.ready; // Some of the modules depends on sodium to be readyy
|
|
67
|
-
let libp2pExtended = options
|
|
67
|
+
let libp2pExtended = options
|
|
68
|
+
.libp2p;
|
|
69
|
+
const asRelay = options.relay;
|
|
68
70
|
const blocksDirectory = options.directory != null
|
|
69
71
|
? path.join(options.directory, "/blocks").toString()
|
|
70
72
|
: undefined;
|
|
@@ -78,8 +80,11 @@ export class Peerbit {
|
|
|
78
80
|
if (!libp2pExtended) {
|
|
79
81
|
libp2pExtended = await createLibp2pExtended({
|
|
80
82
|
services: {
|
|
81
|
-
blocks: (c) => new DirectBlock(c, {
|
|
82
|
-
|
|
83
|
+
blocks: (c) => new DirectBlock(c, {
|
|
84
|
+
canRelayMessage: asRelay,
|
|
85
|
+
directory: blocksDirectory,
|
|
86
|
+
}),
|
|
87
|
+
pubsub: (c) => new DirectSub(c, { canRelayMessage: asRelay }),
|
|
83
88
|
},
|
|
84
89
|
// If directory is passed, we store keys within that directory, else we will use memory datastore (which is the default behaviour)
|
|
85
90
|
datastore,
|
|
@@ -94,8 +99,11 @@ export class Peerbit {
|
|
|
94
99
|
libp2pExtended = await createLibp2pExtended({
|
|
95
100
|
...extendedOptions,
|
|
96
101
|
services: {
|
|
97
|
-
blocks: (c) => new DirectBlock(c, {
|
|
98
|
-
|
|
102
|
+
blocks: (c) => new DirectBlock(c, {
|
|
103
|
+
canRelayMessage: asRelay,
|
|
104
|
+
directory: blocksDirectory,
|
|
105
|
+
}),
|
|
106
|
+
pubsub: (c) => new DirectSub(c, { canRelayMessage: asRelay }),
|
|
99
107
|
...extendedOptions?.services,
|
|
100
108
|
},
|
|
101
109
|
datastore,
|
|
@@ -141,8 +149,6 @@ export class Peerbit {
|
|
|
141
149
|
cache,
|
|
142
150
|
libp2pExternal,
|
|
143
151
|
limitSigning: options.limitSigning,
|
|
144
|
-
minReplicas: options.minReplicas,
|
|
145
|
-
refreshIntreval: options.refreshIntreval,
|
|
146
152
|
identity,
|
|
147
153
|
keychain,
|
|
148
154
|
});
|
package/lib/esm/peer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../../src/peer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,qBAAqB,CAAC;AAE5C,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAa,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE5E,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,cAAc,GACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIN,cAAc,GACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,iBAAiB,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EACN,oBAAoB,GAGpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,CAAC,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"peer.js","sourceRoot":"","sources":["../../src/peer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "peerbit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Peerbit client",
|
|
5
5
|
"author": "dao.xyz",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
"@libp2p/tcp": "^7.0.3",
|
|
41
41
|
"@libp2p/webrtc": "^2.0.11",
|
|
42
42
|
"@libp2p/websockets": "^6.0.3",
|
|
43
|
-
"@peerbit/blocks": "^1.0.
|
|
44
|
-
"@peerbit/crypto": "1.0.
|
|
43
|
+
"@peerbit/blocks": "^1.0.8",
|
|
44
|
+
"@peerbit/crypto": "1.0.5",
|
|
45
45
|
"@peerbit/lazy-level": "1.0.2",
|
|
46
46
|
"@peerbit/logger": "1.0.1",
|
|
47
|
-
"@peerbit/program": "2.
|
|
48
|
-
"@peerbit/pubsub": "^1.0
|
|
47
|
+
"@peerbit/program": "2.2.0",
|
|
48
|
+
"@peerbit/pubsub": "^1.1.0",
|
|
49
49
|
"@peerbit/uint8arrays": "3.0.1",
|
|
50
50
|
"datastore-level": "^10.1.2",
|
|
51
51
|
"level": "^8.0.0",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"p2p",
|
|
74
74
|
"peer-to-peer"
|
|
75
75
|
],
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "464e807d679e24b897b7811ac99d6f85fbd756f9"
|
|
77
77
|
}
|
package/src/peer.ts
CHANGED
|
@@ -38,8 +38,6 @@ export const logger = loggerFn({ module: "client" });
|
|
|
38
38
|
|
|
39
39
|
export type OptionalCreateOptions = {
|
|
40
40
|
limitSigning?: boolean;
|
|
41
|
-
minReplicas?: number;
|
|
42
|
-
refreshIntreval?: number;
|
|
43
41
|
libp2pExternal?: boolean;
|
|
44
42
|
};
|
|
45
43
|
export type CreateOptions = {
|
|
@@ -49,8 +47,9 @@ export type CreateOptions = {
|
|
|
49
47
|
keychain: Libp2pKeychain;
|
|
50
48
|
} & OptionalCreateOptions;
|
|
51
49
|
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
type Libp2pOptions = { libp2p?: Libp2pExtended | ClientCreateOptions };
|
|
51
|
+
type SimpleLibp2pOptions = { relay?: boolean };
|
|
52
|
+
export type CreateInstanceOptions = (SimpleLibp2pOptions | Libp2pOptions) & {
|
|
54
53
|
directory?: string;
|
|
55
54
|
cache?: LazyLevel;
|
|
56
55
|
} & OptionalCreateOptions;
|
|
@@ -122,7 +121,10 @@ export class Peerbit implements ProgramClient {
|
|
|
122
121
|
static async create(options: CreateInstanceOptions = {}): Promise<Peerbit> {
|
|
123
122
|
await sodium.ready; // Some of the modules depends on sodium to be readyy
|
|
124
123
|
|
|
125
|
-
let libp2pExtended: Libp2pExtended = options
|
|
124
|
+
let libp2pExtended: Libp2pExtended | undefined = (options as Libp2pOptions)
|
|
125
|
+
.libp2p as Libp2pExtended;
|
|
126
|
+
const asRelay = (options as SimpleLibp2pOptions).relay;
|
|
127
|
+
|
|
126
128
|
const blocksDirectory =
|
|
127
129
|
options.directory != null
|
|
128
130
|
? path.join(options.directory, "/blocks").toString()
|
|
@@ -140,8 +142,12 @@ export class Peerbit implements ProgramClient {
|
|
|
140
142
|
if (!libp2pExtended) {
|
|
141
143
|
libp2pExtended = await createLibp2pExtended({
|
|
142
144
|
services: {
|
|
143
|
-
blocks: (c) =>
|
|
144
|
-
|
|
145
|
+
blocks: (c) =>
|
|
146
|
+
new DirectBlock(c, {
|
|
147
|
+
canRelayMessage: asRelay,
|
|
148
|
+
directory: blocksDirectory,
|
|
149
|
+
}),
|
|
150
|
+
pubsub: (c) => new DirectSub(c, { canRelayMessage: asRelay }),
|
|
145
151
|
},
|
|
146
152
|
// If directory is passed, we store keys within that directory, else we will use memory datastore (which is the default behaviour)
|
|
147
153
|
datastore,
|
|
@@ -154,8 +160,12 @@ export class Peerbit implements ProgramClient {
|
|
|
154
160
|
libp2pExtended = await createLibp2pExtended({
|
|
155
161
|
...extendedOptions,
|
|
156
162
|
services: {
|
|
157
|
-
blocks: (c) =>
|
|
158
|
-
|
|
163
|
+
blocks: (c) =>
|
|
164
|
+
new DirectBlock(c, {
|
|
165
|
+
canRelayMessage: asRelay,
|
|
166
|
+
directory: blocksDirectory,
|
|
167
|
+
}),
|
|
168
|
+
pubsub: (c) => new DirectSub(c, { canRelayMessage: asRelay }),
|
|
159
169
|
...extendedOptions?.services,
|
|
160
170
|
},
|
|
161
171
|
datastore,
|
|
@@ -210,8 +220,6 @@ export class Peerbit implements ProgramClient {
|
|
|
210
220
|
cache,
|
|
211
221
|
libp2pExternal,
|
|
212
222
|
limitSigning: options.limitSigning,
|
|
213
|
-
minReplicas: options.minReplicas,
|
|
214
|
-
refreshIntreval: options.refreshIntreval,
|
|
215
223
|
identity,
|
|
216
224
|
keychain,
|
|
217
225
|
});
|