chore: update deps to latest versions

I've tried to make the minimum amount of changes necessary for this,
since the underlying crypto libraries only support node Buffers or
BufferLists there doesn't seem a lot of point in doing lots of
conversions between Uint8Arrays and Buffers.

BREAKING CHANGES:

- All deps use Uint8Arrays in place of node Buffers
This commit is contained in:
achingbrain 2020-08-11 11:41:10 +01:00
parent f1b92a9f1b
commit 1a6490d829
4 changed files with 19959 additions and 16 deletions

19940
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,7 @@
"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",
@ -46,9 +46,10 @@
"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"

View File

@ -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
@ -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
})
@ -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> {
@ -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)
}
/**

View File

@ -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'
@ -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)
@ -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
@ -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)
@ -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)
}