@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.
Files changed (101) hide show
  1. package/package.json +7 -3
  2. package/src/index.d.ts +4 -0
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +5 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/appConstants.d.ts +1 -68
  7. package/src/lib/appConstants.d.ts.map +1 -1
  8. package/src/lib/appConstants.js.map +1 -1
  9. package/src/lib/application.d.ts.map +1 -1
  10. package/src/lib/application.js +2 -1
  11. package/src/lib/application.js.map +1 -1
  12. package/src/lib/browserKeyring.d.ts +29 -0
  13. package/src/lib/browserKeyring.d.ts.map +1 -0
  14. package/src/lib/browserKeyring.js +145 -0
  15. package/src/lib/browserKeyring.js.map +1 -0
  16. package/src/lib/constants.d.ts +0 -10
  17. package/src/lib/constants.d.ts.map +1 -1
  18. package/src/lib/constants.js +10 -15
  19. package/src/lib/constants.js.map +1 -1
  20. package/src/lib/controllers/api/members.d.ts +7 -2
  21. package/src/lib/controllers/api/members.d.ts.map +1 -1
  22. package/src/lib/controllers/api/members.js +166 -7
  23. package/src/lib/controllers/api/members.js.map +1 -1
  24. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  25. package/src/lib/controllers/api/quorum.js.map +1 -1
  26. package/src/lib/datastore/block-document-store.d.ts.map +1 -1
  27. package/src/lib/datastore/block-document-store.js +1 -1
  28. package/src/lib/datastore/block-document-store.js.map +1 -1
  29. package/src/lib/documents/base.d.ts +1 -1
  30. package/src/lib/documents/base.d.ts.map +1 -1
  31. package/src/lib/documents/email-token.d.ts +1 -1
  32. package/src/lib/documents/email-token.d.ts.map +1 -1
  33. package/src/lib/documents/mnemonic.d.ts +1 -1
  34. package/src/lib/documents/mnemonic.d.ts.map +1 -1
  35. package/src/lib/documents/role.d.ts +1 -1
  36. package/src/lib/documents/role.d.ts.map +1 -1
  37. package/src/lib/documents/used-direct-login-token.d.ts +1 -1
  38. package/src/lib/documents/used-direct-login-token.d.ts.map +1 -1
  39. package/src/lib/documents/user-role.d.ts +1 -1
  40. package/src/lib/documents/user-role.d.ts.map +1 -1
  41. package/src/lib/documents/user.d.ts +1 -1
  42. package/src/lib/documents/user.d.ts.map +1 -1
  43. package/src/lib/environment.d.ts.map +1 -1
  44. package/src/lib/environment.js +1 -0
  45. package/src/lib/environment.js.map +1 -1
  46. package/src/lib/errors/typed-error-local.d.ts +2 -2
  47. package/src/lib/errors/typed-error-local.d.ts.map +1 -1
  48. package/src/lib/errors/typed-error-local.js.map +1 -1
  49. package/src/lib/interfaces/api-constants.d.ts +10 -38
  50. package/src/lib/interfaces/api-constants.d.ts.map +1 -1
  51. package/src/lib/interfaces/api-constants.js +1 -1
  52. package/src/lib/interfaces/backend-objects/request-user.d.ts +1 -1
  53. package/src/lib/interfaces/backend-objects/request-user.d.ts.map +1 -1
  54. package/src/lib/interfaces/backend-objects/role.d.ts +1 -1
  55. package/src/lib/interfaces/backend-objects/role.d.ts.map +1 -1
  56. package/src/lib/interfaces/jwt-sign-response.d.ts +1 -1
  57. package/src/lib/interfaces/jwt-sign-response.d.ts.map +1 -1
  58. package/src/lib/interfaces/member/index.d.ts +1 -0
  59. package/src/lib/interfaces/member/index.d.ts.map +1 -1
  60. package/src/lib/interfaces/member/index.js +1 -0
  61. package/src/lib/interfaces/member/index.js.map +1 -1
  62. package/src/lib/interfaces/member/memberProfileResponse.d.ts +51 -0
  63. package/src/lib/interfaces/member/memberProfileResponse.d.ts.map +1 -0
  64. package/src/lib/interfaces/member/memberProfileResponse.js +3 -0
  65. package/src/lib/interfaces/member/memberProfileResponse.js.map +1 -0
  66. package/src/lib/interfaces/request-user.d.ts +1 -1
  67. package/src/lib/interfaces/request-user.d.ts.map +1 -1
  68. package/src/lib/keyring.types.d.ts +7 -0
  69. package/src/lib/keyring.types.d.ts.map +1 -0
  70. package/src/lib/keyring.types.js +3 -0
  71. package/src/lib/keyring.types.js.map +1 -0
  72. package/src/lib/nodeKeyring.d.ts +24 -0
  73. package/src/lib/nodeKeyring.d.ts.map +1 -0
  74. package/src/lib/nodeKeyring.js +86 -0
  75. package/src/lib/nodeKeyring.js.map +1 -0
  76. package/src/lib/routers/messageRouter.d.ts.map +1 -1
  77. package/src/lib/routers/messageRouter.js +6 -0
  78. package/src/lib/routers/messageRouter.js.map +1 -1
  79. package/src/lib/secureEnclaveKeyring.d.ts +125 -0
  80. package/src/lib/secureEnclaveKeyring.d.ts.map +1 -0
  81. package/src/lib/secureEnclaveKeyring.js +491 -0
  82. package/src/lib/secureEnclaveKeyring.js.map +1 -0
  83. package/src/lib/services/diskQuorumService.d.ts +7 -6
  84. package/src/lib/services/diskQuorumService.d.ts.map +1 -1
  85. package/src/lib/services/diskQuorumService.js.map +1 -1
  86. package/src/lib/shared-types.d.ts +3 -2
  87. package/src/lib/shared-types.d.ts.map +1 -1
  88. package/src/lib/stores/diskCBLStore.d.ts.map +1 -1
  89. package/src/lib/stores/diskCBLStore.js +9 -9
  90. package/src/lib/stores/diskCBLStore.js.map +1 -1
  91. package/src/lib/systemKeyring.d.ts +60 -0
  92. package/src/lib/systemKeyring.d.ts.map +1 -0
  93. package/src/lib/systemKeyring.js +181 -0
  94. package/src/lib/systemKeyring.js.map +1 -0
  95. package/src/lib/transforms/xorMultipleTransform.d.ts.map +1 -1
  96. package/src/lib/transforms/xorMultipleTransform.js +11 -5
  97. package/src/lib/transforms/xorMultipleTransform.js.map +1 -1
  98. package/src/lib/types/backend-id.d.ts +2 -0
  99. package/src/lib/types/backend-id.d.ts.map +1 -0
  100. package/src/lib/types/backend-id.js +3 -0
  101. 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.7.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.7.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
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGxB,CAAC;AACF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAG9B,eAAe,YAAY,CAAC"}
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;AAehE,mGAfA,uCAAkB,OAeA;AAb3B;;;;;;;;GAQG;AACU,QAAA,YAAY,GAAG;IAC1B,GAAG,uCAAkB;IACrB,SAAS,EAAE,gBAAgB;CAC5B,CAAC;AAGF,4BAA4B;AAC5B,kBAAe,oBAAY,CAAC"}
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;IA+HtB,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"}
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"}
@@ -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 || (0, brightchain_lib_1.translate)(brightchain_lib_1.StringNames.Error_UnexpectedError)), { cause: err });
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":";;;;AAAA,kEAOsC;AACtC,wDAA4D;AAE5D,4EAI6C;AAC7C,oEAGyC;AACzC,uDAAuD;AACvD,8DAAgF;AAChF,2BAAkC;AAElC,iCAAqC;AACrC,+BAA+B;AAC/B,yDAAqD;AACrD,2FAAoF;AAEpF,qEAAkE;AAClE,+CAA4C;AAC5C,uCAA0C;AAC1C,uCAA0C;AAC1C,yCAAyE;AAEzE;;GAEG;AACH,MAAa,GAA4B,SAAQ,kCAAoB;IAMnE,YAAY,WAA6B;QACvC,KAAK,CACH,WAAW,EACX,IAAA,uDAAwB,EAAC;YACvB,SAAS,EAAE,WAAW,CAAC,cAAc;YACrC,SAAS,EAAE,WAAW,CAAC,mBAAmB;YAC1C,SAAS,EAAE,WAAW,CAAC,sBAAsB;SAC9C,CAAC,CACH,CAAC;QAZI,WAAM,GAAkB,IAAI,CAAC;QAC7B,gBAAW,GAAyB,IAAI,GAAG,EAAE,CAAC;QAYpD,IAAI,CAAC,UAAU,GAAG,IAAA,iBAAO,GAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,2BAAgB,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IAEe,KAAK,CAAC,KAAK;QACzB,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CACX,kCAAkC,EAClC,gCAAgC,CACjC,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC;YAElD,sBAAsB;YACtB,MAAM,UAAU,GAAG,qCAAiB,CAAC,iBAAiB,CAAC;gBACrD,SAAS,EAAE,2BAAS,CAAC,KAAK;aAC3B,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,6BAAW,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,oCAAkB,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAG,IAAI,8BAAY,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,uBAAY,CAAM,IAAI,CAAC,CAAC;YACjD,MAAM,WAAW,GAAG,IAAI,sBAAW,CACjC,IAAI,EACJ,WAAW,EACX,WAAW,EACX,YAAY,EACZ,IAAI,CAAC,WAAW,CAAC,SAAS,CAC3B,CAAC;YAEF,oBAAoB;YACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;YAElD,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,eAAS,CAAM,IAAI,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,IAAI,eAAS,CAAM,SAAS,CAAC,CAAC;YAEhD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,CACE,GAA4B,EAC5B,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;gBACF,MAAM,eAAe,GACnB,GAAG,YAAY,0BAAe;oBAC5B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,0BAAe,CACjB,IAAI,KAAK,CACP,GAAG,CAAC,OAAO,IAAI,IAAA,2BAAS,EAAC,6BAAW,CAAC,qBAAqB,CAAC,CAC5D,EACD,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;gBACR,IAAA,gCAAW,EACT,eAAe,EACf,GAAU,EACV,2CAAsB,EACtB,IAAI,CACL,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,MAAM,YAAY,GAAoB,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,CACf,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAClC,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,GAAG,EAAE;oBACH,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,oBAAoB,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CACrE,CAAC;oBACF,OAAO,EAAE,CAAC;gBACZ,CAAC,CACF,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBACtC,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC;oBACrE,MAAM,OAAO,GAAG,IAAA,cAAO,EACrB,IAAI,CAAC,WAAW,CAAC,gBAAgB,GAAG,UAAU,CAC/C,CAAC;oBACF,MAAM,OAAO,GAAG;wBACd,GAAG,EAAE,IAAA,iBAAY,EAAC,OAAO,CAAC;wBAC1B,IAAI,EAAE,IAAA,iBAAY,EAAC,QAAQ,CAAC;qBAC7B,CAAC;oBAEF,YAAY,CAAC,IAAI,CACf,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;wBAC5B,IAAA,oBAAY,EAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAC3C,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7B,GAAG,EAAE;4BACH,OAAO,CAAC,GAAG,CACT,KAAK,IAAA,wCAAuB,EAC1B,mCAAkB,CAAC,YAAY,CAChC,cAAc,IAAI,CAAC,WAAW,CAAC,IAAI,IAClC,IAAI,CAAC,WAAW,CAAC,YACnB,EAAE,CACH,CAAC;4BACF,OAAO,EAAE,CAAC;wBACZ,CAAC,CACF,CAAC;oBACJ,CAAC,CAAC,CACH,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,EAAE,CAAC;gBACvC,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAEe,KAAK,CAAC,IAAI;QACxB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,iCAAiC,CAClC,CAAC;YACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,MAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACzB,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACN,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAA,6BAAQ,EACN,IAAI,CAAC,WAAW,CAAC,KAAK,EACtB,KAAK,EACL,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAEM,aAAa,CAAc,IAAY;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAM,CAAC;IACzC,CAAC;IAEM,aAAa,CAAC,IAAY,EAAE,UAAmB;QACpD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACzC,CAAC;CACF;AAvLD,kBAuLC"}
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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"}
@@ -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;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;CAKd,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,aAKvB,CAAC"}
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"}
@@ -22,18 +22,13 @@
22
22
  * @module constants
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.Constants = exports.WRAPPED_KEY = void 0;
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
- * API-specific constants for wrapped key operations
29
- * These constants define the cryptographic parameters for wrapping and unwrapping keys
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
- ...(0, node_express_suite_1.createExpressConstants)('brightchain.io', 'brightchain.io', {
54
- Site: 'BrightChain',
55
- }),
56
- WRAPPED_KEY: exports.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
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,4EAA6E;AAG7E;;;GAGG;AACU,QAAA,WAAW,GAAG;IACzB,SAAS,EAAE,EAAW;IACtB,OAAO,EAAE,EAAW;IACpB,eAAe,EAAE,EAAW;IAC5B,cAAc,EAAE,MAAe;CACvB,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACU,QAAA,SAAS,GAAkB;IACtC,GAAG,IAAA,2CAAsB,EAAC,gBAAgB,EAAE,gBAAgB,EAAE;QAC5D,IAAI,EAAE,aAAa;KACpB,CAAC;IACF,WAAW,EAAX,mBAAW;CACZ,CAAC"}
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, IApiMessageResponse, TypedHandlers } from '@digitaldefiance/node-express-suite';
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 extends TypedHandlers {
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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EAEnB,aAAa,EACd,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,UAAU,gBAAiB,SAAQ,aAAa;IAC9C,UAAU,EAAE,iBAAiB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;CACvE;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;IAMtC,OAAO,CAAC,gBAAgB,CAWtB;CACH"}
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"}