@brightchain/brightchain-lib 0.22.0 → 0.23.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 (207) hide show
  1. package/package.json +2 -2
  2. package/src/browser.d.ts +2 -0
  3. package/src/browser.d.ts.map +1 -1
  4. package/src/browser.js +4 -1
  5. package/src/browser.js.map +1 -1
  6. package/src/lib/blocks/tcbl/tcblAttachmentUtils.js +1 -1
  7. package/src/lib/blocks/tcbl/tcblAttachmentUtils.js.map +1 -1
  8. package/src/lib/blocks/tcbl/tcblBuilder.js +1 -1
  9. package/src/lib/blocks/tcbl/tcblBuilder.js.map +1 -1
  10. package/src/lib/blocks/tcbl/tcblReader.js +1 -1
  11. package/src/lib/blocks/tcbl/tcblReader.js.map +1 -1
  12. package/src/lib/documents/member/memberDocument.d.ts +3 -3
  13. package/src/lib/documents/member/memberDocument.d.ts.map +1 -1
  14. package/src/lib/documents/member/memberDocument.js +2 -2
  15. package/src/lib/documents/member/memberDocument.js.map +1 -1
  16. package/src/lib/documents/member/memberHydration.js +3 -3
  17. package/src/lib/documents/member/memberHydration.js.map +1 -1
  18. package/src/lib/documents/member/memberOperational.d.ts.map +1 -1
  19. package/src/lib/documents/member/memberOperational.js +2 -2
  20. package/src/lib/documents/member/memberOperational.js.map +1 -1
  21. package/src/lib/documents/member/memberProfileHydration.js +4 -4
  22. package/src/lib/documents/member/memberProfileHydration.js.map +1 -1
  23. package/src/lib/interfaces/aliasRecord.d.ts +3 -5
  24. package/src/lib/interfaces/aliasRecord.d.ts.map +1 -1
  25. package/src/lib/interfaces/auditLogEntry.d.ts +7 -6
  26. package/src/lib/interfaces/auditLogEntry.d.ts.map +1 -1
  27. package/src/lib/interfaces/availability/availabilityService.d.ts +12 -11
  28. package/src/lib/interfaces/availability/availabilityService.d.ts.map +1 -1
  29. package/src/lib/interfaces/availability/availabilityService.js.map +1 -1
  30. package/src/lib/interfaces/availability/blockRegistry.d.ts +8 -7
  31. package/src/lib/interfaces/availability/blockRegistry.d.ts.map +1 -1
  32. package/src/lib/interfaces/availability/discoveryProtocol.d.ts +6 -5
  33. package/src/lib/interfaces/availability/discoveryProtocol.d.ts.map +1 -1
  34. package/src/lib/interfaces/availability/discoveryProtocol.js.map +1 -1
  35. package/src/lib/interfaces/availability/gossipService.d.ts +16 -15
  36. package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
  37. package/src/lib/interfaces/availability/gossipService.js.map +1 -1
  38. package/src/lib/interfaces/availability/locationRecord.d.ts +2 -1
  39. package/src/lib/interfaces/availability/locationRecord.d.ts.map +1 -1
  40. package/src/lib/interfaces/availability/locationRecord.js.map +1 -1
  41. package/src/lib/interfaces/availability/reconciliationService.d.ts +5 -4
  42. package/src/lib/interfaces/availability/reconciliationService.d.ts.map +1 -1
  43. package/src/lib/interfaces/availability/reconciliationService.js.map +1 -1
  44. package/src/lib/interfaces/blockFetch/blockFetcher.d.ts +2 -1
  45. package/src/lib/interfaces/blockFetch/blockFetcher.d.ts.map +1 -1
  46. package/src/lib/interfaces/blockFetch/blockFetcher.js.map +1 -1
  47. package/src/lib/interfaces/branded/primitives/blockId.d.ts +13 -0
  48. package/src/lib/interfaces/branded/primitives/blockId.d.ts.map +1 -1
  49. package/src/lib/interfaces/branded/primitives/blockId.js +13 -0
  50. package/src/lib/interfaces/branded/primitives/blockId.js.map +1 -1
  51. package/src/lib/interfaces/brightpass/vaultEntry.d.ts +2 -1
  52. package/src/lib/interfaces/brightpass/vaultEntry.d.ts.map +1 -1
  53. package/src/lib/interfaces/brightpass/vaultMetadata.d.ts +2 -1
  54. package/src/lib/interfaces/brightpass/vaultMetadata.d.ts.map +1 -1
  55. package/src/lib/interfaces/chainedAuditLogEntry.d.ts +3 -2
  56. package/src/lib/interfaces/chainedAuditLogEntry.d.ts.map +1 -1
  57. package/src/lib/interfaces/contentWithIdentity.d.ts +3 -3
  58. package/src/lib/interfaces/contentWithIdentity.d.ts.map +1 -1
  59. package/src/lib/interfaces/identityRecoveryRecord.d.ts +5 -7
  60. package/src/lib/interfaces/identityRecoveryRecord.d.ts.map +1 -1
  61. package/src/lib/interfaces/member/memberDto.d.ts +4 -4
  62. package/src/lib/interfaces/member/memberDto.d.ts.map +1 -1
  63. package/src/lib/interfaces/messaging/attachmentMetadata.d.ts +2 -1
  64. package/src/lib/interfaces/messaging/attachmentMetadata.d.ts.map +1 -1
  65. package/src/lib/interfaces/messaging/emailDelivery.d.ts +3 -2
  66. package/src/lib/interfaces/messaging/emailDelivery.d.ts.map +1 -1
  67. package/src/lib/interfaces/messaging/emailDelivery.js.map +1 -1
  68. package/src/lib/interfaces/messaging/emailMetadata.d.ts +7 -3
  69. package/src/lib/interfaces/messaging/emailMetadata.d.ts.map +1 -1
  70. package/src/lib/interfaces/messaging/emailMetadata.js.map +1 -1
  71. package/src/lib/interfaces/messaging/messageMetadata.d.ts +12 -6
  72. package/src/lib/interfaces/messaging/messageMetadata.d.ts.map +1 -1
  73. package/src/lib/interfaces/messaging/messageMetadataStore.d.ts +17 -10
  74. package/src/lib/interfaces/messaging/messageMetadataStore.d.ts.map +1 -1
  75. package/src/lib/interfaces/messaging/mimePart.d.ts +2 -1
  76. package/src/lib/interfaces/messaging/mimePart.d.ts.map +1 -1
  77. package/src/lib/interfaces/messaging/mimePart.js.map +1 -1
  78. package/src/lib/interfaces/proposal.d.ts +4 -8
  79. package/src/lib/interfaces/proposal.d.ts.map +1 -1
  80. package/src/lib/interfaces/quorumDocumentMetadata.d.ts +2 -2
  81. package/src/lib/interfaces/quorumDocumentMetadata.d.ts.map +1 -1
  82. package/src/lib/interfaces/quorumEpoch.d.ts +3 -5
  83. package/src/lib/interfaces/quorumEpoch.d.ts.map +1 -1
  84. package/src/lib/interfaces/readOnlyDataObjectDto.d.ts +2 -2
  85. package/src/lib/interfaces/readOnlyDataObjectDto.d.ts.map +1 -1
  86. package/src/lib/interfaces/redistributionJournalEntry.d.ts +4 -4
  87. package/src/lib/interfaces/redistributionJournalEntry.d.ts.map +1 -1
  88. package/src/lib/interfaces/responses/getBlock.d.ts +2 -1
  89. package/src/lib/interfaces/responses/getBlock.d.ts.map +1 -1
  90. package/src/lib/interfaces/responses/index.d.ts +1 -0
  91. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  92. package/src/lib/interfaces/responses/memberProfileData.d.ts +51 -0
  93. package/src/lib/interfaces/responses/memberProfileData.d.ts.map +1 -0
  94. package/src/lib/interfaces/responses/memberProfileData.js +3 -0
  95. package/src/lib/interfaces/responses/memberProfileData.js.map +1 -0
  96. package/src/lib/interfaces/responses/replicateBlockResponse.d.ts +2 -1
  97. package/src/lib/interfaces/responses/replicateBlockResponse.d.ts.map +1 -1
  98. package/src/lib/interfaces/responses/storeBlock.d.ts +2 -1
  99. package/src/lib/interfaces/responses/storeBlock.d.ts.map +1 -1
  100. package/src/lib/interfaces/services/contentIngestion.d.ts +3 -3
  101. package/src/lib/interfaces/services/contentIngestion.d.ts.map +1 -1
  102. package/src/lib/interfaces/services/expirationScheduler.d.ts +2 -2
  103. package/src/lib/interfaces/services/expirationScheduler.d.ts.map +1 -1
  104. package/src/lib/interfaces/services/identitySealingPipeline.d.ts +3 -3
  105. package/src/lib/interfaces/services/identitySealingPipeline.d.ts.map +1 -1
  106. package/src/lib/interfaces/services/identityValidator.d.ts +2 -2
  107. package/src/lib/interfaces/services/identityValidator.d.ts.map +1 -1
  108. package/src/lib/interfaces/services/operatorPrompt.d.ts +4 -4
  109. package/src/lib/interfaces/services/operatorPrompt.d.ts.map +1 -1
  110. package/src/lib/interfaces/services/quorumDatabase.d.ts +9 -9
  111. package/src/lib/interfaces/services/quorumDatabase.d.ts.map +1 -1
  112. package/src/lib/interfaces/services/quorumService.d.ts +23 -22
  113. package/src/lib/interfaces/services/quorumService.d.ts.map +1 -1
  114. package/src/lib/interfaces/services/quorumStateMachine.d.ts +6 -6
  115. package/src/lib/interfaces/services/quorumStateMachine.d.ts.map +1 -1
  116. package/src/lib/interfaces/services/redistributionConfig.d.ts +2 -2
  117. package/src/lib/interfaces/services/redistributionConfig.d.ts.map +1 -1
  118. package/src/lib/interfaces/storage/blockMetadata.d.ts +7 -6
  119. package/src/lib/interfaces/storage/blockMetadata.d.ts.map +1 -1
  120. package/src/lib/interfaces/storage/blockMetadata.js.map +1 -1
  121. package/src/lib/interfaces/storage/blockMetadataStore.d.ts +5 -4
  122. package/src/lib/interfaces/storage/blockMetadataStore.d.ts.map +1 -1
  123. package/src/lib/interfaces/storage/cblIndex.d.ts +5 -4
  124. package/src/lib/interfaces/storage/cblIndex.d.ts.map +1 -1
  125. package/src/lib/interfaces/storage/cblIndex.js.map +1 -1
  126. package/src/lib/interfaces/storage/cblWhitening.d.ts +9 -8
  127. package/src/lib/interfaces/storage/cblWhitening.d.ts.map +1 -1
  128. package/src/lib/interfaces/vote.d.ts +5 -9
  129. package/src/lib/interfaces/vote.d.ts.map +1 -1
  130. package/src/lib/quorum.d.ts +4 -4
  131. package/src/lib/quorum.d.ts.map +1 -1
  132. package/src/lib/quorum.js +1 -1
  133. package/src/lib/quorum.js.map +1 -1
  134. package/src/lib/quorumDataRecord.d.ts +4 -4
  135. package/src/lib/quorumDataRecord.d.ts.map +1 -1
  136. package/src/lib/quorumDataRecord.js +3 -3
  137. package/src/lib/quorumDataRecord.js.map +1 -1
  138. package/src/lib/quorumDataRecordDto.d.ts +5 -5
  139. package/src/lib/quorumDataRecordDto.d.ts.map +1 -1
  140. package/src/lib/schemas/messaging/messageMetadataSchema.d.ts.map +1 -1
  141. package/src/lib/schemas/messaging/messageMetadataSchema.js +1 -1
  142. package/src/lib/schemas/messaging/messageMetadataSchema.js.map +1 -1
  143. package/src/lib/schemas/quorumDocument.d.ts +1 -1
  144. package/src/lib/schemas/quorumDocument.d.ts.map +1 -1
  145. package/src/lib/schemas/quorumDocument.js +1 -1
  146. package/src/lib/schemas/quorumDocument.js.map +1 -1
  147. package/src/lib/services/aliasRegistry.d.ts +3 -3
  148. package/src/lib/services/aliasRegistry.d.ts.map +1 -1
  149. package/src/lib/services/aliasRegistry.js +2 -3
  150. package/src/lib/services/aliasRegistry.js.map +1 -1
  151. package/src/lib/services/auditLogService.d.ts +3 -3
  152. package/src/lib/services/auditLogService.d.ts.map +1 -1
  153. package/src/lib/services/auditLogService.js.map +1 -1
  154. package/src/lib/services/communication/explodingMessageService.js +7 -7
  155. package/src/lib/services/communication/explodingMessageService.js.map +1 -1
  156. package/src/lib/services/identity/memberIdentityProofService.js +2 -2
  157. package/src/lib/services/identity/memberIdentityProofService.js.map +1 -1
  158. package/src/lib/services/identity/memberPaperKeyService.js +5 -5
  159. package/src/lib/services/identity/memberPaperKeyService.js.map +1 -1
  160. package/src/lib/services/identitySealingPipeline.d.ts +2 -2
  161. package/src/lib/services/identitySealingPipeline.d.ts.map +1 -1
  162. package/src/lib/services/identitySealingPipeline.js.map +1 -1
  163. package/src/lib/services/identityValidator.d.ts +1 -1
  164. package/src/lib/services/identityValidator.d.ts.map +1 -1
  165. package/src/lib/services/identityValidator.js +1 -1
  166. package/src/lib/services/identityValidator.js.map +1 -1
  167. package/src/lib/services/memberStore.d.ts.map +1 -1
  168. package/src/lib/services/memberStore.js +7 -6
  169. package/src/lib/services/memberStore.js.map +1 -1
  170. package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -1
  171. package/src/lib/services/messaging/emailMessageService.js +2 -1
  172. package/src/lib/services/messaging/emailMessageService.js.map +1 -1
  173. package/src/lib/services/messaging/emailParser.d.ts.map +1 -1
  174. package/src/lib/services/messaging/emailParser.js.map +1 -1
  175. package/src/lib/services/messaging/gossipRetryService.d.ts +3 -2
  176. package/src/lib/services/messaging/gossipRetryService.d.ts.map +1 -1
  177. package/src/lib/services/messaging/gossipRetryService.js.map +1 -1
  178. package/src/lib/services/messaging/messageCBLService.d.ts.map +1 -1
  179. package/src/lib/services/messaging/messageCBLService.js +2 -1
  180. package/src/lib/services/messaging/messageCBLService.js.map +1 -1
  181. package/src/lib/services/quorumService.d.ts +16 -16
  182. package/src/lib/services/quorumService.d.ts.map +1 -1
  183. package/src/lib/services/quorumService.js +72 -39
  184. package/src/lib/services/quorumService.js.map +1 -1
  185. package/src/lib/services/quorumStateMachine.d.ts +7 -7
  186. package/src/lib/services/quorumStateMachine.d.ts.map +1 -1
  187. package/src/lib/services/quorumStateMachine.js +31 -24
  188. package/src/lib/services/quorumStateMachine.js.map +1 -1
  189. package/src/lib/services/sealing.service.d.ts +4 -4
  190. package/src/lib/services/sealing.service.d.ts.map +1 -1
  191. package/src/lib/services/sealing.service.js +2 -2
  192. package/src/lib/services/sealing.service.js.map +1 -1
  193. package/src/lib/stores/energyAccountStore.d.ts.map +1 -1
  194. package/src/lib/stores/energyAccountStore.js.map +1 -1
  195. package/src/lib/stores/energyLedger.d.ts.map +1 -1
  196. package/src/lib/stores/energyLedger.js.map +1 -1
  197. package/src/lib/stores/memoryBlockMetadataStore.d.ts +6 -5
  198. package/src/lib/stores/memoryBlockMetadataStore.d.ts.map +1 -1
  199. package/src/lib/stores/memoryBlockMetadataStore.js.map +1 -1
  200. package/src/lib/stores/memoryBlockStore.d.ts.map +1 -1
  201. package/src/lib/stores/memoryBlockStore.js +38 -22
  202. package/src/lib/stores/memoryBlockStore.js.map +1 -1
  203. package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts.map +1 -1
  204. package/src/lib/stores/messaging/memoryMessageMetadataStore.js.map +1 -1
  205. package/src/lib/stores/pooledMemoryBlockStore.d.ts.map +1 -1
  206. package/src/lib/stores/pooledMemoryBlockStore.js +17 -7
  207. package/src/lib/stores/pooledMemoryBlockStore.js.map +1 -1
