@brightchain/brightchain-api-lib 0.16.0 → 0.17.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 (285) hide show
  1. package/package.json +4 -4
  2. package/src/browser.d.ts +1 -1
  3. package/src/browser.d.ts.map +1 -1
  4. package/src/browser.js.map +1 -1
  5. package/src/index.d.ts +5 -1
  6. package/src/index.d.ts.map +1 -1
  7. package/src/index.js +7 -1
  8. package/src/index.js.map +1 -1
  9. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts +24 -0
  10. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts.map +1 -0
  11. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js +53 -0
  12. package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js.map +1 -0
  13. package/src/lib/application.d.ts +20 -0
  14. package/src/lib/application.d.ts.map +1 -1
  15. package/src/lib/application.js +59 -13
  16. package/src/lib/application.js.map +1 -1
  17. package/src/lib/availability/gossipService.d.ts +20 -1
  18. package/src/lib/availability/gossipService.d.ts.map +1 -1
  19. package/src/lib/availability/gossipService.js +59 -0
  20. package/src/lib/availability/gossipService.js.map +1 -1
  21. package/src/lib/availability/index.d.ts +1 -0
  22. package/src/lib/availability/index.d.ts.map +1 -1
  23. package/src/lib/availability/index.js +1 -0
  24. package/src/lib/availability/index.js.map +1 -1
  25. package/src/lib/availability/poolDiscoveryService.d.ts +117 -0
  26. package/src/lib/availability/poolDiscoveryService.d.ts.map +1 -0
  27. package/src/lib/availability/poolDiscoveryService.js +218 -0
  28. package/src/lib/availability/poolDiscoveryService.js.map +1 -0
  29. package/src/lib/blockFetch/httpBlockFetchTransport.d.ts.map +1 -1
  30. package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -1
  31. package/src/lib/controllers/api/blocks.d.ts.map +1 -1
  32. package/src/lib/controllers/api/blocks.js.map +1 -1
  33. package/src/lib/controllers/api/brightpass.d.ts.map +1 -1
  34. package/src/lib/controllers/api/brightpass.js +4 -8
  35. package/src/lib/controllers/api/brightpass.js.map +1 -1
  36. package/src/lib/controllers/api/energy.d.ts.map +1 -1
  37. package/src/lib/controllers/api/energy.js.map +1 -1
  38. package/src/lib/controllers/api/health.d.ts +4 -4
  39. package/src/lib/controllers/api/health.d.ts.map +1 -1
  40. package/src/lib/controllers/api/health.js.map +1 -1
  41. package/src/lib/controllers/api/i18n.d.ts.map +1 -1
  42. package/src/lib/controllers/api/i18n.js.map +1 -1
  43. package/src/lib/controllers/api/index.d.ts +1 -0
  44. package/src/lib/controllers/api/index.d.ts.map +1 -1
  45. package/src/lib/controllers/api/index.js +1 -0
  46. package/src/lib/controllers/api/index.js.map +1 -1
  47. package/src/lib/controllers/api/introspection.d.ts +60 -0
  48. package/src/lib/controllers/api/introspection.d.ts.map +1 -0
  49. package/src/lib/controllers/api/introspection.js +375 -0
  50. package/src/lib/controllers/api/introspection.js.map +1 -0
  51. package/src/lib/controllers/api/nodes.d.ts +7 -6
  52. package/src/lib/controllers/api/nodes.d.ts.map +1 -1
  53. package/src/lib/controllers/api/nodes.js.map +1 -1
  54. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  55. package/src/lib/controllers/api/quorum.js.map +1 -1
  56. package/src/lib/controllers/api/sessions.d.ts.map +1 -1
  57. package/src/lib/controllers/api/sessions.js.map +1 -1
  58. package/src/lib/controllers/api/sync.d.ts +6 -5
  59. package/src/lib/controllers/api/sync.d.ts.map +1 -1
  60. package/src/lib/controllers/api/sync.js.map +1 -1
  61. package/src/lib/controllers/api/user.d.ts.map +1 -1
  62. package/src/lib/controllers/api/user.js +130 -50
  63. package/src/lib/controllers/api/user.js.map +1 -1
  64. package/src/lib/controllers/base.d.ts +1 -2
  65. package/src/lib/controllers/base.d.ts.map +1 -1
  66. package/src/lib/controllers/base.js +0 -1
  67. package/src/lib/controllers/base.js.map +1 -1
  68. package/src/lib/databaseInit.d.ts +28 -0
  69. package/src/lib/databaseInit.d.ts.map +1 -0
  70. package/src/lib/databaseInit.js +107 -0
  71. package/src/lib/databaseInit.js.map +1 -0
  72. package/src/lib/enumerations/brightChainApiStrings.d.ts +4 -0
  73. package/src/lib/enumerations/brightChainApiStrings.d.ts.map +1 -1
  74. package/src/lib/enumerations/brightChainApiStrings.js +4 -0
  75. package/src/lib/enumerations/brightChainApiStrings.js.map +1 -1
  76. package/src/lib/enumerations/index.d.ts +1 -0
  77. package/src/lib/enumerations/index.d.ts.map +1 -1
  78. package/src/lib/enumerations/index.js +1 -0
  79. package/src/lib/enumerations/index.js.map +1 -1
  80. package/src/lib/enumerations/websocketMessageType.d.ts +5 -1
  81. package/src/lib/enumerations/websocketMessageType.d.ts.map +1 -1
  82. package/src/lib/enumerations/websocketMessageType.js +4 -0
  83. package/src/lib/enumerations/websocketMessageType.js.map +1 -1
  84. package/src/lib/environment.d.ts +5 -0
  85. package/src/lib/environment.d.ts.map +1 -1
  86. package/src/lib/environment.js +7 -0
  87. package/src/lib/environment.js.map +1 -1
  88. package/src/lib/errors/index.d.ts +1 -0
  89. package/src/lib/errors/index.d.ts.map +1 -1
  90. package/src/lib/errors/index.js +1 -0
  91. package/src/lib/errors/index.js.map +1 -1
  92. package/src/lib/errors/memberIndexSchemaValidationError.d.ts +6 -0
  93. package/src/lib/errors/memberIndexSchemaValidationError.d.ts.map +1 -0
  94. package/src/lib/errors/memberIndexSchemaValidationError.js +15 -0
  95. package/src/lib/errors/memberIndexSchemaValidationError.js.map +1 -0
  96. package/src/lib/factories/blockStoreFactory.d.ts +2 -13
  97. package/src/lib/factories/blockStoreFactory.d.ts.map +1 -1
  98. package/src/lib/factories/blockStoreFactory.js +5 -10
  99. package/src/lib/factories/blockStoreFactory.js.map +1 -1
  100. package/src/lib/interfaces/blocksHandlers.d.ts +3 -3
  101. package/src/lib/interfaces/blocksHandlers.d.ts.map +1 -1
  102. package/src/lib/interfaces/cblHandlers.d.ts +3 -2
  103. package/src/lib/interfaces/cblHandlers.d.ts.map +1 -1
  104. package/src/lib/interfaces/environment.d.ts +4 -0
  105. package/src/lib/interfaces/environment.d.ts.map +1 -1
  106. package/src/lib/interfaces/index.d.ts +5 -1
  107. package/src/lib/interfaces/index.d.ts.map +1 -1
  108. package/src/lib/interfaces/introspectionApiResponses.d.ts +66 -0
  109. package/src/lib/interfaces/introspectionApiResponses.d.ts.map +1 -0
  110. package/src/lib/interfaces/introspectionApiResponses.js +3 -0
  111. package/src/lib/interfaces/introspectionApiResponses.js.map +1 -0
  112. package/src/lib/interfaces/members-handlers.d.ts +11 -0
  113. package/src/lib/interfaces/members-handlers.d.ts.map +1 -0
  114. package/src/lib/interfaces/members-handlers.js +3 -0
  115. package/src/lib/interfaces/members-handlers.js.map +1 -0
  116. package/src/lib/interfaces/responses/api-backup-codes-response.d.ts +2 -5
  117. package/src/lib/interfaces/responses/api-backup-codes-response.d.ts.map +1 -1
  118. package/src/lib/interfaces/responses/api-challenge-response.d.ts +2 -5
  119. package/src/lib/interfaces/responses/api-challenge-response.d.ts.map +1 -1
  120. package/src/lib/interfaces/responses/api-code-count-response.d.ts +2 -5
  121. package/src/lib/interfaces/responses/api-code-count-response.d.ts.map +1 -1
  122. package/src/lib/interfaces/responses/api-detailed-health-response.d.ts +5 -0
  123. package/src/lib/interfaces/responses/api-detailed-health-response.d.ts.map +1 -0
  124. package/src/lib/interfaces/responses/api-detailed-health-response.js +3 -0
  125. package/src/lib/interfaces/responses/api-detailed-health-response.js.map +1 -0
  126. package/src/lib/interfaces/responses/api-discover-block-response.d.ts +5 -0
  127. package/src/lib/interfaces/responses/api-discover-block-response.d.ts.map +1 -0
  128. package/src/lib/interfaces/responses/api-discover-block-response.js +3 -0
  129. package/src/lib/interfaces/responses/api-discover-block-response.js.map +1 -0
  130. package/src/lib/interfaces/responses/api-error.d.ts +5 -0
  131. package/src/lib/interfaces/responses/api-error.d.ts.map +1 -0
  132. package/src/lib/interfaces/responses/api-error.js +3 -0
  133. package/src/lib/interfaces/responses/api-error.js.map +1 -0
  134. package/src/lib/interfaces/responses/api-express-validation-error.d.ts +7 -0
  135. package/src/lib/interfaces/responses/api-express-validation-error.d.ts.map +1 -0
  136. package/src/lib/interfaces/responses/api-express-validation-error.js +3 -0
  137. package/src/lib/interfaces/responses/api-express-validation-error.js.map +1 -0
  138. package/src/lib/interfaces/responses/api-get-block-response.d.ts +5 -0
  139. package/src/lib/interfaces/responses/api-get-block-response.d.ts.map +1 -0
  140. package/src/lib/interfaces/responses/api-get-block-response.js +3 -0
  141. package/src/lib/interfaces/responses/api-get-block-response.js.map +1 -0
  142. package/src/lib/interfaces/responses/api-get-node-response.d.ts +5 -0
  143. package/src/lib/interfaces/responses/api-get-node-response.d.ts.map +1 -0
  144. package/src/lib/interfaces/responses/api-get-node-response.js +3 -0
  145. package/src/lib/interfaces/responses/api-get-node-response.js.map +1 -0
  146. package/src/lib/interfaces/responses/api-health-response.d.ts +5 -0
  147. package/src/lib/interfaces/responses/api-health-response.d.ts.map +1 -0
  148. package/src/lib/interfaces/responses/api-health-response.js +3 -0
  149. package/src/lib/interfaces/responses/api-health-response.js.map +1 -0
  150. package/src/lib/interfaces/responses/api-list-nodes-response.d.ts +5 -0
  151. package/src/lib/interfaces/responses/api-list-nodes-response.d.ts.map +1 -0
  152. package/src/lib/interfaces/responses/api-list-nodes-response.js +3 -0
  153. package/src/lib/interfaces/responses/api-list-nodes-response.js.map +1 -0
  154. package/src/lib/interfaces/responses/api-login-response.d.ts +2 -14
  155. package/src/lib/interfaces/responses/api-login-response.d.ts.map +1 -1
  156. package/src/lib/interfaces/responses/api-members-response.d.ts +8 -0
  157. package/src/lib/interfaces/responses/api-members-response.d.ts.map +1 -0
  158. package/src/lib/interfaces/responses/api-members-response.js +3 -0
  159. package/src/lib/interfaces/responses/api-members-response.js.map +1 -0
  160. package/src/lib/interfaces/responses/api-mnemonic-response.d.ts +2 -5
  161. package/src/lib/interfaces/responses/api-mnemonic-response.d.ts.map +1 -1
  162. package/src/lib/interfaces/responses/api-reconcile-response.d.ts +5 -0
  163. package/src/lib/interfaces/responses/api-reconcile-response.d.ts.map +1 -0
  164. package/src/lib/interfaces/responses/api-reconcile-response.js +3 -0
  165. package/src/lib/interfaces/responses/api-reconcile-response.js.map +1 -0
  166. package/src/lib/interfaces/responses/api-register-node-response.d.ts +5 -0
  167. package/src/lib/interfaces/responses/api-register-node-response.d.ts.map +1 -0
  168. package/src/lib/interfaces/responses/api-register-node-response.js +3 -0
  169. package/src/lib/interfaces/responses/api-register-node-response.js.map +1 -0
  170. package/src/lib/interfaces/responses/api-registration-response.d.ts +2 -10
  171. package/src/lib/interfaces/responses/api-registration-response.d.ts.map +1 -1
  172. package/src/lib/interfaces/responses/api-replicate-block-response.d.ts +5 -0
  173. package/src/lib/interfaces/responses/api-replicate-block-response.d.ts.map +1 -0
  174. package/src/lib/interfaces/responses/api-replicate-block-response.js +3 -0
  175. package/src/lib/interfaces/responses/api-replicate-block-response.js.map +1 -0
  176. package/src/lib/interfaces/responses/api-request-user-response.d.ts +2 -6
  177. package/src/lib/interfaces/responses/api-request-user-response.d.ts.map +1 -1
  178. package/src/lib/interfaces/responses/api-status-code-response.d.ts +7 -0
  179. package/src/lib/interfaces/responses/api-status-code-response.d.ts.map +1 -0
  180. package/src/lib/interfaces/responses/api-status-code-response.js +3 -0
  181. package/src/lib/interfaces/responses/api-status-code-response.js.map +1 -0
  182. package/src/lib/interfaces/responses/api-store-block-response.d.ts +5 -0
  183. package/src/lib/interfaces/responses/api-store-block-response.d.ts.map +1 -0
  184. package/src/lib/interfaces/responses/api-store-block-response.js +3 -0
  185. package/src/lib/interfaces/responses/api-store-block-response.js.map +1 -0
  186. package/src/lib/interfaces/responses/api-store-cbl-response.d.ts +5 -0
  187. package/src/lib/interfaces/responses/api-store-cbl-response.d.ts.map +1 -0
  188. package/src/lib/interfaces/responses/api-store-cbl-response.js +3 -0
  189. package/src/lib/interfaces/responses/api-store-cbl-response.js.map +1 -0
  190. package/src/lib/interfaces/responses/api-sync-request-response.d.ts +5 -0
  191. package/src/lib/interfaces/responses/api-sync-request-response.d.ts.map +1 -0
  192. package/src/lib/interfaces/responses/api-sync-request-response.js +3 -0
  193. package/src/lib/interfaces/responses/api-sync-request-response.js.map +1 -0
  194. package/src/lib/interfaces/responses/block-data-response.d.ts +11 -0
  195. package/src/lib/interfaces/responses/block-data-response.d.ts.map +1 -0
  196. package/src/lib/interfaces/responses/block-data-response.js +3 -0
  197. package/src/lib/interfaces/responses/block-data-response.js.map +1 -0
  198. package/src/lib/interfaces/responses/block-location-response.d.ts +11 -0
  199. package/src/lib/interfaces/responses/block-location-response.d.ts.map +1 -0
  200. package/src/lib/interfaces/responses/block-location-response.js +3 -0
  201. package/src/lib/interfaces/responses/block-location-response.js.map +1 -0
  202. package/src/lib/interfaces/responses/index.d.ts +18 -0
  203. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  204. package/src/lib/interfaces/status-code-response.d.ts +1 -6
  205. package/src/lib/interfaces/status-code-response.d.ts.map +1 -1
  206. package/src/lib/interfaces/storage/client-session.d.ts +8 -0
  207. package/src/lib/interfaces/storage/client-session.d.ts.map +1 -0
  208. package/src/lib/interfaces/storage/client-session.js +3 -0
  209. package/src/lib/interfaces/storage/client-session.js.map +1 -0
  210. package/src/lib/interfaces/storage/collection.d.ts +9 -0
  211. package/src/lib/interfaces/storage/collection.d.ts.map +1 -0
  212. package/src/lib/interfaces/storage/collection.js +3 -0
  213. package/src/lib/interfaces/storage/collection.js.map +1 -0
  214. package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts +8 -0
  215. package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts.map +1 -0
  216. package/src/lib/interfaces/storage/database-lifecycle-hooks.js +3 -0
  217. package/src/lib/interfaces/storage/database-lifecycle-hooks.js.map +1 -0
  218. package/src/lib/interfaces/storage/database.d.ts +9 -0
  219. package/src/lib/interfaces/storage/database.d.ts.map +1 -0
  220. package/src/lib/interfaces/storage/database.js +3 -0
  221. package/src/lib/interfaces/storage/database.js.map +1 -0
  222. package/src/lib/interfaces/storage/document-types.d.ts +9 -0
  223. package/src/lib/interfaces/storage/document-types.d.ts.map +1 -0
  224. package/src/lib/interfaces/storage/document-types.js +10 -0
  225. package/src/lib/interfaces/storage/document-types.js.map +1 -0
  226. package/src/lib/interfaces/storage/index.d.ts +7 -0
  227. package/src/lib/interfaces/storage/index.d.ts.map +1 -0
  228. package/src/lib/interfaces/storage/index.js +7 -0
  229. package/src/lib/interfaces/storage/index.js.map +1 -0
  230. package/src/lib/interfaces/storage/memberIndexSchema.d.ts +11 -0
  231. package/src/lib/interfaces/storage/memberIndexSchema.d.ts.map +1 -0
  232. package/src/lib/interfaces/storage/memberIndexSchema.js +26 -0
  233. package/src/lib/interfaces/storage/memberIndexSchema.js.map +1 -0
  234. package/src/lib/interfaces/userApiResponse.d.ts +17 -0
  235. package/src/lib/interfaces/userApiResponse.d.ts.map +1 -0
  236. package/src/lib/interfaces/userApiResponse.js +3 -0
  237. package/src/lib/interfaces/userApiResponse.js.map +1 -0
  238. package/src/lib/interfaces/websocketMessages.d.ts +64 -1
  239. package/src/lib/interfaces/websocketMessages.d.ts.map +1 -1
  240. package/src/lib/middleware/index.d.ts +2 -0
  241. package/src/lib/middleware/index.d.ts.map +1 -0
  242. package/src/lib/middleware/index.js +6 -0
  243. package/src/lib/middleware/index.js.map +1 -0
  244. package/src/lib/middleware/validateBody.d.ts +13 -0
  245. package/src/lib/middleware/validateBody.d.ts.map +1 -0
  246. package/src/lib/middleware/validateBody.js +35 -0
  247. package/src/lib/middleware/validateBody.js.map +1 -0
  248. package/src/lib/middlewares/authentication.d.ts +2 -0
  249. package/src/lib/middlewares/authentication.d.ts.map +1 -1
  250. package/src/lib/middlewares/authentication.js.map +1 -1
  251. package/src/lib/routers/api.d.ts +27 -0
  252. package/src/lib/routers/api.d.ts.map +1 -1
  253. package/src/lib/routers/api.js +44 -0
  254. package/src/lib/routers/api.js.map +1 -1
  255. package/src/lib/services/auth.d.ts +3 -1
  256. package/src/lib/services/auth.d.ts.map +1 -1
  257. package/src/lib/services/auth.js +51 -4
  258. package/src/lib/services/auth.js.map +1 -1
  259. package/src/lib/services/brightchain-member-init.service.d.ts +66 -0
  260. package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -0
  261. package/src/lib/services/brightchain-member-init.service.js +152 -0
  262. package/src/lib/services/brightchain-member-init.service.js.map +1 -0
  263. package/src/lib/services/clientWebSocketServer.d.ts +147 -0
  264. package/src/lib/services/clientWebSocketServer.d.ts.map +1 -0
  265. package/src/lib/services/clientWebSocketServer.js +437 -0
  266. package/src/lib/services/clientWebSocketServer.js.map +1 -0
  267. package/src/lib/services/index.d.ts +2 -0
  268. package/src/lib/services/index.d.ts.map +1 -1
  269. package/src/lib/services/index.js +2 -0
  270. package/src/lib/services/index.js.map +1 -1
  271. package/src/lib/stores/diskBlockAsyncStore.d.ts +4 -4
  272. package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
  273. package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
  274. package/src/lib/stores/diskBlockStore.d.ts +82 -17
  275. package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
  276. package/src/lib/stores/diskBlockStore.js +787 -19
  277. package/src/lib/stores/diskBlockStore.js.map +1 -1
  278. package/src/lib/stores/diskBlockSyncStore.d.ts +24 -5
  279. package/src/lib/stores/diskBlockSyncStore.d.ts.map +1 -1
  280. package/src/lib/stores/diskBlockSyncStore.js +30 -13
  281. package/src/lib/stores/diskBlockSyncStore.js.map +1 -1
  282. package/src/lib/validation/userValidation.d.ts +27 -0
  283. package/src/lib/validation/userValidation.d.ts.map +1 -0
  284. package/src/lib/validation/userValidation.js +70 -0
  285. package/src/lib/validation/userValidation.js.map +1 -0
