@brightchain/brightchain-lib 0.19.0 → 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 (281) hide show
  1. package/package.json +6 -2
  2. package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -1
  3. package/src/lib/documents/member/memberProfileHydration.js +6 -0
  4. package/src/lib/documents/member/memberProfileHydration.js.map +1 -1
  5. package/src/lib/enumerations/brightChainStrings.d.ts +39 -0
  6. package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
  7. package/src/lib/enumerations/brightChainStrings.js +47 -0
  8. package/src/lib/enumerations/brightChainStrings.js.map +1 -1
  9. package/src/lib/enumerations/identityValidationErrorType.d.ts +11 -0
  10. package/src/lib/enumerations/identityValidationErrorType.d.ts.map +1 -0
  11. package/src/lib/enumerations/identityValidationErrorType.js +15 -0
  12. package/src/lib/enumerations/identityValidationErrorType.js.map +1 -0
  13. package/src/lib/enumerations/index.d.ts +4 -0
  14. package/src/lib/enumerations/index.d.ts.map +1 -1
  15. package/src/lib/enumerations/index.js +5 -0
  16. package/src/lib/enumerations/index.js.map +1 -1
  17. package/src/lib/enumerations/memberStatusType.d.ts +2 -1
  18. package/src/lib/enumerations/memberStatusType.d.ts.map +1 -1
  19. package/src/lib/enumerations/memberStatusType.js +1 -0
  20. package/src/lib/enumerations/memberStatusType.js.map +1 -1
  21. package/src/lib/enumerations/proposalActionType.d.ts +22 -0
  22. package/src/lib/enumerations/proposalActionType.d.ts.map +1 -0
  23. package/src/lib/enumerations/proposalActionType.js +26 -0
  24. package/src/lib/enumerations/proposalActionType.js.map +1 -0
  25. package/src/lib/enumerations/proposalStatus.d.ts +14 -0
  26. package/src/lib/enumerations/proposalStatus.d.ts.map +1 -0
  27. package/src/lib/enumerations/proposalStatus.js +18 -0
  28. package/src/lib/enumerations/proposalStatus.js.map +1 -0
  29. package/src/lib/enumerations/quorumErrorType.d.ts +30 -1
  30. package/src/lib/enumerations/quorumErrorType.d.ts.map +1 -1
  31. package/src/lib/enumerations/quorumErrorType.js +37 -0
  32. package/src/lib/enumerations/quorumErrorType.js.map +1 -1
  33. package/src/lib/enumerations/quorumOperationalMode.d.ts +16 -0
  34. package/src/lib/enumerations/quorumOperationalMode.d.ts.map +1 -0
  35. package/src/lib/enumerations/quorumOperationalMode.js +20 -0
  36. package/src/lib/enumerations/quorumOperationalMode.js.map +1 -0
  37. package/src/lib/enumerations/sealingErrorType.d.ts +3 -1
  38. package/src/lib/enumerations/sealingErrorType.d.ts.map +1 -1
  39. package/src/lib/enumerations/sealingErrorType.js +2 -0
  40. package/src/lib/enumerations/sealingErrorType.js.map +1 -1
  41. package/src/lib/errors/identityValidationError.d.ts +8 -0
  42. package/src/lib/errors/identityValidationError.d.ts.map +1 -0
  43. package/src/lib/errors/identityValidationError.js +26 -0
  44. package/src/lib/errors/identityValidationError.js.map +1 -0
  45. package/src/lib/errors/index.d.ts +4 -0
  46. package/src/lib/errors/index.d.ts.map +1 -1
  47. package/src/lib/errors/index.js +7 -0
  48. package/src/lib/errors/index.js.map +1 -1
  49. package/src/lib/errors/quorumError.d.ts.map +1 -1
  50. package/src/lib/errors/quorumError.js +37 -0
  51. package/src/lib/errors/quorumError.js.map +1 -1
  52. package/src/lib/errors/sealingError.d.ts.map +1 -1
  53. package/src/lib/errors/sealingError.js +2 -0
  54. package/src/lib/errors/sealingError.js.map +1 -1
  55. package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
  56. package/src/lib/i18n/strings/englishUs.js +45 -0
  57. package/src/lib/i18n/strings/englishUs.js.map +1 -1
  58. package/src/lib/i18n/strings/french.d.ts.map +1 -1
  59. package/src/lib/i18n/strings/french.js +37 -0
  60. package/src/lib/i18n/strings/french.js.map +1 -1
  61. package/src/lib/i18n/strings/german.d.ts.map +1 -1
  62. package/src/lib/i18n/strings/german.js +37 -0
  63. package/src/lib/i18n/strings/german.js.map +1 -1
  64. package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
  65. package/src/lib/i18n/strings/japanese.js +37 -0
  66. package/src/lib/i18n/strings/japanese.js.map +1 -1
  67. package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
  68. package/src/lib/i18n/strings/mandarin.js +37 -0
  69. package/src/lib/i18n/strings/mandarin.js.map +1 -1
  70. package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
  71. package/src/lib/i18n/strings/spanish.js +37 -0
  72. package/src/lib/i18n/strings/spanish.js.map +1 -1
  73. package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
  74. package/src/lib/i18n/strings/ukrainian.js +37 -0
  75. package/src/lib/i18n/strings/ukrainian.js.map +1 -1
  76. package/src/lib/interfaces/aliasRecord.d.ts +34 -0
  77. package/src/lib/interfaces/aliasRecord.d.ts.map +1 -0
  78. package/src/lib/interfaces/aliasRecord.js +11 -0
  79. package/src/lib/interfaces/aliasRecord.js.map +1 -0
  80. package/src/lib/interfaces/api/index.d.ts +2 -0
  81. package/src/lib/interfaces/api/index.d.ts.map +1 -0
  82. package/src/lib/interfaces/api/index.js +5 -0
  83. package/src/lib/interfaces/api/index.js.map +1 -0
  84. package/src/lib/interfaces/api/quorumApi.d.ts +97 -0
  85. package/src/lib/interfaces/api/quorumApi.d.ts.map +1 -0
  86. package/src/lib/interfaces/api/quorumApi.js +12 -0
  87. package/src/lib/interfaces/api/quorumApi.js.map +1 -0
  88. package/src/lib/interfaces/auditLogEntry.d.ts +34 -0
  89. package/src/lib/interfaces/auditLogEntry.d.ts.map +1 -0
  90. package/src/lib/interfaces/auditLogEntry.js +10 -0
  91. package/src/lib/interfaces/auditLogEntry.js.map +1 -0
  92. package/src/lib/interfaces/availability/gossipService.d.ts +116 -2
  93. package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
  94. package/src/lib/interfaces/availability/gossipService.js +62 -0
  95. package/src/lib/interfaces/availability/gossipService.js.map +1 -1
  96. package/src/lib/interfaces/chainedAuditLogEntry.d.ts +27 -0
  97. package/src/lib/interfaces/chainedAuditLogEntry.d.ts.map +1 -0
  98. package/src/lib/interfaces/chainedAuditLogEntry.js +12 -0
  99. package/src/lib/interfaces/chainedAuditLogEntry.js.map +1 -0
  100. package/src/lib/interfaces/contentWithIdentity.d.ts +39 -0
  101. package/src/lib/interfaces/contentWithIdentity.d.ts.map +1 -0
  102. package/src/lib/interfaces/contentWithIdentity.js +24 -0
  103. package/src/lib/interfaces/contentWithIdentity.js.map +1 -0
  104. package/src/lib/interfaces/energyAccount.d.ts +3 -1
  105. package/src/lib/interfaces/energyAccount.d.ts.map +1 -1
  106. package/src/lib/interfaces/identityRecoveryRecord.d.ts +41 -0
  107. package/src/lib/interfaces/identityRecoveryRecord.d.ts.map +1 -0
  108. package/src/lib/interfaces/identityRecoveryRecord.js +11 -0
  109. package/src/lib/interfaces/identityRecoveryRecord.js.map +1 -0
  110. package/src/lib/interfaces/index.d.ts +16 -0
  111. package/src/lib/interfaces/index.d.ts.map +1 -1
  112. package/src/lib/interfaces/index.js +4 -0
  113. package/src/lib/interfaces/index.js.map +1 -1
  114. package/src/lib/interfaces/initResult.d.ts +6 -6
  115. package/src/lib/interfaces/initResult.d.ts.map +1 -1
  116. package/src/lib/interfaces/member/brightChainBaseInitResult.d.ts +4 -1
  117. package/src/lib/interfaces/member/brightChainBaseInitResult.d.ts.map +1 -1
  118. package/src/lib/interfaces/member/brightChainInitResult.d.ts +1 -1
  119. package/src/lib/interfaces/member/brightChainInitResult.d.ts.map +1 -1
  120. package/src/lib/interfaces/member/memberData.d.ts +3 -0
  121. package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
  122. package/src/lib/interfaces/member/profileStorage.d.ts +5 -0
  123. package/src/lib/interfaces/member/profileStorage.d.ts.map +1 -1
  124. package/src/lib/interfaces/operationalState.d.ts +20 -0
  125. package/src/lib/interfaces/operationalState.d.ts.map +1 -0
  126. package/src/lib/interfaces/operationalState.js +10 -0
  127. package/src/lib/interfaces/operationalState.js.map +1 -0
  128. package/src/lib/interfaces/proposal.d.ts +59 -0
  129. package/src/lib/interfaces/proposal.d.ts.map +1 -0
  130. package/src/lib/interfaces/proposal.js +10 -0
  131. package/src/lib/interfaces/proposal.js.map +1 -0
  132. package/src/lib/interfaces/quorumDocumentMetadata.d.ts +20 -0
  133. package/src/lib/interfaces/quorumDocumentMetadata.d.ts.map +1 -0
  134. package/src/lib/interfaces/quorumDocumentMetadata.js +10 -0
  135. package/src/lib/interfaces/quorumDocumentMetadata.js.map +1 -0
  136. package/src/lib/interfaces/quorumEpoch.d.ts +33 -0
  137. package/src/lib/interfaces/quorumEpoch.d.ts.map +1 -0
  138. package/src/lib/interfaces/quorumEpoch.js +11 -0
  139. package/src/lib/interfaces/quorumEpoch.js.map +1 -0
  140. package/src/lib/interfaces/quorumMetrics.d.ts +49 -0
  141. package/src/lib/interfaces/quorumMetrics.d.ts.map +1 -0
  142. package/src/lib/interfaces/quorumMetrics.js +10 -0
  143. package/src/lib/interfaces/quorumMetrics.js.map +1 -0
  144. package/src/lib/interfaces/redistributionJournalEntry.d.ts +25 -0
  145. package/src/lib/interfaces/redistributionJournalEntry.d.ts.map +1 -0
  146. package/src/lib/interfaces/redistributionJournalEntry.js +11 -0
  147. package/src/lib/interfaces/redistributionJournalEntry.js.map +1 -0
  148. package/src/lib/interfaces/responses/backupCodesResponseData.d.ts +3 -5
  149. package/src/lib/interfaces/responses/backupCodesResponseData.d.ts.map +1 -1
  150. package/src/lib/interfaces/responses/challengeResponseData.d.ts +5 -0
  151. package/src/lib/interfaces/responses/challengeResponseData.d.ts.map +1 -1
  152. package/src/lib/interfaces/responses/codeCountResponseData.d.ts +3 -5
  153. package/src/lib/interfaces/responses/codeCountResponseData.d.ts.map +1 -1
  154. package/src/lib/interfaces/responses/index.d.ts +4 -2
  155. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  156. package/src/lib/interfaces/responses/passwordChangeResponse.d.ts +2 -0
  157. package/src/lib/interfaces/responses/passwordChangeResponse.d.ts.map +1 -0
  158. package/src/lib/interfaces/responses/passwordChangeResponse.js +3 -0
  159. package/src/lib/interfaces/responses/passwordChangeResponse.js.map +1 -0
  160. package/src/lib/interfaces/responses/recoveryResponse.d.ts +2 -0
  161. package/src/lib/interfaces/responses/recoveryResponse.d.ts.map +1 -0
  162. package/src/lib/interfaces/responses/recoveryResponse.js +3 -0
  163. package/src/lib/interfaces/responses/recoveryResponse.js.map +1 -0
  164. package/src/lib/interfaces/responses/registrationResponseData.d.ts +2 -2
  165. package/src/lib/interfaces/responses/registrationResponseData.d.ts.map +1 -1
  166. package/src/lib/interfaces/services/contentIngestion.d.ts +61 -0
  167. package/src/lib/interfaces/services/contentIngestion.d.ts.map +1 -0
  168. package/src/lib/interfaces/services/contentIngestion.js +12 -0
  169. package/src/lib/interfaces/services/contentIngestion.js.map +1 -0
  170. package/src/lib/interfaces/services/expirationScheduler.d.ts +55 -0
  171. package/src/lib/interfaces/services/expirationScheduler.d.ts.map +1 -0
  172. package/src/lib/interfaces/services/expirationScheduler.js +11 -0
  173. package/src/lib/interfaces/services/expirationScheduler.js.map +1 -0
  174. package/src/lib/interfaces/services/identitySealingPipeline.d.ts +56 -0
  175. package/src/lib/interfaces/services/identitySealingPipeline.d.ts.map +1 -0
  176. package/src/lib/interfaces/services/identitySealingPipeline.js +12 -0
  177. package/src/lib/interfaces/services/identitySealingPipeline.js.map +1 -0
  178. package/src/lib/interfaces/services/identityValidator.d.ts +44 -0
  179. package/src/lib/interfaces/services/identityValidator.d.ts.map +1 -0
  180. package/src/lib/interfaces/services/identityValidator.js +11 -0
  181. package/src/lib/interfaces/services/identityValidator.js.map +1 -0
  182. package/src/lib/interfaces/services/index.d.ts +9 -0
  183. package/src/lib/interfaces/services/index.d.ts.map +1 -1
  184. package/src/lib/interfaces/services/membershipProof.d.ts +40 -0
  185. package/src/lib/interfaces/services/membershipProof.d.ts.map +1 -0
  186. package/src/lib/interfaces/services/membershipProof.js +11 -0
  187. package/src/lib/interfaces/services/membershipProof.js.map +1 -0
  188. package/src/lib/interfaces/services/operatorPrompt.d.ts +68 -0
  189. package/src/lib/interfaces/services/operatorPrompt.d.ts.map +1 -0
  190. package/src/lib/interfaces/services/operatorPrompt.js +11 -0
  191. package/src/lib/interfaces/services/operatorPrompt.js.map +1 -0
  192. package/src/lib/interfaces/services/quorumDatabase.d.ts +207 -0
  193. package/src/lib/interfaces/services/quorumDatabase.d.ts.map +1 -0
  194. package/src/lib/interfaces/services/quorumDatabase.js +13 -0
  195. package/src/lib/interfaces/services/quorumDatabase.js.map +1 -0
  196. package/src/lib/interfaces/services/quorumService.d.ts +3 -0
  197. package/src/lib/interfaces/services/quorumService.d.ts.map +1 -1
  198. package/src/lib/interfaces/services/quorumStateMachine.d.ts +128 -0
  199. package/src/lib/interfaces/services/quorumStateMachine.d.ts.map +1 -0
  200. package/src/lib/interfaces/services/quorumStateMachine.js +12 -0
  201. package/src/lib/interfaces/services/quorumStateMachine.js.map +1 -0
  202. package/src/lib/interfaces/services/redistributionConfig.d.ts +20 -0
  203. package/src/lib/interfaces/services/redistributionConfig.d.ts.map +1 -0
  204. package/src/lib/interfaces/services/redistributionConfig.js +10 -0
  205. package/src/lib/interfaces/services/redistributionConfig.js.map +1 -0
  206. package/src/lib/interfaces/statuteConfig.d.ts +22 -0
  207. package/src/lib/interfaces/statuteConfig.d.ts.map +1 -0
  208. package/src/lib/interfaces/statuteConfig.js +18 -0
  209. package/src/lib/interfaces/statuteConfig.js.map +1 -0
  210. package/src/lib/interfaces/storage/documentStore.d.ts +46 -24
  211. package/src/lib/interfaces/storage/documentStore.d.ts.map +1 -1
  212. package/src/lib/interfaces/storage/documentStore.js +6 -2
  213. package/src/lib/interfaces/storage/documentStore.js.map +1 -1
  214. package/src/lib/interfaces/userManagement.d.ts +49 -0
  215. package/src/lib/interfaces/userManagement.d.ts.map +1 -0
  216. package/src/lib/interfaces/userManagement.js +9 -0
  217. package/src/lib/interfaces/userManagement.js.map +1 -0
  218. package/src/lib/interfaces/vote.d.ts +45 -0
  219. package/src/lib/interfaces/vote.d.ts.map +1 -0
  220. package/src/lib/interfaces/vote.js +10 -0
  221. package/src/lib/interfaces/vote.js.map +1 -0
  222. package/src/lib/quorumDataRecord.d.ts +7 -1
  223. package/src/lib/quorumDataRecord.d.ts.map +1 -1
  224. package/src/lib/quorumDataRecord.js +12 -4
  225. package/src/lib/quorumDataRecord.js.map +1 -1
  226. package/src/lib/quorumDataRecordDto.d.ts +6 -0
  227. package/src/lib/quorumDataRecordDto.d.ts.map +1 -1
  228. package/src/lib/services/aliasRegistry.d.ts +77 -0
  229. package/src/lib/services/aliasRegistry.d.ts.map +1 -0
  230. package/src/lib/services/aliasRegistry.js +138 -0
  231. package/src/lib/services/aliasRegistry.js.map +1 -0
  232. package/src/lib/services/auditLogService.d.ts +100 -0
  233. package/src/lib/services/auditLogService.d.ts.map +1 -0
  234. package/src/lib/services/auditLogService.js +223 -0
  235. package/src/lib/services/auditLogService.js.map +1 -0
  236. package/src/lib/services/blockService.d.ts +2 -1
  237. package/src/lib/services/blockService.d.ts.map +1 -1
  238. package/src/lib/services/blockService.js +7 -2
  239. package/src/lib/services/blockService.js.map +1 -1
  240. package/src/lib/services/identitySealingPipeline.d.ts +120 -0
  241. package/src/lib/services/identitySealingPipeline.d.ts.map +1 -0
  242. package/src/lib/services/identitySealingPipeline.js +288 -0
  243. package/src/lib/services/identitySealingPipeline.js.map +1 -0
  244. package/src/lib/services/identityValidator.d.ts +75 -0
  245. package/src/lib/services/identityValidator.d.ts.map +1 -0
  246. package/src/lib/services/identityValidator.js +202 -0
  247. package/src/lib/services/identityValidator.js.map +1 -0
  248. package/src/lib/services/index.d.ts +6 -0
  249. package/src/lib/services/index.d.ts.map +1 -1
  250. package/src/lib/services/index.js +6 -0
  251. package/src/lib/services/index.js.map +1 -1
  252. package/src/lib/services/member/memberCblService.d.ts.map +1 -1
  253. package/src/lib/services/member/memberCblService.js +12 -1
  254. package/src/lib/services/member/memberCblService.js.map +1 -1
  255. package/src/lib/services/memberStore.d.ts.map +1 -1
  256. package/src/lib/services/memberStore.js +2 -0
  257. package/src/lib/services/memberStore.js.map +1 -1
  258. package/src/lib/services/membershipProofService.d.ts +90 -0
  259. package/src/lib/services/membershipProofService.d.ts.map +1 -0
  260. package/src/lib/services/membershipProofService.js +361 -0
  261. package/src/lib/services/membershipProofService.js.map +1 -0
  262. package/src/lib/services/quorumStateMachine.d.ts +336 -0
  263. package/src/lib/services/quorumStateMachine.d.ts.map +1 -0
  264. package/src/lib/services/quorumStateMachine.js +1396 -0
  265. package/src/lib/services/quorumStateMachine.js.map +1 -0
  266. package/src/lib/services/sealing.service.d.ts +80 -0
  267. package/src/lib/services/sealing.service.d.ts.map +1 -1
  268. package/src/lib/services/sealing.service.js +192 -0
  269. package/src/lib/services/sealing.service.js.map +1 -1
  270. package/src/lib/stores/energyAccountStore.d.ts +13 -11
  271. package/src/lib/stores/energyAccountStore.d.ts.map +1 -1
  272. package/src/lib/stores/energyAccountStore.js +18 -20
  273. package/src/lib/stores/energyAccountStore.js.map +1 -1
  274. package/brightchain-lib/BLOCK_COVERAGE_AUDIT.md +0 -169
  275. package/brightchain-lib/BROWSER_COMPAT.md +0 -54
  276. package/brightchain-lib/DEPRECATIONS.md +0 -454
  277. package/brightchain-lib/DEPRECATIONS_REMOVED.md +0 -160
  278. package/brightchain-lib/MIGRATION.md +0 -801
  279. package/brightchain-lib/NAMING_AUDIT.md +0 -233
  280. package/brightchain-lib/NAMING_CONVENTIONS.md +0 -346
  281. package/brightchain-lib/README.md +0 -611
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @fileoverview Shared base data interfaces for Quorum API endpoints.
3
+ *
4
+ * These interfaces carry the core data structures that both frontend
5
+ * and backend can consume. API-specific response wrappers live in
6
+ * brightchain-api-lib.
7
+ *
8
+ * @see Requirements 5, 7, 10, 12, 13, 15
9
+ */
10
+ import { ProposalActionType } from '../../enumerations/proposalActionType';
11
+ import { ProposalStatus } from '../../enumerations/proposalStatus';
12
+ import { QuorumOperationalMode } from '../../enumerations/quorumOperationalMode';
13
+ import { QuorumMetrics } from '../quorumMetrics';
14
+ /**
15
+ * Base data for submitting a proposal.
16
+ */
17
+ export interface ISubmitProposalData {
18
+ description: string;
19
+ actionType: ProposalActionType;
20
+ actionPayload: Record<string, unknown>;
21
+ expiresAt: string;
22
+ attachmentCblId?: string;
23
+ }
24
+ /**
25
+ * Base data for a proposal response.
26
+ */
27
+ export interface IProposalData {
28
+ id: string;
29
+ description: string;
30
+ actionType: ProposalActionType;
31
+ actionPayload: Record<string, unknown>;
32
+ proposerMemberId: string;
33
+ status: ProposalStatus;
34
+ requiredThreshold: number;
35
+ expiresAt: string;
36
+ createdAt: string;
37
+ attachmentCblId?: string;
38
+ epochNumber: number;
39
+ }
40
+ /**
41
+ * Base data for a vote in a proposal response.
42
+ */
43
+ export interface IVoteData {
44
+ proposalId: string;
45
+ voterMemberId: string;
46
+ decision: 'approve' | 'reject';
47
+ comment?: string;
48
+ createdAt: string;
49
+ }
50
+ /**
51
+ * Base data for a proposal with its votes.
52
+ */
53
+ export interface IProposalWithVotesData {
54
+ proposal: IProposalData;
55
+ votes: IVoteData[];
56
+ }
57
+ /**
58
+ * Base data for quorum metrics response.
59
+ */
60
+ export type IQuorumMetricsData = QuorumMetrics;
61
+ /**
62
+ * Base data for an epoch response.
63
+ */
64
+ export interface IEpochData {
65
+ epochNumber: number;
66
+ memberIds: string[];
67
+ threshold: number;
68
+ mode: QuorumOperationalMode;
69
+ createdAt: string;
70
+ previousEpochNumber?: number;
71
+ innerQuorumMemberIds?: string[];
72
+ }
73
+ /**
74
+ * Base data for quorum status response.
75
+ */
76
+ export interface IQuorumStatusData {
77
+ mode: QuorumOperationalMode;
78
+ epochNumber: number;
79
+ memberCount: number;
80
+ threshold: number;
81
+ }
82
+ /**
83
+ * Base data for audit chain verification response.
84
+ */
85
+ export interface IAuditVerificationData {
86
+ valid: boolean;
87
+ entriesVerified: number;
88
+ error?: string;
89
+ }
90
+ /**
91
+ * Base data for alias availability check.
92
+ */
93
+ export interface IAliasAvailabilityData {
94
+ aliasName: string;
95
+ available: boolean;
96
+ }
97
+ //# sourceMappingURL=quorumApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorumApi.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/api/quorumApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,aAAa,CAAC;IACxB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Shared base data interfaces for Quorum API endpoints.
4
+ *
5
+ * These interfaces carry the core data structures that both frontend
6
+ * and backend can consume. API-specific response wrappers live in
7
+ * brightchain-api-lib.
8
+ *
9
+ * @see Requirements 5, 7, 10, 12, 13, 15
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ //# sourceMappingURL=quorumApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quorumApi.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/api/quorumApi.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @fileoverview AuditLogEntry interface.
3
+ *
4
+ * Defines the structure of audit log entries for all auditable quorum events.
5
+ *
6
+ * @see Requirements 13.6, 13.7
7
+ */
8
+ import { ShortHexGuid } from '@digitaldefiance/ecies-lib';
9
+ /**
10
+ * Union of all auditable event types in the quorum system.
11
+ */
12
+ export type AuditEventType = 'identity_disclosure_proposed' | 'identity_disclosure_approved' | 'identity_disclosure_rejected' | 'identity_disclosure_expired' | 'identity_shards_expired' | 'alias_registered' | 'alias_deregistered' | 'epoch_created' | 'member_added' | 'member_removed' | 'transition_ceremony_started' | 'transition_ceremony_completed' | 'transition_ceremony_failed' | 'proposal_created' | 'proposal_approved' | 'proposal_rejected' | 'proposal_expired' | 'vote_cast' | 'share_redistribution_started' | 'share_redistribution_completed' | 'share_redistribution_failed';
13
+ /**
14
+ * An entry in the quorum audit log.
15
+ */
16
+ export interface QuorumAuditLogEntry {
17
+ /** Unique entry identifier */
18
+ id: ShortHexGuid;
19
+ /** The type of auditable event */
20
+ eventType: AuditEventType;
21
+ /** Related proposal ID, if applicable */
22
+ proposalId?: ShortHexGuid;
23
+ /** Target member ID, if applicable */
24
+ targetMemberId?: ShortHexGuid;
25
+ /** Proposer member ID, if applicable */
26
+ proposerMemberId?: ShortHexGuid;
27
+ /** Attached CBL ID, if applicable */
28
+ attachmentCblId?: string;
29
+ /** Additional event-specific details */
30
+ details: Record<string, unknown>;
31
+ /** Timestamp of the event */
32
+ timestamp: Date;
33
+ }
34
+ //# sourceMappingURL=auditLogEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditLogEntry.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/auditLogEntry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,8BAA8B,GAC9B,8BAA8B,GAC9B,8BAA8B,GAC9B,6BAA6B,GAC7B,yBAAyB,GACzB,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,6BAA6B,GAC7B,+BAA+B,GAC/B,4BAA4B,GAC5B,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,WAAW,GACX,8BAA8B,GAC9B,gCAAgC,GAChC,6BAA6B,CAAC;AAElC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,EAAE,EAAE,YAAY,CAAC;IACjB,kCAAkC;IAClC,SAAS,EAAE,cAAc,CAAC;IAC1B,yCAAyC;IACzC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,sCAAsC;IACtC,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,qCAAqC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,6BAA6B;IAC7B,SAAS,EAAE,IAAI,CAAC;CACjB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview AuditLogEntry interface.
4
+ *
5
+ * Defines the structure of audit log entries for all auditable quorum events.
6
+ *
7
+ * @see Requirements 13.6, 13.7
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ //# sourceMappingURL=auditLogEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditLogEntry.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/auditLogEntry.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG"}
@@ -8,6 +8,8 @@
8
8
  * @see Requirements 6.1, 6.2, 6.3, 6.4, 6.5, 6.6
