@brightchain/brightchain-api-lib 0.7.0 → 0.10.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 +7 -3
- package/src/index.d.ts +4 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +5 -0
- package/src/index.js.map +1 -1
- package/src/lib/appConstants.d.ts +1 -68
- package/src/lib/appConstants.d.ts.map +1 -1
- package/src/lib/appConstants.js.map +1 -1
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +2 -1
- package/src/lib/application.js.map +1 -1
- package/src/lib/browserKeyring.d.ts +29 -0
- package/src/lib/browserKeyring.d.ts.map +1 -0
- package/src/lib/browserKeyring.js +145 -0
- package/src/lib/browserKeyring.js.map +1 -0
- package/src/lib/constants.d.ts +0 -10
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +10 -15
- package/src/lib/constants.js.map +1 -1
- package/src/lib/controllers/api/members.d.ts +7 -2
- package/src/lib/controllers/api/members.d.ts.map +1 -1
- package/src/lib/controllers/api/members.js +166 -7
- package/src/lib/controllers/api/members.js.map +1 -1
- package/src/lib/controllers/api/quorum.d.ts.map +1 -1
- package/src/lib/controllers/api/quorum.js.map +1 -1
- package/src/lib/datastore/block-document-store.d.ts.map +1 -1
- package/src/lib/datastore/block-document-store.js +1 -1
- package/src/lib/datastore/block-document-store.js.map +1 -1
- package/src/lib/documents/base.d.ts +1 -1
- package/src/lib/documents/base.d.ts.map +1 -1
- package/src/lib/documents/email-token.d.ts +1 -1
- package/src/lib/documents/email-token.d.ts.map +1 -1
- package/src/lib/documents/mnemonic.d.ts +1 -1
- package/src/lib/documents/mnemonic.d.ts.map +1 -1
- package/src/lib/documents/role.d.ts +1 -1
- package/src/lib/documents/role.d.ts.map +1 -1
- package/src/lib/documents/used-direct-login-token.d.ts +1 -1
- package/src/lib/documents/used-direct-login-token.d.ts.map +1 -1
- package/src/lib/documents/user-role.d.ts +1 -1
- package/src/lib/documents/user-role.d.ts.map +1 -1
- package/src/lib/documents/user.d.ts +1 -1
- package/src/lib/documents/user.d.ts.map +1 -1
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +1 -0
- package/src/lib/environment.js.map +1 -1
- package/src/lib/errors/typed-error-local.d.ts +2 -2
- package/src/lib/errors/typed-error-local.d.ts.map +1 -1
- package/src/lib/errors/typed-error-local.js.map +1 -1
- package/src/lib/interfaces/api-constants.d.ts +10 -38
- package/src/lib/interfaces/api-constants.d.ts.map +1 -1
- package/src/lib/interfaces/api-constants.js +1 -1
- package/src/lib/interfaces/backend-objects/request-user.d.ts +1 -1
- package/src/lib/interfaces/backend-objects/request-user.d.ts.map +1 -1
- package/src/lib/interfaces/backend-objects/role.d.ts +1 -1
- package/src/lib/interfaces/backend-objects/role.d.ts.map +1 -1
- package/src/lib/interfaces/jwt-sign-response.d.ts +1 -1
- package/src/lib/interfaces/jwt-sign-response.d.ts.map +1 -1
- package/src/lib/interfaces/member/index.d.ts +1 -0
- package/src/lib/interfaces/member/index.d.ts.map +1 -1
- package/src/lib/interfaces/member/index.js +1 -0
- package/src/lib/interfaces/member/index.js.map +1 -1
- package/src/lib/interfaces/member/memberProfileResponse.d.ts +51 -0
- package/src/lib/interfaces/member/memberProfileResponse.d.ts.map +1 -0
- package/src/lib/interfaces/member/memberProfileResponse.js +3 -0
- package/src/lib/interfaces/member/memberProfileResponse.js.map +1 -0
- package/src/lib/interfaces/request-user.d.ts +1 -1
- package/src/lib/interfaces/request-user.d.ts.map +1 -1
- package/src/lib/keyring.types.d.ts +7 -0
- package/src/lib/keyring.types.d.ts.map +1 -0
- package/src/lib/keyring.types.js +3 -0
- package/src/lib/keyring.types.js.map +1 -0
- package/src/lib/nodeKeyring.d.ts +24 -0
- package/src/lib/nodeKeyring.d.ts.map +1 -0
- package/src/lib/nodeKeyring.js +86 -0
- package/src/lib/nodeKeyring.js.map +1 -0
- package/src/lib/routers/messageRouter.d.ts.map +1 -1
- package/src/lib/routers/messageRouter.js +6 -0
- package/src/lib/routers/messageRouter.js.map +1 -1
- package/src/lib/secureEnclaveKeyring.d.ts +125 -0
- package/src/lib/secureEnclaveKeyring.d.ts.map +1 -0
- package/src/lib/secureEnclaveKeyring.js +491 -0
- package/src/lib/secureEnclaveKeyring.js.map +1 -0
- package/src/lib/services/diskQuorumService.d.ts +7 -6
- package/src/lib/services/diskQuorumService.d.ts.map +1 -1
- package/src/lib/services/diskQuorumService.js.map +1 -1
- package/src/lib/shared-types.d.ts +3 -2
- package/src/lib/shared-types.d.ts.map +1 -1
- package/src/lib/stores/diskCBLStore.d.ts.map +1 -1
- package/src/lib/stores/diskCBLStore.js +9 -9
- package/src/lib/stores/diskCBLStore.js.map +1 -1
- package/src/lib/systemKeyring.d.ts +60 -0
- package/src/lib/systemKeyring.d.ts.map +1 -0
- package/src/lib/systemKeyring.js +181 -0
- package/src/lib/systemKeyring.js.map +1 -0
- package/src/lib/transforms/xorMultipleTransform.d.ts.map +1 -1
- package/src/lib/transforms/xorMultipleTransform.js +11 -5
- package/src/lib/transforms/xorMultipleTransform.js.map +1 -1
- package/src/lib/types/backend-id.d.ts +2 -0
- package/src/lib/types/backend-id.d.ts.map +1 -0
- package/src/lib/types/backend-id.js +3 -0
- package/src/lib/types/backend-id.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brightchain/brightchain-api-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@aws-sdk/client-ses": "^3.859.0",
|
|
8
|
-
"@brightchain/brightchain-lib": "0.
|
|
8
|
+
"@brightchain/brightchain-lib": "0.10.0",
|
|
9
|
+
"@digitaldefiance/enclave-bridge-client": "^1.1.0",
|
|
10
|
+
"@digitaldefiance/node-ecies-lib": "^4.13.8",
|
|
9
11
|
"@ethereumjs/wallet": "^10.0.0",
|
|
10
12
|
"bip39": "^3.1.0",
|
|
11
13
|
"buffer": "^6.0.3",
|
|
@@ -47,7 +49,9 @@
|
|
|
47
49
|
"lint": "npx eslint '**/*.{ts,tsx}'",
|
|
48
50
|
"lint:fix": "npx eslint '**/*.{ts,tsx}' --fix",
|
|
49
51
|
"test:dev:16": "NODE_ENV=development npx nx test brightchain-api-lib --maxWorkers=16 --parallel=16 --configuration=development --outputStyle=stream 2>&1",
|
|
50
|
-
"test:dev:16:logged": "NODE_ENV=development npx nx test brightchain-api-lib --maxWorkers=16 --parallel=16 --configuration=development --outputStyle=stream 2>&1 | ansifilter -o test.log"
|
|
52
|
+
"test:dev:16:logged": "NODE_ENV=development npx nx test brightchain-api-lib --maxWorkers=16 --parallel=16 --configuration=development --outputStyle=stream 2>&1 | ansifilter -o test.log",
|
|
53
|
+
"test:enclave:required": "REQUIRE_SECURE_ENCLAVE=true NODE_ENV=development npx nx test brightchain-api-lib --configuration=development",
|
|
54
|
+
"test:enclave:e2e": "REQUIRE_SECURE_ENCLAVE=true NODE_ENV=development npx jest --config=jest.config.ts -- src/lib/__tests__/secureEnclaveKeyring.e2e.spec.ts"
|
|
51
55
|
},
|
|
52
56
|
"type": "commonjs"
|
|
53
57
|
}
|
package/src/index.d.ts
CHANGED
|
@@ -17,4 +17,8 @@ export * from './lib/availability';
|
|
|
17
17
|
export * from './lib/utils/errorResponse';
|
|
18
18
|
export * from './lib/utils/type-converters';
|
|
19
19
|
export type { ClientSession, DefaultBackendIdType, SchemaMap, } from './lib/shared-types';
|
|
20
|
+
export * from './lib/browserKeyring';
|
|
21
|
+
export * from './lib/nodeKeyring';
|
|
22
|
+
export * from './lib/secureEnclaveKeyring';
|
|
23
|
+
export * from './lib/systemKeyring';
|
|
20
24
|
//# sourceMappingURL=index.d.ts.map
|
package/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-api-lib/src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAG9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,SAAS,GACV,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-api-lib/src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAG9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAG5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
|
package/src/index.js
CHANGED
|
@@ -28,4 +28,9 @@ tslib_1.__exportStar(require("./lib/routers"), exports);
|
|
|
28
28
|
tslib_1.__exportStar(require("./lib/availability"), exports);
|
|
29
29
|
tslib_1.__exportStar(require("./lib/utils/errorResponse"), exports);
|
|
30
30
|
tslib_1.__exportStar(require("./lib/utils/type-converters"), exports);
|
|
31
|
+
// Keyring exports
|
|
32
|
+
tslib_1.__exportStar(require("./lib/browserKeyring"), exports);
|
|
33
|
+
tslib_1.__exportStar(require("./lib/nodeKeyring"), exports);
|
|
34
|
+
tslib_1.__exportStar(require("./lib/secureEnclaveKeyring"), exports);
|
|
35
|
+
tslib_1.__exportStar(require("./lib/systemKeyring"), exports);
|
|
31
36
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../brightchain-api-lib/src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,uDAA6B;AAC7B,2DAAiC;AAEjC,mCAAmC;AACnC,yDAA+B;AAE/B,kBAAkB;AAClB,6DAAmC;AACnC,4DAAkC;AAClC,iEAAuC;AACvC,0DAAgC;AAChC,4DAAkC;AAClC,6GAA6G;AAC7G,6DAAmC;AACnC,4DAAkC;AAClC,uDAA6B;AAC7B,2DAAiC;AACjC,iGAAiG;AACjG,+EAA+E;AAC/E,gFAAgF;AAEhF,0DAAgC;AAChC,4DAAkC;AAClC,wDAA8B;AAC9B,oGAAoG;AACpG,kFAAkF;AAClF,6DAAmC;AACnC,oEAA0C;AAC1C,sEAA4C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../brightchain-api-lib/src/index.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,uDAA6B;AAC7B,2DAAiC;AAEjC,mCAAmC;AACnC,yDAA+B;AAE/B,kBAAkB;AAClB,6DAAmC;AACnC,4DAAkC;AAClC,iEAAuC;AACvC,0DAAgC;AAChC,4DAAkC;AAClC,6GAA6G;AAC7G,6DAAmC;AACnC,4DAAkC;AAClC,uDAA6B;AAC7B,2DAAiC;AACjC,iGAAiG;AACjG,+EAA+E;AAC/E,gFAAgF;AAEhF,0DAAgC;AAChC,4DAAkC;AAClC,wDAA8B;AAC9B,oGAAoG;AACpG,kFAAkF;AAClF,6DAAmC;AACnC,oEAA0C;AAC1C,sEAA4C;AAQ5C,kBAAkB;AAClB,+DAAqC;AACrC,4DAAkC;AAClC,qEAA2C;AAC3C,8DAAoC"}
|
|
@@ -12,75 +12,8 @@ import { LocalhostConstants } from '@digitaldefiance/node-express-suite';
|
|
|
12
12
|
* - Cryptographic constants (ECIES, PBKDF2, BACKUP_CODES, etc.)
|
|
13
13
|
* - Site configuration (Site, SiteHostname, SiteEmailDomain, etc.)
|
|
14
14
|
*/
|
|
15
|
-
export declare const AppConstants: {
|
|
15
|
+
export declare const AppConstants: typeof LocalhostConstants & {
|
|
16
16
|
HmacRegex: RegExp;
|
|
17
|
-
UINT8_SIZE: number;
|
|
18
|
-
UINT16_SIZE: number;
|
|
19
|
-
UINT16_MAX: number;
|
|
20
|
-
UINT32_SIZE: number;
|
|
21
|
-
UINT32_MAX: number;
|
|
22
|
-
UINT64_SIZE: number;
|
|
23
|
-
UINT64_MAX: bigint;
|
|
24
|
-
HEX_RADIX: number;
|
|
25
|
-
BcryptRounds: number;
|
|
26
|
-
PasswordMinLength: number;
|
|
27
|
-
PasswordRegex: RegExp;
|
|
28
|
-
JwtSecretRegex: RegExp;
|
|
29
|
-
MnemonicRegex: RegExp;
|
|
30
|
-
MnemonicHmacRegex: RegExp;
|
|
31
|
-
MnemonicEncryptionKeyRegex: RegExp;
|
|
32
|
-
JWT: import("@digitaldefiance/node-express-suite").IJwtConsts;
|
|
33
|
-
FEC: import("@digitaldefiance/node-express-suite").IFECConsts;
|
|
34
|
-
ECIES: import("@digitaldefiance/ecies-lib").IECIESConstants;
|
|
35
|
-
OBJECT_ID_LENGTH: number;
|
|
36
|
-
PBKDF2: import("@digitaldefiance/ecies-lib").IPBkdf2Consts;
|
|
37
|
-
PBKDF2_PROFILES: import("@digitaldefiance/node-ecies-lib").PbkdfProfiles;
|
|
38
|
-
CHECKSUM: import("@digitaldefiance/node-express-suite").IChecksumConsts;
|
|
39
|
-
WRAPPED_KEY: import("@digitaldefiance/node-ecies-lib").IWrappedKeyConsts;
|
|
40
|
-
KEYRING: import("@digitaldefiance/node-ecies-lib").IKeyringConsts;
|
|
41
|
-
ENCRYPTION: import("@digitaldefiance/node-ecies-lib").IEncryptionConsts;
|
|
42
|
-
VOTING: import("@digitaldefiance/ecies-lib").IVotingConsts;
|
|
43
|
-
KEYRING_ALGORITHM_CONFIGURATION: import("crypto").CipherGCMTypes;
|
|
44
|
-
ECIES_VERSION_SIZE: number;
|
|
45
|
-
ECIES_CIPHER_SUITE_SIZE: number;
|
|
46
|
-
MEMBER_ID_LENGTH: number;
|
|
47
|
-
AdministratorEmail: string;
|
|
48
|
-
MemberEmail: string;
|
|
49
|
-
SystemEmail: string;
|
|
50
|
-
logo_primary_color: string;
|
|
51
|
-
logo_primary_text: string;
|
|
52
|
-
logo_secondary_text: string;
|
|
53
|
-
success_color: string;
|
|
54
|
-
warning_color: string;
|
|
55
|
-
failure_color: string;
|
|
56
|
-
primary_text_light: string;
|
|
57
|
-
primary_text_dark: string;
|
|
58
|
-
secondary_text_light: string;
|
|
59
|
-
secondary_text_dark: string;
|
|
60
|
-
idProvider: import("@digitaldefiance/ecies-lib").IIdProviderBase;
|
|
61
|
-
BACKUP_CODES: import("@digitaldefiance/suite-core-lib").IBackupCodeConstants;
|
|
62
|
-
LoginChallengeExpiration: number;
|
|
63
|
-
DefaultExpireMemoryMnemonicSeconds: number;
|
|
64
|
-
DefaultExpireMemoryWalletSeconds: number;
|
|
65
|
-
DirectLoginChallengeLength: number;
|
|
66
|
-
EmailTokenExpiration: number;
|
|
67
|
-
EmailTokenLength: number;
|
|
68
|
-
AdministratorUser: string;
|
|
69
|
-
AdministratorRole: string;
|
|
70
|
-
MemberRole: string;
|
|
71
|
-
MemberUser: string;
|
|
72
|
-
SystemRole: string;
|
|
73
|
-
SystemUser: string;
|
|
74
|
-
UsernameMinLength: number;
|
|
75
|
-
UsernameMaxLength: number;
|
|
76
|
-
UsernameRegex: RegExp;
|
|
77
|
-
EmailTokenResendInterval: number;
|
|
78
|
-
EmailTokenResendIntervalMinutes: number;
|
|
79
|
-
Site: string;
|
|
80
|
-
SiteTagline: string;
|
|
81
|
-
SiteDescription: string;
|
|
82
|
-
SiteEmailDomain: string;
|
|
83
|
-
SiteHostname: string;
|
|
84
17
|
};
|
|
85
18
|
export { LocalhostConstants };
|
|
86
19
|
export default AppConstants;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appConstants.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/appConstants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"appConstants.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/appConstants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,kBAAkB,GAAG;IACrD,SAAS,EAAE,MAAM,CAAC;CAInB,CAAC;AACF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAG9B,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appConstants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/appConstants.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,4EAAyE;
|
|
1
|
+
{"version":3,"file":"appConstants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/appConstants.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,4EAAyE;AAiBhE,mGAjBA,uCAAkB,OAiBA;AAf3B;;;;;;;;GAQG;AACU,QAAA,YAAY,GAErB;IACF,GAAG,uCAAkB;IACrB,SAAS,EAAE,gBAAgB;CAC5B,CAAC;AAGF,4BAA4B;AAC5B,kBAAe,oBAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAW7D,OAAgB,EAAE,WAAW,EAAmC,MAAM,SAAS,CAAC;AAKhF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C;;GAEG;AACH,qBAAa,GAAG,CAAC,GAAG,SAAS,UAAU,CAAE,SAAQ,eAAe,CAAC,GAAG,CAAC;IACnE,SAAgB,UAAU,EAAE,WAAW,CAAC;IACxC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;gBAElC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC;IAcnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAW7D,OAAgB,EAAE,WAAW,EAAmC,MAAM,SAAS,CAAC;AAKhF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C;;GAEG;AACH,qBAAa,GAAG,CAAC,GAAG,SAAS,UAAU,CAAE,SAAQ,eAAe,CAAC,GAAG,CAAC;IACnE,SAAgB,UAAU,EAAE,WAAW,CAAC;IACxC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;gBAElC,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC;IAcnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BpC,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;IAI3C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;CAG9D"}
|
package/src/lib/application.js
CHANGED
|
@@ -64,7 +64,8 @@ class App extends application_base_1.BaseApplication {
|
|
|
64
64
|
this.expressApp.use((err, req, res, next) => {
|
|
65
65
|
const handleableError = err instanceof i18n_lib_1.HandleableError
|
|
66
66
|
? err
|
|
67
|
-
: new i18n_lib_1.HandleableError(new Error(err.message ||
|
|
67
|
+
: new i18n_lib_1.HandleableError(new Error(err.message ||
|
|
68
|
+
(0, brightchain_lib_1.translate)(brightchain_lib_1.BrightChainStrings.Error_UnexpectedError)), { cause: err });
|
|
68
69
|
(0, node_express_suite_1.handleError)(handleableError, res, node_express_suite_1.sendApiMessageResponse, next);
|
|
69
70
|
});
|
|
70
71
|
const serversReady = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Keyring - Secure key storage using Web Crypto API and localStorage
|
|
3
|
+
*
|
|
4
|
+
* Keys are encrypted with AES-256-GCM using a PBKDF2-derived key
|
|
5
|
+
* and stored in localStorage.
|
|
6
|
+
*/
|
|
7
|
+
import type { IKeyring } from './keyring.types';
|
|
8
|
+
/**
|
|
9
|
+
* BrowserKeyring: Secure key storage for browser environments
|
|
10
|
+
*/
|
|
11
|
+
export declare class BrowserKeyring implements IKeyring {
|
|
12
|
+
private static instance;
|
|
13
|
+
private readonly keys;
|
|
14
|
+
private readonly accessLog;
|
|
15
|
+
private readonly maxAccessRate;
|
|
16
|
+
private readonly storageKey;
|
|
17
|
+
private constructor();
|
|
18
|
+
static getInstance(): BrowserKeyring;
|
|
19
|
+
private deriveKey;
|
|
20
|
+
storeKey(id: string, data: Uint8Array, password: string): Promise<void>;
|
|
21
|
+
retrieveKey(id: string, password: string): Promise<Uint8Array>;
|
|
22
|
+
private checkRateLimit;
|
|
23
|
+
private logAccess;
|
|
24
|
+
private persistToStorage;
|
|
25
|
+
private loadFromStorage;
|
|
26
|
+
initialize(): Promise<void>;
|
|
27
|
+
rotateKey(id: string, oldPassword: string, newPassword: string): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=browserKeyring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserKeyring.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/browserKeyring.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAwBhD;;GAEG;AACH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAWnB;IACF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAM;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAExD,OAAO;WAKO,WAAW,IAAI,cAAc;YAO7B,SAAS;IA+BV,QAAQ,CACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IA0BH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA6B3E,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,SAAS;YAUH,gBAAgB;YAmBhB,eAAe;IA0BhB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,SAAS,CACpB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;CAIjB"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Browser Keyring - Secure key storage using Web Crypto API and localStorage
|
|
4
|
+
*
|
|
5
|
+
* Keys are encrypted with AES-256-GCM using a PBKDF2-derived key
|
|
6
|
+
* and stored in localStorage.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.BrowserKeyring = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* Generate random bytes using Web Crypto API
|
|
12
|
+
*/
|
|
13
|
+
function randomBytes(length) {
|
|
14
|
+
const array = new Uint8Array(length);
|
|
15
|
+
crypto.getRandomValues(array);
|
|
16
|
+
return array;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* BrowserKeyring: Secure key storage for browser environments
|
|
20
|
+
*/
|
|
21
|
+
class BrowserKeyring {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.maxAccessRate = 10; // per minute
|
|
24
|
+
this.storageKey = 'brightchain-api-keyring';
|
|
25
|
+
this.keys = new Map();
|
|
26
|
+
this.accessLog = new Map();
|
|
27
|
+
}
|
|
28
|
+
static getInstance() {
|
|
29
|
+
if (!BrowserKeyring.instance) {
|
|
30
|
+
BrowserKeyring.instance = new BrowserKeyring();
|
|
31
|
+
}
|
|
32
|
+
return BrowserKeyring.instance;
|
|
33
|
+
}
|
|
34
|
+
async deriveKey(password, salt) {
|
|
35
|
+
const encoder = new TextEncoder();
|
|
36
|
+
const passwordBuffer = encoder.encode(password);
|
|
37
|
+
const keyMaterial = await crypto.subtle.importKey('raw', passwordBuffer, 'PBKDF2', false, ['deriveKey']);
|
|
38
|
+
const saltBuffer = new Uint8Array(salt);
|
|
39
|
+
return crypto.subtle.deriveKey({
|
|
40
|
+
name: 'PBKDF2',
|
|
41
|
+
salt: saltBuffer,
|
|
42
|
+
iterations: 100000,
|
|
43
|
+
hash: 'SHA-256',
|
|
44
|
+
}, keyMaterial, { name: 'AES-GCM', length: 256 }, false, ['encrypt', 'decrypt']);
|
|
45
|
+
}
|
|
46
|
+
async storeKey(id, data, password) {
|
|
47
|
+
const salt = randomBytes(32);
|
|
48
|
+
const iv = randomBytes(12);
|
|
49
|
+
const key = await this.deriveKey(password, salt);
|
|
50
|
+
const ivBuffer = new Uint8Array(iv);
|
|
51
|
+
const dataBuffer = new Uint8Array(data);
|
|
52
|
+
const encryptedData = await crypto.subtle.encrypt({ name: 'AES-GCM', iv: ivBuffer }, key, dataBuffer);
|
|
53
|
+
this.keys.set(id, {
|
|
54
|
+
id,
|
|
55
|
+
version: 1,
|
|
56
|
+
encryptedData: new Uint8Array(encryptedData),
|
|
57
|
+
iv,
|
|
58
|
+
salt,
|
|
59
|
+
created: new Date(),
|
|
60
|
+
});
|
|
61
|
+
await this.persistToStorage();
|
|
62
|
+
}
|
|
63
|
+
async retrieveKey(id, password) {
|
|
64
|
+
this.checkRateLimit(id);
|
|
65
|
+
const entry = this.keys.get(id);
|
|
66
|
+
if (!entry) {
|
|
67
|
+
throw new Error(`Key not found: ${id}`);
|
|
68
|
+
}
|
|
69
|
+
const key = await this.deriveKey(password, entry.salt);
|
|
70
|
+
try {
|
|
71
|
+
const ivBuffer = new Uint8Array(entry.iv);
|
|
72
|
+
const encryptedDataBuffer = new Uint8Array(entry.encryptedData);
|
|
73
|
+
const decryptedData = await crypto.subtle.decrypt({ name: 'AES-GCM', iv: ivBuffer }, key, encryptedDataBuffer);
|
|
74
|
+
entry.lastAccessed = new Date();
|
|
75
|
+
this.logAccess(id);
|
|
76
|
+
return new Uint8Array(decryptedData);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
throw new Error('Decryption failed');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
checkRateLimit(id) {
|
|
83
|
+
const accessCount = this.accessLog.get(id) || 0;
|
|
84
|
+
if (accessCount >= this.maxAccessRate) {
|
|
85
|
+
throw new Error('Rate limit exceeded');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
logAccess(id) {
|
|
89
|
+
const count = (this.accessLog.get(id) || 0) + 1;
|
|
90
|
+
this.accessLog.set(id, count);
|
|
91
|
+
// Reset count after 1 minute
|
|
92
|
+
setTimeout(() => {
|
|
93
|
+
this.accessLog.set(id, 0);
|
|
94
|
+
}, 60000);
|
|
95
|
+
}
|
|
96
|
+
async persistToStorage() {
|
|
97
|
+
const entries = Array.from(this.keys.entries()).map(([id, entry]) => [
|
|
98
|
+
id,
|
|
99
|
+
{
|
|
100
|
+
id: entry.id,
|
|
101
|
+
version: entry.version,
|
|
102
|
+
encryptedData: Array.from(entry.encryptedData),
|
|
103
|
+
iv: Array.from(entry.iv),
|
|
104
|
+
salt: Array.from(entry.salt),
|
|
105
|
+
created: entry.created.toISOString(),
|
|
106
|
+
lastAccessed: entry.lastAccessed?.toISOString(),
|
|
107
|
+
},
|
|
108
|
+
]);
|
|
109
|
+
localStorage.setItem(this.storageKey, JSON.stringify(entries));
|
|
110
|
+
}
|
|
111
|
+
async loadFromStorage() {
|
|
112
|
+
try {
|
|
113
|
+
const data = localStorage.getItem(this.storageKey);
|
|
114
|
+
if (!data)
|
|
115
|
+
return;
|
|
116
|
+
const entries = JSON.parse(data);
|
|
117
|
+
this.keys.clear();
|
|
118
|
+
for (const [id, entry] of entries) {
|
|
119
|
+
this.keys.set(id, {
|
|
120
|
+
id: entry.id,
|
|
121
|
+
version: entry.version,
|
|
122
|
+
encryptedData: new Uint8Array(entry.encryptedData),
|
|
123
|
+
iv: new Uint8Array(entry.iv),
|
|
124
|
+
salt: new Uint8Array(entry.salt),
|
|
125
|
+
created: new Date(entry.created),
|
|
126
|
+
lastAccessed: entry.lastAccessed
|
|
127
|
+
? new Date(entry.lastAccessed)
|
|
128
|
+
: undefined,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.warn('Failed to load keyring from storage:', error);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async initialize() {
|
|
137
|
+
await this.loadFromStorage();
|
|
138
|
+
}
|
|
139
|
+
async rotateKey(id, oldPassword, newPassword) {
|
|
140
|
+
const data = await this.retrieveKey(id, oldPassword);
|
|
141
|
+
await this.storeKey(id, data, newPassword);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.BrowserKeyring = BrowserKeyring;
|
|
145
|
+
//# sourceMappingURL=browserKeyring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browserKeyring.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/browserKeyring.ts"],"names":[],"mappings":"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"}
|
package/src/lib/constants.d.ts
CHANGED
|
@@ -21,16 +21,6 @@
|
|
|
21
21
|
* @module constants
|
|
22
22
|
*/
|
|
23
23
|
import { IApiConstants } from './interfaces/api-constants';
|
|
24
|
-
/**
|
|
25
|
-
* API-specific constants for wrapped key operations
|
|
26
|
-
* These constants define the cryptographic parameters for wrapping and unwrapping keys
|
|
27
|
-
*/
|
|
28
|
-
export declare const WRAPPED_KEY: {
|
|
29
|
-
readonly SALT_SIZE: 32;
|
|
30
|
-
readonly IV_SIZE: 16;
|
|
31
|
-
readonly MASTER_KEY_SIZE: 32;
|
|
32
|
-
readonly MIN_ITERATIONS: 100000;
|
|
33
|
-
};
|
|
34
24
|
/**
|
|
35
25
|
* API Constants extending from @digitaldefiance/node-express-suite
|
|
36
26
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAU3D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,aAKvB,CAAC"}
|
package/src/lib/constants.js
CHANGED
|
@@ -22,18 +22,13 @@
|
|
|
22
22
|
* @module constants
|
|
23
23
|
*/
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.Constants =
|
|
25
|
+
exports.Constants = void 0;
|
|
26
|
+
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
27
|
+
const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
|
|
26
28
|
const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
*/
|
|
31
|
-
exports.WRAPPED_KEY = {
|
|
32
|
-
SALT_SIZE: 32,
|
|
33
|
-
IV_SIZE: 16,
|
|
34
|
-
MASTER_KEY_SIZE: 32,
|
|
35
|
-
MIN_ITERATIONS: 100000,
|
|
36
|
-
};
|
|
29
|
+
const expressConsts = (0, node_express_suite_1.createExpressConstants)('brightchain.org', 'brightchain.org', {
|
|
30
|
+
Site: 'BrightChain',
|
|
31
|
+
});
|
|
37
32
|
/**
|
|
38
33
|
* API Constants extending from @digitaldefiance/node-express-suite
|
|
39
34
|
*
|
|
@@ -50,9 +45,9 @@ exports.WRAPPED_KEY = {
|
|
|
50
45
|
* @see {@link https://github.com/Digital-Defiance/node-express-suite} for base constants
|
|
51
46
|
*/
|
|
52
47
|
exports.Constants = {
|
|
53
|
-
...
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
WRAPPED_KEY:
|
|
48
|
+
...expressConsts,
|
|
49
|
+
...brightchain_lib_1.CONSTANTS,
|
|
50
|
+
...{ PBKDF2_PROFILES: expressConsts.PBKDF2_PROFILES },
|
|
51
|
+
WRAPPED_KEY: node_ecies_lib_1.WRAPPED_KEY,
|
|
57
52
|
};
|
|
58
53
|
//# sourceMappingURL=constants.js.map
|
package/src/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,4EAA6E;AAG7E
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,kEAA0E;AAC1E,oEAA8D;AAC9D,4EAA6E;AAG7E,MAAM,aAAa,GAAG,IAAA,2CAAsB,EAC1C,iBAAiB,EACjB,iBAAiB,EACjB;IACE,IAAI,EAAE,aAAa;CACpB,CACF,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACU,QAAA,SAAS,GAAkB;IACtC,GAAG,aAAa;IAChB,GAAG,2BAAa;IAChB,GAAG,EAAE,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE;IACrD,WAAW,EAAX,4BAAW;CACZ,CAAC"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
|
|
2
2
|
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
3
|
-
import { ApiErrorResponse, ApiRequestHandler,
|
|
3
|
+
import { ApiErrorResponse, ApiRequestHandler, ApiResponse, IApiMessageResponse } from '@digitaldefiance/node-express-suite';
|
|
4
4
|
import { IBrightChainApplication } from '../../interfaces/application';
|
|
5
5
|
import { DefaultBackendIdType } from '../../shared-types';
|
|
6
6
|
import { BaseController } from '../base';
|
|
7
|
-
interface IMembersHandlers
|
|
7
|
+
interface IMembersHandlers {
|
|
8
|
+
[key: string]: ApiRequestHandler<ApiResponse>;
|
|
8
9
|
getMembers: ApiRequestHandler<IApiMessageResponse | ApiErrorResponse>;
|
|
10
|
+
getMemberProfile: ApiRequestHandler<ApiResponse>;
|
|
11
|
+
updateMemberProfile: ApiRequestHandler<IApiMessageResponse | ApiErrorResponse>;
|
|
9
12
|
}
|
|
10
13
|
/**
|
|
11
14
|
* Controller for member operations
|
|
@@ -14,6 +17,8 @@ export declare class MembersController<TID extends PlatformID = DefaultBackendId
|
|
|
14
17
|
constructor(application: IBrightChainApplication<TID>);
|
|
15
18
|
protected initRouteDefinitions(): void;
|
|
16
19
|
private handleGetMembers;
|
|
20
|
+
private handleGetMemberProfile;
|
|
21
|
+
private handleUpdateMemberProfile;
|
|
17
22
|
}
|
|
18
23
|
export {};
|
|
19
24
|
//# sourceMappingURL=members.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/controllers/api/members.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/controllers/api/members.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,mBAAmB,EAEpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAOvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAmBzC,UAAU,gBAAgB;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC9C,UAAU,EAAE,iBAAiB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IACtE,gBAAgB,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjD,mBAAmB,EAAE,iBAAiB,CACpC,mBAAmB,GAAG,gBAAgB,CACvC,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAC5B,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,cAAc,CACtB,GAAG,EACH,mBAAmB,GAAG,gBAAgB,EACtC,gBAAgB,EAChB,gBAAgB,CACjB;gBACa,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAIrD,SAAS,CAAC,oBAAoB,IAAI,IAAI;YAQxB,gBAAgB;YAWhB,sBAAsB;YAqHtB,yBAAyB;CA0ExC"}
|