mirror of
https://github.com/fluencelabs/js-libp2p-noise
synced 2025-04-25 08:22:35 +00:00
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:
parent
f1b92a9f1b
commit
1a6490d829
19940
package-lock.json
generated
Normal file
19940
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -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"
|
||||
|
15
src/utils.ts
15
src/utils.ts
@ -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)
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user