9
9
  * @see Requirements 1.1, 1.2, 1.3, 1.5, 1.6, 10.1 (Unified Gossip Delivery)
10
10
  */
11
+ import type { ShortHexGuid } from '@digitaldefiance/ecies-lib';
12
+ import { ProposalActionType } from '../../enumerations/proposalActionType';
11
13
  import type { ICBLIndexEntry } from '../storage/cblIndex';
12
14
  import { PoolId } from '../storage/pooledBlockStore';
13
15
  /**
@@ -77,6 +79,50 @@ export interface PoolAnnouncementMetadata {
77
79
  /** ECIES-encrypted pool details for authorized members (base64), present when encrypted is true */
78
80
  encryptedMetadata?: string;
79
81
  }
82
+ /**
83
+ * Metadata for quorum proposal announcements via gossip protocol.
84
+ * Attached to 'quorum_proposal' type BlockAnnouncements to propagate
85
+ * proposal submissions across quorum nodes.
86
+ *
87
+ * @see Requirements 5.2, 5.3
88
+ */
89
+ export interface QuorumProposalMetadata {
90
+ /** Unique identifier for the proposal */
91
+ proposalId: ShortHexGuid;
92
+ /** Human-readable description of the proposal (max 4096 chars) */
93
+ description: string;
94
+ /** The type of action this proposal requests */
95
+ actionType: ProposalActionType;
96
+ /** JSON-serialized action payload */
97
+ actionPayload: string;
98
+ /** Member ID of the proposer */
99
+ proposerMemberId: ShortHexGuid;
100
+ /** Timestamp after which the proposal expires */
101
+ expiresAt: Date;
102
+ /** Number of approve votes required for the proposal to pass */
103
+ requiredThreshold: number;
104
+ /** Optional CBL reference for supporting documentation (e.g., legal orders) */
105
+ attachmentCblId?: string;
106
+ }
107
+ /**
108
+ * Metadata for quorum vote announcements via gossip protocol.
109
+ * Attached to 'quorum_vote' type BlockAnnouncements to propagate
110
+ * vote submissions across quorum nodes.
111
+ *
112
+ * @see Requirements 7.1, 7.2
113
+ */
114
+ export interface QuorumVoteMetadata {
115
+ /** The proposal ID this vote is for */
116
+ proposalId: ShortHexGuid;
117
+ /** Member ID of the voter */
118
+ voterMemberId: ShortHexGuid;
119
+ /** The vote decision */
120
+ decision: 'approve' | 'reject';
121
+ /** Optional comment from the voter (max 1024 chars) */
122
+ comment?: string;
123
+ /** ECIES-encrypted share, encrypted to the proposer's public key. Present only on approve votes. */
124
+ encryptedShare?: Uint8Array;
125
+ }
80
126
  /**
81
127
  * Block announcement message sent via gossip protocol.
82
128
  * Contains information about a block being added, removed, or acknowledged.
@@ -97,10 +143,12 @@ export interface BlockAnnouncement {
97
143
  * - 'acl_update' for approved ACL updates (requires poolId and aclBlockId)
98
144
  * - 'pool_announce' for pool creation/update announcements (requires poolId and poolAnnouncement)
99
145
  * - 'pool_remove' for pool removal announcements (requires poolId)
146
+ * - 'quorum_proposal' for quorum proposal announcements (requires quorumProposal metadata)
147
+ * - 'quorum_vote' for quorum vote announcements (requires quorumVote metadata)
100
148
  *
101
- * @see Requirements 1.1, 2.1, 8.1, 8.6, 13.4
149
+ * @see Requirements 1.1, 2.1, 5.2, 7.1, 8.1, 8.6, 13.4
102
150
  */
