Skip to content

Commit

Permalink
Merge pull request #70 from achingbrain/fix/update-deps
Browse files Browse the repository at this point in the history
chore: update deps to latest versions
  • Loading branch information
mpetrunic committed Aug 15, 2020
2 parents f1b92a9 + a6c6dc5 commit e20e4eb
Show file tree
Hide file tree
Showing 6 changed files with 1,301 additions and 1,321 deletions.
9 changes: 5 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,18 @@
"sinon": "^8.1.0"
},
"dependencies": {
"bcrypto": "5.1.0",
"bcrypto": "^5.2.0",
"buffer": "^5.4.3",
"debug": "^4.1.1",
"it-buffer": "^0.1.1",
"it-length-prefixed": "^3.0.0",
"it-pair": "^1.0.0",
"it-pb-rpc": "^0.1.8",
"it-pipe": "^1.1.0",
"libp2p-crypto": "^0.17.6",
"peer-id": "^0.13.5",
"protobufjs": "6.8.8"
"libp2p-crypto": "^0.18.0",
"peer-id": "^0.14.0",
"protobufjs": "^6.10.1",
"uint8arrays": "^1.1.0"
},
"resolutions": {
"bn.js": "4.4.0"
Expand Down
4 changes: 2 additions & 2 deletions src/keycache.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { bytes, bytes32 } from './@types/basic'
import { bytes32 } from './@types/basic'
import PeerId from 'peer-id'

/**
* Storage for static keys of previously connected peers.
*/
class Keycache {
private storage = new Map<bytes, bytes32>();
private storage = new Map<Uint8Array, bytes32>();

public store (peerId: PeerId, key: bytes32): void {
this.storage.set(peerId.id, key)
Expand Down
15 changes: 8 additions & 7 deletions src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { KeyPair } from './@types/libp2p'
import { bytes, bytes32 } from './@types/basic'
import { Hkdf, INoisePayload } from './@types/handshake'
import { pb } from './proto/payload'
import uint8ArrayEquals from 'uint8arrays/equals'

const NoiseHandshakePayloadProto = pb.NoiseHandshakePayload

Expand Down Expand Up @@ -37,12 +38,12 @@ export async function getPayload (
}

export function createHandshakePayload (
libp2pPublicKey: bytes,
signedPayload: bytes,
earlyData?: bytes
libp2pPublicKey: Uint8Array,
signedPayload: Uint8Array,
earlyData?: Uint8Array
): bytes {
const payloadInit = NoiseHandshakePayloadProto.create({
identityKey: libp2pPublicKey,
identityKey: Buffer.from(libp2pPublicKey),
identitySig: signedPayload,
data: earlyData || null
})
Expand All @@ -51,7 +52,7 @@ export function createHandshakePayload (
}

export async function signPayload (peerId: PeerId, payload: bytes): Promise<bytes> {
return await peerId.privKey.sign(payload)
return Buffer.from(await peerId.privKey.sign(payload))
}

export async function getPeerIdFromPayload (payload: pb.INoiseHandshakePayload): Promise<PeerId> {
Expand All @@ -68,9 +69,9 @@ export function getHandshakePayload (publicKey: bytes): bytes {
return Buffer.concat([Buffer.from('noise-libp2p-static-key:'), publicKey])
}

async function isValidPeerId (peerId: bytes, publicKeyProtobuf: bytes) {
async function isValidPeerId (peerId: Uint8Array, publicKeyProtobuf: bytes) {
const generatedPeerId = await PeerId.createFromPubKey(publicKeyProtobuf)
return generatedPeerId.id.equals(peerId)
return uint8ArrayEquals(generatedPeerId.id, peerId)
}

/**
Expand Down
3 changes: 2 additions & 1 deletion test/keycache.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { assert } from 'chai'
import { KeyCache } from '../src/keycache'
import { createPeerIds, createPeerIdsFromFixtures } from './fixtures/peer'
import uint8ArrayEquals from 'uint8arrays/equals'

describe('KeyCache', () => {
let peerA
Expand All @@ -14,7 +15,7 @@ describe('KeyCache', () => {
const key = Buffer.from('this is id 007')
await KeyCache.store(peerA, key)
const result = await KeyCache.load(peerA)
assert(result?.equals(key), 'Stored and loaded key are not the same')
assert(uint8ArrayEquals(result, key), 'Stored and loaded key are not the same')
} catch (e) {
assert(false, `Test failed - ${e.message}`)
}
Expand Down
11 changes: 6 additions & 5 deletions test/noise.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import sinon from 'sinon'
import BufferList from 'bl'
import { randomBytes } from 'libp2p-crypto'
import { Buffer } from 'buffer'
import uint8ArrayEquals from 'uint8arrays/equals'

import { Noise } from '../src'
import { XXHandshake } from '../src/handshake-xx'
Expand Down Expand Up @@ -123,7 +124,7 @@ describe('Noise', () => {
const wrappedOutbound = Wrap(outbound.conn)

const largePlaintext = randomBytes(100000)
wrappedOutbound.writeLP(largePlaintext)
wrappedOutbound.writeLP(Buffer.from(largePlaintext))
const response = await wrappedInbound.read(100000)

expect(response.length).equals(largePlaintext.length)
Expand Down Expand Up @@ -203,7 +204,7 @@ describe('Noise', () => {
const noiseInit = new Noise(staticKeysInitiator.privateKey)

const staticKeysResponder = generateKeypair()
const noiseResp = new Noise(staticKeysResponder.privateKey, undefined, false)
const noiseResp = new Noise(staticKeysResponder.privateKey, undefined)
const xxSpy = sandbox.spy(noiseInit, 'performXXFallbackHandshake')

// Prepare key cache for noise pipes
Expand Down Expand Up @@ -232,7 +233,7 @@ describe('Noise', () => {
it.skip('Initiator starts with XX (pipes disabled), responder has enabled noise pipes', async () => {
try {
const staticKeysInitiator = generateKeypair()
const noiseInit = new Noise(staticKeysInitiator.privateKey, undefined, false)
const noiseInit = new Noise(staticKeysInitiator.privateKey, undefined)
const staticKeysResponder = generateKeypair()

const noiseResp = new Noise(staticKeysResponder.privateKey)
Expand Down Expand Up @@ -323,8 +324,8 @@ describe('Noise', () => {
const response = await wrappedInbound.readLP()
expect(response.toString()).equal('test v2')

assert(inbound.remotePeer.marshalPubKey().equals(localPeer.marshalPubKey()))
assert(outbound.remotePeer.marshalPubKey().equals(remotePeer.marshalPubKey()))
assert(uint8ArrayEquals(inbound.remotePeer.marshalPubKey(), localPeer.marshalPubKey()))
assert(uint8ArrayEquals(outbound.remotePeer.marshalPubKey(), remotePeer.marshalPubKey()))
} catch (e) {
assert(false, e.message)
}
Expand Down
Loading

0 comments on commit e20e4eb

Please sign in to comment.