@libp2p/floodsub 11.0.1 → 11.0.2-334f91bdc
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 +1 -1
- package/dist/index.min.js.map +4 -4
- package/dist/src/floodsub.d.ts +5 -25
- package/dist/src/floodsub.d.ts.map +1 -1
- package/dist/src/floodsub.js +93 -143
- package/dist/src/floodsub.js.map +1 -1
- package/dist/src/index.d.ts +7 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/peer-streams.d.ts +17 -52
- package/dist/src/peer-streams.d.ts.map +1 -1
- package/dist/src/peer-streams.js +54 -130
- package/dist/src/peer-streams.js.map +1 -1
- package/dist/src/utils.d.ts +0 -4
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +0 -9
- package/dist/src/utils.js.map +1 -1
- package/package.json +8 -12
- package/src/floodsub.ts +99 -165
- package/src/index.ts +7 -7
- package/src/peer-streams.ts +64 -160
- package/src/utils.ts +0 -11
- package/dist/typedoc-urls.json +0 -41
|
@@ -1,68 +1,33 @@
|
|
|
1
1
|
import { TypedEventEmitter } from 'main-event';
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
2
|
+
import type { PubSubRPC } from './floodsub.ts';
|
|
3
|
+
import type { PeerStreamsEvents } from './index.ts';
|
|
4
|
+
import type { Stream, PeerId } from '@libp2p/interface';
|
|
5
|
+
import type { ProtobufStreamOpts } from '@libp2p/utils';
|
|
5
6
|
import type { DecoderOptions as LpDecoderOptions } from 'it-length-prefixed';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
protocol: string;
|
|
10
|
-
}
|
|
11
|
-
export interface PeerStreamsComponents {
|
|
12
|
-
logger: ComponentLogger;
|
|
7
|
+
export interface PeerStreamInit {
|
|
8
|
+
peerId: PeerId;
|
|
9
|
+
stream: Stream;
|
|
13
10
|
}
|
|
14
11
|
export interface DecoderOptions extends LpDecoderOptions {
|
|
15
12
|
}
|
|
16
13
|
/**
|
|
17
14
|
* Thin wrapper around a peer's inbound / outbound pubsub streams
|
|
18
15
|
*/
|
|
19
|
-
export declare class PeerStreams extends TypedEventEmitter<
|
|
20
|
-
readonly
|
|
21
|
-
readonly protocol: string;
|
|
22
|
-
/**
|
|
23
|
-
* Write stream - it's preferable to use the write method
|
|
24
|
-
*/
|
|
25
|
-
outboundStream?: Pushable<Uint8ArrayList>;
|
|
26
|
-
/**
|
|
27
|
-
* Read stream
|
|
28
|
-
*/
|
|
29
|
-
inboundStream?: AsyncIterable<Uint8ArrayList>;
|
|
30
|
-
/**
|
|
31
|
-
* The raw outbound stream, as retrieved from conn.newStream
|
|
32
|
-
*/
|
|
33
|
-
private _rawOutboundStream?;
|
|
34
|
-
/**
|
|
35
|
-
* The raw inbound stream, as retrieved from the callback from libp2p.handle
|
|
36
|
-
*/
|
|
37
|
-
private _rawInboundStream?;
|
|
16
|
+
export declare class PeerStreams extends TypedEventEmitter<PeerStreamsEvents> {
|
|
17
|
+
readonly peerId: PeerId;
|
|
38
18
|
/**
|
|
39
19
|
* An AbortController for controlled shutdown of the inbound stream
|
|
40
20
|
*/
|
|
41
|
-
private readonly
|
|
42
|
-
private
|
|
43
|
-
private
|
|
44
|
-
constructor(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
*/
|
|
48
|
-
get isReadable(): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Do we have a connection to write on?
|
|
51
|
-
*/
|
|
52
|
-
get isWritable(): boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Send a message to this peer.
|
|
55
|
-
* Throws if there is no `stream` to write to available.
|
|
56
|
-
*/
|
|
57
|
-
write(data: Uint8Array | Uint8ArrayList): void;
|
|
58
|
-
/**
|
|
59
|
-
* Attach a raw inbound stream and setup a read stream
|
|
60
|
-
*/
|
|
61
|
-
attachInboundStream(stream: Stream, decoderOptions?: DecoderOptions): AsyncIterable<Uint8ArrayList>;
|
|
21
|
+
private readonly shutDownController;
|
|
22
|
+
private inboundPb?;
|
|
23
|
+
private outboundPb?;
|
|
24
|
+
constructor(peerId: PeerId);
|
|
25
|
+
attachInboundStream(stream: Stream, streamOpts?: Partial<ProtobufStreamOpts>): void;
|
|
26
|
+
attachOutboundStream(stream: Stream, streamOpts?: Partial<ProtobufStreamOpts>): void;
|
|
62
27
|
/**
|
|
63
|
-
*
|
|
28
|
+
* Send a message to this peer
|
|
64
29
|
*/
|
|
65
|
-
|
|
30
|
+
write(message: PubSubRPC): void;
|
|
66
31
|
/**
|
|
67
32
|
* Closes the open connection to peer
|
|
68
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-streams.d.ts","sourceRoot":"","sources":["../../src/peer-streams.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"peer-streams.d.ts","sourceRoot":"","sources":["../../src/peer-streams.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAyB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,KAAK,EAAE,cAAc,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE5E,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAe,SAAQ,gBAAgB;CAEvD;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,iBAAiB,CAAC,iBAAiB,CAAC;IACnE,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiB;IAEpD,OAAO,CAAC,SAAS,CAAC,CAA4B;IAE9C,OAAO,CAAC,UAAU,CAAC,CAA4B;gBAElC,MAAM,EAAE,MAAM;IAO3B,mBAAmB,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAuBpF,oBAAoB,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIrF;;OAEG;IACH,KAAK,CAAE,OAAO,EAAE,SAAS,GAAG,IAAI;IAahC;;OAEG;IACH,KAAK,IAAK,IAAI;CAiBf"}
|
package/dist/src/peer-streams.js
CHANGED
|
@@ -1,154 +1,78 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { pipe } from '@libp2p/utils';
|
|
3
|
-
import * as lp from 'it-length-prefixed';
|
|
4
|
-
import { pushable } from 'it-pushable';
|
|
1
|
+
import { pbStream } from '@libp2p/utils';
|
|
5
2
|
import { TypedEventEmitter } from 'main-event';
|
|
6
|
-
import {
|
|
7
|
-
import { Uint8ArrayList } from 'uint8arraylist';
|
|
3
|
+
import { RPC } from "./message/rpc.js";
|
|
8
4
|
/**
|
|
9
5
|
* Thin wrapper around a peer's inbound / outbound pubsub streams
|
|
10
6
|
*/
|
|
11
7
|
export class PeerStreams extends TypedEventEmitter {
|
|
12
|
-
|
|
13
|
-
protocol;
|
|
14
|
-
/**
|
|
15
|
-
* Write stream - it's preferable to use the write method
|
|
16
|
-
*/
|
|
17
|
-
outboundStream;
|
|
18
|
-
/**
|
|
19
|
-
* Read stream
|
|
20
|
-
*/
|
|
21
|
-
inboundStream;
|
|
22
|
-
/**
|
|
23
|
-
* The raw outbound stream, as retrieved from conn.newStream
|
|
24
|
-
*/
|
|
25
|
-
_rawOutboundStream;
|
|
26
|
-
/**
|
|
27
|
-
* The raw inbound stream, as retrieved from the callback from libp2p.handle
|
|
28
|
-
*/
|
|
29
|
-
_rawInboundStream;
|
|
8
|
+
peerId;
|
|
30
9
|
/**
|
|
31
10
|
* An AbortController for controlled shutdown of the inbound stream
|
|
32
11
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
12
|
+
shutDownController;
|
|
13
|
+
// messages sent by the remote
|
|
14
|
+
inboundPb;
|
|
15
|
+
// messages we send
|
|
16
|
+
outboundPb;
|
|
17
|
+
constructor(peerId) {
|
|
37
18
|
super();
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
40
|
-
this.protocol = init.protocol;
|
|
41
|
-
this._inboundAbortController = new AbortController();
|
|
42
|
-
this.closed = false;
|
|
19
|
+
this.peerId = peerId;
|
|
20
|
+
this.shutDownController = new AbortController();
|
|
43
21
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (this.outboundStream == null) {
|
|
62
|
-
const id = this.id.toString();
|
|
63
|
-
throw new Error('No writable connection to ' + id);
|
|
64
|
-
}
|
|
65
|
-
this.outboundStream.push(data instanceof Uint8Array ? new Uint8ArrayList(data) : data);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Attach a raw inbound stream and setup a read stream
|
|
69
|
-
*/
|
|
70
|
-
attachInboundStream(stream, decoderOptions) {
|
|
71
|
-
const abortListener = () => {
|
|
72
|
-
stream.abort(new AbortError());
|
|
73
|
-
};
|
|
74
|
-
this._inboundAbortController.signal.addEventListener('abort', abortListener, {
|
|
75
|
-
once: true
|
|
22
|
+
attachInboundStream(stream, streamOpts) {
|
|
23
|
+
this.inboundPb = pbStream(stream, streamOpts).pb(RPC);
|
|
24
|
+
Promise.resolve().then(async () => {
|
|
25
|
+
while (true) {
|
|
26
|
+
if (this.inboundPb == null) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const message = await this.inboundPb.read({
|
|
30
|
+
signal: this.shutDownController.signal
|
|
31
|
+
});
|
|
32
|
+
this.safeDispatchEvent('message', {
|
|
33
|
+
detail: message
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
.catch(err => {
|
|
38
|
+
this.inboundPb?.unwrap().unwrap().abort(err);
|
|
76
39
|
});
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
// - transformed with length-prefix transform
|
|
81
|
-
this._rawInboundStream = stream;
|
|
82
|
-
this.inboundStream = pipe(this._rawInboundStream, (source) => lp.decode(source, decoderOptions));
|
|
83
|
-
this.dispatchEvent(new CustomEvent('stream:inbound'));
|
|
84
|
-
return this.inboundStream;
|
|
40
|
+
}
|
|
41
|
+
attachOutboundStream(stream, streamOpts) {
|
|
42
|
+
this.outboundPb = pbStream(stream, streamOpts).pb(RPC);
|
|
85
43
|
}
|
|
86
44
|
/**
|
|
87
|
-
*
|
|
45
|
+
* Send a message to this peer
|
|
88
46
|
*/
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (this.outboundStream != null) {
|
|
93
|
-
// End the stream without emitting a close event
|
|
94
|
-
this.outboundStream.end();
|
|
47
|
+
write(message) {
|
|
48
|
+
if (this.outboundPb == null) {
|
|
49
|
+
return;
|
|
95
50
|
}
|
|
96
|
-
this.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
.catch(err => {
|
|
102
|
-
this.log('error closing outbound stream', err);
|
|
103
|
-
});
|
|
104
|
-
this._rawOutboundStream = undefined;
|
|
105
|
-
this.outboundStream = undefined;
|
|
106
|
-
if (shouldEmit != null) {
|
|
107
|
-
this.dispatchEvent(new CustomEvent('close'));
|
|
108
|
-
}
|
|
109
|
-
}
|
|
51
|
+
this.outboundPb.write(message, {
|
|
52
|
+
signal: this.shutDownController.signal
|
|
53
|
+
})
|
|
54
|
+
.catch(err => {
|
|
55
|
+
this.outboundPb?.unwrap().unwrap().abort(err);
|
|
110
56
|
});
|
|
111
|
-
pipe(this.outboundStream, (source) => lp.encode(source), async (source) => {
|
|
112
|
-
for await (const buf of source) {
|
|
113
|
-
const sendMore = stream.send(buf);
|
|
114
|
-
if (sendMore === false) {
|
|
115
|
-
await pEvent(stream, 'drain', {
|
|
116
|
-
rejectionEvents: [
|
|
117
|
-
'close'
|
|
118
|
-
]
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}).catch((err) => {
|
|
123
|
-
this.log.error(err);
|
|
124
|
-
});
|
|
125
|
-
// Only emit if the connection is new
|
|
126
|
-
if (_prevStream == null) {
|
|
127
|
-
this.dispatchEvent(new CustomEvent('stream:outbound'));
|
|
128
|
-
}
|
|
129
|
-
return this.outboundStream;
|
|
130
57
|
}
|
|
131
58
|
/**
|
|
132
59
|
* Closes the open connection to peer
|
|
133
60
|
*/
|
|
134
61
|
close() {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
this.
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
this._rawInboundStream = undefined;
|
|
150
|
-
this.inboundStream = undefined;
|
|
151
|
-
this.dispatchEvent(new CustomEvent('close'));
|
|
62
|
+
this.shutDownController.abort();
|
|
63
|
+
Promise.all([
|
|
64
|
+
this.inboundPb?.unwrap().unwrap().close()
|
|
65
|
+
.catch(err => {
|
|
66
|
+
this.inboundPb?.unwrap().unwrap().abort(err);
|
|
67
|
+
}),
|
|
68
|
+
this.outboundPb?.unwrap().unwrap().close()
|
|
69
|
+
.catch(err => {
|
|
70
|
+
this.inboundPb?.unwrap().unwrap().abort(err);
|
|
71
|
+
})
|
|
72
|
+
])
|
|
73
|
+
.finally(() => {
|
|
74
|
+
this.safeDispatchEvent('close');
|
|
75
|
+
});
|
|
152
76
|
}
|
|
153
77
|
}
|
|
154
78
|
//# sourceMappingURL=peer-streams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-streams.js","sourceRoot":"","sources":["../../src/peer-streams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"peer-streams.js","sourceRoot":"","sources":["../../src/peer-streams.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -18,10 +18,6 @@ export declare const noSignMsgId: (data: Uint8Array) => Uint8Array | Promise<Uin
|
|
|
18
18
|
* of the second set
|
|
19
19
|
*/
|
|
20
20
|
export declare const anyMatch: (a: Set<number> | number[], b: Set<number> | number[]) => boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Make everything an array
|
|
23
|
-
*/
|
|
24
|
-
export declare const ensureArray: <T>(maybeArray: T | T[]) => T[];
|
|
25
21
|
export declare const toMessage: (message: PubSubRPCMessage) => Promise<Message>;
|
|
26
22
|
export declare const toRpcMessage: (message: Message) => PubSubRPCMessage;
|
|
27
23
|
export declare const bigIntToBytes: (num: bigint) => Uint8Array;
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD;;GAEG;AACH,wBAAgB,WAAW,IAAK,MAAM,CAErC;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,SAAS,EAAE,OAAO,MAAM,KAAG,UASrD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,KAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAE7E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,KAAG,OAe/E,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD;;GAEG;AACH,wBAAgB,WAAW,IAAK,MAAM,CAErC;AAED;;GAEG;AACH,eAAO,MAAM,KAAK,GAAI,KAAK,SAAS,EAAE,OAAO,MAAM,KAAG,UASrD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,UAAU,KAAG,UAAU,GAAG,OAAO,CAAC,UAAU,CAE7E,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,KAAG,OAe/E,CAAA;AAsBD,eAAO,MAAM,SAAS,GAAU,SAAS,gBAAgB,KAAG,OAAO,CAAC,OAAO,CA+B1E,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,gBAiB/C,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,UAQ3C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,UAAU,KAAG,MAEjD,CAAA"}
|
package/dist/src/utils.js
CHANGED
|
@@ -48,15 +48,6 @@ export const anyMatch = (a, b) => {
|
|
|
48
48
|
}
|
|
49
49
|
return false;
|
|
50
50
|
};
|
|
51
|
-
/**
|
|
52
|
-
* Make everything an array
|
|
53
|
-
*/
|
|
54
|
-
export const ensureArray = function (maybeArray) {
|
|
55
|
-
if (!Array.isArray(maybeArray)) {
|
|
56
|
-
return [maybeArray];
|
|
57
|
-
}
|
|
58
|
-
return maybeArray;
|
|
59
|
-
};
|
|
60
51
|
const isSigned = async (message) => {
|
|
61
52
|
if ((message.sequenceNumber == null) || (message.from == null) || (message.signature == null)) {
|
|
62
53
|
return false;
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAKtE;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,MAAM,CAAC,KAAK,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,GAAc,EAAE,KAAa,EAAc,EAAE;IACjE,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAA;IACvF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;IAEzC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACrE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;IAE1C,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAgB,EAAoC,EAAE;IAChF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAyB,EAAE,CAAyB,EAAW,EAAE;IACxF,IAAI,IAAI,CAAA;IACR,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACd,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/floodsub",
|
|
3
|
-
"version": "11.0.
|
|
3
|
+
"version": "11.0.2-334f91bdc",
|
|
4
4
|
"description": "libp2p-floodsub, also known as pubsub-flood or just dumbsub, this implementation of pubsub focused on delivering an API for Publish/Subscribe, but with no CastTree Forming (it just floods the network).",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/floodsub#readme",
|
|
@@ -53,30 +53,26 @@
|
|
|
53
53
|
"test:electron-main": "aegir test -t electron-main"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@libp2p/crypto": "
|
|
57
|
-
"@libp2p/interface": "
|
|
58
|
-
"@libp2p/interface-internal": "
|
|
59
|
-
"@libp2p/peer-collections": "
|
|
60
|
-
"@libp2p/peer-id": "
|
|
61
|
-
"@libp2p/utils": "
|
|
56
|
+
"@libp2p/crypto": "5.1.10-334f91bdc",
|
|
57
|
+
"@libp2p/interface": "3.0.0-334f91bdc",
|
|
58
|
+
"@libp2p/interface-internal": "3.0.1-334f91bdc",
|
|
59
|
+
"@libp2p/peer-collections": "7.0.1-334f91bdc",
|
|
60
|
+
"@libp2p/peer-id": "6.0.1-334f91bdc",
|
|
61
|
+
"@libp2p/utils": "7.0.1-334f91bdc",
|
|
62
62
|
"it-length-prefixed": "^10.0.1",
|
|
63
|
-
"it-pipe": "^3.0.1",
|
|
64
|
-
"it-pushable": "^3.2.3",
|
|
65
63
|
"main-event": "^1.0.1",
|
|
66
64
|
"multiformats": "^13.4.1",
|
|
67
|
-
"p-event": "^7.0.0",
|
|
68
65
|
"p-queue": "^8.1.1",
|
|
69
66
|
"protons-runtime": "^5.6.0",
|
|
70
67
|
"uint8arraylist": "^2.4.8",
|
|
71
68
|
"uint8arrays": "^5.1.0"
|
|
72
69
|
},
|
|
73
70
|
"devDependencies": {
|
|
74
|
-
"@libp2p/logger": "
|
|
71
|
+
"@libp2p/logger": "6.0.1-334f91bdc",
|
|
75
72
|
"@multiformats/multiaddr": "^13.0.1",
|
|
76
73
|
"@types/sinon": "^17.0.4",
|
|
77
74
|
"aegir": "^47.0.22",
|
|
78
75
|
"delay": "^6.0.0",
|
|
79
|
-
"it-all": "^3.0.9",
|
|
80
76
|
"p-wait-for": "^6.0.0",
|
|
81
77
|
"protons": "^7.7.0",
|
|
82
78
|
"sinon": "^21.0.0",
|