@@ -0,0 +1,17 @@
1
+ import { IAuthResponse, IUserProfile } from '@brightchain/brightchain-lib';
2
+ import { IApiMessageResponse } from '@digitaldefiance/node-express-suite';
3
+ /**
4
+ * API response for user profile retrieval.
5
+ * Wraps the shared IUserProfile DTO with the standard API message envelope.
6
+ */
7
+ export interface IUserProfileApiResponse extends IApiMessageResponse {
8
+ data: IUserProfile<string>;
9
+ }
10
+ /**
11
+ * API response for authentication operations (login/register).
12
+ * Wraps the shared IAuthResponse DTO with the standard API message envelope.
13
+ */
14
+ export interface IAuthApiResponse extends IApiMessageResponse {
15
+ data: IAuthResponse<string>;
16
+ }
17
+ //# sourceMappingURL=userApiResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userApiResponse.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/userApiResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC7B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=userApiResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userApiResponse.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/userApiResponse.ts"],"names":[],"mappings":""}
@@ -114,6 +114,69 @@ export interface IBlockRemovalMessage {
114
114
  };
115
115
  timestamp: string;
116
116
  }
117
+ /**
118
+ * Pool gossip announcement payload carried inside gossip batches.
119
+ * Used for pool creation/update and pool removal announcements.
120
+ *
121
+ * @see Requirements 8.1, 8.2, 8.4
122
+ */
123
+ export interface IPoolGossipAnnouncement {
124
+ type: 'pool_announce' | 'pool_remove';
125
+ poolId: string;
126
+ nodeId: string;
127
+ blockCount: number;
128
+ totalSize: number;
129
+ encrypted: boolean;
130
+ encryptedMetadata?: string;
131
+ ttl: number;
132
+ }
133
+ /**
134
+ * Pool announcement message
135
+ *
136
+ * @see Requirements 8.1, 8.2
137
+ */
138
+ export interface IPoolAnnouncementMessage {
139
+ type: GossipMessageType.POOL_ANNOUNCEMENT;
140
+ payload: IPoolGossipAnnouncement;
141
+ timestamp: string;
142
+ }
143
+ /**
144
+ * Pool removal message
145
+ *
146
+ * @see Requirements 8.4
147
+ */
148
+ export interface IPoolRemovalMessage {
149
+ type: GossipMessageType.POOL_REMOVAL;
150
+ payload: IPoolGossipAnnouncement;
151
+ timestamp: string;
152
+ }
153
+ /**
154
+ * Pool list request message for discovery queries
155
+ *
156
+ * @see Requirements 7.1
157
+ */
158
+ export interface IPoolListRequestMessage {
159
+ type: GossipMessageType.POOL_LIST_REQUEST;
160
+ payload: {
161
+ requestingNodeId: string;
162
+ };
163
+ timestamp: string;
164
+ requestId: string;
165
+ }
166
+ /**
167
+ * Pool list response message for discovery queries
168
+ *
169
+ * @see Requirements 7.1
170
+ */
171
+ export interface IPoolListResponseMessage {
172
+ type: GossipMessageType.POOL_LIST_RESPONSE;
173
+ payload: {
174
+ nodeId: string;
175
+ pools: IPoolGossipAnnouncement[];
176
+ };
177
+ timestamp: string;
178
+ requestId: string;
179
+ }
117
180
  /**
118
181
  * Announcement batch message
119
182
  */