103
- type: 'add' | 'remove' | 'ack' | 'pool_deleted' | 'cbl_index_update' | 'cbl_index_delete' | 'head_update' | 'acl_update' | 'pool_announce' | 'pool_remove';
151
+ type: 'add' | 'remove' | 'ack' | 'pool_deleted' | 'cbl_index_update' | 'cbl_index_delete' | 'head_update' | 'acl_update' | 'pool_announce' | 'pool_remove' | 'quorum_proposal' | 'quorum_vote';
104
152
  /**
105
153
  * The block ID being announced (hex string)
106
154
  */
@@ -172,6 +220,22 @@ export interface BlockAnnouncement {
172
220
  * @see Requirements 8.1, 8.2, 8.4
173
221
  */
174
222
  poolAnnouncement?: PoolAnnouncementMetadata;
223
+ /**
224
+ * Optional quorum proposal metadata for quorum proposal gossip.
225
+ * Required for 'quorum_proposal' type announcements.
226
+ * Contains the full proposal details for quorum voting.
227
+ *
228
+ * @see Requirements 5.2, 5.3
229
+ */
230
+ quorumProposal?: QuorumProposalMetadata;
231
+ /**
232
+ * Optional quorum vote metadata for quorum vote gossip.
233
+ * Required for 'quorum_vote' type announcements.
234
+ * Contains the vote decision and optional encrypted share.
235
+ *
236
+ * @see Requirements 7.1, 7.2
237
+ */
238
+ quorumVote?: QuorumVoteMetadata;
175
239
  }
