From 81345d0beaf156b96f729a4fcc3941484637c638 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 12 Oct 2022 15:51:51 +0000 Subject: [PATCH 1/6] chore(release): 1.0.19 [skip ci] ## [@libp2p/peer-id-factory-v1.0.19](https://github.com/libp2p/js-libp2p-peer-id/compare/@libp2p/peer-id-factory-v1.0.18...@libp2p/peer-id-factory-v1.0.19) (2022-10-12) ### Dependencies * bump uint8arrays, protons and multiformats ([#28](https://github.com/libp2p/js-libp2p-peer-id/issues/28)) ([e270265](https://github.com/libp2p/js-libp2p-peer-id/commit/e27026508b3684e6cb2eb896de19c161dbd21d45)) --- packages/libp2p-peer-id-factory/CHANGELOG.md | 7 +++++++ packages/libp2p-peer-id-factory/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/libp2p-peer-id-factory/CHANGELOG.md b/packages/libp2p-peer-id-factory/CHANGELOG.md index 15bdec6..3c69a8f 100644 --- a/packages/libp2p-peer-id-factory/CHANGELOG.md +++ b/packages/libp2p-peer-id-factory/CHANGELOG.md @@ -1,3 +1,10 @@ +## [@libp2p/peer-id-factory-v1.0.19](https://github.com/libp2p/js-libp2p-peer-id/compare/@libp2p/peer-id-factory-v1.0.18...@libp2p/peer-id-factory-v1.0.19) (2022-10-12) + + +### Dependencies + +* bump uint8arrays, protons and multiformats ([#28](https://github.com/libp2p/js-libp2p-peer-id/issues/28)) ([e270265](https://github.com/libp2p/js-libp2p-peer-id/commit/e27026508b3684e6cb2eb896de19c161dbd21d45)) + ## [@libp2p/peer-id-factory-v1.0.18](https://github.com/libp2p/js-libp2p-peer-id/compare/@libp2p/peer-id-factory-v1.0.17...@libp2p/peer-id-factory-v1.0.18) (2022-08-11) diff --git a/packages/libp2p-peer-id-factory/package.json b/packages/libp2p-peer-id-factory/package.json index a3bc7c5..4e60616 100644 --- a/packages/libp2p-peer-id-factory/package.json +++ b/packages/libp2p-peer-id-factory/package.json @@ -1,6 +1,6 @@ { "name": "@libp2p/peer-id-factory", - "version": "1.0.18", + "version": "1.0.19", "description": "Create PeerId instances", "license": "Apache-2.0 OR MIT", "homepage": "https://github.com/libp2p/js-libp2p-peer-id/tree/master/packages/libp2p-peer-id-factory#readme", From 2276076650a0e1ecd0954be104eb7269e688b6ec Mon Sep 17 00:00:00 2001 From: tabcat Date: Tue, 8 Nov 2022 10:08:01 -0600 Subject: [PATCH 2/6] chore: fix peer-d typo in readmes (#31) --- README.md | 2 +- packages/libp2p-peer-id/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 65ea51d..1f5ee4b 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ## Structure -- [`/packages/libp2p-peer-id`](./packages/libp2p-peer-id) Implementation of @libp2p/interface-peer-d +- [`/packages/libp2p-peer-id`](./packages/libp2p-peer-id) Implementation of @libp2p/interface-peer-id - [`/packages/libp2p-peer-id-factory`](./packages/libp2p-peer-id-factory) Create PeerId instances ## License diff --git a/packages/libp2p-peer-id/README.md b/packages/libp2p-peer-id/README.md index b688e24..532ac12 100644 --- a/packages/libp2p-peer-id/README.md +++ b/packages/libp2p-peer-id/README.md @@ -6,7 +6,7 @@ [![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-peer-id.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-peer-id) [![CI](https://img.shields.io/github/workflow/status/libp2p/js-libp2p-interfaces/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/libp2p/js-libp2p-peer-id/actions/workflows/js-test-and-release.yml) -> Implementation of @libp2p/interface-peer-d +> Implementation of @libp2p/interface-peer-id ## Table of contents From 4701d1df200bd42dc470149431efbfc2640ddb32 Mon Sep 17 00:00:00 2001 From: web3-bot <81333946+web3-bot@users.noreply.github.com> Date: Mon, 14 Nov 2022 16:11:40 +0100 Subject: [PATCH 3/6] update .github/workflows/js-test-and-release.yml (#33) --- .github/workflows/js-test-and-release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/js-test-and-release.yml b/.github/workflows/js-test-and-release.yml index 65d30bd..ed17349 100644 --- a/.github/workflows/js-test-and-release.yml +++ b/.github/workflows/js-test-and-release.yml @@ -7,8 +7,6 @@ on: branches: - master # with #262 - ${{{ github.default_branch }}} pull_request: - branches: - - master # with #262 - ${{{ github.default_branch }}} jobs: From f5bbf38d53e20034321c02f2c5ac97aae29ca243 Mon Sep 17 00:00:00 2001 From: web3-bot <81333946+web3-bot@users.noreply.github.com> Date: Fri, 25 Nov 2022 19:31:08 +0100 Subject: [PATCH 4/6] update .github/workflows/js-test-and-release.yml (#34) --- .github/workflows/js-test-and-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/js-test-and-release.yml b/.github/workflows/js-test-and-release.yml index ed17349..c6897e3 100644 --- a/.github/workflows/js-test-and-release.yml +++ b/.github/workflows/js-test-and-release.yml @@ -27,7 +27,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - node: [16] + node: [lts/*] fail-fast: true steps: - uses: actions/checkout@v3 From f80d1ea0b6272692de69ed1d224e6cc16d9b84fb Mon Sep 17 00:00:00 2001 From: Alex Potsides Date: Thu, 8 Dec 2022 08:11:28 +0000 Subject: [PATCH 5/6] fix: human readable peer ids in console.log (#36) Add [inspect](https://nodejs.org/api/util.html#utilinspectcustom) method so when printing PeerIds in the console they are readble. Old: ``` { peer: RSAPeerIdImpl [PeerId(QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN)] { type: 'RSA', multihash: Digest { code: 18, size: 32, digest: [Uint8Array], bytes: [Uint8Array] }, privateKey: undefined, publicKey: }, name: 'DIALING_PEER', type: 7 } { to: RSAPeerIdImpl [PeerId(QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN)] { type: 'RSA', multihash: Digest { code: 18, size: 32, digest: [Uint8Array], bytes: [Uint8Array] }, privateKey: undefined, publicKey: }, type: 0, name: 'SENDING_QUERY', messageName: 'ADD_PROVIDER', messageType: 2 } { from: RSAPeerIdImpl [PeerId(QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN)] { type: 'RSA', multihash: Digest { code: 18, size: 32, digest: [Uint8Array], bytes: [Uint8Array] }, privateKey: undefined, publicKey: }, messageType: 'ADD_PROVIDER', name: 'PEER_RESPONSE', type: 1, messageName: 'ADD_PROVIDER', closer: [], providers: [] } ``` New: ``` { peer: PeerId(QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt), name: 'DIALING_PEER', type: 7 } { to: PeerId(QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt), type: 0, name: 'SENDING_QUERY', messageName: 'ADD_PROVIDER', messageType: 2 } { from: PeerId(QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt), messageType: 'ADD_PROVIDER', name: 'PEER_RESPONSE', type: 1, messageName: 'ADD_PROVIDER', closer: [], providers: [] } ``` --- packages/libp2p-peer-id/src/index.ts | 40 ++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/packages/libp2p-peer-id/src/index.ts b/packages/libp2p-peer-id/src/index.ts index b1ac290..d075884 100644 --- a/packages/libp2p-peer-id/src/index.ts +++ b/packages/libp2p-peer-id/src/index.ts @@ -6,11 +6,13 @@ import { identity } from 'multiformats/hashes/identity' import { equals as uint8ArrayEquals } from 'uint8arrays/equals' import { sha256 } from 'multiformats/hashes/sha2' import errcode from 'err-code' -import { Ed25519PeerId, RSAPeerId, Secp256k1PeerId, symbol } from '@libp2p/interface-peer-id' +import { Ed25519PeerId, PeerIdType, RSAPeerId, Secp256k1PeerId, symbol } from '@libp2p/interface-peer-id' import type { MultibaseDecoder } from 'multiformats/bases/interface' import type { MultihashDigest } from 'multiformats/hashes/interface' import type { PeerId } from '@libp2p/interface-peer-id' +const inspect = Symbol.for('nodejs.util.inspect.custom') + const baseDecoder = Object .values(bases) .map(codec => codec.decoder) @@ -24,7 +26,7 @@ const MARSHALLED_ED225519_PUBLIC_KEY_LENGTH = 36 const MARSHALLED_SECP256K1_PUBLIC_KEY_LENGTH = 37 interface PeerIdInit { - type: 'RSA' | 'Ed25519' | 'secp256k1' + type: PeerIdType multihash: MultihashDigest privateKey?: Uint8Array } @@ -46,7 +48,7 @@ interface Secp256k1PeerIdInit { } class PeerIdImpl { - public type: 'RSA' | 'Ed25519' | 'secp256k1' + public type: PeerIdType public readonly multihash: MultihashDigest public readonly privateKey?: Uint8Array public readonly publicKey?: Uint8Array @@ -111,6 +113,22 @@ class PeerIdImpl { throw new Error('not valid Id') } } + + /** + * Returns PeerId as a human-readable string + * https://nodejs.org/api/util.html#utilinspectcustom + * + * @example + * ```js + * import { peerIdFromString } from '@libp2p/peer-id' + * + * console.info(peerIdFromString('QmFoo')) + * // 'PeerId(QmFoo)' + * ``` + */ + [inspect] (): string { + return `PeerId(${this.toString()})` + } } class RSAPeerIdImpl extends PeerIdImpl implements RSAPeerId { @@ -146,8 +164,20 @@ class Secp256k1PeerIdImpl extends PeerIdImpl implements Secp256k1PeerId { } } -export function createPeerId (init: PeerIdInit) { - return new PeerIdImpl(init) +export function createPeerId (init: PeerIdInit): PeerId { + if (init.type === 'RSA') { + return new RSAPeerIdImpl(init) + } + + if (init.type === 'Ed25519') { + return new Ed25519PeerIdImpl(init) + } + + if (init.type === 'secp256k1') { + return new Secp256k1PeerIdImpl(init) + } + + throw errcode(new Error('Type must be "RSA", "Ed25519" or "secp256k1"'), 'ERR_INVALID_PARAMETERS') } export function peerIdFromPeerId (other: any): PeerId { From 0182a0a08a71ca9e486eb172d37af5b17a5f4e50 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 8 Dec 2022 08:17:28 +0000 Subject: [PATCH 6/6] chore(release): 1.1.17 [skip ci] ## [@libp2p/peer-id-v1.1.17](https://github.com/libp2p/js-libp2p-peer-id/compare/@libp2p/peer-id-v1.1.16...@libp2p/peer-id-v1.1.17) (2022-12-08) ### Bug Fixes * human readable peer ids in console.log ([#36](https://github.com/libp2p/js-libp2p-peer-id/issues/36)) ([f80d1ea](https://github.com/libp2p/js-libp2p-peer-id/commit/f80d1ea0b6272692de69ed1d224e6cc16d9b84fb)) ### Trivial Changes * fix peer-d typo in readmes ([#31](https://github.com/libp2p/js-libp2p-peer-id/issues/31)) ([2276076](https://github.com/libp2p/js-libp2p-peer-id/commit/2276076650a0e1ecd0954be104eb7269e688b6ec)) --- packages/libp2p-peer-id/CHANGELOG.md | 12 ++++++++++++ packages/libp2p-peer-id/package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/libp2p-peer-id/CHANGELOG.md b/packages/libp2p-peer-id/CHANGELOG.md index eed82fc..1fee71d 100644 --- a/packages/libp2p-peer-id/CHANGELOG.md +++ b/packages/libp2p-peer-id/CHANGELOG.md @@ -1,3 +1,15 @@ +## [@libp2p/peer-id-v1.1.17](https://github.com/libp2p/js-libp2p-peer-id/compare/@libp2p/peer-id-v1.1.16...@libp2p/peer-id-v1.1.17) (2022-12-08) + + +### Bug Fixes + +* human readable peer ids in console.log ([#36](https://github.com/libp2p/js-libp2p-peer-id/issues/36)) ([f80d1ea](https://github.com/libp2p/js-libp2p-peer-id/commit/f80d1ea0b6272692de69ed1d224e6cc16d9b84fb)) + + +### Trivial Changes + +* fix peer-d typo in readmes ([#31](https://github.com/libp2p/js-libp2p-peer-id/issues/31)) ([2276076](https://github.com/libp2p/js-libp2p-peer-id/commit/2276076650a0e1ecd0954be104eb7269e688b6ec)) + ## [@libp2p/peer-id-v1.1.16](https://github.com/libp2p/js-libp2p-peer-id/compare/@libp2p/peer-id-v1.1.15...@libp2p/peer-id-v1.1.16) (2022-10-12) diff --git a/packages/libp2p-peer-id/package.json b/packages/libp2p-peer-id/package.json index 5246a22..ff7150b 100644 --- a/packages/libp2p-peer-id/package.json +++ b/packages/libp2p-peer-id/package.json @@ -1,6 +1,6 @@ { "name": "@libp2p/peer-id", - "version": "1.1.16", + "version": "1.1.17", "description": "Implementation of @libp2p/interface-peer-d", "license": "Apache-2.0 OR MIT", "homepage": "https://github.com/libp2p/js-libp2p-peer-id/tree/master/packages/libp2p-peer-id#readme",