@@ -24,8 +24,6 @@ import { ServerWorldStateSynchronizer } from '@aztec/world-state';
2424import { afterEach , beforeEach , describe , expect , it , jest } from '@jest/globals' ;
2525import type { Message , PeerId } from '@libp2p/interface' ;
2626import { TopicValidatorResult } from '@libp2p/interface' ;
27- import type { ConnectionManager } from '@libp2p/interface-internal' ;
28- import { multiaddr } from '@multiformats/multiaddr' ;
2927import { type MockProxy , mock } from 'jest-mock-extended' ;
3028
3129import { type P2PConfig , p2pConfigMappings } from '../../config.js' ;
@@ -38,8 +36,6 @@ import type { MemPools } from '../../mem_pools/interface.js';
3836import type { TxPoolV2 } from '../../mem_pools/tx_pool_v2/interfaces.js' ;
3937import type { TransactionValidator } from '../../msg_validators/tx_validator/factory.js' ;
4038import type { PubSubLibp2p } from '../../util.js' ;
41- import { convertToMultiaddr } from '../../util.js' ;
42- import { DummyPeerDiscoveryService } from '../dummy_service.js' ;
4339import type { PeerManagerInterface } from '../peer-manager/interface.js' ;
4440import type { ReqRespInterface } from '../reqresp/interface.js' ;
4541import { BitVector } from '../reqresp/protocols/block_txs/bitvector.js' ;
@@ -1055,148 +1051,6 @@ describe('LibP2PService', () => {
10551051 expect ( allNodesCheckpointReceivedCallback ) . toHaveBeenCalledWith ( expect . any ( Object ) , expect . anything ( ) ) ;
10561052 } ) ;
10571053 } ) ;
1058-
1059- describe ( 'discv5 ip:changed bridge (queryForIp)' , ( ) => {
1060- const p2pPort = 40400 ;
1061- const firstIp = '203.0.113.5' ;
1062- const secondIp = '198.51.100.2' ;
1063-
1064- function createQueryForIpService ( ) {
1065- const peerDiscovery = new DummyPeerDiscoveryService ( ) ;
1066- const addressManager = {
1067- removeObservedAddr : jest . fn ( ) ,
1068- addObservedAddr : jest . fn ( ) ,
1069- confirmObservedAddr : jest . fn ( ) ,
1070- } ;
1071- const mockPeerId = mock < PeerId > ( { toString : ( ) => MOCK_PEER_ID } ) ;
1072- const nodeState = { status : 'stopped' as string } ;
1073- const mockNode = {
1074- get status ( ) {
1075- return nodeState . status ;
1076- } ,
1077- set status ( v : string ) {
1078- nodeState . status = v ;
1079- } ,
1080- peerId : mockPeerId ,
1081- start : jest . fn ( ( ) => {
1082- nodeState . status = 'started' ;
1083- } ) ,
1084- stop : jest . fn ( ( ) => {
1085- nodeState . status = 'stopped' ;
1086- } ) ,
1087- services : {
1088- pubsub : {
1089- subscribe : jest . fn ( ) ,
1090- addEventListener : jest . fn ( ) ,
1091- removeEventListener : jest . fn ( ) ,
1092- getMeshPeers : jest . fn ( ( ) => [ ] ) ,
1093- } ,
1094- components : {
1095- addressManager,
1096- connectionManager : { } as unknown as ConnectionManager ,
1097- } ,
1098- } ,
1099- } as unknown as PubSubLibp2p ;
1100-
1101- const config : P2PConfig = {
1102- ...getDefaultConfig ( p2pConfigMappings ) ,
1103- seenMessageCacheSize : 1000 ,
1104- debugP2PInstrumentMessages : false ,
1105- disableTransactions : true ,
1106- l1ChainId : 1 ,
1107- rollupVersion : 1 ,
1108- l1Contracts : { rollupAddress : EthAddress . random ( ) } ,
1109- queryForIp : true ,
1110- p2pIp : undefined ,
1111- p2pPort,
1112- p2pDiscoveryDisabled : true ,
1113- peerCheckIntervalMS : 60_000 , // Long enough that heartbeat won't run during this unit test
1114- } ;
1115-
1116- const mockPeerManager = mock < PeerManagerInterface > ( ) ;
1117- mockPeerManager . initializePeers . mockResolvedValue ( undefined ) ;
1118- mockPeerManager . stop . mockResolvedValue ( undefined ) ;
1119- mockPeerManager . heartbeat . mockResolvedValue ( undefined ) ;
1120-
1121- const mockReqResp = mock < ReqRespInterface > ( ) ;
1122- mockReqResp . start . mockResolvedValue ( undefined ) ;
1123- mockReqResp . stop . mockResolvedValue ( undefined ) ;
1124-
1125- const mempools = mock < MemPools > ( ) ;
1126- const archiver = mock < L2BlockSource & ContractDataSource > ( ) ;
1127- const epochCache = mock < EpochCacheInterface > ( ) ;
1128- const mockProofVerifier = mock < ClientProtocolCircuitVerifier > ( {
1129- verifyProof : ( ) => Promise . resolve ( { valid : true , durationMs : 1 , totalDurationMs : 1 } ) ,
1130- } ) ;
1131- const mockWorldStateSynchronizer = mock < ServerWorldStateSynchronizer > ( ) ;
1132-
1133- const service = new LibP2PService (
1134- config ,
1135- mockNode ,
1136- peerDiscovery ,
1137- mockReqResp ,
1138- mockPeerManager ,
1139- mempools ,
1140- archiver ,
1141- epochCache ,
1142- mockProofVerifier ,
1143- mockWorldStateSynchronizer ,
1144- getTelemetryClient ( ) ,
1145- createLogger ( 'p2p:test:queryForIp' ) ,
1146- ) ;
1147-
1148- return { service, peerDiscovery, addressManager, config } ;
1149- }
1150-
1151- it ( 'registers observed announce address when discv5 emits ip:changed' , async ( ) => {
1152- const { service, peerDiscovery, addressManager } = createQueryForIpService ( ) ;
1153- const expectedAddr = multiaddr ( convertToMultiaddr ( firstIp , p2pPort , 'tcp' ) ) ;
1154-
1155- await service . start ( ) ;
1156- peerDiscovery . emit ( 'ip:changed' , firstIp ) ;
1157-
1158- expect ( addressManager . addObservedAddr ) . toHaveBeenCalledWith ( expectedAddr ) ;
1159- expect ( addressManager . confirmObservedAddr ) . toHaveBeenCalledWith ( expectedAddr ) ;
1160- expect ( addressManager . removeObservedAddr ) . not . toHaveBeenCalled ( ) ;
1161-
1162- await service . stop ( ) ;
1163- } ) ;
1164-
1165- it ( 'removes previous observed address when ip:changed fires again with a new IP' , async ( ) => {
1166- const { service, peerDiscovery, addressManager } = createQueryForIpService ( ) ;
1167- const firstAddr = multiaddr ( convertToMultiaddr ( firstIp , p2pPort , 'tcp' ) ) ;
1168- const secondAddr = multiaddr ( convertToMultiaddr ( secondIp , p2pPort , 'tcp' ) ) ;
1169-
1170- await service . start ( ) ;
1171- peerDiscovery . emit ( 'ip:changed' , firstIp ) ;
1172- addressManager . removeObservedAddr . mockClear ( ) ;
1173- addressManager . addObservedAddr . mockClear ( ) ;
1174- addressManager . confirmObservedAddr . mockClear ( ) ;
1175-
1176- peerDiscovery . emit ( 'ip:changed' , secondIp ) ;
1177-
1178- expect ( addressManager . removeObservedAddr ) . toHaveBeenCalledWith ( firstAddr ) ;
1179- expect ( addressManager . addObservedAddr ) . toHaveBeenCalledWith ( secondAddr ) ;
1180- expect ( addressManager . confirmObservedAddr ) . toHaveBeenCalledWith ( secondAddr ) ;
1181-
1182- await service . stop ( ) ;
1183- } ) ;
1184-
1185- it ( 'unsubscribes from ip:changed on stop so later emits are ignored' , async ( ) => {
1186- const { service, peerDiscovery, addressManager } = createQueryForIpService ( ) ;
1187-
1188- await service . start ( ) ;
1189- peerDiscovery . emit ( 'ip:changed' , firstIp ) ;
1190- addressManager . addObservedAddr . mockClear ( ) ;
1191- addressManager . confirmObservedAddr . mockClear ( ) ;
1192-
1193- await service . stop ( ) ;
1194- peerDiscovery . emit ( 'ip:changed' , secondIp ) ;
1195-
1196- expect ( addressManager . addObservedAddr ) . not . toHaveBeenCalled ( ) ;
1197- expect ( addressManager . confirmObservedAddr ) . not . toHaveBeenCalled ( ) ;
1198- } ) ;
1199- } ) ;
12001054} ) ;
12011055
12021056/** Mock type for tx objects used in block txs validation tests. */
0 commit comments