@dignetwork/dig-sdk 0.0.1-alpha.121 → 0.0.1-alpha.122
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataStore.d.ts","sourceRoot":"","sources":["../../src/blockchain/DataStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,SAAS,IAAI,eAAe,EAE5B,iBAAiB,EAIlB,MAAM,8BAA8B,CAAC;AAYtC,OAAO,EAAE,eAAe,EAAW,MAAM,UAAU,CAAC;AAGpD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAgBjD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAmC;gBAEpD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB;IAqB/D,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,IAAI,IAAI,iBAAiB,CAEnC;IAEM,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;WAMN,cAAc,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;WAOtD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;WAK1C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;WAiBtD,MAAM,CACxB,MAAM,GAAE,qBAA0B,GACjC,OAAO,CAAC,SAAS,CAAC;mBAyCA,IAAI;IA4FzB;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAK5C;;;OAGG;WACiB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxD;;;;OAIG;mBACkB,mBAAmB;WAqB1B,YAAY,IAAI,SAAS,EAAE;IAWxC;;;;;;MAME;WACkB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"DataStore.d.ts","sourceRoot":"","sources":["../../src/blockchain/DataStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,SAAS,IAAI,eAAe,EAE5B,iBAAiB,EAIlB,MAAM,8BAA8B,CAAC;AAYtC,OAAO,EAAE,eAAe,EAAW,MAAM,UAAU,CAAC;AAGpD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAgBjD,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAmC;gBAEpD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB;IAqB/D,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,IAAI,IAAI,iBAAiB,CAEnC;IAEM,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;WAMN,cAAc,IAAI,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;WAOtD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS;WAK1C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;WAiBtD,MAAM,CACxB,MAAM,GAAE,qBAA0B,GACjC,OAAO,CAAC,SAAS,CAAC;mBAyCA,IAAI;IA4FzB;;;OAGG;IACU,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAK5C;;;OAGG;WACiB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIxD;;;;OAIG;mBACkB,mBAAmB;WAqB1B,YAAY,IAAI,SAAS,EAAE;IAWxC;;;;;;MAME;WACkB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0HhE,aAAa,IAAI,OAAO,CAAC;QACpC,WAAW,EAAE,eAAe,CAAC;QAC7B,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAyGW,wBAAwB,IAAI,OAAO,CAAC;QAC/C,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAiBW,iBAAiB,IAAI,OAAO,CAAC;QACxC,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;YA0BY,iBAAiB;IAYlB,cAAc,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA4C/D,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAKzC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAM5B,uBAAuB,CAClC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC;IAkBN,cAAc,CACzB,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC;IAgD3B;;;;;OAKG;IACU,qBAAqB,CAChC,QAAQ,EAAE,MAAM,EAChB,kBAAkB,GAAE,OAAe,GAClC,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CA6C7C"}
|
|
@@ -214,38 +214,40 @@ class DataStore {
|
|
|
214
214
|
static async monitorStoreIndefinitely(storeId) {
|
|
215
215
|
// Check if a monitor is already running for this storeId
|
|
216
216
|
if (this.activeMonitors.get(storeId)) {
|
|
217
|
-
console.log(`Monitor already running for storeId: ${storeId}`);
|
|
217
|
+
console.log("Monitor:", `Monitor already running for storeId: ${storeId}`);
|
|
218
218
|
return;
|
|
219
219
|
}
|
|
220
220
|
// Set the monitor as active
|
|
221
221
|
this.activeMonitors.set(storeId, true);
|
|
222
222
|
const storeCoinCache = new FileCache_1.FileCache(`stores`);
|
|
223
223
|
// Clear the cache at the start
|
|
224
|
-
console.log(`Clearing cache for storeId: ${storeId}`);
|
|
224
|
+
console.log("Monitor:", `Clearing cache for storeId: ${storeId}`);
|
|
225
225
|
storeCoinCache.delete(storeId);
|
|
226
226
|
while (true) {
|
|
227
227
|
try {
|
|
228
|
-
console.log(`Connecting to peer for storeId: ${storeId}`);
|
|
228
|
+
console.log("Monitor:", `Connecting to peer for storeId: ${storeId}`);
|
|
229
229
|
const peer = await FullNodePeer_1.FullNodePeer.connect();
|
|
230
230
|
const cachedInfo = storeCoinCache.get(storeId);
|
|
231
231
|
if (cachedInfo) {
|
|
232
232
|
// Log cached store info retrieval
|
|
233
|
-
console.log(`Cached store info found for storeId: ${storeId}, syncing...`);
|
|
233
|
+
console.log("Monitor:", `Cached store info found for storeId: ${storeId}, syncing...`);
|
|
234
234
|
// Deserialize cached info and wait for the coin to be spent
|
|
235
235
|
const previousStore = DataStoreSerializer_1.DataStoreSerializer.deserialize({
|
|
236
236
|
latestStore: cachedInfo.latestStore,
|
|
237
237
|
latestHeight: cachedInfo.latestHeight.toString(),
|
|
238
238
|
latestHash: cachedInfo.latestHash,
|
|
239
239
|
});
|
|
240
|
-
console.log(`Waiting for coin to be spent for storeId: ${storeId}...`);
|
|
241
|
-
|
|
240
|
+
console.log("Monitor:", `Waiting for coin to be spent for storeId: ${storeId}...`);
|
|
241
|
+
const dataStore = DataStore.from(storeId);
|
|
242
|
+
const { createdAtHeight, createdAtHash } = await dataStore.getCreationHeight();
|
|
243
|
+
await peer.waitForCoinToBeSpent((0, datalayer_driver_1.getCoinId)(previousStore.latestStore.coin), createdAtHeight, createdAtHash);
|
|
242
244
|
// Sync store and get updated details
|
|
243
|
-
console.log(`Syncing store for storeId: ${storeId}`);
|
|
245
|
+
console.log("Monitor:", `Syncing store for storeId: ${storeId}`);
|
|
244
246
|
const { latestStore, latestHeight } = await peer.syncStore(previousStore.latestStore, previousStore.latestHeight, previousStore.latestHash, false);
|
|
245
247
|
const latestHash = await peer.getHeaderHash(latestHeight);
|
|
246
248
|
// Serialize and cache the updated store info
|
|
247
249
|
const serializedLatestStore = new DataStoreSerializer_1.DataStoreSerializer(latestStore, latestHeight, latestHash).serialize();
|
|
248
|
-
console.log(`Caching updated store info for storeId: ${storeId}`);
|
|
250
|
+
console.log("Monitor:", `Caching updated store info for storeId: ${storeId}`);
|
|
249
251
|
storeCoinCache.set(storeId, {
|
|
250
252
|
latestStore: serializedLatestStore,
|
|
251
253
|
latestHeight,
|
|
@@ -254,16 +256,16 @@ class DataStore {
|
|
|
254
256
|
continue; // Continue monitoring
|
|
255
257
|
}
|
|
256
258
|
// If no cached info exists, log and sync from the creation height
|
|
257
|
-
console.log(`No cached info found for storeId: ${storeId}. Retrieving creation height.`);
|
|
259
|
+
console.log("Monitor:", `No cached info found for storeId: ${storeId}. Retrieving creation height.`);
|
|
258
260
|
const dataStore = DataStore.from(storeId);
|
|
259
261
|
const { createdAtHeight, createdAtHash } = await dataStore.getCreationHeight();
|
|
260
262
|
// Sync store from the peer using launcher ID
|
|
261
|
-
console.log(`Syncing store from launcher ID for storeId: ${storeId}`);
|
|
263
|
+
console.log("Monitor:", `Syncing store from launcher ID for storeId: ${storeId}`);
|
|
262
264
|
const { latestStore, latestHeight } = await peer.syncStoreFromLauncherId(Buffer.from(storeId, "hex"), createdAtHeight, createdAtHash, false);
|
|
263
265
|
const latestHash = await peer.getHeaderHash(latestHeight);
|
|
264
266
|
// Serialize and cache the new store info
|
|
265
267
|
const serializedLatestStore = new DataStoreSerializer_1.DataStoreSerializer(latestStore, latestHeight, latestHash).serialize();
|
|
266
|
-
console.log(`Caching new store info for storeId: ${storeId}`);
|
|
268
|
+
console.log("Monitor:", `Caching new store info for storeId: ${storeId}`);
|
|
267
269
|
storeCoinCache.set(storeId, {
|
|
268
270
|
latestStore: serializedLatestStore,
|
|
269
271
|
latestHeight,
|
|
@@ -271,7 +273,7 @@ class DataStore {
|
|
|
271
273
|
});
|
|
272
274
|
}
|
|
273
275
|
catch (error) {
|
|
274
|
-
console.error(`Error in monitorStoreIndefinitely for storeId: ${storeId} - ${error.message}`);
|
|
276
|
+
console.error("Monitor:", `Error in monitorStoreIndefinitely for storeId: ${storeId} - ${error.message}`);
|
|
275
277
|
// Delay before restarting to avoid rapid retries
|
|
276
278
|
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
277
279
|
}
|