@sentio/sdk 2.30.3-rc.1 → 2.31.0-rc.1
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/core/core-plugin.d.ts.map +1 -1
- package/lib/core/core-plugin.js +9 -3
- package/lib/core/core-plugin.js.map +1 -1
- package/lib/core/event-logger.d.ts +6 -2
- package/lib/core/event-logger.d.ts.map +1 -1
- package/lib/core/event-logger.js +23 -5
- package/lib/core/event-logger.js.map +1 -1
- package/lib/utils/price.d.ts +2 -1
- package/lib/utils/price.d.ts.map +1 -1
- package/lib/utils/price.js.map +1 -1
- package/package.json +3 -3
- package/src/core/core-plugin.ts +10 -3
- package/src/core/event-logger.ts +27 -5
- package/src/utils/price.ts +2 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core-plugin.d.ts","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;
|
1
|
+
{"version":3,"file":"core-plugin.d.ts","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAQtD,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAe;IAErB,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC9D"}
|
package/lib/core/core-plugin.js
CHANGED
@@ -3,6 +3,7 @@ import { MetricState } from './meter.js';
|
|
3
3
|
import { ExporterState } from './exporter.js';
|
4
4
|
import { EventTrackerState } from './event-tracker.js';
|
5
5
|
import { TemplateInstanceState } from './template.js';
|
6
|
+
import { EventLoggerState } from './event-logger.js';
|
6
7
|
export class CorePlugin extends Plugin {
|
7
8
|
name = 'CorePlugin';
|
8
9
|
async configure(config) {
|
@@ -10,7 +11,12 @@ export class CorePlugin extends Plugin {
|
|
10
11
|
config.templateInstances = [...TemplateInstanceState.INSTANCE.getValues()];
|
11
12
|
for (const metric of MetricState.INSTANCE.getValues()) {
|
12
13
|
config.metricConfigs.push({
|
13
|
-
...metric.config
|
14
|
+
...metric.config
|
15
|
+
});
|
16
|
+
}
|
17
|
+
for (const event of EventLoggerState.INSTANCE.getValues()) {
|
18
|
+
config.eventLogConfigs.push({
|
19
|
+
...event.config
|
14
20
|
});
|
15
21
|
}
|
16
22
|
// eslint-disable-next-line deprecation/deprecation
|
@@ -21,13 +27,13 @@ export class CorePlugin extends Plugin {
|
|
21
27
|
retentionConfig: undefined,
|
22
28
|
totalByDay: eventTracker.options.totalByDay || false,
|
23
29
|
totalPerEntity: undefined,
|
24
|
-
unique: eventTracker.options.unique || false
|
30
|
+
unique: eventTracker.options.unique || false
|
25
31
|
});
|
26
32
|
}
|
27
33
|
for (const exporter of ExporterState.INSTANCE.getValues()) {
|
28
34
|
config.exportConfigs.push({
|
29
35
|
name: exporter.name,
|
30
|
-
channel: exporter.channel
|
36
|
+
channel: exporter.channel
|
31
37
|
});
|
32
38
|
}
|
33
39
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"core-plugin.js","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;
|
1
|
+
{"version":3,"file":"core-plugin.js","sourceRoot":"","sources":["../../src/core/core-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGvD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,MAAM,OAAO,UAAW,SAAQ,MAAM;IACpC,IAAI,GAAW,YAAY,CAAA;IAE3B,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,4DAA4D;QAC5D,MAAM,CAAC,iBAAiB,GAAG,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;QAE1E,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACrD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,GAAG,MAAM,CAAC,MAAM;aACjB,CAAC,CAAA;SACH;QAED,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACzD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC1B,GAAG,KAAK,CAAC,MAAM;aAChB,CAAC,CAAA;SACH;QAED,mDAAmD;QACnD,KAAK,MAAM,YAAY,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACjE,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC/B,yBAAyB,EAAE,YAAY,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE;gBACpE,SAAS,EAAE,YAAY,CAAC,IAAI;gBAC5B,eAAe,EAAE,SAAS;gBAC1B,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,UAAU,IAAI,KAAK;gBACpD,cAAc,EAAE,SAAS;gBACzB,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK;aAC7C,CAAC,CAAA;SACH;QAED,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACzD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC,CAAA;SACH;IACH,CAAC;CACF;AAED,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC,CAAA"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { BaseContext } from './base-context.js';
|
2
|
-
import { LogLevel } from '@sentio/protos';
|
2
|
+
import { CoinID, EventLogConfig, EventLogConfig_BasicFieldType, LogLevel } from '@sentio/protos';
|
3
3
|
import { MapStateStorage } from '@sentio/runtime';
|
4
4
|
export interface Attribute<T> {
|
5
5
|
[key: string]: Exclude<T | number | bigint | string | boolean | LogLevel | Attribute<T> | undefined, Promise<any>>;
|
@@ -17,10 +17,14 @@ export declare class EventLoggerBinding {
|
|
17
17
|
constructor(ctx: BaseContext);
|
18
18
|
emit<T>(eventName: string, event: Event<T>): void;
|
19
19
|
}
|
20
|
+
export interface EventLogOptions {
|
21
|
+
fields: Record<string, CoinID | EventLogConfig_BasicFieldType>;
|
22
|
+
}
|
20
23
|
export declare class EventLogger {
|
21
24
|
private readonly eventName;
|
25
|
+
config: EventLogConfig;
|
22
26
|
private constructor();
|
23
|
-
static register(eventName: string): EventLogger;
|
27
|
+
static register(eventName: string, options?: EventLogOptions): EventLogger;
|
24
28
|
emit<T>(ctx: BaseContext, event: Event<T>): void;
|
25
29
|
}
|
26
30
|
//# sourceMappingURL=event-logger.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAuB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
1
|
+
{"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,6BAA6B,EAAuB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAErH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;CACnH;AAED,MAAM,WAAW,KAAK,CAAC,CAAC,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAI5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,gBAAiB,SAAQ,eAAe,CAAC,WAAW,CAAC;IAChE,MAAM,CAAC,QAAQ,mBAAyB;CACzC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,GAAG,EAAE,WAAW;IAI5B,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;CAG3C;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,6BAA6B,CAAC,CAAA;CAC/D;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,MAAM,EAAE,cAAc,CAAA;IAEtB,OAAO;IAKP,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,WAAW;IAqB1E,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;CAG1C"}
|
package/lib/core/event-logger.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { LogLevel } from '@sentio/protos';
|
1
|
+
import { EventLogConfig, LogLevel } from '@sentio/protos';
|
2
2
|
import { normalizeAttribute } from './normalization.js';
|
3
3
|
import { MapStateStorage } from '@sentio/runtime';
|
4
4
|
export class EventLoggerState extends MapStateStorage {
|
@@ -15,11 +15,29 @@ export class EventLoggerBinding {
|
|
15
15
|
}
|
16
16
|
export class EventLogger {
|
17
17
|
eventName;
|
18
|
-
|
18
|
+
config;
|
19
|
+
constructor(eventName, config) {
|
19
20
|
this.eventName = eventName;
|
21
|
+
this.config = EventLogConfig.fromPartial(config || {});
|
20
22
|
}
|
21
|
-
static register(eventName) {
|
22
|
-
const
|
23
|
+
static register(eventName, options) {
|
24
|
+
const config = EventLogConfig.create();
|
25
|
+
for (const [key, value] of Object.entries(options?.fields || {})) {
|
26
|
+
let basicType;
|
27
|
+
let coinType;
|
28
|
+
if (typeof value === 'number') {
|
29
|
+
basicType = value;
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
coinType = value;
|
33
|
+
}
|
34
|
+
config.fields.push({
|
35
|
+
name: key,
|
36
|
+
basicType,
|
37
|
+
coinType
|
38
|
+
});
|
39
|
+
}
|
40
|
+
const logger = new EventLogger(eventName, config);
|
23
41
|
return EventLoggerState.INSTANCE.getOrSetValue(eventName, logger);
|
24
42
|
}
|
25
43
|
emit(ctx, event) {
|
@@ -35,7 +53,7 @@ function emit(ctx, eventName, event) {
|
|
35
53
|
distinctEntityId: distinctId || '',
|
36
54
|
attributes: normalizeAttribute(payload),
|
37
55
|
runtimeInfo: undefined,
|
38
|
-
noMetric: true
|
56
|
+
noMetric: true
|
39
57
|
};
|
40
58
|
ctx.update({ events: [res] });
|
41
59
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"AACA,OAAO,
|
1
|
+
{"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../src/core/event-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,cAAc,EAAsD,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACrH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAejD,MAAM,OAAO,gBAAiB,SAAQ,eAA4B;IAChE,MAAM,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAA;;AAG1C,MAAM,OAAO,kBAAkB;IACZ,GAAG,CAAa;IAEjC,YAAY,GAAgB;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,IAAI,CAAI,SAAiB,EAAE,KAAe;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;CACF;AAMD,MAAM,OAAO,WAAW;IACL,SAAS,CAAQ;IAClC,MAAM,CAAgB;IAEtB,YAAoB,SAAiB,EAAE,MAAuB;QAC5D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAiB,EAAE,OAAyB;QAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,CAAA;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE;YAChE,IAAI,SAAoD,CAAA;YACxD,IAAI,QAA4B,CAAA;YAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,SAAS,GAAG,KAAK,CAAA;aAClB;iBAAM;gBACL,QAAQ,GAAG,KAAK,CAAA;aACjB;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,GAAG;gBACT,SAAS;gBACT,QAAQ;aACT,CAAC,CAAA;SACH;QAED,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACjD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,CAAI,GAAgB,EAAE,KAAe;QACvC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IAClC,CAAC;CACF;AAED,SAAS,IAAI,CAAI,GAAgB,EAAE,SAAiB,EAAE,KAAe;IACnE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,CAAA;IAE3D,MAAM,GAAG,GAAwB;QAC/B,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;QACxC,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,IAAI;QACnC,OAAO,EAAE,OAAO,IAAI,EAAE;QACtB,gBAAgB,EAAE,UAAU,IAAI,EAAE;QAClC,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC;QACvC,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE,IAAI;KACf,CAAA;IACD,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAC/B,CAAC"}
|
package/lib/utils/price.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import { PriceServiceClient } from '@sentio/protos/price';
|
2
|
+
import { CoinID } from '@sentio/protos';
|
2
3
|
import { RetryOptions } from 'nice-grpc-client-middleware-retry';
|
3
4
|
import { ChainId } from '@sentio/chain';
|
4
5
|
export declare function getPriceClient(address?: string): import("nice-grpc").RawClient<import("nice-grpc/lib/service-definitions/ts-proto.js").FromTsProtoServiceDefinition<{
|
package/lib/utils/price.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,
|
1
|
+
{"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA0B,MAAM,sBAAsB,CAAA;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGvC,OAAO,EAAmB,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAEjF,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAGvC,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU9C;AASD,UAAU,YAAY;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAQD,wBAAsB,8BAA8B,CAClD,WAAW,EAAE,kBAAkB,CAAC,YAAY,CAAC,EAC7C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA2D7B;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAW7B;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE7B"}
|
package/lib/utils/price.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@sentio/sdk",
|
3
|
-
"version": "2.
|
3
|
+
"version": "2.31.0-rc.1",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"type": "module",
|
6
6
|
"exports": {
|
@@ -73,8 +73,8 @@
|
|
73
73
|
"typedoc": "^0.25.0",
|
74
74
|
"utility-types": "^3.10.0",
|
75
75
|
"yaml": "^2.2.1",
|
76
|
-
"@sentio/protos": "2.
|
77
|
-
"@sentio/runtime": "^2.
|
76
|
+
"@sentio/protos": "2.31.0-rc.1",
|
77
|
+
"@sentio/runtime": "^2.31.0-rc.1"
|
78
78
|
},
|
79
79
|
"peerDependencies": {
|
80
80
|
"tsup": "npm:@sentio/tsup@^6.7.2"
|
package/src/core/core-plugin.ts
CHANGED
@@ -5,6 +5,7 @@ import { MetricState } from './meter.js'
|
|
5
5
|
import { ExporterState } from './exporter.js'
|
6
6
|
import { EventTrackerState } from './event-tracker.js'
|
7
7
|
import { TemplateInstanceState } from './template.js'
|
8
|
+
import { EventLoggerState } from './event-logger.js'
|
8
9
|
|
9
10
|
export class CorePlugin extends Plugin {
|
10
11
|
name: string = 'CorePlugin'
|
@@ -15,7 +16,13 @@ export class CorePlugin extends Plugin {
|
|
15
16
|
|
16
17
|
for (const metric of MetricState.INSTANCE.getValues()) {
|
17
18
|
config.metricConfigs.push({
|
18
|
-
...metric.config
|
19
|
+
...metric.config
|
20
|
+
})
|
21
|
+
}
|
22
|
+
|
23
|
+
for (const event of EventLoggerState.INSTANCE.getValues()) {
|
24
|
+
config.eventLogConfigs.push({
|
25
|
+
...event.config
|
19
26
|
})
|
20
27
|
}
|
21
28
|
|
@@ -27,14 +34,14 @@ export class CorePlugin extends Plugin {
|
|
27
34
|
retentionConfig: undefined,
|
28
35
|
totalByDay: eventTracker.options.totalByDay || false,
|
29
36
|
totalPerEntity: undefined,
|
30
|
-
unique: eventTracker.options.unique || false
|
37
|
+
unique: eventTracker.options.unique || false
|
31
38
|
})
|
32
39
|
}
|
33
40
|
|
34
41
|
for (const exporter of ExporterState.INSTANCE.getValues()) {
|
35
42
|
config.exportConfigs.push({
|
36
43
|
name: exporter.name,
|
37
|
-
channel: exporter.channel
|
44
|
+
channel: exporter.channel
|
38
45
|
})
|
39
46
|
}
|
40
47
|
}
|
package/src/core/event-logger.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { BaseContext } from './base-context.js'
|
2
|
-
import { EventTrackingResult, LogLevel } from '@sentio/protos'
|
2
|
+
import { CoinID, EventLogConfig, EventLogConfig_BasicFieldType, EventTrackingResult, LogLevel } from '@sentio/protos'
|
3
3
|
import { normalizeAttribute } from './normalization.js'
|
4
4
|
import { MapStateStorage } from '@sentio/runtime'
|
5
5
|
|
@@ -32,15 +32,37 @@ export class EventLoggerBinding {
|
|
32
32
|
}
|
33
33
|
}
|
34
34
|
|
35
|
+
export interface EventLogOptions {
|
36
|
+
fields: Record<string, CoinID | EventLogConfig_BasicFieldType>
|
37
|
+
}
|
38
|
+
|
35
39
|
export class EventLogger {
|
36
40
|
private readonly eventName: string
|
41
|
+
config: EventLogConfig
|
37
42
|
|
38
|
-
private constructor(eventName: string) {
|
43
|
+
private constructor(eventName: string, config?: EventLogConfig) {
|
39
44
|
this.eventName = eventName
|
45
|
+
this.config = EventLogConfig.fromPartial(config || {})
|
40
46
|
}
|
41
47
|
|
42
|
-
static register(eventName: string): EventLogger {
|
43
|
-
const
|
48
|
+
static register(eventName: string, options?: EventLogOptions): EventLogger {
|
49
|
+
const config = EventLogConfig.create()
|
50
|
+
for (const [key, value] of Object.entries(options?.fields || {})) {
|
51
|
+
let basicType: EventLogConfig_BasicFieldType | undefined
|
52
|
+
let coinType: CoinID | undefined
|
53
|
+
if (typeof value === 'number') {
|
54
|
+
basicType = value
|
55
|
+
} else {
|
56
|
+
coinType = value
|
57
|
+
}
|
58
|
+
config.fields.push({
|
59
|
+
name: key,
|
60
|
+
basicType,
|
61
|
+
coinType
|
62
|
+
})
|
63
|
+
}
|
64
|
+
|
65
|
+
const logger = new EventLogger(eventName, config)
|
44
66
|
return EventLoggerState.INSTANCE.getOrSetValue(eventName, logger)
|
45
67
|
}
|
46
68
|
|
@@ -59,7 +81,7 @@ function emit<T>(ctx: BaseContext, eventName: string, event: Event<T>) {
|
|
59
81
|
distinctEntityId: distinctId || '',
|
60
82
|
attributes: normalizeAttribute(payload),
|
61
83
|
runtimeInfo: undefined,
|
62
|
-
noMetric: true
|
84
|
+
noMetric: true
|
63
85
|
}
|
64
86
|
ctx.update({ events: [res] })
|
65
87
|
}
|
package/src/utils/price.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
import {
|
1
|
+
import { PriceServiceClient, PriceServiceDefinition } from '@sentio/protos/price'
|
2
|
+
import { CoinID } from '@sentio/protos'
|
2
3
|
import { createChannel, createClientFactory, Status } from 'nice-grpc'
|
3
4
|
import { prometheusClientMiddleware } from 'nice-grpc-prometheus'
|
4
5
|
import { retryMiddleware, RetryOptions } from 'nice-grpc-client-middleware-retry'
|