@libp2p/pubsub 9.0.26-50b897139 → 9.0.26-5214dec4a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/index.ts CHANGED
@@ -30,23 +30,23 @@
30
30
  * ```
31
31
  */
32
32
 
33
- import { CodeError, TypedEventEmitter, CustomEvent, TopicValidatorResult } from '@libp2p/interface'
33
+ import { TypedEventEmitter, TopicValidatorResult, InvalidMessageError, NotStartedError, InvalidParametersError } from '@libp2p/interface'
34
34
  import { PeerMap, PeerSet } from '@libp2p/peer-collections'
35
35
  import { pipe } from 'it-pipe'
36
36
  import Queue from 'p-queue'
37
- import { codes } from './errors.js'
38
37
  import { PeerStreams as PeerStreamsImpl } from './peer-streams.js'
39
38
  import {
40
39
  signMessage,
41
40
  verifySignature
42
41
  } from './sign.js'
43
42
  import { toMessage, ensureArray, noSignMsgId, msgId, toRpcMessage, randomSeqno } from './utils.js'
44
- import type { PubSub, Message, StrictNoSign, StrictSign, PubSubInit, PubSubEvents, PeerStreams, PubSubRPCMessage, PubSubRPC, PubSubRPCSubscription, SubscriptionChangeData, PublishResult, TopicValidatorFn, ComponentLogger, Logger, Connection, PeerId } from '@libp2p/interface'
43
+ import type { PubSub, Message, StrictNoSign, StrictSign, PubSubInit, PubSubEvents, PeerStreams, PubSubRPCMessage, PubSubRPC, PubSubRPCSubscription, SubscriptionChangeData, PublishResult, TopicValidatorFn, ComponentLogger, Logger, Connection, PeerId, PrivateKey } from '@libp2p/interface'
45
44
  import type { IncomingStreamData, Registrar } from '@libp2p/interface-internal'
46
45
  import type { Uint8ArrayList } from 'uint8arraylist'
47
46
 
48
47
  export interface PubSubComponents {
49
48
  peerId: PeerId
49
+ privateKey: PrivateKey
50
50
  registrar: Registrar
51
51
  logger: ComponentLogger
52
52
  }
@@ -261,9 +261,7 @@ export abstract class PubSubBaseProtocol<Events extends Record<string, any> = Pu
261
261
  * Registrar notifies a closing connection with pubsub protocol
262
262
  */
263
263
  protected _onPeerDisconnected (peerId: PeerId, conn?: Connection): void {
264
- const idB58Str = peerId.toString()
265
-
266
- this.log('connection ended', idB58Str)
264
+ this.log('connection ended %p', peerId)
267
265
  this._removePeer(peerId)
268
266
  }
269
267
 
@@ -486,22 +484,22 @@ export abstract class PubSubBaseProtocol<Events extends Record<string, any> = Pu
486
484
  switch (signaturePolicy) {
487
485
  case 'StrictSign':
488
486
  if (msg.type !== 'signed') {
489
- throw new CodeError('Message type should be "signed" when signature policy is StrictSign but it was not', codes.ERR_MISSING_SIGNATURE)
487
+ throw new InvalidMessageError('Message type should be "signed" when signature policy is StrictSign but it was not')
490
488
  }
491
489
 
492
490
  if (msg.sequenceNumber == null) {
493
- throw new CodeError('Need seqno when signature policy is StrictSign but it was missing', codes.ERR_MISSING_SEQNO)
491
+ throw new InvalidMessageError('Need seqno when signature policy is StrictSign but it was missing')
494
492
  }
495
493
 
496
494
  if (msg.key == null) {
497
- throw new CodeError('Need key when signature policy is StrictSign but it was missing', codes.ERR_MISSING_KEY)
495
+ throw new InvalidMessageError('Need key when signature policy is StrictSign but it was missing')
498
496
  }
499
497
 
500
498
  return msgId(msg.key, msg.sequenceNumber)
501
499
  case 'StrictNoSign':
502
500
  return noSignMsgId(msg.data)
503
501
  default:
504
- throw new CodeError('Cannot get message id: unhandled signature policy', codes.ERR_UNHANDLED_SIGNATURE_POLICY)
502
+ throw new InvalidMessageError('Cannot get message id: unhandled signature policy')
505
503
  }
506
504
  }
507
505
 
@@ -573,51 +571,51 @@ export abstract class PubSubBaseProtocol<Events extends Record<string, any> = Pu
573
571
  switch (signaturePolicy) {
574
572
  case 'StrictNoSign':
575
573
  if (message.type !== 'unsigned') {
576
- throw new CodeError('Message type should be "unsigned" when signature policy is StrictNoSign but it was not', codes.ERR_MISSING_SIGNATURE)
574
+ throw new InvalidMessageError('Message type should be "unsigned" when signature policy is StrictNoSign but it was not')
577
575
  }
578
576
 
579
577
  // @ts-expect-error should not be present
580
578
  if (message.signature != null) {
581
- throw new CodeError('StrictNoSigning: signature should not be present', codes.ERR_UNEXPECTED_SIGNATURE)
579
+ throw new InvalidMessageError('StrictNoSigning: signature should not be present')
582
580
  }
583
581
 
584
582
  // @ts-expect-error should not be present
585
583
  if (message.key != null) {
586
- throw new CodeError('StrictNoSigning: key should not be present', codes.ERR_UNEXPECTED_KEY)
584
+ throw new InvalidMessageError('StrictNoSigning: key should not be present')
587
585
  }
588
586
 
589
587
  // @ts-expect-error should not be present
590
588
  if (message.sequenceNumber != null) {
591
- throw new CodeError('StrictNoSigning: seqno should not be present', codes.ERR_UNEXPECTED_SEQNO)
589
+ throw new InvalidMessageError('StrictNoSigning: seqno should not be present')
592
590
  }
593
591
  break
594
592
  case 'StrictSign':
595
593
  if (message.type !== 'signed') {
596
- throw new CodeError('Message type should be "signed" when signature policy is StrictSign but it was not', codes.ERR_MISSING_SIGNATURE)
594
+ throw new InvalidMessageError('Message type should be "signed" when signature policy is StrictSign but it was not')
597
595
  }
598
596
 
599
597
  if (message.signature == null) {
600
- throw new CodeError('StrictSigning: Signing required and no signature was present', codes.ERR_MISSING_SIGNATURE)
598
+ throw new InvalidMessageError('StrictSigning: Signing required and no signature was present')
601
599
  }
602
600
 
603
601
  if (message.sequenceNumber == null) {
604
- throw new CodeError('StrictSigning: Signing required and no sequenceNumber was present', codes.ERR_MISSING_SEQNO)
602
+ throw new InvalidMessageError('StrictSigning: Signing required and no sequenceNumber was present')
605
603
  }
606
604
 
607
605
  if (!(await verifySignature(message, this.encodeMessage.bind(this)))) {
608
- throw new CodeError('StrictSigning: Invalid message signature', codes.ERR_INVALID_SIGNATURE)
606
+ throw new InvalidMessageError('StrictSigning: Invalid message signature')
609
607
  }
610
608
 
611
609
  break
612
610
  default:
613
- throw new CodeError('Cannot validate message: unhandled signature policy', codes.ERR_UNHANDLED_SIGNATURE_POLICY)
611
+ throw new InvalidMessageError('Cannot validate message: unhandled signature policy')
614
612
  }
615
613
 
616
614
  const validatorFn = this.topicValidators.get(message.topic)
617
615
  if (validatorFn != null) {
618
616
  const result = await validatorFn(from, message)
619
617
  if (result === TopicValidatorResult.Reject || result === TopicValidatorResult.Ignore) {
620
- throw new CodeError('Message validation failed', codes.ERR_TOPIC_VALIDATOR_REJECT)
618
+ throw new InvalidMessageError('Message validation failed')
621
619
  }
622
620
  }
623
621
  }
@@ -630,14 +628,14 @@ export abstract class PubSubBaseProtocol<Events extends Record<string, any> = Pu
630
628
  const signaturePolicy = this.globalSignaturePolicy
631
629
  switch (signaturePolicy) {
632
630
  case 'StrictSign':
633
- return signMessage(this.components.peerId, message, this.encodeMessage.bind(this))
631
+ return signMessage(this.components.privateKey, message, this.encodeMessage.bind(this))
634
632
  case 'StrictNoSign':
635
633
  return Promise.resolve({
636
634
  type: 'unsigned',
637
635
  ...message
638
636
  })
639
637
  default:
640
- throw new CodeError('Cannot build message: unhandled signature policy', codes.ERR_UNHANDLED_SIGNATURE_POLICY)
638
+ throw new InvalidMessageError('Cannot build message: unhandled signature policy')
641
639
  }
642
640
  }
643
641
 
@@ -648,11 +646,11 @@ export abstract class PubSubBaseProtocol<Events extends Record<string, any> = Pu
648
646
  */
649
647
  getSubscribers (topic: string): PeerId[] {
650
648
  if (!this.started) {
651
- throw new CodeError('not started yet', 'ERR_NOT_STARTED_YET')
649
+ throw new NotStartedError('not started yet')
652
650
  }
653
651
 
654
652
  if (topic == null) {
655
- throw new CodeError('topic is required', 'ERR_NOT_VALID_TOPIC')
653
+ throw new InvalidParametersError('Topic is required')
656
654
  }
657
655
 
658
656
  const peersInTopic = this.topics.get(topic.toString())
@@ -1,4 +1,4 @@
1
- import { TypedEventEmitter, CustomEvent } from '@libp2p/interface'
1
+ import { TypedEventEmitter } from '@libp2p/interface'
2
2
  import { closeSource } from '@libp2p/utils/close-source'
3
3
  import * as lp from 'it-length-prefixed'
4
4
  import { pipe } from 'it-pipe'
package/src/sign.ts CHANGED
@@ -1,31 +1,22 @@
1
- import { keys } from '@libp2p/crypto'
2
- import { peerIdFromKeys } from '@libp2p/peer-id'
1
+ import { peerIdFromPrivateKey } from '@libp2p/peer-id'
3
2
  import { concat as uint8ArrayConcat } from 'uint8arrays/concat'
4
3
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
5
4
  import { toRpcMessage } from './utils.js'
6
- import type { PeerId, PubSubRPCMessage, SignedMessage } from '@libp2p/interface'
5
+ import type { PeerId, PrivateKey, PubSubRPCMessage, PublicKey, SignedMessage } from '@libp2p/interface'
7
6
 
8
7
  export const SignPrefix = uint8ArrayFromString('libp2p-pubsub:')
9
8
 
10
9
  /**
11
10
  * Signs the provided message with the given `peerId`
12
11
  */
13
- export async function signMessage (peerId: PeerId, message: { from: PeerId, topic: string, data: Uint8Array, sequenceNumber: bigint }, encode: (rpc: PubSubRPCMessage) => Uint8Array): Promise<SignedMessage> {
14
- if (peerId.privateKey == null) {
15
- throw new Error('Cannot sign message, no private key present')
16
- }
17
-
18
- if (peerId.publicKey == null) {
19
- throw new Error('Cannot sign message, no public key present')
20
- }
21
-
12
+ export async function signMessage (privateKey: PrivateKey, message: { from: PeerId, topic: string, data: Uint8Array, sequenceNumber: bigint }, encode: (rpc: PubSubRPCMessage) => Uint8Array): Promise<SignedMessage> {
22
13
  // @ts-expect-error signature field is missing, added below
23
14
  const outputMessage: SignedMessage = {
24
15
  type: 'signed',
25
16
  topic: message.topic,
26
17
  data: message.data,
27
18
  sequenceNumber: message.sequenceNumber,
28
- from: peerId
19
+ from: peerIdFromPrivateKey(privateKey)
29
20
  }
30
21
 
31
22
  // Get the message in bytes, and prepend with the pubsub prefix
@@ -34,9 +25,8 @@ export async function signMessage (peerId: PeerId, message: { from: PeerId, topi
34
25
  encode(toRpcMessage(outputMessage)).subarray()
35
26
  ])
36
27
 
37
- const privateKey = await keys.unmarshalPrivateKey(peerId.privateKey)
38
28
  outputMessage.signature = await privateKey.sign(bytes)
39
- outputMessage.key = peerId.publicKey
29
+ outputMessage.key = privateKey.publicKey
40
30
 
41
31
  return outputMessage
42
32
  }
@@ -68,8 +58,7 @@ export async function verifySignature (message: SignedMessage, encode: (rpc: Pub
68
58
  ])
69
59
 
70
60
  // Get the public key
71
- const pubKeyBytes = await messagePublicKey(message)
72
- const pubKey = keys.unmarshalPublicKey(pubKeyBytes)
61
+ const pubKey = messagePublicKey(message)
73
62
 
74
63
  // verify the base message
75
64
  return pubKey.verify(bytes, message.signature)
@@ -79,7 +68,7 @@ export async function verifySignature (message: SignedMessage, encode: (rpc: Pub
79
68
  * Returns the PublicKey associated with the given message.
80
69
  * If no valid PublicKey can be retrieved an error will be returned.
81
70
  */
82
- export async function messagePublicKey (message: SignedMessage): Promise<Uint8Array> {
71
+ export function messagePublicKey (message: SignedMessage): PublicKey {
83
72
  if (message.type !== 'signed') {
84
73
  throw new Error('Message type must be "signed" to have a public key')
85
74
  }
@@ -90,11 +79,7 @@ export async function messagePublicKey (message: SignedMessage): Promise<Uint8Ar
90
79
  }
91
80
 
92
81
  if (message.key != null) {
93
- const keyPeerId = await peerIdFromKeys(message.key)
94
-
95
- if (keyPeerId.publicKey != null) {
96
- return keyPeerId.publicKey
97
- }
82
+ return message.key
98
83
  }
99
84
 
100
85
  if (message.from.publicKey != null) {
package/src/utils.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { randomBytes } from '@libp2p/crypto'
2
- import { CodeError } from '@libp2p/interface'
3
- import { peerIdFromBytes, peerIdFromKeys } from '@libp2p/peer-id'
2
+ import { publicKeyFromProtobuf, publicKeyToProtobuf } from '@libp2p/crypto/keys'
3
+ import { InvalidMessageError } from '@libp2p/interface'
4
+ import { peerIdFromMultihash, peerIdFromPublicKey } from '@libp2p/peer-id'
5
+ import * as Digest from 'multiformats/hashes/digest'
4
6
  import { sha256 } from 'multiformats/hashes/sha2'
5
7
  import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
6
8
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string'
7
- import { codes } from './errors.js'
8
- import type { Message, PubSubRPCMessage } from '@libp2p/interface'
9
+ import type { Message, PubSubRPCMessage, PublicKey } from '@libp2p/interface'
9
10
 
10
11
  /**
11
12
  * Generate a random sequence number
@@ -17,12 +18,13 @@ export function randomSeqno (): bigint {
17
18
  /**
18
19
  * Generate a message id, based on the `key` and `seqno`
19
20
  */
20
- export const msgId = (key: Uint8Array, seqno: bigint): Uint8Array => {
21
+ export const msgId = (key: PublicKey, seqno: bigint): Uint8Array => {
21
22
  const seqnoBytes = uint8ArrayFromString(seqno.toString(16).padStart(16, '0'), 'base16')
23
+ const keyBytes = publicKeyToProtobuf(key)
22
24
 
23
- const msgId = new Uint8Array(key.length + seqnoBytes.length)
24
- msgId.set(key, 0)
25
- msgId.set(seqnoBytes, key.length)
25
+ const msgId = new Uint8Array(keyBytes.byteLength + seqnoBytes.length)
26
+ msgId.set(keyBytes, 0)
27
+ msgId.set(seqnoBytes, keyBytes.byteLength)
26
28
 
27
29
  return msgId
28
30
  }
@@ -71,13 +73,15 @@ const isSigned = async (message: PubSubRPCMessage): Promise<boolean> => {
71
73
  return false
72
74
  }
73
75
  // if a public key is present in the `from` field, the message should be signed
74
- const fromID = peerIdFromBytes(message.from)
76
+ const fromID = peerIdFromMultihash(Digest.decode(message.from))
75
77
  if (fromID.publicKey != null) {
76
78
  return true
77
79
  }
78
80
 
79
81
  if (message.key != null) {
80
- const signingID = await peerIdFromKeys(message.key)
82
+ const signingKey = message.key
83
+ const signingID = peerIdFromPublicKey(publicKeyFromProtobuf(signingKey))
84
+
81
85
  return signingID.equals(fromID)
82
86
  }
83
87
 
@@ -86,7 +90,7 @@ const isSigned = async (message: PubSubRPCMessage): Promise<boolean> => {
86
90
 
87
91
  export const toMessage = async (message: PubSubRPCMessage): Promise<Message> => {
88
92
  if (message.from == null) {
89
- throw new CodeError('RPC message was missing from', codes.ERR_MISSING_FROM)
93
+ throw new InvalidMessageError('RPC message was missing from')
90
94
  }
91
95
 
92
96
  if (!await isSigned(message)) {
@@ -97,20 +101,21 @@ export const toMessage = async (message: PubSubRPCMessage): Promise<Message> =>
97
101
  }
98
102
  }
99
103
 
100
- const from = peerIdFromBytes(message.from)
104
+ const from = peerIdFromMultihash(Digest.decode(message.from))
105
+ const key = message.key ?? from.publicKey
106
+
107
+ if (key == null) {
108
+ throw new InvalidMessageError('RPC message was missing public key')
109
+ }
101
110
 
102
111
  const msg: Message = {
103
112
  type: 'signed',
104
- from: peerIdFromBytes(message.from),
113
+ from,
105
114
  topic: message.topic ?? '',
106
115
  sequenceNumber: bigIntFromBytes(message.sequenceNumber ?? new Uint8Array(0)),
107
116
  data: message.data ?? new Uint8Array(0),
108
117
  signature: message.signature ?? new Uint8Array(0),
109
- key: message.key ?? from.publicKey ?? new Uint8Array(0)
110
- }
111
-
112
- if (msg.key.length === 0) {
113
- throw new CodeError('Signed RPC message was missing key', codes.ERR_MISSING_KEY)
118
+ key: key instanceof Uint8Array ? publicKeyFromProtobuf(key) : key
114
119
  }
115
120
 
116
121
  return msg
@@ -119,12 +124,13 @@ export const toMessage = async (message: PubSubRPCMessage): Promise<Message> =>
119
124
  export const toRpcMessage = (message: Message): PubSubRPCMessage => {
120
125
  if (message.type === 'signed') {
121
126
  return {
122
- from: message.from.multihash.bytes,
127
+ from: message.from.toMultihash().bytes,
123
128
  data: message.data,
124
129
  sequenceNumber: bigIntToBytes(message.sequenceNumber),
125
130
  topic: message.topic,
126
131
  signature: message.signature,
127
- key: message.key
132
+ // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions
133
+ key: message.key ? publicKeyToProtobuf(message.key) : undefined
128
134
  }
129
135
  }
130
136
 
@@ -1,51 +0,0 @@
1
- export declare const codes: {
2
- /**
3
- * Signature policy is invalid
4
- */
5
- ERR_INVALID_SIGNATURE_POLICY: string;
6
- /**
7
- * Signature policy is unhandled
8
- */
9
- ERR_UNHANDLED_SIGNATURE_POLICY: string;
10
- /**
11
- * Message expected to have a `signature`, but doesn't
12
- */
13
- ERR_MISSING_SIGNATURE: string;
14
- /**
15
- * Message expected to have a `seqno`, but doesn't
16
- */
17
- ERR_MISSING_SEQNO: string;
18
- /**
19
- * Message expected to have a `key`, but doesn't
20
- */
21
- ERR_MISSING_KEY: string;
22
- /**
23
- * Message `signature` is invalid
24
- */
25
- ERR_INVALID_SIGNATURE: string;
26
- /**
27
- * Message expected to have a `from`, but doesn't
28
- */
29
- ERR_MISSING_FROM: string;
30
- /**
31
- * Message expected to not have a `from`, but does
32
- */
33
- ERR_UNEXPECTED_FROM: string;
34
- /**
35
- * Message expected to not have a `signature`, but does
36
- */
37
- ERR_UNEXPECTED_SIGNATURE: string;
38
- /**
39
- * Message expected to not have a `key`, but does
40
- */
41
- ERR_UNEXPECTED_KEY: string;
42
- /**
43
- * Message expected to not have a `seqno`, but does
44
- */
45
- ERR_UNEXPECTED_SEQNO: string;
46
- /**
47
- * Message failed topic validator
48
- */
49
- ERR_TOPIC_VALIDATOR_REJECT: string;
50
- };
51
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK;IAChB;;OAEG;;IAEH;;OAEG;;IAKH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAKH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAA"}
@@ -1,53 +0,0 @@
1
- export const codes = {
2
- /**
3
- * Signature policy is invalid
4
- */
5
- ERR_INVALID_SIGNATURE_POLICY: 'ERR_INVALID_SIGNATURE_POLICY',
6
- /**
7
- * Signature policy is unhandled
8
- */
9
- ERR_UNHANDLED_SIGNATURE_POLICY: 'ERR_UNHANDLED_SIGNATURE_POLICY',
10
- // Strict signing codes
11
- /**
12
- * Message expected to have a `signature`, but doesn't
13
- */
14
- ERR_MISSING_SIGNATURE: 'ERR_MISSING_SIGNATURE',
15
- /**
16
- * Message expected to have a `seqno`, but doesn't
17
- */
18
- ERR_MISSING_SEQNO: 'ERR_MISSING_SEQNO',
19
- /**
20
- * Message expected to have a `key`, but doesn't
21
- */
22
- ERR_MISSING_KEY: 'ERR_MISSING_KEY',
23
- /**
24
- * Message `signature` is invalid
25
- */
26
- ERR_INVALID_SIGNATURE: 'ERR_INVALID_SIGNATURE',
27
- /**
28
- * Message expected to have a `from`, but doesn't
29
- */
30
- ERR_MISSING_FROM: 'ERR_MISSING_FROM',
31
- // Strict no-signing codes
32
- /**
33
- * Message expected to not have a `from`, but does
34
- */
35
- ERR_UNEXPECTED_FROM: 'ERR_UNEXPECTED_FROM',
36
- /**
37
- * Message expected to not have a `signature`, but does
38
- */
39
- ERR_UNEXPECTED_SIGNATURE: 'ERR_UNEXPECTED_SIGNATURE',
40
- /**
41
- * Message expected to not have a `key`, but does
42
- */
43
- ERR_UNEXPECTED_KEY: 'ERR_UNEXPECTED_KEY',
44
- /**
45
- * Message expected to not have a `seqno`, but does
46
- */
47
- ERR_UNEXPECTED_SEQNO: 'ERR_UNEXPECTED_SEQNO',
48
- /**
49
- * Message failed topic validator
50
- */
51
- ERR_TOPIC_VALIDATOR_REJECT: 'ERR_TOPIC_VALIDATOR_REJECT'
52
- };
53
- //# sourceMappingURL=errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB;;OAEG;IACH,4BAA4B,EAAE,8BAA8B;IAC5D;;OAEG;IACH,8BAA8B,EAAE,gCAAgC;IAEhE,uBAAuB;IAEvB;;OAEG;IACH,qBAAqB,EAAE,uBAAuB;IAC9C;;OAEG;IACH,iBAAiB,EAAE,mBAAmB;IACtC;;OAEG;IACH,eAAe,EAAE,iBAAiB;IAClC;;OAEG;IACH,qBAAqB,EAAE,uBAAuB;IAC9C;;OAEG;IACH,gBAAgB,EAAE,kBAAkB;IAEpC,0BAA0B;IAE1B;;OAEG;IACH,mBAAmB,EAAE,qBAAqB;IAC1C;;OAEG;IACH,wBAAwB,EAAE,0BAA0B;IACpD;;OAEG;IACH,kBAAkB,EAAE,oBAAoB;IACxC;;OAEG;IACH,oBAAoB,EAAE,sBAAsB;IAE5C;;OAEG;IACH,0BAA0B,EAAE,4BAA4B;CACzD,CAAA"}
package/src/errors.ts DELETED
@@ -1,57 +0,0 @@
1
- export const codes = {
2
- /**
3
- * Signature policy is invalid
4
- */
5
- ERR_INVALID_SIGNATURE_POLICY: 'ERR_INVALID_SIGNATURE_POLICY',
6
- /**
7
- * Signature policy is unhandled
8
- */
9
- ERR_UNHANDLED_SIGNATURE_POLICY: 'ERR_UNHANDLED_SIGNATURE_POLICY',
10
-
11
- // Strict signing codes
12
-
13
- /**
14
- * Message expected to have a `signature`, but doesn't
15
- */
16
- ERR_MISSING_SIGNATURE: 'ERR_MISSING_SIGNATURE',
17
- /**
18
- * Message expected to have a `seqno`, but doesn't
19
- */
20
- ERR_MISSING_SEQNO: 'ERR_MISSING_SEQNO',
21
- /**
22
- * Message expected to have a `key`, but doesn't
23
- */
24
- ERR_MISSING_KEY: 'ERR_MISSING_KEY',
25
- /**
26
- * Message `signature` is invalid
27
- */
28
- ERR_INVALID_SIGNATURE: 'ERR_INVALID_SIGNATURE',
29
- /**
30
- * Message expected to have a `from`, but doesn't
31
- */
32
- ERR_MISSING_FROM: 'ERR_MISSING_FROM',
33
-
34
- // Strict no-signing codes
35
-
36
- /**
37
- * Message expected to not have a `from`, but does
38
- */
39
- ERR_UNEXPECTED_FROM: 'ERR_UNEXPECTED_FROM',
40
- /**
41
- * Message expected to not have a `signature`, but does
42
- */
43
- ERR_UNEXPECTED_SIGNATURE: 'ERR_UNEXPECTED_SIGNATURE',
44
- /**
45
- * Message expected to not have a `key`, but does
46
- */
47
- ERR_UNEXPECTED_KEY: 'ERR_UNEXPECTED_KEY',
48
- /**
49
- * Message expected to not have a `seqno`, but does
50
- */
51
- ERR_UNEXPECTED_SEQNO: 'ERR_UNEXPECTED_SEQNO',
52
-
53
- /**
54
- * Message failed topic validator
55
- */
56
- ERR_TOPIC_VALIDATOR_REJECT: 'ERR_TOPIC_VALIDATOR_REJECT'
57
- }