@eclesia/indexer-engine 2.5.0 → 2.5.2
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/dist/emitter/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { WithHeightAndUUID } from "../types";
|
|
|
2
2
|
export declare class EclesiaEmitter {
|
|
3
3
|
private emitter;
|
|
4
4
|
handled: Map<string, number>;
|
|
5
|
+
private handlerMap;
|
|
5
6
|
constructor();
|
|
6
7
|
emit<EType extends keyof (WithHeightAndUUID<EventMap>) & string>(eventName: EType, eventArg: WithHeightAndUUID<EventMap>[EType] & {
|
|
7
8
|
uuid?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/emitter/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAsB;IAE9B,OAAO,sBAA6B;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/emitter/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAsB;IAE9B,OAAO,sBAA6B;IAE3C,OAAO,CAAC,UAAU,CAAiB;;IAMnC,IAAI,CAAC,KAAK,SAAS,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,EAC7D,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAYlE,EAAE,CAAC,UAAU,SAAS,MAAM,iBAAiB,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,YAAY,EAAE,SAAS,EAAE,UAAU,EACpG,OAAO,EAAE,UAAU,SAAS,YAAY,GACpC,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAC1B,KAAK,EAAE,OAAO,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KAAE,KAAK,IAAI,GACxB,CAAC,QAAQ,EAAE,UAAU,SAAS,MAAM,iBAAiB,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,KAAK,KAAK,IAAI;IA2BhI,GAAG,CAAC,UAAU,SAAS,MAAM,iBAAiB,CAAC,QAAQ,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE,UAAU,EACtF,OAAO,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI;CAavE"}
|
package/dist/emitter/index.js
CHANGED
|
@@ -9,6 +9,7 @@ class EclesiaEmitter {
|
|
|
9
9
|
constructor() {
|
|
10
10
|
this.emitter = new events_1.default();
|
|
11
11
|
this.handled = new Map();
|
|
12
|
+
this.handlerMap = new WeakMap();
|
|
12
13
|
this.emitter.setMaxListeners(0);
|
|
13
14
|
}
|
|
14
15
|
emit(eventName, eventArg) {
|
|
@@ -31,7 +32,8 @@ class EclesiaEmitter {
|
|
|
31
32
|
else {
|
|
32
33
|
this.handled.set(eventName, 1);
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
const wrapper = async (eventData) => {
|
|
35
37
|
try {
|
|
36
38
|
await handler(eventData);
|
|
37
39
|
if (eventName !== "uuid" && eventName !== "_unhandled" && eventData.uuid) {
|
|
@@ -46,7 +48,9 @@ class EclesiaEmitter {
|
|
|
46
48
|
uuid: eventData.uuid });
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
|
-
}
|
|
51
|
+
};
|
|
52
|
+
this.handlerMap.set(handler, wrapper);
|
|
53
|
+
this.emitter.on(eventName, wrapper);
|
|
50
54
|
}
|
|
51
55
|
off(eventName, handler) {
|
|
52
56
|
const count = this.handled.get(eventName);
|
|
@@ -56,7 +60,11 @@ class EclesiaEmitter {
|
|
|
56
60
|
else {
|
|
57
61
|
this.handled.delete(eventName);
|
|
58
62
|
}
|
|
59
|
-
this.
|
|
63
|
+
const wrapper = this.handlerMap.get(handler);
|
|
64
|
+
if (wrapper) {
|
|
65
|
+
this.emitter.off(eventName, wrapper);
|
|
66
|
+
this.handlerMap.delete(handler);
|
|
67
|
+
}
|
|
60
68
|
}
|
|
61
69
|
}
|
|
62
70
|
exports.EclesiaEmitter = EclesiaEmitter;
|
|
@@ -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;
|
|
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"}
|
package/dist/indexer/index.js
CHANGED
|
@@ -298,7 +298,10 @@ class EcleciaIndexer extends emitter_1.EclesiaEmitter {
|
|
|
298
298
|
}
|
|
299
299
|
}
|
|
300
300
|
async processBlock(block, block_results, validators) {
|
|
301
|
-
|
|
301
|
+
let processStart = [0, 0];
|
|
302
|
+
if (this.config.logLevel == "silly") {
|
|
303
|
+
processStart = process.hrtime();
|
|
304
|
+
}
|
|
302
305
|
const height = block.block.header.height;
|
|
303
306
|
this.log.debug("Processing block: %d", height);
|
|
304
307
|
this.log.silly("Started db tx");
|
|
@@ -405,9 +408,11 @@ class EcleciaIndexer extends emitter_1.EclesiaEmitter {
|
|
|
405
408
|
timestamp
|
|
406
409
|
});
|
|
407
410
|
this.log.silly("Modules handled end_block events");
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
+
if (this.config.logLevel == "silly") {
|
|
412
|
+
const processEnd = process.hrtime(processStart);
|
|
413
|
+
const processTime = processEnd[0] * 1000 + processEnd[1] / 1000000;
|
|
414
|
+
this.log.silly("Processed block %d in %d ms", height, processTime.toFixed(2));
|
|
415
|
+
}
|
|
411
416
|
}
|
|
412
417
|
async fetcher() {
|
|
413
418
|
let error = false;
|