@brightchain/brightchain-api-lib 0.18.2 → 0.21.0

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.
Files changed (160) hide show
  1. package/package.json +8 -3
  2. package/src/index.d.ts +0 -1
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +0 -1
  5. package/src/index.js.map +1 -1
  6. package/src/lib/application.d.ts +12 -3
  7. package/src/lib/application.d.ts.map +1 -1
  8. package/src/lib/application.js +153 -7
  9. package/src/lib/application.js.map +1 -1
  10. package/src/lib/availability/gossipService.d.ts +59 -1
  11. package/src/lib/availability/gossipService.d.ts.map +1 -1
  12. package/src/lib/availability/gossipService.js +125 -1
  13. package/src/lib/availability/gossipService.js.map +1 -1
  14. package/src/lib/availability/index.d.ts +1 -0
  15. package/src/lib/availability/index.d.ts.map +1 -1
  16. package/src/lib/availability/index.js +1 -0
  17. package/src/lib/availability/index.js.map +1 -1
  18. package/src/lib/availability/quorumGossipHandler.d.ts +126 -0
  19. package/src/lib/availability/quorumGossipHandler.d.ts.map +1 -0
  20. package/src/lib/availability/quorumGossipHandler.js +246 -0
  21. package/src/lib/availability/quorumGossipHandler.js.map +1 -0
  22. package/src/lib/constants.d.ts.map +1 -1
  23. package/src/lib/constants.js +4 -0
  24. package/src/lib/constants.js.map +1 -1
  25. package/src/lib/controllers/api/quorum.d.ts +110 -2
  26. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  27. package/src/lib/controllers/api/quorum.js +389 -0
  28. package/src/lib/controllers/api/quorum.js.map +1 -1
  29. package/src/lib/controllers/api/user.d.ts +12 -15
  30. package/src/lib/controllers/api/user.d.ts.map +1 -1
  31. package/src/lib/controllers/api/user.js +312 -94
  32. package/src/lib/controllers/api/user.js.map +1 -1
  33. package/src/lib/databaseInit.d.ts +3 -2
  34. package/src/lib/databaseInit.d.ts.map +1 -1
  35. package/src/lib/databaseInit.js +24 -12
  36. package/src/lib/databaseInit.js.map +1 -1
  37. package/src/lib/datastore/index.d.ts +0 -1
  38. package/src/lib/datastore/index.d.ts.map +1 -1
  39. package/src/lib/datastore/index.js +0 -1
  40. package/src/lib/datastore/index.js.map +1 -1
  41. package/src/lib/environment.d.ts +6 -0
  42. package/src/lib/environment.d.ts.map +1 -1
  43. package/src/lib/environment.js +14 -0
  44. package/src/lib/environment.js.map +1 -1
  45. package/src/lib/hydration/energyAccountHydration.d.ts +17 -0
  46. package/src/lib/hydration/energyAccountHydration.d.ts.map +1 -0
  47. package/src/lib/hydration/energyAccountHydration.js +24 -0
  48. package/src/lib/hydration/energyAccountHydration.js.map +1 -0
  49. package/src/lib/hydration/index.d.ts +13 -0
  50. package/src/lib/hydration/index.d.ts.map +1 -0
  51. package/src/lib/hydration/index.js +21 -0
  52. package/src/lib/hydration/index.js.map +1 -0
  53. package/src/lib/hydration/rbacHydration.d.ts +28 -0
  54. package/src/lib/hydration/rbacHydration.d.ts.map +1 -0
  55. package/src/lib/hydration/rbacHydration.js +56 -0
  56. package/src/lib/hydration/rbacHydration.js.map +1 -0
  57. package/src/lib/interfaces/environment.d.ts +7 -1
  58. package/src/lib/interfaces/environment.d.ts.map +1 -1
  59. package/src/lib/interfaces/responses/api-backup-codes-response.d.ts +1 -1
  60. package/src/lib/interfaces/responses/api-code-count-response.d.ts +1 -1
  61. package/src/lib/interfaces/responses/api-password-change-response.d.ts +9 -0
  62. package/src/lib/interfaces/responses/api-password-change-response.d.ts.map +1 -0
  63. package/src/lib/interfaces/responses/api-password-change-response.js +3 -0
  64. package/src/lib/interfaces/responses/api-password-change-response.js.map +1 -0
  65. package/src/lib/interfaces/responses/api-recovery-response.d.ts +9 -0
  66. package/src/lib/interfaces/responses/api-recovery-response.d.ts.map +1 -0
  67. package/src/lib/interfaces/responses/api-recovery-response.js +3 -0
  68. package/src/lib/interfaces/responses/api-recovery-response.js.map +1 -0
  69. package/src/lib/interfaces/responses/index.d.ts +2 -0
  70. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  71. package/src/lib/interfaces/storage/client-session.d.ts +1 -1
  72. package/src/lib/interfaces/storage/client-session.d.ts.map +1 -1
  73. package/src/lib/interfaces/storage/collection.d.ts +1 -1
  74. package/src/lib/interfaces/storage/collection.d.ts.map +1 -1
  75. package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts +1 -1
  76. package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts.map +1 -1
  77. package/src/lib/interfaces/storage/database.d.ts +1 -1
  78. package/src/lib/interfaces/storage/database.d.ts.map +1 -1
  79. package/src/lib/interfaces/storage/document-types.d.ts +1 -1
  80. package/src/lib/interfaces/storage/document-types.d.ts.map +1 -1
  81. package/src/lib/interfaces/storage/index.d.ts +1 -0
  82. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  83. package/src/lib/interfaces/storage/index.js.map +1 -1
  84. package/src/lib/interfaces/storage/storedDocumentTypes.d.ts +73 -0
  85. package/src/lib/interfaces/storage/storedDocumentTypes.d.ts.map +1 -0
  86. package/src/lib/interfaces/storage/storedDocumentTypes.js +15 -0
  87. package/src/lib/interfaces/storage/storedDocumentTypes.js.map +1 -0
  88. package/src/lib/plugins/brightchain-database-plugin.d.ts +31 -21
  89. package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
  90. package/src/lib/plugins/brightchain-database-plugin.js +103 -53
  91. package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
  92. package/src/lib/plugins/configure-brightchain-app.d.ts.map +1 -1
  93. package/src/lib/plugins/configure-brightchain-app.js +5 -0
  94. package/src/lib/plugins/configure-brightchain-app.js.map +1 -1
  95. package/src/lib/services/auth.d.ts +6 -2
  96. package/src/lib/services/auth.d.ts.map +1 -1
  97. package/src/lib/services/auth.js +43 -7
  98. package/src/lib/services/auth.js.map +1 -1
  99. package/src/lib/services/backupCodeService.d.ts +35 -0
  100. package/src/lib/services/backupCodeService.d.ts.map +1 -0
  101. package/src/lib/services/backupCodeService.js +109 -0
  102. package/src/lib/services/backupCodeService.js.map +1 -0
  103. package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -1
  104. package/src/lib/services/brightchain-authentication-provider.js +28 -9
  105. package/src/lib/services/brightchain-authentication-provider.js.map +1 -1
  106. package/src/lib/services/brightchain-member-init.service.d.ts +39 -20
  107. package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
  108. package/src/lib/services/brightchain-member-init.service.js +139 -53
  109. package/src/lib/services/brightchain-member-init.service.js.map +1 -1
  110. package/src/lib/services/cliOperatorPrompt.d.ts +81 -0
  111. package/src/lib/services/cliOperatorPrompt.d.ts.map +1 -0
  112. package/src/lib/services/cliOperatorPrompt.js +177 -0
  113. package/src/lib/services/cliOperatorPrompt.js.map +1 -0
  114. package/src/lib/services/contentAwareBlocksService.d.ts +92 -0
  115. package/src/lib/services/contentAwareBlocksService.d.ts.map +1 -0
  116. package/src/lib/services/contentAwareBlocksService.js +102 -0
  117. package/src/lib/services/contentAwareBlocksService.js.map +1 -0
  118. package/src/lib/services/contentIngestionService.d.ts +68 -0
  119. package/src/lib/services/contentIngestionService.d.ts.map +1 -0
  120. package/src/lib/services/contentIngestionService.js +139 -0
  121. package/src/lib/services/contentIngestionService.js.map +1 -0
  122. package/src/lib/services/identityExpirationScheduler.d.ts +77 -0
  123. package/src/lib/services/identityExpirationScheduler.d.ts.map +1 -0
  124. package/src/lib/services/identityExpirationScheduler.js +157 -0
  125. package/src/lib/services/identityExpirationScheduler.js.map +1 -0
  126. package/src/lib/services/index.d.ts +7 -0
  127. package/src/lib/services/index.d.ts.map +1 -1
  128. package/src/lib/services/index.js +7 -0
  129. package/src/lib/services/index.js.map +1 -1
  130. package/src/lib/services/quorumDatabaseAdapter.d.ts +60 -0
  131. package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -0
  132. package/src/lib/services/quorumDatabaseAdapter.js +652 -0
  133. package/src/lib/services/quorumDatabaseAdapter.js.map +1 -0
  134. package/src/lib/services/secureKeyStorage.js +3 -3
  135. package/src/lib/services/secureKeyStorage.js.map +1 -1
  136. package/src/lib/services/sessionAdapter.d.ts +62 -0
  137. package/src/lib/services/sessionAdapter.d.ts.map +1 -0
  138. package/src/lib/services/sessionAdapter.js +105 -0
  139. package/src/lib/services/sessionAdapter.js.map +1 -0
  140. package/src/lib/utils/rehydration.d.ts +31 -0
  141. package/src/lib/utils/rehydration.d.ts.map +1 -0
  142. package/src/lib/utils/rehydration.js +111 -0
  143. package/src/lib/utils/rehydration.js.map +1 -0
  144. package/src/lib/utils/serialization.d.ts +21 -0
  145. package/src/lib/utils/serialization.d.ts.map +1 -0
  146. package/src/lib/utils/serialization.js +41 -0
  147. package/src/lib/utils/serialization.js.map +1 -0
  148. package/src/lib/validation/userValidation.d.ts +17 -0
  149. package/src/lib/validation/userValidation.d.ts.map +1 -1
  150. package/src/lib/validation/userValidation.js +77 -0
  151. package/src/lib/validation/userValidation.js.map +1 -1
  152. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts +0 -24
  153. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts.map +0 -1
  154. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js +0 -53
  155. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js.map +0 -1
  156. package/src/lib/datastore/document-model-adapter.d.ts +0 -48
  157. package/src/lib/datastore/document-model-adapter.d.ts.map +0 -1
  158. package/src/lib/datastore/document-model-adapter.js +0 -178
  159. package/src/lib/datastore/document-model-adapter.js.map +0 -1
  160. /package/{brightchain-api-lib/README.md → README.md} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"gossipService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/gossipService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/gossipService.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,6 @@ export * from './discoveryProtocol';
