@brightchain/brightchain-api-lib 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/lib/routers/messageRouter.js +2 -2
- package/src/lib/routers/messageRouter.js.map +1 -1
- package/src/lib/services/messagePassingService.d.ts +4 -1
- package/src/lib/services/messagePassingService.d.ts.map +1 -1
- package/src/lib/services/messagePassingService.js +2 -2
- package/src/lib/services/messagePassingService.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +10 -3
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js +111 -83
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/stores/diskBlockMetadataStore.d.ts +1 -1
- package/src/lib/stores/diskBlockMetadataStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockMetadataStore.js +1 -1
- package/src/lib/stores/diskBlockMetadataStore.js.map +1 -1
- package/src/lib/stores/diskBlockStore.d.ts +5 -4
- package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.js +9 -8
- package/src/lib/stores/diskBlockStore.js.map +1 -1
- package/src/lib/stores/diskBlockSyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockSyncStore.js +23 -23
- package/src/lib/stores/diskBlockSyncStore.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brightchain/brightchain-api-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"types": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@aws-sdk/client-ses": "^3.859.0",
|
|
8
|
-
"@brightchain/brightchain-lib": "0.
|
|
8
|
+
"@brightchain/brightchain-lib": "0.7.0",
|
|
9
9
|
"@ethereumjs/wallet": "^10.0.0",
|
|
10
10
|
"bip39": "^3.1.0",
|
|
11
11
|
"buffer": "^6.0.3",
|
|
@@ -16,14 +16,14 @@ function createMessageRouter(service) {
|
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
18
|
const contentBuffer = Buffer.from(content, 'base64');
|
|
19
|
-
const
|
|
19
|
+
const result = await service.sendMessage(contentBuffer, senderId, {
|
|
20
20
|
recipients: recipients || [],
|
|
21
21
|
messageType,
|
|
22
22
|
priority: priority || brightchain_lib_1.MessagePriority.NORMAL,
|
|
23
23
|
senderId,
|
|
24
24
|
encryptionScheme: encryptionScheme || 0,
|
|
25
25
|
});
|
|
26
|
-
res.status(201).json(
|
|
26
|
+
res.status(201).json(result);
|
|
27
27
|
}
|
|
28
28
|
catch (error) {
|
|
29
29
|
res.status(500).json({ error: error.message });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messageRouter.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/messageRouter.ts"],"names":[],"mappings":";;AAIA,kDA8FC;AAlGD,kEAA+D;AAC/D,qCAAoD;AAGpD,SAAgB,mBAAmB,CAAC,OAA8B;IAChE,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IAExB;;OAEG;IACH,MAAM,CAAC,IAAI,CACT,WAAW,EACX,KAAK,EAAE,GAAY,EAAE,GAAa,EAAiB,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,EACJ,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,GACjB,GAAG,GAAG,CAAC,IAAI,CAAC;YAEb,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;gBAC3D,OAAO;YACT,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,
|
|
1
|
+
{"version":3,"file":"messageRouter.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/messageRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,10 @@ export declare class MessagePassingService {
|
|
|
13
13
|
/**
|
|
14
14
|
* Send a message
|
|
15
15
|
*/
|
|
16
|
-
sendMessage(content: Buffer, senderId: string, options: ICreateMessageOptions): Promise<
|
|
16
|
+
sendMessage(content: Buffer, senderId: string, options: ICreateMessageOptions): Promise<{
|
|
17
|
+
messageId: string;
|
|
18
|
+
magnetUrl: string;
|
|
19
|
+
}>;
|
|
17
20
|
/**
|
|
18
21
|
* Get message content
|
|
19
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messagePassingService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/messagePassingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,IAAI,qBAAqB,EAC3C,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EAElB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,uBAAuB,EAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;gBAHR,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,qBAAqB,EACpC,WAAW,EAAE,uBAAuB,EACpC,QAAQ,EAAE,sBAAsB;IAK1C;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"messagePassingService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/messagePassingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,IAAI,qBAAqB,EAC3C,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EAElB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,uBAAuB,EAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;gBAHR,UAAU,EAAE,iBAAiB,EAC7B,aAAa,EAAE,qBAAqB,EACpC,WAAW,EAAE,uBAAuB,EACpC,QAAQ,EAAE,sBAAsB;IAK1C;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IA8BpD;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK3D;;OAEG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI9B;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD,OAAO,CAAC,aAAa;CAoCtB"}
|
|
@@ -18,7 +18,7 @@ class MessagePassingService {
|
|
|
18
18
|
* Send a message
|
|
19
19
|
*/
|
|
20
20
|
async sendMessage(content, senderId, options) {
|
|
21
|
-
const { messageId } = await this.messageCBL.createMessage(new Uint8Array(content), senderId, options);
|
|
21
|
+
const { messageId, magnetUrl } = await this.messageCBL.createMessage(new Uint8Array(content), senderId, options);
|
|
22
22
|
const metadata = await this.messageCBL.getMessageMetadata(messageId);
|
|
23
23
|
if (metadata) {
|
|
24
24
|
this.eventSystem.emit(eventNotificationSystem_1.MessageEventType.MESSAGE_STORED, metadata);
|
|
@@ -34,7 +34,7 @@ class MessagePassingService {
|
|
|
34
34
|
this.wsServer.broadcast(messageId);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
return messageId;
|
|
37
|
+
return { messageId, magnetUrl };
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Get message content
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messagePassingService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/messagePassingService.ts"],"names":[],"mappings":";;;AAAA,kEAOsC;AACtC,uEAGmC;AAGnC;;GAEG;AACH,MAAa,qBAAqB;IAChC,YACU,UAA6B,EAC7B,aAAoC,EACpC,WAAoC,EACpC,QAAgC;QAHhC,eAAU,GAAV,UAAU,CAAmB;QAC7B,kBAAa,GAAb,aAAa,CAAuB;QACpC,gBAAW,GAAX,WAAW,CAAyB;QACpC,aAAQ,GAAR,QAAQ,CAAwB;QAExC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,OAAe,EACf,QAAgB,EAChB,OAA8B;QAE9B,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"messagePassingService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/messagePassingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,24 +53,31 @@ export declare class DiskBlockAsyncStore extends DiskBlockStore implements IBloc
|
|
|
53
53
|
* @returns The Checksum
|
|
54
54
|
*/
|
|
55
55
|
private hexToChecksum;
|
|
56
|
+
/**
|
|
57
|
+
* Find the block size for a given checksum by searching all sizes.
|
|
58
|
+
* @param key - The block's checksum
|
|
59
|
+
* @returns The block size if found, null otherwise
|
|
60
|
+
*/
|
|
61
|
+
private findBlockSize;
|
|
56
62
|
/**
|
|
57
63
|
* Get the file path for a parity block.
|
|
58
64
|
* Parity files are stored alongside block files with .p{index} extension.
|
|
59
65
|
* @param blockId - The data block's checksum
|
|
66
|
+
* @param blockSize - The block size
|
|
60
67
|
* @param parityIndex - The parity block index (0-based)
|
|
61
68
|
* @returns The parity file path
|
|
62
69
|
*/
|
|
63
70
|
private parityPath;
|
|
64
71
|
/**
|
|
65
|
-
* Check if a block exists
|
|
72
|
+
* Check if a block exists (checks all block sizes)
|
|
66
73
|
*/
|
|
67
74
|
has(key: Checksum | string): Promise<boolean>;
|
|
68
75
|
/**
|
|
69
|
-
* Get a handle to a block
|
|
76
|
+
* Get a handle to a block (searches all block sizes)
|
|
70
77
|
*/
|
|
71
78
|
get<T extends BaseBlock>(key: Checksum | string): BlockHandle<T>;
|
|
72
79
|
/**
|
|
73
|
-
* Get a block's data
|
|
80
|
+
* Get a block's data (searches all block sizes)
|
|
74
81
|
*/
|
|
75
82
|
getData(key: Checksum): Promise<RawDataBlock>;
|
|
76
83
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskBlockAsyncStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockAsyncStore.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EAET,WAAW,EAEX,SAAS,EAET,iBAAiB,EAEjB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,QAAQ,EAOR,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,WAAW,EAGX,YAAY,EACZ,cAAc,EAOf,MAAM,8BAA8B,CAAC;AAQtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD;;;;;;;;;;GAUG;AACH,qBAAa,mBAAoB,SAAQ,cAAe,YAAW,WAAW;IAC5E;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IAEvD;;;OAGG;IACH,OAAO,CAAC,UAAU,CAA4B;gBAElC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"diskBlockAsyncStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockAsyncStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
35
35
|
* If not provided, FEC operations will return errors or no-ops.
|
|
36
36
|
*/
|
|
37
37
|
this.fecService = null;
|
|
38
|
-
this.metadataStore = new diskBlockMetadataStore_1.DiskBlockMetadataStore(config.storePath
|
|
38
|
+
this.metadataStore = new diskBlockMetadataStore_1.DiskBlockMetadataStore(config.storePath);
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Set the FEC service for parity generation and recovery.
|
|
@@ -74,74 +74,94 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
74
74
|
hexToChecksum(hex) {
|
|
75
75
|
return brightchain_lib_1.Checksum.fromHex(hex);
|
|
76
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Find the block size for a given checksum by searching all sizes.
|
|
79
|
+
* @param key - The block's checksum
|
|
80
|
+
* @returns The block size if found, null otherwise
|
|
81
|
+
*/
|
|
82
|
+
async findBlockSize(key) {
|
|
83
|
+
for (const size of Object.values(brightchain_lib_1.BlockSize).filter((v) => typeof v === 'number')) {
|
|
84
|
+
const blockPath = this.blockPath(key, size);
|
|
85
|
+
if ((0, fs_1.existsSync)(blockPath)) {
|
|
86
|
+
return size;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
77
91
|
/**
|
|
78
92
|
* Get the file path for a parity block.
|
|
79
93
|
* Parity files are stored alongside block files with .p{index} extension.
|
|
80
94
|
* @param blockId - The data block's checksum
|
|
95
|
+
* @param blockSize - The block size
|
|
81
96
|
* @param parityIndex - The parity block index (0-based)
|
|
82
97
|
* @returns The parity file path
|
|
83
98
|
*/
|
|
84
|
-
parityPath(blockId, parityIndex) {
|
|
85
|
-
return this.blockPath(blockId) +
|
|
99
|
+
parityPath(blockId, blockSize, parityIndex) {
|
|
100
|
+
return (this.blockPath(blockId, blockSize) +
|
|
101
|
+
PARITY_FILE_EXTENSION_PREFIX +
|
|
102
|
+
parityIndex);
|
|
86
103
|
}
|
|
87
104
|
/**
|
|
88
|
-
* Check if a block exists
|
|
105
|
+
* Check if a block exists (checks all block sizes)
|
|
89
106
|
*/
|
|
90
107
|
async has(key) {
|
|
91
108
|
const keyChecksum = typeof key === 'string' ? brightchain_lib_1.Checksum.fromHex(key) : key;
|
|
92
|
-
|
|
93
|
-
|
|
109
|
+
// Check all possible block sizes
|
|
110
|
+
for (const size of Object.values(brightchain_lib_1.BlockSize).filter((v) => typeof v === 'number')) {
|
|
111
|
+
const blockPath = this.blockPath(keyChecksum, size);
|
|
112
|
+
if ((0, fs_1.existsSync)(blockPath)) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return false;
|
|
94
117
|
}
|
|
95
118
|
/**
|
|
96
|
-
* Get a handle to a block
|
|
119
|
+
* Get a handle to a block (searches all block sizes)
|
|
97
120
|
*/
|
|
98
121
|
get(key) {
|
|
99
122
|
const keyChecksum = typeof key === 'string' ? brightchain_lib_1.Checksum.fromHex(key) : key;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
123
|
+
// Search all possible block sizes
|
|
124
|
+
for (const size of Object.values(brightchain_lib_1.BlockSize).filter((v) => typeof v === 'number')) {
|
|
125
|
+
const blockPath = this.blockPath(keyChecksum, size);
|
|
126
|
+
if ((0, fs_1.existsSync)(blockPath)) {
|
|
127
|
+
const data = (0, fs_1.readFileSync)(blockPath);
|
|
128
|
+
return (0, brightchain_lib_1.createBlockHandle)(brightchain_lib_1.RawDataBlock, size, data, keyChecksum, true, // canRead
|
|
129
|
+
true);
|
|
130
|
+
}
|
|
107
131
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
132
|
+
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.KeyNotFound, undefined, {
|
|
133
|
+
KEY: keyChecksum.toHex(),
|
|
134
|
+
});
|
|
111
135
|
}
|
|
112
136
|
/**
|
|
113
|
-
* Get a block's data
|
|
137
|
+
* Get a block's data (searches all block sizes)
|
|
114
138
|
*/
|
|
115
139
|
async getData(key) {
|
|
116
140
|
const keyHex = this.keyToHex(key);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
const dateCreated = stats.birthtime;
|
|
138
|
-
// Record access in metadata
|
|
139
|
-
if (this.metadataStore.has(keyHex)) {
|
|
140
|
-
await this.metadataStore.recordAccess(keyHex);
|
|
141
|
+
// Search all possible block sizes
|
|
142
|
+
for (const size of Object.values(brightchain_lib_1.BlockSize).filter((v) => typeof v === 'number')) {
|
|
143
|
+
const blockPath = this.blockPath(key, size);
|
|
144
|
+
if ((0, fs_1.existsSync)(blockPath)) {
|
|
145
|
+
let data;
|
|
146
|
+
try {
|
|
147
|
+
data = await (0, promises_1.readFile)(blockPath);
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
// Use file creation time as block creation time
|
|
153
|
+
const stats = await (0, promises_1.stat)(blockPath);
|
|
154
|
+
const dateCreated = stats.birthtime;
|
|
155
|
+
// Record access in metadata
|
|
156
|
+
if (this.metadataStore.has(keyHex)) {
|
|
157
|
+
await this.metadataStore.recordAccess(keyHex);
|
|
158
|
+
}
|
|
159
|
+
return new brightchain_lib_1.RawDataBlock(size, data, dateCreated, key, brightchain_lib_1.BlockType.RawData, brightchain_lib_1.BlockDataType.EphemeralStructuredData, true, true);
|
|
160
|
+
}
|
|
141
161
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
162
|
+
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.KeyNotFound, undefined, {
|
|
163
|
+
KEY: keyHex,
|
|
164
|
+
});
|
|
145
165
|
}
|
|
146
166
|
/**
|
|
147
167
|
* Delete a block's data (and associated parity blocks and metadata)
|
|
@@ -149,8 +169,16 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
149
169
|
*/
|
|
150
170
|
async deleteData(key) {
|
|
151
171
|
const keyHex = this.keyToHex(key);
|
|
152
|
-
|
|
153
|
-
|
|
172
|
+
// Find the block across all sizes
|
|
173
|
+
let foundSize = null;
|
|
174
|
+
for (const size of Object.values(brightchain_lib_1.BlockSize).filter((v) => typeof v === 'number')) {
|
|
175
|
+
const blockPath = this.blockPath(key, size);
|
|
176
|
+
if ((0, fs_1.existsSync)(blockPath)) {
|
|
177
|
+
foundSize = size;
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (!foundSize) {
|
|
154
182
|
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.KeyNotFound);
|
|
155
183
|
}
|
|
156
184
|
// Get metadata to find parity blocks
|
|
@@ -158,7 +186,7 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
158
186
|
// Delete parity blocks first
|
|
159
187
|
if (metadata && metadata.parityBlockIds.length > 0) {
|
|
160
188
|
for (let i = 0; i < metadata.parityBlockIds.length; i++) {
|
|
161
|
-
const parityFilePath = this.parityPath(key, i);
|
|
189
|
+
const parityFilePath = this.parityPath(key, foundSize, i);
|
|
162
190
|
if ((0, fs_1.existsSync)(parityFilePath)) {
|
|
163
191
|
try {
|
|
164
192
|
await (0, promises_1.unlink)(parityFilePath);
|
|
@@ -171,7 +199,7 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
171
199
|
}
|
|
172
200
|
// Delete the block data
|
|
173
201
|
try {
|
|
174
|
-
await (0, promises_1.unlink)(blockPath);
|
|
202
|
+
await (0, promises_1.unlink)(this.blockPath(key, foundSize));
|
|
175
203
|
}
|
|
176
204
|
catch (error) {
|
|
177
205
|
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.BlockDeletionFailed, undefined, {
|
|
@@ -192,13 +220,10 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
192
220
|
* Store a block's data with optional durability settings
|
|
193
221
|
*/
|
|
194
222
|
async setData(block, options) {
|
|
195
|
-
if (block.blockSize !== this._blockSize) {
|
|
196
|
-
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.BlockSizeMismatch);
|
|
197
|
-
}
|
|
198
223
|
const keyHex = this.keyToHex(block.idChecksum);
|
|
199
|
-
const blockPath = this.blockPath(block.idChecksum);
|
|
224
|
+
const blockPath = this.blockPath(block.idChecksum, block.blockSize);
|
|
200
225
|
if ((0, fs_1.existsSync)(blockPath)) {
|
|
201
|
-
|
|
226
|
+
return; // Idempotent - block already exists
|
|
202
227
|
}
|
|
203
228
|
try {
|
|
204
229
|
block.validate();
|
|
@@ -207,7 +232,7 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
207
232
|
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.BlockValidationFailed);
|
|
208
233
|
}
|
|
209
234
|
// Ensure block directory exists before writing
|
|
210
|
-
this.ensureBlockPath(block.idChecksum);
|
|
235
|
+
this.ensureBlockPath(block.idChecksum, block.blockSize);
|
|
211
236
|
try {
|
|
212
237
|
await (0, promises_1.writeFile)(blockPath, Buffer.from(block.data));
|
|
213
238
|
}
|
|
@@ -431,12 +456,13 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
431
456
|
});
|
|
432
457
|
}
|
|
433
458
|
// Check if block exists
|
|
434
|
-
const
|
|
435
|
-
if (!
|
|
459
|
+
const blockSize = await this.findBlockSize(keyChecksum);
|
|
460
|
+
if (!blockSize) {
|
|
436
461
|
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.KeyNotFound, undefined, {
|
|
437
462
|
KEY: keyHex,
|
|
438
463
|
});
|
|
439
464
|
}
|
|
465
|
+
const blockPath = this.blockPath(keyChecksum, blockSize);
|
|
440
466
|
// Check if FEC service is available in the environment
|
|
441
467
|
const isAvailable = await this.fecService.isAvailable();
|
|
442
468
|
if (!isAvailable) {
|
|
@@ -451,7 +477,7 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
451
477
|
// Store parity blocks as separate files
|
|
452
478
|
const parityBlockIds = [];
|
|
453
479
|
for (let i = 0; i < parityData.length; i++) {
|
|
454
|
-
const parityFilePath = this.parityPath(keyChecksum, i);
|
|
480
|
+
const parityFilePath = this.parityPath(keyChecksum, blockSize, i);
|
|
455
481
|
await (0, promises_1.writeFile)(parityFilePath, Buffer.from(parityData[i].data));
|
|
456
482
|
parityBlockIds.push(`${keyHex}.p${i}`);
|
|
457
483
|
}
|
|
@@ -497,9 +523,13 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
497
523
|
if (!metadata || metadata.parityBlockIds.length === 0) {
|
|
498
524
|
return [];
|
|
499
525
|
}
|
|
526
|
+
const blockSize = await this.findBlockSize(key);
|
|
527
|
+
if (!blockSize) {
|
|
528
|
+
return [];
|
|
529
|
+
}
|
|
500
530
|
const parityData = [];
|
|
501
531
|
for (let i = 0; i < metadata.parityBlockIds.length; i++) {
|
|
502
|
-
const parityFilePath = this.parityPath(key, i);
|
|
532
|
+
const parityFilePath = this.parityPath(key, blockSize, i);
|
|
503
533
|
if ((0, fs_1.existsSync)(parityFilePath)) {
|
|
504
534
|
const data = await (0, promises_1.readFile)(parityFilePath);
|
|
505
535
|
parityData.push({ data, index: i });
|
|
@@ -548,7 +578,14 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
548
578
|
}
|
|
549
579
|
try {
|
|
550
580
|
// Get corrupted data if block still exists
|
|
551
|
-
const
|
|
581
|
+
const blockSize = await this.findBlockSize(keyChecksum);
|
|
582
|
+
if (!blockSize) {
|
|
583
|
+
return {
|
|
584
|
+
success: false,
|
|
585
|
+
error: 'Block not found',
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
const blockPath = this.blockPath(keyChecksum, blockSize);
|
|
552
589
|
let corruptedData = null;
|
|
553
590
|
if ((0, fs_1.existsSync)(blockPath)) {
|
|
554
591
|
corruptedData = await (0, promises_1.readFile)(blockPath);
|
|
@@ -597,10 +634,11 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
597
634
|
return this.has(key);
|
|
598
635
|
}
|
|
599
636
|
// Check if block exists
|
|
600
|
-
const
|
|
601
|
-
if (!
|
|
637
|
+
const blockSize = await this.findBlockSize(keyChecksum);
|
|
638
|
+
if (!blockSize) {
|
|
602
639
|
return false;
|
|
603
640
|
}
|
|
641
|
+
const blockPath = this.blockPath(keyChecksum, blockSize);
|
|
604
642
|
// Get parity data from disk
|
|
605
643
|
const parityData = await this.loadParityData(keyChecksum);
|
|
606
644
|
if (parityData.length === 0) {
|
|
@@ -758,12 +796,13 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
758
796
|
const keyHex = this.keyToHex(key);
|
|
759
797
|
const keyChecksum = typeof key === 'string' ? brightchain_lib_1.Checksum.fromHex(key) : key;
|
|
760
798
|
// Verify source block exists
|
|
761
|
-
const
|
|
762
|
-
if (!
|
|
799
|
+
const blockSize = await this.findBlockSize(keyChecksum);
|
|
800
|
+
if (!blockSize) {
|
|
763
801
|
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.KeyNotFound, undefined, {
|
|
764
802
|
KEY: keyHex,
|
|
765
803
|
});
|
|
766
804
|
}
|
|
805
|
+
// const blockPath = this.blockPath(keyChecksum, blockSize);
|
|
767
806
|
// Get random blocks for XOR operation
|
|
768
807
|
const randomBlockChecksums = await this.getRandomBlocks(randomBlockCount);
|
|
769
808
|
// Check if we have enough random blocks
|
|
@@ -905,30 +944,19 @@ class DiskBlockAsyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
905
944
|
* @returns A Uint8Array containing the randomizer data
|
|
906
945
|
*/
|
|
907
946
|
async selectOrGenerateRandomizer(size) {
|
|
908
|
-
//
|
|
947
|
+
// Try to get a random block from the store
|
|
909
948
|
try {
|
|
910
|
-
const
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
const selectedFile = blockFiles[randomIndex];
|
|
917
|
-
const blockId = selectedFile.replace('.block', '');
|
|
918
|
-
try {
|
|
919
|
-
const block = await this.getData(this.hexToChecksum(blockId));
|
|
920
|
-
if (block && block.data.length >= size) {
|
|
921
|
-
// Use the first 'size' bytes of the existing block as the randomizer
|
|
922
|
-
return block.data.slice(0, size);
|
|
923
|
-
}
|
|
924
|
-
}
|
|
925
|
-
catch {
|
|
926
|
-
// If we can't retrieve the block, fall through to generation
|
|
949
|
+
const randomBlocks = await this.getRandomBlocks(1);
|
|
950
|
+
if (randomBlocks.length > 0) {
|
|
951
|
+
const block = await this.getData(randomBlocks[0]);
|
|
952
|
+
if (block && block.data.length >= size) {
|
|
953
|
+
// Use the first 'size' bytes of the existing block as the randomizer
|
|
954
|
+
return block.data.slice(0, size);
|
|
927
955
|
}
|
|
928
956
|
}
|
|
929
957
|
}
|
|
930
958
|
catch {
|
|
931
|
-
// If we can't
|
|
959
|
+
// If we can't retrieve a block, fall through to generation
|
|
932
960
|
}
|
|
933
961
|
// Fall back to generating a new random block using CSPRNG
|
|
934
962
|
// This happens when:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskBlockAsyncStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockAsyncStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diskBlockAsyncStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockAsyncStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare class DiskBlockMetadataStore implements IBlockMetadataStore {
|
|
|
23
23
|
* @param storePath - The base path for storing metadata files
|
|
24
24
|
* @param blockSize - The block size for this store (determines directory structure)
|
|
25
25
|
*/
|
|
26
|
-
constructor(storePath: string, blockSize
|
|
26
|
+
constructor(storePath: string, blockSize?: BlockSize);
|
|
27
27
|
/**
|
|
28
28
|
* Get the directory path for a block's metadata.
|
|
29
29
|
* Directory structure: storePath/blockSize/checksumChar1/checksumChar2/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskBlockMetadataStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockMetadataStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAGlB,MAAM,8BAA8B,CAAC;AAqCtC;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC;;;;OAIG;gBACS,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;
|
|
1
|
+
{"version":3,"file":"diskBlockMetadataStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockMetadataStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EAGlB,MAAM,8BAA8B,CAAC;AAqCtC;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IAEtC;;;;OAIG;gBACS,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS;IAcpD;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IASnB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;;;OAIG;IACU,MAAM,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B5D;;;;OAIG;IACU,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAkBjE;;;;;OAKG;IACU,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAgChB;;;;OAIG;IACU,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBnD;;;;OAIG;IACU,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAarD;;;;;OAKG;IACU,uBAAuB,CAClC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,cAAc,EAAE,CAAC;IAY5B;;;;OAIG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczD;;;;OAIG;YACW,eAAe;IA4D7B;;;;OAIG;IACI,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKpC;;;OAGG;IACI,YAAY,IAAI,MAAM;IAI7B;;;OAGG;IACI,YAAY,IAAI,SAAS;CAGjC"}
|
|
@@ -42,7 +42,7 @@ class DiskBlockMetadataStore {
|
|
|
42
42
|
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.StorePathRequired);
|
|
43
43
|
}
|
|
44
44
|
this.storePath = storePath;
|
|
45
|
-
this.blockSize = blockSize;
|
|
45
|
+
this.blockSize = blockSize || brightchain_lib_1.BlockSize.Small;
|
|
46
46
|
// Ensure store path exists
|
|
47
47
|
if (!(0, fs_1.existsSync)(storePath)) {
|
|
48
48
|
(0, fs_1.mkdirSync)(storePath, { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskBlockMetadataStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockMetadataStore.ts"],"names":[],"mappings":";;;AAAA,kEAQsC;AACtC,2BAA2C;AAC3C,0CAAyE;AACzE,+BAA4B;AAE5B;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEhC;;;GAGG;AACH,MAAM,uBAAuB,GAAG,SAAS,CAAC;AAsB1C;;;;;;;;;;;;;;;GAeG;AACH,MAAa,sBAAsB;IAIjC;;;;OAIG;IACH,YAAY,SAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"diskBlockMetadataStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockMetadataStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { BlockSize, Checksum } from '@brightchain/brightchain-lib';
|
|
|
2
2
|
/**
|
|
3
3
|
* DiskBlockStore provides base functionality for storing blocks on disk.
|
|
4
4
|
* It handles block paths, metadata paths, and directory structure.
|
|
5
|
+
* Supports blocks of any size.
|
|
5
6
|
*/
|
|
6
7
|
export declare abstract class DiskBlockStore {
|
|
7
8
|
protected readonly _storePath: string;
|
|
@@ -14,21 +15,21 @@ export declare abstract class DiskBlockStore {
|
|
|
14
15
|
* Get the directory path for a block
|
|
15
16
|
* Directory structure: storePath/blockSize/checksumChar1/checksumChar2/
|
|
16
17
|
*/
|
|
17
|
-
protected blockDir(blockId: Checksum): string;
|
|
18
|
+
protected blockDir(blockId: Checksum, blockSize: BlockSize): string;
|
|
18
19
|
/**
|
|
19
20
|
* Get the file path for a block
|
|
20
21
|
* File structure: storePath/blockSize/checksumChar1/checksumChar2/fullChecksum
|
|
21
22
|
*/
|
|
22
|
-
protected blockPath(blockId: Checksum): string;
|
|
23
|
+
protected blockPath(blockId: Checksum, blockSize: BlockSize): string;
|
|
23
24
|
/**
|
|
24
25
|
* Get the metadata file path for a block
|
|
25
26
|
* Metadata files are stored alongside block files with a .m.json extension
|
|
26
27
|
*/
|
|
27
|
-
protected metadataPath(blockId: Checksum): string;
|
|
28
|
+
protected metadataPath(blockId: Checksum, blockSize: BlockSize): string;
|
|
28
29
|
/**
|
|
29
30
|
* Ensure the directory structure exists for a block
|
|
30
31
|
*/
|
|
31
|
-
protected ensureBlockPath(blockId: Checksum): void;
|
|
32
|
+
protected ensureBlockPath(blockId: Checksum, blockSize: BlockSize): void;
|
|
32
33
|
/**
|
|
33
34
|
* Get the block size
|
|
34
35
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskBlockStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,QAAQ,EAGT,MAAM,8BAA8B,CAAC;AAItC
|
|
1
|
+
{"version":3,"file":"diskBlockStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,QAAQ,EAGT,MAAM,8BAA8B,CAAC;AAItC;;;;GAIG;AACH,8BAAsB,cAAc;IAClC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;IAEzC,SAAS,aAAa,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAkBzE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAenE;;;OAGG;IACH,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAgBpE;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM;IAIvE;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAiBxE;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;CACF"}
|
|
@@ -7,6 +7,7 @@ const path_1 = require("path");
|
|
|
7
7
|
/**
|
|
8
8
|
* DiskBlockStore provides base functionality for storing blocks on disk.
|
|
9
9
|
* It handles block paths, metadata paths, and directory structure.
|
|
10
|
+
* Supports blocks of any size.
|
|
10
11
|
*/
|
|
11
12
|
class DiskBlockStore {
|
|
12
13
|
constructor(config) {
|
|
@@ -27,38 +28,38 @@ class DiskBlockStore {
|
|
|
27
28
|
* Get the directory path for a block
|
|
28
29
|
* Directory structure: storePath/blockSize/checksumChar1/checksumChar2/
|
|
29
30
|
*/
|
|
30
|
-
blockDir(blockId) {
|
|
31
|
+
blockDir(blockId, blockSize) {
|
|
31
32
|
const checksumString = blockId.toHex();
|
|
32
33
|
if (checksumString.length < 2) {
|
|
33
34
|
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.InvalidBlockIdTooShort);
|
|
34
35
|
}
|
|
35
|
-
const blockSizeString = (0, brightchain_lib_1.blockSizeToSizeString)(
|
|
36
|
+
const blockSizeString = (0, brightchain_lib_1.blockSizeToSizeString)(blockSize);
|
|
36
37
|
return (0, path_1.join)(this._storePath, blockSizeString, checksumString[0], checksumString[1]);
|
|
37
38
|
}
|
|
38
39
|
/**
|
|
39
40
|
* Get the file path for a block
|
|
40
41
|
* File structure: storePath/blockSize/checksumChar1/checksumChar2/fullChecksum
|
|
41
42
|
*/
|
|
42
|
-
blockPath(blockId) {
|
|
43
|
+
blockPath(blockId, blockSize) {
|
|
43
44
|
const checksumString = blockId.toHex();
|
|
44
45
|
if (checksumString.length < 2) {
|
|
45
46
|
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.InvalidBlockIdTooShort);
|
|
46
47
|
}
|
|
47
|
-
const blockSizeString = (0, brightchain_lib_1.blockSizeToSizeString)(
|
|
48
|
+
const blockSizeString = (0, brightchain_lib_1.blockSizeToSizeString)(blockSize);
|
|
48
49
|
return (0, path_1.join)(this._storePath, blockSizeString, checksumString[0], checksumString[1], checksumString);
|
|
49
50
|
}
|
|
50
51
|
/**
|
|
51
52
|
* Get the metadata file path for a block
|
|
52
53
|
* Metadata files are stored alongside block files with a .m.json extension
|
|
53
54
|
*/
|
|
54
|
-
metadataPath(blockId) {
|
|
55
|
-
return this.blockPath(blockId) + '.m.json';
|
|
55
|
+
metadataPath(blockId, blockSize) {
|
|
56
|
+
return this.blockPath(blockId, blockSize) + '.m.json';
|
|
56
57
|
}
|
|
57
58
|
/**
|
|
58
59
|
* Ensure the directory structure exists for a block
|
|
59
60
|
*/
|
|
60
|
-
ensureBlockPath(blockId) {
|
|
61
|
-
const blockDir = this.blockDir(blockId);
|
|
61
|
+
ensureBlockPath(blockId, blockSize) {
|
|
62
|
+
const blockDir = this.blockDir(blockId, blockSize);
|
|
62
63
|
if (!(0, fs_1.existsSync)(blockDir)) {
|
|
63
64
|
try {
|
|
64
65
|
(0, fs_1.mkdirSync)(blockDir, { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskBlockStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockStore.ts"],"names":[],"mappings":";;;AAAA,kEAMsC;AACtC,2BAA2C;AAC3C,+BAA4B;AAE5B
|
|
1
|
+
{"version":3,"file":"diskBlockStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskBlockSyncStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockSyncStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,SAAS,EACT,QAAQ,EAER,YAAY,EAIb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,kBACX,SAAQ,cACR,YAAW,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAEhC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAI/D,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"diskBlockSyncStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockSyncStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,SAAS,EACT,QAAQ,EAER,YAAY,EAIb,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,kBACX,SAAQ,cACR,YAAW,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAEhC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE;IAI/D,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO;IAa3B,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS;IAwB7B,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;CAqB3C"}
|
|
@@ -9,21 +9,28 @@ class DiskBlockSyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
9
9
|
super(config);
|
|
10
10
|
}
|
|
11
11
|
has(key) {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
// Check all possible block sizes
|
|
13
|
+
for (const size of Object.values(brightchain_lib_1.BlockSize).filter((v) => typeof v === 'number')) {
|
|
14
|
+
const blockPath = this.blockPath(key, size);
|
|
15
|
+
if ((0, fs_1.existsSync)(blockPath)) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
14
20
|
}
|
|
15
21
|
get(key) {
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
22
|
+
// Search all possible block sizes
|
|
23
|
+
for (const size of Object.values(brightchain_lib_1.BlockSize).filter((v) => typeof v === 'number')) {
|
|
24
|
+
const blockPath = this.blockPath(key, size);
|
|
25
|
+
if ((0, fs_1.existsSync)(blockPath)) {
|
|
26
|
+
const blockData = (0, fs_1.readFileSync)(blockPath);
|
|
27
|
+
const metadata = JSON.parse((0, fs_1.readFileSync)(this.metadataPath(key, size)).toString());
|
|
28
|
+
const block = new brightchain_lib_1.RawDataBlock(size, blockData, new Date(metadata.dateCreated), key);
|
|
29
|
+
block.validateSync();
|
|
30
|
+
return block;
|
|
31
|
+
}
|
|
20
32
|
}
|
|
21
|
-
|
|
22
|
-
// Create a concrete block instance using RawDataBlock
|
|
23
|
-
const block = new brightchain_lib_1.RawDataBlock(this._blockSize, blockData, new Date(metadata.dateCreated), // Convert string to Date
|
|
24
|
-
key);
|
|
25
|
-
block.validateSync();
|
|
26
|
-
return block;
|
|
33
|
+
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.KeyNotFound);
|
|
27
34
|
}
|
|
28
35
|
set(key, value) {
|
|
29
36
|
if (value.blockDataType == brightchain_lib_1.BlockDataType.EphemeralStructuredData) {
|
|
@@ -35,20 +42,13 @@ class DiskBlockSyncStore extends diskBlockStore_1.DiskBlockStore {
|
|
|
35
42
|
BLOCK_ID: value.idChecksum.toHex(),
|
|
36
43
|
});
|
|
37
44
|
}
|
|
38
|
-
|
|
39
|
-
throw new brightchain_lib_1.StoreError(brightchain_lib_1.StoreErrorType.BlockSizeMismatch);
|
|
40
|
-
}
|
|
41
|
-
const blockPath = this.blockPath(value.idChecksum);
|
|
45
|
+
const blockPath = this.blockPath(value.idChecksum, value.blockSize);
|
|
42
46
|
if ((0, fs_1.existsSync)(blockPath)) {
|
|
43
|
-
|
|
44
|
-
PATH: blockPath,
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
this.ensureBlockPath(value.idChecksum);
|
|
47
|
+
return; // Idempotent - block already exists
|
|
49
48
|
}
|
|
49
|
+
this.ensureBlockPath(value.idChecksum, value.blockSize);
|
|
50
50
|
(0, fs_1.writeFileSync)(blockPath, value.data.toString());
|
|
51
|
-
(0, fs_1.writeFileSync)(this.metadataPath(value.idChecksum), JSON.stringify(value.metadata));
|
|
51
|
+
(0, fs_1.writeFileSync)(this.metadataPath(value.idChecksum, value.blockSize), JSON.stringify(value.metadata));
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
exports.DiskBlockSyncStore = DiskBlockSyncStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diskBlockSyncStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockSyncStore.ts"],"names":[],"mappings":";;;AAAA,kEAUsC;AACtC,2BAA6D;AAC7D,qDAAkD;AAElD,MAAa,kBACX,SAAQ,+BAAc;IAGtB,YAAY,MAAmD;QAC7D,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,GAAa;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"diskBlockSyncStore.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/stores/diskBlockSyncStore.ts"],"names":[],"mappings":"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"}
|