@sentio/sdk 3.0.0-rc-next.1 → 3.0.0-rc-next.3

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.
Files changed (99) hide show
  1. package/lib/core/base-context.d.ts +2 -4
  2. package/lib/core/base-context.d.ts.map +1 -1
  3. package/lib/core/base-context.js +2 -6
  4. package/lib/core/base-context.js.map +1 -1
  5. package/lib/core/core-plugin.d.ts.map +1 -1
  6. package/lib/core/core-plugin.js +1 -6
  7. package/lib/core/core-plugin.js.map +1 -1
  8. package/lib/core/event-logger.d.ts +0 -5
  9. package/lib/core/event-logger.d.ts.map +1 -1
  10. package/lib/core/event-logger.js +16 -30
  11. package/lib/core/event-logger.js.map +1 -1
  12. package/lib/core/index.d.ts +1 -1
  13. package/lib/core/index.d.ts.map +1 -1
  14. package/lib/core/index.js +1 -1
  15. package/lib/core/index.js.map +1 -1
  16. package/lib/core/meter.d.ts +0 -43
  17. package/lib/core/meter.d.ts.map +1 -1
  18. package/lib/core/meter.js +18 -122
  19. package/lib/core/meter.js.map +1 -1
  20. package/lib/fuel/asset-processor.d.ts.map +1 -1
  21. package/lib/fuel/asset-processor.js +5 -1
  22. package/lib/fuel/asset-processor.js.map +1 -1
  23. package/lib/stark/codegen/codegen.d.ts +2 -0
  24. package/lib/stark/codegen/codegen.d.ts.map +1 -0
  25. package/lib/stark/codegen/codegen.js +110 -0
  26. package/lib/stark/codegen/codegen.js.map +1 -0
  27. package/lib/stark/codegen/index.d.ts +2 -0
  28. package/lib/stark/codegen/index.d.ts.map +1 -0
  29. package/lib/stark/codegen/index.js +2 -0
  30. package/lib/stark/codegen/index.js.map +1 -0
  31. package/lib/stark/codegen/run.d.ts +2 -0
  32. package/lib/stark/codegen/run.d.ts.map +1 -0
  33. package/lib/stark/codegen/run.js +11 -0
  34. package/lib/stark/codegen/run.js.map +1 -0
  35. package/lib/stark/codegen/utils.d.ts +2 -0
  36. package/lib/stark/codegen/utils.d.ts.map +1 -0
  37. package/lib/stark/codegen/utils.js +4 -0
  38. package/lib/stark/codegen/utils.js.map +1 -0
  39. package/lib/stark/context.d.ts +28 -0
  40. package/lib/stark/context.d.ts.map +1 -0
  41. package/lib/stark/context.js +59 -0
  42. package/lib/stark/context.js.map +1 -0
  43. package/lib/stark/contract.d.ts +12 -0
  44. package/lib/stark/contract.d.ts.map +1 -0
  45. package/lib/stark/contract.js +43 -0
  46. package/lib/stark/contract.js.map +1 -0
  47. package/lib/stark/event.d.ts +7 -0
  48. package/lib/stark/event.d.ts.map +1 -0
  49. package/lib/stark/event.js +11 -0
  50. package/lib/stark/event.js.map +1 -0
  51. package/lib/stark/index.d.ts +7 -0
  52. package/lib/stark/index.d.ts.map +1 -0
  53. package/lib/stark/index.js +7 -0
  54. package/lib/stark/index.js.map +1 -0
  55. package/lib/stark/starknet-plugin.d.ts +15 -0
  56. package/lib/stark/starknet-plugin.d.ts.map +1 -0
  57. package/lib/stark/starknet-plugin.js +87 -0
  58. package/lib/stark/starknet-plugin.js.map +1 -0
  59. package/lib/stark/starknet-processor.d.ts +35 -0
  60. package/lib/stark/starknet-processor.d.ts.map +1 -0
  61. package/lib/stark/starknet-processor.js +133 -0
  62. package/lib/stark/starknet-processor.js.map +1 -0
  63. package/lib/stark/types.d.ts +11 -0
  64. package/lib/stark/types.d.ts.map +1 -0
  65. package/lib/stark/types.js +2 -0
  66. package/lib/stark/types.js.map +1 -0
  67. package/lib/testing/starknet-facet.d.ts +9 -0
  68. package/lib/testing/starknet-facet.d.ts.map +1 -0
  69. package/lib/testing/starknet-facet.js +53 -0
  70. package/lib/testing/starknet-facet.js.map +1 -0
  71. package/lib/testing/test-processor-server.d.ts +2 -0
  72. package/lib/testing/test-processor-server.d.ts.map +1 -1
  73. package/lib/testing/test-processor-server.js +3 -0
  74. package/lib/testing/test-processor-server.js.map +1 -1
  75. package/lib/utils/price.js +1 -1
  76. package/package.json +9 -5
  77. package/src/core/base-context.ts +2 -6
  78. package/src/core/core-plugin.ts +1 -6
  79. package/src/core/event-logger.ts +18 -35
  80. package/src/core/index.ts +1 -12
  81. package/src/core/meter.ts +18 -148
  82. package/src/fuel/asset-processor.ts +5 -2
  83. package/src/stark/codegen/codegen.ts +125 -0
  84. package/src/stark/codegen/index.ts +1 -0
  85. package/src/stark/codegen/run.ts +10 -0
  86. package/src/stark/codegen/utils.ts +3 -0
  87. package/src/stark/context.ts +78 -0
  88. package/src/stark/contract.ts +55 -0
  89. package/src/stark/event.ts +7 -0
  90. package/src/stark/index.ts +9 -0
  91. package/src/stark/starknet-plugin.ts +116 -0
  92. package/src/stark/starknet-processor.ts +164 -0
  93. package/src/stark/types.ts +11 -0
  94. package/src/testing/starknet-facet.ts +62 -0
  95. package/src/testing/test-processor-server.ts +3 -0
  96. package/src/utils/price.ts +1 -1
  97. package/lib/core/base-context.test.d.ts +0 -2
  98. package/lib/core/base-context.test.d.ts.map +0 -1
  99. package/lib/core/base-context.test.js.map +0 -1
