@brightchain/brightchain-lib 0.8.1 → 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 (499) hide show
  1. package/brightchain-lib/BLOCK_COVERAGE_AUDIT.md +169 -0
  2. package/package.json +2 -2
  3. package/src/browser.d.ts +1 -4
  4. package/src/browser.d.ts.map +1 -1
  5. package/src/browser.js +6 -9
  6. package/src/browser.js.map +1 -1
  7. package/src/lib/blockMetadata.d.ts +10 -9
  8. package/src/lib/blockMetadata.d.ts.map +1 -1
  9. package/src/lib/blockMetadata.js +20 -36
  10. package/src/lib/blockMetadata.js.map +1 -1
  11. package/src/lib/blocks/base.d.ts +23 -0
  12. package/src/lib/blocks/base.d.ts.map +1 -1
  13. package/src/lib/blocks/base.js +33 -15
  14. package/src/lib/blocks/base.js.map +1 -1
  15. package/src/lib/blocks/cbl.d.ts +34 -1
  16. package/src/lib/blocks/cbl.d.ts.map +1 -1
  17. package/src/lib/blocks/cbl.js +36 -3
  18. package/src/lib/blocks/cbl.js.map +1 -1
  19. package/src/lib/blocks/cblBase.d.ts +45 -1
  20. package/src/lib/blocks/cblBase.d.ts.map +1 -1
  21. package/src/lib/blocks/cblBase.js +106 -52
  22. package/src/lib/blocks/cblBase.js.map +1 -1
  23. package/src/lib/blocks/encrypted.d.ts +34 -5
  24. package/src/lib/blocks/encrypted.d.ts.map +1 -1
  25. package/src/lib/blocks/encrypted.js +129 -24
  26. package/src/lib/blocks/encrypted.js.map +1 -1
  27. package/src/lib/blocks/encryptedBlockFactory.js +2 -2
  28. package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
  29. package/src/lib/blocks/ephemeral.d.ts +35 -9
  30. package/src/lib/blocks/ephemeral.d.ts.map +1 -1
  31. package/src/lib/blocks/ephemeral.js +71 -42
  32. package/src/lib/blocks/ephemeral.js.map +1 -1
  33. package/src/lib/blocks/extendedCbl.d.ts +1 -1
  34. package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
  35. package/src/lib/blocks/extendedCbl.js +7 -7
  36. package/src/lib/blocks/extendedCbl.js.map +1 -1
  37. package/src/lib/blocks/handle.js +2 -2
  38. package/src/lib/blocks/handle.js.map +1 -1
  39. package/src/lib/blocks/handleTuple.js +2 -2
  40. package/src/lib/blocks/handleTuple.js.map +1 -1
  41. package/src/lib/blocks/random.d.ts +2 -1
  42. package/src/lib/blocks/random.d.ts.map +1 -1
  43. package/src/lib/blocks/random.js +7 -4
  44. package/src/lib/blocks/random.js.map +1 -1
  45. package/src/lib/blocks/rawData.d.ts +3 -1
  46. package/src/lib/blocks/rawData.d.ts.map +1 -1
  47. package/src/lib/blocks/rawData.js +31 -6
  48. package/src/lib/blocks/rawData.js.map +1 -1
  49. package/src/lib/blocks/whitened.d.ts +2 -1
  50. package/src/lib/blocks/whitened.d.ts.map +1 -1
  51. package/src/lib/blocks/whitened.js +7 -5
  52. package/src/lib/blocks/whitened.js.map +1 -1
  53. package/src/lib/config/constants.d.ts +2 -0
  54. package/src/lib/config/constants.d.ts.map +1 -0
  55. package/src/lib/config/constants.js +5 -0
  56. package/src/lib/config/constants.js.map +1 -0
  57. package/src/lib/constants.d.ts +37 -0
  58. package/src/lib/constants.d.ts.map +1 -1
  59. package/src/lib/constants.js +40 -1
  60. package/src/lib/constants.js.map +1 -1
  61. package/src/lib/cpus/index.d.ts +2 -3
  62. package/src/lib/cpus/index.d.ts.map +1 -1
  63. package/src/lib/cpus/index.js +5 -0
  64. package/src/lib/cpus/index.js.map +1 -1
  65. package/src/lib/cpus/instructionFactory.d.ts +56 -0
  66. package/src/lib/cpus/instructionFactory.d.ts.map +1 -0
  67. package/src/lib/cpus/instructionFactory.js +190 -0
  68. package/src/lib/cpus/instructionFactory.js.map +1 -0
  69. package/src/lib/cpus/instructionTables.d.ts +14 -12
  70. package/src/lib/cpus/instructionTables.d.ts.map +1 -1
  71. package/src/lib/cpus/instructionTables.js +17 -147
  72. package/src/lib/cpus/instructionTables.js.map +1 -1
  73. package/src/lib/cpus/riscvCpu.d.ts +51 -0
  74. package/src/lib/cpus/riscvCpu.d.ts.map +1 -0
  75. package/src/lib/cpus/riscvCpu.js +131 -0
  76. package/src/lib/cpus/riscvCpu.js.map +1 -0
  77. package/src/lib/documents/base/document.d.ts +1 -1
  78. package/src/lib/documents/base/document.d.ts.map +1 -1
  79. package/src/lib/documents/member/index.d.ts +2 -0
  80. package/src/lib/documents/member/index.d.ts.map +1 -1
  81. package/src/lib/documents/member/index.js +2 -0
  82. package/src/lib/documents/member/index.js.map +1 -1
  83. package/src/lib/documents/member/memberDocument.d.ts +4 -3
  84. package/src/lib/documents/member/memberDocument.d.ts.map +1 -1
  85. package/src/lib/documents/member/memberDocument.js +11 -8
  86. package/src/lib/documents/member/memberDocument.js.map +1 -1
  87. package/src/lib/documents/member/memberHydration.d.ts.map +1 -1
  88. package/src/lib/documents/member/memberHydration.js +7 -21
  89. package/src/lib/documents/member/memberHydration.js.map +1 -1
  90. package/src/lib/documents/member/memberOperational.d.ts.map +1 -1
  91. package/src/lib/documents/member/memberOperational.js +2 -2
  92. package/src/lib/documents/member/memberOperational.js.map +1 -1
  93. package/src/lib/documents/member/memberProfileDocument.d.ts +138 -0
  94. package/src/lib/documents/member/memberProfileDocument.d.ts.map +1 -0
  95. package/src/lib/documents/member/memberProfileDocument.js +326 -0
  96. package/src/lib/documents/member/memberProfileDocument.js.map +1 -0
  97. package/src/lib/documents/member/memberProfileHydration.d.ts +12 -0
  98. package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -0
  99. package/src/lib/documents/member/memberProfileHydration.js +143 -0
  100. package/src/lib/documents/member/memberProfileHydration.js.map +1 -0
  101. package/src/lib/documents/network/networkDocument.d.ts.map +1 -1
  102. package/src/lib/documents/network/networkDocument.js +4 -3
  103. package/src/lib/documents/network/networkDocument.js.map +1 -1
  104. package/src/lib/documents/quorumDocument.d.ts +3 -14
  105. package/src/lib/documents/quorumDocument.d.ts.map +1 -1
  106. package/src/lib/documents/quorumDocument.js +4 -2
  107. package/src/lib/documents/quorumDocument.js.map +1 -1
  108. package/src/lib/encryptedBlockMetadata.d.ts +13 -5
  109. package/src/lib/encryptedBlockMetadata.d.ts.map +1 -1
  110. package/src/lib/encryptedBlockMetadata.js +31 -23
  111. package/src/lib/encryptedBlockMetadata.js.map +1 -1
  112. package/src/lib/enumerations/blockSize.d.ts +2 -2
  113. package/src/lib/enumerations/blockSize.d.ts.map +1 -1
  114. package/src/lib/enumerations/blockSize.js +15 -15
  115. package/src/lib/enumerations/blockSize.js.map +1 -1
  116. package/src/lib/enumerations/{stringNames.d.ts → brightChainStrings.d.ts} +4 -3
  117. package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -0
  118. package/src/lib/enumerations/brightChainStrings.js +437 -0
  119. package/src/lib/enumerations/brightChainStrings.js.map +1 -0
  120. package/src/lib/enumerations/cblErrorType.d.ts +1 -0
  121. package/src/lib/enumerations/cblErrorType.d.ts.map +1 -1
  122. package/src/lib/enumerations/cblErrorType.js +1 -0
  123. package/src/lib/enumerations/cblErrorType.js.map +1 -1
  124. package/src/lib/enumerations/index.d.ts +1 -1
  125. package/src/lib/enumerations/index.d.ts.map +1 -1
  126. package/src/lib/enumerations/index.js +1 -1
  127. package/src/lib/enumerations/index.js.map +1 -1
  128. package/src/lib/enumerations/votingDerivationErrorType.d.ts +2 -2
  129. package/src/lib/enumerations/votingDerivationErrorType.d.ts.map +1 -1
  130. package/src/lib/enumerations/votingDerivationErrorType.js +11 -11
  131. package/src/lib/enumerations/votingDerivationErrorType.js.map +1 -1
  132. package/src/lib/ephemeralBlockMetadata.d.ts +13 -8
  133. package/src/lib/ephemeralBlockMetadata.d.ts.map +1 -1
  134. package/src/lib/ephemeralBlockMetadata.js +27 -19
  135. package/src/lib/ephemeralBlockMetadata.js.map +1 -1
  136. package/src/lib/errors/block/blockAccess.d.ts +2 -2
  137. package/src/lib/errors/block/blockAccess.d.ts.map +1 -1
  138. package/src/lib/errors/block/blockAccess.js +8 -8
  139. package/src/lib/errors/block/blockAccess.js.map +1 -1
  140. package/src/lib/errors/block/blockCapacity.d.ts +2 -2
  141. package/src/lib/errors/block/blockCapacity.d.ts.map +1 -1
  142. package/src/lib/errors/block/blockCapacity.js +8 -8
  143. package/src/lib/errors/block/blockCapacity.js.map +1 -1
  144. package/src/lib/errors/block/blockError.d.ts +2 -2
  145. package/src/lib/errors/block/blockError.d.ts.map +1 -1
  146. package/src/lib/errors/block/blockError.js +16 -16
  147. package/src/lib/errors/block/blockError.js.map +1 -1
  148. package/src/lib/errors/block/blockMetadata.d.ts +2 -2
  149. package/src/lib/errors/block/blockMetadata.d.ts.map +1 -1
  150. package/src/lib/errors/block/blockMetadata.js +8 -8
  151. package/src/lib/errors/block/blockMetadata.js.map +1 -1
  152. package/src/lib/errors/block/blockValidation.d.ts +2 -2
  153. package/src/lib/errors/block/blockValidation.d.ts.map +1 -1
  154. package/src/lib/errors/block/blockValidation.js +36 -36
  155. package/src/lib/errors/block/blockValidation.js.map +1 -1
  156. package/src/lib/errors/block/cannotDecrypt.d.ts.map +1 -1
  157. package/src/lib/errors/block/cannotDecrypt.js +2 -2
  158. package/src/lib/errors/block/cannotDecrypt.js.map +1 -1
  159. package/src/lib/errors/block/cannotEncrypt.d.ts.map +1 -1
  160. package/src/lib/errors/block/cannotEncrypt.js +2 -2
  161. package/src/lib/errors/block/cannotEncrypt.js.map +1 -1
  162. package/src/lib/errors/blockServiceError.d.ts +2 -2
  163. package/src/lib/errors/blockServiceError.d.ts.map +1 -1
  164. package/src/lib/errors/blockServiceError.js +15 -15
  165. package/src/lib/errors/blockServiceError.js.map +1 -1
  166. package/src/lib/errors/bufferError.d.ts.map +1 -1
  167. package/src/lib/errors/bufferError.js +2 -2
  168. package/src/lib/errors/bufferError.js.map +1 -1
  169. package/src/lib/errors/cblError.d.ts +2 -2
  170. package/src/lib/errors/cblError.d.ts.map +1 -1
  171. package/src/lib/errors/cblError.js +37 -36
  172. package/src/lib/errors/cblError.js.map +1 -1
  173. package/src/lib/errors/checksumMismatch.js +2 -2
  174. package/src/lib/errors/checksumMismatch.js.map +1 -1
  175. package/src/lib/errors/disposed.js +2 -2
  176. package/src/lib/errors/disposed.js.map +1 -1
  177. package/src/lib/errors/document.d.ts +2 -2
  178. package/src/lib/errors/document.d.ts.map +1 -1
  179. package/src/lib/errors/document.js +5 -5
  180. package/src/lib/errors/document.js.map +1 -1
  181. package/src/lib/errors/eciesError.d.ts +2 -2
  182. package/src/lib/errors/eciesError.d.ts.map +1 -1
  183. package/src/lib/errors/eciesError.js +20 -20
  184. package/src/lib/errors/eciesError.js.map +1 -1
  185. package/src/lib/errors/extendedCblError.d.ts +2 -2
  186. package/src/lib/errors/extendedCblError.d.ts.map +1 -1
  187. package/src/lib/errors/extendedCblError.js +25 -25
  188. package/src/lib/errors/extendedCblError.js.map +1 -1
  189. package/src/lib/errors/failedToHydrate.js +2 -2
  190. package/src/lib/errors/failedToHydrate.js.map +1 -1
  191. package/src/lib/errors/failedToSerialize.js +2 -2
  192. package/src/lib/errors/failedToSerialize.js.map +1 -1
  193. package/src/lib/errors/fecError.d.ts +2 -2
  194. package/src/lib/errors/fecError.d.ts.map +1 -1
  195. package/src/lib/errors/fecError.js +19 -19
  196. package/src/lib/errors/fecError.js.map +1 -1
  197. package/src/lib/errors/handleTupleError.d.ts +2 -2
  198. package/src/lib/errors/handleTupleError.d.ts.map +1 -1
  199. package/src/lib/errors/handleTupleError.js +5 -5
  200. package/src/lib/errors/handleTupleError.js.map +1 -1
  201. package/src/lib/errors/index.d.ts +0 -6
  202. package/src/lib/errors/index.d.ts.map +1 -1
  203. package/src/lib/errors/index.js +0 -9
  204. package/src/lib/errors/index.js.map +1 -1
  205. package/src/lib/errors/invalidBlockSize.js +2 -2
  206. package/src/lib/errors/invalidBlockSize.js.map +1 -1
  207. package/src/lib/errors/invalidBlockSizeLength.js +2 -2
  208. package/src/lib/errors/invalidBlockSizeLength.js.map +1 -1
  209. package/src/lib/errors/invalidCredentials.js +2 -2
  210. package/src/lib/errors/invalidCredentials.js.map +1 -1
  211. package/src/lib/errors/invalidIDFormat.js +2 -2
  212. package/src/lib/errors/invalidIDFormat.js.map +1 -1
  213. package/src/lib/errors/invalidSessionID.js +2 -2
  214. package/src/lib/errors/invalidSessionID.js.map +1 -1
  215. package/src/lib/errors/invalidTupleCount.js +2 -2
  216. package/src/lib/errors/invalidTupleCount.js.map +1 -1
  217. package/src/lib/errors/isolatedKeyError.d.ts +2 -2
  218. package/src/lib/errors/isolatedKeyError.d.ts.map +1 -1
  219. package/src/lib/errors/isolatedKeyError.js +7 -7
  220. package/src/lib/errors/isolatedKeyError.js.map +1 -1
  221. package/src/lib/errors/memberError.d.ts +2 -2
  222. package/src/lib/errors/memberError.d.ts.map +1 -1
  223. package/src/lib/errors/memberError.js +27 -27
  224. package/src/lib/errors/memberError.js.map +1 -1
  225. package/src/lib/errors/memoryTupleError.d.ts +2 -2
  226. package/src/lib/errors/memoryTupleError.d.ts.map +1 -1
  227. package/src/lib/errors/memoryTupleError.js +7 -7
  228. package/src/lib/errors/memoryTupleError.js.map +1 -1
  229. package/src/lib/errors/metadataMismatch.js +2 -2
  230. package/src/lib/errors/metadataMismatch.js.map +1 -1
  231. package/src/lib/errors/multiEncryptedError.d.ts +2 -2
  232. package/src/lib/errors/multiEncryptedError.d.ts.map +1 -1
  233. package/src/lib/errors/multiEncryptedError.js +11 -11
  234. package/src/lib/errors/multiEncryptedError.js.map +1 -1
  235. package/src/lib/errors/notImplemented.js +2 -2
  236. package/src/lib/errors/notImplemented.js.map +1 -1
  237. package/src/lib/errors/quorumError.d.ts +2 -2
  238. package/src/lib/errors/quorumError.d.ts.map +1 -1
  239. package/src/lib/errors/quorumError.js +8 -8
  240. package/src/lib/errors/quorumError.js.map +1 -1
  241. package/src/lib/errors/sealingError.d.ts +2 -2
  242. package/src/lib/errors/sealingError.d.ts.map +1 -1
  243. package/src/lib/errors/sealingError.js +9 -9
  244. package/src/lib/errors/sealingError.js.map +1 -1
  245. package/src/lib/errors/secureStorage.d.ts +2 -2
  246. package/src/lib/errors/secureStorage.d.ts.map +1 -1
  247. package/src/lib/errors/secureStorage.js +4 -4
  248. package/src/lib/errors/secureStorage.js.map +1 -1
  249. package/src/lib/errors/storeError.d.ts +2 -2
  250. package/src/lib/errors/storeError.d.ts.map +1 -1
  251. package/src/lib/errors/storeError.js +20 -20
  252. package/src/lib/errors/storeError.js.map +1 -1
  253. package/src/lib/errors/streamError.d.ts +2 -2
  254. package/src/lib/errors/streamError.d.ts.map +1 -1
  255. package/src/lib/errors/streamError.js +8 -8
  256. package/src/lib/errors/streamError.js.map +1 -1
  257. package/src/lib/errors/symmetricError.d.ts +2 -2
  258. package/src/lib/errors/symmetricError.d.ts.map +1 -1
  259. package/src/lib/errors/symmetricError.js +3 -3
  260. package/src/lib/errors/symmetricError.js.map +1 -1
  261. package/src/lib/errors/systemKeyringError.d.ts +2 -2
  262. package/src/lib/errors/systemKeyringError.d.ts.map +1 -1
  263. package/src/lib/errors/systemKeyringError.js +4 -4
  264. package/src/lib/errors/systemKeyringError.js.map +1 -1
  265. package/src/lib/errors/tupleError.d.ts +2 -2
  266. package/src/lib/errors/tupleError.d.ts.map +1 -1
  267. package/src/lib/errors/tupleError.js +13 -13
  268. package/src/lib/errors/tupleError.js.map +1 -1
  269. package/src/lib/errors/typedError.d.ts +2 -2
  270. package/src/lib/errors/typedError.d.ts.map +1 -1
  271. package/src/lib/errors/typedWithReasonError.d.ts +3 -3
  272. package/src/lib/errors/typedWithReasonError.d.ts.map +1 -1
  273. package/src/lib/errors/typedWithReasonError.js.map +1 -1
  274. package/src/lib/errors/userNotFound.js +2 -2
  275. package/src/lib/errors/userNotFound.js.map +1 -1
  276. package/src/lib/errors/whitenedError.d.ts +2 -2
  277. package/src/lib/errors/whitenedError.d.ts.map +1 -1
  278. package/src/lib/errors/whitenedError.js +5 -5
  279. package/src/lib/errors/whitenedError.js.map +1 -1
  280. package/src/lib/factories/blockFactory.d.ts +23 -0
  281. package/src/lib/factories/blockFactory.d.ts.map +1 -0
  282. package/src/lib/factories/blockFactory.js +43 -0
  283. package/src/lib/factories/blockFactory.js.map +1 -0
  284. package/src/lib/i18n/index.d.ts +2 -2
  285. package/src/lib/i18n/index.d.ts.map +1 -1
  286. package/src/lib/i18n/index.js +2 -2
  287. package/src/lib/i18n/index.js.map +1 -1
  288. package/src/lib/index.d.ts +9 -0
  289. package/src/lib/index.d.ts.map +1 -1
  290. package/src/lib/index.js +12 -0
  291. package/src/lib/index.js.map +1 -1
  292. package/src/lib/init.d.ts +10 -0
  293. package/src/lib/init.d.ts.map +1 -1
  294. package/src/lib/init.js +24 -4
  295. package/src/lib/init.js.map +1 -1
  296. package/src/lib/interfaces/blockCapacity.d.ts +8 -0
  297. package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
  298. package/src/lib/interfaces/blocks/encrypted.d.ts +1 -1
  299. package/src/lib/interfaces/blocks/encrypted.d.ts.map +1 -1
  300. package/src/lib/interfaces/blocks/ephemeral.d.ts +4 -7
  301. package/src/lib/interfaces/blocks/ephemeral.d.ts.map +1 -1
  302. package/src/lib/interfaces/blocks/headers/index.d.ts +1 -0
  303. package/src/lib/interfaces/blocks/headers/index.d.ts.map +1 -1
  304. package/src/lib/interfaces/blocks/headers/superCblHeader.d.ts +63 -0
  305. package/src/lib/interfaces/blocks/headers/superCblHeader.d.ts.map +1 -0
  306. package/src/lib/interfaces/{storage/superCbl.js → blocks/headers/superCblHeader.js} +1 -1
  307. package/src/lib/interfaces/blocks/headers/superCblHeader.js.map +1 -0
  308. package/src/lib/interfaces/blocks/metadata/index.d.ts +0 -1
  309. package/src/lib/interfaces/blocks/metadata/index.d.ts.map +1 -1
  310. package/src/lib/interfaces/constants.d.ts +29 -0
  311. package/src/lib/interfaces/constants.d.ts.map +1 -1
  312. package/src/lib/interfaces/document/quorumDocument.d.ts +15 -0
  313. package/src/lib/interfaces/document/quorumDocument.d.ts.map +1 -0
  314. package/src/lib/interfaces/document/quorumDocument.js +3 -0
  315. package/src/lib/interfaces/document/quorumDocument.js.map +1 -0
  316. package/src/lib/interfaces/member/memberData.d.ts +2 -0
  317. package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
  318. package/src/lib/interfaces/member/profileStorage.d.ts +77 -0
  319. package/src/lib/interfaces/member/profileStorage.d.ts.map +1 -0
  320. package/src/lib/interfaces/member/profileStorage.js +3 -0
  321. package/src/lib/interfaces/member/profileStorage.js.map +1 -0
  322. package/src/lib/interfaces/serviceProvider.interface.d.ts +11 -8
  323. package/src/lib/interfaces/serviceProvider.interface.d.ts.map +1 -1
  324. package/src/lib/interfaces/services/cblServices.d.ts +148 -0
  325. package/src/lib/interfaces/services/cblServices.d.ts.map +1 -0
  326. package/src/lib/interfaces/services/cblServices.js +11 -0
  327. package/src/lib/interfaces/services/cblServices.js.map +1 -0
  328. package/src/lib/interfaces/services/ephemeralBlockServices.d.ts +15 -0
  329. package/src/lib/interfaces/services/ephemeralBlockServices.d.ts.map +1 -0
  330. package/src/lib/interfaces/services/ephemeralBlockServices.js +3 -0
  331. package/src/lib/interfaces/services/ephemeralBlockServices.js.map +1 -0
  332. package/src/lib/interfaces/services/index.d.ts +1 -0
  333. package/src/lib/interfaces/services/index.d.ts.map +1 -1
  334. package/src/lib/interfaces/storage/index.d.ts +0 -1
  335. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  336. package/src/lib/logging/blockLogger.d.ts +218 -0
  337. package/src/lib/logging/blockLogger.d.ts.map +1 -0
  338. package/src/lib/logging/blockLogger.js +341 -0
  339. package/src/lib/logging/blockLogger.js.map +1 -0
  340. package/src/lib/logging/index.d.ts +24 -0
  341. package/src/lib/logging/index.d.ts.map +1 -0
  342. package/src/lib/logging/index.js +27 -0
  343. package/src/lib/logging/index.js.map +1 -0
  344. package/src/lib/logging/structuredLogger.d.ts +42 -0
  345. package/src/lib/logging/structuredLogger.d.ts.map +1 -0
  346. package/src/lib/logging/structuredLogger.js +93 -0
  347. package/src/lib/logging/structuredLogger.js.map +1 -0
  348. package/src/lib/primeTupleGeneratorStream.d.ts.map +1 -1
  349. package/src/lib/primeTupleGeneratorStream.js +4 -2
  350. package/src/lib/primeTupleGeneratorStream.js.map +1 -1
  351. package/src/lib/quorum.d.ts.map +1 -1
  352. package/src/lib/quorum.js +7 -5
  353. package/src/lib/quorum.js.map +1 -1
  354. package/src/lib/quorumDataRecord.d.ts +1 -1
  355. package/src/lib/quorumDataRecord.d.ts.map +1 -1
  356. package/src/lib/quorumDataRecord.js +5 -4
  357. package/src/lib/quorumDataRecord.js.map +1 -1
  358. package/src/lib/schemas/network/networkDocumentSchema.d.ts.map +1 -1
  359. package/src/lib/schemas/network/networkDocumentSchema.js +9 -8
  360. package/src/lib/schemas/network/networkDocumentSchema.js.map +1 -1
  361. package/src/lib/schemas/quorumDocument.d.ts +1 -1
  362. package/src/lib/schemas/quorumDocument.d.ts.map +1 -1
  363. package/src/lib/schemas/quorumDocument.js +6 -4
  364. package/src/lib/schemas/quorumDocument.js.map +1 -1
  365. package/src/lib/security/dosProtection.d.ts +13 -0
  366. package/src/lib/security/dosProtection.d.ts.map +1 -0
  367. package/src/lib/security/dosProtection.js +29 -0
  368. package/src/lib/security/dosProtection.js.map +1 -0
  369. package/src/lib/security/dosProtectionValidator.d.ts +27 -0
  370. package/src/lib/security/dosProtectionValidator.d.ts.map +1 -0
  371. package/src/lib/security/dosProtectionValidator.js +60 -0
  372. package/src/lib/security/dosProtectionValidator.js.map +1 -0
  373. package/src/lib/security/index.d.ts +12 -0
  374. package/src/lib/security/index.d.ts.map +1 -0
  375. package/src/lib/security/index.js +15 -0
  376. package/src/lib/security/index.js.map +1 -0
  377. package/src/lib/security/rateLimitTypes.d.ts +20 -0
  378. package/src/lib/security/rateLimitTypes.d.ts.map +1 -0
  379. package/src/lib/security/rateLimitTypes.js +15 -0
  380. package/src/lib/security/rateLimitTypes.js.map +1 -0
  381. package/src/lib/security/rateLimiter.d.ts +29 -0
  382. package/src/lib/security/rateLimiter.d.ts.map +1 -0
  383. package/src/lib/security/rateLimiter.js +107 -0
  384. package/src/lib/security/rateLimiter.js.map +1 -0
  385. package/src/lib/security/securityAuditLogger.d.ts +59 -0
  386. package/src/lib/security/securityAuditLogger.d.ts.map +1 -0
  387. package/src/lib/security/securityAuditLogger.js +120 -0
  388. package/src/lib/security/securityAuditLogger.js.map +1 -0
  389. package/src/lib/security/securityEvent.d.ts +45 -0
  390. package/src/lib/security/securityEvent.d.ts.map +1 -0
  391. package/src/lib/security/securityEvent.js +44 -0
  392. package/src/lib/security/securityEvent.js.map +1 -0
  393. package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
  394. package/src/lib/services/blockCapacity.service.js +14 -5
  395. package/src/lib/services/blockCapacity.service.js.map +1 -1
  396. package/src/lib/services/blockFormatService.d.ts +41 -0
  397. package/src/lib/services/blockFormatService.d.ts.map +1 -0
  398. package/src/lib/services/blockFormatService.js +252 -0
  399. package/src/lib/services/blockFormatService.js.map +1 -0
  400. package/src/lib/services/blockService.d.ts +6 -0
  401. package/src/lib/services/blockService.d.ts.map +1 -1
  402. package/src/lib/services/blockService.js +130 -28
  403. package/src/lib/services/blockService.js.map +1 -1
  404. package/src/lib/services/cblService.d.ts +162 -3
  405. package/src/lib/services/cblService.d.ts.map +1 -1
  406. package/src/lib/services/cblService.js +502 -21
  407. package/src/lib/services/cblService.js.map +1 -1
  408. package/src/lib/services/globalServiceProvider.d.ts +4 -0
  409. package/src/lib/services/globalServiceProvider.d.ts.map +1 -0
  410. package/src/lib/services/globalServiceProvider.js +26 -0
  411. package/src/lib/services/globalServiceProvider.js.map +1 -0
  412. package/src/lib/services/index.d.ts +0 -2
  413. package/src/lib/services/index.d.ts.map +1 -1
  414. package/src/lib/services/index.js +0 -2
  415. package/src/lib/services/index.js.map +1 -1
  416. package/src/lib/services/member/memberCblService.d.ts.map +1 -1
  417. package/src/lib/services/member/memberCblService.js +11 -8
  418. package/src/lib/services/member/memberCblService.js.map +1 -1
  419. package/src/lib/services/memberStore.d.ts +8 -0
  420. package/src/lib/services/memberStore.d.ts.map +1 -1
  421. package/src/lib/services/memberStore.js +105 -76
  422. package/src/lib/services/memberStore.js.map +1 -1
  423. package/src/lib/services/sealing.service.d.ts +1 -1
  424. package/src/lib/services/sealing.service.d.ts.map +1 -1
  425. package/src/lib/services/sealing.service.js +4 -13
  426. package/src/lib/services/sealing.service.js.map +1 -1
  427. package/src/lib/services/service.provider.d.ts +2 -0
  428. package/src/lib/services/service.provider.d.ts.map +1 -1
  429. package/src/lib/services/service.provider.js +7 -12
  430. package/src/lib/services/service.provider.js.map +1 -1
  431. package/src/lib/services/serviceLocator.d.ts.map +1 -1
  432. package/src/lib/services/serviceLocator.js +2 -0
  433. package/src/lib/services/serviceLocator.js.map +1 -1
  434. package/src/lib/services/tuple.service.js +4 -4
  435. package/src/lib/services/tuple.service.js.map +1 -1
  436. package/src/lib/sharedTypes.d.ts +1 -22
  437. package/src/lib/sharedTypes.d.ts.map +1 -1
  438. package/src/lib/sharedTypes.js.map +1 -1
  439. package/src/lib/strings/englishUs.d.ts.map +1 -1
  440. package/src/lib/strings/englishUs.js +392 -392
  441. package/src/lib/strings/englishUs.js.map +1 -1
  442. package/src/lib/test/service.initializer.helper.d.ts +2 -1
  443. package/src/lib/test/service.initializer.helper.d.ts.map +1 -1
  444. package/src/lib/test/service.initializer.helper.js +11 -15
  445. package/src/lib/test/service.initializer.helper.js.map +1 -1
  446. package/src/lib/types/schema.d.ts +38 -0
  447. package/src/lib/types/schema.d.ts.map +1 -0
  448. package/src/lib/types/schema.js +7 -0
  449. package/src/lib/types/schema.js.map +1 -0
  450. package/src/lib/utils/constantTime.d.ts +27 -0
  451. package/src/lib/utils/constantTime.d.ts.map +1 -0
  452. package/src/lib/utils/constantTime.js +67 -0
  453. package/src/lib/utils/constantTime.js.map +1 -0
  454. package/src/lib/utils/constantTimeXor.d.ts +76 -0
  455. package/src/lib/utils/constantTimeXor.d.ts.map +1 -0
  456. package/src/lib/utils/constantTimeXor.js +122 -0
  457. package/src/lib/utils/constantTimeXor.js.map +1 -0
  458. package/src/lib/utils/dateUtils.d.ts +67 -0
  459. package/src/lib/utils/dateUtils.d.ts.map +1 -0
  460. package/src/lib/utils/dateUtils.js +136 -0
  461. package/src/lib/utils/dateUtils.js.map +1 -0
  462. package/src/lib/utils/index.d.ts +57 -0
  463. package/src/lib/utils/index.d.ts.map +1 -1
  464. package/src/lib/utils/index.js +69 -0
  465. package/src/lib/utils/index.js.map +1 -1
  466. package/src/lib/utils/typeGuards.d.ts +102 -0
  467. package/src/lib/utils/typeGuards.d.ts.map +1 -0
  468. package/src/lib/utils/typeGuards.js +244 -0
  469. package/src/lib/utils/typeGuards.js.map +1 -0
  470. package/src/lib/cpus/instructions.d.ts +0 -35
  471. package/src/lib/cpus/instructions.d.ts.map +0 -1
  472. package/src/lib/cpus/instructions.js +0 -285
  473. package/src/lib/cpus/instructions.js.map +0 -1
  474. package/src/lib/cpus/mach-o.d.ts +0 -7
  475. package/src/lib/cpus/mach-o.d.ts.map +0 -1
  476. package/src/lib/cpus/mach-o.js +0 -99
  477. package/src/lib/cpus/mach-o.js.map +0 -1
  478. package/src/lib/cpus/x86Cpu.d.ts +0 -21
  479. package/src/lib/cpus/x86Cpu.d.ts.map +0 -1
  480. package/src/lib/cpus/x86Cpu.js +0 -89
  481. package/src/lib/cpus/x86Cpu.js.map +0 -1
  482. package/src/lib/enumerations/stringNames.d.ts.map +0 -1
  483. package/src/lib/enumerations/stringNames.js +0 -436
  484. package/src/lib/enumerations/stringNames.js.map +0 -1
  485. package/src/lib/errors/superCbl.d.ts +0 -24
  486. package/src/lib/errors/superCbl.d.ts.map +0 -1
  487. package/src/lib/errors/superCbl.js +0 -43
  488. package/src/lib/errors/superCbl.js.map +0 -1
  489. package/src/lib/interfaces/storage/superCbl.d.ts +0 -102
  490. package/src/lib/interfaces/storage/superCbl.d.ts.map +0 -1
  491. package/src/lib/interfaces/storage/superCbl.js.map +0 -1
  492. package/src/lib/services/jsonCblCapacity.service.d.ts +0 -80
  493. package/src/lib/services/jsonCblCapacity.service.d.ts.map +0 -1
  494. package/src/lib/services/jsonCblCapacity.service.js +0 -147
  495. package/src/lib/services/jsonCblCapacity.service.js.map +0 -1
  496. package/src/lib/services/superCbl.service.d.ts +0 -68
  497. package/src/lib/services/superCbl.service.d.ts.map +0 -1
  498. package/src/lib/services/superCbl.service.js +0 -213
  499. package/src/lib/services/superCbl.service.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rawData.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/rawData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rawData.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/rawData.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { BlockDataType } from '../enumerations/blockDataType';
