libp2p-pubsub
Advanced tools
Comparing version 0.6.0 to 0.7.0
148
package.json
{ | ||
"name": "libp2p-pubsub", | ||
"version": "0.6.0", | ||
"description": "Pubsub base protocol for libp2p pubsub routers", | ||
"leadMaintainer": "Vasco Santos <santos.vasco10@gmail.com>", | ||
"main": "src/index.js", | ||
"scripts": { | ||
"lint": "aegir lint", | ||
"test": "aegir test", | ||
"test:node": "aegir test -t node", | ||
"test:browser": "aegir test -t browser", | ||
"build": "aegir build", | ||
"docs": "aegir-docs", | ||
"release": "aegir release --target node --docs", | ||
"release-minor": "aegir release --type minor --docs", | ||
"release-major": "aegir release --type major --docs", | ||
"coverage": "aegir coverage", | ||
"coverage-publish": "aegir coverage --provider coveralls" | ||
}, | ||
"version": "0.7.0", | ||
"description": "libp2p pubsub base class", | ||
"type": "module", | ||
"files": [ | ||
@@ -24,55 +10,99 @@ "src", | ||
], | ||
"pre-push": [ | ||
"lint" | ||
], | ||
"types": "dist/src/index.d.ts", | ||
"typesVersions": { | ||
"*": { | ||
"*": [ | ||
"dist/src/*", | ||
"dist/src/*/index" | ||
] | ||
} | ||
}, | ||
"eslintConfig": { | ||
"extends": "ipfs", | ||
"ignorePatterns": [ | ||
"src/message/*.d.ts", | ||
"src/message/*.js" | ||
] | ||
}, | ||
"scripts": { | ||
"lint": "aegir lint", | ||
"dep-check": "aegir dep-check dist/src/**/*.js", | ||
"build": "npm run build:types && npm run build:copy-proto-files", | ||
"build:types": "tsc", | ||
"build:proto": "npm run build:proto:rpc && npm run build:proto:topic-descriptor", | ||
"build:proto:rpc": "pbjs -t static-module -w es6 -r libp2p-pubsub-rpc --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/rpc.js ./src/message/rpc.proto", | ||
"build:proto:topic-descriptor": "pbjs -t static-module -w es6 -r libp2p-pubsub-topic-descriptor --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/message/topic-descriptor.js ./src/message/topic-descriptor.proto", | ||
"build:proto-types": "npm run build:proto-types:rpc && npm run build:proto-types:topic-descriptor", | ||
"build:proto-types:rpc": "pbts -o src/message/rpc.d.ts src/message/rpc.js", | ||
"build:proto-types:topic-descriptor": "pbts -o src/message/topic-descriptor.d.ts src/message/topic-descriptor.js", | ||
"build:copy-proto-files": "cp src/message/*.js dist/src/message && cp src/message/*.d.ts dist/src/message", | ||
"pretest": "npm run build", | ||
"test": "aegir test -f ./dist/test/*.js" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/libp2p/js-libp2p-pubsub.git" | ||
"url": "git+https://github.com/libp2p/js-libp2p-interfaces.git" | ||
}, | ||
"keywords": [ | ||
"IPFS", | ||
"libp2p", | ||
"pubsub", | ||
"gossip", | ||
"flood", | ||
"flooding" | ||
"interface" | ||
], | ||
"license": "MIT", | ||
"author": "", | ||
"license": "(Apache-2.0 OR MIT)", | ||
"bugs": { | ||
"url": "https://github.com/libp2p/js-libp2p-pubsub/issues" | ||
"url": "https://github.com/libp2p/js-libp2p-interfaces/issues" | ||
}, | ||
"homepage": "https://github.com/libp2p/js-libp2p-pubsub#readme", | ||
"homepage": "https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-pubsub#readme", | ||
"dependencies": { | ||
"debug": "^4.3.2", | ||
"err-code": "^3.0.1", | ||
"iso-random-stream": "^2.0.0", | ||
"it-length-prefixed": "^5.0.3", | ||
"it-pipe": "^1.1.0", | ||
"libp2p-interfaces": "^2.0.0", | ||
"libp2p-topology": "^0.1.0", | ||
"multiaddr": "^10.0.1", | ||
"multiformats": "^9.4.10", | ||
"p-queue": "^7.1.0", | ||
"peer-id": "^0.15.3", | ||
"uint8arrays": "^3.0.0" | ||
}, | ||
"devDependencies": { | ||
"aegir": "^25.0.0", | ||
"benchmark": "^2.1.4", | ||
"chai": "^4.2.0", | ||
"chai-spies": "^1.0.0", | ||
"dirty-chai": "^2.0.1", | ||
"it-pair": "^1.0.0", | ||
"multiaddr": "^8.0.0", | ||
"sinon": "^9.0.0" | ||
"@types/bl": "^5.0.2", | ||
"@types/debug": "^4.1.7", | ||
"aegir": "^36.0.0", | ||
"protobufjs": "^6.10.2", | ||
"util": "^0.12.4" | ||
}, | ||
"dependencies": { | ||
"debug": "^4.1.1", | ||
"err-code": "^2.0.0", | ||
"it-length-prefixed": "^3.0.0", | ||
"it-pipe": "^1.0.1", | ||
"it-pushable": "^1.3.2", | ||
"libp2p-crypto": "^0.18.0", | ||
"libp2p-interfaces": "^0.4.0", | ||
"multibase": "^3.0.0", | ||
"peer-id": "^0.14.0", | ||
"protons": "^2.0.0", | ||
"uint8arrays": "^1.1.0" | ||
"exports": { | ||
".": { | ||
"import": "./dist/src/index.js", | ||
"types": "./dist/src/index.d.ts" | ||
}, | ||
"./errors": { | ||
"import": "./dist/src/errors.js", | ||
"types": "./dist/src/errors.d.ts" | ||
}, | ||
"./peer-streams": { | ||
"import": "./dist/src/peer-streams.js", | ||
"types": "./dist/src/peer-streams.d.ts" | ||
}, | ||
"./signature-policy": { | ||
"import": "./dist/src/signature-policy.js", | ||
"types": "./dist/src/signature-policy.d.ts" | ||
}, | ||
"./utils": { | ||
"import": "./dist/src/utils.js", | ||
"types": "./dist/src/utils.d.ts" | ||
}, | ||
"./message/rpc": { | ||
"import": "./dist/src/message/rpc.js", | ||
"types": "./dist/src/message/rpc.d.ts" | ||
}, | ||
"./message/topic-descriptor": { | ||
"import": "./dist/src/message/topic-descriptor.js", | ||
"types": "./dist/src/message/topic-descriptor.d.ts" | ||
} | ||
}, | ||
"contributors": [ | ||
"Vasco Santos <vasco.santos@moxy.studio>", | ||
"Jacob Heun <jacobheun@gmail.com>", | ||
"Mikerah <mikerahqc@protonmail.com>", | ||
"Cayman <caymannava@gmail.com>", | ||
"Topper Bowers <topper@toppingdesign.com>", | ||
"Alex Potsides <alex@achingbrain.net>", | ||
"Hugo Dias <hugomrdias@gmail.com>", | ||
"Alan Shaw <alan.shaw@protocol.ai>" | ||
] | ||
"gitHead": "045f7d77535ee61562af0b0e2a7dfd168b214430" | ||
} |
216
README.md
@@ -1,221 +0,35 @@ | ||
js-libp2p-pubsub | ||
================== | ||
# libp2p-pubsub <!-- omit in toc --> | ||
[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) | ||
[![](https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square)](http://libp2p.io/) | ||
[![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23ipfs) | ||
[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io) | ||
[![Coverage Status](https://coveralls.io/repos/github/libp2p/js-libp2p-pubsub/badge.svg?branch=master)](https://coveralls.io/github/libp2p/js-libp2p-pubsub?branch=master) | ||
[![Travis CI](https://travis-ci.org/libp2p/js-libp2p-pubsub.svg?branch=master)](https://travis-ci.org/libp2p/js-libp2p-pubsub) | ||
[![Circle CI](https://circleci.com/gh/libp2p/js-libp2p-pubsub.svg?style=svg)](https://circleci.com/gh/libp2p/js-libp2p-pubsub) | ||
[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-pubsub.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-pubsub) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard) | ||
[![standard-readme compliant](https://img.shields.io/badge/standard--readme-OK-green.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme) | ||
[![](https://img.shields.io/badge/pm-waffle-yellow.svg?style=flat-square)](https://waffle.io/libp2p/js-libp2p-pubsub) | ||
> Contains an implementation of the [Pubsub](https://github.com/libp2p/js-libp2p-interfaces/blob/master/packages/libp2p-interfaces/src/pubsub/index.ts) interface | ||
> libp2p-pubsub is the base protocol for libp2p pubsub implementations. This module is responsible for registering the protocol with libp2p, as well as managing the logic regarding pubsub connections with other peers. | ||
## Table of contents <!-- omit in toc --> | ||
## Lead Maintainer | ||
[Vasco Santos](https://github.com/vasco-santos). | ||
## Table of Contents | ||
- [Install](#install) | ||
- [Usage](#usage) | ||
- [API](#api) | ||
- [Contribute](#contribute) | ||
- [License](#license) | ||
## Install | ||
## Usage | ||
```sh | ||
> npm install libp2p-pubsub | ||
```console | ||
npm i libp2p-pubsub | ||
``` | ||
## Usage | ||
```javascript | ||
import { PubsubBaseProtocol } from 'libp2p-pubsub' | ||
`libp2p-pubsub` abstracts the implementation protocol registration within `libp2p` and takes care of all the protocol connections. This way, a pubsub implementation can focus on its routing algorithm, instead of also needing to create the setup for it. | ||
A pubsub implementation **MUST** override the `_processMessages`, `publish`, `subscribe`, `unsubscribe` and `getTopics` functions. | ||
Other functions, such as `_onPeerConnected`, `_onPeerDisconnected`, `_addPeer`, `_removePeer`, `start` and `stop` may be overwritten if the pubsub implementation needs to customize their logic. Implementations overriding `start` and `stop` **MUST** call `super`. The `start` function is responsible for registering the pubsub protocol with libp2p, while the `stop` function is responsible for unregistering the pubsub protocol and closing pubsub connections. | ||
All the remaining functions **MUST NOT** be overwritten. | ||
The following example aims to show how to create your pubsub implementation extending this base protocol. The pubsub implementation will handle the subscriptions logic. | ||
TODO: add explanation for registrar! | ||
```JavaScript | ||
const Pubsub = require('libp2p-pubsub') | ||
class PubsubImplementation extends Pubsub { | ||
constructor({ peerId, registrar, ...options }) | ||
super({ | ||
debugName: 'libp2p:pubsub', | ||
multicodecs: '/pubsub-implementation/1.0.0', | ||
peerId: peerId, | ||
registrar: registrar, | ||
signMessages: options.signMessages, | ||
strictSigning: options.strictSigning | ||
}) | ||
} | ||
_processMessages(idB58Str, conn, peer) { | ||
// Required to be implemented by the subclass | ||
// Process each message accordingly | ||
} | ||
publish() { | ||
// Required to be implemented by the subclass | ||
} | ||
subscribe() { | ||
// Required to be implemented by the subclass | ||
} | ||
unsubscribe() { | ||
// Required to be implemented by the subclass | ||
} | ||
getTopics() { | ||
// Required to be implemented by the subclass | ||
} | ||
class MyPubsubImplementation extends PubsubBaseProtocol { | ||
// .. extra methods here | ||
} | ||
``` | ||
## API | ||
The following specified API should be the base API for a pubsub implementation on top of `libp2p`. | ||
### Start | ||
Starts the pubsub subsystem. The protocol will be registered to `libp2p`, which will result in pubsub being notified when peers who support the protocol connect/disconnect to `libp2p`. | ||
#### `pubsub.start()` | ||
##### Returns | ||
| Type | Description | | ||
|------|-------------| | ||
| `Promise<void>` | resolves once pubsub starts | | ||
### Stop | ||
Stops the pubsub subsystem. The protocol will be unregistered from `libp2p`, which will remove all listeners for the protocol and the established connections will be closed. | ||
#### `pubsub.stop()` | ||
##### Returns | ||
| Type | Description | | ||
|------|-------------| | ||
| `Promise<void>` | resolves once pubsub stops | | ||
### Publish | ||
Publish data messages to pubsub topics. | ||
#### `pubsub.publish(topics, messages)` | ||
##### Parameters | ||
| Name | Type | Description | | ||
|------|------|-------------| | ||
| topics | `Array<string>|string` | set of pubsub topics | | ||
| messages | `Array<any>|any` | set of messages to publish | | ||
##### Returns | ||
| Type | Description | | ||
|------|-------------| | ||
| `Promise<void>` | resolves once messages are published to the network | | ||
### Subscribe | ||
Subscribe to the given topic(s). | ||
#### `pubsub.subscribe(topics)` | ||
##### Parameters | ||
| Name | Type | Description | | ||
|------|------|-------------| | ||
| topics | `Array<string>|string` | set of pubsub topics | | ||
### Unsubscribe | ||
Unsubscribe from the given topic(s). | ||
#### `pubsub.unsubscribe(topics)` | ||
##### Parameters | ||
| Name | Type | Description | | ||
|------|------|-------------| | ||
| topics | `Array<string>|string` | set of pubsub topics | | ||
### Get Topics | ||
Get the list of topics which the peer is subscribed to. | ||
#### `pubsub.getTopics()` | ||
##### Returns | ||
| Type | Description | | ||
|------|-------------| | ||
| `Array<String>` | Array of subscribed topics | | ||
### Get Peers Subscribed to a topic | ||
Get a list of the [PeerId](https://github.com/libp2p/js-peer-id) strings that are subscribed to one topic. | ||
#### `pubsub.getSubscribers(topic)` | ||
##### Parameters | ||
| Name | Type | Description | | ||
|------|------|-------------| | ||
| topic | `string` | pubsub topic | | ||
##### Returns | ||
| Type | Description | | ||
|------|-------------| | ||
| `Array<string>` | Array of base-58 PeerId's | | ||
### Validate | ||
Validates the signature of a message. | ||
#### `pubsub.validate(message)` | ||
##### Parameters | ||
| Name | Type | Description | | ||
|------|------|-------------| | ||
| message | `Message` | a pubsub message | | ||
#### Returns | ||
| Type | Description | | ||
|------|-------------| | ||
| `Promise<Boolean>` | resolves to true if the message is valid | | ||
## Implementations using this base protocol | ||
You can use the following implementations as examples for building your own pubsub implementation. | ||
- [libp2p/js-libp2p-floodsub](https://github.com/libp2p/js-libp2p-floodsub) | ||
- [ChainSafe/js-libp2p-gossipsub](https://github.com/ChainSafe/js-libp2p-gossipsub) | ||
## Contribute | ||
Feel free to join in. All welcome. Open an [issue](https://github.com/libp2p/js-libp2p-pubsub/issues)! | ||
The libp2p implementation in JavaScript is a work in progress. As such, there are a few things you can do right now to help out: | ||
This repository falls under the IPFS [Code of Conduct](https://github.com/ipfs/community/blob/master/code-of-conduct.md). | ||
- Go through the modules and **check out existing issues**. This would be especially useful for modules in active development. Some knowledge of IPFS/libp2p may be required, as well as the infrastructure behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically. | ||
- **Perform code reviews**. More eyes will help a) speed the project along b) ensure quality and c) reduce possible future bugs. | ||
- **Add tests**. There can never be enough tests. | ||
## License | ||
Copyright (c) Protocol Labs, Inc. under the **MIT License**. See [LICENSE file](./LICENSE) for details. | ||
[Apache-2.0](LICENSE-APACHE) or [MIT](LICENSE-MIT) © Protocol Labs |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No contributors or author data
MaintenancePackage does not specify a list of contributors or an author in package.json.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
5
76
6338
Yes
338545
12
1
2
36
2
+ Addediso-random-stream@^2.0.0
+ Addedlibp2p-topology@^0.1.0
+ Addedmultiaddr@^10.0.1
+ Addedmultiformats@^9.4.10
+ Addedp-queue@^7.1.0
+ Added@noble/ed25519@1.7.3(transitive)
+ Added@noble/secp256k1@1.7.1(transitive)
+ Addedbl@5.1.0(transitive)
+ Addedeventemitter3@4.0.75.0.1(transitive)
+ Addedit-length-prefixed@5.0.3(transitive)
+ Addedlibp2p-crypto@0.20.00.21.2(transitive)
+ Addedlibp2p-interfaces@2.0.9(transitive)
+ Addedlibp2p-topology@0.1.0(transitive)
+ Addedmultiaddr@10.0.1(transitive)
+ Addednoble-ed25519@1.2.6(transitive)
+ Addednoble-secp256k1@1.2.14(transitive)
+ Addednode-forge@1.3.1(transitive)
+ Addedp-queue@6.6.27.4.1(transitive)
+ Addedp-timeout@5.1.0(transitive)
+ Addedpeer-id@0.15.40.16.0(transitive)
- Removedit-pushable@^1.3.2
- Removedlibp2p-crypto@^0.18.0
- Removedmultibase@^3.0.0
- Removedprotons@^2.0.0
- Removed@multiformats/base-x@4.0.1(transitive)
- Removed@sinonjs/commons@1.8.6(transitive)
- Removed@sinonjs/fake-timers@6.0.1(transitive)
- Removed@sinonjs/samsam@5.3.1(transitive)
- Removed@sinonjs/text-encoding@0.7.3(transitive)
- Removed@types/bl@2.1.0(transitive)
- Removed@zxing/text-encoding@0.9.0(transitive)
- Removedabort-controller@3.0.0(transitive)
- Removedassertion-error@1.1.0(transitive)
- Removedavailable-typed-arrays@1.0.7(transitive)
- Removedbl@4.1.0(transitive)
- Removedblakejs@1.2.1(transitive)
- Removedbrorand@1.1.0(transitive)
- Removedbuffer@5.7.1(transitive)
- Removedcall-bind@1.0.7(transitive)
- Removedchai@4.5.0(transitive)
- Removedchai-checkmark@1.0.1(transitive)
- Removedcheck-error@1.0.3(transitive)
- Removedcids@1.1.9(transitive)
- Removeddeep-eql@4.1.4(transitive)
- Removeddefine-data-property@1.1.4(transitive)
- Removeddelay@4.4.1(transitive)
- Removeddetect-node@2.1.0(transitive)
- Removeddiff@4.0.2(transitive)
- Removeddirty-chai@2.0.1(transitive)
- Removedelliptic@6.6.1(transitive)
- Removederr-code@2.0.3(transitive)
- Removedes-define-property@1.0.0(transitive)
- Removedes-errors@1.3.0(transitive)
- Removedevent-target-shim@5.0.1(transitive)
- Removedfor-each@0.3.3(transitive)
- Removedfunction-bind@1.1.2(transitive)
- Removedget-func-name@2.0.2(transitive)
- Removedget-intrinsic@1.2.4(transitive)
- Removedgopd@1.0.1(transitive)
- Removedhas-flag@4.0.0(transitive)
- Removedhas-property-descriptors@1.0.2(transitive)
- Removedhas-proto@1.0.3(transitive)
- Removedhas-symbols@1.0.3(transitive)
- Removedhas-tostringtag@1.0.2(transitive)
- Removedhash.js@1.1.7(transitive)
- Removedhasown@2.0.2(transitive)
- Removedhmac-drbg@1.0.1(transitive)
- Removedip-address@7.1.0(transitive)
- Removedipaddr.js@2.2.0(transitive)
- Removedis-arguments@1.1.1(transitive)
- Removedis-callable@1.2.7(transitive)
- Removedis-generator-function@1.0.10(transitive)
- Removedis-loopback-addr@1.0.1(transitive)
- Removedis-typed-array@1.1.13(transitive)
- Removedis-typedarray@1.0.0(transitive)
- Removedisarray@0.0.1(transitive)
- Removediso-random-stream@1.1.2(transitive)
- Removedit-goodbye@2.0.2(transitive)
- Removedit-length-prefixed@3.1.0(transitive)
- Removedit-pair@1.0.0(transitive)
- Removedjs-sha3@0.8.0(transitive)
- Removedjsbn@1.1.0(transitive)
- Removedjust-extend@4.2.1(transitive)
- Removedlibp2p-crypto@0.18.00.19.7(transitive)
- Removedlibp2p-interfaces@0.4.1(transitive)
- Removedlibp2p-tcp@0.15.4(transitive)
- Removedlibp2p-utils@0.3.1(transitive)
- Removedlodash.get@4.4.2(transitive)
- Removedloupe@2.3.7(transitive)
- Removedmafmt@9.0.0(transitive)
- Removedminimalistic-crypto-utils@1.0.1(transitive)
- Removedmultiaddr@8.1.29.0.2(transitive)
- Removedmultibase@3.1.24.0.6(transitive)
- Removedmulticodec@2.1.33.2.1(transitive)
- Removedmultihashes@4.0.3(transitive)
- Removedmultihashing-async@2.1.4(transitive)
- Removedmurmurhash3js-revisited@3.0.0(transitive)
- Removednetmask@2.0.2(transitive)
- Removednise@4.1.0(transitive)
- Removednode-addon-api@5.1.0(transitive)
- Removednode-forge@0.9.2(transitive)
- Removednode-gyp-build@4.8.3(transitive)
- Removedp-defer@3.0.0(transitive)
- Removedp-limit@2.3.0(transitive)
- Removedp-try@2.2.0(transitive)
- Removedp-wait-for@3.2.0(transitive)
- Removedpath-to-regexp@1.9.0(transitive)
- Removedpathval@1.1.1(transitive)
- Removedpeer-id@0.14.8(transitive)
- Removedpossible-typed-array-names@1.0.0(transitive)
- Removedprivate-ip@2.3.4(transitive)
- Removedprotocol-buffers-schema@3.6.0(transitive)
- Removedprotons@2.0.3(transitive)
- Removedsecp256k1@4.0.4(transitive)
- Removedset-function-length@1.2.2(transitive)
- Removedsigned-varint@2.0.1(transitive)
- Removedsinon@9.2.4(transitive)
- Removedsprintf-js@1.1.2(transitive)
- Removedstream-to-it@0.2.4(transitive)
- Removedstreaming-iterables@5.0.4(transitive)
- Removedsupports-color@7.2.0(transitive)
- Removedtype-detect@4.0.84.1.0(transitive)
- Removeduint8arrays@1.1.02.1.10(transitive)
- Removedutil@0.12.5(transitive)
- Removedvarint@5.0.2(transitive)
- Removedweb-encoding@1.1.5(transitive)
- Removedwhich-typed-array@1.1.15(transitive)
Updateddebug@^4.3.2
Updatederr-code@^3.0.1
Updatedit-length-prefixed@^5.0.3
Updatedit-pipe@^1.1.0
Updatedlibp2p-interfaces@^2.0.0
Updatedpeer-id@^0.15.3
Updateduint8arrays@^3.0.0