diff --git a/packages/utils/package.json b/packages/utils/package.json index 89eb3f16ef..fcc09faa57 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -186,7 +186,6 @@ "@libp2p/logger": "^5.1.7", "@multiformats/multiaddr": "^12.3.3", "@sindresorhus/fnv1a": "^3.1.0", - "@types/murmurhash3js-revisited": "^3.0.3", "any-signal": "^4.1.1", "delay": "^6.0.0", "get-iterator": "^2.0.1", @@ -195,7 +194,6 @@ "it-pipe": "^3.0.1", "it-pushable": "^3.2.3", "it-stream-types": "^2.0.2", - "murmurhash3js-revisited": "^3.0.0", "netmask": "^2.0.2", "p-defer": "^4.0.1", "race-event": "^1.3.0", diff --git a/packages/utils/src/filters/bloom-filter.ts b/packages/utils/src/filters/bloom-filter.ts index ab8f2d05a2..de6a46635e 100644 --- a/packages/utils/src/filters/bloom-filter.ts +++ b/packages/utils/src/filters/bloom-filter.ts @@ -1,9 +1,9 @@ // ported from xxbloom - https://github.com/ceejbot/xxbloom/blob/master/LICENSE import { randomBytes } from '@libp2p/crypto' -import mur from 'murmurhash3js-revisited' import { Uint8ArrayList } from 'uint8arraylist' import { alloc } from 'uint8arrays/alloc' import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' +import { fnv1a } from './hashes.js' import type { Filter } from './index.js' const LN2_SQUARED = Math.LN2 * Math.LN2 @@ -39,7 +39,7 @@ export class BloomFilter implements Filter { } for (let i = 0; i < this.seeds.length; i++) { - const hash = mur.x86.hash32(item, this.seeds[i]) + const hash = fnv1a.hash(item, this.seeds[i]) const bit = hash % this.bits this.setbit(bit) @@ -57,7 +57,7 @@ export class BloomFilter implements Filter { } for (let i = 0; i < this.seeds.length; i++) { - const hash = mur.x86.hash32(item, this.seeds[i]) + const hash = fnv1a.hash(item, this.seeds[i]) const bit = hash % this.bits const isSet = this.getbit(bit) diff --git a/packages/utils/src/filters/hashes.ts b/packages/utils/src/filters/hashes.ts index 489f841e6e..1590d66a38 100644 --- a/packages/utils/src/filters/hashes.ts +++ b/packages/utils/src/filters/hashes.ts @@ -1,5 +1,4 @@ import fnv1aHash from '@sindresorhus/fnv1a' -import mur from 'murmurhash3js-revisited' import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string' export interface Hash { @@ -7,15 +6,6 @@ export interface Hash { hashV(input: Uint8Array, seed: number): Uint8Array } -export const murmur3: Hash = { - hash: (input, seed) => { - return mur.x86.hash32(input, seed) - }, - hashV: (input, seed) => { - return numberToBuffer(murmur3.hash(input, seed)) - } -} - export const fnv1a: Hash = { hash: (input) => { return Number(fnv1aHash(input, {