@sentio/runtime 2.44.2 → 2.44.3-rc.10

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/lib/index.d.ts CHANGED
@@ -8,6 +8,7 @@ import _m0 from 'protobufjs/minimal.js';
8
8
  import { JsonRpcProvider, Provider, Network } from 'ethers';
9
9
  import PQueue from 'p-queue';
10
10
  import { EthChainId } from '@sentio/chain';
11
+ import { Counter, Attributes, Gauge } from '@opentelemetry/api';
11
12
 
12
13
  type Request = Omit<DBRequest, 'opId'>;
13
14
  type RequestType = keyof Request;
@@ -394,4 +395,120 @@ declare class QueuedStaticJsonRpcProvider extends JsonRpcProvider {
394
395
  send(method: string, params: Array<any>): Promise<any>;
395
396
  }
396
397
 
397
- export { ChainConfig, DummyProvider, Endpoints, GLOBAL_CONFIG, GlobalConfig, ListStateStorage, MapStateStorage, Plugin, PluginManager, ProcessorServiceImpl, QueuedStaticJsonRpcProvider, State, StateStorage, StoreContext, USER_PROCESSOR, errorString, getProvider, makeEthCallKey, mergeProcessResults, timeoutError };
398
+ declare class C {
399
+ private name;
400
+ private _counter;
401
+ private value;
402
+ constructor(name: string);
403
+ get counter(): Counter<Attributes>;
404
+ add(value: number, attributes?: Attributes): void;
405
+ get(): number;
406
+ }
407
+ declare class G {
408
+ private name;
409
+ private _gauge;
410
+ private value;
411
+ constructor(name: string);
412
+ get gauge(): Gauge<Attributes>;
413
+ record(value: number, attributes?: Attributes): void;
414
+ get(): number;
415
+ }
416
+ declare const dbMetrics: {
417
+ send_counts: {
418
+ get: C;
419
+ upsert: C;
420
+ list: C;
421
+ delete: C;
422
+ };
423
+ recv_counts: {
424
+ get: C;
425
+ upsert: C;
426
+ list: C;
427
+ delete: C;
428
+ };
429
+ request_times: {
430
+ get: C;
431
+ upsert: C;
432
+ list: C;
433
+ delete: C;
434
+ };
435
+ request_errors: {
436
+ get: C;
437
+ upsert: C;
438
+ list: C;
439
+ delete: C;
440
+ };
441
+ batched_total_count: C;
442
+ batched_request_count: C;
443
+ unsolved_requests: G;
444
+ stats(): {
445
+ send_counts: {
446
+ get: number;
447
+ upsert: number;
448
+ list: number;
449
+ delete: number;
450
+ };
451
+ recv_counts: {
452
+ get: number;
453
+ upsert: number;
454
+ list: number;
455
+ delete: number;
456
+ };
457
+ request_times: {
458
+ get: number;
459
+ upsert: number;
460
+ list: number;
461
+ delete: number;
462
+ };
463
+ request_errors: {
464
+ get: number;
465
+ upsert: number;
466
+ list: number;
467
+ delete: number;
468
+ };
469
+ batched_total_count: number;
470
+ batched_request_count: number;
471
+ unsolved_requests: number;
472
+ average_request_time: {
473
+ get: number;
474
+ upsert: number;
475
+ list: number;
476
+ };
477
+ };
478
+ };
479
+ declare const providerMetrics: {
480
+ hit_count: C;
481
+ miss_count: C;
482
+ queue_size: G;
483
+ total_duration: C;
484
+ total_queued: C;
485
+ stats(): {
486
+ hit_count: number;
487
+ miss_count: number;
488
+ queue_size: number;
489
+ total_duration: number;
490
+ total_queued: number;
491
+ average_queue_time: number;
492
+ average_duration: number;
493
+ };
494
+ };
495
+ declare const processMetrics: {
496
+ process_binding_count: C;
497
+ process_binding_time: C;
498
+ process_binding_error: C;
499
+ process_ethcall_count: C;
500
+ process_eventemit_count: C;
501
+ process_metricrecord_count: C;
502
+ process_pricecall_count: C;
503
+ stats(): {
504
+ process_binding_count: number;
505
+ process_binding_time: number;
506
+ process_binding_error: number;
507
+ process_ethcall_count: number;
508
+ process_eventemit_count: number;
509
+ process_metricrecord_count: number;
510
+ process_pricecall_count: number;
511
+ };
512
+ };
513
+
514
+ export { ChainConfig, DummyProvider, Endpoints, GLOBAL_CONFIG, GlobalConfig, ListStateStorage, MapStateStorage, Plugin, PluginManager, ProcessorServiceImpl, QueuedStaticJsonRpcProvider, State, StateStorage, StoreContext, USER_PROCESSOR, dbMetrics, errorString, getProvider, makeEthCallKey, mergeProcessResults, processMetrics, providerMetrics, timeoutError };
package/lib/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import { createRequire as createRequireShim } from 'module'; const require = createRequireShim(import.meta.url);
2
- import{V as N,W as C,X as V,Y as w,Z as O,_ as A,g as u,i as T,j as m,m as h,n as l,o as f,p as x,q as d,y as c}from"./chunk-OIJYNZ76.js";var s=class{stateMap=new Map;static reset(){s.INSTANCE=new s}},r=s;u(r,"INSTANCE",new s);var i=class{constructor(){}key(){return this.constructor.name}getOrRegister(){let t=r.INSTANCE.stateMap.get(this.key());return t||(t=this.initValue(),r.INSTANCE.stateMap.set(this.key(),t)),t}unregister(){let t=r.INSTANCE.stateMap.get(this.key());return r.INSTANCE.stateMap.delete(this.key()),t}},g=class extends i{initValue(){return new Map}getValue(t){return this.getOrRegister().get(t)}getValues(){let t=this.getOrRegister();return Array.from(t.values())}getOrSetValue(t,n){let o=this.getOrRegister(),a=o.get(t);return a?(console.warn(t,"has been registered twice, use the previous one"),a):(o.set(t,n),n)}},p=class extends i{initValue(){return[]}getValues(){return this.getOrRegister()}addValue(t){return this.getOrRegister().push(t),t}};import("process").then(e=>e.stdout.write(""));import("process").then(e=>e.stdout.write(""));import("process").then(e=>e.stdout.write(""));export{V as DummyProvider,d as Endpoints,c as GLOBAL_CONFIG,p as ListStateStorage,g as MapStateStorage,T as Plugin,m as PluginManager,A as ProcessorServiceImpl,O as QueuedStaticJsonRpcProvider,r as State,i as StateStorage,C as StoreContext,f as USER_PROCESSOR,l as errorString,w as getProvider,x as makeEthCallKey,h as mergeProcessResults,N as timeoutError};
2
+ import{$ as I,V as N,W as C,X as V,Y as w,Z as O,_ as A,aa as M,ba as b,g as u,i as T,j as m,m as h,n as l,o as f,p as x,q as d,y as c}from"./chunk-IOO4AJPJ.js";var s=class{stateMap=new Map;static reset(){s.INSTANCE=new s}},r=s;u(r,"INSTANCE",new s);var i=class{constructor(){}key(){return this.constructor.name}getOrRegister(){let t=r.INSTANCE.stateMap.get(this.key());return t||(t=this.initValue(),r.INSTANCE.stateMap.set(this.key(),t)),t}unregister(){let t=r.INSTANCE.stateMap.get(this.key());return r.INSTANCE.stateMap.delete(this.key()),t}},g=class extends i{initValue(){return new Map}getValue(t){return this.getOrRegister().get(t)}getValues(){let t=this.getOrRegister();return Array.from(t.values())}getOrSetValue(t,n){let o=this.getOrRegister(),a=o.get(t);return a?(console.warn(t,"has been registered twice, use the previous one"),a):(o.set(t,n),n)}},p=class extends i{initValue(){return[]}getValues(){return this.getOrRegister()}addValue(t){return this.getOrRegister().push(t),t}};import("process").then(e=>e.stdout.write(""));import("process").then(e=>e.stdout.write(""));import("process").then(e=>e.stdout.write(""));export{A as DummyProvider,d as Endpoints,c as GLOBAL_CONFIG,p as ListStateStorage,g as MapStateStorage,T as Plugin,m as PluginManager,b as ProcessorServiceImpl,M as QueuedStaticJsonRpcProvider,r as State,i as StateStorage,O as StoreContext,f as USER_PROCESSOR,N as dbMetrics,l as errorString,I as getProvider,x as makeEthCallKey,h as mergeProcessResults,V as processMetrics,C as providerMetrics,w as timeoutError};
3
3
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/state.ts","../src/chain-config.ts","../src/index.ts"],"sourcesContent":["export class State {\n stateMap = new Map<string, any>()\n\n static INSTANCE = new State()\n\n static reset() {\n State.INSTANCE = new State()\n }\n}\n\nexport abstract class StateStorage<T> {\n // TODO learn how to define single instance for all subclasses\n\n protected constructor() {\n //\n }\n\n abstract initValue(): T\n\n key(): string {\n return this.constructor.name\n }\n\n getOrRegister(): T {\n let metricState: T = State.INSTANCE.stateMap.get(this.key())\n if (!metricState) {\n metricState = this.initValue()\n State.INSTANCE.stateMap.set(this.key(), metricState)\n }\n return metricState\n }\n\n unregister(): T {\n const value = State.INSTANCE.stateMap.get(this.key())\n State.INSTANCE.stateMap.delete(this.key())\n return value\n }\n}\n\nexport abstract class MapStateStorage<T> extends StateStorage<Map<string, T>> {\n initValue() {\n return new Map<string, T>()\n }\n\n getValue(key: string): T | undefined {\n const m = this.getOrRegister()\n return m.get(key)\n }\n\n getValues(): T[] {\n const m = this.getOrRegister()\n return Array.from(m.values())\n }\n\n getOrSetValue(key: string, value: T): T {\n const m = this.getOrRegister()\n const oldValue = m.get(key)\n if (oldValue) {\n console.warn(key, 'has been registered twice, use the previous one')\n return oldValue\n }\n m.set(key, value)\n return value\n }\n}\n\nexport abstract class ListStateStorage<T> extends StateStorage<T[]> {\n initValue() {\n return []\n }\n\n getValues(): T[] {\n return this.getOrRegister()\n }\n\n addValue(value: T): T {\n const m = this.getOrRegister()\n m.push(value)\n return value\n }\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","export interface ChainConfig {\n ChainID: string\n Https?: string[]\n ChainServer?: string\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","export * from './plugin.js'\nexport * from './state.js'\nexport * from './utils.js'\nexport * from './endpoints.js'\nexport * from './chain-config.js'\nexport * from './service.js'\nexport { GLOBAL_CONFIG, type GlobalConfig } from './global-config.js'\nexport * from './db-context.js'\nexport * from './provider.js'\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));"],"mappings":";0IAAO,IAAMA,EAAN,KAAY,CACjB,SAAW,IAAI,IAIf,OAAO,OAAQ,CACbA,EAAM,SAAW,IAAIA,CACvB,CACF,EARaC,EAAND,EAGLE,EAHWD,EAGJ,WAAW,IAAID,GAOjB,IAAeG,EAAf,KAA+B,CAG1B,aAAc,CAExB,CAIA,KAAc,CACZ,OAAO,KAAK,YAAY,IAC1B,CAEA,eAAmB,CACjB,IAAIC,EAAiBH,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,CAAC,EAC3D,OAAKG,IACHA,EAAc,KAAK,UAAU,EAC7BH,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,EAAGG,CAAW,GAE9CA,CACT,CAEA,YAAgB,CACd,IAAMC,EAAQJ,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,CAAC,EACpD,OAAAA,EAAM,SAAS,SAAS,OAAO,KAAK,IAAI,CAAC,EAClCI,CACT,CACF,EAEsBC,EAAf,cAA0CH,CAA6B,CAC5E,WAAY,CACV,OAAO,IAAI,GACb,CAEA,SAASI,EAA4B,CAEnC,OADU,KAAK,cAAc,EACpB,IAAIA,CAAG,CAClB,CAEA,WAAiB,CACf,IAAMC,EAAI,KAAK,cAAc,EAC7B,OAAO,MAAM,KAAKA,EAAE,OAAO,CAAC,CAC9B,CAEA,cAAcD,EAAaF,EAAa,CACtC,IAAMG,EAAI,KAAK,cAAc,EACvBC,EAAWD,EAAE,IAAID,CAAG,EAC1B,OAAIE,GACF,QAAQ,KAAKF,EAAK,iDAAiD,EAC5DE,IAETD,EAAE,IAAID,EAAKF,CAAK,EACTA,EACT,CACF,EAEsBK,EAAf,cAA2CP,CAAkB,CAClE,WAAY,CACV,MAAO,CAAC,CACV,CAEA,WAAiB,CACf,OAAO,KAAK,cAAc,CAC5B,CAEA,SAASE,EAAa,CAEpB,OADU,KAAK,cAAc,EAC3B,KAAKA,CAAK,EACLA,CACT,CACF,EACC,OAAO,SAAc,EAAE,KAAMM,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC,EC5ErD,OAAO,SAAc,EAAE,KAAMC,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC,ECIrD,OAAO,SAAc,EAAE,KAAMC,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC","names":["_State","State","__publicField","StateStorage","metricState","value","MapStateStorage","key","m","oldValue","ListStateStorage","p","p","p"]}
1
+ {"version":3,"sources":["../src/state.ts","../src/chain-config.ts","../src/index.ts"],"sourcesContent":["export class State {\n stateMap = new Map<string, any>()\n\n static INSTANCE = new State()\n\n static reset() {\n State.INSTANCE = new State()\n }\n}\n\nexport abstract class StateStorage<T> {\n // TODO learn how to define single instance for all subclasses\n\n protected constructor() {\n //\n }\n\n abstract initValue(): T\n\n key(): string {\n return this.constructor.name\n }\n\n getOrRegister(): T {\n let metricState: T = State.INSTANCE.stateMap.get(this.key())\n if (!metricState) {\n metricState = this.initValue()\n State.INSTANCE.stateMap.set(this.key(), metricState)\n }\n return metricState\n }\n\n unregister(): T {\n const value = State.INSTANCE.stateMap.get(this.key())\n State.INSTANCE.stateMap.delete(this.key())\n return value\n }\n}\n\nexport abstract class MapStateStorage<T> extends StateStorage<Map<string, T>> {\n initValue() {\n return new Map<string, T>()\n }\n\n getValue(key: string): T | undefined {\n const m = this.getOrRegister()\n return m.get(key)\n }\n\n getValues(): T[] {\n const m = this.getOrRegister()\n return Array.from(m.values())\n }\n\n getOrSetValue(key: string, value: T): T {\n const m = this.getOrRegister()\n const oldValue = m.get(key)\n if (oldValue) {\n console.warn(key, 'has been registered twice, use the previous one')\n return oldValue\n }\n m.set(key, value)\n return value\n }\n}\n\nexport abstract class ListStateStorage<T> extends StateStorage<T[]> {\n initValue() {\n return []\n }\n\n getValues(): T[] {\n return this.getOrRegister()\n }\n\n addValue(value: T): T {\n const m = this.getOrRegister()\n m.push(value)\n return value\n }\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","export interface ChainConfig {\n ChainID: string\n Https?: string[]\n ChainServer?: string\n}\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));","export * from './plugin.js'\nexport * from './state.js'\nexport * from './utils.js'\nexport * from './endpoints.js'\nexport * from './chain-config.js'\nexport * from './service.js'\nexport { GLOBAL_CONFIG, type GlobalConfig } from './global-config.js'\nexport * from './db-context.js'\nexport * from './provider.js'\nexport * from './metrics.js'\n;import(\"node:process\").then((p) => p.stdout.write(\"\"));"],"mappings":";iKAAO,IAAMA,EAAN,KAAY,CACjB,SAAW,IAAI,IAIf,OAAO,OAAQ,CACbA,EAAM,SAAW,IAAIA,CACvB,CACF,EARaC,EAAND,EAGLE,EAHWD,EAGJ,WAAW,IAAID,GAOjB,IAAeG,EAAf,KAA+B,CAG1B,aAAc,CAExB,CAIA,KAAc,CACZ,OAAO,KAAK,YAAY,IAC1B,CAEA,eAAmB,CACjB,IAAIC,EAAiBH,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,CAAC,EAC3D,OAAKG,IACHA,EAAc,KAAK,UAAU,EAC7BH,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,EAAGG,CAAW,GAE9CA,CACT,CAEA,YAAgB,CACd,IAAMC,EAAQJ,EAAM,SAAS,SAAS,IAAI,KAAK,IAAI,CAAC,EACpD,OAAAA,EAAM,SAAS,SAAS,OAAO,KAAK,IAAI,CAAC,EAClCI,CACT,CACF,EAEsBC,EAAf,cAA0CH,CAA6B,CAC5E,WAAY,CACV,OAAO,IAAI,GACb,CAEA,SAASI,EAA4B,CAEnC,OADU,KAAK,cAAc,EACpB,IAAIA,CAAG,CAClB,CAEA,WAAiB,CACf,IAAMC,EAAI,KAAK,cAAc,EAC7B,OAAO,MAAM,KAAKA,EAAE,OAAO,CAAC,CAC9B,CAEA,cAAcD,EAAaF,EAAa,CACtC,IAAMG,EAAI,KAAK,cAAc,EACvBC,EAAWD,EAAE,IAAID,CAAG,EAC1B,OAAIE,GACF,QAAQ,KAAKF,EAAK,iDAAiD,EAC5DE,IAETD,EAAE,IAAID,EAAKF,CAAK,EACTA,EACT,CACF,EAEsBK,EAAf,cAA2CP,CAAkB,CAClE,WAAY,CACV,MAAO,CAAC,CACV,CAEA,WAAiB,CACf,OAAO,KAAK,cAAc,CAC5B,CAEA,SAASE,EAAa,CAEpB,OADU,KAAK,cAAc,EAC3B,KAAKA,CAAK,EACLA,CACT,CACF,EACC,OAAO,SAAc,EAAE,KAAMM,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC,EC5ErD,OAAO,SAAc,EAAE,KAAMC,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC,ECKrD,OAAO,SAAc,EAAE,KAAMC,GAAMA,EAAE,OAAO,MAAM,EAAE,CAAC","names":["_State","State","__publicField","StateStorage","metricState","value","MapStateStorage","key","m","oldValue","ListStateStorage","p","p","p"]}