2
2
  import { BlockSize } from '../enumerations/blockSize';
3
3
  import { BlockType } from '../enumerations/blockType';
4
+ import type { ChecksumService } from '../services/checksum.service';
4
5
  import { Checksum } from '../types/checksum';
5
6
  import { BaseBlock } from './base';
6
7
  import { RawDataBlock } from './rawData';
@@ -12,7 +13,7 @@ import { RawDataBlock } from './rawData';
12
13
  * 3. Provide privacy without encryption overhead
13
14
  */
14
15
  export declare class WhitenedBlock extends RawDataBlock {
15
- constructor(blockSize: BlockSize, data: Uint8Array, checksum?: Checksum, dateCreated?: Date, canRead?: boolean, canPersist?: boolean);
16
+ constructor(blockSize: BlockSize, data: Uint8Array, checksum?: Checksum, dateCreated?: Date, canRead?: boolean, canPersist?: boolean, checksumService?: ChecksumService);
16
17
  /**
17
18
  * The type of the block
18
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"whitened.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/whitened.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBAE3C,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,EAAE,QAAQ,EACnB,WAAW,CAAC,EAAE,IAAI,EAClB,OAAO,UAAO,EACd,UAAU,UAAO;IAcnB;;OAEG;IACH,IAAoB,SAAS,IAAI,SAAS,CAEzC;IAED;;OAEG;IACH,IAAoB,aAAa,IAAI,aAAa,CAEjD;IAED;;OAEG;IACH,IAAoB,YAAY,IAAI,UAAU,CAM7C;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,cAAc,IAAI,UAAU,CAO/C;IAED;;;;OAIG;mBACkB,kBAAkB;IAiBvC;;;;OAIG;mBACkB,YAAY;IASjC;;OAEG;IACU,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmC3D;;OAEG;IACH,IAAoB,eAAe,IAAI,UAAU,CAGhD;IAED;;OAEG;WACW,QAAQ,CACpB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,UAAU,GACrB,aAAa;IAmBhB;;OAEG;WACiB,IAAI,CACtB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,EAAE,QAAQ,EACnB,WAAW,CAAC,EAAE,IAAI,EAClB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,OAAO,UAAO,EACd,UAAU,UAAO,GAChB,OAAO,CAAC,aAAa,CAAC;CA0C1B"}
1
+ {"version":3,"file":"whitened.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/whitened.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,YAAY;gBAE3C,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,EAAE,QAAQ,EACnB,WAAW,CAAC,EAAE,IAAI,EAClB,OAAO,UAAO,EACd,UAAU,UAAO,EACjB,eAAe,CAAC,EAAE,eAAe;IAenC;;OAEG;IACH,IAAoB,SAAS,IAAI,SAAS,CAEzC;IAED;;OAEG;IACH,IAAoB,aAAa,IAAI,aAAa,CAEjD;IAED;;OAEG;IACH,IAAoB,YAAY,IAAI,UAAU,CAM7C;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,cAAc,IAAI,UAAU,CAO/C;IAED;;;;OAIG;mBACkB,kBAAkB;IAiBvC;;;;OAIG;mBACkB,YAAY;IASjC;;OAEG;IACU,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqC3D;;OAEG;IACH,IAAoB,eAAe,IAAI,UAAU,CAGhD;IAED;;OAEG;WACW,QAAQ,CACpB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,UAAU,GACrB,aAAa;IAoBhB;;OAEG;WACiB,IAAI,CACtB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,EAAE,QAAQ,EACnB,WAAW,CAAC,EAAE,IAAI,EAClB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,OAAO,UAAO,EACd,UAAU,UAAO,GAChB,OAAO,CAAC,aAAa,CAAC;CA0C1B"}
@@ -6,7 +6,7 @@ const blockDataType_1 = require("../enumerations/blockDataType");
6
6
  const blockType_1 = require("../enumerations/blockType");
7
7
  const whitenedErrorType_1 = require("../enumerations/whitenedErrorType");
8
8
  const whitenedError_1 = require("../errors/whitenedError");
9
- const service_provider_1 = require("../services/service.provider");
9
+ const globalServiceProvider_1 = require("../services/globalServiceProvider");
10
10
  const rawData_1 = require("./rawData");
11
11
  /**
12
12
  * WhitenedBlock represents a block that has been XORed with random data.
@@ -16,8 +16,8 @@ const rawData_1 = require("./rawData");
16
16
  * 3. Provide privacy without encryption overhead
17
17
  */
18
18
  class WhitenedBlock extends rawData_1.RawDataBlock {
19
- constructor(blockSize, data, checksum, dateCreated, canRead = true, canPersist = true) {
20
- super(blockSize, data, dateCreated, checksum, blockType_1.BlockType.OwnerFreeWhitenedBlock, blockDataType_1.BlockDataType.RawData, canRead, canPersist);
19
+ constructor(blockSize, data, checksum, dateCreated, canRead = true, canPersist = true, checksumService) {
20
+ super(blockSize, data, dateCreated, checksum, blockType_1.BlockType.OwnerFreeWhitenedBlock, blockDataType_1.BlockDataType.RawData, canRead, canPersist, checksumService);
21
21
  }
22
22
  /**
23
23
  * The type of the block
@@ -107,9 +107,10 @@ class WhitenedBlock extends rawData_1.RawDataBlock {
107
107
  for (let i = 0; i < thisData.length; i++) {
108
108
  result[i] = thisData[i] ^ otherData[i];
109
109
  }
110
+ // Use global service provider for checksum calculation
111
+ const checksum = (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(result);
110
112
  // Create a new instance of the same type as the input block
111
113
  const Constructor = other.constructor;
112
- const checksum = service_provider_1.ServiceProvider.getInstance().checksumService.calculateChecksum(result);
113
114
  return new Constructor(this.blockSize, result, new Date(), checksum, this.canRead && other.canRead, this.canPersist && other.canPersist);
114
115
  }
115
116
  /**
@@ -133,7 +134,8 @@ class WhitenedBlock extends rawData_1.RawDataBlock {
133
134
  for (let i = 0; i < data.length; i++) {
134
135
  result[i] = data[i] ^ randomData[i];
135
136
  }
136
- const checksum = service_provider_1.ServiceProvider.getInstance().checksumService.calculateChecksum(result);
137
+ // Use global service provider for checksum calculation
138
+ const checksum = (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(result);
137
139
  return new WhitenedBlock(blockSize, result, checksum, new Date());
138
140
  }
139
141
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"whitened.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/whitened.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whitened.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/whitened.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const BRIGHTCHAIN_CONFIG_KEY: unique symbol;
2
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/config/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,eAAmC,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BRIGHTCHAIN_CONFIG_KEY = void 0;
4
+ exports.BRIGHTCHAIN_CONFIG_KEY = Symbol.for('brightchain.config');
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/config/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC"}
@@ -13,6 +13,43 @@ import { IBCFECConsts, ICBLConsts, IConstants, ISealingConsts, ISiteConsts, ITup
13
13
  * Site-specific constants for BrightChain
14
14
  */
15
15
  export declare const SITE: ISiteConsts;
16
+ /**
17
+ * Constants for structured block headers
18
+ */
19
+ export declare const BLOCK_HEADER: {
20
+ /**
21
+ * Magic prefix for BrightChain structured blocks (0xBC = "BrightChain")
22
+ * This prefix identifies blocks with serialized headers (CBL variants)
23
+ * Raw data blocks do NOT have this prefix
24
+ */
25
+ readonly MAGIC_PREFIX: 188;
26
+ /**
27
+ * Current version of the block header format
28
+ */
29
+ readonly VERSION: 1;
30
+ };
31
+ /**
32
+ * Structured block type identifiers (second byte after magic prefix)
33
+ * These apply only to blocks with the 0xBC magic prefix
34
+ */
35
+ export declare enum StructuredBlockType {
36
+ /**
37
+ * Constituent Block List - references to other blocks
38
+ */
39
+ CBL = 2,
40
+ /**
41
+ * SuperCBL - hierarchical CBL referencing sub-CBLs
42
+ */
43
+ SuperCBL = 3,
44
+ /**
45
+ * Extended CBL - CBL with file name and MIME type
46
+ */
47
+ ExtendedCBL = 4,
48
+ /**
49
+ * Message CBL - CBL for messaging system
50
+ */
51
+ MessageCBL = 5
52
+ }
16
53
  /**
17
54
  * Constants for CBL (Constituent Block List)
18
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACb,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,WAOT,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,UA+BjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAG,GAAY,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAQX,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,YAkBV,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,cAIZ,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,UAQvB,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACb,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,WAOT,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB;;;;OAIG;;IAGH;;OAEG;;CAEK,CAAC;AAEX;;;GAGG;AACH,oBAAY,mBAAmB;IAC7B;;OAEG;IACH,GAAG,IAAO;IAEV;;OAEG;IACH,QAAQ,IAAO;IAEf;;OAEG;IACH,WAAW,IAAO;IAElB;;OAEG;IACH,UAAU,IAAO;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,UA+BjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAG,GAAY,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAQX,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,YAkBV,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,cAIZ,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,UASvB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -10,7 +10,7 @@
10
10
  * @module constants
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.CONSTANTS = exports.SEALING = exports.TUPLE = exports.BC_FEC = exports.OFFS_CACHE_PERCENTAGE = exports.CBL = exports.SITE = void 0;
13
+ exports.CONSTANTS = exports.SEALING = exports.TUPLE = exports.BC_FEC = exports.OFFS_CACHE_PERCENTAGE = exports.CBL = exports.StructuredBlockType = exports.BLOCK_HEADER = exports.SITE = void 0;
14
14
  const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
15
15
  /**
16
16
  * Site-specific constants for BrightChain
@@ -23,6 +23,44 @@ exports.SITE = {
23
23
  DOMAIN: 'localhost:3000',
24
24
  CSP_NONCE_SIZE: 32,
25
25
  };
26
+ /**
27
+ * Constants for structured block headers
28
+ */
29
+ exports.BLOCK_HEADER = {
30
+ /**
31
+ * Magic prefix for BrightChain structured blocks (0xBC = "BrightChain")
32
+ * This prefix identifies blocks with serialized headers (CBL variants)
33
+ * Raw data blocks do NOT have this prefix
34
+ */
35
+ MAGIC_PREFIX: 0xbc,
36
+ /**
37
+ * Current version of the block header format
38
+ */
39
+ VERSION: 0x01,
40
+ };
41
+ /**
42
+ * Structured block type identifiers (second byte after magic prefix)
43
+ * These apply only to blocks with the 0xBC magic prefix
44
+ */
45
+ var StructuredBlockType;
46
+ (function (StructuredBlockType) {
47
+ /**
48
+ * Constituent Block List - references to other blocks
49
+ */
50
+ StructuredBlockType[StructuredBlockType["CBL"] = 2] = "CBL";
51
+ /**
52
+ * SuperCBL - hierarchical CBL referencing sub-CBLs
53
+ */
54
+ StructuredBlockType[StructuredBlockType["SuperCBL"] = 3] = "SuperCBL";
55
+ /**
56
+ * Extended CBL - CBL with file name and MIME type
57
+ */
58
+ StructuredBlockType[StructuredBlockType["ExtendedCBL"] = 4] = "ExtendedCBL";
59
+ /**
60
+ * Message CBL - CBL for messaging system
61
+ */
62
+ StructuredBlockType[StructuredBlockType["MessageCBL"] = 5] = "MessageCBL";
63
+ })(StructuredBlockType || (exports.StructuredBlockType = StructuredBlockType = {}));
26
64
  /**
27
65
  * Constants for CBL (Constituent Block List)
28
66
  */
@@ -101,6 +139,7 @@ exports.SEALING = {
101
139
  */
102
140
  exports.CONSTANTS = {
103
141
  ...ecies_lib_1.Constants,
142
+ BLOCK_HEADER: exports.BLOCK_HEADER,
104
143
  CBL: exports.CBL,
105
144
  OFFS_CACHE_PERCENTAGE: exports.OFFS_CACHE_PERCENTAGE,
106
145
  BC_FEC: exports.BC_FEC,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,0DAAwE;AAUxE;;GAEG;AACU,QAAA,IAAI,GAAgB;IAC/B,IAAI,EAAE,aAAsB;IAC5B,OAAO,EAAE,OAAgB;IACzB,WAAW,EAAE,aAAsB;IACnC,UAAU,EAAE,yBAAkC;IAC9C,MAAM,EAAE,gBAAyB;IACjC,cAAc,EAAE,EAAW;CACnB,CAAC;AAEX;;GAEG;AACU,QAAA,GAAG,GAAe;IAC7B,aAAa,EAAE,GAAY;IAC3B;;OAEG;IACH,iBAAiB,EAAE,0BAA0B;IAE7C;;OAEG;IACH,iBAAiB,EAAE,kBAAkB;IAErC;;OAEG;IACH,2BAA2B,EAAE,wBAAwB;IAErD;;OAEG;IACH,oBAAoB,EAAE,GAAG;IAEzB;;OAEG;IACH,oBAAoB,EAAE,GAAG;IAEzB;;OAEG;IACH,mBAAmB,EAAE,gBAAyB,EAAE,oCAAoC;CACrF,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAG,GAAY,CAAC,CAAC,wCAAwC;AAE3F;;GAEG;AACU,QAAA,MAAM,GAAiB;IAClC;;OAEG;IACH,cAAc,EAAE,OAAgB,EAAE,mBAAmB;IACrD,cAAc,EAAE,CAAU;IAC1B,iBAAiB,EAAE,GAAY;IAC/B,cAAc,EAAE,CAAU;CAClB,CAAC;AAEX;;;GAGG;AACU,QAAA,KAAK,GAAiB;IACjC,iDAAiD;IACjD,iBAAiB,EAAE,CAAU;IAE7B,iDAAiD;IACjD,iBAAiB,EAAE,CAAU;IAE7B,qCAAqC;IACrC,uBAAuB,EAAE,CAAU;IAEnC,kCAAkC;IAClC,IAAI,EAAE,CAAU;IAEhB,8BAA8B;IAC9B,QAAQ,EAAE,CAAU;IAEpB,8BAA8B;IAC9B,QAAQ,EAAE,EAAW;CACb,CAAC;AAEX;;GAEG;AACU,QAAA,OAAO,GAAmB;IACrC,UAAU,EAAE,CAAU;IACtB,UAAU,EAAE,OAAgB;IAC5B,iBAAiB,EAAE,CAAU;CACrB,CAAC;AAEX;;;GAGG;AACU,QAAA,SAAS,GAAe;IACnC,GAAG,qBAAa;IAChB,GAAG,EAAH,WAAG;IACH,qBAAqB,EAArB,6BAAqB;IACrB,MAAM,EAAN,cAAM;IACN,KAAK,EAAL,aAAK;IACL,OAAO,EAAP,eAAO;IACP,IAAI,EAAJ,YAAI;CACL,CAAC;AAEF,kBAAe,iBAAS,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/constants.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,0DAAwE;AAUxE;;GAEG;AACU,QAAA,IAAI,GAAgB;IAC/B,IAAI,EAAE,aAAsB;IAC5B,OAAO,EAAE,OAAgB;IACzB,WAAW,EAAE,aAAsB;IACnC,UAAU,EAAE,yBAAkC;IAC9C,MAAM,EAAE,gBAAyB;IACjC,cAAc,EAAE,EAAW;CACnB,CAAC;AAEX;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B;;;;OAIG;IACH,YAAY,EAAE,IAAa;IAE3B;;OAEG;IACH,OAAO,EAAE,IAAa;CACd,CAAC;AAEX;;;GAGG;AACH,IAAY,mBAoBX;AApBD,WAAY,mBAAmB;IAC7B;;OAEG;IACH,2DAAU,CAAA;IAEV;;OAEG;IACH,qEAAe,CAAA;IAEf;;OAEG;IACH,2EAAkB,CAAA;IAElB;;OAEG;IACH,yEAAiB,CAAA;AACnB,CAAC,EApBW,mBAAmB,mCAAnB,mBAAmB,QAoB9B;AAED;;GAEG;AACU,QAAA,GAAG,GAAe;IAC7B,aAAa,EAAE,GAAY;IAC3B;;OAEG;IACH,iBAAiB,EAAE,0BAA0B;IAE7C;;OAEG;IACH,iBAAiB,EAAE,kBAAkB;IAErC;;OAEG;IACH,2BAA2B,EAAE,wBAAwB;IAErD;;OAEG;IACH,oBAAoB,EAAE,GAAG;IAEzB;;OAEG;IACH,oBAAoB,EAAE,GAAG;IAEzB;;OAEG;IACH,mBAAmB,EAAE,gBAAyB,EAAE,oCAAoC;CACrF,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAG,GAAY,CAAC,CAAC,wCAAwC;AAE3F;;GAEG;AACU,QAAA,MAAM,GAAiB;IAClC;;OAEG;IACH,cAAc,EAAE,OAAgB,EAAE,mBAAmB;IACrD,cAAc,EAAE,CAAU;IAC1B,iBAAiB,EAAE,GAAY;IAC/B,cAAc,EAAE,CAAU;CAClB,CAAC;AAEX;;;GAGG;AACU,QAAA,KAAK,GAAiB;IACjC,iDAAiD;IACjD,iBAAiB,EAAE,CAAU;IAE7B,iDAAiD;IACjD,iBAAiB,EAAE,CAAU;IAE7B,qCAAqC;IACrC,uBAAuB,EAAE,CAAU;IAEnC,kCAAkC;IAClC,IAAI,EAAE,CAAU;IAEhB,8BAA8B;IAC9B,QAAQ,EAAE,CAAU;IAEpB,8BAA8B;IAC9B,QAAQ,EAAE,EAAW;CACb,CAAC;AAEX;;GAEG;AACU,QAAA,OAAO,GAAmB;IACrC,UAAU,EAAE,CAAU;IACtB,UAAU,EAAE,OAAgB;IAC5B,iBAAiB,EAAE,CAAU;CACrB,CAAC;AAEX;;;GAGG;AACU,QAAA,SAAS,GAAe;IACnC,GAAG,qBAAa;IAChB,YAAY,EAAZ,oBAAY;IACZ,GAAG,EAAH,WAAG;IACH,qBAAqB,EAArB,6BAAqB;IACrB,MAAM,EAAN,cAAM;IACN,KAAK,EAAL,aAAK;IACL,OAAO,EAAP,eAAO;IACP,IAAI,EAAJ,YAAI;CACL,CAAC;AAEF,kBAAe,iBAAS,CAAC"}
@@ -1,5 +1,4 @@
1
- export type * from './instructions';
1
+ export { createInstructionFactory } from './instructionFactory';
2
2
  export type * from './instructionTables';
3
- export type * from './mach-o';
4
- export type * from './x86Cpu';
3
+ export { RiscVCpu } from './riscvCpu';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,UAAU,CAAC;AAC9B,mBAAmB,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RiscVCpu = exports.createInstructionFactory = void 0;
4
+ var instructionFactory_1 = require("./instructionFactory");
5
+ Object.defineProperty(exports, "createInstructionFactory", { enumerable: true, get: function () { return instructionFactory_1.createInstructionFactory; } });
6
+ var riscvCpu_1 = require("./riscvCpu");
7
+ Object.defineProperty(exports, "RiscVCpu", { enumerable: true, get: function () { return riscvCpu_1.RiscVCpu; } });
3
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/index.ts"],"names":[],"mappings":";;;AAAA,2DAAgE;AAAvD,8HAAA,wBAAwB,OAAA;AAEjC,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Instruction Factory - Data-driven instruction set builder
3
+ *
4
+ * This factory breaks the circular dependency by:
5
+ * 1. Using data (opcode definitions) instead of type-specific code
6
+ * 2. Not importing CPU types in instruction definitions
7
+ * 3. Allowing CPU to optionally use instruction builders
8
+ *
9
+ * Instructions are defined as data (opcode -> function mapping) rather than
10
+ * hard-coded in the CPU or instruction table files.
11
+ */
12
+ /**
13
+ * CPU execution context interface
14
+ * Generic enough to work with any CPU implementation
15
+ */
16
+ export interface ICpuContext {
17
+ PC: number;
18
+ pop: () => number;
19
+ push: (value: number) => void;
20
+ registers: number[] | Uint32Array;
21
+ memory: Uint8Array;
22
+ }
23
+ export interface InstructionDefinition {
24
+ readonly opcode: number;
25
+ readonly mnemonic: string;
26
+ readonly handler: (context: ICpuContext) => void;
27
+ }
28
+ export interface InstructionSet {
29
+ readonly name: string;
30
+ readonly instructions: InstructionDefinition[];
31
+ }
32
+ /**
33
+ * Create an instruction factory for a given instruction set
34
+ * This avoids circular dependencies by making instruction sets data-driven
35
+ */
36
+ export declare function createInstructionFactory(instructionSet: InstructionSet): Map<number, (context: ICpuContext) => void>;
37
+ /**
38
+ * Create a sparse array (0-indexed) from instruction definitions
39
+ * More cache-friendly than Map for sequential opcodes
40
+ */
41
+ export declare function createInstructionArray(instructionSet: InstructionSet, arraySize?: number): Array<(context: ICpuContext) => void>;
42
+ /**
43
+ * RISC-V RV32I Instruction Set Definition (Subset for Blockchain VM)
44
+ *
45
+ * This is data-driven, so it doesn't depend on CPU type.
46
+ * The CPU can use this to build its instruction handlers.
47
+ */
48
+ export declare const RISCV_RV32I_INSTRUCTIONS: InstructionSet;
49
+ /**
50
+ * Legacy x86-compatible instruction set (for backward compatibility)
51
+ *
52
+ * This is a minimal x86-like instruction set encoded as data.
53
+ * Not recommended for new code, but provided for compatibility.
54
+ */
55
+ export declare const X86_LEGACY_INSTRUCTIONS: InstructionSet;
56
+ //# sourceMappingURL=instructionFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructionFactory.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/instructionFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;IAClC,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,qBAAqB,EAAE,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,cAAc,GAC7B,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC,CAa7C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,EAC9B,SAAS,GAAE,MAAY,GACtB,KAAK,CAAC,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC,CAmBvC;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,EAAE,cAsGtC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,cA2BrC,CAAC"}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ /**
3
+ * Instruction Factory - Data-driven instruction set builder
4
+ *
5
+ * This factory breaks the circular dependency by:
6
+ * 1. Using data (opcode definitions) instead of type-specific code
7
+ * 2. Not importing CPU types in instruction definitions
8
+ * 3. Allowing CPU to optionally use instruction builders
9
+ *
10
+ * Instructions are defined as data (opcode -> function mapping) rather than
11
+ * hard-coded in the CPU or instruction table files.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.X86_LEGACY_INSTRUCTIONS = exports.RISCV_RV32I_INSTRUCTIONS = void 0;
15
+ exports.createInstructionFactory = createInstructionFactory;
16
+ exports.createInstructionArray = createInstructionArray;
17
+ /**
18
+ * Create an instruction factory for a given instruction set
19
+ * This avoids circular dependencies by making instruction sets data-driven
20
+ */
21
+ function createInstructionFactory(instructionSet) {
22
+ const instructionMap = new Map();
23
+ for (const instruction of instructionSet.instructions) {
24
+ if (instructionMap.has(instruction.opcode)) {
25
+ throw new Error(`Duplicate opcode 0x${instruction.opcode.toString(16)} in instruction set ${instructionSet.name}`);
26
+ }
27
+ instructionMap.set(instruction.opcode, instruction.handler);
28
+ }
29
+ return instructionMap;
30
+ }
31
+ /**
32
+ * Create a sparse array (0-indexed) from instruction definitions
33
+ * More cache-friendly than Map for sequential opcodes
34
+ */
35
+ function createInstructionArray(instructionSet, arraySize = 256) {
36
+ const array = new Array(arraySize);
37
+ // Fill with no-op by default
38
+ const noOp = () => {
39
+ // No operation
40
+ };
41
+ for (let i = 0; i < arraySize; i++) {
42
+ array[i] = noOp;
43
+ }
44
+ // Fill with actual instructions
45
+ for (const instruction of instructionSet.instructions) {
46
+ if (instruction.opcode < arraySize) {
47
+ array[instruction.opcode] = instruction.handler;
48
+ }
49
+ }
50
+ return array;
51
+ }
52
+ /**
53
+ * RISC-V RV32I Instruction Set Definition (Subset for Blockchain VM)
54
+ *
55
+ * This is data-driven, so it doesn't depend on CPU type.
56
+ * The CPU can use this to build its instruction handlers.
57
+ */
58
+ exports.RISCV_RV32I_INSTRUCTIONS = {
59
+ name: 'RISC-V RV32I (Subset)',
60
+ instructions: [
61
+ // Load/Store instructions
62
+ {
63
+ opcode: 0x03,
64
+ mnemonic: 'LW',
65
+ handler: (_cpu) => {
66
+ // Load Word
67
+ throw new Error('LW not implemented');
68
+ },
69
+ },
70
+ {
71
+ opcode: 0x23,
72
+ mnemonic: 'SW',
73
+ handler: (_cpu) => {
74
+ // Store Word
75
+ throw new Error('SW not implemented');
76
+ },
77
+ },
78
+ // Arithmetic instructions
79
+ {
80
+ opcode: 0x13,
81
+ mnemonic: 'ADDI',
82
+ handler: (_cpu) => {
83
+ // Add Immediate
84
+ throw new Error('ADDI not implemented');
85
+ },
86
+ },
87
+ {
88
+ opcode: 0x33,
89
+ mnemonic: 'ADD',
90
+ handler: (_cpu) => {
91
+ // Add
92
+ throw new Error('ADD not implemented');
93
+ },
94
+ },
95
+ {
96
+ opcode: 0x33,
97
+ mnemonic: 'SUB',
98
+ handler: (_cpu) => {
99
+ // Subtract (same opcode as ADD, differs in funct7)
100
+ throw new Error('SUB not implemented');
101
+ },
102
+ },
103
+ // Branch instructions
104
+ {
105
+ opcode: 0x63,
106
+ mnemonic: 'BEQ',
107
+ handler: (_cpu) => {
108
+ // Branch if Equal
109
+ throw new Error('BEQ not implemented');
110
+ },
111
+ },
112
+ {
113
+ opcode: 0x63,
114
+ mnemonic: 'BNE',
115
+ handler: (_cpu) => {
116
+ // Branch if Not Equal
117
+ throw new Error('BNE not implemented');
118
+ },
119
+ },
120
+ // Jump instructions
121
+ {
122
+ opcode: 0x6f,
123
+ mnemonic: 'JAL',
124
+ handler: (_cpu) => {
125
+ // Jump and Link
126
+ throw new Error('JAL not implemented');
127
+ },
128
+ },
129
+ {
130
+ opcode: 0x67,
131
+ mnemonic: 'JALR',
132
+ handler: (_cpu) => {
133
+ // Jump and Link Register
134
+ throw new Error('JALR not implemented');
135
+ },
136
+ },
137
+ // System instructions
138
+ {
139
+ opcode: 0x73,
140
+ mnemonic: 'SYSTEM',
141
+ handler: (_cpu) => {
142
+ // System call
143
+ throw new Error('SYSTEM not implemented');
144
+ },
145
+ },
146
+ // No-op
147
+ {
148
+ opcode: 0x13,
149
+ mnemonic: 'NOP',
150
+ handler: () => {
151
+ // No operation
152
+ },
153
+ },
154
+ ],
155
+ };
156
+ /**
157
+ * Legacy x86-compatible instruction set (for backward compatibility)
158
+ *
159
+ * This is a minimal x86-like instruction set encoded as data.
160
+ * Not recommended for new code, but provided for compatibility.
161
+ */
162
+ exports.X86_LEGACY_INSTRUCTIONS = {
163
+ name: 'x86 (Legacy)',
164
+ instructions: [
165
+ {
166
+ opcode: 0x90,
167
+ mnemonic: 'NOP',
168
+ handler: () => {
169
+ // No operation
170
+ },
171
+ },
172
+ {
173
+ opcode: 0xc3,
174
+ mnemonic: 'RET',
175
+ handler: (cpu) => {
176
+ // Return - pop PC
177
+ cpu.PC = cpu.pop();
178
+ },
179
+ },
180
+ {
181
+ opcode: 0xeb,
182
+ mnemonic: 'JMP',
183
+ handler: (_cpu) => {
184
+ // Jump
185
+ throw new Error('JMP not implemented');
186
+ },
187
+ },
188
+ ],
189
+ };
190
+ //# sourceMappingURL=instructionFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructionFactory.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/instructionFactory.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import { X86Cpu } from './x86Cpu';
2
- export declare function buildInstructionMapForCpu(cpu: X86Cpu): Map<number, () => void>;
3
- export declare function buildInstructionArray(cpu: X86Cpu): Array<() => void>;
4
- export declare function X83Instructions(cpu: X86Cpu): Map<number, (reg: number, op2: number) => void>;
5
- export declare function fn0x81Instructions(cpu: X86Cpu): Map<number, (reg: number, value?: number) => void>;
6
- export declare function syscallInstructions(cpu: X86Cpu): Map<number, () => void>;
7
- export declare function fn0x0fInstructions(cpu: X86Cpu): Map<number, () => void>;
8
- export declare function getSysCallInstruction(cpu: X86Cpu, opcode: number): () => void;
9
- export declare function getInterruptInstruction(cpu: X86Cpu, opcode: number): () => void;
10
- export declare function getFn0x0fInstruction(cpu: X86Cpu, opcode: number): () => void;
11
- export declare function getFn0x81Instruction(cpu: X86Cpu, opcode: number): (reg: number, value?: number) => void;
12
- export declare function getX83Instruction(cpu: X86Cpu, opcode: number): (reg: number, op2: number) => void;
1
+ /**
2
+ * Instruction Table Builder - RISC-V based implementation
3
+ *
4
+ * This module provides instruction table building functions for CPU emulation.
5
+ * All legacy x86 code has been removed in favor of RISC-V which is more suitable
6
+ * for distributed blockchain systems.
7
+ *
8
+ * For new code, use RISC-V (RiscVCpu) instead.
9
+ */
10
+ /**
11
+ * Deprecated: This module is maintained for backward compatibility.
12
+ * Use instructionFactory.ts instead.
13
+ */
14
+ export declare const INSTRUCTION_TABLES_DEPRECATED = true;
13
15
  //# sourceMappingURL=instructionTables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"instructionTables.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/instructionTables.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,MAAM,GACV,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAiDzB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAUpE;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GACV,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,CAWjD;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,GACV,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC,CAQpD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAKxE;AAGD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAcvE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,CAM7E;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,MAAM,IAAI,CAMZ;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,CAM5E;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAMvC;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAMpC"}
1
+ {"version":3,"file":"instructionTables.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/cpus/instructionTables.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;GAGG;AACH,eAAO,MAAM,6BAA6B,OAAO,CAAC"}