12
12
  export * from './gossipService';
13
13
  export * from './heartbeatMonitor';
14
14
  export * from './poolDiscoveryService';
15
+ export * from './quorumGossipHandler';
15
16
  export * from './reconciliationService';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
@@ -15,5 +15,6 @@ tslib_1.__exportStar(require("./discoveryProtocol"), exports);
15
15
  tslib_1.__exportStar(require("./gossipService"), exports);
16
16
  tslib_1.__exportStar(require("./heartbeatMonitor"), exports);
17
17
  tslib_1.__exportStar(require("./poolDiscoveryService"), exports);
18
+ tslib_1.__exportStar(require("./quorumGossipHandler"), exports);
18
19
  tslib_1.__exportStar(require("./reconciliationService"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gEAAsC;AACtC,gEAAsC;AACtC,0DAAgC;AAChC,6DAAmC;AACnC,8DAAoC;AACpC,0DAAgC;AAChC,6DAAmC;AACnC,iEAAuC;AACvC,kEAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,gEAAsC;AACtC,gEAAsC;AACtC,0DAAgC;AAChC,6DAAmC;AACnC,8DAAoC;AACpC,0DAAgC;AAChC,6DAAmC;AACnC,iEAAuC;AACvC,gEAAsC;AACtC,kEAAwC"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * @fileoverview QuorumGossipHandler — validates, deserializes, and dispatches
3
+ * quorum proposal/vote gossip messages to the QuorumStateMachine.
4
+ *
5
+ * Registers as a handler on the GossipService for 'quorum_proposal' and
6
+ * 'quorum_vote' announcements. Validates that proposers/voters are active
7
+ * quorum members, deduplicates messages, caches CBL attachments, and
8
+ * dispatches to the QuorumStateMachine for processing.
9
+ *
10
+ * @see Requirements 5.5, 7.3
11
+ */
12
+ import { BlockAnnouncement, IGossipService, IQuorumDatabase, IQuorumStateMachine } from '@brightchain/brightchain-lib';
13
+ import { PlatformID } from '@digitaldefiance/ecies-lib';
14
+ /**
15
+ * Interface for retrieving and caching CBL attachment content.
16
+ */
17
+ export interface ICBLContentProvider {
18
+ /**
19
+ * Retrieve CBL content by its ID.
20
+ * @param cblId - The CBL identifier
21
+ * @returns The CBL content bytes, or null if not found
22
+ */
23
+ retrieveCBL(cblId: string): Promise<Uint8Array | null>;
24
+ }
25
+ /**
26
+ * Handles quorum proposal and vote gossip messages.
27
+ *
28
+ * Responsibilities:
29
+ * - Validates proposer/voter membership against the quorum database
30
+ * - Deduplicates proposals and votes by ID
31
+ * - Deserializes gossip metadata into ProposalInput/VoteInput
32
+ * - Dispatches to QuorumStateMachine for processing
33
+ * - Caches CBL attachment content for proposals with attachments
34
+ *
35
+ * @template TID - Platform ID type for frontend/backend DTO compatibility
36
+ */
37
+ export declare class QuorumGossipHandler<TID extends PlatformID = Uint8Array> {
38
+ private readonly gossipService;
39
+ private readonly stateMachine;
40
+ private readonly db;
41
+ private readonly cblProvider?;
42
+ /** Set of proposal IDs already processed (deduplication) */
43
+ private readonly seenProposalIds;
44
+ /** Set of vote keys (proposalId:voterMemberId) already processed */
45
+ private readonly seenVoteKeys;
46
+ /** Cached CBL attachment content keyed by CBL ID */
47
+ private readonly attachmentCache;
48
+ /** Bound handler references for cleanup */
49
+ private readonly boundProposalHandler;
50
+ private readonly boundVoteHandler;
51
+ constructor(gossipService: IGossipService, stateMachine: IQuorumStateMachine<TID>, db: IQuorumDatabase<TID>, cblProvider?: ICBLContentProvider | undefined);
52
+ /**
53
+ * Start listening for quorum gossip messages.
54
+ */
55
+ start(): void;
56
+ /**
57
+ * Stop listening for quorum gossip messages and clean up.
58
+ */
59
+ stop(): void;
60
+ /**
61
+ * Handle an incoming quorum proposal announcement.
62
+ *
63
+ * 1. Validate the announcement has quorumProposal metadata
64
+ * 2. Deduplicate by proposal ID
65
+ * 3. Validate the proposer is an active quorum member
66
+ * 4. Deserialize the metadata into a ProposalInput
67
+ * 5. Dispatch to QuorumStateMachine.submitProposal()
68
+ * 6. If the proposal has an attachment, cache the CBL content
69
+ *
70
+ * @param announcement - The received gossip announcement
71
+ */
72
+ handleProposalAnnouncement(announcement: BlockAnnouncement): Promise<void>;
73
+ /**
74
+ * Handle an incoming quorum vote announcement.
75
+ *
76
+ * 1. Validate the announcement has quorumVote metadata
77
+ * 2. Deduplicate by proposalId + voterMemberId
78
+ * 3. Validate the voter is an active quorum member
79
+ * 4. Validate the referenced proposal exists and is pending
80
+ * 5. Deserialize the metadata into a VoteInput
81
+ * 6. Dispatch to QuorumStateMachine.submitVote()
82
+ *
83
+ * @param announcement - The received gossip announcement
84
+ */
85
+ handleVoteAnnouncement(announcement: BlockAnnouncement): Promise<void>;
86
+ /**
87
+ * Deserialize QuorumProposalMetadata from gossip into a ProposalInput.
88
+ *
89
+ * @param metadata - The gossip proposal metadata
90
+ * @returns A ProposalInput suitable for QuorumStateMachine.submitProposal()
91
+ */
92
+ private deserializeProposalMetadata;
93
+ /**
94
+ * Deserialize QuorumVoteMetadata from gossip into a VoteInput.
95
+ *
96
+ * @param metadata - The gossip vote metadata
97
+ * @returns A VoteInput suitable for QuorumStateMachine.submitVote()
98
+ */
99
+ private deserializeVoteMetadata;
100
+ /**
101
+ * Retrieve and cache CBL attachment content.
102
+ *
103
+ * When a proposal with an attachment is received via gossip, the CBL
104
+ * content is fetched and cached locally so the node operator can review
105
+ * it during voting.
106
+ *
107
+ * @param cblId - The CBL identifier to retrieve and cache
108
+ */
109
+ private cacheAttachment;
110
+ /**
111
+ * Get cached CBL attachment content.
112
+ *
113
+ * @param cblId - The CBL identifier
114
+ * @returns The cached content, or undefined if not cached
115
+ */
116
+ getCachedAttachment(cblId: string): Uint8Array | undefined;
117
+ /**
118
+ * Clear the attachment cache.
119
+ */
120
+ clearAttachmentCache(): void;
121
+ /**
122
+ * Clear deduplication state (for testing or periodic cleanup).
123
+ */
124
+ clearDeduplicationState(): void;
125
+ }
126
+ //# sourceMappingURL=quorumGossipHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorumGossipHandler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/quorumGossipHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EAOpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAgB,MAAM,4BAA4B,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;CACxD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAmB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAehE,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAjB/B,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IAErD,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAElD,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;IAEjE,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmC;IACxE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmC;gBAGjD,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC,EACtC,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,EACxB,WAAW,CAAC,EAAE,mBAAmB,YAAA;IAcpD;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI;IAKZ;;;;;;;;;;;OAWG;IACG,0BAA0B,CAC9B,YAAY,EAAE,iBAAiB,GAC9B,OAAO,CAAC,IAAI,CAAC;IA6ChB;;;;;;;;;;;OAWG;IACG,sBAAsB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC5E;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IA4BnC;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;;;;OAQG;YACW,eAAe;IAsB7B;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI1D;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAI5B;;OAEG;IACH,uBAAuB,IAAI,IAAI;CAIhC"}
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview QuorumGossipHandler — validates, deserializes, and dispatches
4
+ * quorum proposal/vote gossip messages to the QuorumStateMachine.
5
+ *
6
+ * Registers as a handler on the GossipService for 'quorum_proposal' and
7
+ * 'quorum_vote' announcements. Validates that proposers/voters are active
8
+ * quorum members, deduplicates messages, caches CBL attachments, and
9
+ * dispatches to the QuorumStateMachine for processing.
10
+ *
11
+ * @see Requirements 5.5, 7.3
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.QuorumGossipHandler = void 0;
15
+ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
16
+ /**
17
+ * Handles quorum proposal and vote gossip messages.
18
+ *
19
+ * Responsibilities:
20
+ * - Validates proposer/voter membership against the quorum database
21
+ * - Deduplicates proposals and votes by ID
22
+ * - Deserializes gossip metadata into ProposalInput/VoteInput
23
+ * - Dispatches to QuorumStateMachine for processing
24
+ * - Caches CBL attachment content for proposals with attachments
25
+ *
26
+ * @template TID - Platform ID type for frontend/backend DTO compatibility
27
+ */
28
+ class QuorumGossipHandler {
29
+ constructor(gossipService, stateMachine, db, cblProvider) {
30
+ this.gossipService = gossipService;
31
+ this.stateMachine = stateMachine;
32
+ this.db = db;
33
+ this.cblProvider = cblProvider;
34
+ /** Set of proposal IDs already processed (deduplication) */
35
+ this.seenProposalIds = new Set();
36
+ /** Set of vote keys (proposalId:voterMemberId) already processed */
37
+ this.seenVoteKeys = new Set();
38
+ /** Cached CBL attachment content keyed by CBL ID */
39
+ this.attachmentCache = new Map();
40
+ this.boundProposalHandler = (ann) => {
41
+ this.handleProposalAnnouncement(ann).catch((err) => {
42
+ console.error('[QuorumGossipHandler] Proposal handler error:', err);
43
+ });
44
+ };
45
+ this.boundVoteHandler = (ann) => {
46
+ this.handleVoteAnnouncement(ann).catch((err) => {
47
+ console.error('[QuorumGossipHandler] Vote handler error:', err);
48
+ });
49
+ };
50
+ }
51
+ /**
52
+ * Start listening for quorum gossip messages.
53
+ */
54
+ start() {
55
+ this.gossipService.onQuorumProposal(this.boundProposalHandler);
56
+ this.gossipService.onQuorumVote(this.boundVoteHandler);
57
+ }
58
+ /**
59
+ * Stop listening for quorum gossip messages and clean up.
60
+ */
61
+ stop() {
62
+ this.gossipService.offQuorumProposal(this.boundProposalHandler);
63
+ this.gossipService.offQuorumVote(this.boundVoteHandler);
64
+ }
65
+ /**
66
+ * Handle an incoming quorum proposal announcement.
67
+ *
68
+ * 1. Validate the announcement has quorumProposal metadata
69
+ * 2. Deduplicate by proposal ID
70
+ * 3. Validate the proposer is an active quorum member
71
+ * 4. Deserialize the metadata into a ProposalInput
72
+ * 5. Dispatch to QuorumStateMachine.submitProposal()
73
+ * 6. If the proposal has an attachment, cache the CBL content
74
+ *
75
+ * @param announcement - The received gossip announcement
76
+ */
77
+ async handleProposalAnnouncement(announcement) {
78
+ const metadata = announcement.quorumProposal;
79
+ if (!metadata) {
80
+ return;
81
+ }
82
+ // Deduplicate: skip if we've already processed this proposal
83
+ if (this.seenProposalIds.has(metadata.proposalId)) {
84
+ return;
85
+ }
86
+ // Check if proposal already exists in the database
87
+ const existingProposal = await this.db.getProposal(metadata.proposalId);
88
+ if (existingProposal) {
89
+ this.seenProposalIds.add(metadata.proposalId);
90
+ return;
91
+ }
92
+ // Validate proposer is an active quorum member
93
+ const proposerMember = await this.db.getMember(metadata.proposerMemberId);
94
+ if (!proposerMember || !proposerMember.isActive) {
95
+ return; // Silently discard — invalid proposer
96
+ }
97
+ // Deserialize the gossip metadata into a ProposalInput
98
+ const proposalInput = this.deserializeProposalMetadata(metadata);
99
+ try {
100
+ await this.stateMachine.submitProposal(proposalInput);
101
+ this.seenProposalIds.add(metadata.proposalId);
102
+ // Cache CBL attachment content if present (Task 21.4)
103
+ if (metadata.attachmentCblId) {
104
+ await this.cacheAttachment(metadata.attachmentCblId);
105
+ }
106
+ }
107
+ catch {
108
+ // Proposal submission failed (e.g., validation error in state machine).
109
+ // The gossip layer silently discards invalid proposals.
110
+ }
111
+ }
112
+ /**
113
+ * Handle an incoming quorum vote announcement.
114
+ *
115
+ * 1. Validate the announcement has quorumVote metadata
116
+ * 2. Deduplicate by proposalId + voterMemberId
117
+ * 3. Validate the voter is an active quorum member
118
+ * 4. Validate the referenced proposal exists and is pending
119
+ * 5. Deserialize the metadata into a VoteInput
120
+ * 6. Dispatch to QuorumStateMachine.submitVote()
121
+ *
122
+ * @param announcement - The received gossip announcement
123
+ */
124
+ async handleVoteAnnouncement(announcement) {
125
+ const metadata = announcement.quorumVote;
126
+ if (!metadata) {
127
+ return;
128
+ }
129
+ // Deduplicate: skip if we've already processed this vote
130
+ const voteKey = `${metadata.proposalId}:${metadata.voterMemberId}`;
131
+ if (this.seenVoteKeys.has(voteKey)) {
132
+ return;
133
+ }
134
+ // Validate voter is an active quorum member
135
+ const voterMember = await this.db.getMember(metadata.voterMemberId);
136
+ if (!voterMember || !voterMember.isActive) {
137
+ return; // Silently discard — invalid voter
138
+ }
139
+ // Validate the referenced proposal exists and is pending
140
+ const proposal = await this.db.getProposal(metadata.proposalId);
141
+ if (!proposal || proposal.status !== brightchain_lib_1.ProposalStatus.Pending) {
142
+ return; // Silently discard — no matching pending proposal
143
+ }
144
+ // Deserialize the gossip metadata into a VoteInput
145
+ const voteInput = this.deserializeVoteMetadata(metadata);
146
+ try {
147
+ await this.stateMachine.submitVote(voteInput);
148
+ this.seenVoteKeys.add(voteKey);
149
+ }
150
+ catch {
151
+ // Vote submission failed (e.g., duplicate detected by state machine).
152
+ // The gossip layer silently discards invalid votes.
153
+ }
154
+ }
155
+ /**
156
+ * Deserialize QuorumProposalMetadata from gossip into a ProposalInput.
157
+ *
158
+ * @param metadata - The gossip proposal metadata
159
+ * @returns A ProposalInput suitable for QuorumStateMachine.submitProposal()
160
+ */
161
+ deserializeProposalMetadata(metadata) {
162
+ let actionPayload;
163
+ try {
164
+ actionPayload = JSON.parse(metadata.actionPayload);
165
+ }
166
+ catch {
167
+ actionPayload = {};
168
+ }
169
+ // Ensure proposerMemberId is in the action payload for the state machine
170
+ actionPayload['proposerMemberId'] = metadata.proposerMemberId;
171
+ return {
172
+ description: metadata.description,
173
+ actionType: metadata.actionType,
174
+ actionPayload,
175
+ expiresAt: metadata.expiresAt instanceof Date
176
+ ? metadata.expiresAt
177
+ : new Date(metadata.expiresAt),
178
+ attachmentCblId: metadata.attachmentCblId,
179
+ };
180
+ }
181
+ /**
182
+ * Deserialize QuorumVoteMetadata from gossip into a VoteInput.
183
+ *
184
+ * @param metadata - The gossip vote metadata
185
+ * @returns A VoteInput suitable for QuorumStateMachine.submitVote()
186
+ */
187
+ deserializeVoteMetadata(metadata) {
188
+ return {
189
+ proposalId: metadata.proposalId,
190
+ voterMemberId: metadata.voterMemberId,
191
+ decision: metadata.decision,
192
+ comment: metadata.comment,
193
+ };
194
+ }
195
+ /**
196
+ * Retrieve and cache CBL attachment content.
197
+ *
198
+ * When a proposal with an attachment is received via gossip, the CBL
199
+ * content is fetched and cached locally so the node operator can review
200
+ * it during voting.
201
+ *
202
+ * @param cblId - The CBL identifier to retrieve and cache
203
+ */
204
+ async cacheAttachment(cblId) {
205
+ if (this.attachmentCache.has(cblId)) {
206
+ return; // Already cached
207
+ }
208
+ if (!this.cblProvider) {
209
+ return; // No CBL provider configured
210
+ }
211
+ try {
212
+ const content = await this.cblProvider.retrieveCBL(cblId);
213
+ if (content) {
214
+ this.attachmentCache.set(cblId, content);
215
+ }
216
+ }
217
+ catch {
218
+ // CBL retrieval failed — non-fatal, operator can retry manually
219
+ console.warn(`[QuorumGossipHandler] Failed to cache CBL attachment: ${cblId}`);
220
+ }
221
+ }
222
+ /**
223
+ * Get cached CBL attachment content.
224
+ *
225
+ * @param cblId - The CBL identifier
226
+ * @returns The cached content, or undefined if not cached
227
+ */
228
+ getCachedAttachment(cblId) {
229
+ return this.attachmentCache.get(cblId);
230
+ }
231
+ /**
232
+ * Clear the attachment cache.
233
+ */
234
+ clearAttachmentCache() {
235
+ this.attachmentCache.clear();
236
+ }
237
+ /**
238
+ * Clear deduplication state (for testing or periodic cleanup).
239
+ */
240
+ clearDeduplicationState() {
241
+ this.seenProposalIds.clear();
242
+ this.seenVoteKeys.clear();
243
+ }
244
+ }
245
+ exports.QuorumGossipHandler = QuorumGossipHandler;
246
+ //# sourceMappingURL=quorumGossipHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorumGossipHandler.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/quorumGossipHandler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAU3D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,aAKvB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAU3D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,aAQvB,CAAC"}
@@ -24,6 +24,7 @@
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.Constants = void 0;
26
26
  const brightchain_lib_1 = require("@brightchain/brightchain-lib");
27
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
27
28
  const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
28
29
  const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
29
30
  const expressConsts = (0, node_express_suite_1.createExpressConstants)('brightchain.org', 'brightchain.org', {
@@ -49,5 +50,8 @@ exports.Constants = {
49
50
  ...expressConsts,
50
51
  PBKDF2_PROFILES: expressConsts.PBKDF2_PROFILES,
51
52
  WRAPPED_KEY: node_ecies_lib_1.WRAPPED_KEY,
53
+ // BrightChain uses GuidV4 (16-byte) IDs rather than ObjectId (12-byte).
54
+ // This ensures Environment generates GUIDs for systemId/adminId/memberId.
55
+ idProvider: new ecies_lib_1.GuidV4Provider(),
52
56
  };
53
57
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,kEAA0E;AAC1E,oEAA8D;AAC9D,4EAA6E;AAG7E,MAAM,aAAa,GAAG,IAAA,2CAAsB,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB;IACE,IAAI,EAAE,aAAa;CACpB,CACF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACU,QAAA,SAAS,GAAkB;IACtC,GAAG,2BAAa;IAChB,GAAG,aAAa;IAChB,eAAe,EAAE,aAAa,CAAC,eAAe;IAC9C,WAAW,EAAX,4BAAW;CACZ,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,kEAA0E;AAC1E,0DAA4D;AAC5D,oEAA8D;AAC9D,4EAA6E;AAG7E,MAAM,aAAa,GAAG,IAAA,2CAAsB,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB;IACE,IAAI,EAAE,aAAa;CACpB,CACF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACU,QAAA,SAAS,GAAkB;IACtC,GAAG,2BAAa;IAChB,GAAG,aAAa;IAChB,eAAe,EAAE,aAAa,CAAC,eAAe;IAC9C,WAAW,EAAX,4BAAW;IACX,wEAAwE;IACxE,0EAA0E;IAC1E,UAAU,EAAE,IAAI,0BAAc,EAAE;CACjC,CAAC"}