@@ -8,13 +8,13 @@ import { ToSendGroupCount } from '@chainsafe/libp2p-gossipsub/metrics';
8
8
import { PeerIdStr , TopicStr } from '@chainsafe/libp2p-gossipsub/types' ;
9
9
import { PubSub , Message } from '@libp2p/interface-pubsub' ;
10
10
import { PeerId } from '@libp2p/interface-peer-id' ;
11
- import type { Connection , Direction } from '@libp2p/interface-connection' ;
11
+ import type { Direction } from '@libp2p/interface-connection' ;
12
12
import { RPC } from '@chainsafe/libp2p-gossipsub/message' ;
13
13
import { Multiaddr } from '@multiformats/multiaddr' ;
14
14
import { sha256 } from 'multiformats/hashes/sha2' ;
15
15
import { outboundStreamDelay } from '../constants.js' ;
16
16
import { Storage } from '../storage/abstract.js' ;
17
- import { GenericMessage } from '../shared/messages .js' ;
17
+ import { GenericMessage } from '../shared/types .js' ;
18
18
import { decodeText } from '../utils/text.js' ;
19
19
import { CashedMessageEntry , MessagesCache } from './cache.js' ;
20
20
import { createLogger } from '../utils/logger.js' ;
@@ -61,7 +61,6 @@ export class CenterSub extends GossipSub {
61
61
*
62
62
* @param {GossipSubComponents } components
63
63
* @param {CenterSubOptions } options
64
- * @param {Storage } [messagesStorage]
65
64
* @memberof CenterSub
66
65
*/
67
66
constructor ( components : GossipSubComponents , options : CenterSubOptions ) {
@@ -95,16 +94,13 @@ export class CenterSub extends GossipSub {
95
94
this [ 'selectPeersToPublish' ] = this . onSelectPeersToPublish . bind ( this ) ;
96
95
this [ 'handleReceivedMessage' ] = this . onHandleReceivedMessage . bind ( this ) ;
97
96
this [ 'addPeer' ] = this . onAddPeer . bind ( this ) ;
97
+ this [ 'removePeer' ] = this . onRemovePeer . bind ( this ) ;
98
98
99
99
this . isClient = ! ! isClient ;
100
100
this . messageTransformer = messageTransformer
101
101
? messageTransformer
102
102
: ( message ) => JSON . parse ( decodeText ( message ) ) as GenericMessage ;
103
103
this . addEventListener ( 'gossipsub:heartbeat' , this . handleHeartbeat . bind ( this ) ) ;
104
- components . connectionManager . addEventListener (
105
- 'peer:disconnect' ,
106
- this . handlePeerDisconnect . bind ( this ) ,
107
- ) ;
108
104
}
109
105
110
106
/**
@@ -182,8 +178,8 @@ export class CenterSub extends GossipSub {
182
178
msgIdStr ,
183
179
rpcMsg . from . toString ( ) ,
184
180
rpcMsg ,
185
- transformed . expire ,
186
- transformed . nonce ,
181
+ Number ( transformed . expire ) ,
182
+ Number ( transformed . nonce ) ,
187
183
) ;
188
184
} catch ( error ) {
189
185
logger . error ( error ) ;
@@ -236,16 +232,17 @@ export class CenterSub extends GossipSub {
236
232
}
237
233
238
234
/**
239
- * Handles actions on peer disconnection
235
+ * Handles actions on peer removal
240
236
*
241
237
* @private
242
238
* @param {CustomEvent<Connection> } { detail }
243
239
* @memberof CenterSub
244
240
*/
245
- private handlePeerDisconnect ( { detail } : CustomEvent < Connection > ) : void {
241
+ private onRemovePeer ( peerId : PeerId ) : void {
246
242
try {
247
- const id = detail . id . toString ( ) ;
248
- this . seenPeerMessageCache . delete ( id ) ;
243
+ this . seenPeerMessageCache . delete ( peerId . toString ( ) ) ;
244
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
245
+ this [ 'removePeer' ] ( peerId ) ;
249
246
} catch ( error ) {
250
247
logger . error ( error ) ;
251
248
}
0 commit comments