@sentio/sdk 1.25.0 → 1.25.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -30,7 +30,7 @@ function getRpcEndpoint(network) {
30
30
  case AptosNetwork.TEST_NET:
31
31
  return 'https://testnet.aptoslabs.com/';
32
32
  }
33
- return 'https://mainnet.aptoslabs.com/v1/';
33
+ return 'https://mainnet.aptoslabs.com/';
34
34
  }
35
35
  exports.getRpcEndpoint = getRpcEndpoint;
36
36
  function getRpcClient(network) {
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/aptos/network.ts"],"names":[],"mappings":";;;AACA,0CAA8E;AAC9E,yCAAuC;AAEvC,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,uDAAY,CAAA;IACZ,uDAAY,CAAA;IACZ,WAAW;AACb,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED,SAAgB,UAAU,CAAC,OAAqB;IAC9C,QAAQ,OAAO,EAAE;QACf,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,wBAAgB,CAAA;KAC1B;IACD,OAAO,wBAAgB,CAAA;AACzB,CAAC;AAND,gCAMC;AAED,SAAgB,YAAY,CAAC,OAAqB;IAChD,QAAQ,OAAO,EAAE;QACf,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,iBAAS,CAAC,wBAAgB,CAAC,CAAA;KACrC;IACD,OAAO,iBAAS,CAAC,wBAAgB,CAAC,CAAA;AACpC,CAAC;AAND,oCAMC;AAED,SAAgB,cAAc,CAAC,OAAqB;IAClD,QAAQ,OAAO,EAAE;QACf,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,gCAAgC,CAAA;KAC1C;IACD,OAAO,mCAAmC,CAAA;AAC5C,CAAC;AAND,wCAMC;AAED,SAAgB,YAAY,CAAC,OAAqB;IAChD,OAAO,IAAI,uBAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;AACjD,CAAC;AAFD,oCAEC;AAED,MAAa,gBAAgB;IAC3B,OAAO,CAAQ;IACf,OAAO,GAAkB,YAAY,CAAC,QAAQ,CAAA;IAC9C,YAAY,CAAgB;CAE7B;AALD,4CAKC","sourcesContent":["import Long from 'long'\nimport { APTOS_MAINNET_ID, APTOS_TESTNET_ID, CHAIN_MAP } from '../utils/chain'\nimport { AptosClient } from 'aptos-sdk'\n\nexport enum AptosNetwork {\n MAIN_NET = 1,\n TEST_NET = 2,\n // DEV_NET,\n}\n\nexport function getChainId(network: AptosNetwork): string {\n switch (network) {\n case AptosNetwork.TEST_NET:\n return APTOS_TESTNET_ID\n }\n return APTOS_MAINNET_ID\n}\n\nexport function getChainName(network: AptosNetwork): string {\n switch (network) {\n case AptosNetwork.TEST_NET:\n return CHAIN_MAP[APTOS_TESTNET_ID]\n }\n return CHAIN_MAP[APTOS_MAINNET_ID]\n}\n\nexport function getRpcEndpoint(network: AptosNetwork): string {\n switch (network) {\n case AptosNetwork.TEST_NET:\n return 'https://testnet.aptoslabs.com/'\n }\n return 'https://mainnet.aptoslabs.com/v1/'\n}\n\nexport function getRpcClient(network: AptosNetwork): AptosClient {\n return new AptosClient(getRpcEndpoint(network))\n}\n\nexport class AptosBindOptions {\n address: string\n network?: AptosNetwork = AptosNetwork.TEST_NET\n startVersion?: Long | number\n // endBlock?: Long | number\n}\n"]}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/aptos/network.ts"],"names":[],"mappings":";;;AACA,0CAA8E;AAC9E,yCAAuC;AAEvC,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,uDAAY,CAAA;IACZ,uDAAY,CAAA;IACZ,WAAW;AACb,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED,SAAgB,UAAU,CAAC,OAAqB;IAC9C,QAAQ,OAAO,EAAE;QACf,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,wBAAgB,CAAA;KAC1B;IACD,OAAO,wBAAgB,CAAA;AACzB,CAAC;AAND,gCAMC;AAED,SAAgB,YAAY,CAAC,OAAqB;IAChD,QAAQ,OAAO,EAAE;QACf,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,iBAAS,CAAC,wBAAgB,CAAC,CAAA;KACrC;IACD,OAAO,iBAAS,CAAC,wBAAgB,CAAC,CAAA;AACpC,CAAC;AAND,oCAMC;AAED,SAAgB,cAAc,CAAC,OAAqB;IAClD,QAAQ,OAAO,EAAE;QACf,KAAK,YAAY,CAAC,QAAQ;YACxB,OAAO,gCAAgC,CAAA;KAC1C;IACD,OAAO,gCAAgC,CAAA;AACzC,CAAC;AAND,wCAMC;AAED,SAAgB,YAAY,CAAC,OAAqB;IAChD,OAAO,IAAI,uBAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;AACjD,CAAC;AAFD,oCAEC;AAED,MAAa,gBAAgB;IAC3B,OAAO,CAAQ;IACf,OAAO,GAAkB,YAAY,CAAC,QAAQ,CAAA;IAC9C,YAAY,CAAgB;CAE7B;AALD,4CAKC","sourcesContent":["import Long from 'long'\nimport { APTOS_MAINNET_ID, APTOS_TESTNET_ID, CHAIN_MAP } from '../utils/chain'\nimport { AptosClient } from 'aptos-sdk'\n\nexport enum AptosNetwork {\n MAIN_NET = 1,\n TEST_NET = 2,\n // DEV_NET,\n}\n\nexport function getChainId(network: AptosNetwork): string {\n switch (network) {\n case AptosNetwork.TEST_NET:\n return APTOS_TESTNET_ID\n }\n return APTOS_MAINNET_ID\n}\n\nexport function getChainName(network: AptosNetwork): string {\n switch (network) {\n case AptosNetwork.TEST_NET:\n return CHAIN_MAP[APTOS_TESTNET_ID]\n }\n return CHAIN_MAP[APTOS_MAINNET_ID]\n}\n\nexport function getRpcEndpoint(network: AptosNetwork): string {\n switch (network) {\n case AptosNetwork.TEST_NET:\n return 'https://testnet.aptoslabs.com/'\n }\n return 'https://mainnet.aptoslabs.com/'\n}\n\nexport function getRpcClient(network: AptosNetwork): AptosClient {\n return new AptosClient(getRpcEndpoint(network))\n}\n\nexport class AptosBindOptions {\n address: string\n network?: AptosNetwork = AptosNetwork.TEST_NET\n startVersion?: Long | number\n // endBlock?: Long | number\n}\n"]}
@@ -26,8 +26,7 @@ module.exports = {
26
26
  mode: 'production',
27
27
  externals: [
28
28
  {
29
- aptos: 'commonjs2 @aptos',
30
- "@aptos": 'commonjs2 @aptos',
29
+ aptos: 'commonjs2 aptos-sdk',
31
30
  ethers: 'commonjs2 ethers',
32
31
  bs58: 'commonjs2 bs58',
33
32
  "bignumber.js": 'commonjs2 bignumber.js',
@@ -38,8 +38,7 @@ class AccountEventTracker extends EventTracker {
38
38
  };
39
39
  static register(eventName, options) {
40
40
  if (eventName) {
41
- ;
42
- ['user', eventName].join('.');
41
+ eventName = ['user', eventName].join('_');
43
42
  }
44
43
  else {
45
44
  eventName = 'user';
@@ -1 +1 @@
1
- {"version":3,"file":"event-tracker.js","sourceRoot":"","sources":["../../src/core/event-tracker.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AAgBjE,iDAAiD;AACjD,MAAa,YAAY;IACvB,MAAM,CAAC,eAAe,GAAmB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;KACb,CAAA;IAED,MAAM,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAAwB;QACzD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,YAAY,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC5F,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS,CAAQ;IACjB,OAAO,CAAgB;IACvB,YAAsB,SAAiB,EAAE,OAAuB;QAC9D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,UAAU,CAAC,GAAgB,EAAE,KAAY;QACvC,MAAM,GAAG,GAAwB;YAC/B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,oBAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnF,gBAAgB,EAAE,KAAK,CAAC,UAAU;YAClC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,WAAW,EAAE,SAAS;SACvB,CAAA;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;;AA3BH,oCA4BC;AAED,MAAa,mBAAoB,SAAQ,YAAY;IACnD,MAAM,CAAC,eAAe,GAAmB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;KAC3B,CAAA;IAED,MAAM,CAAC,QAAQ,CAAC,SAAkB,EAAE,OAAwB;QAC1D,IAAI,SAAS,EAAE;YACb,CAAC;YAAA,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC/B;aAAM;YACL,SAAS,GAAG,MAAM,CAAA;SACnB;QACD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,GAAG,mBAAmB,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC1G,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,OAAO,CAAA;IAChB,CAAC;;AAhBH,kDAiBC","sourcesContent":["import { BaseContext } from './context'\nimport { DataDescriptor, EventTrackingResult } from '@sentio/sdk'\n\nexport interface Event {\n // The unique identifier of main identity associate with an event\n // .e.g user id / toekn address / account address / contract address id\n //\n distinctId: string\n payload?: Record<string, string>\n}\n\nexport interface TrackerOptions {\n totalByDay?: boolean\n unique?: boolean\n distinctByDays?: number[]\n}\n\n// Track Event with an identity associate with it\nexport class EventTracker {\n static DEFAULT_OPTIONS: TrackerOptions = {\n totalByDay: true,\n unique: true,\n }\n\n static register(eventName: string, options?: TrackerOptions) {\n const tracker = new EventTracker(eventName, { ...EventTracker.DEFAULT_OPTIONS, ...options })\n global.PROCESSOR_STATE.eventTrackers.push(tracker)\n return tracker\n }\n\n eventName: string\n options: TrackerOptions\n protected constructor(eventName: string, options: TrackerOptions) {\n this.eventName = eventName\n this.options = options\n }\n\n trackEvent(ctx: BaseContext, event: Event) {\n const res: EventTrackingResult = {\n metadata: ctx.getMetaData(DataDescriptor.fromPartial({ name: this.eventName }), {}),\n distinctEntityId: event.distinctId,\n attributes: JSON.stringify({}),\n runtimeInfo: undefined,\n }\n ctx.events.push(res)\n }\n}\n\nexport class AccountEventTracker extends EventTracker {\n static DEFAULT_OPTIONS: TrackerOptions = {\n totalByDay: true,\n unique: true,\n distinctByDays: [1, 7, 30],\n }\n\n static register(eventName?: string, options?: TrackerOptions) {\n if (eventName) {\n ;['user', eventName].join('.')\n } else {\n eventName = 'user'\n }\n const tracker = new AccountEventTracker(eventName, { ...AccountEventTracker.DEFAULT_OPTIONS, ...options })\n global.PROCESSOR_STATE.eventTrackers.push(tracker)\n return tracker\n }\n}\n"]}
1
+ {"version":3,"file":"event-tracker.js","sourceRoot":"","sources":["../../src/core/event-tracker.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AAgBjE,iDAAiD;AACjD,MAAa,YAAY;IACvB,MAAM,CAAC,eAAe,GAAmB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;KACb,CAAA;IAED,MAAM,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAAwB;QACzD,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,YAAY,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC5F,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS,CAAQ;IACjB,OAAO,CAAgB;IACvB,YAAsB,SAAiB,EAAE,OAAuB;QAC9D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,UAAU,CAAC,GAAgB,EAAE,KAAY;QACvC,MAAM,GAAG,GAAwB;YAC/B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,oBAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;YACnF,gBAAgB,EAAE,KAAK,CAAC,UAAU;YAClC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,WAAW,EAAE,SAAS;SACvB,CAAA;QACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;;AA3BH,oCA4BC;AAED,MAAa,mBAAoB,SAAQ,YAAY;IACnD,MAAM,CAAC,eAAe,GAAmB;QACvC,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;KAC3B,CAAA;IAED,MAAM,CAAC,QAAQ,CAAC,SAAkB,EAAE,OAAwB;QAC1D,IAAI,SAAS,EAAE;YACb,SAAS,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC1C;aAAM;YACL,SAAS,GAAG,MAAM,CAAA;SACnB;QACD,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,EAAE,GAAG,mBAAmB,CAAC,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;QAC1G,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAClD,OAAO,OAAO,CAAA;IAChB,CAAC;;AAhBH,kDAiBC","sourcesContent":["import { BaseContext } from './context'\nimport { DataDescriptor, EventTrackingResult } from '@sentio/sdk'\n\nexport interface Event {\n // The unique identifier of main identity associate with an event\n // .e.g user id / toekn address / account address / contract address id\n //\n distinctId: string\n payload?: Record<string, string>\n}\n\nexport interface TrackerOptions {\n totalByDay?: boolean\n unique?: boolean\n distinctByDays?: number[]\n}\n\n// Track Event with an identity associate with it\nexport class EventTracker {\n static DEFAULT_OPTIONS: TrackerOptions = {\n totalByDay: true,\n unique: true,\n }\n\n static register(eventName: string, options?: TrackerOptions) {\n const tracker = new EventTracker(eventName, { ...EventTracker.DEFAULT_OPTIONS, ...options })\n global.PROCESSOR_STATE.eventTrackers.push(tracker)\n return tracker\n }\n\n eventName: string\n options: TrackerOptions\n protected constructor(eventName: string, options: TrackerOptions) {\n this.eventName = eventName\n this.options = options\n }\n\n trackEvent(ctx: BaseContext, event: Event) {\n const res: EventTrackingResult = {\n metadata: ctx.getMetaData(DataDescriptor.fromPartial({ name: this.eventName }), {}),\n distinctEntityId: event.distinctId,\n attributes: JSON.stringify({}),\n runtimeInfo: undefined,\n }\n ctx.events.push(res)\n }\n}\n\nexport class AccountEventTracker extends EventTracker {\n static DEFAULT_OPTIONS: TrackerOptions = {\n totalByDay: true,\n unique: true,\n distinctByDays: [1, 7, 30],\n }\n\n static register(eventName?: string, options?: TrackerOptions) {\n if (eventName) {\n eventName = ['user', eventName].join('_')\n } else {\n eventName = 'user'\n }\n const tracker = new AccountEventTracker(eventName, { ...AccountEventTracker.DEFAULT_OPTIONS, ...options })\n global.PROCESSOR_STATE.eventTrackers.push(tracker)\n return tracker\n }\n}\n"]}
@@ -1,14 +1,14 @@
1
1
  import { BaseContext } from './context';
2
2
  import { LogLevel } from '../gen';
3
- import { DescriptorWithUsage, Labels } from './metadata';
3
+ import { DescriptorWithUsage } from './metadata';
4
4
  export declare type Attributes = Record<string, any>;
5
5
  export declare class Logger extends DescriptorWithUsage {
6
6
  private readonly ctx;
7
7
  constructor(ctx: BaseContext, name?: string);
8
8
  withName(name: string): Logger;
9
9
  log(level: LogLevel, message: any, attributes?: Attributes): void;
10
- info(msg: any, labels?: Labels): void;
11
- warn(msg: any, labels?: Labels): void;
12
- error(msg: any, labels?: Labels): void;
13
- critical(msg: any, labels?: Labels): void;
10
+ info(msg: any, attributes?: Attributes): void;
11
+ warn(msg: any, attributes?: Attributes): void;
12
+ error(msg: any, attributes?: Attributes): void;
13
+ critical(msg: any, attributes?: Attributes): void;
14
14
  }
@@ -26,17 +26,17 @@ class Logger extends metadata_1.DescriptorWithUsage {
26
26
  runtimeInfo: undefined,
27
27
  });
28
28
  }
29
- info(msg, labels = {}) {
30
- this.log(gen_1.LogLevel.INFO, msg, labels);
29
+ info(msg, attributes = {}) {
30
+ this.log(gen_1.LogLevel.INFO, msg, attributes);
31
31
  }
32
- warn(msg, labels = {}) {
33
- this.log(gen_1.LogLevel.WARNING, msg, labels);
32
+ warn(msg, attributes = {}) {
33
+ this.log(gen_1.LogLevel.WARNING, msg, attributes);
34
34
  }
35
- error(msg, labels = {}) {
36
- this.log(gen_1.LogLevel.ERROR, msg, labels);
35
+ error(msg, attributes = {}) {
36
+ this.log(gen_1.LogLevel.ERROR, msg, attributes);
37
37
  }
38
- critical(msg, labels = {}) {
39
- this.log(gen_1.LogLevel.CRITICAL, msg, labels);
38
+ critical(msg, attributes = {}) {
39
+ this.log(gen_1.LogLevel.CRITICAL, msg, attributes);
40
40
  }
41
41
  }
42
42
  exports.Logger = Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":";;;AACA,gCAAiD;AACjD,yCAAwD;AAIxD,MAAa,MAAO,SAAQ,8BAAmB;IAC5B,GAAG,CAAa;IAEjC,YAAY,GAAgB,EAAE,IAAI,GAAG,EAAE;QACrC,KAAK,CAAC,oBAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,OAAY,EAAE,aAAyB,EAAE;QAC5D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE;YAC/D,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;SAC7B;QAED,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,mBAAmB;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC;YAC7D,KAAK;YACL,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,WAAW,EAAE,SAAS;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,SAAiB,EAAE;QAChC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,SAAiB,EAAE;QAChC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,GAAQ,EAAE,SAAiB,EAAE;QACjC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,QAAQ,CAAC,GAAQ,EAAE,SAAiB,EAAE;QACpC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;CACF;AA3CD,wBA2CC","sourcesContent":["import { BaseContext } from './context'\nimport { DataDescriptor, LogLevel } from '../gen'\nimport { DescriptorWithUsage, Labels } from './metadata'\n\nexport type Attributes = Record<string, any>\n\nexport class Logger extends DescriptorWithUsage {\n private readonly ctx: BaseContext\n\n constructor(ctx: BaseContext, name = '') {\n super(DataDescriptor.fromPartial({ name }))\n this.ctx = ctx\n }\n\n withName(name: string) {\n return new Logger(this.ctx, name)\n }\n\n log(level: LogLevel, message: any, attributes: Attributes = {}) {\n if (typeof message !== 'string' && !(message instanceof String)) {\n message = message.toString()\n }\n\n this.usage++\n this.ctx.logs.push({\n // name: this.name,\n metadata: this.ctx.getMetaData(this.getShortDescriptor(), {}), // GetRecordMetaData(this.ctx, this, {}),\n level,\n message,\n attributes: JSON.stringify(attributes),\n runtimeInfo: undefined,\n })\n }\n\n info(msg: any, labels: Labels = {}) {\n this.log(LogLevel.INFO, msg, labels)\n }\n\n warn(msg: any, labels: Labels = {}) {\n this.log(LogLevel.WARNING, msg, labels)\n }\n\n error(msg: any, labels: Labels = {}) {\n this.log(LogLevel.ERROR, msg, labels)\n }\n\n critical(msg: any, labels: Labels = {}) {\n this.log(LogLevel.CRITICAL, msg, labels)\n }\n}\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":";;;AACA,gCAAiD;AACjD,yCAAgD;AAIhD,MAAa,MAAO,SAAQ,8BAAmB;IAC5B,GAAG,CAAa;IAEjC,YAAY,GAAgB,EAAE,IAAI,GAAG,EAAE;QACrC,KAAK,CAAC,oBAAc,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAAe,EAAE,OAAY,EAAE,aAAyB,EAAE;QAC5D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,EAAE;YAC/D,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;SAC7B;QAED,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,mBAAmB;YACnB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,CAAC;YAC7D,KAAK;YACL,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;YACtC,WAAW,EAAE,SAAS;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,aAAyB,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,aAAyB,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,GAAQ,EAAE,aAAyB,EAAE;QACzC,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAC3C,CAAC;IAED,QAAQ,CAAC,GAAQ,EAAE,aAAyB,EAAE;QAC5C,IAAI,CAAC,GAAG,CAAC,cAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IAC9C,CAAC;CACF;AA3CD,wBA2CC","sourcesContent":["import { BaseContext } from './context'\nimport { DataDescriptor, LogLevel } from '../gen'\nimport { DescriptorWithUsage } from './metadata'\n\nexport type Attributes = Record<string, any>\n\nexport class Logger extends DescriptorWithUsage {\n private readonly ctx: BaseContext\n\n constructor(ctx: BaseContext, name = '') {\n super(DataDescriptor.fromPartial({ name }))\n this.ctx = ctx\n }\n\n withName(name: string) {\n return new Logger(this.ctx, name)\n }\n\n log(level: LogLevel, message: any, attributes: Attributes = {}) {\n if (typeof message !== 'string' && !(message instanceof String)) {\n message = message.toString()\n }\n\n this.usage++\n this.ctx.logs.push({\n // name: this.name,\n metadata: this.ctx.getMetaData(this.getShortDescriptor(), {}), // GetRecordMetaData(this.ctx, this, {}),\n level,\n message,\n attributes: JSON.stringify(attributes),\n runtimeInfo: undefined,\n })\n }\n\n info(msg: any, attributes: Attributes = {}) {\n this.log(LogLevel.INFO, msg, attributes)\n }\n\n warn(msg: any, attributes: Attributes = {}) {\n this.log(LogLevel.WARNING, msg, attributes)\n }\n\n error(msg: any, attributes: Attributes = {}) {\n this.log(LogLevel.ERROR, msg, attributes)\n }\n\n critical(msg: any, attributes: Attributes = {}) {\n this.log(LogLevel.CRITICAL, msg, attributes)\n }\n}\n"]}
@@ -9,6 +9,7 @@ export declare class MetricDescriptorOptions {
9
9
  unit?: string;
10
10
  description?: string;
11
11
  sparse?: boolean;
12
+ resolutionInSeconds?: number;
12
13
  }
13
14
  export declare class Metric extends DescriptorWithUsage {
14
15
  constructor(name: string, option?: MetricDescriptorOptions);
package/lib/core/meter.js CHANGED
@@ -32,6 +32,7 @@ class MetricDescriptorOptions {
32
32
  unit;
33
33
  description;
34
34
  sparse;
35
+ resolutionInSeconds;
35
36
  }
36
37
  exports.MetricDescriptorOptions = MetricDescriptorOptions;
37
38
  class Metric extends metadata_1.DescriptorWithUsage {
@@ -47,6 +48,9 @@ class Metric extends metadata_1.DescriptorWithUsage {
47
48
  if (option.sparse) {
48
49
  descriptor.sparse = option.sparse;
49
50
  }
51
+ if (option.resolutionInSeconds) {
52
+ descriptor.resolutionInSeconds = option.resolutionInSeconds;
53
+ }
50
54
  }
51
55
  super(descriptor);
52
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContext } from './context'\nimport { toMetricValue, Numberish } from './numberish'\nimport { DescriptorWithUsage, Labels } from './metadata'\nimport { DataDescriptor } from '../gen'\n\nexport function normalizeName(name: string): string {\n const regex = new RegExp('![_.a-zA-Z0-9]')\n return name.slice(0, 100).replace(regex, '_')\n}\n\nexport function normalizeKey(name: string): string {\n if (name === 'labels') {\n return 'labels_'\n }\n return normalizeName(name)\n}\n\nexport function normalizeValue(name: string): string {\n return name.slice(0, 100)\n}\n\nexport function normalizeLabels(labels: Labels): Labels {\n const normLabels: Labels = {}\n for (const key in labels) {\n normLabels[normalizeKey(key)] = normalizeValue(labels[key])\n }\n return normLabels\n}\n\nexport class MetricDescriptorOptions {\n unit?: string\n description?: string\n sparse?: boolean\n}\n\nexport class Metric extends DescriptorWithUsage {\n constructor(name: string, option?: MetricDescriptorOptions) {\n const descriptor = DataDescriptor.fromPartial({ name })\n if (option) {\n if (option.unit) {\n descriptor.unit = option.unit\n }\n if (option.description) {\n descriptor.description = option.description\n }\n if (option.sparse) {\n descriptor.sparse = option.sparse\n }\n }\n super(descriptor)\n }\n}\n\nexport class Counter extends Metric {\n add(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, true)\n }\n\n sub(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, false)\n }\n\n private record(ctx: BaseContext, value: Numberish, labels: Labels, add: boolean) {\n ctx.counters.push({\n metadata: ctx.getMetaData(this.getShortDescriptor(), labels),\n metricValue: toMetricValue(value),\n add: add,\n runtimeInfo: undefined,\n })\n this.usage++\n }\n}\n\nexport class CounterBinding {\n private readonly ctx: BaseContext\n private readonly counter: Counter\n\n constructor(name: string, ctx: BaseContext) {\n this.counter = new Counter(name)\n this.ctx = ctx\n }\n\n add(value: Numberish, labels: Labels = {}) {\n this.counter.add(this.ctx, value, labels)\n }\n\n sub(value: Numberish, labels: Labels = {}) {\n this.counter.sub(this.ctx, value, labels)\n }\n}\n\nexport class Gauge extends Metric {\n record(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n ctx.gauges.push({\n metadata: ctx.getMetaData(this.getShortDescriptor(), labels),\n metricValue: toMetricValue(value),\n runtimeInfo: undefined,\n })\n this.usage++\n }\n}\n\nexport class GaugeBinding {\n private readonly gauge: Gauge\n private readonly ctx: BaseContext\n\n constructor(name: string, ctx: BaseContext) {\n this.gauge = new Gauge(name)\n this.ctx = ctx\n }\n\n record(value: Numberish, labels: Labels = {}) {\n this.gauge.record(this.ctx, value, labels)\n }\n}\n\nexport class Meter {\n private readonly ctx: BaseContext\n\n constructor(ctx: BaseContext) {\n this.ctx = ctx\n }\n\n Counter(name: string): CounterBinding {\n return new CounterBinding(name, this.ctx)\n }\n\n Gauge(name: string): GaugeBinding {\n return new GaugeBinding(name, this.ctx)\n }\n}\n"]}
1
+ {"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/core/meter.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseContext } from './context'\nimport { toMetricValue, Numberish } from './numberish'\nimport { DescriptorWithUsage, Labels } from './metadata'\nimport { DataDescriptor } from '../gen'\n\nexport function normalizeName(name: string): string {\n const regex = new RegExp('![_.a-zA-Z0-9]')\n return name.slice(0, 100).replace(regex, '_')\n}\n\nexport function normalizeKey(name: string): string {\n if (name === 'labels') {\n return 'labels_'\n }\n return normalizeName(name)\n}\n\nexport function normalizeValue(name: string): string {\n return name.slice(0, 100)\n}\n\nexport function normalizeLabels(labels: Labels): Labels {\n const normLabels: Labels = {}\n for (const key in labels) {\n normLabels[normalizeKey(key)] = normalizeValue(labels[key])\n }\n return normLabels\n}\n\nexport class MetricDescriptorOptions {\n unit?: string\n description?: string\n sparse?: boolean\n resolutionInSeconds?: number\n}\n\nexport class Metric extends DescriptorWithUsage {\n constructor(name: string, option?: MetricDescriptorOptions) {\n const descriptor = DataDescriptor.fromPartial({ name })\n if (option) {\n if (option.unit) {\n descriptor.unit = option.unit\n }\n if (option.description) {\n descriptor.description = option.description\n }\n if (option.sparse) {\n descriptor.sparse = option.sparse\n }\n if (option.resolutionInSeconds) {\n descriptor.resolutionInSeconds = option.resolutionInSeconds\n }\n }\n super(descriptor)\n }\n}\n\nexport class Counter extends Metric {\n add(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, true)\n }\n\n sub(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n this.record(ctx, value, labels, false)\n }\n\n private record(ctx: BaseContext, value: Numberish, labels: Labels, add: boolean) {\n ctx.counters.push({\n metadata: ctx.getMetaData(this.getShortDescriptor(), labels),\n metricValue: toMetricValue(value),\n add: add,\n runtimeInfo: undefined,\n })\n this.usage++\n }\n}\n\nexport class CounterBinding {\n private readonly ctx: BaseContext\n private readonly counter: Counter\n\n constructor(name: string, ctx: BaseContext) {\n this.counter = new Counter(name)\n this.ctx = ctx\n }\n\n add(value: Numberish, labels: Labels = {}) {\n this.counter.add(this.ctx, value, labels)\n }\n\n sub(value: Numberish, labels: Labels = {}) {\n this.counter.sub(this.ctx, value, labels)\n }\n}\n\nexport class Gauge extends Metric {\n record(ctx: BaseContext, value: Numberish, labels: Labels = {}) {\n ctx.gauges.push({\n metadata: ctx.getMetaData(this.getShortDescriptor(), labels),\n metricValue: toMetricValue(value),\n runtimeInfo: undefined,\n })\n this.usage++\n }\n}\n\nexport class GaugeBinding {\n private readonly gauge: Gauge\n private readonly ctx: BaseContext\n\n constructor(name: string, ctx: BaseContext) {\n this.gauge = new Gauge(name)\n this.ctx = ctx\n }\n\n record(value: Numberish, labels: Labels = {}) {\n this.gauge.record(this.ctx, value, labels)\n }\n}\n\nexport class Meter {\n private readonly ctx: BaseContext\n\n constructor(ctx: BaseContext) {\n this.ctx = ctx\n }\n\n Counter(name: string): CounterBinding {\n return new CounterBinding(name, this.ctx)\n }\n\n Gauge(name: string): GaugeBinding {\n return new GaugeBinding(name, this.ctx)\n }\n}\n"]}
@@ -11,6 +11,7 @@ export declare enum HandlerType {
11
11
  ETH_TRACE = 5,
12
12
  APT_EVENT = 6,
13
13
  APT_CALL = 7,
14
+ APT_RESOURCE = 8,
14
15
  UNRECOGNIZED = -1
15
16
  }
16
17
  export declare function handlerTypeFromJSON(object: any): HandlerType;
@@ -77,8 +78,17 @@ export interface MetricConfig {
77
78
  description: string;
78
79
  unit: string;
79
80
  sparse: boolean;
81
+ resolutionInSeconds: number;
80
82
  }
81
83
  export interface AccountConfig {
84
+ chainId: string;
85
+ address: string;
86
+ startBlock: Long;
87
+ aptosOnVersionConfigs: AptosOnVersionConfig[];
88
+ }
89
+ export interface AptosOnVersionConfig {
90
+ handlerId: number;
91
+ step: number;
82
92
  }
83
93
  export interface ContractInfo {
84
94
  name: string;
@@ -190,6 +200,7 @@ export interface DataDescriptor {
190
200
  description: string;
191
201
  unit: string;
192
202
  sparse: boolean;
203
+ resolutionInSeconds: number;
193
204
  }
194
205
  export interface RecordMetaData {
195
206
  address: string;
@@ -302,11 +313,18 @@ export declare const MetricConfig: {
302
313
  fromPartial(object: DeepPartial<MetricConfig>): MetricConfig;
303
314
  };
304
315
  export declare const AccountConfig: {
305
- encode(_: AccountConfig, writer?: _m0.Writer): _m0.Writer;
316
+ encode(message: AccountConfig, writer?: _m0.Writer): _m0.Writer;
306
317
  decode(input: _m0.Reader | Uint8Array, length?: number): AccountConfig;
307
- fromJSON(_: any): AccountConfig;
308
- toJSON(_: AccountConfig): unknown;
309
- fromPartial(_: DeepPartial<AccountConfig>): AccountConfig;
318
+ fromJSON(object: any): AccountConfig;
319
+ toJSON(message: AccountConfig): unknown;
320
+ fromPartial(object: DeepPartial<AccountConfig>): AccountConfig;
321
+ };
322
+ export declare const AptosOnVersionConfig: {
323
+ encode(message: AptosOnVersionConfig, writer?: _m0.Writer): _m0.Writer;
324
+ decode(input: _m0.Reader | Uint8Array, length?: number): AptosOnVersionConfig;
325
+ fromJSON(object: any): AptosOnVersionConfig;
326
+ toJSON(message: AptosOnVersionConfig): unknown;
327
+ fromPartial(object: DeepPartial<AptosOnVersionConfig>): AptosOnVersionConfig;
310
328
  };
311
329
  export declare const ContractInfo: {
312
330
  encode(message: ContractInfo, writer?: _m0.Writer): _m0.Writer;
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GaugeResult = exports.RuntimeInfo = exports.BigInteger = exports.MetricValue = exports.RecordMetaData_LabelsEntry = exports.RecordMetaData = exports.DataDescriptor = exports.ProcessResult = exports.RawBlock = exports.BlockBinding = exports.DataBinding = exports.Data = exports.Instruction = exports.RawTransaction = exports.ProcessBindingResponse = exports.ProcessBindingsRequest = exports.ProcessBlocksRequest = exports.ProcessInstructionsRequest = exports.ProcessTransactionsRequest = exports.Topic = exports.AptosCallFilter = exports.AptosCallHandlerConfig = exports.AptosEventFilter = exports.AptosEventHandlerConfig = exports.InstructionHandlerConfig = exports.LogFilter = exports.LogHandlerConfig = exports.TraceHandlerConfig = exports.BlockHandlerConfig = exports.StartRequest = exports.TemplateInstance = exports.ContractInfo = exports.AccountConfig = exports.MetricConfig = exports.EventTrackingConfig = exports.RetentionConfig = exports.TotalPerEntityAggregation = exports.ContractConfig = exports.ProcessConfigResponse = exports.ProcessConfigRequest = exports.ProjectConfig = exports.totalPerEntityAggregation_TypeToJSON = exports.totalPerEntityAggregation_TypeFromJSON = exports.TotalPerEntityAggregation_Type = exports.logLevelToJSON = exports.logLevelFromJSON = exports.LogLevel = exports.handlerTypeToJSON = exports.handlerTypeFromJSON = exports.HandlerType = void 0;
7
- exports.ProcessorDefinition = exports.EventTrackingResult = exports.LogResult = exports.CounterResult = void 0;
6
+ exports.RuntimeInfo = exports.BigInteger = exports.MetricValue = exports.RecordMetaData_LabelsEntry = exports.RecordMetaData = exports.DataDescriptor = exports.ProcessResult = exports.RawBlock = exports.BlockBinding = exports.DataBinding = exports.Data = exports.Instruction = exports.RawTransaction = exports.ProcessBindingResponse = exports.ProcessBindingsRequest = exports.ProcessBlocksRequest = exports.ProcessInstructionsRequest = exports.ProcessTransactionsRequest = exports.Topic = exports.AptosCallFilter = exports.AptosCallHandlerConfig = exports.AptosEventFilter = exports.AptosEventHandlerConfig = exports.InstructionHandlerConfig = exports.LogFilter = exports.LogHandlerConfig = exports.TraceHandlerConfig = exports.BlockHandlerConfig = exports.StartRequest = exports.TemplateInstance = exports.ContractInfo = exports.AptosOnVersionConfig = exports.AccountConfig = exports.MetricConfig = exports.EventTrackingConfig = exports.RetentionConfig = exports.TotalPerEntityAggregation = exports.ContractConfig = exports.ProcessConfigResponse = exports.ProcessConfigRequest = exports.ProjectConfig = exports.totalPerEntityAggregation_TypeToJSON = exports.totalPerEntityAggregation_TypeFromJSON = exports.TotalPerEntityAggregation_Type = exports.logLevelToJSON = exports.logLevelFromJSON = exports.LogLevel = exports.handlerTypeToJSON = exports.handlerTypeFromJSON = exports.HandlerType = void 0;
7
+ exports.ProcessorDefinition = exports.EventTrackingResult = exports.LogResult = exports.CounterResult = exports.GaugeResult = void 0;
8
8
  const long_1 = __importDefault(require("long"));
9
9
  const empty_1 = require("../../google/protobuf/empty");
10
10
  const minimal_1 = __importDefault(require("protobufjs/minimal"));
@@ -18,6 +18,7 @@ var HandlerType;
18
18
  HandlerType[HandlerType["ETH_TRACE"] = 5] = "ETH_TRACE";
19
19
  HandlerType[HandlerType["APT_EVENT"] = 6] = "APT_EVENT";
20
20
  HandlerType[HandlerType["APT_CALL"] = 7] = "APT_CALL";
21
+ HandlerType[HandlerType["APT_RESOURCE"] = 8] = "APT_RESOURCE";
21
22
  HandlerType[HandlerType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
22
23
  })(HandlerType = exports.HandlerType || (exports.HandlerType = {}));
23
24
  function handlerTypeFromJSON(object) {
@@ -46,6 +47,9 @@ function handlerTypeFromJSON(object) {
46
47
  case 7:
47
48
  case "APT_CALL":
48
49
  return HandlerType.APT_CALL;
50
+ case 8:
51
+ case "APT_RESOURCE":
52
+ return HandlerType.APT_RESOURCE;
49
53
  case -1:
50
54
  case "UNRECOGNIZED":
51
55
  default:
@@ -71,6 +75,8 @@ function handlerTypeToJSON(object) {
71
75
  return "APT_EVENT";
72
76
  case HandlerType.APT_CALL:
73
77
  return "APT_CALL";
78
+ case HandlerType.APT_RESOURCE:
79
+ return "APT_RESOURCE";
74
80
  case HandlerType.UNRECOGNIZED:
75
81
  default:
76
82
  return "UNRECOGNIZED";
@@ -815,7 +821,13 @@ exports.EventTrackingConfig = {
815
821
  },
816
822
  };
817
823
  function createBaseMetricConfig() {
818
- return { name: "", description: "", unit: "", sparse: false };
824
+ return {
825
+ name: "",
826
+ description: "",
827
+ unit: "",
828
+ sparse: false,
829
+ resolutionInSeconds: 0,
830
+ };
819
831
  }
820
832
  exports.MetricConfig = {
821
833
  encode(message, writer = minimal_1.default.Writer.create()) {
@@ -831,6 +843,9 @@ exports.MetricConfig = {
831
843
  if (message.sparse === true) {
832
844
  writer.uint32(32).bool(message.sparse);
833
845
  }
846
+ if (message.resolutionInSeconds !== 0) {
847
+ writer.uint32(40).int32(message.resolutionInSeconds);
848
+ }
834
849
  return writer;
835
850
  },
836
851
  decode(input, length) {
@@ -852,6 +867,9 @@ exports.MetricConfig = {
852
867
  case 4:
853
868
  message.sparse = reader.bool();
854
869
  break;
870
+ case 5:
871
+ message.resolutionInSeconds = reader.int32();
872
+ break;
855
873
  default:
856
874
  reader.skipType(tag & 7);
857
875
  break;
@@ -865,6 +883,9 @@ exports.MetricConfig = {
865
883
  description: isSet(object.description) ? String(object.description) : "",
866
884
  unit: isSet(object.unit) ? String(object.unit) : "",
867
885
  sparse: isSet(object.sparse) ? Boolean(object.sparse) : false,
886
+ resolutionInSeconds: isSet(object.resolutionInSeconds)
887
+ ? Number(object.resolutionInSeconds)
888
+ : 0,
868
889
  };
869
890
  },
870
891
  toJSON(message) {
@@ -874,6 +895,8 @@ exports.MetricConfig = {
874
895
  (obj.description = message.description);
875
896
  message.unit !== undefined && (obj.unit = message.unit);
876
897
  message.sparse !== undefined && (obj.sparse = message.sparse);
898
+ message.resolutionInSeconds !== undefined &&
899
+ (obj.resolutionInSeconds = Math.round(message.resolutionInSeconds));
877
900
  return obj;
878
901
  },
879
902
  fromPartial(object) {
@@ -882,14 +905,32 @@ exports.MetricConfig = {
882
905
  message.description = object.description ?? "";
883
906
  message.unit = object.unit ?? "";
884
907
  message.sparse = object.sparse ?? false;
908
+ message.resolutionInSeconds = object.resolutionInSeconds ?? 0;
885
909
  return message;
886
910
  },
887
911
  };
888
912
  function createBaseAccountConfig() {
889
- return {};
913
+ return {
914
+ chainId: "",
915
+ address: "",
916
+ startBlock: long_1.default.UZERO,
917
+ aptosOnVersionConfigs: [],
918
+ };
890
919
  }
891
920
  exports.AccountConfig = {
892
- encode(_, writer = minimal_1.default.Writer.create()) {
921
+ encode(message, writer = minimal_1.default.Writer.create()) {
922
+ if (message.chainId !== "") {
923
+ writer.uint32(10).string(message.chainId);
924
+ }
925
+ if (message.address !== "") {
926
+ writer.uint32(18).string(message.address);
927
+ }
928
+ if (!message.startBlock.isZero()) {
929
+ writer.uint32(24).uint64(message.startBlock);
930
+ }
931
+ for (const v of message.aptosOnVersionConfigs) {
932
+ exports.AptosOnVersionConfig.encode(v, writer.uint32(34).fork()).ldelim();
933
+ }
893
934
  return writer;
894
935
  },
895
936
  decode(input, length) {
@@ -899,6 +940,18 @@ exports.AccountConfig = {
899
940
  while (reader.pos < end) {
900
941
  const tag = reader.uint32();
901
942
  switch (tag >>> 3) {
943
+ case 1:
944
+ message.chainId = reader.string();
945
+ break;
946
+ case 2:
947
+ message.address = reader.string();
948
+ break;
949
+ case 3:
950
+ message.startBlock = reader.uint64();
951
+ break;
952
+ case 4:
953
+ message.aptosOnVersionConfigs.push(exports.AptosOnVersionConfig.decode(reader, reader.uint32()));
954
+ break;
902
955
  default:
903
956
  reader.skipType(tag & 7);
904
957
  break;
@@ -906,15 +959,95 @@ exports.AccountConfig = {
906
959
  }
907
960
  return message;
908
961
  },
909
- fromJSON(_) {
910
- return {};
962
+ fromJSON(object) {
963
+ return {
964
+ chainId: isSet(object.chainId) ? String(object.chainId) : "",
965
+ address: isSet(object.address) ? String(object.address) : "",
966
+ startBlock: isSet(object.startBlock)
967
+ ? long_1.default.fromValue(object.startBlock)
968
+ : long_1.default.UZERO,
969
+ aptosOnVersionConfigs: Array.isArray(object?.aptosOnVersionConfigs)
970
+ ? object.aptosOnVersionConfigs.map((e) => exports.AptosOnVersionConfig.fromJSON(e))
971
+ : [],
972
+ };
911
973
  },
912
- toJSON(_) {
974
+ toJSON(message) {
913
975
  const obj = {};
976
+ message.chainId !== undefined && (obj.chainId = message.chainId);
977
+ message.address !== undefined && (obj.address = message.address);
978
+ message.startBlock !== undefined &&
979
+ (obj.startBlock = (message.startBlock || long_1.default.UZERO).toString());
980
+ if (message.aptosOnVersionConfigs) {
981
+ obj.aptosOnVersionConfigs = message.aptosOnVersionConfigs.map((e) => e ? exports.AptosOnVersionConfig.toJSON(e) : undefined);
982
+ }
983
+ else {
984
+ obj.aptosOnVersionConfigs = [];
985
+ }
914
986
  return obj;
915
987
  },
916
- fromPartial(_) {
988
+ fromPartial(object) {
917
989
  const message = createBaseAccountConfig();
990
+ message.chainId = object.chainId ?? "";
991
+ message.address = object.address ?? "";
992
+ message.startBlock =
993
+ object.startBlock !== undefined && object.startBlock !== null
994
+ ? long_1.default.fromValue(object.startBlock)
995
+ : long_1.default.UZERO;
996
+ message.aptosOnVersionConfigs =
997
+ object.aptosOnVersionConfigs?.map((e) => exports.AptosOnVersionConfig.fromPartial(e)) || [];
998
+ return message;
999
+ },
1000
+ };
1001
+ function createBaseAptosOnVersionConfig() {
1002
+ return { handlerId: 0, step: 0 };
1003
+ }
1004
+ exports.AptosOnVersionConfig = {
1005
+ encode(message, writer = minimal_1.default.Writer.create()) {
1006
+ if (message.handlerId !== 0) {
1007
+ writer.uint32(8).int32(message.handlerId);
1008
+ }
1009
+ if (message.step !== 0) {
1010
+ writer.uint32(16).int32(message.step);
1011
+ }
1012
+ return writer;
1013
+ },
1014
+ decode(input, length) {
1015
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
1016
+ let end = length === undefined ? reader.len : reader.pos + length;
1017
+ const message = createBaseAptosOnVersionConfig();
1018
+ while (reader.pos < end) {
1019
+ const tag = reader.uint32();
1020
+ switch (tag >>> 3) {
1021
+ case 1:
1022
+ message.handlerId = reader.int32();
1023
+ break;
1024
+ case 2:
1025
+ message.step = reader.int32();
1026
+ break;
1027
+ default:
1028
+ reader.skipType(tag & 7);
1029
+ break;
1030
+ }
1031
+ }
1032
+ return message;
1033
+ },
1034
+ fromJSON(object) {
1035
+ return {
1036
+ handlerId: isSet(object.handlerId) ? Number(object.handlerId) : 0,
1037
+ step: isSet(object.step) ? Number(object.step) : 0,
1038
+ };
1039
+ },
1040
+ toJSON(message) {
1041
+ const obj = {};
1042
+ message.handlerId !== undefined &&
1043
+ (obj.handlerId = Math.round(message.handlerId));
1044
+ message.step !== undefined && (obj.step = Math.round(message.step));
1045
+ return obj;
1046
+ },
1047
+ fromPartial(object) {
1048
+ const message = createBaseAptosOnVersionConfig();
1049
+ message.handlerId = object.handlerId ?? 0;
1050
+ message.step = object.step ?? 0;
918
1051
  return message;
919
1052
  },
920
1053
  };
@@ -2517,7 +2650,13 @@ exports.ProcessResult = {
2517
2650
  },
2518
2651
  };
2519
2652
  function createBaseDataDescriptor() {
2520
- return { name: "", description: "", unit: "", sparse: false };
2653
+ return {
2654
+ name: "",
2655
+ description: "",
2656
+ unit: "",
2657
+ sparse: false,
2658
+ resolutionInSeconds: 0,
2659
+ };
2521
2660
  }
2522
2661
  exports.DataDescriptor = {
2523
2662
  encode(message, writer = minimal_1.default.Writer.create()) {
@@ -2533,6 +2672,9 @@ exports.DataDescriptor = {
2533
2672
  if (message.sparse === true) {
2534
2673
  writer.uint32(32).bool(message.sparse);
2535
2674
  }
2675
+ if (message.resolutionInSeconds !== 0) {
2676
+ writer.uint32(40).int32(message.resolutionInSeconds);
2677
+ }
2536
2678
  return writer;
2537
2679
  },
2538
2680
  decode(input, length) {
@@ -2554,6 +2696,9 @@ exports.DataDescriptor = {
2554
2696
  case 4:
2555
2697
  message.sparse = reader.bool();
2556
2698
  break;
2699
+ case 5:
2700
+ message.resolutionInSeconds = reader.int32();
2701
+ break;
2557
2702
  default:
2558
2703
  reader.skipType(tag & 7);
2559
2704
  break;
@@ -2567,6 +2712,9 @@ exports.DataDescriptor = {
2567
2712
  description: isSet(object.description) ? String(object.description) : "",
2568
2713
  unit: isSet(object.unit) ? String(object.unit) : "",
2569
2714
  sparse: isSet(object.sparse) ? Boolean(object.sparse) : false,
2715
+ resolutionInSeconds: isSet(object.resolutionInSeconds)
2716
+ ? Number(object.resolutionInSeconds)
2717
+ : 0,
2570
2718
  };
2571
2719
  },
2572
2720
  toJSON(message) {
@@ -2576,6 +2724,8 @@ exports.DataDescriptor = {
2576
2724
  (obj.description = message.description);
2577
2725
  message.unit !== undefined && (obj.unit = message.unit);
2578
2726
  message.sparse !== undefined && (obj.sparse = message.sparse);
2727
+ message.resolutionInSeconds !== undefined &&
2728
+ (obj.resolutionInSeconds = Math.round(message.resolutionInSeconds));
2579
2729
  return obj;
2580
2730
  },
2581
2731
  fromPartial(object) {
@@ -2584,6 +2734,7 @@ exports.DataDescriptor = {
2584
2734
  message.description = object.description ?? "";
2585
2735
  message.unit = object.unit ?? "";
2586
2736
  message.sparse = object.sparse ?? false;
2737
+ message.resolutionInSeconds = object.resolutionInSeconds ?? 0;
2587
2738
  return message;
2588
2739
  },
2589
2740
  };