1
1
import { logger } from '@libp2p/logger'
2
2
import { EventEmitter , CustomEvent } from '@libp2p/interfaces/events'
3
- import errcode from 'err-code '
3
+ import { CodeError } from '@libp2p/interfaces/errors '
4
4
import { pipe } from 'it-pipe'
5
5
import Queue from 'p-queue'
6
6
import { createTopology } from '@libp2p/topology'
@@ -447,22 +447,22 @@ export abstract class PubSubBaseProtocol<Events extends { [s: string]: any } = P
447
447
switch ( signaturePolicy ) {
448
448
case 'StrictSign' :
449
449
if ( msg . type !== 'signed' ) {
450
- throw errcode ( new Error ( 'Message type should be "signed" when signature policy is StrictSign but it was not' ) , codes . ERR_MISSING_SIGNATURE )
450
+ throw new CodeError ( 'Message type should be "signed" when signature policy is StrictSign but it was not' , codes . ERR_MISSING_SIGNATURE )
451
451
}
452
452
453
453
if ( msg . sequenceNumber == null ) {
454
- throw errcode ( new Error ( 'Need seqno when signature policy is StrictSign but it was missing' ) , codes . ERR_MISSING_SEQNO )
454
+ throw new CodeError ( 'Need seqno when signature policy is StrictSign but it was missing' , codes . ERR_MISSING_SEQNO )
455
455
}
456
456
457
457
if ( msg . key == null ) {
458
- throw errcode ( new Error ( 'Need key when signature policy is StrictSign but it was missing' ) , codes . ERR_MISSING_KEY )
458
+ throw new CodeError ( 'Need key when signature policy is StrictSign but it was missing' , codes . ERR_MISSING_KEY )
459
459
}
460
460
461
461
return msgId ( msg . key , msg . sequenceNumber )
462
462
case 'StrictNoSign' :
463
463
return noSignMsgId ( msg . data )
464
464
default :
465
- throw errcode ( new Error ( 'Cannot get message id: unhandled signature policy' ) , codes . ERR_UNHANDLED_SIGNATURE_POLICY )
465
+ throw new CodeError ( 'Cannot get message id: unhandled signature policy' , codes . ERR_UNHANDLED_SIGNATURE_POLICY )
466
466
}
467
467
}
468
468
@@ -528,51 +528,51 @@ export abstract class PubSubBaseProtocol<Events extends { [s: string]: any } = P
528
528
switch ( signaturePolicy ) {
529
529
case 'StrictNoSign' :
530
530
if ( message . type !== 'unsigned' ) {
531
- throw errcode ( new Error ( 'Message type should be "unsigned" when signature policy is StrictNoSign but it was not' ) , codes . ERR_MISSING_SIGNATURE )
531
+ throw new CodeError ( 'Message type should be "unsigned" when signature policy is StrictNoSign but it was not' , codes . ERR_MISSING_SIGNATURE )
532
532
}
533
533
534
534
// @ts -expect-error should not be present
535
535
if ( message . signature != null ) {
536
- throw errcode ( new Error ( 'StrictNoSigning: signature should not be present' ) , codes . ERR_UNEXPECTED_SIGNATURE )
536
+ throw new CodeError ( 'StrictNoSigning: signature should not be present' , codes . ERR_UNEXPECTED_SIGNATURE )
537
537
}
538
538
539
539
// @ts -expect-error should not be present
540
540
if ( message . key != null ) {
541
- throw errcode ( new Error ( 'StrictNoSigning: key should not be present' ) , codes . ERR_UNEXPECTED_KEY )
541
+ throw new CodeError ( 'StrictNoSigning: key should not be present' , codes . ERR_UNEXPECTED_KEY )
542
542
}
543
543
544
544
// @ts -expect-error should not be present
545
545
if ( message . sequenceNumber != null ) {
546
- throw errcode ( new Error ( 'StrictNoSigning: seqno should not be present' ) , codes . ERR_UNEXPECTED_SEQNO )
546
+ throw new CodeError ( 'StrictNoSigning: seqno should not be present' , codes . ERR_UNEXPECTED_SEQNO )
547
547
}
548
548
break
549
549
case 'StrictSign' :
550
550
if ( message . type !== 'signed' ) {
551
- throw errcode ( new Error ( 'Message type should be "signed" when signature policy is StrictSign but it was not' ) , codes . ERR_MISSING_SIGNATURE )
551
+ throw new CodeError ( 'Message type should be "signed" when signature policy is StrictSign but it was not' , codes . ERR_MISSING_SIGNATURE )
552
552
}
553
553
554
554
if ( message . signature == null ) {
555
- throw errcode ( new Error ( 'StrictSigning: Signing required and no signature was present' ) , codes . ERR_MISSING_SIGNATURE )
555
+ throw new CodeError ( 'StrictSigning: Signing required and no signature was present' , codes . ERR_MISSING_SIGNATURE )
556
556
}
557
557
558
558
if ( message . sequenceNumber == null ) {
559
- throw errcode ( new Error ( 'StrictSigning: Signing required and no sequenceNumber was present' ) , codes . ERR_MISSING_SEQNO )
559
+ throw new CodeError ( 'StrictSigning: Signing required and no sequenceNumber was present' , codes . ERR_MISSING_SEQNO )
560
560
}
561
561
562
562
if ( ! ( await verifySignature ( message , this . encodeMessage . bind ( this ) ) ) ) {
563
- throw errcode ( new Error ( 'StrictSigning: Invalid message signature' ) , codes . ERR_INVALID_SIGNATURE )
563
+ throw new CodeError ( 'StrictSigning: Invalid message signature' , codes . ERR_INVALID_SIGNATURE )
564
564
}
565
565
566
566
break
567
567
default :
568
- throw errcode ( new Error ( 'Cannot validate message: unhandled signature policy' ) , codes . ERR_UNHANDLED_SIGNATURE_POLICY )
568
+ throw new CodeError ( 'Cannot validate message: unhandled signature policy' , codes . ERR_UNHANDLED_SIGNATURE_POLICY )
569
569
}
570
570
571
571
const validatorFn = this . topicValidators . get ( message . topic )
572
572
if ( validatorFn != null ) {
573
573
const result = await validatorFn ( from , message )
574
574
if ( result === TopicValidatorResult . Reject || result === TopicValidatorResult . Ignore ) {
575
- throw errcode ( new Error ( 'Message validation failed' ) , codes . ERR_TOPIC_VALIDATOR_REJECT )
575
+ throw new CodeError ( 'Message validation failed' , codes . ERR_TOPIC_VALIDATOR_REJECT )
576
576
}
577
577
}
578
578
}
@@ -592,7 +592,7 @@ export abstract class PubSubBaseProtocol<Events extends { [s: string]: any } = P
592
592
...message
593
593
} )
594
594
default :
595
- throw errcode ( new Error ( 'Cannot build message: unhandled signature policy' ) , codes . ERR_UNHANDLED_SIGNATURE_POLICY )
595
+ throw new CodeError ( 'Cannot build message: unhandled signature policy' , codes . ERR_UNHANDLED_SIGNATURE_POLICY )
596
596
}
597
597
}
598
598
@@ -603,11 +603,11 @@ export abstract class PubSubBaseProtocol<Events extends { [s: string]: any } = P
603
603
*/
604
604
getSubscribers ( topic : string ) : PeerId [ ] {
605
605
if ( ! this . started ) {
606
- throw errcode ( new Error ( 'not started yet' ) , 'ERR_NOT_STARTED_YET' )
606
+ throw new CodeError ( 'not started yet' , 'ERR_NOT_STARTED_YET' )
607
607
}
608
608
609
609
if ( topic == null ) {
610
- throw errcode ( new Error ( 'topic is required' ) , 'ERR_NOT_VALID_TOPIC' )
610
+ throw new CodeError ( 'topic is required' , 'ERR_NOT_VALID_TOPIC' )
611
611
}
612
612
613
613
const peersInTopic = this . topics . get ( topic . toString ( ) )
0 commit comments