@brightchain/brightchain-api-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.
- package/package.json +5 -5
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +1 -1
- package/src/lib/application.js.map +1 -1
- package/src/lib/availability/availabilityService.d.ts +10 -9
- package/src/lib/availability/availabilityService.d.ts.map +1 -1
- package/src/lib/availability/availabilityService.js +1 -1
- package/src/lib/availability/availabilityService.js.map +1 -1
- package/src/lib/availability/blockRegistry.d.ts +5 -4
- package/src/lib/availability/blockRegistry.d.ts.map +1 -1
- package/src/lib/availability/blockRegistry.js +3 -2
- package/src/lib/availability/blockRegistry.js.map +1 -1
- package/src/lib/availability/discoveryProtocol.d.ts +6 -5
- package/src/lib/availability/discoveryProtocol.d.ts.map +1 -1
- package/src/lib/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/availability/gossipService.d.ts +5 -4
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +1 -1
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/quorumGossipHandler.d.ts.map +1 -1
- package/src/lib/availability/quorumGossipHandler.js.map +1 -1
- package/src/lib/availability/reconciliationService.d.ts +8 -7
- package/src/lib/availability/reconciliationService.d.ts.map +1 -1
- package/src/lib/availability/reconciliationService.js.map +1 -1
- package/src/lib/blockFetch/blockFetcher.d.ts.map +1 -1
- package/src/lib/blockFetch/blockFetcher.js.map +1 -1
- package/src/lib/controllers/api/blocks.d.ts.map +1 -1
- package/src/lib/controllers/api/blocks.js +14 -8
- package/src/lib/controllers/api/blocks.js.map +1 -1
- package/src/lib/controllers/api/explodingMessages.js +1 -1
- package/src/lib/controllers/api/explodingMessages.js.map +1 -1
- package/src/lib/controllers/api/members.d.ts.map +1 -1
- package/src/lib/controllers/api/members.js +27 -18
- package/src/lib/controllers/api/members.js.map +1 -1
- package/src/lib/controllers/api/nodes.d.ts.map +1 -1
- package/src/lib/controllers/api/nodes.js.map +1 -1
- package/src/lib/controllers/api/quorum.d.ts +4 -2
- package/src/lib/controllers/api/quorum.d.ts.map +1 -1
- package/src/lib/controllers/api/quorum.js +16 -10
- package/src/lib/controllers/api/quorum.js.map +1 -1
- package/src/lib/controllers/api/sync.d.ts.map +1 -1
- package/src/lib/controllers/api/sync.js +9 -6
- package/src/lib/controllers/api/sync.js.map +1 -1
- package/src/lib/datastore/block-document-store.d.ts +22 -15
- package/src/lib/datastore/block-document-store.d.ts.map +1 -1
- package/src/lib/datastore/block-document-store.js +34 -9
- package/src/lib/datastore/block-document-store.js.map +1 -1
- package/src/lib/datastore/memory-document-store.d.ts +3 -0
- package/src/lib/datastore/memory-document-store.d.ts.map +1 -1
- package/src/lib/datastore/memory-document-store.js +27 -8
- package/src/lib/datastore/memory-document-store.js.map +1 -1
- package/src/lib/interfaces/blockResponses.d.ts +8 -8
- package/src/lib/interfaces/blockResponses.d.ts.map +1 -1
- package/src/lib/interfaces/blockService.d.ts +6 -6
- package/src/lib/interfaces/blockService.d.ts.map +1 -1
- package/src/lib/interfaces/member/memberProfileResponse.d.ts +18 -26
- package/src/lib/interfaces/member/memberProfileResponse.d.ts.map +1 -1
- package/src/lib/interfaces/responses/block-data-response.d.ts +2 -1
- package/src/lib/interfaces/responses/block-data-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/block-location-response.d.ts +2 -1
- package/src/lib/interfaces/responses/block-location-response.d.ts.map +1 -1
- package/src/lib/interfaces/websocketMessages.d.ts +9 -8
- package/src/lib/interfaces/websocketMessages.d.ts.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.js +2 -2
- package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
- package/src/lib/services/blocks.d.ts +6 -6
- package/src/lib/services/blocks.d.ts.map +1 -1
- package/src/lib/services/blocks.js +3 -2
- package/src/lib/services/blocks.js.map +1 -1
- package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -1
- package/src/lib/services/brightchain-authentication-provider.js +3 -4
- package/src/lib/services/brightchain-authentication-provider.js.map +1 -1
- package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
- package/src/lib/services/brightchain-member-init.service.js +3 -3
- package/src/lib/services/brightchain-member-init.service.js.map +1 -1
- package/src/lib/services/brightpass.d.ts.map +1 -1
- package/src/lib/services/brightpass.js +5 -2
- package/src/lib/services/brightpass.js.map +1 -1
- package/src/lib/services/cliOperatorPrompt.d.ts +3 -3
- package/src/lib/services/cliOperatorPrompt.d.ts.map +1 -1
- package/src/lib/services/cliOperatorPrompt.js.map +1 -1
- package/src/lib/services/contentAwareBlocksService.d.ts +0 -9
- package/src/lib/services/contentAwareBlocksService.d.ts.map +1 -1
- package/src/lib/services/contentAwareBlocksService.js +0 -9
- package/src/lib/services/contentAwareBlocksService.js.map +1 -1
- package/src/lib/services/diskQuorumService.d.ts +11 -16
- package/src/lib/services/diskQuorumService.d.ts.map +1 -1
- package/src/lib/services/diskQuorumService.js +43 -28
- package/src/lib/services/diskQuorumService.js.map +1 -1
- package/src/lib/services/identityExpirationScheduler.d.ts +3 -2
- package/src/lib/services/identityExpirationScheduler.d.ts.map +1 -1
- package/src/lib/services/identityExpirationScheduler.js +5 -4
- package/src/lib/services/identityExpirationScheduler.js.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.d.ts +11 -10
- package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.js +167 -81
- package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.js +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +2 -2
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js +27 -11
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/stores/diskBlockMetadataStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockMetadataStore.js +10 -2
- package/src/lib/stores/diskBlockMetadataStore.js.map +1 -1
- package/src/lib/stores/diskBlockStore.d.ts +2 -2
- package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.js +25 -14
- package/src/lib/stores/diskBlockStore.js.map +1 -1
- package/src/lib/stores/diskCBLStore.d.ts.map +1 -1
- package/src/lib/stores/diskCBLStore.js.map +1 -1
- package/src/lib/stores/diskMessageMetadataStore.d.ts.map +1 -1
- package/src/lib/stores/diskMessageMetadataStore.js +12 -3
- package/src/lib/stores/diskMessageMetadataStore.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentAwareBlocksService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/contentAwareBlocksService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,
|
|
1
|
+
{"version":3,"file":"contentAwareBlocksService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/contentAwareBlocksService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC1E,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,gCAAgC;IAChC,SAAS,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,qBAAa,yBAAyB,CACpC,GAAG,SAAS,UAAU,GAAG,oBAAoB;IAG3C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBADvB,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,EACjC,uBAAuB,EAAE,wBAAwB,CAAC,GAAG,CAAC;IAGzE;;;;;;;;;;;;;;;;;OAiBG;IACG,sBAAsB,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,EACjC,OAAO,UAAO,EACd,UAAU,UAAO,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAqBxC;;;OAGG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,UAAO,EACd,UAAU,UAAO,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;IAU1D;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;IAIjD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIjE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,cAAc,CAAC;IAO1B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,uBAAuB;IAIrD;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW;CAGjD"}
|
|
@@ -67,21 +67,12 @@ class ContentAwareBlocksService {
|
|
|
67
67
|
async getBlock(blockId) {
|
|
68
68
|
return this.blocksService.getBlock(blockId);
|
|
69
69
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Get block metadata (passthrough to BlocksService).
|
|
72
|
-
*/
|
|
73
70
|
async getBlockMetadata(blockId) {
|
|
74
71
|
return this.blocksService.getBlockMetadata(blockId);
|
|
75
72
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Delete a block (passthrough to BlocksService).
|
|
78
|
-
*/
|
|
79
73
|
async deleteBlock(blockId) {
|
|
80
74
|
return this.blocksService.deleteBlock(blockId);
|
|
81
75
|
}
|
|
82
|
-
/**
|
|
83
|
-
* Brighten a block (passthrough to BlocksService).
|
|
84
|
-
*/
|
|
85
76
|
async brightenBlock(blockId, randomBlockCount) {
|
|
86
77
|
return this.blocksService.brightenBlock(blockId, randomBlockCount);
|
|
87
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentAwareBlocksService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/contentAwareBlocksService.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;
|
|
1
|
+
{"version":3,"file":"contentAwareBlocksService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/contentAwareBlocksService.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAgBH,uEAAoE;AAapE;;;;;;GAMG;AACH,MAAa,yBAAyB;IAGpC,YACmB,aAAiC,EACjC,uBAAsD;QADtD,kBAAa,GAAb,aAAa,CAAoB;QACjC,4BAAuB,GAAvB,uBAAuB,CAA+B;IACtE,CAAC;IAEJ;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,sBAAsB,CAC1B,UAAkB,EAClB,MAAc,EACd,OAAiC,EACjC,OAAO,GAAG,IAAI,EACd,UAAU,GAAG,IAAI,EACjB,OAA2B;QAE3B,0EAA0E;QAC1E,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE7D,uEAAuE;QACvE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CACrD,UAAU,EACV,MAAM,EACN,OAAO,EACP,UAAU,EACV,OAAO,CACR,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,SAAS,EAAE,eAAe;SAC3B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CACd,UAAkB,EAClB,MAAc,EACd,OAAO,GAAG,IAAI,EACd,UAAU,GAAG,IAAI,EACjB,OAA2B;QAE3B,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAClC,UAAU,EACV,MAAM,EACN,OAAO,EACP,UAAU,EACV,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,OAAe;QAEf,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAA6B,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe;QACpC,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAA6B,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,OAA6B,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,OAAe,EACf,gBAAwB;QAExB,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CACrC,OAA6B,EAC7B,gBAAgB,CACjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAA8B;QACnD,OAAO,iDAAuB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,KAAkB;QAC9C,OAAO,iDAAuB,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC/D,CAAC;CACF;AAlHD,8DAkHC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BlockSize, IFecService, IQuorumMember, QuorumDocumentInfo, QuorumMemberMetadata, QuorumService, SealedDocumentResult } from '@brightchain/brightchain-lib';
|
|
2
|
-
import { Member
|
|
1
|
+
import { BlockSize, CanUnlockResult, IFecService, IQuorumMember, QuorumDocumentInfo, QuorumMemberMetadata, QuorumService, SealedDocumentResult } from '@brightchain/brightchain-lib';
|
|
2
|
+
import { Member } from '@digitaldefiance/ecies-lib';
|
|
3
3
|
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
4
4
|
import { DiskBlockAsyncStore } from '../stores/diskBlockAsyncStore';
|
|
5
5
|
import { DefaultBackendIdType } from '../types/backend-id';
|
|
@@ -19,29 +19,24 @@ export declare class DiskQuorumService<TID extends PlatformID = DefaultBackendId
|
|
|
19
19
|
private readonly blockStore;
|
|
20
20
|
constructor(storagePath: string, blockSize?: BlockSize, fecService?: IFecService);
|
|
21
21
|
addMember(member: Member<TID>, metadata: QuorumMemberMetadata): Promise<IQuorumMember<TID>>;
|
|
22
|
-
removeMember(memberId:
|
|
23
|
-
getMember(memberId:
|
|
22
|
+
removeMember(memberId: TID): Promise<void>;
|
|
23
|
+
getMember(memberId: TID): Promise<IQuorumMember<TID> | null>;
|
|
24
24
|
listMembers(): Promise<IQuorumMember<TID>[]>;
|
|
25
|
-
sealDocument<T>(agent: Member<TID>, document: T, memberIds:
|
|
25
|
+
sealDocument<T>(agent: Member<TID>, document: T, memberIds: TID[], sharesRequired?: number): Promise<SealedDocumentResult<TID>>;
|
|
26
26
|
/**
|
|
27
27
|
* Serialize encrypted shares from QuorumDataRecord to storage format
|
|
28
|
-
* Note: encryptedSharesByMemberId uses
|
|
28
|
+
* Note: encryptedSharesByMemberId uses HexString keys (already hex strings)
|
|
29
29
|
*/
|
|
30
30
|
private serializeShares;
|
|
31
|
-
getDocument(documentId:
|
|
32
|
-
listDocuments(memberId?:
|
|
33
|
-
deleteDocument(documentId:
|
|
34
|
-
canUnlock(documentId:
|
|
35
|
-
canUnlock: boolean;
|
|
36
|
-
sharesProvided: number;
|
|
37
|
-
sharesRequired: number;
|
|
38
|
-
missingMembers: ShortHexGuid[];
|
|
39
|
-
}>;
|
|
31
|
+
getDocument(documentId: TID): Promise<QuorumDocumentInfo<TID> | null>;
|
|
32
|
+
listDocuments(memberId?: TID): Promise<QuorumDocumentInfo<TID>[]>;
|
|
33
|
+
deleteDocument(documentId: TID): Promise<void>;
|
|
34
|
+
canUnlock(documentId: TID, memberIds: TID[]): Promise<CanUnlockResult<TID>>;
|
|
40
35
|
/**
|
|
41
36
|
* Load a document from disk into memory for unsealing
|
|
42
37
|
* This is needed because unsealDocument requires the full QuorumDataRecord
|
|
43
38
|
*/
|
|
44
|
-
loadDocumentForUnseal(documentId:
|
|
39
|
+
loadDocumentForUnseal(documentId: TID): Promise<void>;
|
|
45
40
|
/**
|
|
46
41
|
* Set the FEC service for parity generation and recovery.
|
|
47
42
|
* This can be called after construction to enable FEC support.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskQuorumService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/diskQuorumService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,WAAW,EACX,aAAa,EAEb,kBAAkB,EAGlB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"diskQuorumService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/diskQuorumService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,WAAW,EACX,aAAa,EAEb,kBAAkB,EAGlB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACrB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAGL,MAAM,EAEP,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAM7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AA8B3D;;;;;;;;;GASG;AACH,qBAAa,iBAAiB,CAC5B,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,aAAa,CAAC,GAAG,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2C;IAC5E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6C;IAChF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;gBAG/C,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,SAA2B,EACtC,UAAU,CAAC,EAAE,WAAW;IA2BX,SAAS,CACtB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EACnB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAmBf,YAAY,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1C,SAAS,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IA0B5D,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;IAsB5C,YAAY,CAAC,CAAC,EAC3B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAClB,QAAQ,EAAE,CAAC,EACX,SAAS,EAAE,GAAG,EAAE,EAChB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAgCrC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAcR,WAAW,CACxB,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IA2B3B,aAAa,CAC1B,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IA8BtB,cAAc,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9C,SAAS,CACtB,UAAU,EAAE,GAAG,EACf,SAAS,EAAE,GAAG,EAAE,GACf,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAkChC;;;OAGG;IACG,qBAAqB,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB3D;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAInD;;;OAGG;IACH,aAAa,IAAI,mBAAmB;CAGrC"}
|
|
@@ -41,7 +41,7 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
41
41
|
const quorumMember = await super.addMember(member, metadata);
|
|
42
42
|
// Persist to disk
|
|
43
43
|
const memberDoc = {
|
|
44
|
-
memberId:
|
|
44
|
+
memberId: this.enhancedProvider.toString(member.id, 'hex'),
|
|
45
45
|
publicKey: (0, ecies_lib_1.uint8ArrayToHex)(member.publicKey),
|
|
46
46
|
metadata: quorumMember.metadata,
|
|
47
47
|
isActive: quorumMember.isActive,
|
|
@@ -55,7 +55,10 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
55
55
|
// Call parent to update in-memory state
|
|
56
56
|
await super.removeMember(memberId);
|
|
57
57
|
// Update on disk - find and update the member document
|
|
58
|
-
const
|
|
58
|
+
const memberIdHex = this.tidToHex(memberId);
|
|
59
|
+
const members = await this.memberCollection
|
|
60
|
+
.find({ memberId: memberIdHex })
|
|
61
|
+
.exec();
|
|
59
62
|
if (members && members.length > 0) {
|
|
60
63
|
const memberDoc = members[0];
|
|
61
64
|
memberDoc.isActive = false;
|
|
@@ -72,12 +75,15 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
72
75
|
return cached;
|
|
73
76
|
}
|
|
74
77
|
// Load from disk if not in memory
|
|
75
|
-
const
|
|
78
|
+
const memberIdHex = this.tidToHex(memberId);
|
|
79
|
+
const memberDoc = await this.memberCollection
|
|
80
|
+
.findOne({ memberId: memberIdHex })
|
|
81
|
+
.exec();
|
|
76
82
|
if (!memberDoc) {
|
|
77
83
|
return null;
|
|
78
84
|
}
|
|
79
85
|
return {
|
|
80
|
-
id: memberDoc.memberId,
|
|
86
|
+
id: this.enhancedProvider.idFromString(memberDoc.memberId),
|
|
81
87
|
publicKey: (0, ecies_lib_1.hexToUint8Array)(memberDoc.publicKey),
|
|
82
88
|
metadata: memberDoc.metadata,
|
|
83
89
|
isActive: memberDoc.isActive,
|
|
@@ -94,7 +100,7 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
94
100
|
return [];
|
|
95
101
|
}
|
|
96
102
|
return memberDocs.map((doc) => ({
|
|
97
|
-
id: doc.memberId,
|
|
103
|
+
id: this.enhancedProvider.idFromString(doc.memberId),
|
|
98
104
|
publicKey: (0, ecies_lib_1.hexToUint8Array)(doc.publicKey),
|
|
99
105
|
metadata: doc.metadata,
|
|
100
106
|
isActive: doc.isActive,
|
|
@@ -107,16 +113,17 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
107
113
|
// Call parent to seal and store in memory
|
|
108
114
|
const result = await super.sealDocument(agent, document, memberIds, sharesRequired);
|
|
109
115
|
// Get the sealed document from parent's in-memory store
|
|
110
|
-
const
|
|
111
|
-
|
|
116
|
+
const docHexId = this.tidToHex(result.documentId);
|
|
117
|
+
const sealedDoc = this.documents.get(docHexId);
|
|
118
|
+
// Persist to disk — store IDs as hex strings for serialization
|
|
112
119
|
const docRecord = {
|
|
113
|
-
documentId:
|
|
114
|
-
creatorId:
|
|
120
|
+
documentId: docHexId,
|
|
121
|
+
creatorId: this.enhancedProvider.toString(agent.id, 'hex'),
|
|
115
122
|
encryptedData: (0, ecies_lib_1.uint8ArrayToHex)(sealedDoc.encryptedData),
|
|
116
123
|
encryptedSharesByMemberId: this.serializeShares(sealedDoc),
|
|
117
124
|
checksum: sealedDoc.checksum.toHex(),
|
|
118
125
|
signature: (0, ecies_lib_1.uint8ArrayToHex)(sealedDoc.signature),
|
|
119
|
-
memberIds:
|
|
126
|
+
memberIds: memberIds.map((id) => this.tidToHex(id)),
|
|
120
127
|
sharesRequired: result.sharesRequired,
|
|
121
128
|
dateCreated: sealedDoc.dateCreated.toISOString(),
|
|
122
129
|
dateUpdated: sealedDoc.dateUpdated.toISOString(),
|
|
@@ -126,12 +133,12 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
126
133
|
}
|
|
127
134
|
/**
|
|
128
135
|
* Serialize encrypted shares from QuorumDataRecord to storage format
|
|
129
|
-
* Note: encryptedSharesByMemberId uses
|
|
136
|
+
* Note: encryptedSharesByMemberId uses HexString keys (already hex strings)
|
|
130
137
|
*/
|
|
131
138
|
serializeShares(doc) {
|
|
132
139
|
const shares = {};
|
|
133
140
|
for (const [memberIdHex, share,] of doc.encryptedSharesByMemberId.entries()) {
|
|
134
|
-
// memberIdHex is already a
|
|
141
|
+
// memberIdHex is already a HexString (hex string), no conversion needed
|
|
135
142
|
shares[memberIdHex] = (0, ecies_lib_1.uint8ArrayToHex)(share);
|
|
136
143
|
}
|
|
137
144
|
return shares;
|
|
@@ -144,18 +151,19 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
144
151
|
return cached;
|
|
145
152
|
}
|
|
146
153
|
// Load from disk if not in memory
|
|
154
|
+
const documentIdHex = this.tidToHex(documentId);
|
|
147
155
|
const docRecord = await this.documentCollection
|
|
148
|
-
.findOne({ documentId })
|
|
156
|
+
.findOne({ documentId: documentIdHex })
|
|
149
157
|
.exec();
|
|
150
158
|
if (!docRecord) {
|
|
151
159
|
return null;
|
|
152
160
|
}
|
|
153
161
|
return {
|
|
154
|
-
id: docRecord.documentId,
|
|
155
|
-
memberIds: docRecord.memberIds,
|
|
162
|
+
id: this.enhancedProvider.idFromString(docRecord.documentId),
|
|
163
|
+
memberIds: docRecord.memberIds.map((hex) => this.enhancedProvider.idFromString(hex)),
|
|
156
164
|
sharesRequired: docRecord.sharesRequired,
|
|
157
165
|
createdAt: new Date(docRecord.dateCreated),
|
|
158
|
-
creatorId: docRecord.creatorId,
|
|
166
|
+
creatorId: this.enhancedProvider.idFromString(docRecord.creatorId),
|
|
159
167
|
};
|
|
160
168
|
}
|
|
161
169
|
async listDocuments(memberId) {
|
|
@@ -164,16 +172,17 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
164
172
|
if (!allDocs) {
|
|
165
173
|
return [];
|
|
166
174
|
}
|
|
175
|
+
const memberIdHex = memberId ? this.tidToHex(memberId) : undefined;
|
|
167
176
|
const result = [];
|
|
168
177
|
for (const docRecord of allDocs) {
|
|
169
178
|
// Filter by member if specified
|
|
170
|
-
if (!
|
|
179
|
+
if (!memberIdHex || docRecord.memberIds.includes(memberIdHex)) {
|
|
171
180
|
result.push({
|
|
172
|
-
id: docRecord.documentId,
|
|
173
|
-
memberIds: docRecord.memberIds,
|
|
181
|
+
id: this.enhancedProvider.idFromString(docRecord.documentId),
|
|
182
|
+
memberIds: docRecord.memberIds.map((hex) => this.enhancedProvider.idFromString(hex)),
|
|
174
183
|
sharesRequired: docRecord.sharesRequired,
|
|
175
184
|
createdAt: new Date(docRecord.dateCreated),
|
|
176
|
-
creatorId: docRecord.creatorId,
|
|
185
|
+
creatorId: this.enhancedProvider.idFromString(docRecord.creatorId),
|
|
177
186
|
});
|
|
178
187
|
}
|
|
179
188
|
}
|
|
@@ -183,24 +192,29 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
183
192
|
// Call parent to remove from in-memory tracking
|
|
184
193
|
await super.deleteDocument(documentId);
|
|
185
194
|
// Delete from disk
|
|
186
|
-
|
|
195
|
+
const documentIdHex = this.tidToHex(documentId);
|
|
196
|
+
await this.documentCollection.deleteOne({ documentId: documentIdHex });
|
|
187
197
|
}
|
|
188
198
|
async canUnlock(documentId, memberIds) {
|
|
189
199
|
// First try in-memory
|
|
190
|
-
|
|
200
|
+
const documentIdHex = this.tidToHex(documentId);
|
|
201
|
+
if (this.documents.has(documentIdHex)) {
|
|
191
202
|
return super.canUnlock(documentId, memberIds);
|
|
192
203
|
}
|
|
193
204
|
// Load from disk
|
|
194
205
|
const docRecord = await this.documentCollection
|
|
195
|
-
.findOne({ documentId })
|
|
206
|
+
.findOne({ documentId: documentIdHex })
|
|
196
207
|
.exec();
|
|
197
208
|
if (!docRecord) {
|
|
198
209
|
throw new brightchain_lib_1.QuorumError(brightchain_lib_1.QuorumErrorType.DocumentNotFound);
|
|
199
210
|
}
|
|
200
|
-
const
|
|
211
|
+
const docMemberIdHexes = docRecord.memberIds;
|
|
212
|
+
const memberIdHexes = memberIds.map((id) => this.tidToHex(id));
|
|
201
213
|
// Find which provided members are actually in the document
|
|
202
|
-
const validMemberIds = memberIds.filter((id) =>
|
|
203
|
-
const missingMembers =
|
|
214
|
+
const validMemberIds = memberIds.filter((id) => docMemberIdHexes.includes(this.tidToHex(id)));
|
|
215
|
+
const missingMembers = docMemberIdHexes
|
|
216
|
+
.filter((hex) => !memberIdHexes.includes(hex))
|
|
217
|
+
.map((hex) => this.enhancedProvider.idFromString(hex));
|
|
204
218
|
return {
|
|
205
219
|
canUnlock: validMemberIds.length >= docRecord.sharesRequired,
|
|
206
220
|
sharesProvided: validMemberIds.length,
|
|
@@ -213,11 +227,12 @@ class DiskQuorumService extends brightchain_lib_1.QuorumService {
|
|
|
213
227
|
* This is needed because unsealDocument requires the full QuorumDataRecord
|
|
214
228
|
*/
|
|
215
229
|
async loadDocumentForUnseal(documentId) {
|
|
216
|
-
|
|
230
|
+
const documentIdHex = this.tidToHex(documentId);
|
|
231
|
+
if (this.documents.has(documentIdHex)) {
|
|
217
232
|
return; // Already in memory
|
|
218
233
|
}
|
|
219
234
|
const docRecord = await this.documentCollection
|
|
220
|
-
.findOne({ documentId })
|
|
235
|
+
.findOne({ documentId: documentIdHex })
|
|
221
236
|
.exec();
|
|
222
237
|
if (!docRecord) {
|
|
223
238
|
throw new brightchain_lib_1.QuorumError(brightchain_lib_1.QuorumErrorType.DocumentNotFound);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskQuorumService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/diskQuorumService.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"diskQuorumService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/diskQuorumService.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @see Design: Expiration Scheduler Design
|
|
9
9
|
*/
|
|
10
10
|
import { AuditLogService, ExpirationResult, ExpirationSchedulerConfig, IExpirationScheduler, IQuorumDatabase, StatuteOfLimitationsConfig } from '@brightchain/brightchain-lib';
|
|
11
|
-
import { PlatformID } from '@digitaldefiance/ecies-lib';
|
|
11
|
+
import { IIdProvider, PlatformID } from '@digitaldefiance/ecies-lib';
|
|
12
12
|
/**
|
|
13
13
|
* IdentityExpirationScheduler periodically purges expired IdentityRecoveryRecord
|
|
14
14
|
* entries from the quorum database.
|
|
@@ -27,7 +27,8 @@ export declare class IdentityExpirationScheduler<TID extends PlatformID = Uint8A
|
|
|
27
27
|
private readonly batchSize;
|
|
28
28
|
private timer;
|
|
29
29
|
private running;
|
|
30
|
-
|
|
30
|
+
private readonly idProvider;
|
|
31
|
+
constructor(db: IQuorumDatabase<TID>, auditLogService?: AuditLogService<TID> | undefined, config?: Partial<ExpirationSchedulerConfig>, idProvider?: IIdProvider<TID>);
|
|
31
32
|
/**
|
|
32
33
|
* Start the periodic expiration check.
|
|
33
34
|
* Uses the configured interval from ExpirationSchedulerConfig.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identityExpirationScheduler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/identityExpirationScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,eAAe,EAEf,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,
|
|
1
|
+
{"version":3,"file":"identityExpirationScheduler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/identityExpirationScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,eAAe,EAEf,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EAGf,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAa,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAQhF;;;;;;;;;;GAUG;AACH,qBAAa,2BAA2B,CACtC,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,YAAW,oBAAoB;IAS7B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IATnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;gBAG3B,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,EACxB,eAAe,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,YAAA,EACvD,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC3C,UAAU,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC;IAQ/B;;;OAGG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;;;;;OAUG;IACG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwC1C;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAW9D;;;;;;;;;OASG;IACG,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,IAAI,CAAC;IAOhB;;OAEG;YACW,cAAc;CAiB7B"}
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.IdentityExpirationScheduler = void 0;
|
|
13
13
|
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
14
|
-
const uuid_1 = require("uuid");
|
|
15
14
|
/** Default interval: 24 hours in milliseconds */
|
|
16
15
|
const DEFAULT_INTERVAL_MS = 86400000;
|
|
17
16
|
/** Default batch size for processing expired records */
|
|
@@ -28,13 +27,15 @@ const DEFAULT_BATCH_SIZE = 100;
|
|
|
28
27
|
* @template TID - Platform ID type for frontend/backend DTO compatibility
|
|
29
28
|
*/
|
|
30
29
|
class IdentityExpirationScheduler {
|
|
31
|
-
constructor(db, auditLogService, config) {
|
|
30
|
+
constructor(db, auditLogService, config, idProvider) {
|
|
32
31
|
this.db = db;
|
|
33
32
|
this.auditLogService = auditLogService;
|
|
34
33
|
this.timer = null;
|
|
35
34
|
this.running = false;
|
|
36
35
|
this.intervalMs = config?.intervalMs ?? DEFAULT_INTERVAL_MS;
|
|
37
36
|
this.batchSize = config?.batchSize ?? DEFAULT_BATCH_SIZE;
|
|
37
|
+
this.idProvider =
|
|
38
|
+
idProvider ?? brightchain_lib_1.ServiceProvider.getInstance().idProvider;
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
41
|
* Start the periodic expiration check.
|
|
@@ -96,7 +97,7 @@ class IdentityExpirationScheduler {
|
|
|
96
97
|
deletedCount++;
|
|
97
98
|
}
|
|
98
99
|
catch {
|
|
99
|
-
failedIds.push(record.id);
|
|
100
|
+
failedIds.push(this.idProvider.idToString(record.id));
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
const nextBatchAvailable = expiredRecords.length === this.batchSize;
|
|
@@ -140,7 +141,7 @@ class IdentityExpirationScheduler {
|
|
|
140
141
|
*/
|
|
141
142
|
async emitAuditEntry(eventType, details) {
|
|
142
143
|
const entry = {
|
|
143
|
-
id: (
|
|
144
|
+
id: this.idProvider.fromBytes(this.idProvider.generate()),
|
|
144
145
|
eventType,
|
|
145
146
|
details,
|
|
146
147
|
timestamp: new Date(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identityExpirationScheduler.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/identityExpirationScheduler.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"identityExpirationScheduler.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/identityExpirationScheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { AliasRecord, ChainedAuditLogEntry, IdentityRecoveryRecord, IQuorumDatabase, IQuorumMember, OperationalState, Proposal, QuorumAuditLogEntry, QuorumDataRecord, QuorumEpoch, RedistributionJournalEntry, StatuteOfLimitationsConfig, Vote } from '@brightchain/brightchain-lib';
|
|
13
13
|
import type { BrightChainDb } from '@brightchain/db';
|
|
14
|
-
import {
|
|
14
|
+
import { IIdProvider, PlatformID } from '@digitaldefiance/ecies-lib';
|
|
15
15
|
/** Dedicated pool ID for quorum data isolation */
|
|
16
16
|
export declare const QUORUM_SYSTEM_POOL_ID = "quorum-system";
|
|
17
17
|
/**
|
|
@@ -24,29 +24,30 @@ export declare const QUORUM_SYSTEM_POOL_ID = "quorum-system";
|
|
|
24
24
|
*/
|
|
25
25
|
export declare class QuorumDatabaseAdapter<TID extends PlatformID = Uint8Array> implements IQuorumDatabase<TID> {
|
|
26
26
|
private readonly db;
|
|
27
|
-
|
|
27
|
+
private readonly idProvider;
|
|
28
|
+
constructor(db: BrightChainDb, idProvider: IIdProvider<TID>);
|
|
28
29
|
saveEpoch(epoch: QuorumEpoch<TID>): Promise<void>;
|
|
29
30
|
getEpoch(epochNumber: number): Promise<QuorumEpoch<TID> | null>;
|
|
30
31
|
getCurrentEpoch(): Promise<QuorumEpoch<TID>>;
|
|
31
32
|
saveMember(member: IQuorumMember<TID>): Promise<void>;
|
|
32
|
-
getMember(memberId:
|
|
33
|
+
getMember(memberId: TID): Promise<IQuorumMember<TID> | null>;
|
|
33
34
|
listActiveMembers(): Promise<IQuorumMember<TID>[]>;
|
|
34
35
|
saveDocument(doc: QuorumDataRecord<TID>): Promise<void>;
|
|
35
|
-
getDocument(docId:
|
|
36
|
+
getDocument(docId: TID): Promise<QuorumDataRecord<TID> | null>;
|
|
36
37
|
listDocumentsByEpoch(epochNumber: number, page: number, pageSize: number): Promise<QuorumDataRecord<TID>[]>;
|
|
37
38
|
saveProposal(proposal: Proposal<TID>): Promise<void>;
|
|
38
|
-
getProposal(proposalId:
|
|
39
|
+
getProposal(proposalId: TID): Promise<Proposal<TID> | null>;
|
|
39
40
|
saveVote(vote: Vote<TID>): Promise<void>;
|
|
40
|
-
getVotesForProposal(proposalId:
|
|
41
|
+
getVotesForProposal(proposalId: TID): Promise<Vote<TID>[]>;
|
|
41
42
|
saveIdentityRecord(record: IdentityRecoveryRecord<TID>): Promise<void>;
|
|
42
|
-
getIdentityRecord(recordId:
|
|
43
|
-
deleteIdentityRecord(recordId:
|
|
43
|
+
getIdentityRecord(recordId: TID): Promise<IdentityRecoveryRecord<TID> | null>;
|
|
44
|
+
deleteIdentityRecord(recordId: TID): Promise<void>;
|
|
44
45
|
listExpiredIdentityRecords(before: Date, page: number, pageSize: number): Promise<IdentityRecoveryRecord<TID>[]>;
|
|
45
46
|
saveAlias(alias: AliasRecord<TID>): Promise<void>;
|
|
46
47
|
getAlias(aliasName: string): Promise<AliasRecord<TID> | null>;
|
|
47
48
|
isAliasAvailable(aliasName: string): Promise<boolean>;
|
|
48
|
-
appendAuditEntry(entry: QuorumAuditLogEntry): Promise<void>;
|
|
49
|
-
getLatestAuditEntry(): Promise<ChainedAuditLogEntry | null>;
|
|
49
|
+
appendAuditEntry(entry: QuorumAuditLogEntry<TID>): Promise<void>;
|
|
50
|
+
getLatestAuditEntry(): Promise<ChainedAuditLogEntry<TID> | null>;
|
|
50
51
|
saveJournalEntry(entry: RedistributionJournalEntry): Promise<void>;
|
|
51
52
|
getJournalEntries(epochNumber: number): Promise<RedistributionJournalEntry[]>;
|
|
52
53
|
deleteJournalEntries(epochNumber: number): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quorumDatabaseAdapter.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/quorumDatabaseAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,0BAA0B,EAC1B,IAAI,EACL,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"quorumDatabaseAdapter.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/quorumDatabaseAdapter.ts"],"names":[],"mappings":"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"}
|