mirror of
https://github.com/fluencelabs/js-peer-id
synced 2025-06-27 20:11:41 +00:00
feat: allow nested PeerIds to support pubKey function when using identity encoding (#101)
This commit is contained in:
committed by
Vasco Santos
parent
911aa634d3
commit
f39fb24321
@ -48,6 +48,13 @@ class PeerId {
|
|||||||
if (this._privKey) {
|
if (this._privKey) {
|
||||||
return this._privKey.public
|
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) {
|
set pubKey (pubKey) {
|
||||||
|
@ -42,6 +42,12 @@ describe('PeerId', () => {
|
|||||||
expect(id.toB58String()).to.equal(expB58)
|
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 () => {
|
it('isPeerId', async () => {
|
||||||
const id = await PeerId.create(testOpts)
|
const id = await PeerId.create(testOpts)
|
||||||
expect(PeerId.isPeerId(id)).to.equal(true)
|
expect(PeerId.isPeerId(id)).to.equal(true)
|
||||||
|
Reference in New Issue
Block a user