176
240
  /**
177
241
  * Configuration for priority-based gossip propagation.
@@ -428,6 +492,56 @@ export interface IGossipService {
428
492
  * @see Requirements 4.1 (delivery acknowledgment via gossip)
429
493
  */
430
494
  offDeliveryAck(handler: (announcement: BlockAnnouncement) => void): void;
495
+ /**
496
+ * Announce a quorum proposal to the network via priority gossip.
497
+ * Creates a BlockAnnouncement of type 'quorum_proposal' with the proposal metadata
498
+ * and queues it for propagation using high-priority fanout/TTL.
499
+ *
500
+ * @param metadata - The quorum proposal metadata to announce
501
+ * @returns Promise that resolves when the announcement is queued
502
+ * @see Requirements 5.2, 5.3
503
+ */
504
+ announceQuorumProposal(metadata: QuorumProposalMetadata): Promise<void>;
505
+ /**
506
+ * Announce a quorum vote to the network via priority gossip.
507
+ * Creates a BlockAnnouncement of type 'quorum_vote' with the vote metadata
508
+ * and queues it for propagation using high-priority fanout/TTL.
509
+ *
510
+ * @param metadata - The quorum vote metadata to announce
511
+ * @returns Promise that resolves when the announcement is queued
512
+ * @see Requirements 7.1, 7.2
513
+ */
514
+ announceQuorumVote(metadata: QuorumVoteMetadata): Promise<void>;
515
+ /**
516
+ * Register a handler for quorum proposal events.
517
+ * The handler is called when a BlockAnnouncement of type 'quorum_proposal'
518
+ * with quorumProposal metadata is received.
519
+ *
520
+ * @param handler - Function to call when a quorum proposal announcement is received
521
+ * @see Requirements 5.5
522
+ */
523
+ onQuorumProposal(handler: (announcement: BlockAnnouncement) => void): void;
524
+ /**
525
+ * Remove a quorum proposal event handler.
526
+ *
527
+ * @param handler - The handler to remove
528
+ */
529
+ offQuorumProposal(handler: (announcement: BlockAnnouncement) => void): void;
530
+ /**
531
+ * Register a handler for quorum vote events.
532
+ * The handler is called when a BlockAnnouncement of type 'quorum_vote'
533
+ * with quorumVote metadata is received.
534
+ *
535
+ * @param handler - Function to call when a quorum vote announcement is received
536
+ * @see Requirements 7.3
537
+ */
538
+ onQuorumVote(handler: (announcement: BlockAnnouncement) => void): void;
539
+ /**
540
+ * Remove a quorum vote event handler.
541
+ *
542
+ * @param handler - The handler to remove
543
+ */
544
+ offQuorumVote(handler: (announcement: BlockAnnouncement) => void): void;
431
545
  }