@@ -0,0 +1,133 @@
1
+ import { ProcessResult } from '@sentio/protos';
2
+ import { StarknetChainId } from '@sentio/chain';
3
+ import { CallData, events, RpcProvider } from 'starknet';
4
+ import { StarknetContext } from './context.js';
5
+ import { StarknetEvent } from './event.js';
6
+ import { ListStateStorage, mergeProcessResults } from '@sentio/runtime';
7
+ import { getHandlerName, proxyProcessor } from '../utils/metrics.js';
8
+ export class StarknetProcessor {
9
+ config;
10
+ callHandlers = [];
11
+ provider;
12
+ static bind(config) {
13
+ const processor = new StarknetProcessor(config);
14
+ StarknetProcessorState.INSTANCE.addValue(processor);
15
+ return processor;
16
+ }
17
+ classHash;
18
+ constructor(config) {
19
+ this.config = config;
20
+ return proxyProcessor(this);
21
+ }
22
+ async configure() {
23
+ this.provider = new RpcProvider({
24
+ nodeUrl: getRpcEndpoint(this.config.chainId)
25
+ });
26
+ const classHash = await this.provider.getClassHashAt(this.config.address);
27
+ if (!classHash) {
28
+ throw new Error("can't find the class hash defined at " + this.config.address);
29
+ }
30
+ this.classHash = classHash;
31
+ if (!this.config.abi) {
32
+ const clazz = await this.provider.getClass(classHash, 'latest');
33
+ this.config.abi = clazz.abi;
34
+ }
35
+ }
36
+ onEvent(event, handler, handlerOptions) {
37
+ const eventFilter = Array.isArray(event) ? event : [event];
38
+ if (!this.config.abi) {
39
+ throw new Error('abi not found');
40
+ }
41
+ const abi = this.config.abi;
42
+ const callHandler = {
43
+ handlerName: getHandlerName(),
44
+ handler: async (call) => {
45
+ try {
46
+ const eventData = [call.result];
47
+ const abiEvents = events.getAbiEvents(abi);
48
+ const abiStructs = CallData.getAbiStruct(abi);
49
+ const abiEnums = CallData.getAbiEnum(abi);
50
+ const parsedEvents = events.parseEvents(eventData, abiEvents, abiStructs, abiEnums);
51
+ const results = [];
52
+ const { block_hash, block_number, transaction_hash, from_address } = call.result;
53
+ for (let i = 0; i < parsedEvents.length; i++) {
54
+ const ctx = new StarknetContext(this.config, this.provider, block_number, block_hash, transaction_hash, i, this.classHash);
55
+ const e = new StarknetEvent(from_address, transaction_hash, parsedEvents[i]);
56
+ try {
57
+ await handler(e, ctx);
58
+ }
59
+ catch (e) {
60
+ console.error(e);
61
+ }
62
+ results.push(ctx.stopAndGetResult());
63
+ }
64
+ return mergeProcessResults(results);
65
+ }
66
+ catch (e) {
67
+ console.error(e);
68
+ return ProcessResult.fromPartial({});
69
+ }
70
+ },
71
+ eventFilter,
72
+ partitionHandler: async (call) => {
73
+ const p = handlerOptions?.partitionKey;
74
+ if (!p)
75
+ return undefined;
76
+ if (typeof p === 'function') {
77
+ try {
78
+ const eventData = [call.result];
79
+ const abiEvents = events.getAbiEvents(abi);
80
+ const abiStructs = CallData.getAbiStruct(abi);
81
+ const abiEnums = CallData.getAbiEnum(abi);
82
+ const parsedEvents = events.parseEvents(eventData, abiEvents, abiStructs, abiEnums);
83
+ if (parsedEvents.length > 0) {
84
+ const { from_address, transaction_hash } = call.result;
85
+ const e = new StarknetEvent(from_address, transaction_hash, parsedEvents[0]);
86
+ return p(e);
87
+ }
88
+ return undefined;
89
+ }
90
+ catch (e) {
91
+ console.error(e);
92
+ return undefined;
93
+ }
94
+ }
95
+ return p;
96
+ }
97
+ };
98
+ this.callHandlers.push(callHandler);
99
+ return this;
100
+ }
101
+ }
102
+ function getRpcEndpoint(chainId) {
103
+ switch (chainId) {
104
+ case StarknetChainId.STARKNET_MAINNET:
105
+ return 'https://starknet-mainnet.g.alchemy.com/starknet/version/rpc/v0_8/8sD5yitBslIYCPFzSq_Q1ObJHqPlZxFw';
106
+ default:
107
+ return 'https://starknet-sepolia.g.alchemy.com/starknet/version/rpc/v0_8/8sD5yitBslIYCPFzSq_Q1ObJHqPlZxFw';
108
+ }
109
+ }
110
+ export class StarknetProcessorState extends ListStateStorage {
111
+ static INSTANCE = new StarknetProcessorState();
112
+ }
113
+ export class AbstractStarknetProcessor {
114
+ abi;
115
+ config;
116
+ processor;
117
+ constructor(abi, config) {
118
+ this.abi = abi;
119
+ this.config = config;
120
+ this.processor = new StarknetProcessor(config);
121
+ StarknetProcessorState.INSTANCE.addValue(this.processor);
122
+ return proxyProcessor(this);
123
+ }
124
+ onEvent(eventName, structName, handler) {
125
+ this.processor.onEvent(eventName, async (events, ctx) => {
126
+ const eventData = events.data[structName];
127
+ const e = new StarknetEvent(events.caller, events.transactionHash, eventData);
128
+ await handler(e, ctx);
129
+ });
130
+ return this;
131
+ }
132
+ }
133
+ //# sourceMappingURL=starknet-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starknet-processor.js","sourceRoot":"","sources":["../../src/stark/starknet-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAe,WAAW,EAAE,MAAM,UAAU,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGvE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpE,MAAM,OAAO,iBAAiB;IAaP;IAZrB,YAAY,GAAsC,EAAE,CAAA;IAE5C,QAAQ,CAAa;IAE7B,MAAM,CAAC,IAAI,CAAC,MAA+B;QACzC,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC/C,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QACnD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS,CAAQ;IAEjB,YAAqB,MAA+B;QAA/B,WAAM,GAAN,MAAM,CAAyB;QAClD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC;YAC9B,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SAC7C,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACzE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;YAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QAC7B,CAAC;IACH,CAAC;IAEM,OAAO,CACZ,KAAwB,EACxB,OAAiH,EACjH,cAAmE;QAEnE,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QAClC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA;QAC3B,MAAM,WAAW,GAAG;YAClB,WAAW,EAAE,cAAc,EAAE;YAC7B,OAAO,EAAE,KAAK,EAAE,IAAwB,EAAE,EAAE;gBAC1C,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAU,CAAA;oBACxC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;oBAE1C,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;oBAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAEzC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;oBACnF,MAAM,OAAO,GAAoB,EAAE,CAAA;oBACnC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,MAAO,CAAA;oBACjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC7C,MAAM,GAAG,GAAG,IAAI,eAAe,CAC7B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,EACb,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,CAAC,EACD,IAAI,CAAC,SAAS,CACf,CAAA;wBACD,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;wBAC5E,IAAI,CAAC;4BACH,MAAM,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;wBACvB,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBAClB,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAA;oBACtC,CAAC;oBACD,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAA;gBACrC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;oBAChB,OAAO,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC;YACD,WAAW;YACX,gBAAgB,EAAE,KAAK,EAAE,IAAwB,EAA+B,EAAE;gBAChF,MAAM,CAAC,GAAG,cAAc,EAAE,YAAY,CAAA;gBACtC,IAAI,CAAC,CAAC;oBAAE,OAAO,SAAS,CAAA;gBACxB,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,MAAM,CAAU,CAAA;wBACxC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;wBAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;wBAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;wBACzC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;wBACnF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5B,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,MAAO,CAAA;4BACvD,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;4BAC5E,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;wBACb,CAAC;wBACD,OAAO,SAAS,CAAA;oBAClB,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBAChB,OAAO,SAAS,CAAA;oBAClB,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,CAAA;YACV,CAAC;SACF,CAAA;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AASD,SAAS,cAAc,CAAC,OAAiC;IACvD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,eAAe,CAAC,gBAAgB;YACnC,OAAO,mGAAmG,CAAA;QAC5G;YACE,OAAO,mGAAmG,CAAA;IAC9G,CAAC;AACH,CAAC;AAED,MAAM,OAAO,sBAAuB,SAAQ,gBAAmC;IAC7E,MAAM,CAAC,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAA;;AAGhD,MAAM,OAAgB,yBAAyB;IAGlC;IACA;IAHM,SAAS,CAAmB;IAC7C,YACW,GAAQ,EACR,MAA+B;QAD/B,QAAG,GAAH,GAAG,CAAK;QACR,WAAM,GAAN,MAAM,CAAyB;QAExC,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC9C,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO,CACL,SAAiB,EACjB,UAAkB,EAClB,OAA4E;QAE5E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YACtD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAM,CAAA;YAC9C,MAAM,CAAC,GAAG,IAAI,aAAa,CAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;YAChF,MAAM,OAAO,CAAC,CAAC,EAAE,GAAyB,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import { StarknetChainId } from '@sentio/chain';
2
+ import { Abi } from 'starknet';
3
+ export type StarknetProcessorConfig = {
4
+ address: string;
5
+ name?: string;
6
+ chainId: StarknetChainId | string;
7
+ startBlock?: bigint;
8
+ endBlock?: bigint;
9
+ abi?: Abi;
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stark/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,eAAe,GAAG,MAAM,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,GAAG,CAAA;CACV,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/stark/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { TestProcessorServer } from './test-processor-server.js';
2
+ import { StarknetChainId } from '@sentio/chain';
3
+ export declare class StarknetFacet {
4
+ server: TestProcessorServer;
5
+ constructor(server: TestProcessorServer);
6
+ testOnEvents(events: any, network?: StarknetChainId): Promise<import("@sentio/protos").ProcessBindingResponse>;
7
+ private buildBinding;
8
+ }
9
+ //# sourceMappingURL=starknet-facet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starknet-facet.d.ts","sourceRoot":"","sources":["../../src/testing/starknet-facet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,qBAAa,aAAa;IACxB,MAAM,EAAE,mBAAmB,CAAA;gBAEf,MAAM,EAAE,mBAAmB;IAIvC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,GAAE,eAAkD;IAWrF,OAAO,CAAC,YAAY;CAuCrB"}
@@ -0,0 +1,53 @@
1
+ import { HandlerType } from '@sentio/protos';
2
+ import { StarknetChainId } from '@sentio/chain';
3
+ export class StarknetFacet {
4
+ server;
5
+ constructor(server) {
6
+ this.server = server;
7
+ }
8
+ testOnEvents(events, network = StarknetChainId.STARKNET_SEPOLIA) {
9
+ const bindings = this.buildBinding(events, network);
10
+ if (!bindings) {
11
+ throw Error('Invalid test : ' + JSON.stringify(events));
12
+ }
13
+ return this.server.processBindings({
14
+ bindings
15
+ });
16
+ }
17
+ buildBinding(events, network) {
18
+ const res = [];
19
+ const data = Array.isArray(events) ? events : [events];
20
+ for (const event of data) {
21
+ for (const config of this.server.contractConfigs) {
22
+ if (config.contract?.chainId !== network) {
23
+ continue;
24
+ }
25
+ for (const logConfig of config.starknetEventConfigs) {
26
+ const binding = {
27
+ data: {
28
+ starknetEvents: {
29
+ result: event,
30
+ timestamp: new Date()
31
+ }
32
+ },
33
+ handlerIds: [logConfig.handlerId],
34
+ handlerType: HandlerType.STARKNET_EVENT,
35
+ chainId: config.contract.chainId
36
+ };
37
+ const logFilters = logConfig.filters;
38
+ const keys = event.keys;
39
+ for (const key of keys) {
40
+ for (const logFilter of logFilters) {
41
+ if (logFilter.keys.includes(key)) {
42
+ res.push(binding);
43
+ return res;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ }
50
+ return res;
51
+ }
52
+ }
53
+ //# sourceMappingURL=starknet-facet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starknet-facet.js","sourceRoot":"","sources":["../../src/testing/starknet-facet.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,MAAM,OAAO,aAAa;IACxB,MAAM,CAAqB;IAE3B,YAAY,MAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,YAAY,CAAC,MAAW,EAAE,UAA2B,eAAe,CAAC,gBAAgB;QACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;QACzD,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACjC,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAEO,YAAY,CAAC,MAAW,EAAE,OAAwB;QACxD,MAAM,GAAG,GAAkB,EAAE,CAAA;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QACtD,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACjD,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,EAAE,CAAC;oBACzC,SAAQ;gBACV,CAAC;gBAED,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBACpD,MAAM,OAAO,GAAG;wBACd,IAAI,EAAE;4BACJ,cAAc,EAAE;gCACd,MAAM,EAAE,KAAK;gCACb,SAAS,EAAE,IAAI,IAAI,EAAE;6BACtB;yBACF;wBACD,UAAU,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;wBACjC,WAAW,EAAE,WAAW,CAAC,cAAc;wBACvC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;qBACjC,CAAA;oBAED,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAA;oBACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAgB,CAAA;oBAEnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;4BACnC,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCACjC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gCACjB,OAAO,GAAG,CAAA;4BACZ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -7,6 +7,7 @@ import { EthFacet } from './eth-facet.js';
7
7
  import { SuiFacet } from './sui-facet.js';
8
8
  import { FuelFacet } from './fuel-facet.js';
9
9
  import { CosmosFacet } from './cosmos-facet.js';
10
+ import { StarknetFacet } from './starknet-facet.js';
10
11
  import { MemoryDatabase } from './memory-database.js';
11
12
  import { IotaFacet } from './iota-facet.js';
12
13
  export declare const TEST_CONTEXT: CallContext;
@@ -23,6 +24,7 @@ export declare class TestProcessorServer implements ProcessorServiceImplementati
23
24
  iota: IotaFacet;
24
25
  fuel: FuelFacet;
25
26
  cosmos: CosmosFacet;
27
+ starknet: StarknetFacet;
26
28
  _db: MemoryDatabase;
27
29
  constructor(loader: () => Promise<any>, httpEndpoints?: Record<string, string>);
28
30
  start(request?: StartRequest, context?: CallContext): Promise<Empty>;
@@ -1 +1 @@
1
- {"version":3,"file":"test-processor-server.d.ts","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAA4B,oBAAoB,EAAS,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAErG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,eAAO,MAAM,YAAY,EAAE,WAA6B,CAAA;AAExD,wBAAgB,SAAS,SAKxB;AAED,qBAAa,mBAAoB,YAAW,8BAA8B;IACxE,OAAO,EAAE,oBAAoB,CAAA;IAC7B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,YAAY,EAAE,YAAY,CAAA;IAE1B,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,QAAQ,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,cAAc,CAAA;gBAEP,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAuB5E,KAAK,CAAC,OAAO,GAAE,YAAwC,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAStG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhG,eAAe,CACb,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,WAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAMlC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,WAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAM1G,qBAAqB,CACnB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIlE,wBAAwB,CACtB,QAAQ,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAChD,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAOrE,IAAI,EAAE,mBAEL;IAED,IAAI,KAAK,sCAER;CACF"}
1
+ {"version":3,"file":"test-processor-server.d.ts","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EACb,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAA4B,oBAAoB,EAAS,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAErG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG3C,eAAO,MAAM,YAAY,EAAE,WAA6B,CAAA;AAExD,wBAAgB,SAAS,SAKxB;AAED,qBAAa,mBAAoB,YAAW,8BAA8B;IACxE,OAAO,EAAE,oBAAoB,CAAA;IAC7B,eAAe,EAAE,cAAc,EAAE,CAAA;IACjC,cAAc,EAAE,aAAa,EAAE,CAAA;IAC/B,YAAY,EAAE,YAAY,CAAA;IAE1B,KAAK,EAAE,UAAU,CAAA;IACjB,GAAG,EAAE,QAAQ,CAAA;IACb,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,QAAQ,CAAA;IACb,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,WAAW,CAAA;IACnB,QAAQ,EAAE,aAAa,CAAA;IACvB,GAAG,EAAE,cAAc,CAAA;gBAEP,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM;IAwB5E,KAAK,CAAC,OAAO,GAAE,YAAwC,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAStG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAI5D,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,cAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhG,eAAe,CACb,OAAO,EAAE,sBAAsB,EAC/B,OAAO,GAAE,WAA0B,GAClC,OAAO,CAAC,sBAAsB,CAAC;IAMlC,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,WAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAM1G,qBAAqB,CACnB,QAAQ,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC7C,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAIlE,wBAAwB,CACtB,QAAQ,EAAE,aAAa,CAAC,uBAAuB,CAAC,EAChD,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAOrE,IAAI,EAAE,mBAEL;IAED,IAAI,KAAK,sCAER;CACF"}
@@ -5,6 +5,7 @@ import { EthFacet } from './eth-facet.js';
5
5
  import { SuiFacet } from './sui-facet.js';
6
6
  import { FuelFacet } from './fuel-facet.js';
7
7
  import { CosmosFacet } from './cosmos-facet.js';
8
+ import { StarknetFacet } from './starknet-facet.js';
8
9
  import { Subject } from 'rxjs';
9
10
  import { MemoryDatabase } from './memory-database.js';
10
11
  import { DatabaseSchemaState } from '../core/database-schema.js';
@@ -29,6 +30,7 @@ export class TestProcessorServer {
29
30
  iota;
30
31
  fuel;
31
32
  cosmos;
33
+ starknet;
32
34
  _db;
33
35
  constructor(loader, httpEndpoints = {}) {
34
36
  cleanTest();
@@ -40,6 +42,7 @@ export class TestProcessorServer {
40
42
  this.iota = new IotaFacet(this);
41
43
  this.fuel = new FuelFacet(this);
42
44
  this.cosmos = new CosmosFacet(this);
45
+ this.starknet = new StarknetFacet(this);
43
46
  for (const k of Object.keys(ChainInfo)) {
44
47
  const http = httpEndpoints[k] || '';
45
48
  Endpoints.INSTANCE.chainServer.set(k, http);
@@ -1 +1 @@
1
- {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export function getPriceClient(basePath = Endpoints.INSTANCE.priceFeedAPI) {
20
20
  basePath = basePath.slice(0, -1);
21
21
  }
22
22
  client.setConfig({
23
- baseUrl: basePath || 'https://app.sentio.xyz',
23
+ baseUrl: basePath || 'https://api.sentio.xyz',
24
24
  auth: getApiKey()
25
25
  });
26
26
  return PriceService;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
- "version": "3.0.0-rc-next.1",
3
+ "version": "3.0.0-rc-next.3",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -93,11 +93,12 @@
93
93
  "radash": "^12.0.0",
94
94
  "reflect-metadata": "^0.2.2",
95
95
  "rxjs": "^7.8.1",
96
+ "starknet": "^6.11.0",
96
97
  "typechain": "^8.3.2",
97
98
  "utility-types": "^3.11.0",
98
99
  "yaml": "^2.3.4",
99
- "@sentio/protos": "3.0.0-rc-next.1",
100
- "@sentio/runtime": "^3.0.0-rc-next.1"
100
+ "@sentio/protos": "3.0.0-rc-next.3",
101
+ "@sentio/runtime": "^3.0.0-rc-next.3"
101
102
  },
102
103
  "peerDependencies": {
103
104
  "@sentio/tsup": "^8.3.5-rc.1"
@@ -116,7 +117,7 @@
116
117
  "bundle": "tsup --config src/bundle.config.ts",
117
118
  "bundle:dts": "tsc --emitDeclarationOnly --declaration",
118
119
  "compile": "tsc && cp src/tsup.config.ts lib",
119
- "gen": "pnpm gen:eth && pnpm gen:aptos && pnpm gen:sui && pnpm gen:iota && pnpm gen:solana && pnpm gen:fuel && pnpm gen:store",
120
+ "gen": "pnpm gen:eth && pnpm gen:aptos && pnpm gen:sui && pnpm gen:iota && pnpm gen:solana && pnpm gen:fuel && pnpm gen:starknet && pnpm gen:store",
120
121
  "gen:aptos": "cp ../../node_modules/@typemove/aptos/src/abis/*.json src/aptos/abis && tsx src/aptos/codegen/run.ts src/aptos/abis src/aptos/builtin && pnpm gen:aptos_test",
121
122
  "gen:aptos_test": "tsx src/aptos/codegen/run.ts src/aptos/tests/abis src/aptos/tests/types",
122
123
  "gen:docs": "typedoc --options typedoc.json",
@@ -127,11 +128,14 @@
127
128
  "gen:iota": "cp ../../node_modules/@typemove/iota/src/abis/*.json src/iota/abis && tsx src/iota/codegen/run.ts src/iota/abis src/iota/builtin && pnpm gen:iota_test",
128
129
  "gen:iota_test": "tsx src/iota/codegen/run.ts src/iota/tests/abis src/iota/tests/types",
129
130
  "gen:solana": "tsx src/solana/codegen/run.ts src/solana/tests/abis src/solana/tests/types",
131
+ "gen:starknet": "tsx src/stark/codegen/run.ts src/stark/abis src/stark/builtin && pnpm gen:starknet_test",
132
+ "gen:starknet_test": "tsx src/stark/codegen/run.ts src/stark/tests/abis src/stark/tests/types",
130
133
  "gen:store": "tsx src/store/run.ts src/store/tests src/store/tests/generated",
131
134
  "gen:sui": "cp ../../node_modules/@typemove/sui/src/abis/*.json src/sui/abis && tsx src/sui/codegen/run.ts src/sui/abis src/sui/builtin && pnpm gen:sui_test",
132
135
  "gen:sui_test": "tsx src/sui/codegen/run.ts src/sui/tests/abis src/sui/tests/types",
133
136
  "sync_sui_to_iota": "tsx sync-sui-to-iota.ts",
134
137
  "test": "glob -c 'tsx --test' '**/*.test.ts'",
135
- "test:db": "glob -c 'tsx --test' 'src/store/tests/database.test.ts'"
138
+ "test:db": "glob -c 'tsx --test' 'src/store/tests/database.test.ts'",
139
+ "test:starknet": "tsx --test src/stark/tests/event.test.ts"
136
140
  }
137
141
  }
@@ -1,6 +1,6 @@
1
1
  import { ProcessResult, RecordMetaData } from '@sentio/protos'
2
- import { EventLoggerBinding, EventLoggerBindingNew } from './event-logger.js'
3
- import { Meter, Labels, MeterNew } from './meter.js'
2
+ import { EventLoggerBinding } from './event-logger.js'
3
+ import { Meter, Labels } from './meter.js'
4
4
  import { ChainId } from '@sentio/chain'
5
5
  import { mergeProcessResultsInPlace, PluginManager } from '@sentio/runtime'
6
6
  import { Required } from 'utility-types'
@@ -9,9 +9,7 @@ import { Store } from '../store/store.js'
9
9
 
10
10
  export abstract class BaseContext {
11
11
  meter: Meter
12
- meterNew: MeterNew
13
12
  eventLogger: EventLoggerBinding
14
- eventLoggerNew: EventLoggerBindingNew
15
13
  private _store: Store
16
14
  baseLabels: Labels
17
15
  private active: boolean
@@ -37,9 +35,7 @@ export abstract class BaseContext {
37
35
 
38
36
  protected constructor(baseLabels: Labels | undefined) {
39
37
  this.meter = new Meter(this)
40
- this.meterNew = new MeterNew(this)
41
38
  this.eventLogger = new EventLoggerBinding(this)
42
- this.eventLoggerNew = new EventLoggerBindingNew(this)
43
39
  this.baseLabels = baseLabels || {}
44
40
  this.active = true
45
41
  this.initStore()
@@ -1,7 +1,7 @@
1
1
  import { Plugin, PluginManager } from '@sentio/runtime'
2
2
  import { InitResponse, ProcessConfigResponse } from '@sentio/protos'
3
3
 
4
- import { MetricState, MetricStateNew } from './meter.js'
4
+ import { MetricState } from './meter.js'
5
5
  import { ExporterState } from './exporter.js'
6
6
  import { TemplateInstanceState } from './template.js'
7
7
  import { EventLoggerState } from './event-logger.js'
@@ -27,11 +27,6 @@ export class CorePlugin extends Plugin {
27
27
  ...metric.config
28
28
  })
29
29
  }
30
- for (const metric of MetricStateNew.INSTANCE.getValues()) {
31
- config.metricConfigs.push({
32
- ...metric.config
33
- })
34
- }
35
30
  for (const event of EventLoggerState.INSTANCE.getValues()) {
36
31
  config.eventLogConfigs.push({
37
32
  ...event.config
@@ -118,26 +118,6 @@ export class EventLogger {
118
118
  }
119
119
  }
120
120
 
121
- function emit<T>(ctx: BaseContext, eventName: string, event: Event<T>) {
122
- const { distinctId, severity, message, ...payload } = event
123
-
124
- const res: EventTrackingResult = {
125
- metadata: ctx.getMetaData(eventName, {}),
126
- severity: severity || LogLevel.INFO,
127
- message: message || '',
128
- distinctEntityId: distinctId || '',
129
- attributes: {
130
- ...normalizeLabels(ctx.baseLabels), // TODO avoid dup label in metadata
131
- ...normalizeAttribute(payload)
132
- },
133
- runtimeInfo: undefined,
134
- noMetric: true,
135
- attributes2: normalizeToRichStruct(ctx.baseLabels, payload)
136
- }
137
- processMetrics.process_eventemit_count.add(1)
138
- ctx.update({ events: [res] })
139
- }
140
-
141
121
  function checkEventName(eventName: string) {
142
122
  const entity = DatabaseSchema.findEntity(eventName)
143
123
  if (entity) {
@@ -145,7 +125,7 @@ function checkEventName(eventName: string) {
145
125
  }
146
126
  }
147
127
 
148
- function emitNew<T>(ctx: BaseContext, eventName: string, event: Event<T>) {
128
+ function emit<T>(ctx: BaseContext, eventName: string, event: Event<T>) {
149
129
  const { distinctId, severity, message, ...payload } = event
150
130
 
151
131
  const data: RichStruct = {
@@ -162,6 +142,22 @@ function emitNew<T>(ctx: BaseContext, eventName: string, event: Event<T>) {
162
142
  ...normalizeToRichStruct(ctx.baseLabels, payload).fields
163
143
  }
164
144
  }
145
+
146
+ // legacy v2 events, deprecating
147
+ const eventRes: EventTrackingResult = {
148
+ metadata: ctx.getMetaData(eventName, {}),
149
+ severity: severity || LogLevel.INFO,
150
+ message: message || '',
151
+ distinctEntityId: distinctId || '',
152
+ attributes: {
153
+ ...normalizeLabels(ctx.baseLabels), // TODO avoid dup label in metadata
154
+ ...normalizeAttribute(payload)
155
+ },
156
+ runtimeInfo: undefined,
157
+ noMetric: true,
158
+ attributes2: normalizeToRichStruct(ctx.baseLabels, payload)
159
+ }
160
+
165
161
  const res: TimeseriesResult = {
166
162
  metadata: ctx.getMetaData(eventName, {}),
167
163
  type: TimeseriesResult_TimeseriesType.EVENT,
@@ -170,18 +166,5 @@ function emitNew<T>(ctx: BaseContext, eventName: string, event: Event<T>) {
170
166
  }
171
167
 
172
168
  processMetrics.process_eventemit_count.add(1)
173
- ctx.update({ timeseriesResult: [res] })
174
- }
175
-
176
- export class EventLoggerBindingNew {
177
- private readonly ctx: BaseContext
178
-
179
- constructor(ctx: BaseContext) {
180
- this.ctx = ctx
181
- }
182
-
183
- emit<T>(eventName: string, event: Event<T>) {
184
- checkEventName(eventName)
185
- emitNew(this.ctx, eventName, event)
186
- }
169
+ ctx.update({ timeseriesResult: [res], events: [eventRes] })
187
170
  }
package/src/core/index.ts CHANGED
@@ -3,18 +3,7 @@ export type { PromiseOrValue, PromiseOrVoid } from './promises.js'
3
3
  export type { PartiallyOptional } from './partial-optional.js'
4
4
  export { BaseContext } from './base-context.js'
5
5
  export { normalizeLabels } from './normalization.js'
6
- export {
7
- CounterBinding,
8
- Meter,
9
- type Labels,
10
- GaugeBinding,
11
- Counter,
12
- Gauge,
13
- MetricOptions,
14
- CounterNew,
15
- GaugeNew,
16
- MeterNew
17
- } from './meter.js'
6
+ export { CounterBinding, Meter, type Labels, GaugeBinding, Counter, Gauge, MetricOptions } from './meter.js'
18
7
  export { Exporter } from './exporter.js'
19
8
  export * from './event-logger.js'
20
9
  export { type Numberish, toBigInteger, toMetricValue } from './numberish.js'