dequanto 0.1.56 → 0.1.61

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 (40) hide show
  1. package/lib/cjs/contracts/ContractCreationResolver.js +2 -3
  2. package/lib/cjs/contracts/ContractCreationResolver.js.map +1 -1
  3. package/lib/cjs/explorer/BlockchainExplorerProvider.js +1 -1
  4. package/lib/cjs/explorer/BlockchainExplorerProvider.js.map +1 -1
  5. package/lib/cjs/indexer/EventsIndexer.js +22 -13
  6. package/lib/cjs/indexer/EventsIndexer.js.map +1 -1
  7. package/lib/cjs/json/JsonArrayMultiStore.js +40 -23
  8. package/lib/cjs/json/JsonArrayMultiStore.js.map +1 -1
  9. package/lib/cjs/json/JsonArrayStore.js +5 -0
  10. package/lib/cjs/json/JsonArrayStore.js.map +1 -1
  11. package/lib/cjs/json/JsonStoreFs.js +9 -0
  12. package/lib/cjs/json/JsonStoreFs.js.map +1 -1
  13. package/lib/cjs/rpc/$rpc.js +2 -2
  14. package/lib/cjs/rpc/$rpc.js.map +1 -1
  15. package/lib/esm/contracts/ContractCreationResolver.js.map +1 -1
  16. package/lib/esm/contracts/ContractCreationResolver.mjs +2 -3
  17. package/lib/esm/explorer/BlockchainExplorerProvider.js.map +1 -1
  18. package/lib/esm/explorer/BlockchainExplorerProvider.mjs +1 -1
  19. package/lib/esm/indexer/EventsIndexer.js.map +1 -1
  20. package/lib/esm/indexer/EventsIndexer.mjs +22 -13
  21. package/lib/esm/json/JsonArrayMultiStore.js.map +1 -1
  22. package/lib/esm/json/JsonArrayMultiStore.mjs +40 -23
  23. package/lib/esm/json/JsonArrayStore.js.map +1 -1
  24. package/lib/esm/json/JsonArrayStore.mjs +5 -0
  25. package/lib/esm/json/JsonStoreFs.js.map +1 -1
  26. package/lib/esm/json/JsonStoreFs.mjs +9 -0
  27. package/lib/esm/rpc/$rpc.js.map +1 -1
  28. package/lib/esm/rpc/$rpc.mjs +2 -2
  29. package/lib/types/json/JsonArrayMultiStore.d.ts +2 -1
  30. package/lib/types/json/JsonArrayStore.d.ts +1 -0
  31. package/lib/types/json/JsonStoreFs.d.ts +1 -0
  32. package/lib/types/rpc/$rpc.d.ts +3 -1
  33. package/package.json +1 -1
  34. package/src/contracts/ContractCreationResolver.ts +3 -2
  35. package/src/explorer/BlockchainExplorerProvider.ts +1 -1
  36. package/src/indexer/EventsIndexer.ts +22 -12
  37. package/src/json/JsonArrayMultiStore.ts +45 -24
  38. package/src/json/JsonArrayStore.ts +6 -0
  39. package/src/json/JsonStoreFs.ts +11 -0
  40. package/src/rpc/$rpc.ts +3 -3
@@ -61,10 +61,7 @@ export class EventsIndexer {
61
61
  logs: logs
62
62
  };
63
63
  }