432
546
  /**
433
547
  * Validates a BlockAnnouncement, enforcing field-type constraints.
@@ -1 +1 @@
1
- {"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,8 @@ const VALID_ANNOUNCEMENT_TYPES = [
43
43
  'acl_update',
44
44
  'pool_announce',
45
45
  'pool_remove',
46
+ 'quorum_proposal',
47
+ 'quorum_vote',
46
48
  ];
47
49
  /**
48
50
  * Valid delivery ack statuses.
@@ -187,6 +189,66 @@ function validateBlockAnnouncement(announcement) {
187
189
  }
188
190
  return true;
189
191
  }
192
+ // quorum_proposal requires quorumProposal metadata,
193
+ // must not have messageDelivery, deliveryAck, or cblIndexEntry (Req 5.2, 5.3)
194
+ if (announcement.type === 'quorum_proposal') {
195
+ if (!announcement.quorumProposal) {
196
+ return false;
197
+ }
198
+ if (!announcement.quorumProposal.proposalId ||
199
+ typeof announcement.quorumProposal.proposalId !== 'string') {
200
+ return false;
201
+ }
202
+ if (!announcement.quorumProposal.description ||
203
+ typeof announcement.quorumProposal.description !== 'string' ||
204
+ announcement.quorumProposal.description.length > 4096) {
205
+ return false;
206
+ }
207
+ if (!announcement.quorumProposal.proposerMemberId ||
208
+ typeof announcement.quorumProposal.proposerMemberId !== 'string') {
209
+ return false;
210
+ }
211
+ if (typeof announcement.quorumProposal.requiredThreshold !== 'number' ||
212
+ announcement.quorumProposal.requiredThreshold < 1) {
213
+ return false;
214
+ }
215
+ if (announcement.messageDelivery ||
216
+ announcement.deliveryAck ||
217
+ announcement.cblIndexEntry) {
218
+ return false;
219
+ }
220
+ return true;
221
+ }
222
+ // quorum_vote requires quorumVote metadata,
223
+ // must not have messageDelivery, deliveryAck, or cblIndexEntry (Req 7.1, 7.2)
224
+ if (announcement.type === 'quorum_vote') {
225
+ if (!announcement.quorumVote) {
226
+ return false;
227
+ }
228
+ if (!announcement.quorumVote.proposalId ||
229
+ typeof announcement.quorumVote.proposalId !== 'string') {
230
+ return false;
231
+ }
232
+ if (!announcement.quorumVote.voterMemberId ||
233
+ typeof announcement.quorumVote.voterMemberId !== 'string') {
234
+ return false;
235
+ }
236
+ if (announcement.quorumVote.decision !== 'approve' &&
237
+ announcement.quorumVote.decision !== 'reject') {
238
+ return false;
239
+ }
240
+ if (announcement.quorumVote.comment !== undefined &&
241
+ (typeof announcement.quorumVote.comment !== 'string' ||
242
+ announcement.quorumVote.comment.length > 1024)) {
243
+ return false;
244
+ }
245
+ if (announcement.messageDelivery ||
246
+ announcement.deliveryAck ||
247
+ announcement.cblIndexEntry) {
248
+ return false;
249
+ }
250
+ return true;
251
+ }
190
252
  // Validate poolId format if present on any other type
191
253
  if (announcement.poolId !== undefined &&
192
254
  !(0, pooledBlockStore_1.isValidPoolId)(announcement.poolId)) {
@@ -1 +1 @@
1
- {"version":3,"file":"gossipService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gossipService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @fileoverview ChainedAuditLogEntry interface.
3
+ *
4
+ * Extends AuditLogEntry with hash chain fields for tamper-evident audit logging.
5
+ * Each entry is signed by the node that created it and references the previous
6
+ * entry's hash, forming a hash chain persisted via storeCBLWithWhitening.
7
+ *
8
+ * @see Design: Immutable Chained Audit Log
9
+ */
10
+ import { SignatureUint8Array } from '@digitaldefiance/ecies-lib';
11
+ import { QuorumAuditLogEntry } from './auditLogEntry';
12
+ /**
13
+ * A tamper-evident audit log entry linked in a hash chain.
14
+ */
15
+ export interface ChainedAuditLogEntry extends QuorumAuditLogEntry {
16
+ /** SHA-3 hash of the previous entry's serialized form. Null for the genesis entry. */
17
+ previousEntryHash: string | null;
18
+ /** SHA-3 hash of this entry's content (excluding signature and blockIds). */
19
+ contentHash: string;
20
+ /** ECIES signature of contentHash by the node operator's key. */
21
+ signature: SignatureUint8Array;
22
+ /** First CBL block ID from storeCBLWithWhitening. */
23
+ blockId1: string;
24
+ /** Second CBL block ID from storeCBLWithWhitening. */
25
+ blockId2: string;
26
+ }
27
+ //# sourceMappingURL=chainedAuditLogEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chainedAuditLogEntry.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/chainedAuditLogEntry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,sFAAsF;IACtF,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,SAAS,EAAE,mBAAmB,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview ChainedAuditLogEntry interface.
4
+ *
5
+ * Extends AuditLogEntry with hash chain fields for tamper-evident audit logging.
6
+ * Each entry is signed by the node that created it and references the previous
7
+ * entry's hash, forming a hash chain persisted via storeCBLWithWhitening.
8
+ *
9
+ * @see Design: Immutable Chained Audit Log
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ //# sourceMappingURL=chainedAuditLogEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chainedAuditLogEntry.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/chainedAuditLogEntry.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @fileoverview ContentWithIdentity interface and IdentityMode enum.
3
+ *
4
+ * Defines the identity modes for content publication and the content
5
+ * structure that carries identity information through the sealing pipeline.
6
+ *
7
+ * @see Requirements 14, 16
8
+ */
9
+ import { PlatformID, ShortHexGuid } from '@digitaldefiance/ecies-lib';
10
+ /**
11
+ * Identity mode for content publication.
12
+ */
13
+ export declare enum IdentityMode {
14
+ /** Content published under real identity */
15
+ Real = "real",
16
+ /** Content published under a registered alias */
17
+ Alias = "alias",
18
+ /** Content published anonymously with membership proof */
19
+ Anonymous = "anonymous"
20
+ }
21
+ /**
22
+ * Content structure carrying identity information through the sealing pipeline.
23
+ * @template TID - Platform ID type for frontend/backend DTO compatibility
24
+ */
25
+ export interface ContentWithIdentity<TID extends PlatformID = Uint8Array> {
26
+ /** Creator's identity (real ID, alias ID, or Anonymous_ID) */
27
+ creatorId: TID;
28
+ /** Unique content identifier */
29
+ contentId: ShortHexGuid;
30
+ /** Content type (block, message, post) */
31
+ contentType: string;
32
+ /** Content signature */
33
+ signature: Uint8Array;
34
+ /** Ring signature membership proof (required for anonymous content) */
35
+ membershipProof?: Uint8Array;
36
+ /** Link to identity recovery record after sealing */
37
+ identityRecoveryRecordId?: ShortHexGuid;
38
+ }
39
+ //# sourceMappingURL=contentWithIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentWithIdentity.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/contentWithIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEtE;;GAEG;AACH,oBAAY,YAAY;IACtB,4CAA4C;IAC5C,IAAI,SAAS;IACb,iDAAiD;IACjD,KAAK,UAAU;IACf,0DAA0D;IAC1D,SAAS,cAAc;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IACtE,8DAA8D;IAC9D,SAAS,EAAE,GAAG,CAAC;IACf,gCAAgC;IAChC,SAAS,EAAE,YAAY,CAAC;IACxB,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,SAAS,EAAE,UAAU,CAAC;IACtB,uEAAuE;IACvE,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,qDAAqD;IACrD,wBAAwB,CAAC,EAAE,YAAY,CAAC;CACzC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview ContentWithIdentity interface and IdentityMode enum.
4
+ *
5
+ * Defines the identity modes for content publication and the content
6
+ * structure that carries identity information through the sealing pipeline.
7
+ *
8
+ * @see Requirements 14, 16
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.IdentityMode = void 0;
12
+ /**
13
+ * Identity mode for content publication.
14
+ */
15
+ var IdentityMode;
16
+ (function (IdentityMode) {
17
+ /** Content published under real identity */
18
+ IdentityMode["Real"] = "real";
19
+ /** Content published under a registered alias */
20
+ IdentityMode["Alias"] = "alias";
21
+ /** Content published anonymously with membership proof */
22
+ IdentityMode["Anonymous"] = "anonymous";
23
+ })(IdentityMode || (exports.IdentityMode = IdentityMode = {}));
24
+ //# sourceMappingURL=contentWithIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentWithIdentity.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/contentWithIdentity.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIH;;GAEG;AACH,IAAY,YAOX;AAPD,WAAY,YAAY;IACtB,4CAA4C;IAC5C,6BAAa,CAAA;IACb,iDAAiD;IACjD,+BAAe,CAAA;IACf,0DAA0D;IAC1D,uCAAuB,CAAA;AACzB,CAAC,EAPW,YAAY,4BAAZ,YAAY,QAOvB"}
@@ -22,9 +22,11 @@ export interface IEnergyAccount {
22
22
  lastUpdated: Date;
23
23
  }
24
24
  /**
25
- * DTO for energy account serialization
25
+ * DTO for energy account serialization.
26
+ * Compatible with BsonDocument (Record<string, unknown>) for storage.
26
27
  */
27
28
  export interface IEnergyAccountDto {
29
+ [key: string]: unknown;
28
30
  memberId: string;
29
31
  balance: number;
30
32
  earned: number;
@@ -1 +1 @@
1
- {"version":3,"file":"energyAccount.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/energyAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAEhB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IAEf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IAEd,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IAEjB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAEzB,0BAA0B;IAC1B,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"energyAccount.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/interfaces/energyAccount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAE5B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAEhB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IAEf,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IAEd,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IAEjB,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IAEnB,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAEzB,0BAA0B;IAC1B,WAAW,EAAE,IAAI,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB"}