diff --git a/yarn-project/p2p/package.json b/yarn-project/p2p/package.json index edb403659341..9c95b6c6129e 100644 --- a/yarn-project/p2p/package.json +++ b/yarn-project/p2p/package.json @@ -78,8 +78,6 @@ "@aztec/simulator": "workspace:^", "@aztec/stdlib": "workspace:^", "@aztec/telemetry-client": "workspace:^", - "@chainsafe/discv5": "9.0.0", - "@chainsafe/enr": "3.0.0", "@chainsafe/libp2p-gossipsub": "13.0.0", "@chainsafe/libp2p-noise": "^15.0.0", "@chainsafe/libp2p-yamux": "^6.0.2", @@ -94,6 +92,8 @@ "@libp2p/prometheus-metrics": "^4.2.4", "@libp2p/tcp": "9.0.24", "@multiformats/multiaddr": "12.1.14", + "@nethermindeth/discv5": "9.0.0-backport-306-v4", + "@nethermindeth/enr": "3.0.0-backport-306-v4", "interface-datastore": "^8.2.11", "interface-store": "^5.1.8", "libp2p": "1.5.0", diff --git a/yarn-project/p2p/src/bootstrap/bootstrap.ts b/yarn-project/p2p/src/bootstrap/bootstrap.ts index 4026a0831fce..afa873665bfb 100644 --- a/yarn-project/p2p/src/bootstrap/bootstrap.ts +++ b/yarn-project/p2p/src/bootstrap/bootstrap.ts @@ -3,10 +3,10 @@ import type { AztecAsyncKVStore } from '@aztec/kv-store'; import type { P2PBootstrapApi } from '@aztec/stdlib/interfaces/server'; import { OtelMetricsAdapter, type TelemetryClient } from '@aztec/telemetry-client'; -import { Discv5, type Discv5EventEmitter } from '@chainsafe/discv5'; -import { ENR, type SignableENR } from '@chainsafe/enr'; import type { PeerId } from '@libp2p/interface'; import { type Multiaddr, multiaddr } from '@multiformats/multiaddr'; +import { Discv5, type Discv5EventEmitter } from '@nethermindeth/discv5'; +import { ENR, type SignableENR } from '@nethermindeth/enr'; import type { BootnodeConfig } from '../config.js'; import { createBootnodeENRandPeerId } from '../enr/generate-enr.js'; diff --git a/yarn-project/p2p/src/client/interface.ts b/yarn-project/p2p/src/client/interface.ts index d877d1fed3a2..9cbffc651848 100644 --- a/yarn-project/p2p/src/client/interface.ts +++ b/yarn-project/p2p/src/client/interface.ts @@ -3,8 +3,8 @@ import type { P2PApiFull } from '@aztec/stdlib/interfaces/server'; import type { BlockProposal, P2PClientType } from '@aztec/stdlib/p2p'; import type { Tx, TxHash } from '@aztec/stdlib/tx'; -import type { ENR } from '@chainsafe/enr'; import type { PeerId } from '@libp2p/interface'; +import type { ENR } from '@nethermindeth/enr'; import type { P2PConfig } from '../config.js'; import type { AuthRequest, StatusMessage } from '../services/index.js'; diff --git a/yarn-project/p2p/src/client/p2p_client.ts b/yarn-project/p2p/src/client/p2p_client.ts index b7a24787ce22..cf32d0ba19a1 100644 --- a/yarn-project/p2p/src/client/p2p_client.ts +++ b/yarn-project/p2p/src/client/p2p_client.ts @@ -26,8 +26,8 @@ import { trackSpan, } from '@aztec/telemetry-client'; -import type { ENR } from '@chainsafe/enr'; import type { PeerId } from '@libp2p/interface'; +import type { ENR } from '@nethermindeth/enr'; import { type P2PConfig, getP2PDefaultConfig } from '../config.js'; import type { AttestationPool } from '../mem_pools/attestation_pool/attestation_pool.js'; diff --git a/yarn-project/p2p/src/enr/generate-enr.ts b/yarn-project/p2p/src/enr/generate-enr.ts index 869c1834a99c..b5a71283b4f1 100644 --- a/yarn-project/p2p/src/enr/generate-enr.ts +++ b/yarn-project/p2p/src/enr/generate-enr.ts @@ -2,9 +2,9 @@ import type { LogFn } from '@aztec/foundation/log'; import { type ChainConfig, emptyChainConfig } from '@aztec/stdlib/config'; import type { ComponentsVersions } from '@aztec/stdlib/versioning'; -import { ENR, SignableENR } from '@chainsafe/enr'; import type { PeerId } from '@libp2p/interface'; import { type Multiaddr, multiaddr } from '@multiformats/multiaddr'; +import { ENR, SignableENR } from '@nethermindeth/enr'; import { AZTEC_ENR_CLIENT_VERSION_KEY, AZTEC_ENR_KEY } from '../types/index.js'; import { convertToMultiaddr, createLibP2PPeerIdFromPrivateKey } from '../util.js'; diff --git a/yarn-project/p2p/src/services/discv5/discV5_service.ts b/yarn-project/p2p/src/services/discv5/discV5_service.ts index 4908340bcf42..8bef88a8b559 100644 --- a/yarn-project/p2p/src/services/discv5/discV5_service.ts +++ b/yarn-project/p2p/src/services/discv5/discV5_service.ts @@ -3,10 +3,10 @@ import { sleep } from '@aztec/foundation/sleep'; import { type ComponentsVersions, checkCompressedComponentVersion } from '@aztec/stdlib/versioning'; import { OtelMetricsAdapter, type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client'; -import { Discv5, type Discv5EventEmitter, type IDiscv5CreateOptions } from '@chainsafe/discv5'; -import { ENR, SignableENR } from '@chainsafe/enr'; import type { PeerId } from '@libp2p/interface'; import { type Multiaddr, multiaddr } from '@multiformats/multiaddr'; +import { Discv5, type Discv5EventEmitter, type IDiscv5CreateOptions } from '@nethermindeth/discv5'; +import { ENR, SignableENR } from '@nethermindeth/enr'; import EventEmitter from 'events'; import type { P2PConfig } from '../../config.js'; diff --git a/yarn-project/p2p/src/services/discv5/discv5_service.test.ts b/yarn-project/p2p/src/services/discv5/discv5_service.test.ts index 4d532271e367..f37dea66881f 100644 --- a/yarn-project/p2p/src/services/discv5/discv5_service.test.ts +++ b/yarn-project/p2p/src/services/discv5/discv5_service.test.ts @@ -5,10 +5,10 @@ import { openTmpStore } from '@aztec/kv-store/lmdb-v2'; import { emptyChainConfig } from '@aztec/stdlib/config'; import { getTelemetryClient } from '@aztec/telemetry-client'; -import type { IDiscv5CreateOptions } from '@chainsafe/discv5'; import { jest } from '@jest/globals'; import type { PeerId } from '@libp2p/interface'; import { createSecp256k1PeerId } from '@libp2p/peer-id-factory'; +import type { IDiscv5CreateOptions } from '@nethermindeth/discv5'; import { BootstrapNode } from '../../bootstrap/bootstrap.js'; import { type BootnodeConfig, type P2PConfig, getP2PDefaultConfig } from '../../config.js'; diff --git a/yarn-project/p2p/src/services/dummy_service.ts b/yarn-project/p2p/src/services/dummy_service.ts index 6818c2e0d6ec..913adfaeb7ee 100644 --- a/yarn-project/p2p/src/services/dummy_service.ts +++ b/yarn-project/p2p/src/services/dummy_service.ts @@ -3,8 +3,8 @@ import type { PeerInfo } from '@aztec/stdlib/interfaces/server'; import type { Gossipable, PeerErrorSeverity } from '@aztec/stdlib/p2p'; import { Tx, TxHash } from '@aztec/stdlib/tx'; -import type { ENR } from '@chainsafe/enr'; import type { PeerId } from '@libp2p/interface'; +import type { ENR } from '@nethermindeth/enr'; import EventEmitter from 'events'; import type { PeerManagerInterface } from './peer-manager/interface.js'; diff --git a/yarn-project/p2p/src/services/libp2p/libp2p_service.ts b/yarn-project/p2p/src/services/libp2p/libp2p_service.ts index 4bf88cb81eb7..58f049b3d92e 100644 --- a/yarn-project/p2p/src/services/libp2p/libp2p_service.ts +++ b/yarn-project/p2p/src/services/libp2p/libp2p_service.ts @@ -28,7 +28,6 @@ import type { UInt64 } from '@aztec/stdlib/types'; import { compressComponentVersions } from '@aztec/stdlib/versioning'; import { Attributes, OtelMetricsAdapter, type TelemetryClient, WithTracer, trackSpan } from '@aztec/telemetry-client'; -import { ENR } from '@chainsafe/enr'; import { type GossipSub, type GossipSubComponents, @@ -45,6 +44,7 @@ import { type Message, type MultiaddrConnection, type PeerId, TopicValidatorResu import type { ConnectionManager } from '@libp2p/interface-internal'; import { mplex } from '@libp2p/mplex'; import { tcp } from '@libp2p/tcp'; +import { ENR } from '@nethermindeth/enr'; import { createLibp2p } from 'libp2p'; import type { P2PConfig } from '../../config.js'; diff --git a/yarn-project/p2p/src/services/peer-manager/peer_manager.test.ts b/yarn-project/p2p/src/services/peer-manager/peer_manager.test.ts index e7b9081eb0c3..a2e0685c6057 100644 --- a/yarn-project/p2p/src/services/peer-manager/peer_manager.test.ts +++ b/yarn-project/p2p/src/services/peer-manager/peer_manager.test.ts @@ -14,12 +14,12 @@ import type { import { PeerErrorSeverity } from '@aztec/stdlib/p2p'; import { Attributes, getTelemetryClient } from '@aztec/telemetry-client'; -import { type ENR, SignableENR } from '@chainsafe/enr'; import { jest } from '@jest/globals'; import type { PeerId } from '@libp2p/interface'; import { peerIdFromString } from '@libp2p/peer-id'; import { createSecp256k1PeerId } from '@libp2p/peer-id-factory'; import { multiaddr } from '@multiformats/multiaddr'; +import { type ENR, SignableENR } from '@nethermindeth/enr'; import { type MockProxy, mock } from 'jest-mock-extended'; import { generatePrivateKey } from 'viem/accounts'; diff --git a/yarn-project/p2p/src/services/peer-manager/peer_manager.ts b/yarn-project/p2p/src/services/peer-manager/peer_manager.ts index 792efa6f4e39..c1f3d1424157 100644 --- a/yarn-project/p2p/src/services/peer-manager/peer_manager.ts +++ b/yarn-project/p2p/src/services/peer-manager/peer_manager.ts @@ -9,10 +9,10 @@ import type { PeerInfo, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/ import type { PeerErrorSeverity } from '@aztec/stdlib/p2p'; import { type TelemetryClient, trackSpan } from '@aztec/telemetry-client'; -import { ENR } from '@chainsafe/enr'; import type { Connection, PeerId } from '@libp2p/interface'; import { peerIdFromString } from '@libp2p/peer-id'; import type { Multiaddr } from '@multiformats/multiaddr'; +import { ENR } from '@nethermindeth/enr'; import { inspect } from 'util'; import type { P2PConfig } from '../../config.js'; diff --git a/yarn-project/p2p/src/services/service.ts b/yarn-project/p2p/src/services/service.ts index 4ed6d0d0a38d..f2ef55a58d49 100644 --- a/yarn-project/p2p/src/services/service.ts +++ b/yarn-project/p2p/src/services/service.ts @@ -3,8 +3,8 @@ import type { PeerInfo } from '@aztec/stdlib/interfaces/server'; import type { BlockAttestation, BlockProposal, Gossipable } from '@aztec/stdlib/p2p'; import type { Tx } from '@aztec/stdlib/tx'; -import type { ENR } from '@chainsafe/enr'; import type { PeerId } from '@libp2p/interface'; +import type { ENR } from '@nethermindeth/enr'; import type EventEmitter from 'events'; import type { P2PReqRespConfig } from './reqresp/config.js'; diff --git a/yarn-project/p2p/src/test-helpers/make-enrs.ts b/yarn-project/p2p/src/test-helpers/make-enrs.ts index 685f8ac2cf1d..3446aaf135fc 100644 --- a/yarn-project/p2p/src/test-helpers/make-enrs.ts +++ b/yarn-project/p2p/src/test-helpers/make-enrs.ts @@ -1,7 +1,7 @@ import type { ChainConfig } from '@aztec/stdlib/config'; -import { SignableENR } from '@chainsafe/enr'; import { multiaddr } from '@multiformats/multiaddr'; +import { SignableENR } from '@nethermindeth/enr'; import { convertToMultiaddr, createLibP2PPeerIdFromPrivateKey } from '../util.js'; import { setAztecEnrKey } from '../versioning.js'; diff --git a/yarn-project/p2p/src/test-helpers/reqresp-nodes.ts b/yarn-project/p2p/src/test-helpers/reqresp-nodes.ts index 3ca535a1314e..d26653f65e78 100644 --- a/yarn-project/p2p/src/test-helpers/reqresp-nodes.ts +++ b/yarn-project/p2p/src/test-helpers/reqresp-nodes.ts @@ -17,7 +17,6 @@ import type { Tx } from '@aztec/stdlib/tx'; import { compressComponentVersions } from '@aztec/stdlib/versioning'; import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client'; -import { SignableENR } from '@chainsafe/enr'; import { gossipsub } from '@chainsafe/libp2p-gossipsub'; import { noise } from '@chainsafe/libp2p-noise'; import { yamux } from '@chainsafe/libp2p-yamux'; @@ -27,6 +26,7 @@ import type { PeerId } from '@libp2p/interface'; import { createSecp256k1PeerId } from '@libp2p/peer-id-factory'; import { tcp } from '@libp2p/tcp'; import { multiaddr } from '@multiformats/multiaddr'; +import { SignableENR } from '@nethermindeth/enr'; import getPort from 'get-port'; import { type Libp2p, type Libp2pOptions, createLibp2p } from 'libp2p'; diff --git a/yarn-project/p2p/src/versioning.test.ts b/yarn-project/p2p/src/versioning.test.ts index de2a5de8de1e..26e5c6a25eb6 100644 --- a/yarn-project/p2p/src/versioning.test.ts +++ b/yarn-project/p2p/src/versioning.test.ts @@ -1,7 +1,7 @@ import { EthAddress } from '@aztec/foundation/eth-address'; import type { ChainConfig } from '@aztec/stdlib/config'; -import type { SignableENR } from '@chainsafe/enr'; +import type { SignableENR } from '@nethermindeth/enr'; import { type MockProxy, mock } from 'jest-mock-extended'; import { AZTEC_ENR_KEY } from './types/index.js'; diff --git a/yarn-project/p2p/src/versioning.ts b/yarn-project/p2p/src/versioning.ts index 2ffced6deb20..2b0281184347 100644 --- a/yarn-project/p2p/src/versioning.ts +++ b/yarn-project/p2p/src/versioning.ts @@ -9,7 +9,7 @@ import { getComponentsVersionsFromConfig, } from '@aztec/stdlib/versioning'; -import type { SignableENR } from '@chainsafe/enr'; +import type { SignableENR } from '@nethermindeth/enr'; import xxhashFactory from 'xxhash-wasm'; import { AZTEC_ENR_CLIENT_VERSION_KEY, AZTEC_ENR_KEY } from './types/index.js'; diff --git a/yarn-project/yarn.lock b/yarn-project/yarn.lock index f753e23c8a13..2fef7f3db940 100644 --- a/yarn-project/yarn.lock +++ b/yarn-project/yarn.lock @@ -1748,8 +1748,6 @@ __metadata: "@aztec/stdlib": "workspace:^" "@aztec/telemetry-client": "workspace:^" "@aztec/world-state": "workspace:^" - "@chainsafe/discv5": "npm:9.0.0" - "@chainsafe/enr": "npm:3.0.0" "@chainsafe/libp2p-gossipsub": "npm:13.0.0" "@chainsafe/libp2p-noise": "npm:^15.0.0" "@chainsafe/libp2p-yamux": "npm:^6.0.2" @@ -1765,6 +1763,8 @@ __metadata: "@libp2p/prometheus-metrics": "npm:^4.2.4" "@libp2p/tcp": "npm:9.0.24" "@multiformats/multiaddr": "npm:12.1.14" + "@nethermindeth/discv5": "npm:9.0.0-backport-306-v4" + "@nethermindeth/enr": "npm:3.0.0-backport-306-v4" "@types/jest": "npm:^30.0.0" "@types/node": "npm:^22.15.17" get-port: "npm:^7.1.0" @@ -2609,41 +2609,6 @@ __metadata: languageName: node linkType: hard -"@chainsafe/discv5@npm:9.0.0": - version: 9.0.0 - resolution: "@chainsafe/discv5@npm:9.0.0" - dependencies: - "@chainsafe/enr": "npm:^3.0.0" - "@libp2p/crypto": "npm:^4.0.1" - "@libp2p/interface": "npm:^1.1.1" - "@multiformats/multiaddr": "npm:^12.1.10" - bcrypto: "npm:^5.4.0" - bigint-buffer: "npm:^1.1.5" - debug: "npm:^4.3.1" - lru-cache: "npm:^10.1.0" - rlp: "npm:^2.2.6" - strict-event-emitter-types: "npm:^2.0.0" - checksum: 10/3e9484611b951158c898acff9c3047a377537cca884acffead05937b56c248fa104612eb4f6d4d36b8112da441471f2f7001cce4b14c9f9cb58149ef00b80602 - languageName: node - linkType: hard - -"@chainsafe/enr@npm:3.0.0, @chainsafe/enr@npm:^3.0.0": - version: 3.0.0 - resolution: "@chainsafe/enr@npm:3.0.0" - dependencies: - "@libp2p/crypto": "npm:^4.0.1" - "@libp2p/interface": "npm:^1.1.1" - "@libp2p/peer-id": "npm:^4.0.4" - "@multiformats/multiaddr": "npm:^12.1.10" - bigint-buffer: "npm:^1.1.5" - ethereum-cryptography: "npm:^2.1.3" - rlp: "npm:^2.2.6" - uint8-varint: "npm:^2.0.2" - uint8arrays: "npm:^5.0.1" - checksum: 10/341075578319b6fcd89e7dcc04fdfff187ac27decfc5bde2f34959476059d2c7d879f945c35782dc3c52991101896c4194d4f81638055d20836c4cfdfaff8efb - languageName: node - linkType: hard - "@chainsafe/is-ip@npm:^2.0.1, @chainsafe/is-ip@npm:^2.0.2": version: 2.0.2 resolution: "@chainsafe/is-ip@npm:2.0.2" @@ -5135,6 +5100,38 @@ __metadata: languageName: node linkType: hard +"@nethermindeth/discv5@npm:9.0.0-backport-306-v4": + version: 9.0.0-backport-306-v4 + resolution: "@nethermindeth/discv5@npm:9.0.0-backport-306-v4" + dependencies: + "@libp2p/crypto": "npm:^4.0.1" + "@libp2p/interface": "npm:^1.1.1" + "@multiformats/multiaddr": "npm:^12.1.10" + "@nethermindeth/enr": "npm:^3.0.0-backport-306-v4" + bcrypto: "npm:^5.4.0" + debug: "npm:^4.3.1" + lru-cache: "npm:^10.1.0" + rlp: "npm:^2.2.6" + strict-event-emitter-types: "npm:^2.0.0" + checksum: 10/e857582f15f62a623a6148fc245aaf536c11185b083d1d79530290c383c45c57f7ad5907fa218d531da8d50c97fc99c9b10b9378633f36967a13e56a571dea2e + languageName: node + linkType: hard + +"@nethermindeth/enr@npm:3.0.0-backport-306-v4, @nethermindeth/enr@npm:^3.0.0-backport-306-v4": + version: 3.0.0-backport-306-v4 + resolution: "@nethermindeth/enr@npm:3.0.0-backport-306-v4" + dependencies: + "@libp2p/crypto": "npm:^4.0.1" + "@libp2p/interface": "npm:^1.1.1" + "@libp2p/peer-id": "npm:^4.0.4" + "@multiformats/multiaddr": "npm:^12.1.10" + ethereum-cryptography: "npm:^2.1.3" + rlp: "npm:^2.2.6" + uint8-varint: "npm:^2.0.2" + checksum: 10/196e8da6b09c06cd683afb7fdd6612b80fae164ec0b0540de9adf4c4377bfe411c6543f5bf31116a466aa233dab5420242a19bd70940a89d69921c9bd409a51e + languageName: node + linkType: hard + "@noble/ciphers@npm:^0.4.0": version: 0.4.1 resolution: "@noble/ciphers@npm:0.4.1" @@ -9661,16 +9658,6 @@ __metadata: languageName: node linkType: hard -"bigint-buffer@npm:^1.1.5": - version: 1.1.5 - resolution: "bigint-buffer@npm:1.1.5" - dependencies: - bindings: "npm:^1.3.0" - node-gyp: "npm:latest" - checksum: 10/be70c7ad00f5e1a4739251755ef35fe8f183ec34782353cfde0820dcc7c84eefa647c12d75c003650a19c333a0528fde2d4fb9d0c41c724c27cd6b0245d20987 - languageName: node - linkType: hard - "bignumber.js@npm:^9.0.0": version: 9.1.2 resolution: "bignumber.js@npm:9.1.2" @@ -9706,7 +9693,7 @@ __metadata: languageName: node linkType: hard -"bindings@npm:^1.3.0, bindings@npm:^1.5.0": +"bindings@npm:^1.5.0": version: 1.5.0 resolution: "bindings@npm:1.5.0" dependencies: