@brightchain/brightchain-lib 0.3.0 → 0.6.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 (128) hide show
  1. package/package.json +5 -5
  2. package/src/browser.d.ts +13 -0
  3. package/src/browser.d.ts.map +1 -1
  4. package/src/browser.js +23 -1
  5. package/src/browser.js.map +1 -1
  6. package/src/lib/brightChain.d.ts +7 -0
  7. package/src/lib/brightChain.d.ts.map +1 -1
  8. package/src/lib/brightChain.js.map +1 -1
  9. package/src/lib/browserBrightChain.d.ts +7 -0
  10. package/src/lib/browserBrightChain.d.ts.map +1 -1
  11. package/src/lib/browserBrightChain.js.map +1 -1
  12. package/src/lib/documents/member/baseMemberDocument.d.ts +1 -1
  13. package/src/lib/documents/member/baseMemberDocument.d.ts.map +1 -1
  14. package/src/lib/energyAccount.d.ts +71 -0
  15. package/src/lib/energyAccount.d.ts.map +1 -0
  16. package/src/lib/energyAccount.js +124 -0
  17. package/src/lib/energyAccount.js.map +1 -0
  18. package/src/lib/energyConsts.d.ts +23 -0
  19. package/src/lib/energyConsts.d.ts.map +1 -0
  20. package/src/lib/energyConsts.js +31 -0
  21. package/src/lib/energyConsts.js.map +1 -0
  22. package/src/lib/enumeration-translations/memberType.d.ts +1 -1
  23. package/src/lib/enumeration-translations/memberType.d.ts.map +1 -1
  24. package/src/lib/enumeration-translations/memberType.js +6 -6
  25. package/src/lib/enumeration-translations/memberType.js.map +1 -1
  26. package/src/lib/enumerations/index.d.ts +0 -1
  27. package/src/lib/enumerations/index.d.ts.map +1 -1
  28. package/src/lib/enumerations/index.js +0 -1
  29. package/src/lib/enumerations/index.js.map +1 -1
  30. package/src/lib/enumerations/operationType.d.ts +25 -1
  31. package/src/lib/enumerations/operationType.d.ts.map +1 -1
  32. package/src/lib/enumerations/operationType.js +34 -1
  33. package/src/lib/enumerations/operationType.js.map +1 -1
  34. package/src/lib/errors/index.d.ts +6 -0
  35. package/src/lib/errors/index.d.ts.map +1 -1
  36. package/src/lib/errors/index.js +9 -0
  37. package/src/lib/errors/index.js.map +1 -1
  38. package/src/lib/errors/superCbl.d.ts +24 -0
  39. package/src/lib/errors/superCbl.d.ts.map +1 -0
  40. package/src/lib/errors/superCbl.js +43 -0
  41. package/src/lib/errors/superCbl.js.map +1 -0
  42. package/src/lib/index.d.ts +7 -0
  43. package/src/lib/index.d.ts.map +1 -1
  44. package/src/lib/index.js +7 -0
  45. package/src/lib/index.js.map +1 -1
  46. package/src/lib/interfaces/energyAccount.d.ts +37 -0
  47. package/src/lib/interfaces/energyAccount.d.ts.map +1 -0
  48. package/src/lib/interfaces/energyAccount.js +3 -0
  49. package/src/lib/interfaces/energyAccount.js.map +1 -0
  50. package/src/lib/interfaces/energyTransaction.d.ts +18 -2
  51. package/src/lib/interfaces/energyTransaction.d.ts.map +1 -1
  52. package/src/lib/interfaces/member/hydrated.d.ts +1 -2
  53. package/src/lib/interfaces/member/hydrated.d.ts.map +1 -1
  54. package/src/lib/interfaces/member/memberData.d.ts +1 -2
  55. package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
  56. package/src/lib/interfaces/member/memberDto.d.ts +1 -2
  57. package/src/lib/interfaces/member/memberDto.d.ts.map +1 -1
  58. package/src/lib/interfaces/member/operational.d.ts +1 -2
  59. package/src/lib/interfaces/member/operational.d.ts.map +1 -1
  60. package/src/lib/interfaces/member/storage.d.ts +1 -1
  61. package/src/lib/interfaces/member/storage.d.ts.map +1 -1
  62. package/src/lib/interfaces/storage/blockStore.d.ts +1 -1
  63. package/src/lib/interfaces/storage/blockStore.d.ts.map +1 -1
  64. package/src/lib/interfaces/storage/index.d.ts +1 -0
  65. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  66. package/src/lib/interfaces/storage/superCbl.d.ts +102 -0
  67. package/src/lib/interfaces/storage/superCbl.d.ts.map +1 -0
  68. package/src/lib/interfaces/storage/superCbl.js +3 -0
  69. package/src/lib/interfaces/storage/superCbl.js.map +1 -0
  70. package/src/lib/operationCost.d.ts +13 -1
  71. package/src/lib/operationCost.d.ts.map +1 -1
  72. package/src/lib/operationCost.js +18 -2
  73. package/src/lib/operationCost.js.map +1 -1
  74. package/src/lib/schemas/quorumDocument.d.ts.map +1 -1
  75. package/src/lib/schemas/quorumDocument.js +1 -2
  76. package/src/lib/schemas/quorumDocument.js.map +1 -1
  77. package/src/lib/services/index.d.ts +2 -0
  78. package/src/lib/services/index.d.ts.map +1 -1
  79. package/src/lib/services/index.js +2 -0
  80. package/src/lib/services/index.js.map +1 -1
  81. package/src/lib/services/jsonCblCapacity.service.d.ts +80 -0
  82. package/src/lib/services/jsonCblCapacity.service.d.ts.map +1 -0
  83. package/src/lib/services/jsonCblCapacity.service.js +147 -0
  84. package/src/lib/services/jsonCblCapacity.service.js.map +1 -0
  85. package/src/lib/services/memberStore.d.ts.map +1 -1
  86. package/src/lib/services/memberStore.js +1 -2
  87. package/src/lib/services/memberStore.js.map +1 -1
  88. package/src/lib/services/messaging/messageCBLService.d.ts.map +1 -1
  89. package/src/lib/services/messaging/messageCBLService.js +9 -0
  90. package/src/lib/services/messaging/messageCBLService.js.map +1 -1
  91. package/src/lib/services/superCbl.service.d.ts +68 -0
  92. package/src/lib/services/superCbl.service.d.ts.map +1 -0
  93. package/src/lib/services/superCbl.service.js +213 -0
  94. package/src/lib/services/superCbl.service.js.map +1 -0
  95. package/src/lib/sharedTypes.d.ts +1 -2
  96. package/src/lib/sharedTypes.d.ts.map +1 -1
  97. package/src/lib/sharedTypes.js.map +1 -1
  98. package/src/lib/simpleBrightChain.d.ts +7 -0
  99. package/src/lib/simpleBrightChain.d.ts.map +1 -1
  100. package/src/lib/simpleBrightChain.js.map +1 -1
  101. package/src/lib/stores/energyAccountStore.d.ts +43 -0
  102. package/src/lib/stores/energyAccountStore.d.ts.map +1 -0
  103. package/src/lib/stores/energyAccountStore.js +73 -0
  104. package/src/lib/stores/energyAccountStore.js.map +1 -0
  105. package/src/lib/stores/energyLedger.d.ts +40 -0
  106. package/src/lib/stores/energyLedger.d.ts.map +1 -0
  107. package/src/lib/stores/energyLedger.js +77 -0
  108. package/src/lib/stores/energyLedger.js.map +1 -0
  109. package/src/lib/stores/memoryBlockStore.d.ts.map +1 -1
  110. package/src/lib/stores/memoryBlockStore.js +1 -4
  111. package/src/lib/stores/memoryBlockStore.js.map +1 -1
  112. package/src/lib/test/testMembers.d.ts +1 -2
  113. package/src/lib/test/testMembers.d.ts.map +1 -1
  114. package/src/lib/test/testMembers.js +6 -7
  115. package/src/lib/test/testMembers.js.map +1 -1
  116. package/src/lib/types/checksum.d.ts.map +1 -1
  117. package/src/lib/types/checksum.js +8 -3
  118. package/src/lib/types/checksum.js.map +1 -1
  119. package/src/lib/enumerations/memberType.d.ts +0 -16
  120. package/src/lib/enumerations/memberType.d.ts.map +0 -1
  121. package/src/lib/enumerations/memberType.js +0 -20
  122. package/src/lib/enumerations/memberType.js.map +0 -1
  123. /package/{DEPRECATIONS.md → brightchain-lib/DEPRECATIONS.md} +0 -0
  124. /package/{DEPRECATIONS_REMOVED.md → brightchain-lib/DEPRECATIONS_REMOVED.md} +0 -0
  125. /package/{MIGRATION.md → brightchain-lib/MIGRATION.md} +0 -0
  126. /package/{NAMING_AUDIT.md → brightchain-lib/NAMING_AUDIT.md} +0 -0
  127. /package/{NAMING_CONVENTIONS.md → brightchain-lib/NAMING_CONVENTIONS.md} +0 -0
  128. /package/{README.md → brightchain-lib/README.md} +0 -0
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SuperCBLService = void 0;
4
+ exports.parseCBLData = parseCBLData;
5
+ const superCbl_1 = require("../errors/superCbl");
6
+ const jsonCblCapacity_service_1 = require("./jsonCblCapacity.service");
7
+ /**
8
+ * Parse CBL data from JSON and detect its type.
9
+ *
10
+ * @param json - JSON string or object containing CBL data
11
+ * @returns Parsed CBL data with type information
12
+ *
13
+ * @see Requirements 5.1, 6.5, 6.6
14
+ */
15
+ function parseCBLData(json) {
16
+ const data = typeof json === 'string' ? JSON.parse(json) : json;
17
+ // Check version
18
+ if (data.version === 1) {
19
+ return data;
20
+ }
21
+ if (data.version === 2) {
22
+ if (data.type === 'regular') {
23
+ return data;
24
+ }
25
+ else if (data.type === 'sub-cbl') {
26
+ return data;
27
+ }
28
+ else if (data.type === 'super-cbl') {
29
+ return data;
30
+ }
31
+ throw superCbl_1.SuperCBLError.invalidCBLType(data.type);
32
+ }
33
+ throw superCbl_1.SuperCBLError.invalidFormat(`Unsupported CBL version: ${data.version}`, { version: data.version });
34
+ }
35
+ /**
36
+ * Service for creating and managing hierarchical Super CBL structures.
37
+ *
38
+ * @see Requirements 2.1, 2.2, 2.3, 2.4, 3.1, 3.2, 3.3, 3.4, 4.1, 4.2
39
+ */
40
+ class SuperCBLService {
41
+ constructor() {
42
+ this.capacityCalculator = new jsonCblCapacity_service_1.JsonCBLCapacityCalculator();
43
+ }
44
+ /**
45
+ * Create a sub-CBL from a partition of block references.
46
+ *
47
+ * @param blocks - Block references for this sub-CBL
48
+ * @param config - Configuration for the CBL
49
+ * @param subCblIndex - Index of this sub-CBL
50
+ * @param totalSubCbls - Total number of sub-CBLs
51
+ * @returns The created sub-CBL
52
+ *
53
+ * @see Requirements 2.1, 2.2, 2.3
54
+ */
55
+ createSubCBL(blocks, config, subCblIndex, totalSubCbls) {
56
+ return {
57
+ version: 2,
58
+ type: 'sub-cbl',
59
+ fileName: config.fileName,
60
+ originalSize: config.originalSize,
61
+ blockSize: config.blockSize,
62
+ blockCount: blocks.length,
63
+ blocks,
64
+ subCblIndex,
65
+ totalSubCbls,
66
+ };
67
+ }
68
+ /**
69
+ * Create a Super CBL that references sub-CBLs via magnet URLs.
70
+ *
71
+ * @param subCblMagnetUrls - Magnet URLs for all sub-CBLs
72
+ * @param config - Configuration for the CBL
73
+ * @param totalBlockCount - Total blocks across all sub-CBLs
74
+ * @param depth - Hierarchy depth
75
+ * @returns The created Super CBL
76
+ *
77
+ * @see Requirements 3.1, 3.2, 3.3
78
+ */
79
+ createSuperCBL(subCblMagnetUrls, config, totalBlockCount, depth) {
80
+ return {
81
+ version: 2,
82
+ type: 'super-cbl',
83
+ fileName: config.fileName,
84
+ originalSize: config.originalSize,
85
+ blockSize: config.blockSize,
86
+ totalBlockCount,
87
+ depth,
88
+ subCblCount: subCblMagnetUrls.length,
89
+ subCblMagnetUrls,
90
+ };
91
+ }
92
+ /**
93
+ * Create a hierarchical CBL structure for the given block references.
94
+ * Automatically determines whether to use regular CBL or Super CBL.
95
+ *
96
+ * @param blocks - All block references for the file
97
+ * @param config - Configuration for the CBL
98
+ * @param storeSubCBL - Callback to store a sub-CBL and get its magnet URL
99
+ * @param currentDepth - Current recursion depth (internal use)
100
+ * @returns Result containing the root CBL and all sub-CBLs
101
+ *
102
+ * @see Requirements 2.4, 3.4, 4.1, 4.2
103
+ */
104
+ async createHierarchicalCBL(blocks, config, storeSubCBL, currentDepth = 1) {
105
+ const maxDepth = config.maxDepth ?? 10;
106
+ // Check depth limit
107
+ if (currentDepth > maxDepth) {
108
+ throw superCbl_1.SuperCBLError.maxDepthExceeded(currentDepth, maxDepth);
109
+ }
110
+ // Check if Super CBL is needed
111
+ const requiresSuperCBL = this.capacityCalculator.requiresSuperCBL(blocks.length, config.blockSize, config.fileName, config.originalSize);
112
+ // If regular CBL fits, return it
113
+ if (!requiresSuperCBL) {
114
+ const regularCbl = {
115
+ version: 2,
116
+ type: 'regular',
117
+ fileName: config.fileName,
118
+ originalSize: config.originalSize,
119
+ blockSize: config.blockSize,
120
+ blockCount: blocks.length,
121
+ blocks,
122
+ };
123
+ return {
124
+ rootCbl: regularCbl,
125
+ subCbls: [],
126
+ depth: 1,
127
+ isSuperCbl: false,
128
+ };
129
+ }
130
+ // Calculate max blocks per sub-CBL
131
+ const maxBlocksPerSubCbl = this.capacityCalculator.calculateMaxBlockReferences(config.blockSize, config.fileName, config.originalSize, 'sub-cbl', { subCblIndex: 0, totalSubCbls: 1 });
132
+ // Partition blocks into sub-CBLs
133
+ const subCblCount = Math.ceil(blocks.length / maxBlocksPerSubCbl);
134
+ const subCbls = [];
135
+ const subCblMagnetUrls = [];
136
+ for (let i = 0; i < subCblCount; i++) {
137
+ const start = i * maxBlocksPerSubCbl;
138
+ const end = Math.min(start + maxBlocksPerSubCbl, blocks.length);
139
+ const subCblBlocks = blocks.slice(start, end);
140
+ const subCbl = this.createSubCBL(subCblBlocks, config, i, subCblCount);
141
+ subCbls.push(subCbl);
142
+ const magnetUrl = await storeSubCBL(subCbl);
143
+ subCblMagnetUrls.push(magnetUrl);
144
+ }
145
+ // Check if Super CBL itself fits
146
+ const superCbl = this.createSuperCBL(subCblMagnetUrls, config, blocks.length, currentDepth + 1);
147
+ const superCblSize = this.capacityCalculator.calculateCBLSize(superCbl);
148
+ // If Super CBL fits, return it
149
+ if (superCblSize <= config.blockSize) {
150
+ return {
151
+ rootCbl: superCbl,
152
+ subCbls,
153
+ depth: currentDepth + 1,
154
+ isSuperCbl: true,
155
+ };
156
+ }
157
+ // Super CBL doesn't fit - need recursive hierarchy
158
+ // Treat magnet URLs as "blocks" and create another level
159
+ const recursiveResult = await this.createHierarchicalCBL(subCblMagnetUrls, config, storeSubCBL, currentDepth + 1);
160
+ return {
161
+ rootCbl: recursiveResult.rootCbl,
162
+ subCbls: [...subCbls, ...recursiveResult.subCbls],
163
+ depth: recursiveResult.depth,
164
+ isSuperCbl: true,
165
+ };
166
+ }
167
+ /**
168
+ * Reconstruct block references from a hierarchical CBL structure.
169
+ * Recursively retrieves sub-CBLs and reassembles block references.
170
+ *
171
+ * @param cblData - The root CBL data
172
+ * @param retrieveSubCBL - Callback to retrieve a sub-CBL by magnet URL
173
+ * @returns Array of all block references in correct order
174
+ *
175
+ * @see Requirements 5.2, 5.3, 5.4, 5.5
176
+ */
177
+ async reconstructBlockReferences(cblData, retrieveSubCBL) {
178
+ // Handle v1 CBL (backward compatibility)
179
+ if (cblData.version === 1) {
180
+ return cblData.blocks;
181
+ }
182
+ // Handle regular v2 CBL
183
+ if (cblData.type === 'regular') {
184
+ return cblData.blocks;
185
+ }
186
+ // Handle sub-CBL (shouldn't be root, but handle it)
187
+ if (cblData.type === 'sub-cbl') {
188
+ return cblData.blocks;
189
+ }
190
+ // Handle Super CBL - recursively retrieve sub-CBLs
191
+ if (cblData.type === 'super-cbl') {
192
+ const allBlocks = [];
193
+ for (const magnetUrl of cblData.subCblMagnetUrls) {
194
+ try {
195
+ const subCblData = await retrieveSubCBL(magnetUrl);
196
+ const subBlocks = await this.reconstructBlockReferences(subCblData, retrieveSubCBL);
197
+ allBlocks.push(...subBlocks);
198
+ }
199
+ catch (error) {
200
+ throw superCbl_1.SuperCBLError.missingSubCBL(magnetUrl, error instanceof Error ? error : undefined);
201
+ }
202
+ }
203
+ // Validate block count
204
+ if (allBlocks.length !== cblData.totalBlockCount) {
205
+ throw superCbl_1.SuperCBLError.blockCountMismatch(cblData.totalBlockCount, allBlocks.length);
206
+ }
207
+ return allBlocks;
208
+ }
209
+ throw superCbl_1.SuperCBLError.invalidCBLType(cblData.type || 'unknown');
210
+ }
211
+ }
212
+ exports.SuperCBLService = SuperCBLService;
213
+ //# sourceMappingURL=superCbl.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"superCbl.service.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/superCbl.service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import { ChecksumString } from '@digitaldefiance/ecies-lib';
1
+ import { ChecksumString, MemberType } from '@digitaldefiance/ecies-lib';
2
2
  import { Request } from 'express';
3
3
  import { Document } from './documents/base/document';
4
- import MemberType from './enumerations/memberType';
5
4
  export type DefaultIdType = ChecksumString;
6
5
  export type BlocksApiRequest = Request<{
7
6
  blockId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sharedTypes.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/sharedTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,UAAU,MAAM,2BAA2B,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD;IACE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC;IACE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,EACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EACD;IACE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAE5D,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,CAAC;AAEtB,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,eAAe,EAAE,GACjB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAC;AAEvC,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,eAAe,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,CAAC,GACT,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GACzB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,CACb,IAAI,EAAE,OAAO,QAAQ,EACrB,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAQ,CAAC"}
1
+ {"version":3,"file":"sharedTypes.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/sharedTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,EACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB;IACE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD;IACE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CACpC;IACE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,EACD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,EACD;IACE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;AAE5D,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,eAAe,GACf,iBAAiB,CAAC;AAEtB,MAAM,MAAM,eAAe,GACvB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,eAAe,EAAE,GACjB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAC;AAEvC,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,CAAC;IACZ,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,eAAe,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;KAC/B,CAAC,IAAI,MAAM,CAAC,GACT,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACvB,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GACzB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,CACb,IAAI,EAAE,OAAO,QAAQ,EACrB,GAAG,IAAI,EAAE,OAAO,EAAE,KACf,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sharedTypes.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/sharedTypes.ts"],"names":[],"mappings":";;;AAoFa,QAAA,mBAAmB,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"sharedTypes.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/sharedTypes.ts"],"names":[],"mappings":";;;AAmFa,QAAA,mBAAmB,GAAG,KAAK,CAAC"}
@@ -14,6 +14,13 @@ export interface FileReceipt {
14
14
  blocks: BlockInfo[];
15
15
  cblData: number[];
16
16
  magnetUrl: string;
17
+ type?: 'file' | 'message';
18
+ messageMetadata?: {
19
+ senderId: string;
20
+ recipients: string[];
21
+ timestamp: Date;
22
+ content?: string;
23
+ };
17
24
  }
18
25
  export declare class BrightChain {
19
26
  private store;
@@ -1 +1 @@
1
- {"version":3,"file":"simpleBrightChain.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/simpleBrightChain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAEnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAkDrD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,GAAE,SAA2B;IAK5C,SAAS,CACb,QAAQ,EAAE,UAAU,EACpB,QAAQ,SAAa,GACpB,OAAO,CAAC,WAAW,CAAC;IA0CjB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAmB7D,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,eAAe;CAQxB"}
1
+ {"version":3,"file":"simpleBrightChain.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/simpleBrightChain.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAEnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAkDrD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,EAAE,IAAI,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,SAAS,CAAY;gBAEjB,SAAS,GAAE,SAA2B;IAK5C,SAAS,CACb,QAAQ,EAAE,UAAU,EACpB,QAAQ,SAAa,GACpB,OAAO,CAAC,WAAW,CAAC;IA0CjB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAmB7D,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,eAAe;CAQxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"simpleBrightChain.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/simpleBrightChain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simpleBrightChain.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/simpleBrightChain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { EnergyAccount } from '../energyAccount';
2
+ import { Checksum } from '../types/checksum';
3
+ /**
4
+ * In-memory store for energy accounts
5
+ * Follows existing SimpleStore/ArrayStore patterns
6
+ */
7
+ export declare class EnergyAccountStore {
8
+ private accounts;
9
+ constructor();
10
+ /**
11
+ * Get account by member ID
12
+ */
13
+ get(memberId: Checksum): EnergyAccount | undefined;
14
+ /**
15
+ * Get or create account with trial credits
16
+ */
17
+ getOrCreate(memberId: Checksum): Promise<EnergyAccount>;
18
+ /**
19
+ * Set account
20
+ */
21
+ set(memberId: Checksum, account: EnergyAccount): Promise<void>;
22
+ /**
23
+ * Check if account exists
24
+ */
25
+ has(memberId: Checksum): boolean;
26
+ /**
27
+ * Delete account
28
+ */
29
+ delete(memberId: Checksum): boolean;
30
+ /**
31
+ * Get all accounts
32
+ */
33
+ getAll(): EnergyAccount[];
34
+ /**
35
+ * Get account count
36
+ */
37
+ get size(): number;
38
+ /**
39
+ * Clear all accounts
40
+ */
41
+ clear(): void;
42
+ }
43
+ //# sourceMappingURL=energyAccountStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energyAccountStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/energyAccountStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAmC;;IAMnD;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS;IAKlD;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IAS7D;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE;;OAEG;IACH,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAKhC;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAKnC;;OAEG;IACH,MAAM,IAAI,aAAa,EAAE;IAIzB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnergyAccountStore = void 0;
4
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
+ const energyAccount_1 = require("../energyAccount");
6
+ /**
7
+ * In-memory store for energy accounts
8
+ * Follows existing SimpleStore/ArrayStore patterns
9
+ */
10
+ class EnergyAccountStore {
11
+ constructor() {
12
+ this.accounts = new Map();
13
+ }
14
+ /**
15
+ * Get account by member ID
16
+ */
17
+ get(memberId) {
18
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(memberId.toUint8Array());
19
+ return this.accounts.get(key);
20
+ }
21
+ /**
22
+ * Get or create account with trial credits
23
+ */
24
+ async getOrCreate(memberId) {
25
+ let account = this.get(memberId);
26
+ if (!account) {
27
+ account = energyAccount_1.EnergyAccount.createWithTrialCredits(memberId);
28
+ await this.set(memberId, account);
29
+ }
30
+ return account;
31
+ }
32
+ /**
33
+ * Set account
34
+ */
35
+ async set(memberId, account) {
36
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(memberId.toUint8Array());
37
+ this.accounts.set(key, account);
38
+ }
39
+ /**
40
+ * Check if account exists
41
+ */
42
+ has(memberId) {
43
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(memberId.toUint8Array());
44
+ return this.accounts.has(key);
45
+ }
46
+ /**
47
+ * Delete account
48
+ */
49
+ delete(memberId) {
50
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(memberId.toUint8Array());
51
+ return this.accounts.delete(key);
52
+ }
53
+ /**
54
+ * Get all accounts
55
+ */
56
+ getAll() {
57
+ return Array.from(this.accounts.values());
58
+ }
59
+ /**
60
+ * Get account count
61
+ */
62
+ get size() {
63
+ return this.accounts.size;
64
+ }
65
+ /**
66
+ * Clear all accounts
67
+ */
68
+ clear() {
69
+ this.accounts.clear();
70
+ }
71
+ }
72
+ exports.EnergyAccountStore = EnergyAccountStore;
73
+ //# sourceMappingURL=energyAccountStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energyAccountStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/energyAccountStore.ts"],"names":[],"mappings":";;;AAAA,0DAA2E;AAC3E,oDAAiD;AAGjD;;;GAGG;AACH,MAAa,kBAAkB;IAG7B;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,QAAkB;QACpB,MAAM,GAAG,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,YAAY,EAAE,CAAiB,CAAC;QACrE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAkB;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,6BAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,QAAkB,EAAE,OAAsB;QAClD,MAAM,GAAG,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,YAAY,EAAE,CAAiB,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,QAAkB;QACpB,MAAM,GAAG,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,YAAY,EAAE,CAAiB,CAAC;QACrE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAkB;QACvB,MAAM,GAAG,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,YAAY,EAAE,CAAiB,CAAC;QACrE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF;AAvED,gDAuEC"}
@@ -0,0 +1,40 @@
1
+ import { EnergyTransaction } from '../interfaces/energyTransaction';
2
+ import { Checksum } from '../types/checksum';
3
+ /**
4
+ * In-memory ledger for energy transactions
5
+ * Provides audit trail of all energy flows
6
+ */
7
+ export declare class EnergyLedger {
8
+ private transactions;
9
+ private byMember;
10
+ constructor();
11
+ /**
12
+ * Add transaction to ledger
13
+ */
14
+ add(transaction: EnergyTransaction): void;
15
+ /**
16
+ * Get transaction by ID
17
+ */
18
+ get(txId: Checksum): EnergyTransaction | undefined;
19
+ /**
20
+ * Get all transactions for a member
21
+ */
22
+ getByMember(memberId: Checksum): EnergyTransaction[];
23
+ /**
24
+ * Get transactions in time range
25
+ */
26
+ getByTimeRange(start: Date, end: Date): EnergyTransaction[];
27
+ /**
28
+ * Get all transactions
29
+ */
30
+ getAll(): EnergyTransaction[];
31
+ /**
32
+ * Get transaction count
33
+ */
34
+ get size(): number;
35
+ /**
36
+ * Clear all transactions
37
+ */
38
+ clear(): void;
39
+ }
40
+ //# sourceMappingURL=energyLedger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energyLedger.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/energyLedger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,QAAQ,CAAoC;;IAOpD;;OAEG;IACH,GAAG,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI;IAuBzC;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,GAAG,SAAS;IAKlD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,EAAE;IAQpD;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,iBAAiB,EAAE;IAM3D;;OAEG;IACH,MAAM,IAAI,iBAAiB,EAAE;IAI7B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnergyLedger = void 0;
4
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
+ /**
6
+ * In-memory ledger for energy transactions
7
+ * Provides audit trail of all energy flows
8
+ */
9
+ class EnergyLedger {
10
+ constructor() {
11
+ this.transactions = new Map();
12
+ this.byMember = new Map();
13
+ }
14
+ /**
15
+ * Add transaction to ledger
16
+ */
17
+ add(transaction) {
18
+ const txId = (0, ecies_lib_1.uint8ArrayToHex)(transaction.id.toUint8Array());
19
+ this.transactions.set(txId, transaction);
20
+ // Index by source
21
+ const sourceId = (0, ecies_lib_1.uint8ArrayToHex)(transaction.source.toUint8Array());
22
+ if (!this.byMember.has(sourceId)) {
23
+ this.byMember.set(sourceId, []);
24
+ }
25
+ this.byMember.get(sourceId).push(txId);
26
+ // Index by destination
27
+ const destId = (0, ecies_lib_1.uint8ArrayToHex)(transaction.destination.toUint8Array());
28
+ if (!this.byMember.has(destId)) {
29
+ this.byMember.set(destId, []);
30
+ }
31
+ this.byMember.get(destId).push(txId);
32
+ }
33
+ /**
34
+ * Get transaction by ID
35
+ */
36
+ get(txId) {
37
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(txId.toUint8Array());
38
+ return this.transactions.get(key);
39
+ }
40
+ /**
41
+ * Get all transactions for a member
42
+ */
43
+ getByMember(memberId) {
44
+ const key = (0, ecies_lib_1.uint8ArrayToHex)(memberId.toUint8Array());
45
+ const txIds = this.byMember.get(key) || [];
46
+ return txIds
47
+ .map((id) => this.transactions.get(id))
48
+ .filter((tx) => tx !== undefined);
49
+ }
50
+ /**
51
+ * Get transactions in time range
52
+ */
53
+ getByTimeRange(start, end) {
54
+ return Array.from(this.transactions.values()).filter((tx) => tx.timestamp >= start && tx.timestamp <= end);
55
+ }
56
+ /**
57
+ * Get all transactions
58
+ */
59
+ getAll() {
60
+ return Array.from(this.transactions.values());
61
+ }
62
+ /**
63
+ * Get transaction count
64
+ */
65
+ get size() {
66
+ return this.transactions.size;
67
+ }
68
+ /**
69
+ * Clear all transactions
70
+ */
71
+ clear() {
72
+ this.transactions.clear();
73
+ this.byMember.clear();
74
+ }
75
+ }
76
+ exports.EnergyLedger = EnergyLedger;
77
+ //# sourceMappingURL=energyLedger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"energyLedger.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/energyLedger.ts"],"names":[],"mappings":";;;AAAA,0DAA2E;AAI3E;;;GAGG;AACH,MAAa,YAAY;IAIvB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,WAA8B;QAChC,MAAM,IAAI,GAAG,IAAA,2BAAe,EAAC,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,CAAiB,CAAC;QAC5E,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAEzC,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAA,2BAAe,EAC9B,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,CAClB,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExC,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAA,2BAAe,EAC5B,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE,CACvB,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAc;QAChB,MAAM,GAAG,GAAG,IAAA,2BAAe,EAAC,IAAI,CAAC,YAAY,EAAE,CAAiB,CAAC;QACjE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAkB;QAC5B,MAAM,GAAG,GAAG,IAAA,2BAAe,EAAC,QAAQ,CAAC,YAAY,EAAE,CAAiB,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3C,OAAO,KAAK;aACT,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,EAAE,EAA2B,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAW,EAAE,GAAS;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,KAAK,IAAI,EAAE,CAAC,SAAS,IAAI,GAAG,CACrD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;CACF;AApFD,oCAoFC"}
@@ -1 +1 @@
1
- {"version":3,"file":"memoryBlockStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/memoryBlockStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryBlockStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/memoryBlockStore.ts"],"names":[],"mappings":"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"}
@@ -107,12 +107,9 @@ class MemoryBlockStore {
107
107
  * @param options - Optional storage options including durability level and expiration
108
108
  */
109
109
  async setData(block, options) {
110
- if (block.blockSize !== this._blockSize) {
111
- throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.BlockSizeMismatch);
112
- }
113
110
  const keyHex = block.idChecksum.toHex();
114
111
  if (this.blocks.has(keyHex)) {
115
- throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.BlockAlreadyExists);
112
+ return; // Idempotent - block already exists
116
113
  }
117
114
  try {
118
115
  block.validate();