@@ -30,10 +30,10 @@ class QuorumService {
30
30
  this.documents = new simpleStore_1.SimpleStore();
31
31
  }
32
32
  /**
33
- * Convert a member ID to hex string format
33
+ * Convert a TID to hex string format for internal storage keys
34
34
  */
35
- memberIdToHex(memberId) {
36
- return (0, ecies_lib_1.uint8ArrayToHex)(this.enhancedProvider.toBytes(memberId));
35
+ tidToHex(id) {
36
+ return this.enhancedProvider.toString(id, 'hex');
37
37
  }
38
38
  // === Member Management ===
39
39
  async addMember(member, metadata) {
@@ -42,7 +42,7 @@ class QuorumService {
42
42
  const hexId = (0, ecies_lib_1.uint8ArrayToHex)(member.idBytes);
43
43
  const now = new Date();
44
44
  const quorumMember = {
45
- id: hexId,
45
+ id: member.id,
46
46
  publicKey: member.publicKey,
47
47
  metadata,
48
48
  isActive: true,
@@ -55,29 +55,33 @@ class QuorumService {
55
55
  return quorumMember;
56
56
  }
57
57
  async removeMember(memberId) {
58
- if (!this.members.has(memberId)) {
58
+ const hexId = this.tidToHex(memberId);
59
+ if (!this.members.has(hexId)) {
59
60
  throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.MemberNotFound);
60
61
  }
61
62
  // Get the member and mark as inactive rather than deleting
62
63
  // This preserves their ability to participate in existing documents
63
- const member = this.members.get(memberId);
64
+ const member = this.members.get(hexId);
64
65
  member.isActive = false;
65
66
  member.updatedAt = new Date();
66
- this.members.set(memberId, member);
67
+ this.members.set(hexId, member);
67
68
  // Note: We don't remove from memberIds because the member still exists
68
69
  }
69
70
  async getMember(memberId) {
70
- if (!this.members.has(memberId)) {
71
+ const hexId = this.tidToHex(memberId);
72
+ if (!this.members.has(hexId)) {
71
73
  return null;
72
74
  }
73
- return this.members.get(memberId);
75
+ return this.members.get(hexId);
74
76
  }
75
77
  async listMembers() {
76
78
  const result = [];
77
- for (const memberId of this.memberIds) {
78
- const member = await this.getMember(memberId);
79
- if (member && member.isActive) {
80
- result.push(member);
79
+ for (const hexId of this.memberIds) {
80
+ if (this.members.has(hexId)) {
81
+ const member = this.members.get(hexId);
82
+ if (member && member.isActive) {
83
+ result.push(member);
84
+ }
81
85
  }
82
86
  }
83
87
  return result;
@@ -91,20 +95,21 @@ class QuorumService {
91
95
  // Get Member objects for the specified IDs
92
96
  const members = [];
93
97
  for (const memberId of memberIds) {
94
- if (!this.membersByMember.has(memberId)) {
98
+ const hexId = this.tidToHex(memberId);
99
+ if (!this.membersByMember.has(hexId)) {
95
100
  throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.MemberNotFound);
96
101
  }
97
- members.push(this.membersByMember.get(memberId));
102
+ members.push(this.membersByMember.get(hexId));
98
103
  }
99
104
  // Seal the document using the sealing service
100
105
  const sealedDoc = await this.sealingService.quorumSeal(agent, document, members, sharesRequired);
101
106
  // Store the sealed document
102
107
  // Use the document's own enhancedProvider to convert the ID to bytes
103
- const docHexId = (0, ecies_lib_1.uint8ArrayToHex)(sealedDoc.enhancedProvider.toBytes(sealedDoc.id));
108
+ const docHexId = this.enhancedProvider.toString(sealedDoc.id, 'hex');
104
109
  this.documents.set(docHexId, sealedDoc);
105
110
  this.documentIds.add(docHexId);
106
111
  return {
107
- documentId: docHexId,
112
+ documentId: sealedDoc.id,
108
113
  encryptedData: sealedDoc.encryptedData,
109
114
  memberIds,
110
115
  sharesRequired: sealedDoc.sharesRequired,
@@ -113,60 +118,88 @@ class QuorumService {
113
118
  }
114
119
  // === Document Unsealing ===
115
120
  async unsealDocument(documentId, membersWithPrivateKey) {
116
- if (!this.documents.has(documentId)) {
121
+ const hexId = this.tidToHex(documentId);
122
+ if (!this.documents.has(hexId)) {
117
123
  throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.DocumentNotFound);
118
124
  }
119
- const doc = this.documents.get(documentId);
125
+ const doc = this.documents.get(hexId);
120
126
  // Unseal using the sealing service
121
127
  return await this.sealingService.quorumUnseal(doc, membersWithPrivateKey);
122
128
  }
123
129
  // === Document Management ===
124
130
  async getDocument(documentId) {
125
- if (!this.documents.has(documentId)) {
131
+ const hexId = this.tidToHex(documentId);
132
+ if (!this.documents.has(hexId)) {
126
133
  return null;
127
134
  }
128
- const doc = this.documents.get(documentId);
129
- const creatorHexId = (0, ecies_lib_1.uint8ArrayToHex)(this.enhancedProvider.toBytes(doc.creator.id));
135
+ const doc = this.documents.get(hexId);
130
136
  return {
131
- id: documentId,
132
- memberIds: doc.memberIDs.map((id) => (0, ecies_lib_1.uint8ArrayToHex)(this.enhancedProvider.toBytes(id))),
137
+ id: doc.id,
138
+ memberIds: doc.memberIDs,
133
139
  sharesRequired: doc.sharesRequired,
134
140
  createdAt: doc.dateCreated,
135
- creatorId: creatorHexId,
141
+ creatorId: doc.creator.id,
136
142
  };
137
143
  }
138
144
  async listDocuments(memberId) {
139
145
  const result = [];
140
- for (const docId of this.documentIds) {
141
- const doc = await this.getDocument(docId);
142
- if (doc) {
146
+ const memberHexId = memberId ? this.tidToHex(memberId) : undefined;
147
+ for (const docHexId of this.documentIds) {
148
+ if (this.documents.has(docHexId)) {
149
+ const doc = this.documents.get(docHexId);
143
150
  // Filter by member if specified
144
- if (!memberId || doc.memberIds.includes(memberId)) {
145
- result.push(doc);
151
+ if (!memberHexId) {
152
+ result.push({
153
+ id: doc.id,
154
+ memberIds: doc.memberIDs,
155
+ sharesRequired: doc.sharesRequired,
156
+ createdAt: doc.dateCreated,
157
+ creatorId: doc.creator.id,
158
+ });
159
+ }
160
+ else {
161
+ const docMemberHexIds = doc.memberIDs.map((id) => this.enhancedProvider.toString(id, 'hex'));
162
+ if (docMemberHexIds.includes(memberHexId)) {
163
+ result.push({
164
+ id: doc.id,
165
+ memberIds: doc.memberIDs,
166
+ sharesRequired: doc.sharesRequired,
167
+ createdAt: doc.dateCreated,
168
+ creatorId: doc.creator.id,
169
+ });
170
+ }
146
171
  }
147
172
  }
148
173
  }
149
174
  return result;
150
175
  }
151
176
  async deleteDocument(documentId) {
152
- if (!this.documents.has(documentId)) {
177
+ const hexId = this.tidToHex(documentId);
178
+ if (!this.documents.has(hexId)) {
153
179
  throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.DocumentNotFound);
154
180
  }
155
181
  // Remove from tracking - the document remains in SimpleStore but won't be listed
156
- this.documentIds.delete(documentId);
182
+ this.documentIds.delete(hexId);
157
183
  }
158
184
  async canUnlock(documentId, memberIds) {
159
- if (!this.documents.has(documentId)) {
185
+ const hexId = this.tidToHex(documentId);
186
+ if (!this.documents.has(hexId)) {
160
187
  throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.DocumentNotFound);
161
188
  }
162
- const doc = this.documents.get(documentId);
163
- const docMemberIds = doc.memberIDs.map((id) => (0, ecies_lib_1.uint8ArrayToHex)(this.enhancedProvider.toBytes(id)));
189
+ const doc = this.documents.get(hexId);
190
+ const docMemberHexIds = doc.memberIDs.map((id) => this.enhancedProvider.toString(id, 'hex'));
191
+ // Convert provided memberIds to hex for comparison
192
+ const providedHexIds = memberIds.map((id) => this.tidToHex(id));
164
193
  // Find which provided members are actually in the document
165
- const validMemberIds = memberIds.filter((id) => docMemberIds.includes(id));
166
- const missingMembers = docMemberIds.filter((id) => !memberIds.includes(id));
194
+ const validCount = providedHexIds.filter((id) => docMemberHexIds.includes(id)).length;
195
+ // Find missing members (doc members not in provided list)
196
+ const missingMembers = doc.memberIDs.filter((id) => {
197
+ const hex = this.enhancedProvider.toString(id, 'hex');
198
+ return !providedHexIds.includes(hex);
199
+ });
167
200
  return {
168
- canUnlock: validMemberIds.length >= doc.sharesRequired,
169
- sharesProvided: validMemberIds.length,
201
+ canUnlock: validCount >= doc.sharesRequired,
202
+ sharesProvided: validCount,
170
203
  sharesRequired: doc.sharesRequired,
171
204
  missingMembers,
172
205
  };
@@ -1 +1 @@
1
- {"version":3,"file":"quorumService.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/quorumService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quorumService.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/quorumService.ts"],"names":[],"mappings":";;;AAAA,0DAOoC;AACpC,qEAAkE;AAClE,uDAAoD;AAUpD,uDAAoD;AACpD,uDAAmD;AACnD,yDAAqD;AAErD;;;;;;GAMG;AACH,MAAa,aAAa;IAiBxB,YACE,UAAwC,EACxC,YAAgC;QANlC,kEAAkE;QAC/C,cAAS,GAAmB,IAAI,GAAG,EAAE,CAAC;QACtC,gBAAW,GAAmB,IAAI,GAAG,EAAE,CAAC;QAMzD,sFAAsF;QACtF,+DAA+D;QAC/D,MAAM,eAAe,GAAG,kCAAe,CAAC,WAAW,EAAO,CAAC;QAC3D,IAAI,CAAC,gBAAgB,GAAG,UAAU,IAAI,eAAe,CAAC,UAAU,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,eAAe,CAAC,YAAY,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,IAAI,gCAAc,CACtC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,gBAAgB,CACtB,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAW,EAAiC,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,IAAI,yBAAW,EAA0B,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,IAAI,yBAAW,EAAoC,CAAC;IACvE,CAAC;IAED;;OAEG;IACO,QAAQ,CAAC,EAAO;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAc,CAAC;IAChE,CAAC;IAED,4BAA4B;IAE5B,KAAK,CAAC,SAAS,CACb,MAAmB,EACnB,QAA8B;QAE9B,qEAAqE;QACrE,6EAA6E;QAC7E,MAAM,KAAK,GAAG,IAAA,2BAAe,EAAC,MAAM,CAAC,OAAO,CAAc,CAAC;QAC3D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,YAAY,GAAuB;YACvC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ;YACR,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,GAAG;YACd,SAAS,EAAE,GAAG;SACf,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAE1B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAa;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,cAAc,CAAC,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,oEAAoE;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,uEAAuE;IACzE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAa;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACvC,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2BAA2B;IAE3B,KAAK,CAAC,YAAY,CAChB,KAAkB,EAClB,QAAW,EACX,SAAgB,EAChB,cAAuB;QAEvB,wBAAwB;QACxB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,2CAA2C;QAC3C,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,cAAc,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,8CAA8C;QAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CACpD,KAAK,EACL,QAAQ,EACR,OAAO,EACP,cAAc,CACf,CAAC;QAEF,4BAA4B;QAC5B,qEAAqE;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAC7C,SAAS,CAAC,EAAE,EACZ,KAAK,CACO,CAAC;QACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/B,OAAO;YACL,UAAU,EAAE,SAAS,CAAC,EAAE;YACxB,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,SAAS;YACT,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,SAAS,EAAE,SAAS,CAAC,WAAW;SACjC,CAAC;IACJ,CAAC;IAED,6BAA6B;IAE7B,KAAK,CAAC,cAAc,CAClB,UAAe,EACf,qBAAoC;QAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEtC,mCAAmC;QACnC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAC3C,GAAG,EACH,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,8BAA8B;IAE9B,KAAK,CAAC,WAAW,CAAC,UAAe;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEtC,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,SAAS,EAAE,GAAG,CAAC,WAAW;YAC1B,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;SAC1B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAc;QAChC,MAAM,MAAM,GAA8B,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACzC,gCAAgC;gBAChC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC;wBACV,EAAE,EAAE,GAAG,CAAC,EAAE;wBACV,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,cAAc,EAAE,GAAG,CAAC,cAAc;wBAClC,SAAS,EAAE,GAAG,CAAC,WAAW;wBAC1B,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;qBAC1B,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAc,CAC/D,CAAC;oBACF,IAAI,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC1C,MAAM,CAAC,IAAI,CAAC;4BACV,EAAE,EAAE,GAAG,CAAC,EAAE;4BACV,SAAS,EAAE,GAAG,CAAC,SAAS;4BACxB,cAAc,EAAE,GAAG,CAAC,cAAc;4BAClC,SAAS,EAAE,GAAG,CAAC,WAAW;4BAC1B,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE;yBAC1B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAe;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,iFAAiF;QACjF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,UAAe,EACf,SAAgB;QAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,gBAAgB,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CACvC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAc,CAC/D,CAAC;QAEF,mDAAmD;QACnD,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhE,2DAA2D;QAC3D,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAC9C,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC7B,CAAC,MAAM,CAAC;QAET,0DAA0D;QAC1D,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAc,CAAC;YACnE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,SAAS,EAAE,UAAU,IAAI,GAAG,CAAC,cAAc;YAC3C,cAAc,EAAE,UAAU;YAC1B,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,cAAc;SACf,CAAC;IACJ,CAAC;CACF;AAhRD,sCAgRC"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @see Requirements 1-8, 10-13
9
9
  */
10
- import { Member, PlatformID, ShortHexGuid } from '@digitaldefiance/ecies-lib';
10
+ import { Member, PlatformID } from '@digitaldefiance/ecies-lib';
11
11
  import { QuorumOperationalMode } from '../enumerations/quorumOperationalMode';
12
12
  import { IGossipService } from '../interfaces/availability/gossipService';
13
13
  import { Proposal, ProposalInput } from '../interfaces/proposal';
@@ -156,7 +156,7 @@ export declare class QuorumStateMachine<TID extends PlatformID = Uint8Array> imp
156
156
  * @param threshold - The configured quorum threshold
157
157
  * @returns The new QuorumEpoch in Quorum mode
158
158
  */
159
- createTransitionEpoch(memberIds: ShortHexGuid[], threshold: number): Promise<QuorumEpoch<TID>>;
159
+ createTransitionEpoch(memberIds: TID[], threshold: number): Promise<QuorumEpoch<TID>>;
160
160
  /**
161
161
  * Add a new member to the quorum.
162
162
  *
@@ -184,7 +184,7 @@ export declare class QuorumStateMachine<TID extends PlatformID = Uint8Array> imp
184
184
  * @throws QuorumError with InsufficientRemainingMembers if removal would drop below threshold
185
185
  * @throws QuorumError with MemberNotFound if the member is not in the current epoch
186
186
  */
187
- removeMember(memberId: ShortHexGuid, redistributionConfig?: Partial<RedistributionConfig>): Promise<QuorumEpoch<TID>>;
187
+ removeMember(memberId: TID, redistributionConfig?: Partial<RedistributionConfig>): Promise<QuorumEpoch<TID>>;
188
188
  /**
189
189
  * Maximum allowed description length for proposals.
190
190
  */
@@ -220,7 +220,7 @@ export declare class QuorumStateMachine<TID extends PlatformID = Uint8Array> imp
220
220
  * @returns The created Proposal with assigned ID and status
221
221
  * @throws QuorumError with MissingAttachment if IDENTITY_DISCLOSURE lacks attachmentCblId
222
222
  */
223
- submitProposal(proposal: ProposalInput<TID>): Promise<Proposal<TID>>;
223
+ submitProposal(proposal: ProposalInput): Promise<Proposal<TID>>;
224
224
  /**
225
225
  * Submit a vote on a pending proposal.
226
226
  *
@@ -305,7 +305,7 @@ export declare class QuorumStateMachine<TID extends PlatformID = Uint8Array> imp
305
305
  /**
306
306
  * Get a proposal by its ID.
307
307
  */
308
- getProposal(proposalId: ShortHexGuid): Promise<Proposal<TID> | null>;
308
+ getProposal(proposalId: TID): Promise<Proposal<TID> | null>;
309
309
  /**
310
310
  * Seal a document using the appropriate mode (bootstrap or quorum).
311
311
  *
@@ -315,7 +315,7 @@ export declare class QuorumStateMachine<TID extends PlatformID = Uint8Array> imp
315
315
  *
316
316
  * @throws QuorumError with TransitionInProgress if a transition ceremony is active
317
317
  */
318
- sealDocument<T>(agent: Member<TID>, document: T, memberIds: ShortHexGuid[], sharesRequired?: number): Promise<SealedDocumentResult<TID>>;
318
+ sealDocument<T>(agent: Member<TID>, document: T, memberIds: TID[], sharesRequired?: number): Promise<SealedDocumentResult<TID>>;
319
319
  /**
320
320
  * Unseal a document.
321
321
  *
@@ -323,7 +323,7 @@ export declare class QuorumStateMachine<TID extends PlatformID = Uint8Array> imp
323
323
  * comparison before delegating to SealingService.
324
324
  * Returns generic error on failure without revealing which check failed (Req 8.4-8.6).
325
325
  */
326
- unsealDocument<T>(documentId: ShortHexGuid, membersWithPrivateKey: Member<TID>[]): Promise<T>;
326
+ unsealDocument<T>(documentId: TID, membersWithPrivateKey: Member<TID>[]): Promise<T>;
327
327
  /** Get the current epoch. */
328
328
  getCurrentEpoch(): Promise<QuorumEpoch<TID>>;
329
329
  /** Get a specific epoch by number. */
@@ -1 +1 @@
1
- {"version":3,"file":"quorumStateMachine.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/quorumStateMachine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quorumStateMachine.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/quorumStateMachine.ts"],"names":[],"mappings":"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"}
@@ -129,11 +129,12 @@ class QuorumStateMachine {
129
129
  : threshold;
130
130
  // Save members to database
131
131
  for (const member of members) {
132
- const hexId = (0, ecies_lib_1.uint8ArrayToHex)(member.idBytes);
133
132
  const quorumMember = {
134
- id: hexId,
133
+ id: member.id,
135
134
  publicKey: member.publicKey,
136
- metadata: { name: `Member-${hexId.substring(0, 8)}` },
135
+ metadata: {
136
+ name: `Member-${(0, ecies_lib_1.uint8ArrayToHex)(member.idBytes).substring(0, 8)}`,
137
+ },
137
138
  isActive: true,
138
139
  createdAt: new Date(),
139
140
  updatedAt: new Date(),
@@ -141,7 +142,7 @@ class QuorumStateMachine {
141
142
  await this.db.saveMember(quorumMember);
142
143
  }
143
144
  // Create epoch 1
144
- const memberIds = members.map((m) => (0, ecies_lib_1.uint8ArrayToHex)(m.idBytes));
145
+ const memberIds = members.map((m) => m.id);
145
146
  const epoch = {
146
147
  epochNumber: 1,
147
148
  memberIds,
@@ -290,9 +291,10 @@ class QuorumStateMachine {
290
291
  */
291
292
  resolveMembersFromRecords(quorumMembers) {
292
293
  return quorumMembers.map((qm) => {
293
- return new ecies_lib_1.Member(this.sealingService.eciesServiceRef, ecies_lib_1.MemberType.User, qm.metadata.name || `Member-${qm.id.substring(0, 8)}`, new ecies_lib_1.EmailString(`${qm.id.substring(0, 8)}@quorum.local`), qm.publicKey, undefined, // no private key
294
+ const idHex = (0, ecies_lib_1.uint8ArrayToHex)(this.sealingService['enhancedProvider'].toBytes(qm.id));
295
+ return new ecies_lib_1.Member(this.sealingService.eciesServiceRef, ecies_lib_1.MemberType.User, qm.metadata.name || `Member-${idHex.substring(0, 8)}`, new ecies_lib_1.EmailString(`${idHex.substring(0, 8)}@quorum.local`), qm.publicKey, undefined, // no private key
294
296
  undefined, // no wallet
295
- this.sealingService.enhancedProviderRef.fromBytes(new Uint8Array(Buffer.from(qm.id, 'hex'))));
297
+ qm.id);
296
298
  });
297
299
  }
298
300
  /**
@@ -444,7 +446,7 @@ class QuorumStateMachine {
444
446
  for (const doc of docs) {
445
447
  const docHexId = (0, ecies_lib_1.uint8ArrayToHex)(doc.enhancedProvider.toBytes(doc.id));
446
448
  // Save journal entry BEFORE modifying the document
447
- const oldMemberHexIds = doc.memberIDs.map((mid) => (0, ecies_lib_1.uint8ArrayToHex)(doc.enhancedProvider.toBytes(mid)));
449
+ const oldMemberHexIds = doc.memberIDs.map((mid) => doc.enhancedProvider.toString(mid, 'hex'));
448
450
  const journalEntry = {
449
451
  documentId: docHexId,
450
452
  oldShares: new Map(doc.encryptedSharesByMemberId),
@@ -550,13 +552,13 @@ class QuorumStateMachine {
550
552
  this.ensureNotTransitioning();
551
553
  const hexId = (0, ecies_lib_1.uint8ArrayToHex)(member.idBytes);
552
554
  // Check if member already exists
553
- const existing = await this.db.getMember(hexId);
555
+ const existing = await this.db.getMember(member.id);
554
556
  if (existing && existing.isActive) {
555
557
  throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.MemberAlreadyExists);
556
558
  }
557
559
  // Save the new member
558
560
  const quorumMember = {
559
- id: hexId,
561
+ id: member.id,
560
562
  publicKey: member.publicKey,
561
563
  metadata,
562
564
  isActive: true,
@@ -569,7 +571,7 @@ class QuorumStateMachine {
569
571
  const previousThreshold = this.currentEpochData?.threshold ?? 1;
570
572
  const previousMemberIds = this.currentEpochData?.memberIds ?? [];
571
573
  // Build new member list
572
- const newMemberIds = [...previousMemberIds, hexId];
574
+ const newMemberIds = [...previousMemberIds, member.id];
573
575
  // Determine mode and threshold for the new epoch
574
576
  const newMode = newMemberIds.length >= this.configuredThreshold
575
577
  ? quorumOperationalMode_1.QuorumOperationalMode.Quorum
@@ -585,7 +587,7 @@ class QuorumStateMachine {
585
587
  epochNumber: newEpoch.epochNumber,
586
588
  previousEpochNumber,
587
589
  memberCount: newMemberIds.length,
588
- }, hexId);
590
+ }, member.id);
589
591
  // Trigger batched share redistribution for documents in the previous epoch
590
592
  if (previousEpochNumber > 0 && previousMemberIds.length > 0) {
591
593
  const config = {
@@ -827,13 +829,13 @@ class QuorumStateMachine {
827
829
  };
828
830
  // Store as pending in the database
829
831
  await this.db.saveProposal(fullProposal);
830
- // Announce via gossip
832
+ // Announce via gossip (gossip layer uses serialized HexString format)
831
833
  const gossipMetadata = {
832
- proposalId: fullProposal.id,
834
+ proposalId: (0, ecies_lib_1.uint8ArrayToHex)(this.sealingService['enhancedProvider'].toBytes(fullProposal.id)),
833
835
  description: fullProposal.description,
834
836
  actionType: fullProposal.actionType,
835
837
  actionPayload: JSON.stringify(fullProposal.actionPayload),
836
- proposerMemberId: fullProposal.proposerMemberId,
838
+ proposerMemberId: (0, ecies_lib_1.uint8ArrayToHex)(this.sealingService['enhancedProvider'].toBytes(fullProposal.proposerMemberId)),
837
839
  expiresAt: fullProposal.expiresAt,
838
840
  requiredThreshold: fullProposal.requiredThreshold,
839
841
  attachmentCblId: fullProposal.attachmentCblId,
@@ -907,10 +909,10 @@ class QuorumStateMachine {
907
909
  createdAt: new Date(),
908
910
  };
909
911
  await this.db.saveVote(fullVote);
910
- // Announce via gossip
912
+ // Announce via gossip (gossip layer uses serialized HexString format)
911
913
  const gossipMetadata = {
912
- proposalId: fullVote.proposalId,
913
- voterMemberId: fullVote.voterMemberId,
914
+ proposalId: (0, ecies_lib_1.uint8ArrayToHex)(this.sealingService['enhancedProvider'].toBytes(fullVote.proposalId)),
915
+ voterMemberId: (0, ecies_lib_1.uint8ArrayToHex)(this.sealingService['enhancedProvider'].toBytes(fullVote.voterMemberId)),
914
916
  decision: fullVote.decision,
915
917
  comment: fullVote.comment,
916
918
  };
@@ -1257,11 +1259,13 @@ class QuorumStateMachine {
1257
1259
  const activeMembers = await this.db.listActiveMembers();
1258
1260
  const memberMap = new Map();
1259
1261
  for (const m of activeMembers) {
1260
- memberMap.set(m.id, m);
1262
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(this.sealingService['enhancedProvider'].toBytes(m.id));
1263
+ memberMap.set(key, m);
1261
1264
  }
1262
1265
  // Validate all requested member IDs exist
1263
1266
  for (const mid of memberIds) {
1264
- if (!memberMap.has(mid)) {
1267
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(this.sealingService['enhancedProvider'].toBytes(mid));
1268
+ if (!memberMap.has(key)) {
1265
1269
  throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.MemberNotFound);
1266
1270
  }
1267
1271
  }
@@ -1270,9 +1274,13 @@ class QuorumStateMachine {
1270
1274
  ? Math.max(memberIds.length, 1)
1271
1275
  : (sharesRequired ?? this.currentEpochData.threshold);
1272
1276
  // Resolve full Member objects for the requested member IDs
1273
- const sealMembers = memberIds
1274
- .map((mid) => memberMap.get(mid))
1275
- .filter((m) => m !== undefined);
1277
+ const sealMembers = [];
1278
+ for (const mid of memberIds) {
1279
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(this.sealingService['enhancedProvider'].toBytes(mid));
1280
+ const m = memberMap.get(key);
1281
+ if (m)
1282
+ sealMembers.push(m);
1283
+ }
1276
1284
  const resolvedMembers = this.resolveMembersFromRecords(sealMembers);
1277
1285
  // Delegate to SealingService
1278
1286
  let sealedDoc;
@@ -1282,11 +1290,10 @@ class QuorumStateMachine {
1282
1290
  else {
1283
1291
  sealedDoc = await this.sealingService.quorumSeal(agent, document, resolvedMembers, effectiveThreshold);
1284
1292
  }
1285
- const docHexId = (0, ecies_lib_1.uint8ArrayToHex)(sealedDoc.enhancedProvider.toBytes(sealedDoc.id));
1286
1293
  // Save to database
1287
1294
  await this.db.saveDocument(sealedDoc);
1288
1295
  return {
1289
- documentId: docHexId,
1296
+ documentId: sealedDoc.id,
1290
1297
  encryptedData: sealedDoc.encryptedData,
1291
1298
  memberIds,
1292
1299
  sharesRequired: sealedDoc.sharesRequired,