mirror of
https://github.com/fluencelabs/js-peer-id
synced 2025-07-04 03:01:54 +00:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
ed211a943b | |||
8ea480a3b0 | |||
f39fb24321 | |||
911aa634d3 |
@ -22,7 +22,6 @@ jobs:
|
||||
|
||||
- stage: check
|
||||
script:
|
||||
- npx aegir commitlint --travis
|
||||
- npx aegir dep-check
|
||||
- npm run lint
|
||||
|
||||
|
10
CHANGELOG.md
10
CHANGELOG.md
@ -1,3 +1,13 @@
|
||||
<a name="0.13.3"></a>
|
||||
## [0.13.3](https://github.com/libp2p/js-peer-id/compare/v0.13.2...v0.13.3) (2019-09-25)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* allow nested PeerIds to support pubKey function when using identity encoding ([#101](https://github.com/libp2p/js-peer-id/issues/101)) ([f39fb24](https://github.com/libp2p/js-peer-id/commit/f39fb24))
|
||||
|
||||
|
||||
|
||||
<a name="0.13.2"></a>
|
||||
## [0.13.2](https://github.com/libp2p/js-peer-id/compare/v0.13.1...v0.13.2) (2019-07-12)
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
## Lead Maintainer
|
||||
|
||||
[Pedro Teixeira](https://github.com/pgte)
|
||||
[Vasco Santos](https://github.com/vasco-santos)
|
||||
|
||||
## Table of Contents
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"name": "peer-id",
|
||||
"version": "0.13.2",
|
||||
"version": "0.13.3",
|
||||
"description": "IPFS Peer Id implementation in Node.js",
|
||||
"leadMaintainer": "Pedro Teixeira <i@pgte.me>",
|
||||
"leadMaintainer": "Vasco Santos <santos.vasco10@gmail.com>",
|
||||
"main": "src/index.js",
|
||||
"bin": "src/bin.js",
|
||||
"scripts": {
|
||||
@ -34,7 +34,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/libp2p/js-peer-id",
|
||||
"devDependencies": {
|
||||
"aegir": "^19.0.5",
|
||||
"aegir": "^20.0.0",
|
||||
"bundlesize": "~0.18.0",
|
||||
"chai": "^4.2.0",
|
||||
"dirty-chai": "^2.0.1"
|
||||
@ -64,8 +64,9 @@
|
||||
"Richard Littauer <richard.littauer@gmail.com>",
|
||||
"Richard Schneider <makaretu@gmail.com>",
|
||||
"Stephen Whitmore <stephen.whitmore@gmail.com>",
|
||||
"Vasco Santos <vasco.santos@ua.pt>",
|
||||
"Topper Bowers <topper@quorumcontrol.com>",
|
||||
"Vasco Santos <vasco.santos@moxy.studio>",
|
||||
"Vasco Santos <vasco.santos@ua.pt>",
|
||||
"Yahya <ya7yaz@gmail.com>",
|
||||
"greenkeeperio-bot <support@greenkeeper.io>",
|
||||
"nginnever <ginneversource@gmail.com>",
|
||||
|
15
src/index.js
15
src/index.js
@ -48,6 +48,13 @@ class PeerId {
|
||||
if (this._privKey) {
|
||||
return this._privKey.public
|
||||
}
|
||||
|
||||
const decoded = mh.decode(this.id)
|
||||
|
||||
if (decoded.name === 'identity') {
|
||||
this._pubKey = cryptoKeys.unmarshalPublicKey(decoded.digest)
|
||||
return this._pubKey
|
||||
}
|
||||
}
|
||||
|
||||
set pubKey (pubKey) {
|
||||
@ -213,10 +220,10 @@ exports.createFromPrivKey = async (key) => {
|
||||
}
|
||||
|
||||
exports.createFromJSON = async (obj) => {
|
||||
let id = mh.fromB58String(obj.id)
|
||||
let rawPrivKey = obj.privKey && Buffer.from(obj.privKey, 'base64')
|
||||
let rawPubKey = obj.pubKey && Buffer.from(obj.pubKey, 'base64')
|
||||
let pub = rawPubKey && await cryptoKeys.unmarshalPublicKey(rawPubKey)
|
||||
const id = mh.fromB58String(obj.id)
|
||||
const rawPrivKey = obj.privKey && Buffer.from(obj.privKey, 'base64')
|
||||
const rawPubKey = obj.pubKey && Buffer.from(obj.pubKey, 'base64')
|
||||
const pub = rawPubKey && await cryptoKeys.unmarshalPublicKey(rawPubKey)
|
||||
|
||||
if (!rawPrivKey) {
|
||||
return new PeerIdWithIs(id, null, pub)
|
||||
|
@ -42,6 +42,12 @@ describe('PeerId', () => {
|
||||
expect(id.toB58String()).to.equal(expB58)
|
||||
})
|
||||
|
||||
it('can get the public key from a Secp256k1 key', async () => {
|
||||
const original = await PeerId.create({ keyType: 'secp256k1', bits: 256 })
|
||||
const newId = PeerId.createFromB58String(original.toB58String())
|
||||
expect(original.pubKey.bytes).to.eql(newId.pubKey.bytes)
|
||||
})
|
||||
|
||||
it('isPeerId', async () => {
|
||||
const id = await PeerId.create(testOpts)
|
||||
expect(PeerId.isPeerId(id)).to.equal(true)
|
||||
|
Reference in New Issue
Block a user