64
- async *getPastLogsStream(event,
65
- // Fetch all logs and filter later if needed
66
- //- params?: T[TMethodName] extends (options: { params?: infer TParams }) => any ? TParams : never,
67
- options) {
64
+ async *getPastLogsStream(event, options) {
68
65
  let contract = this.contract;
69
66
  let client = contract.client;
70
67
  let toBlock = options?.toBlock ?? await client.getBlockNumber();
@@ -170,7 +167,7 @@ export class EventsIndexer {
170
167
  params: options?.params,
171
168
  });
172
169
  if (arr?.length > 0) {
173
- let latestBlock = arr[arr.length - 1].blockNumber;
170
+ let lastBlock = arr[arr.length - 1].blockNumber;
174
171
  await options.onProgress({
175
172
  logs: arr,
176
173
  paged: arr,
@@ -178,14 +175,26 @@ export class EventsIndexer {
178
175
  blocksPerSecond: 0,
179
176
  blocks: { total: 0, loaded: 0 },
180
177
  timeLeftSeconds: 0,
181
- latestBlock: latestBlock
178
+ latestBlock: lastBlock
182
179
  });
183
- if (fromBlock != null) {
184
- let latestFromStorage = alot(arr).max(x => x.blockNumber);
185
- fromBlock = latestFromStorage + 1;
186
- if (toBlock != null && fromBlock >= toBlock) {
187
- // we got all from storage
188
- return;
180
+ // if (fromBlock != null) {
181
+ // let latestFromStorage = alot(arr).max(x => x.blockNumber);
182
+ // fromBlock = latestFromStorage + 1;
183
+ // if (toBlock != null && fromBlock >= toBlock) {
184
+ // // we got all from storage
185
+ // return;
186
+ // }
187
+ // }
188
+ // Adjust ranges to skip blocks already in storage
189
+ for (let i = 0; i < ranges.length; i++) {
190
+ let range = ranges[i];
191
+ if (range.toBlock <= lastBlock) {
192
+ ranges.splice(i, 1);
193
+ i--;
194
+ continue;
195
+ }
196
+ if (range.fromBlock < lastBlock) {
197
+ range.fromBlock = lastBlock + 1;
189
198
  }
190
199
  }
191
200
  }
@@ -247,7 +256,7 @@ export class EventsIndexer {
247
256
  await this.upsert(buffer, events, toBlock, options);
248
257
  }
249
258
  }
250
- // Upsert final, if buffer is empty, we still persist the toBlock
259
+ // Upsert final, if buffer is empty, we still persist the "toBlock" value
251
260
  await this.upsert(buffer, events, toBlock, options);
252
261
  if (isStreamed === true) {
253
262
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonArrayMultiStore.js","sourceRoot":"","sources":["../../../src/json/JsonArrayMultiStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonArrayMultiStore.js","sourceRoot":"","sources":["../../../src/json/JsonArrayMultiStore.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { Directory } from 'atma-io';
12
12
  import memd from 'memd';
13
13
  import alot from 'alot';
14
14
  import { $require } from '../utils/$require.mjs';
15
+ import { l } from '../utils/$logger.mjs';
15
16
  export class JsonArrayMultiStore {
16
17
  //private stores: Record<string, JsonArrayStore<T>>;
17
18
  constructor(options) {
@@ -69,7 +70,7 @@ export class JsonArrayMultiStore {
69
70
  let arr = await store.getAll();
70
71
  await this.upsertMany(arr);
71
72
  }
72
- async getGroupedFiles() {
73
+ async getGroupedFiles(opts) {
73
74
  try {
74
75
  let files = await Directory.readFilesAsync(this.options.path, '*.json');
75
76
  let rangeFiles = alot(files)
@@ -82,22 +83,30 @@ export class JsonArrayMultiStore {
82
83
  .filter(x => x.range != null)
83
84
  .sortBy(x => x.range.start, 'asc')
84
85
  .toArray();
86
+ if (opts?.revalidateGroupSize !== false && rangeFiles.length > 0) {
87
+ // ensure groupSize is the same
88
+ let [rangeFile] = rangeFiles;
89
+ let startNr = rangeFile.range.start;
90
+ if ((startNr % this.options.groupSize) !== 0) {
91
+ l `GroupSize ${this.options.groupSize} is not a multiple of ${startNr}. Re-grouping files... [${rangeFile.file.uri.toString()}]`;
92
+ for (let rangeFile of rangeFiles) {
93
+ let store = new JsonArrayStore({
94
+ ...this.options,
95
+ path: rangeFile.file.uri.toString(),
96
+ });
97
+ let entries = await store.getAll();
98
+ await this.upsertMany(entries);
99
+ await store.delete();
100
+ }
101
+ return await this.getGroupedFiles({ revalidateGroupSize: false });
102
+ }
103
+ }
85
104
  return rangeFiles;
86
105
  }
87
106
  catch (e) {
88
107
  return [];
89
108
  }
90
109
  }
91
- parseRangeFilename(filename) {
92
- let match = /^(?<start>\d+)\-(?<end>\d+)\./.exec(filename);
93
- if (match == null) {
94
- return null;
95
- }
96
- return {
97
- start: Number(match.groups.start),
98
- end: Number(match.groups.end),
99
- };
100
- }
101
110
  getStores(groups) {
102
111
  return groups.map(group => {
103
112
  return this.getStore(`${group.start}-${group.end}`);
@@ -155,14 +164,9 @@ export class JsonArrayMultiStore {
155
164
  return null;
156
165
  }
157
166
  async removeMany(arr) {
158
- let groupSize = this.options.groupSize;
159
167
  await alot(arr)
160
168
  .groupBy(entry => {
161
- let key = this.options.groupKey(entry);
162
- let start = key - key % groupSize;
163
- // "end" block is excluded (Exclusive Upper Bound)
164
- let end = start + groupSize;
165
- return `${start}-${end}`;
169
+ return this.createRangeFilename(entry);
166
170
  })
167
171
  .mapAsync(async (group) => {
168
172
  let store = this.getStore(group.key);
@@ -172,14 +176,9 @@ export class JsonArrayMultiStore {
172
176
  .toArrayAsync();
173
177
  }
174
178
  async upsertMany(arr) {
175
- let groupSize = this.options.groupSize;
176
179
  await alot(arr)
177
180
  .groupBy(entry => {
178
- let key = this.options.groupKey(entry);
179
- let start = key - key % groupSize;
180
- // "end" block is excluded (Exclusive Upper Bound)
181
- let end = start + groupSize;
182
- return `${start}-${end}`;
181
+ return this.createRangeFilename(entry);
183
182
  })
184
183
  .forEachAsync(async (group) => {
185
184
  let store = this.getStore(group.key);
@@ -188,6 +187,24 @@ export class JsonArrayMultiStore {
188
187
  .toArrayAsync({ threads: 1 });
189
188
  return arr;
190
189
  }
190
+ parseRangeFilename(filename) {
191
+ let match = /^(?<start>\d+)\-(?<end>\d+)\./.exec(filename);
192
+ if (match == null) {
193
+ return null;
194
+ }
195
+ return {
196
+ start: Number(match.groups.start),
197
+ end: Number(match.groups.end),
198
+ };
199
+ }
200
+ createRangeFilename(entry) {
201
+ let groupSize = this.options.groupSize;
202
+ let key = this.options.groupKey(entry);
203
+ let start = key - key % groupSize;
204
+ // "end" block is excluded (Exclusive Upper Bound)
205
+ let end = start + groupSize;
206
+ return `${start}-${end}`;
207
+ }
191
208
  }
192
209
  __decorate([
193
210
  memd.deco.memoize({ perInstance: true })
@@ -1 +1 @@
1
- {"version":3,"file":"JsonArrayStore.js","sourceRoot":"","sources":["../../../src/json/JsonArrayStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonArrayStore.js","sourceRoot":"","sources":["../../../src/json/JsonArrayStore.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,11 @@ export class JsonArrayStore {
94
94
  getLock() {
95
95
  return this.fs.lock;
96
96
  }
97
+ async delete() {
98
+ await this.fs.delete();
99
+ this.array = null;
100
+ this.hash = null;
101
+ }
97
102
  onStoreChanged() {
98
103
  this.array = null;
99
104
  this.hash = null;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonStoreFs.js","sourceRoot":"","sources":["../../../src/json/JsonStoreFs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonStoreFs.js","sourceRoot":"","sources":["../../../src/json/JsonStoreFs.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,9 @@ export class JsonStoreFs {
51
51
  memd.fn.clearMemoized(this.readInner);
52
52
  File.clearCache(this.path);
53
53
  }
54
+ async delete() {
55
+ await this.transport.removeAsync();
56
+ }
54
57
  write(arr) {
55
58
  this.data = arr;
56
59
  let dfr = new class_Dfr;
@@ -200,6 +203,9 @@ class FileTransport {
200
203
  });
201
204
  return str;
202
205
  }
206
+ async removeAsync() {
207
+ await this.file.removeAsync();
208
+ }
203
209
  async watch(watcherFn) {
204
210
  File.watch(this.path, watcherFn);
205
211
  }
@@ -223,6 +229,9 @@ class LocalStorageTransport {
223
229
  async readAsync() {
224
230
  return this.global.localStorage.getItem(this.path);
225
231
  }
232
+ async removeAsync() {
233
+ this.global.localStorage.removeItem(this.path);
234
+ }
226
235
  async exists() {
227
236
  // To prevent double load with "getItem", assume the existence of the item, later in readAsync the NULL will be handled.
228
237
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"$rpc.js","sourceRoot":"","sources":["../../../src/rpc/$rpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"$rpc.js","sourceRoot":"","sources":["../../../src/rpc/$rpc.ts"],"names":[],"mappings":";;;AACA,uDAAoD;AAEpD,uDAAoD;AAIpD,IAAiB,IAAI,CAoHpB;AApHD,WAAiB,IAAI;IAEjB,IAAY,UAEX;IAFD,WAAY,UAAU;QAClB,sEAAuB,CAAA;IAC3B,CAAC,EAFW,UAAU,GAAV,eAAU,KAAV,eAAU,QAErB;IAED,SAAgB,6BAA6B,CAAE,KAAoD,EAAE,IAAqB;QACtH,IAAI,OAAO,GAAI,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACrB,OAAO,IAAI,WAAW,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SACnE;QACD,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE;YACnB,OAAO,IAAI,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;SAC/B;QACD,OAAO;YACH,EAAE,EAAE,IAAI;YACR,KAAK,EAAE;gBACH,MAAM,EAAE,mBAAmB;gBAC3B,IAAI,EAAE,UAAU,CAAC,gBAAgB;gBACjC,OAAO,EAAE,OAAO;aACnB;SACJ,CAAC;IACN,CAAC;IAhBe,kCAA6B,gCAgB5C,CAAA;IAED,0BAA0B;IACnB,KAAK,UAAU,cAAc,CAAE,GAAQ,EAAE,IAAc;QAC1D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,gBAAgB,GAAG,KAAM,CAAC;QAC9B,IAAI,UAAU,GAAG,QAAQ,CAAC;QAC1B,IAAI,OAAO,GAAG,MAAM,mBAAQ,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;YAClD,IAAI,OAAO,KAAK,KAAK,EAAE;gBACnB,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,EAAE,IAAI,IAAI,EAAE;oBACZ,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;oBAChC,IAAI,EAAE,GAAG,gBAAgB,EAAE;wBACvB,OAAO,CAAE,IAAI,KAAK,CAAC,gBAAgB,IAAI,gCAAgC,gBAAgB,IAAI,CAAC,CAAE,CAAC;qBAClG;oBACD,OAAO,CAAE,IAAI,CAAE,CAAC;iBACnB;gBACD,OAAO,GAAG,IAAI,CAAC;aAClB;YACD,IAAI,OAAO,GAAG,MAAM,GAAG,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,OAAO,IAAI,IAAI,EAAE;gBACjB,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAChC,IAAI,EAAE,GAAG,UAAU,EAAE;oBACjB,OAAO,CAAE,IAAI,KAAK,CAAC,gBAAgB,IAAI,yBAAyB,UAAU,IAAI,CAAC,CAAE,CAAC;iBACrF;gBACD,OAAO,CAAE,IAAI,CAAE,CAAA;aAClB;YACD,OAAO,CAAE,IAAI,EAAE,OAAO,CAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACnB,CAAC;IA5BqB,mBAAc,iBA4BnC,CAAA;IAED,SAAgB,WAAW,CAAE,KAAU,EAAE,MAA+C,EAAE,OAAO;QAC7F,IAAI,KAAK,IAAI,IAAI,EAAE;YACf,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,MAAM,IAAI,OAAO,EAAE;YACpE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;SAC5B;QAED,IAAI,IAAI,GAAG,MAAM,CAAC;QAClB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,QAAQ,IAAI,EAAE;gBACV,KAAK,QAAQ;oBACT,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,KAAK,QAAQ;oBACT,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzB,KAAK,SAAS;oBACV,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC1B,KAAK,QAAQ;oBACT,OAAO,KAAK,CAAC;aACpB;SACJ;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,mBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,uCAAuC,MAAM,EAAE,CAAC,CAAC;YAEpF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aACxE;YACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC5B,IAAI,SAAS,GAAG,OAAO,KAAK,CAAC;YAC7B,IAAI,OAAO,IAAI,MAAM,EAAE;gBACnB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;oBAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;wBAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACpB,IAAI,QAAQ,KAAK,SAAS,EAAE;4BACxB,OAAO,IAAI,CAAC;yBACf;wBACD,IAAI,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACnD,OAAO,IAAI,CAAC;yBACf;wBACD,OAAO,KAAK,CAAC;qBAChB;oBACD,OAAO,OAAO,CAAC,KAAK,SAAS,CAAA;gBACjC,CAAC,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE;oBACP,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;iBAC7C;gBACD,OAAO,KAAK,CAAC;aAChB;YACD,IAAI,SAAS,KAAK,QAAQ,EAAE;gBACxB,IAAI,GAAG,GAAG,EAAE,CAAC;gBACb,KAAK,IAAI,GAAG,IAAI,KAAK,EAAE;oBACnB,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;iBAC5D;gBACD,OAAO,GAAG,CAAC;aACd;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IA3De,gBAAW,cA2D1B,CAAA;AAEL,CAAC,EApHgB,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAoHpB"}
@@ -9,10 +9,10 @@ export var $rpc;
9
9
  function createConnectionErrorResponse(error, opts) {
10
10
  let message = error.message;
11
11
  if (error.cause != null) {
12
- message += ` | ${error.cause.message}`;
12
+ message += ` Cause: ${error.cause.message} ${error.cause.code}`;
13
13
  }
14
14
  if (opts?.url != null) {
15
- message += ` | ${opts.url}`;
15
+ message += ` [${opts.url}]`;
16
16
  }
17
17
  return {
18
18
  id: null,
@@ -26,11 +26,12 @@ export declare class JsonArrayMultiStore<T> {
26
26
  getAll(): Promise<T[]>;
27
27
  }): Promise<void>;
28
28
  private getGroupedFiles;
29
- private parseRangeFilename;
30
29
  private getStores;
31
30
  private getStore;
32
31
  getSingle(groupKey: number, key: string | number): Promise<T>;
33
32
  getLatest(groupValue?: number): Promise<T>;
34
33
  removeMany(arr: Partial<T>[]): Promise<void>;
35
34
  upsertMany(arr: Partial<T>[]): Promise<T[]>;
35
+ private parseRangeFilename;
36
+ private createRangeFilename;
36
37
  }
@@ -31,6 +31,7 @@ export declare class JsonArrayStore<T> {
31
31
  removeMany(keys: (string | number)[]): Promise<T[]>;
32
32
  upsertMany(arr: Partial<T>[]): Promise<T[]>;
33
33
  getLock(): import("atma-utils/class/Dfr").class_Dfr<any>;
34
+ delete(): Promise<void>;
34
35
  private onStoreChanged;
35
36
  private restore;
36
37
  private flush;
@@ -21,6 +21,7 @@ export declare class JsonStoreFs<T> {
21
21
  watch(cb: typeof this.watcherFn): void;
22
22
  unwatch(): void;
23
23
  cleanCache(): void;
24
+ delete(): Promise<void>;
24
25
  write(arr: T): class_Dfr<any>;
25
26
  read(): Promise<T>;
26
27
  private readInner;
@@ -6,7 +6,9 @@ export declare namespace $rpc {
6
6
  ConnectionFailed = 1006
7
7
  }
8
8
  function createConnectionErrorResponse(error: Error & {
9
- cause?: Error;
9
+ cause?: Error & {
10
+ code?: number;
11
+ };
10
12
  }, opts?: {
11
13
  url: string;
12
14
  }): TTransport.Response;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dequanto",
3
- "version": "0.1.56",
3
+ "version": "0.1.61",
4
4
  "author": {
5
5
  "name": "Alex Kit",
6
6
  "email": "alex.kit@atmajs.com"
@@ -9,6 +9,7 @@ import { BlockchainExplorerFactory } from '@dequanto/explorer/BlockchainExplorer
9
9
  import { $require } from '@dequanto/utils/$require';
10
10
  import { $promise } from '@dequanto/utils/$promise';
11
11
  import { TEth } from '@dequanto/models/TEth';
12
+ import { $date } from '@dequanto/utils/$date';
12
13
 
13
14
  export class ContractCreationResolver {
14
15
 
@@ -74,8 +75,8 @@ class BlockchainExplorerDateResolver {
74
75
  let block = await this.client.getBlock(tx.blockNumber);
75
76
  return {
76
77
  tx: tx.hash,
77
- block: tx.blockNumber,
78
- timestamp: $block.getDate(block).valueOf()
78
+ block: $require.Number(Number(tx.blockNumber), `Invalid block: ${tx.blockNumber}`),
79
+ timestamp: $require.Number(Number(block.timestamp), `Invalid block timestamp: ${block.timestamp}`)
79
80
  };
80
81
  }
81
82
  }
@@ -24,7 +24,7 @@ export namespace BlockchainExplorerProvider {
24
24
  return Mix;
25
25
  }
26
26
  if (cfg != null) {
27
- return new BlockchainExplorer({ platform });
27
+ return new BlockchainExplorer({ platform, ...cfg });
28
28
  }
29
29
  throw new Error(`Unsupported platform ${platform} for block chain explorer`);
30
30
  }
@@ -105,8 +105,6 @@ export class EventsIndexer <TContract extends ContractBase> {
105
105
  TLogName extends GetEventLogNames<TContract>,
106
106
  > (
107
107
  event: TLogName | TLogName[] | '*',
108
- // Fetch all logs and filter later if needed
109
- //- params?: T[TMethodName] extends (options: { params?: infer TParams }) => any ? TParams : never,
110
108
  options?: {
111
109
  fromBlock?: number
112
110
  toBlock?: number
@@ -240,7 +238,7 @@ export class EventsIndexer <TContract extends ContractBase> {
240
238
  params: options?.params,
241
239
  });
242
240
  if (arr?.length > 0) {
243
- let latestBlock = arr[arr.length - 1].blockNumber;
241
+ let lastBlock = arr[arr.length - 1].blockNumber;
244
242
  await options.onProgress({
245
243
  logs: arr,
246
244
  paged: arr,
@@ -248,14 +246,27 @@ export class EventsIndexer <TContract extends ContractBase> {
248
246
  blocksPerSecond: 0,
249
247
  blocks: { total: 0, loaded: 0 },
250
248
  timeLeftSeconds: 0,
251
- latestBlock: latestBlock
249
+ latestBlock: lastBlock
252
250
  });
253
- if (fromBlock != null) {
254
- let latestFromStorage = alot(arr).max(x => x.blockNumber);
255
- fromBlock = latestFromStorage + 1;
256
- if (toBlock != null && fromBlock >= toBlock) {
257
- // we got all from storage
258
- return;
251
+ // if (fromBlock != null) {
252
+ // let latestFromStorage = alot(arr).max(x => x.blockNumber);
253
+ // fromBlock = latestFromStorage + 1;
254
+ // if (toBlock != null && fromBlock >= toBlock) {
255
+ // // we got all from storage
256
+ // return;
257
+ // }
258
+ // }
259
+
260
+ // Adjust ranges to skip blocks already in storage
261
+ for (let i = 0; i < ranges.length; i++) {
262
+ let range = ranges[i];
263
+ if (range.toBlock <= lastBlock) {
264
+ ranges.splice(i, 1);
265
+ i--;
266
+ continue;
267
+ }
268
+ if (range.fromBlock < lastBlock) {
269
+ range.fromBlock = lastBlock + 1;
259
270
  }
260
271
  }
261
272
  }
@@ -331,8 +342,7 @@ export class EventsIndexer <TContract extends ContractBase> {
331
342
  }
332
343
  }
333
344
 
334
-
335
- // Upsert final, if buffer is empty, we still persist the toBlock
345
+ // Upsert final, if buffer is empty, we still persist the "toBlock" value
336
346
  await this.upsert(buffer, events, toBlock, options);
337
347
 
338
348
  if (isStreamed === true) {
@@ -8,6 +8,7 @@ import memd from 'memd';
8
8
  import alot from 'alot';
9
9
  import type { Alot } from 'alot/alot';
10
10
  import { $require } from '@dequanto/utils/$require';
11
+ import { l } from '@dequanto/utils/$logger';
11
12
 
12
13
  export interface IMultiStoreOptions<T> extends IArrayStoreOptions<T> {
13
14
  groupKey: (x: T) => number
@@ -86,7 +87,9 @@ export class JsonArrayMultiStore<T> {
86
87
  await this.upsertMany(arr);
87
88
  }
88
89
 
89
- private async getGroupedFiles () {
90
+ private async getGroupedFiles (opts?: { revalidateGroupSize?: boolean }): Promise<{
91
+ range: { start: number, end: number }
92
+ }[]> {
90
93
  try {
91
94
  let files = await Directory.readFilesAsync(this.options.path, '*.json');
92
95
  let rangeFiles = alot(files)
@@ -99,22 +102,32 @@ export class JsonArrayMultiStore<T> {
99
102
  .filter(x => x.range != null)
100
103
  .sortBy(x => x.range.start, 'asc')
101
104
  .toArray();
105
+
106
+ if (opts?.revalidateGroupSize !== false && rangeFiles.length > 0) {
107
+ // ensure groupSize is the same
108
+ let [ rangeFile ] = rangeFiles;
109
+ let startNr = rangeFile.range.start;
110
+ if ((startNr % this.options.groupSize) !== 0) {
111
+ l`GroupSize ${this.options.groupSize} is not a multiple of ${startNr}. Re-grouping files... [${rangeFile.file.uri.toString()}]`;
112
+ for (let rangeFile of rangeFiles) {
113
+ let store = new JsonArrayStore<T>({
114
+ ...this.options,
115
+ path: rangeFile.file.uri.toString(),
116
+ });
117
+ let entries = await store.getAll();
118
+ await this.upsertMany(entries);
119
+ await store.delete()
120
+ }
121
+
122
+ return await this.getGroupedFiles({ revalidateGroupSize: false });
123
+ }
124
+ }
125
+
102
126
  return rangeFiles;
103
127
  } catch (e) {
104
128
  return [];
105
129
  }
106
130
  }
107
- private parseRangeFilename (filename: string) {
108
- let match = /^(?<start>\d+)\-(?<end>\d+)\./.exec(filename);
109
- if (match == null) {
110
- return null;
111
- }
112
- return {
113
- start: Number(match.groups.start),
114
- end: Number(match.groups.end),
115
- };
116
- }
117
-
118
131
 
119
132
  private getStores (groups: { start: number, end: number }[]) {
120
133
  return groups.map(group => {
@@ -181,14 +194,9 @@ export class JsonArrayMultiStore<T> {
181
194
  }
182
195
 
183
196
  async removeMany(arr: Partial<T>[]): Promise<void> {
184
- let groupSize = this.options.groupSize;
185
197
  await alot(arr)
186
198
  .groupBy(entry => {
187
- let key = this.options.groupKey(entry as T);
188
- let start = key - key % groupSize;
189
- // "end" block is excluded (Exclusive Upper Bound)
190
- let end = start + groupSize;
191
- return `${start}-${end}`;
199
+ return this.createRangeFilename(entry);
192
200
  })
193
201
  .mapAsync(async group => {
194
202
  let store = this.getStore(group.key);
@@ -199,14 +207,9 @@ export class JsonArrayMultiStore<T> {
199
207
  }
200
208
 
201
209
  async upsertMany(arr: Partial<T>[]): Promise<T[]> {
202
- let groupSize = this.options.groupSize;
203
210
  await alot(arr)
204
211
  .groupBy(entry => {
205
- let key = this.options.groupKey(entry as T);
206
- let start = key - key % groupSize;
207
- // "end" block is excluded (Exclusive Upper Bound)
208
- let end = start + groupSize;
209
- return `${start}-${end}`;
212
+ return this.createRangeFilename(entry);
210
213
  })
211
214
  .forEachAsync(async group => {
212
215
  let store = this.getStore(group.key);
@@ -217,5 +220,23 @@ export class JsonArrayMultiStore<T> {
217
220
  return arr as T[];
218
221
  }
219
222
 
223
+ private parseRangeFilename (filename: string) {
224
+ let match = /^(?<start>\d+)\-(?<end>\d+)\./.exec(filename);
225
+ if (match == null) {
226
+ return null;
227
+ }
228
+ return {
229
+ start: Number(match.groups.start),
230
+ end: Number(match.groups.end),
231
+ };
232
+ }
220
233
 
234
+ private createRangeFilename (entry: Partial<T>) {
235
+ let groupSize = this.options.groupSize;
236
+ let key = this.options.groupKey(entry as T);
237
+ let start = key - key % groupSize;
238
+ // "end" block is excluded (Exclusive Upper Bound)
239
+ let end = start + groupSize;
240
+ return `${start}-${end}`;
241
+ }
221
242
  }
@@ -134,6 +134,12 @@ export class JsonArrayStore<T> {
134
134
  return this.fs.lock;
135
135
  }
136
136
 
137
+ async delete () {
138
+ await this.fs.delete();
139
+ this.array = null;
140
+ this.hash = null;
141
+ }
142
+
137
143
  private onStoreChanged () {
138
144
  this.array = null;
139
145
  this.hash = null;