@eclesia/indexer-engine 2.5.3 → 2.5.5

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.
@@ -25,6 +25,7 @@ export declare class EcleciaIndexer extends EclesiaEmitter {
25
25
  private initialized;
26
26
  private retryCount;
27
27
  client: CometClient;
28
+ blockClient: CometClient;
28
29
  log: winston.Logger;
29
30
  private debugTime;
30
31
  private healthCheck;
@@ -38,7 +39,7 @@ export declare class EcleciaIndexer extends EclesiaEmitter {
38
39
  asyncEmit: EmitFunc<keyof WithHeightAndUUID<EventMap>>;
39
40
  private processBlock;
40
41
  private fetcher;
41
- callABCI(path: string, data: Uint8Array, height?: number): Promise<Uint8Array<ArrayBufferLike>>;
42
+ callABCI(path: string, data: Uint8Array, height?: number, adHoc?: boolean): Promise<Uint8Array>;
42
43
  private newBlockReceived;
43
44
  private pollForBlock;
44
45
  private readGenesis;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuC,WAAW,EAA4B,MAAM,wBAAwB,CAAC;AAkBpH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAc,oBAAoB,EAAE,QAAQ,EAAqB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAI5G,eAAO,MAAM,oBAAoB;;;;;cAKX,oBAAoB,CAAC,UAAU,CAAC;;;;;;;8BAO1B,OAAO;CAClC,CAAC;AAEF,qBAAa,cAAe,SAAQ,cAAc;IAChD,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,OAAO,CAAkB;IAEjC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,YAAY,CAAU;IAE9B,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,UAAU,CAAK;IAEhB,MAAM,EAAG,WAAW,CAAC;IAErB,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC;IAE3B,OAAO,CAAC,SAAS,CAAiC;IAElD,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,YAAY,CAA6D;gBAErE,MAAM,EAAE,oBAAoB;IAyDxC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa,CAInB;IAEF,OAAO,CAAC,SAAS;IAQJ,OAAO;IAYP,KAAK;IAuIX,SAAS,EAAE,QAAQ,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAkC3D;YAEY,YAAY;YAqIZ,OAAO;IA2CR,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM;IAoBrE,OAAO,CAAC,gBAAgB;YAqCV,YAAY;IAY1B,OAAO,CAAC,WAAW;YAQL,cAAc;YAyBd,cAAc;YAuBd,YAAY;CAiD3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/indexer/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuC,WAAW,EAA4B,MAAM,wBAAwB,CAAC;AAkBpH,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAc,oBAAoB,EAAE,QAAQ,EAAqB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAI5G,eAAO,MAAM,oBAAoB;;;;;cAKX,oBAAoB,CAAC,UAAU,CAAC;;;;;;;8BAO1B,OAAO;CAClC,CAAC;AAEF,qBAAa,cAAe,SAAQ,cAAc;IAChD,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,OAAO,CAAkB;IAEjC,OAAO,CAAC,UAAU,CAAa;IAE/B,OAAO,CAAC,YAAY,CAAU;IAE9B,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,UAAU,CAAK;IAEhB,MAAM,EAAG,WAAW,CAAC;IAErB,WAAW,EAAG,WAAW,CAAC;IAE1B,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC;IAE3B,OAAO,CAAC,SAAS,CAAiC;IAElD,OAAO,CAAC,WAAW,CAEjB;IAEF,OAAO,CAAC,YAAY,CAA6D;gBAErE,MAAM,EAAE,oBAAoB;IAyDxC,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa,CAInB;IAEF,OAAO,CAAC,SAAS;IAQJ,OAAO;IAcP,KAAK;IAuIX,SAAS,EAAE,QAAQ,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAkC3D;YAEY,YAAY;YAqIZ,OAAO;IA2CR,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,OAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAoBlH,OAAO,CAAC,gBAAgB;YAqCV,YAAY;IAY1B,OAAO,CAAC,WAAW;YAQL,cAAc;YAyBd,cAAc;YAuBd,YAAY;CAiD3B"}
@@ -154,7 +154,9 @@ class EcleciaIndexer extends emitter_1.EclesiaEmitter {
154
154
  async connect() {
155
155
  try {
156
156
  this.client = await (0, tendermint_rpc_2.connectComet)(this.config.rpcUrl);
157
- this.log.info("Connected to RPC");
157
+ this.log.info("Connected to RPC for ad hoc queries");
158
+ this.blockClient = await (0, tendermint_rpc_2.connectComet)(this.config.rpcUrl);
159
+ this.log.info("Connected to RPC for block & validator info");
158
160
  return true;
159
161
  }
160
162
  catch (error) {
@@ -421,10 +423,10 @@ class EcleciaIndexer extends emitter_1.EclesiaEmitter {
421
423
  try {
422
424
  if (this.isMinimal(this.blockQueue)) {
423
425
  const toIndex = Promise.all([
424
- this.client.block(i),
425
- this.client.blockResults(i)
426
- ]).catch((_e) => {
427
- this.log.error("Error fetching block: " + i);
426
+ this.blockClient.block(i),
427
+ this.blockClient.blockResults(i)
428
+ ]).catch((e) => {
429
+ this.log.error("Error fetching block: " + i + " : " + e);
428
430
  return Promise.resolve([]);
429
431
  });
430
432
  this.blockQueue.enqueue(toIndex);
@@ -433,11 +435,11 @@ class EcleciaIndexer extends emitter_1.EclesiaEmitter {
433
435
  const q = query_1.QueryValidatorsRequest.fromPartial({ pagination: { limit: 1000n } });
434
436
  const vals = query_1.QueryValidatorsRequest.encode(q).finish();
435
437
  const toIndex = Promise.all([
436
- this.client.block(i),
437
- this.client.blockResults(i),
438
- this.callABCI("/cosmos.staking.v1beta1.Query/Validators", vals, i)
439
- ]).catch((_e) => {
440
- this.log.error("Error fetching block: " + i);
438
+ this.blockClient.block(i),
439
+ this.blockClient.blockResults(i),
440
+ this.callABCI("/cosmos.staking.v1beta1.Query/Validators", vals, i, false)
441
+ ]).catch((e) => {
442
+ this.log.error("Error fetching block: " + i + " : " + e);
441
443
  return Promise.resolve([]);
442
444
  });
443
445
  this.blockQueue.enqueue(toIndex);
@@ -455,12 +457,12 @@ class EcleciaIndexer extends emitter_1.EclesiaEmitter {
455
457
  this.log.info("Synced to latest height");
456
458
  }
457
459
  }
458
- async callABCI(path, data, height) {
460
+ async callABCI(path, data, height, adHoc = true) {
459
461
  const timeout = new Promise((resolve) => {
460
462
  setTimeout(resolve, 10000);
461
463
  });
462
464
  const abciq = await Promise.race([
463
- this.client.abciQuery({
465
+ (adHoc ? this.client : this.blockClient).abciQuery({
464
466
  path,
465
467
  data,
466
468
  height: height
@@ -484,8 +486,8 @@ class EcleciaIndexer extends emitter_1.EclesiaEmitter {
484
486
  this.blockQueue.enqueue(Promise.all([
485
487
  this.client.block(height),
486
488
  this.client.blockResults(height)
487
- ]).catch((_e) => {
488
- this.log.error("Error fetching block: " + height);
489
+ ]).catch((e) => {
490
+ this.log.error("Error fetching block: " + height + " : " + e);
489
491
  return Promise.resolve([]);
490
492
  }));
491
493
  }
@@ -496,8 +498,8 @@ class EcleciaIndexer extends emitter_1.EclesiaEmitter {
496
498
  this.client.block(height),
497
499
  this.client.blockResults(height),
498
500
  this.callABCI("/cosmos.staking.v1beta1.Query/Validators", vals, height)
499
- ]).catch((_e) => {
500
- this.log.error("Error fetching block: " + height);
501
+ ]).catch((e) => {
502
+ this.log.error("Error fetching block: " + height + " : " + e);
501
503
  return Promise.resolve([]);
502
504
  }));
503
505
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclesia/indexer-engine",
3
- "version": "2.5.3",
3
+ "version": "2.5.5",
4
4
  "description": "Core eclesia indexer engine",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",