@@ -247,5 +310,5 @@ export interface IEventSubscribeMessage {
247
310
  /**
248
311
  * Union type of all WebSocket messages
249
312
  */
250
- export type WebSocketMessage = IBloomFilterRequest | IBloomFilterResponse | IBlockQueryMessage | IBlockQueryResponse | IManifestRequest | IManifestResponse | IBlockAnnouncementMessage | IBlockRemovalMessage | IAnnouncementBatchMessage | IPingMessage | IPongMessage | IMessageSendMessage | IMessageReceivedMessage | IMessageAckMessage | IMessageQueryMessage | IEventSubscribeMessage;
313
+ export type WebSocketMessage = IBloomFilterRequest | IBloomFilterResponse | IBlockQueryMessage | IBlockQueryResponse | IManifestRequest | IManifestResponse | IBlockAnnouncementMessage | IBlockRemovalMessage | IAnnouncementBatchMessage | IPoolAnnouncementMessage | IPoolRemovalMessage | IPoolListRequestMessage | IPoolListResponseMessage | IPingMessage | IPongMessage | IMessageSendMessage | IMessageReceivedMessage | IMessageAckMessage | IMessageQueryMessage | IEventSubscribeMessage;
251
314
  //# sourceMappingURL=websocketMessages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websocketMessages.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/websocketMessages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,oBAAoB,CAAC,oBAAoB,CAAC;IAChD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;IACjD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACvC,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,oBAAoB,CAAC,oBAAoB,CAAC;IAChD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAC5C,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,oBAAoB,CAAC,iBAAiB,CAAC;IAC7C,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;IAC3C,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC;IACtC,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;IAC3C,OAAO,EAAE;QACP,aAAa,EAAE,KAAK,CAAC;YACnB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;YAC/B,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;YACZ,eAAe,CAAC,EAAE;gBAChB,SAAS,EAAE,MAAM,CAAC;gBAClB,YAAY,EAAE,MAAM,EAAE,CAAC;gBACvB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;gBAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACnB,UAAU,EAAE,MAAM,CAAC;gBACnB,WAAW,EAAE,OAAO,CAAC;aACtB,CAAC;YACF,WAAW,CAAC,EAAE;gBACZ,SAAS,EAAE,MAAM,CAAC;gBAClB,WAAW,EAAE,MAAM,CAAC;gBACpB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;gBACpD,kBAAkB,EAAE,MAAM,CAAC;aAC5B,CAAC;SACH,CAAC,CAAC;QACH,wEAAwE;QACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,2DAA2D;QAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;IAChC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;IAChC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,kBAAkB,CAAC,YAAY,CAAC;IACtC,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC,gBAAgB,CAAC;IAC1C,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC;IACrC,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC,aAAa,CAAC;IACvC,OAAO,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,CAAC,eAAe,CAAC;IACzC,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,oBAAoB,GACpB,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,yBAAyB,GACzB,oBAAoB,GACpB,yBAAyB,GACzB,YAAY,GACZ,YAAY,GACZ,mBAAmB,GACnB,uBAAuB,GACvB,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,CAAC"}
1
+ {"version":3,"file":"websocketMessages.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/websocketMessages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,oBAAoB,CAAC,oBAAoB,CAAC;IAChD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;IACjD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;YAClB,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;IACvC,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,oBAAoB,CAAC,oBAAoB,CAAC;IAChD,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC,gBAAgB,CAAC;IAC5C,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,oBAAoB,CAAC,iBAAiB,CAAC;IAC7C,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;IAC3C,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAC;IACtC,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,eAAe,GAAG,aAAa,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,OAAO,EAAE,uBAAuB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC,YAAY,CAAC;IACrC,OAAO,EAAE,uBAAuB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,CAAC;IAC1C,OAAO,EAAE;QACP,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;IAC3C,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,uBAAuB,EAAE,CAAC;KAClC,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;IAC3C,OAAO,EAAE;QACP,aAAa,EAAE,KAAK,CAAC;YACnB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;YAC/B,OAAO,EAAE,MAAM,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC;YACf,GAAG,EAAE,MAAM,CAAC;YACZ,eAAe,CAAC,EAAE;gBAChB,SAAS,EAAE,MAAM,CAAC;gBAClB,YAAY,EAAE,MAAM,EAAE,CAAC;gBACvB,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;gBAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACnB,UAAU,EAAE,MAAM,CAAC;gBACnB,WAAW,EAAE,OAAO,CAAC;aACtB,CAAC;YACF,WAAW,CAAC,EAAE;gBACZ,SAAS,EAAE,MAAM,CAAC;gBAClB,WAAW,EAAE,MAAM,CAAC;gBACpB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;gBACpD,kBAAkB,EAAE,MAAM,CAAC;aAC5B,CAAC;SACH,CAAC,CAAC;QACH,wEAAwE;QACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,2DAA2D;QAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;CACtB;AAID;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;IAChC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,oBAAoB,CAAC,IAAI,CAAC;IAChC,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,kBAAkB,CAAC,YAAY,CAAC;IACtC,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC,gBAAgB,CAAC;IAC1C,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,kBAAkB,CAAC,WAAW,CAAC;IACrC,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC,aAAa,CAAC;IACvC,OAAO,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,kBAAkB,CAAC,eAAe,CAAC;IACzC,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,oBAAoB,GACpB,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,yBAAyB,GACzB,oBAAoB,GACpB,yBAAyB,GACzB,wBAAwB,GACxB,mBAAmB,GACnB,uBAAuB,GACvB,wBAAwB,GACxB,YAAY,GACZ,YAAY,GACZ,mBAAmB,GACnB,uBAAuB,GACvB,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { validateBody } from './validateBody';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateBody = void 0;
4
+ var validateBody_1 = require("./validateBody");
5
+ Object.defineProperty(exports, "validateBody", { enumerable: true, get: function () { return validateBody_1.validateBody; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middleware/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
@@ -0,0 +1,13 @@
1
+ import { BrandedInterfaceDefinition } from '@digitaldefiance/branded-interface';
2
+ import type { NextFunction, Request, Response } from 'express';
3
+ /**
4
+ * Express middleware factory that validates the request body against a
5
+ * BrandedInterfaceDefinition using safeParseInterface().
6
+ *
7
+ * On success: attaches the branded instance to `req.brandedBody` and calls `next()`.
8
+ * On failure: responds with HTTP 400 and a JSON error body.
9
+ *
10
+ * Requirements: 6.1, 6.2, 6.3, 6.4, 6.5
11
+ */
12
+ export declare function validateBody<T extends Record<string, unknown>>(definition: BrandedInterfaceDefinition<T>): (req: Request, res: Response, next: NextFunction) => void;
13
+ //# sourceMappingURL=validateBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateBody.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middleware/validateBody.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAE3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC,IAEjC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAmB/D"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateBody = validateBody;
4
+ const branded_interface_1 = require("@digitaldefiance/branded-interface");
5
+ /**
6
+ * Express middleware factory that validates the request body against a
7
+ * BrandedInterfaceDefinition using safeParseInterface().
8
+ *
9
+ * On success: attaches the branded instance to `req.brandedBody` and calls `next()`.
10
+ * On failure: responds with HTTP 400 and a JSON error body.
11
+ *
12
+ * Requirements: 6.1, 6.2, 6.3, 6.4, 6.5
13
+ */
14
+ function validateBody(definition) {
15
+ return (req, res, next) => {
16
+ if (!req.body || typeof req.body !== 'object' || Array.isArray(req.body)) {
17
+ res
18
+ .status(400)
19
+ .json({ error: 'Request body is missing or not an object' });
20
+ return;
21
+ }
22
+ const result = (0, branded_interface_1.safeParseInterface)(req.body, definition);
23
+ if (!result.success) {
24
+ res.status(400).json({
25
+ error: result.error.message,
26
+ code: result.error.code,
27
+ fieldErrors: result.error.fieldErrors ?? [],
28
+ });
29
+ return;
30
+ }
31
+ req.brandedBody = result.value;
32
+ next();
33
+ };
34
+ }
35
+ //# sourceMappingURL=validateBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateBody.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middleware/validateBody.ts"],"names":[],"mappings":";;AAeA,oCAsBC;AArCD,0EAG4C;AAG5C;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,UAAyC;IAEzC,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,GAAG;iBACA,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,sCAAkB,EAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;gBAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE;aAC5C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACA,GAA0C,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACvE,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
@@ -18,6 +18,8 @@ export interface IMemberContext {
18
18
  */
19
19
  export interface IAuthenticatedRequest extends Request {
20
20
  memberContext?: IMemberContext;
21
+ /** Request ID (UUID v4) set by requestIdMiddleware */
22
+ requestId?: string;
21
23
  }
22
24
  /**
23
25
  * Configuration options for the JWT authentication middleware.
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middlewares/authentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAS1D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,OAAO;IACpD,aAAa,CAAC,EAAE,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAaxD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,IAE1D,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,IAAI,CAsER;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,IAEpD,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,IAAI,CAqDR;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,SAvJpC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAsJR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,SAnKrC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAkKR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,SA1FtC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAyFR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,SAtGzC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAqGR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,KAAK,EAAE,UAAU,EAAE,SAlHhD,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAiHR;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UApNjE,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,IAmNR;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,GAAG,KAAK,EAAE,UAAU,EAAE,UAnOf,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,IAmOR"}
1
+ {"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middlewares/authentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAS1D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,OAAO;IACpD,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAaxD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,IAE1D,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,IAAI,CAsER;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,IAEpD,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,IAAI,CAqDR;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,SAvJpC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAsJR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,SAnKrC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAkKR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,SA1FtC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAyFR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,SAtGzC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAqGR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,KAAK,EAAE,UAAU,EAAE,SAlHhD,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAiHR;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UApNjE,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,IAmNR;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,GAAG,KAAK,EAAE,UAAU,EAAE,UAnOf,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,IAmOR"}
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middlewares/authentication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middlewares/authentication.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ import { ConversationService } from '@brightchain/brightchain-lib/lib/services/c
4
4
  import { GroupService } from '@brightchain/brightchain-lib/lib/services/communication/groupService';
5
5
  import { PermissionService } from '@brightchain/brightchain-lib/lib/services/communication/permissionService';
6
6
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
7
+ import { PoolDiscoveryService } from '../availability/poolDiscoveryService';
8
+ import { IntrospectionController, IntrospectionControllerConfig } from '../controllers/api/introspection';
7
9
  import { NodesController } from '../controllers/api/nodes';
8
10
  import { SyncController } from '../controllers/api/sync';
9
11
  import { IBrightChainApplication } from '../interfaces';
@@ -31,6 +33,8 @@ export declare class ApiRouter<TID extends PlatformID = DefaultBackendIdType> ex
31
33
  private readonly scblController;
32
34
  private readonly syncController;
33
35
  private readonly userController;
36
+ private introspectionController;
37
+ private readonly brightchainApplication;
34
38
  private readonly jwtService;
35
39
  private readonly emailService;
36
40
  private readonly roleService;
@@ -137,5 +141,28 @@ export declare class ApiRouter<TID extends PlatformID = DefaultBackendIdType> ex
137
141
  * Get the ChannelController instance.
138
142
  */
139
143
  getChannelController(): typeof this.channelController;
144
+ /**
145
+ * Initialize the IntrospectionController with its full config.
146
+ * Called once all dependencies are available.
147
+ * Mounts routes at `/introspection`.
148
+ * @requirements 1.1, 1.4, 1.5
149
+ */
150
+ initIntrospectionController(config: IntrospectionControllerConfig): void;
151
+ /**
152
+ * Update the IntrospectionController config after initialization.
153
+ * Useful when individual dependencies become available incrementally.
154
+ * @requirements 1.4, 1.5
155
+ */
156
+ setIntrospectionConfig(config: IntrospectionControllerConfig): void;
157
+ /**
158
+ * Set the PoolDiscoveryService on the IntrospectionController.
159
+ * Called by App.setPoolDiscoveryService after the service is wired.
160
+ * @requirements 7.1, 8.3
161
+ */
162
+ setIntrospectionPoolDiscoveryService(service: PoolDiscoveryService): void;
163
+ /**
164
+ * Get the IntrospectionController instance.
165
+ */
166
+ getIntrospectionController(): IntrospectionController<TID> | null;
140
167
  }
141
168
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ const energy_1 = require("../controllers/api/energy");
14
14
  const groups_1 = require("../controllers/api/groups");
15
15
  const health_1 = require("../controllers/api/health");
16
16
  const i18n_1 = require("../controllers/api/i18n");
17
+ const introspection_1 = require("../controllers/api/introspection");
17
18
  const messages_1 = require("../controllers/api/messages");
18
19
  const nodes_1 = require("../controllers/api/nodes");
19
20
  const quorum_1 = require("../controllers/api/quorum");
@@ -31,6 +32,8 @@ class ApiRouter extends base_1.BaseRouter {
31
32
  */
32
33
  constructor(application) {
33
34
  super(application);
35
+ this.introspectionController = null;
36
+ this.brightchainApplication = application;
34
37
  this.jwtService = new node_express_suite_1.JwtService(application);
35
38
  this.roleService = new node_express_suite_1.RoleService(application);
36
39
  this.emailService = new email_1.EmailService(application);
@@ -210,6 +213,47 @@ class ApiRouter extends base_1.BaseRouter {
210
213
  getChannelController() {
211
214
  return this.channelController;
212
215
  }
216
+ // ─── Introspection controller wiring ────────────────────────────────
217
+ /**
218
+ * Initialize the IntrospectionController with its full config.
219
+ * Called once all dependencies are available.
220
+ * Mounts routes at `/introspection`.
221
+ * @requirements 1.1, 1.4, 1.5
222
+ */
223
+ initIntrospectionController(config) {
224
+ this.introspectionController = new introspection_1.IntrospectionController(this.brightchainApplication, config);
225
+ this.router.use('/introspection', this.introspectionController.router);
226
+ }
227
+ /**
228
+ * Update the IntrospectionController config after initialization.
229
+ * Useful when individual dependencies become available incrementally.
230
+ * @requirements 1.4, 1.5
231
+ */
232
+ setIntrospectionConfig(config) {
233
+ if (this.introspectionController) {
234
+ this.introspectionController.setConfig(config);
235
+ }
236
+ }
237
+ /**
238
+ * Set the PoolDiscoveryService on the IntrospectionController.
239
+ * Called by App.setPoolDiscoveryService after the service is wired.
240
+ * @requirements 7.1, 8.3
241
+ */
242
+ setIntrospectionPoolDiscoveryService(service) {
243
+ if (this.introspectionController) {
244
+ const currentConfig = this.introspectionController.getConfig();
245
+ this.introspectionController.setConfig({
246
+ ...currentConfig,
247
+ poolDiscoveryService: service,
248
+ });
249
+ }
250
+ }
251
+ /**
252
+ * Get the IntrospectionController instance.
253
+ */
254
+ getIntrospectionController() {
255
+ return this.introspectionController;
256
+ }
213
257
  }
214
258
  exports.ApiRouter = ApiRouter;
215
259
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,12 @@ export declare class AuthService<TID extends PlatformID = DefaultBackendIdType>
14
14
  private emailService;
15
15
  private jwtSecret;
16
16
  constructor(application: IBrightChainApplication<TID>, memberStore: MemberStore, energyStore: EnergyAccountStore, emailService: EmailService<TID>, jwtSecret: string);
17
- register(username: string, email: string, _mnemonic?: SecureString): Promise<IAuthToken>;
17
+ register(username: string, email: string, password: SecureString, _mnemonic?: SecureString): Promise<IAuthToken>;
18
18
  login(credentials: IAuthCredentials): Promise<IAuthToken>;
19
19
  signToken(memberId: string, username: string, type: MemberType): string;
20
20
  verifyToken(token: string): Promise<ITokenPayload>;
21
+ storePasswordHash(memberId: Uint8Array, hash: string): Promise<void>;
22
+ getPasswordHash(memberId: Uint8Array): Promise<string>;
21
23
  private sendWelcomeEmail;
22
24
  }
23
25
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,kBAAkB,EAClB,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,WAAW,CAAC,GAAG,CAAC;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,SAAS,CAAS;gBAGxB,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,kBAAkB,EAC/B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAE,MAAM;IASb,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,UAAU,CAAC;IAwBhB,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA0B/D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM;IAYjE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;YAS1C,gBAAgB;CA2B/B"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,WAAW,CAAC,GAAG,CAAC;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,SAAS,CAAS;gBAGxB,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,kBAAkB,EAC/B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAE,MAAM;IASb,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,UAAU,CAAC;IA0ChB,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4C/D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM;IAYjE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IASlD,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;YAS9C,gBAAgB;CA2B/B"}
@@ -4,8 +4,10 @@ exports.AuthService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const brightchain_lib_1 = require("@brightchain/brightchain-lib");
6
6
  const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
7
+ const bcrypt = tslib_1.__importStar(require("bcrypt"));
7
8
  const jwt = tslib_1.__importStar(require("jsonwebtoken"));
8
9
  const base_1 = require("./base");
10
+ const BCRYPT_ROUNDS = 12;
9
11
  class AuthService extends base_1.BaseService {
10
12
  constructor(application, memberStore, energyStore, emailService, jwtSecret) {
11
13
  super(application);
@@ -14,14 +16,28 @@ class AuthService extends base_1.BaseService {
14
16
  this.emailService = emailService;
15
17
  this.jwtSecret = jwtSecret;
16
18
  }
17
- async register(username, email, _mnemonic) {
19
+ async register(username, email, password, _mnemonic) {
20
+ // Check for duplicate email
21
+ const existing = await this.memberStore.queryIndex({ email });
22
+ if (existing.length > 0) {
23
+ throw new Error('Email already registered');
24
+ }
25
+ // Hash password before member creation
26
+ const passwordValue = password.value;
27
+ if (!passwordValue) {
28
+ throw new Error('Password value is empty');
29
+ }
30
+ const passwordHash = await bcrypt.hash(passwordValue, BCRYPT_ROUNDS);
18
31
  const { reference } = await this.memberStore.createMember({
19
32
  type: ecies_lib_1.MemberType.User,
20
33
  name: username,
21
34
  contactEmail: new brightchain_lib_1.EmailString(email),
22
35
  });
23
36
  const memberId = reference.id.toString();
24
- const memberChecksum = brightchain_lib_1.Checksum.fromUint8Array(reference.id);
37
+ const idBytes = reference.id;
38
+ const memberChecksum = brightchain_lib_1.ServiceProvider.getInstance().checksumService.calculateChecksum(idBytes);
39
+ // Store password hash in member's private profile
40
+ await this.storePasswordHash(reference.id, passwordHash);
25
41
  const energyAccount = brightchain_lib_1.EnergyAccount.createWithTrialCredits(memberChecksum);
26
42
  await this.energyStore.set(memberChecksum, energyAccount);
27
43
  await this.sendWelcomeEmail(email, username);
@@ -33,13 +49,28 @@ class AuthService extends base_1.BaseService {
33
49
  };
34
50
  }
35
51
  async login(credentials) {
36
- const results = await this.memberStore.queryIndex({ limit: 1 });
52
+ // Look up member by username
53
+ const results = await this.memberStore.queryIndex({
54
+ name: credentials.username,
55
+ limit: 1,
56
+ });
37
57
  if (results.length === 0) {
38
58
  throw new Error('Invalid credentials');
39
59
  }
40
60
  const reference = results[0];
61
+ // Retrieve stored password hash and verify
62
+ const storedHash = await this.getPasswordHash(reference.id);
63
+ const passwordValue = credentials.password.value;
64
+ if (!passwordValue) {
65
+ throw new Error('Password value is empty');
66
+ }
67
+ const isValid = await bcrypt.compare(passwordValue, storedHash);
68
+ if (!isValid) {
69
+ throw new Error('Invalid credentials');
70
+ }
41
71
  const memberId = reference.id.toString();
42
- const memberChecksum = brightchain_lib_1.Checksum.fromUint8Array(reference.id);
72
+ const idBytes = reference.id;
73
+ const memberChecksum = brightchain_lib_1.ServiceProvider.getInstance().checksumService.calculateChecksum(idBytes);
43
74
  const energyAccount = await this.energyStore.getOrCreate(memberChecksum);
44
75
  const token = this.signToken(memberId, credentials.username, reference.type);
45
76
  return {
@@ -67,6 +98,22 @@ class AuthService extends base_1.BaseService {
67
98
  throw new Error('Invalid token');
68
99
  }
69
100
  }
101
+ async storePasswordHash(memberId, hash) {
102
+ await this.memberStore.updateMember(memberId, {
103
+ id: memberId,
104
+ privateChanges: {
105
+ passwordHash: hash,
106
+ },
107
+ });
108
+ }
109
+ async getPasswordHash(memberId) {
110
+ const profile = await this.memberStore.getMemberProfile(memberId);
111
+ const passwordHash = profile.privateProfile?.passwordHash;
112
+ if (!passwordHash) {
113
+ throw new Error('No password hash found for member');
114
+ }
115
+ return passwordHash;
116
+ }
70
117
  async sendWelcomeEmail(email, username) {
71
118
  if (!this.emailService) {
72
119
  console.log(`[EmailService disabled] Would send welcome email to ${email}`);
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @fileoverview BrightChainMemberInitService — initialises BrightChainDb and
3
+ * persists system/admin/member users as IMemberIndexDocument entries.
4
+ *
5
+ * Design constraints:
6
+ * - NO imports from @digitaldefiance/node-express-suite (no Mongoose, no Express)
7
+ * - NO `any` / `unknown` in the public API surface
8
+ * - NO `as any` / `as unknown` casts
9
+ * - All writes go through BrightChainDb.withTransaction exclusively
10
+ */
11
+ import { BlockSize, IBrightChainInitResult, IBrightChainMemberInitInput } from '@brightchain/brightchain-lib';
12
+ import { BrightChainDb, CBLIndex } from '@brightchain/db';
13
+ /**
14
+ * BrightChain-native configuration for BrightChainMemberInitService.
15
+ * Contains only what the service needs — no Mongoose, no Express.
16
+ */
17
+ export interface IBrightChainMemberInitConfig {
18
+ /** Pool name used as the BrightChainDb name and poolId */
19
+ memberPoolName: string;
20
+ /**
21
+ * Filesystem path for the disk block store.
22
+ * When set (and useMemoryStore is false), a DiskBlockStore and
23
+ * PersistentHeadRegistry are used so data survives process restarts.
24
+ */
25
+ blockStorePath?: string;
26
+ /** Force in-memory store even when blockStorePath is set */
27
+ useMemoryStore?: boolean;
28
+ /** Block size for the store (defaults to BlockSize.Small) */
29
+ blockSize?: BlockSize;
30
+ }
31
+ /**
32
+ * Initialises a BrightChainDb instance and persists system/admin/member users
33
+ * as IMemberIndexDocument entries in the member index collection.
34
+ *
35
+ * The service is idempotent: calling initialize() multiple times with the same
36
+ * users will not create duplicate entries.
37
+ */
38
+ export declare class BrightChainMemberInitService {
39
+ private _db;
40
+ private _memberCblIndex;
41
+ /**
42
+ * The initialised BrightChainDb instance.
43
+ * @throws Error if initialize() has not been called yet.
44
+ */
45
+ get db(): BrightChainDb;
46
+ /**
47
+ * The member pool CBLIndex.
48
+ * @throws Error if initialize() has not been called yet.
49
+ */
50
+ get memberCblIndex(): CBLIndex;
51
+ /**
52
+ * Initialise the block store and BrightChainDb, then persist any missing
53
+ * member index entries.
54
+ *
55
+ * Steps:
56
+ * 1. Build the appropriate block store (disk or memory)
57
+ * 2. Create and connect BrightChainDb (with PersistentHeadRegistry when disk)
58
+ * 3. Create CBLIndex for the member pool
59
+ * 4. Build candidate IMemberIndexDocument entries
60
+ * 5. Validate all candidates against MEMBER_INDEX_SCHEMA (pre-transaction)
61
+ * 6. Check which candidates are already present (idempotency)
62
+ * 7. Insert missing entries in a single withTransaction call
63
+ */
64
+ initialize(config: IBrightChainMemberInitConfig, input: IBrightChainMemberInitInput): Promise<IBrightChainInitResult<BrightChainDb>>;
65
+ }
66
+ //# sourceMappingURL=brightchain-member-init.service.d.ts.map