@brightchain/brightchain-lib 0.24.0 → 0.25.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 +1 -1
- package/src/lib/brightChain.d.ts +16 -2
- package/src/lib/brightChain.d.ts.map +1 -1
- package/src/lib/brightChain.js +26 -4
- package/src/lib/brightChain.js.map +1 -1
- package/src/lib/constants.d.ts +8 -0
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +12 -3
- package/src/lib/constants.js.map +1 -1
- package/src/lib/documents/member/memberDocument.js +1 -1
- package/src/lib/documents/member/memberDocument.js.map +1 -1
- package/src/lib/documents/member/memberProfileDocument.js +1 -1
- package/src/lib/documents/member/memberProfileDocument.js.map +1 -1
- package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -1
- package/src/lib/documents/member/memberProfileHydration.js +18 -0
- package/src/lib/documents/member/memberProfileHydration.js.map +1 -1
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js.map +1 -1
- package/src/lib/enumerations/brightPassStrings.d.ts +24 -11
- package/src/lib/enumerations/brightPassStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightPassStrings.js +25 -11
- package/src/lib/enumerations/brightPassStrings.js.map +1 -1
- package/src/lib/enumerations/index.d.ts +2 -1
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +3 -1
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/writeMode.d.ts +22 -0
- package/src/lib/enumerations/writeMode.d.ts.map +1 -0
- package/src/lib/enumerations/writeMode.js +26 -0
- package/src/lib/enumerations/writeMode.js.map +1 -0
- package/src/lib/errors/index.d.ts +12 -0
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +15 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/writeAclErrors.d.ts +98 -0
- package/src/lib/errors/writeAclErrors.d.ts.map +1 -0
- package/src/lib/errors/writeAclErrors.js +159 -0
- package/src/lib/errors/writeAclErrors.js.map +1 -0
- package/src/lib/factories/blockStoreFactory.d.ts +4 -4
- package/src/lib/factories/blockStoreFactory.d.ts.map +1 -1
- package/src/lib/factories/blockStoreFactory.js +10 -4
- package/src/lib/factories/blockStoreFactory.js.map +1 -1
- package/src/lib/i18n/strings/brightpass/englishUK.d.ts +2 -2
- package/src/lib/i18n/strings/brightpass/englishUK.d.ts.map +1 -1
- package/src/lib/i18n/strings/brightpass/englishUs.d.ts +2 -2
- package/src/lib/i18n/strings/brightpass/englishUs.d.ts.map +1 -1
- package/src/lib/i18n/strings/brightpass/englishUs.js +25 -11
- package/src/lib/i18n/strings/brightpass/englishUs.js.map +1 -1
- package/src/lib/i18n/strings/brightpass/french.d.ts +2 -2
- package/src/lib/i18n/strings/brightpass/french.d.ts.map +1 -1
- package/src/lib/i18n/strings/brightpass/french.js +46 -17
- package/src/lib/i18n/strings/brightpass/french.js.map +1 -1
- package/src/lib/i18n/strings/brightpass/german.d.ts +2 -2
- package/src/lib/i18n/strings/brightpass/german.d.ts.map +1 -1
- package/src/lib/i18n/strings/brightpass/german.js +46 -17
- package/src/lib/i18n/strings/brightpass/german.js.map +1 -1
- package/src/lib/i18n/strings/brightpass/japanese.d.ts +2 -2
- package/src/lib/i18n/strings/brightpass/japanese.d.ts.map +1 -1
- package/src/lib/i18n/strings/brightpass/japanese.js +46 -17
- package/src/lib/i18n/strings/brightpass/japanese.js.map +1 -1
- package/src/lib/i18n/strings/brightpass/mandarin.d.ts +2 -2
- package/src/lib/i18n/strings/brightpass/mandarin.d.ts.map +1 -1
- package/src/lib/i18n/strings/brightpass/mandarin.js +46 -17
- package/src/lib/i18n/strings/brightpass/mandarin.js.map +1 -1
- package/src/lib/i18n/strings/brightpass/spanish.d.ts +2 -2
- package/src/lib/i18n/strings/brightpass/spanish.d.ts.map +1 -1
- package/src/lib/i18n/strings/brightpass/spanish.js +46 -17
- package/src/lib/i18n/strings/brightpass/spanish.js.map +1 -1
- package/src/lib/i18n/strings/brightpass/ukrainian.d.ts +2 -2
- package/src/lib/i18n/strings/brightpass/ukrainian.d.ts.map +1 -1
- package/src/lib/i18n/strings/brightpass/ukrainian.js +46 -17
- package/src/lib/i18n/strings/brightpass/ukrainian.js.map +1 -1
- package/src/lib/i18n/strings/french.d.ts.map +1 -1
- package/src/lib/i18n/strings/french.js +5 -5
- package/src/lib/i18n/strings/french.js.map +1 -1
- package/src/lib/i18n/strings/german.d.ts.map +1 -1
- package/src/lib/i18n/strings/german.js.map +1 -1
- package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
- package/src/lib/i18n/strings/japanese.js.map +1 -1
- package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
- package/src/lib/i18n/strings/mandarin.js.map +1 -1
- package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
- package/src/lib/i18n/strings/spanish.js.map +1 -1
- package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
- package/src/lib/i18n/strings/ukrainian.js +1 -1
- package/src/lib/i18n/strings/ukrainian.js.map +1 -1
- package/src/lib/interfaces/auth/aclDocument.d.ts +32 -0
- package/src/lib/interfaces/auth/aclDocument.d.ts.map +1 -0
- package/src/lib/interfaces/auth/aclDocument.js +13 -0
- package/src/lib/interfaces/auth/aclDocument.js.map +1 -0
- package/src/lib/interfaces/auth/aclDocumentSerialization.d.ts +63 -0
- package/src/lib/interfaces/auth/aclDocumentSerialization.d.ts.map +1 -0
- package/src/lib/interfaces/auth/aclDocumentSerialization.js +99 -0
- package/src/lib/interfaces/auth/aclDocumentSerialization.js.map +1 -0
- package/src/lib/interfaces/auth/capabilityToken.d.ts +35 -0
- package/src/lib/interfaces/auth/capabilityToken.d.ts.map +1 -0
- package/src/lib/interfaces/auth/capabilityToken.js +14 -0
- package/src/lib/interfaces/auth/capabilityToken.js.map +1 -0
- package/src/lib/interfaces/auth/capabilityTokenSerialization.d.ts +55 -0
- package/src/lib/interfaces/auth/capabilityTokenSerialization.d.ts.map +1 -0
- package/src/lib/interfaces/auth/capabilityTokenSerialization.js +78 -0
- package/src/lib/interfaces/auth/capabilityTokenSerialization.js.map +1 -0
- package/src/lib/interfaces/auth/index.d.ts +10 -0
- package/src/lib/interfaces/auth/index.d.ts.map +1 -1
- package/src/lib/interfaces/auth/index.js +9 -1
- package/src/lib/interfaces/auth/index.js.map +1 -1
- package/src/lib/interfaces/auth/writeAcl.d.ts +44 -0
- package/src/lib/interfaces/auth/writeAcl.d.ts.map +1 -0
- package/src/lib/interfaces/auth/writeAcl.js +12 -0
- package/src/lib/interfaces/auth/writeAcl.js.map +1 -0
- package/src/lib/interfaces/auth/writeAclAuditLogger.d.ts +83 -0
- package/src/lib/interfaces/auth/writeAclAuditLogger.d.ts.map +1 -0
- package/src/lib/interfaces/auth/writeAclAuditLogger.js +13 -0
- package/src/lib/interfaces/auth/writeAclAuditLogger.js.map +1 -0
- package/src/lib/interfaces/auth/writeProof.d.ts +35 -0
- package/src/lib/interfaces/auth/writeProof.d.ts.map +1 -0
- package/src/lib/interfaces/auth/writeProof.js +13 -0
- package/src/lib/interfaces/auth/writeProof.js.map +1 -0
- package/src/lib/interfaces/auth/writeProofUtils.d.ts +34 -0
- package/src/lib/interfaces/auth/writeProofUtils.d.ts.map +1 -0
- package/src/lib/interfaces/auth/writeProofUtils.js +42 -0
- package/src/lib/interfaces/auth/writeProofUtils.js.map +1 -0
- package/src/lib/interfaces/availability/gossipService.d.ts +22 -2
- package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/gossipService.js.map +1 -1
- package/src/lib/interfaces/member/memberData.d.ts +5 -0
- package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
- package/src/lib/interfaces/member/profileStorage.d.ts +9 -0
- package/src/lib/interfaces/member/profileStorage.d.ts.map +1 -1
- package/src/lib/interfaces/services/index.d.ts +1 -0
- package/src/lib/interfaces/services/index.d.ts.map +1 -1
- package/src/lib/interfaces/services/writeAclService.d.ts +98 -0
- package/src/lib/interfaces/services/writeAclService.d.ts.map +1 -0
- package/src/lib/interfaces/services/writeAclService.js +13 -0
- package/src/lib/interfaces/services/writeAclService.js.map +1 -0
- package/src/lib/interfaces/storage/blockStore.d.ts +12 -3
- package/src/lib/interfaces/storage/blockStore.d.ts.map +1 -1
- package/src/lib/interfaces/storage/cloudBlockStoreConfig.d.ts +2 -2
- package/src/lib/interfaces/storage/cloudBlockStoreConfig.d.ts.map +1 -1
- package/src/lib/interfaces/storage/headRegistry.d.ts +7 -3
- package/src/lib/interfaces/storage/headRegistry.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.d.ts +1 -1
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/universalBlockStore.d.ts +2 -1
- package/src/lib/interfaces/storage/universalBlockStore.d.ts.map +1 -1
- package/src/lib/services/member/memberCblService.d.ts.map +1 -1
- package/src/lib/services/member/memberCblService.js +1 -1
- package/src/lib/services/member/memberCblService.js.map +1 -1
- package/src/lib/services/memberStore.d.ts.map +1 -1
- package/src/lib/services/memberStore.js +4 -0
- package/src/lib/services/memberStore.js.map +1 -1
- package/src/lib/services/messaging/emailEncryptionService.d.ts +7 -4
- package/src/lib/services/messaging/emailEncryptionService.d.ts.map +1 -1
- package/src/lib/services/messaging/emailEncryptionService.js +42 -53
- package/src/lib/services/messaging/emailEncryptionService.js.map +1 -1
- package/src/lib/services/messaging/emailMessageService.js +3 -3
- package/src/lib/services/messaging/emailMessageService.js.map +1 -1
- package/src/lib/stores/blockStoreAdapter.d.ts +2 -1
- package/src/lib/stores/blockStoreAdapter.d.ts.map +1 -1
- package/src/lib/stores/blockStoreAdapter.js +4 -2
- package/src/lib/stores/blockStoreAdapter.js.map +1 -1
- package/src/lib/stores/memoryBlockStore.d.ts +38 -12
- package/src/lib/stores/memoryBlockStore.d.ts.map +1 -1
- package/src/lib/stores/memoryBlockStore.js +170 -70
- package/src/lib/stores/memoryBlockStore.js.map +1 -1
- package/src/lib/stores/pooledMemoryBlockStore.d.ts +1 -1
- package/src/lib/stores/pooledMemoryBlockStore.d.ts.map +1 -1
- package/src/lib/stores/pooledMemoryBlockStore.js +1 -1
- package/src/lib/stores/pooledMemoryBlockStore.js.map +1 -1
- package/src/lib/utils/crossPlatformCrypto.d.ts +33 -0
- package/src/lib/utils/crossPlatformCrypto.d.ts.map +1 -0
- package/src/lib/utils/crossPlatformCrypto.js +68 -0
- package/src/lib/utils/crossPlatformCrypto.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/index.ts"],"names":[],"mappings":";;;AACA,qCAAqE;AAA5D,yGAAA,cAAc,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,oGAAA,SAAS,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/index.ts"],"names":[],"mappings":";;;AACA,qCAAqE;AAA5D,yGAAA,cAAc,OAAA;AAAE,wGAAA,aAAa,OAAA;AAAE,oGAAA,SAAS,OAAA;AAKjD,uEAGoC;AAFlC,kIAAA,sBAAsB,OAAA;AACtB,gIAAA,oBAAoB,OAAA;AAItB,+EAGwC;AAFtC,0IAAA,0BAA0B,OAAA;AAC1B,wIAAA,wBAAwB,OAAA;AAM1B,qDAA4D;AAAnD,0HAAA,uBAAuB,OAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Write ACL interfaces for BrightDB
|
|
3
|
+
*
|
|
4
|
+
* Defines the core ACL data structures for controlling write access
|
|
5
|
+
* to the head registry at database and collection level.
|
|
6
|
+
*
|
|
7
|
+
* @see BrightDB Write ACLs design, IWriteAcl section
|
|
8
|
+
* @see Requirements 10.1
|
|
9
|
+
*/
|
|
10
|
+
import { PlatformID } from '@digitaldefiance/ecies-lib';
|
|
11
|
+
import { WriteMode } from '../../enumerations/writeMode';
|
|
12
|
+
/**
|
|
13
|
+
* Scope at which a Write ACL applies.
|
|
14
|
+
*
|
|
15
|
+
* - Database-level: all collections inherit the ACL.
|
|
16
|
+
* - Collection-level: overrides the database-level ACL for a specific collection.
|
|
17
|
+
*/
|
|
18
|
+
export interface IAclScope {
|
|
19
|
+
dbName: string;
|
|
20
|
+
collectionName?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Core Write ACL data structure.
|
|
24
|
+
*
|
|
25
|
+
* Controls which members are authorized to update the head registry
|
|
26
|
+
* for a given database or collection.
|
|
27
|
+
*
|
|
28
|
+
* Uses the generic TID pattern for frontend/backend DTO compatibility,
|
|
29
|
+
* consistent with IPoolACL<TId>, MemberDocument<TID>, etc.
|
|
30
|
+
*
|
|
31
|
+
* @template TID - Platform ID type (Uint8Array for backend, string for frontend)
|
|
32
|
+
* @see Requirements 10.1
|
|
33
|
+
*/
|
|
34
|
+
export interface IWriteAcl<TID extends PlatformID = Uint8Array> {
|
|
35
|
+
writeMode: WriteMode;
|
|
36
|
+
authorizedWriters: TID[];
|
|
37
|
+
aclAdministrators: TID[];
|
|
38
|
+
scope: IAclScope;
|
|
39
|
+
version: number;
|
|
40
|
+
createdAt: Date;
|
|
41
|
+
updatedAt: Date;
|
|
42
|
+
creatorPublicKey: TID;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=writeAcl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeAcl.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/writeAcl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC5D,SAAS,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,GAAG,EAAE,CAAC;IACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,gBAAgB,EAAE,GAAG,CAAC;CACvB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Write ACL interfaces for BrightDB
|
|
4
|
+
*
|
|
5
|
+
* Defines the core ACL data structures for controlling write access
|
|
6
|
+
* to the head registry at database and collection level.
|
|
7
|
+
*
|
|
8
|
+
* @see BrightDB Write ACLs design, IWriteAcl section
|
|
9
|
+
* @see Requirements 10.1
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
//# sourceMappingURL=writeAcl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeAcl.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/writeAcl.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Write ACL Audit Logger interface for BrightDB
|
|
3
|
+
*
|
|
4
|
+
* Defines the structured audit logging interface for all write ACL
|
|
5
|
+
* events: authorized writes, rejected writes, ACL modifications,
|
|
6
|
+
* capability token issuance, capability token usage, and security events.
|
|
7
|
+
*
|
|
8
|
+
* @see BrightDB Write ACLs design, WriteAclAuditLogger section
|
|
9
|
+
* @see Requirements 11.1, 11.2, 11.3, 11.4, 11.5
|
|
10
|
+
*/
|
|
11
|
+
import { IAclScope } from './writeAcl';
|
|
12
|
+
/**
|
|
13
|
+
* Structured audit logger for write ACL events.
|
|
14
|
+
*
|
|
15
|
+
* Records all authorization decisions and ACL management operations
|
|
16
|
+
* for security auditing and access pattern review. Each log entry
|
|
17
|
+
* includes the actor's public key, the operation type, the target
|
|
18
|
+
* scope, and a timestamp.
|
|
19
|
+
*
|
|
20
|
+
* @see Requirements 11.1, 11.2, 11.3, 11.4, 11.5
|
|
21
|
+
*/
|
|
22
|
+
export interface IWriteAclAuditLogger {
|
|
23
|
+
/**
|
|
24
|
+
* Log a successful authorized write in Restricted_Mode.
|
|
25
|
+
*
|
|
26
|
+
* @param writerPublicKey - Hex-encoded public key of the authorized writer
|
|
27
|
+
* @param dbName - Target database name
|
|
28
|
+
* @param collectionName - Target collection name
|
|
29
|
+
* @param blockId - New head block ID that was written
|
|
30
|
+
* @see Requirements 11.1
|
|
31
|
+
*/
|
|
32
|
+
logAuthorizedWrite(writerPublicKey: string, dbName: string, collectionName: string, blockId: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Log a rejected write due to authorization failure.
|
|
35
|
+
*
|
|
36
|
+
* @param requesterPublicKey - Hex-encoded public key of the rejected requester
|
|
37
|
+
* @param dbName - Target database name
|
|
38
|
+
* @param collectionName - Target collection name
|
|
39
|
+
* @param reason - Human-readable reason for rejection
|
|
40
|
+
* @see Requirements 11.2
|
|
41
|
+
*/
|
|
42
|
+
logRejectedWrite(requesterPublicKey: string, dbName: string, collectionName: string, reason: string): void;
|
|
43
|
+
/**
|
|
44
|
+
* Log a Write ACL modification (add/remove writer or admin, mode change).
|
|
45
|
+
*
|
|
46
|
+
* @param adminPublicKey - Hex-encoded public key of the acting ACL administrator
|
|
47
|
+
* @param changeType - Type of modification (e.g. 'addWriter', 'removeWriter', 'addAdmin', 'removeAdmin', 'setWriteMode')
|
|
48
|
+
* @param affectedMember - Hex-encoded public key of the member affected by the change
|
|
49
|
+
* @param dbName - Target database name
|
|
50
|
+
* @param collectionName - Optional target collection name (undefined for database-level)
|
|
51
|
+
* @see Requirements 11.3
|
|
52
|
+
*/
|
|
53
|
+
logAclModification(adminPublicKey: string, changeType: string, affectedMember: string, dbName: string, collectionName?: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Log the issuance of a capability token.
|
|
56
|
+
*
|
|
57
|
+
* @param granteePublicKey - Hex-encoded public key of the token recipient
|
|
58
|
+
* @param scope - ACL scope the token grants access to
|
|
59
|
+
* @param expiresAt - Token expiration timestamp
|
|
60
|
+
* @param grantorPublicKey - Hex-encoded public key of the issuing ACL administrator
|
|
61
|
+
* @see Requirements 11.4
|
|
62
|
+
*/
|
|
63
|
+
logCapabilityTokenIssued(granteePublicKey: string, scope: IAclScope, expiresAt: Date, grantorPublicKey: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* Log the usage of a capability token for a write operation.
|
|
66
|
+
*
|
|
67
|
+
* @param granteePublicKey - Hex-encoded public key of the token holder
|
|
68
|
+
* @param scope - ACL scope the token was issued for
|
|
69
|
+
* @param dbName - Target database name
|
|
70
|
+
* @param collectionName - Target collection name
|
|
71
|
+
* @param blockId - Block ID written using the token
|
|
72
|
+
* @see Requirements 11.5
|
|
73
|
+
*/
|
|
74
|
+
logCapabilityTokenUsed(granteePublicKey: string, scope: IAclScope, dbName: string, collectionName: string, blockId: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* Log a security-relevant event (e.g. tampered ACL document, sync rejection).
|
|
77
|
+
*
|
|
78
|
+
* @param event - Short event identifier or description
|
|
79
|
+
* @param details - Arbitrary structured details about the event
|
|
80
|
+
*/
|
|
81
|
+
logSecurityEvent(event: string, details: Record<string, unknown>): void;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=writeAclAuditLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeAclAuditLogger.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/writeAclAuditLogger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC;;;;;;;;;GASG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;OAQG;IACH,kBAAkB,CAChB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GACd,IAAI,CAAC;IAER;;;;;;;;OAQG;IACH,gBAAgB,CACd,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,IAAI,CAAC;IAER;;;;;;;;;OASG;IACH,kBAAkB,CAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,GACtB,IAAI,CAAC;IAER;;;;;;;;OAQG;IACH,wBAAwB,CACtB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,IAAI,EACf,gBAAgB,EAAE,MAAM,GACvB,IAAI,CAAC;IAER;;;;;;;;;OASG;IACH,sBAAsB,CACpB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GACd,IAAI,CAAC;IAER;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACzE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Write ACL Audit Logger interface for BrightDB
|
|
4
|
+
*
|
|
5
|
+
* Defines the structured audit logging interface for all write ACL
|
|
6
|
+
* events: authorized writes, rejected writes, ACL modifications,
|
|
7
|
+
* capability token issuance, capability token usage, and security events.
|
|
8
|
+
*
|
|
9
|
+
* @see BrightDB Write ACLs design, WriteAclAuditLogger section
|
|
10
|
+
* @see Requirements 11.1, 11.2, 11.3, 11.4, 11.5
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
//# sourceMappingURL=writeAclAuditLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeAclAuditLogger.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/writeAclAuditLogger.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Write Proof interface for BrightDB
|
|
3
|
+
*
|
|
4
|
+
* Defines the cryptographic proof structure that accompanies
|
|
5
|
+
* head registry mutations in Restricted_Mode and Owner_Only_Mode.
|
|
6
|
+
* The signature is computed over SHA-256(dbName + ":" + collectionName + ":" + blockId).
|
|
7
|
+
*
|
|
8
|
+
* @see BrightDB Write ACLs design, IWriteProof section
|
|
9
|
+
* @see Requirements 10.2
|
|
10
|
+
*/
|
|
11
|
+
import { PlatformID } from '@digitaldefiance/ecies-lib';
|
|
12
|
+
/**
|
|
13
|
+
* Cryptographic proof authorizing a head registry write.
|
|
14
|
+
*
|
|
15
|
+
* Submitted alongside head registry mutations (setHead, removeHead,
|
|
16
|
+
* mergeHeadUpdate) to prove the requester is an Authorized_Writer
|
|
17
|
+
* or the database/collection creator.
|
|
18
|
+
*
|
|
19
|
+
* The signature covers the concatenation of dbName, collectionName,
|
|
20
|
+
* and blockId, ensuring the proof is bound to a specific write operation.
|
|
21
|
+
*
|
|
22
|
+
* Uses the generic TID pattern for frontend/backend DTO compatibility,
|
|
23
|
+
* consistent with IPoolACL<TId>, MemberDocument<TID>, etc.
|
|
24
|
+
*
|
|
25
|
+
* @template TID - Platform ID type (Uint8Array for backend, string for frontend)
|
|
26
|
+
* @see Requirements 10.2
|
|
27
|
+
*/
|
|
28
|
+
export interface IWriteProof<TID extends PlatformID = Uint8Array> {
|
|
29
|
+
signerPublicKey: TID;
|
|
30
|
+
signature: Uint8Array;
|
|
31
|
+
dbName: string;
|
|
32
|
+
collectionName: string;
|
|
33
|
+
blockId: string;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=writeProof.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProof.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/writeProof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAW,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC9D,eAAe,EAAE,GAAG,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Write Proof interface for BrightDB
|
|
4
|
+
*
|
|
5
|
+
* Defines the cryptographic proof structure that accompanies
|
|
6
|
+
* head registry mutations in Restricted_Mode and Owner_Only_Mode.
|
|
7
|
+
* The signature is computed over SHA-256(dbName + ":" + collectionName + ":" + blockId).
|
|
8
|
+
*
|
|
9
|
+
* @see BrightDB Write ACLs design, IWriteProof section
|
|
10
|
+
* @see Requirements 10.2
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
//# sourceMappingURL=writeProof.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProof.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/writeProof.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Write Proof utility functions for BrightDB
|
|
3
|
+
*
|
|
4
|
+
* Provides the payload computation for write proof signing and verification.
|
|
5
|
+
* The write proof payload is SHA-256(dbName + ":" + collectionName + ":" + blockId),
|
|
6
|
+
* which gets signed with the signer's secp256k1 private key via ECDSA.
|
|
7
|
+
*
|
|
8
|
+
* Uses @noble/hashes for cross-platform SHA-256 (works in both Node.js and browser).
|
|
9
|
+
*
|
|
10
|
+
* @see BrightDB Write ACLs design, Write Proof Format section
|
|
11
|
+
* @see Requirements 3.2
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Computes the write proof payload: SHA-256(dbName + ":" + collectionName + ":" + blockId).
|
|
15
|
+
*
|
|
16
|
+
* This is the data that gets signed by the writer's secp256k1 private key
|
|
17
|
+
* to produce a Write_Proof, and verified against the writer's public key
|
|
18
|
+
* during head registry authorization checks.
|
|
19
|
+
*
|
|
20
|
+
* @param dbName - The database name
|
|
21
|
+
* @param collectionName - The collection name
|
|
22
|
+
* @param blockId - The new head block ID
|
|
23
|
+
* @returns SHA-256 hash as Uint8Array (32 bytes)
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const payload = createWriteProofPayload('mydb', 'users', 'abc123');
|
|
28
|
+
* // payload is SHA-256("mydb:users:abc123") as Uint8Array
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @see Requirements 3.2
|
|
32
|
+
*/
|
|
33
|
+
export declare function createWriteProofPayload(dbName: string, collectionName: string, blockId: string): Uint8Array;
|
|
34
|
+
//# sourceMappingURL=writeProofUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProofUtils.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/writeProofUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,GACd,UAAU,CAIZ"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Write Proof utility functions for BrightDB
|
|
4
|
+
*
|
|
5
|
+
* Provides the payload computation for write proof signing and verification.
|
|
6
|
+
* The write proof payload is SHA-256(dbName + ":" + collectionName + ":" + blockId),
|
|
7
|
+
* which gets signed with the signer's secp256k1 private key via ECDSA.
|
|
8
|
+
*
|
|
9
|
+
* Uses @noble/hashes for cross-platform SHA-256 (works in both Node.js and browser).
|
|
10
|
+
*
|
|
11
|
+
* @see BrightDB Write ACLs design, Write Proof Format section
|
|
12
|
+
* @see Requirements 3.2
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.createWriteProofPayload = createWriteProofPayload;
|
|
16
|
+
const sha256_1 = require("@noble/hashes/sha256");
|
|
17
|
+
/**
|
|
18
|
+
* Computes the write proof payload: SHA-256(dbName + ":" + collectionName + ":" + blockId).
|
|
19
|
+
*
|
|
20
|
+
* This is the data that gets signed by the writer's secp256k1 private key
|
|
21
|
+
* to produce a Write_Proof, and verified against the writer's public key
|
|
22
|
+
* during head registry authorization checks.
|
|
23
|
+
*
|
|
24
|
+
* @param dbName - The database name
|
|
25
|
+
* @param collectionName - The collection name
|
|
26
|
+
* @param blockId - The new head block ID
|
|
27
|
+
* @returns SHA-256 hash as Uint8Array (32 bytes)
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const payload = createWriteProofPayload('mydb', 'users', 'abc123');
|
|
32
|
+
* // payload is SHA-256("mydb:users:abc123") as Uint8Array
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @see Requirements 3.2
|
|
36
|
+
*/
|
|
37
|
+
function createWriteProofPayload(dbName, collectionName, blockId) {
|
|
38
|
+
const message = `${dbName}:${collectionName}:${blockId}`;
|
|
39
|
+
const encoded = new TextEncoder().encode(message);
|
|
40
|
+
return (0, sha256_1.sha256)(encoded);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=writeProofUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeProofUtils.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/auth/writeProofUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAwBH,0DAQC;AA9BD,iDAA8C;AAE9C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,uBAAuB,CACrC,MAAc,EACd,cAAsB,EACtB,OAAe;IAEf,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,IAAA,eAAM,EAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -237,6 +237,22 @@ export interface BlockAnnouncement {
|
|
|
237
237
|
* @see Requirements 7.1, 7.2
|
|
238
238
|
*/
|
|
239
239
|
quorumVote?: QuorumVoteMetadata;
|
|
240
|
+
/**
|
|
241
|
+
* Optional write proof for head_update announcements in Restricted_Mode.
|
|
242
|
+
* Contains the original writer's signature for cross-node verification.
|
|
243
|
+
* When propagating head updates for collections with Write ACLs, the
|
|
244
|
+
* originating node includes the writer's proof so receiving nodes can
|
|
245
|
+
* verify authorization before applying the head update.
|
|
246
|
+
*
|
|
247
|
+
* @see Write ACL Requirements 7.1, 7.2
|
|
248
|
+
*/
|
|
249
|
+
writeProof?: {
|
|
250
|
+
signerPublicKey: string;
|
|
251
|
+
signature: string;
|
|
252
|
+
dbName: string;
|
|
253
|
+
collectionName: string;
|
|
254
|
+
blockId: string;
|
|
255
|
+
};
|
|
240
256
|
}
|
|
241
257
|
/**
|
|
242
258
|
* Configuration for priority-based gossip propagation.
|
|
@@ -372,10 +388,14 @@ export interface IGossipService {
|
|
|
372
388
|
* @param dbName - The database name containing the collection
|
|
373
389
|
* @param collectionName - The collection whose head pointer was updated
|
|
374
390
|
* @param blockId - The new head block ID
|
|
391
|
+
* @param writeProof - Optional write proof to include for cross-node verification in Restricted_Mode
|
|
375
392
|
* @returns Promise that resolves when the announcement is queued
|
|
376
|
-
* @see Requirements 2.1
|
|
393
|
+
* @see Requirements 2.1, 7.1, 7.2
|
|
377
394
|
*/
|
|
378
|
-
announceHeadUpdate(dbName: string, collectionName: string, blockId: BlockId
|
|
395
|
+
announceHeadUpdate(dbName: string, collectionName: string, blockId: BlockId, writeProof?: {
|
|
396
|
+
signerPublicKey: string;
|
|
397
|
+
signature: string;
|
|
398
|
+
}): Promise<void>;
|
|
379
399
|
/**
|
|
380
400
|
* Announce an approved ACL update to peers in the same pool.
|
|
381
401
|
* Creates an acl_update announcement with the pool ID and the block ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAiB,MAAM,6BAA6B,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE5B,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,EAAE,CAAC;IAEpB,qEAAqE;IACrE,UAAU,EAAE,OAAO,CAAC;IAEpB,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEpD,iDAAiD;IACjD,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IAEf,oDAAoD;IACpD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IAEnB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IAEnB,mGAAmG;IACnG,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,UAAU,EAAE,SAAS,CAAC;IAEtB,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,UAAU,EAAE,kBAAkB,CAAC;IAE/B,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAC;IAEtB,gCAAgC;IAChC,gBAAgB,EAAE,SAAS,CAAC;IAE5B,iDAAiD;IACjD,SAAS,EAAE,IAAI,CAAC;IAEhB,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAE1B,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,UAAU,EAAE,SAAS,CAAC;IAEtB,6BAA6B;IAC7B,aAAa,EAAE,SAAS,CAAC;IAEzB,wBAAwB;IACxB,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE/B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oGAAoG;IACpG,cAAc,CAAC,EAAE,UAAU,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,EACA,KAAK,GACL,QAAQ,GACR,KAAK,GACL,cAAc,GACd,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,eAAe,GACf,aAAa,GACb,iBAAiB,GACjB,aAAa,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;IAEhB;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAE1C;;;;OAIG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAElC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAE/B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;IAExC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;
|
|
1
|
+
{"version":3,"file":"gossipService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { EmailString, Member, MemberType, PlatformID, SecureString } from '@digi
|
|
|
2
2
|
import { MemberStatusType } from '../../enumerations/memberStatusType';
|
|
3
3
|
import { Checksum } from '../../types/checksum';
|
|
4
4
|
import { IStoredBackupCode } from '../userManagement';
|
|
5
|
+
import { IPasswordWrappedPrivateKey } from './passwordWrappedPrivateKey';
|
|
5
6
|
/**
|
|
6
7
|
* Public member data stored in CBL
|
|
7
8
|
*/
|
|
@@ -32,6 +33,10 @@ export interface IPrivateMemberData<TID extends PlatformID = Uint8Array> {
|
|
|
32
33
|
passwordHash?: string;
|
|
33
34
|
/** Stored backup codes — encrypted per the upstream Argon2id/AEAD/ECIES scheme (see IStoredBackupCode) */
|
|
34
35
|
backupCodes?: IStoredBackupCode[];
|
|
36
|
+
/** Password-wrapped ECIES private key (AES-256-GCM + PBKDF2) */
|
|
37
|
+
passwordWrappedPrivateKey?: IPasswordWrappedPrivateKey;
|
|
38
|
+
/** Mnemonic encrypted with the system user's ECIES public key (hex-encoded) */
|
|
39
|
+
mnemonicRecovery?: string;
|
|
35
40
|
trustedPeers: TID[];
|
|
36
41
|
blockedPeers: TID[];
|
|
37
42
|
settings: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memberData.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/member/memberData.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,MAAM,EACN,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"memberData.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/member/memberData.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MemberStatusType } from '../../enumerations/memberStatusType';
|
|
2
2
|
import { IStoredBackupCode } from '../userManagement';
|
|
3
|
+
import { IPasswordWrappedPrivateKey } from './passwordWrappedPrivateKey';
|
|
3
4
|
/**
|
|
4
5
|
* Storage format for public member profile data - all serializable types
|
|
5
6
|
* This is separate from IMemberStorageData which handles identity/authentication.
|
|
@@ -28,6 +29,10 @@ export interface IPrivateMemberProfileStorageData {
|
|
|
28
29
|
passwordHash?: string;
|
|
29
30
|
/** Stored backup codes — encrypted per the upstream Argon2id/AEAD/ECIES scheme (see IStoredBackupCode) */
|
|
30
31
|
backupCodes?: IStoredBackupCode[];
|
|
32
|
+
/** Password-wrapped ECIES private key (AES-256-GCM + PBKDF2) */
|
|
33
|
+
passwordWrappedPrivateKey?: IPasswordWrappedPrivateKey;
|
|
34
|
+
/** Mnemonic encrypted with the system user's ECIES public key (hex-encoded) */
|
|
35
|
+
mnemonicRecovery?: string;
|
|
31
36
|
settings: {
|
|
32
37
|
autoReplication?: boolean;
|
|
33
38
|
minRedundancy?: number;
|
|
@@ -67,6 +72,10 @@ export interface IPrivateMemberProfileHydratedData<TID = Uint8Array> {
|
|
|
67
72
|
passwordHash?: string;
|
|
68
73
|
/** Stored backup codes — encrypted per the upstream Argon2id/AEAD/ECIES scheme (see IStoredBackupCode) */
|
|
69
74
|
backupCodes?: IStoredBackupCode[];
|
|
75
|
+
/** Password-wrapped ECIES private key (AES-256-GCM + PBKDF2) */
|
|
76
|
+
passwordWrappedPrivateKey?: IPasswordWrappedPrivateKey;
|
|
77
|
+
/** Mnemonic encrypted with the system user's ECIES public key (hex-encoded) */
|
|
78
|
+
mnemonicRecovery?: string;
|
|
70
79
|
settings: {
|
|
71
80
|
autoReplication?: boolean;
|
|
72
81
|
minRedundancy?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profileStorage.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/member/profileStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"profileStorage.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/member/profileStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/services/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,iBAAiB,CAAC;AAGrC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/services/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,iBAAiB,CAAC;AAGrC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,wBAAwB,CAAC;AAG5C,mBAAmB,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Write ACL Service interface for BrightDB
|
|
3
|
+
*
|
|
4
|
+
* Defines the platform-agnostic service interface for ACL operations,
|
|
5
|
+
* including write mode queries, ACL document retrieval, write proof
|
|
6
|
+
* verification, capability token validation, and membership checks.
|
|
7
|
+
*
|
|
8
|
+
* @see BrightDB Write ACLs design, IWriteAclService section
|
|
9
|
+
* @see Requirements 10.1, 10.2, 10.3
|
|
10
|
+
*/
|
|
11
|
+
import { PlatformID } from '@digitaldefiance/ecies-lib';
|
|
12
|
+
import { WriteMode } from '../../enumerations/writeMode';
|
|
13
|
+
import { IAclDocument } from '../auth/aclDocument';
|
|
14
|
+
import { ICapabilityToken } from '../auth/capabilityToken';
|
|
15
|
+
import { IWriteProof } from '../auth/writeProof';
|
|
16
|
+
/**
|
|
17
|
+
* Platform-agnostic service interface for Write ACL operations.
|
|
18
|
+
*
|
|
19
|
+
* Provides query and verification methods used by the head registry
|
|
20
|
+
* authorization layer (AuthorizedHeadRegistry) to enforce write access
|
|
21
|
+
* control. Implementations manage ACL state, resolve scoped ACLs,
|
|
22
|
+
* and verify cryptographic proofs and capability tokens.
|
|
23
|
+
*
|
|
24
|
+
* Uses the generic TID pattern for frontend/backend DTO compatibility,
|
|
25
|
+
* consistent with IPoolACL<TId>, MemberDocument<TID>, etc.
|
|
26
|
+
*
|
|
27
|
+
* @template TID - Platform ID type (Uint8Array for backend, string for frontend)
|
|
28
|
+
* @see Requirements 10.1, 10.2, 10.3
|
|
29
|
+
*/
|
|
30
|
+
export interface IWriteAclService<TID extends PlatformID = Uint8Array> {
|
|
31
|
+
/**
|
|
32
|
+
* Get the effective write mode for a database or collection.
|
|
33
|
+
*
|
|
34
|
+
* Resolves the ACL scope: collection-level overrides database-level.
|
|
35
|
+
* Returns Open mode if no ACL is configured.
|
|
36
|
+
*
|
|
37
|
+
* @param dbName - The database name
|
|
38
|
+
* @param collectionName - Optional collection name for collection-level scope
|
|
39
|
+
* @returns The effective WriteMode for the given scope
|
|
40
|
+
*/
|
|
41
|
+
getWriteMode(dbName: string, collectionName?: string): WriteMode;
|
|
42
|
+
/**
|
|
43
|
+
* Retrieve the active ACL document for a database or collection.
|
|
44
|
+
*
|
|
45
|
+
* Returns undefined if no ACL document exists for the given scope,
|
|
46
|
+
* which implies Open mode.
|
|
47
|
+
*
|
|
48
|
+
* @param dbName - The database name
|
|
49
|
+
* @param collectionName - Optional collection name for collection-level scope
|
|
50
|
+
* @returns The active ACL document, or undefined if none is configured
|
|
51
|
+
*/
|
|
52
|
+
getAclDocument(dbName: string, collectionName?: string): IAclDocument<TID> | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Verify a write proof against the active ACL for a specific write operation.
|
|
55
|
+
*
|
|
56
|
+
* Checks that the signature in the proof verifies against the signer's
|
|
57
|
+
* public key over SHA-256(dbName + ":" + collectionName + ":" + blockId),
|
|
58
|
+
* and that the signer is an authorized writer in the active ACL.
|
|
59
|
+
*
|
|
60
|
+
* @param proof - The write proof to verify
|
|
61
|
+
* @param dbName - The target database name
|
|
62
|
+
* @param collectionName - The target collection name
|
|
63
|
+
* @param blockId - The block ID being written as the new head
|
|
64
|
+
* @returns True if the proof is valid and the signer is authorized
|
|
65
|
+
*/
|
|
66
|
+
verifyWriteProof(proof: IWriteProof<TID>, dbName: string, collectionName: string, blockId: string): Promise<boolean>;
|
|
67
|
+
/**
|
|
68
|
+
* Verify a capability token for temporary write access.
|
|
69
|
+
*
|
|
70
|
+
* Checks that the grantor's signature is valid, the token has not
|
|
71
|
+
* expired, and the grantor is a current ACL administrator.
|
|
72
|
+
*
|
|
73
|
+
* @param token - The capability token to verify
|
|
74
|
+
* @returns True if the token is valid and not expired
|
|
75
|
+
*/
|
|
76
|
+
verifyCapabilityToken(token: ICapabilityToken<TID>): Promise<boolean>;
|
|
77
|
+
/**
|
|
78
|
+
* Check whether a public key belongs to an authorized writer
|
|
79
|
+
* for the given database or collection scope.
|
|
80
|
+
*
|
|
81
|
+
* @param publicKey - The public key to check
|
|
82
|
+
* @param dbName - The database name
|
|
83
|
+
* @param collectionName - Optional collection name for collection-level scope
|
|
84
|
+
* @returns True if the public key is in the authorized writers list
|
|
85
|
+
*/
|
|
86
|
+
isAuthorizedWriter(publicKey: TID, dbName: string, collectionName?: string): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Check whether a public key belongs to an ACL administrator
|
|
89
|
+
* for the given database or collection scope.
|
|
90
|
+
*
|
|
91
|
+
* @param publicKey - The public key to check
|
|
92
|
+
* @param dbName - The database name
|
|
93
|
+
* @param collectionName - Optional collection name for collection-level scope
|
|
94
|
+
* @returns True if the public key is in the ACL administrators list
|
|
95
|
+
*/
|
|
96
|
+
isAclAdministrator(publicKey: TID, dbName: string, collectionName?: string): boolean;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=writeAclService.d.ts.map
|