Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update deps to latest versions #70

Merged
merged 4 commits into from
Aug 15, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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