@sentio/sdk 2.59.5-rc.1 → 2.60.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.
Files changed (51) hide show
  1. package/lib/aptos/aptos-plugin.d.ts +5 -11
  2. package/lib/aptos/aptos-plugin.d.ts.map +1 -1
  3. package/lib/aptos/aptos-plugin.js +38 -23
  4. package/lib/aptos/aptos-plugin.js.map +1 -1
  5. package/lib/btc/btc-plugin.d.ts +5 -8
  6. package/lib/btc/btc-plugin.d.ts.map +1 -1
  7. package/lib/btc/btc-plugin.js +22 -14
  8. package/lib/btc/btc-plugin.js.map +1 -1
  9. package/lib/core/core-plugin.d.ts +2 -1
  10. package/lib/core/core-plugin.d.ts.map +1 -1
  11. package/lib/core/core-plugin.js +9 -0
  12. package/lib/core/core-plugin.js.map +1 -1
  13. package/lib/core/handler-register.d.ts +18 -0
  14. package/lib/core/handler-register.d.ts.map +1 -0
  15. package/lib/core/handler-register.js +62 -0
  16. package/lib/core/handler-register.js.map +1 -0
  17. package/lib/cosmos/cosmos-plugin.d.ts +5 -7
  18. package/lib/cosmos/cosmos-plugin.d.ts.map +1 -1
  19. package/lib/cosmos/cosmos-plugin.js +18 -10
  20. package/lib/cosmos/cosmos-plugin.js.map +1 -1
  21. package/lib/eth/eth-plugin.d.ts +5 -40
  22. package/lib/eth/eth-plugin.d.ts.map +1 -1
  23. package/lib/eth/eth-plugin.js +41 -117
  24. package/lib/eth/eth-plugin.js.map +1 -1
  25. package/lib/fuel/fuel-plugin.d.ts +5 -9
  26. package/lib/fuel/fuel-plugin.d.ts.map +1 -1
  27. package/lib/fuel/fuel-plugin.js +26 -18
  28. package/lib/fuel/fuel-plugin.js.map +1 -1
  29. package/lib/solana/solana-plugin.d.ts +3 -2
  30. package/lib/solana/solana-plugin.d.ts.map +1 -1
  31. package/lib/solana/solana-plugin.js +11 -1
  32. package/lib/solana/solana-plugin.js.map +1 -1
  33. package/lib/stark/starknet-plugin.d.ts +5 -7
  34. package/lib/stark/starknet-plugin.d.ts.map +1 -1
  35. package/lib/stark/starknet-plugin.js +18 -10
  36. package/lib/stark/starknet-plugin.js.map +1 -1
  37. package/lib/sui/sui-plugin.d.ts +5 -10
  38. package/lib/sui/sui-plugin.d.ts.map +1 -1
  39. package/lib/sui/sui-plugin.js +37 -24
  40. package/lib/sui/sui-plugin.js.map +1 -1
  41. package/package.json +3 -3
  42. package/src/aptos/aptos-plugin.ts +55 -44
  43. package/src/btc/btc-plugin.ts +33 -32
  44. package/src/core/core-plugin.ts +11 -2
  45. package/src/core/handler-register.ts +79 -0
  46. package/src/cosmos/cosmos-plugin.ts +24 -20
  47. package/src/eth/eth-plugin.ts +62 -182
  48. package/src/fuel/fuel-plugin.ts +43 -44
  49. package/src/solana/solana-plugin.ts +20 -2
  50. package/src/stark/starknet-plugin.ts +24 -20
  51. package/src/sui/sui-plugin.ts +58 -52
@@ -1 +1 @@
1
- {"version":3,"file":"cosmos-plugin.js","sourceRoot":"","sources":["../../src/cosmos/cosmos-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmos-plugin.js","sourceRoot":"","sources":["../../src/cosmos/cosmos-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,56 +1,21 @@
1
1
  import { Plugin } from '@sentio/runtime';
2
2
  import { PartitionHandlerManager } from '../core/index.js';
3
- import { Data_EthBlock, Data_EthLog, Data_EthTrace, Data_EthTransaction, DataBinding, HandlerType, PreparedData, PreprocessResult, ProcessConfigResponse, ProcessResult, ProcessStreamResponse_Partitions, StartRequest } from '@sentio/protos';
4
- interface Handlers {
5
- eventHandlers: ((event: Data_EthLog, preparedData?: PreparedData) => Promise<ProcessResult>)[];
6
- traceHandlers: ((trace: Data_EthTrace, preparedData?: PreparedData) => Promise<ProcessResult>)[];
7
- blockHandlers: ((block: Data_EthBlock, preparedData?: PreparedData) => Promise<ProcessResult>)[];
8
- transactionHandlers: ((trace: Data_EthTransaction, preparedData?: PreparedData) => Promise<ProcessResult>)[];
9
- }
10
- interface PreprocessHandlers {
11
- eventHandlers: ((event: Data_EthLog, preprocessStore: {
12
- [k: string]: any;
13
- }) => Promise<PreprocessResult>)[];
14
- traceHandlers: ((trace: Data_EthTrace, preprocessStore: {
15
- [k: string]: any;
16
- }) => Promise<PreprocessResult>)[];
17
- blockHandlers: ((block: Data_EthBlock, preprocessStore: {
18
- [k: string]: any;
19
- }) => Promise<PreprocessResult>)[];
20
- transactionHandlers: ((txn: Data_EthTransaction, preprocessStore: {
21
- [k: string]: any;
22
- }) => Promise<PreprocessResult>)[];
23
- }
3
+ import { DataBinding, HandlerType, InitResponse, PreparedData, ProcessConfigResponse, ProcessResult, ProcessStreamResponse_Partitions, StartRequest } from '@sentio/protos';
4
+ import { HandlerRegister } from '../core/handler-register.js';
24
5
  export declare class EthPlugin extends Plugin {
25
6
  name: string;
26
- handlers: Handlers;
27
- preprocessHandlers: PreprocessHandlers;
7
+ handlerRegister: HandlerRegister;
28
8
  partitionManager: PartitionHandlerManager;
29
- configure(config: ProcessConfigResponse): Promise<void>;
9
+ init(config: InitResponse): Promise<void>;
10
+ configure(config: ProcessConfigResponse, forChainId?: string): Promise<void>;
30
11
  supportedHandlers: HandlerType[];
31
12
  processBinding(request: DataBinding, preparedData: PreparedData | undefined): Promise<ProcessResult>;
32
- preprocessBinding(request: DataBinding, preprocessStore: {
33
- [k: string]: any;
34
- }): Promise<PreprocessResult>;
35
13
  partition(request: DataBinding): Promise<ProcessStreamResponse_Partitions>;
36
14
  start(request: StartRequest): Promise<void>;
37
15
  stateDiff(config: ProcessConfigResponse): boolean;
38
- preprocessLog(request: DataBinding, preprocessStore: {
39
- [k: string]: any;
40
- }): Promise<PreprocessResult>;
41
- preprocessTrace(binding: DataBinding, preprocessStore: {
42
- [k: string]: any;
43
- }): Promise<PreprocessResult>;
44
- preprocessBlock(binding: DataBinding, preprocessStore: {
45
- [k: string]: any;
46
- }): Promise<PreprocessResult>;
47
- preprocessTransaction(binding: DataBinding, preprocessStore: {
48
- [k: string]: any;
49
- }): Promise<PreprocessResult>;
50
16
  processLog(request: DataBinding, preparedData: PreparedData | undefined): Promise<ProcessResult>;
51
17
  processTrace(binding: DataBinding, preparedData: PreparedData | undefined): Promise<ProcessResult>;
52
18
  processBlock(binding: DataBinding, preparedData: PreparedData | undefined): Promise<ProcessResult>;
53
19
  processTransaction(binding: DataBinding, preparedData: PreparedData | undefined): Promise<ProcessResult>;
54
20
  }
55
- export {};
56
21
  //# sourceMappingURL=eth-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eth-plugin.d.ts","sourceRoot":"","sources":["../../src/eth/eth-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,EAGP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAGL,aAAa,EACb,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,WAAW,EAGX,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,gCAAgC,EAChC,YAAY,EACb,MAAM,gBAAgB,CAAA;AAavB,UAAU,QAAQ;IAChB,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;IAC9F,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;IAChG,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;IAChG,mBAAmB,EAAE,CAAC,CAAC,KAAK,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;CAC7G;AAED,UAAU,kBAAkB;IAC1B,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAA;IAC3G,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAA;IAC7G,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAA;IAC7G,mBAAmB,EAAE,CAAC,CACpB,GAAG,EAAE,mBAAmB,EACxB,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KAClC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAA;CAClC;AAED,qBAAa,SAAU,SAAQ,MAAM;IACnC,IAAI,EAAE,MAAM,CAAc;IAC1B,QAAQ,EAAE,QAAQ,CAKjB;IACD,kBAAkB,EAAE,kBAAkB,CAKrC;IAED,gBAAgB,0BAAgC;IAE1C,SAAS,CAAC,MAAM,EAAE,qBAAqB;IAsO7C,iBAAiB,gBAAmG;IAEpH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBpG,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAenG,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAwC1E,KAAK,CAAC,OAAO,EAAE,YAAY;IA6BjC,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAI3C,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBrG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoBvG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmBvG,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsB7G,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBhG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBlG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBlG,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAsB/G"}
1
+ {"version":3,"file":"eth-plugin.d.ts","sourceRoot":"","sources":["../../src/eth/eth-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,MAAM,EAGP,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAGL,WAAW,EACX,WAAW,EACX,YAAY,EAGZ,YAAY,EAEZ,qBAAqB,EACrB,aAAa,EACb,gCAAgC,EAChC,YAAY,EACb,MAAM,gBAAgB,CAAA;AAYvB,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,qBAAa,SAAU,SAAQ,MAAM;IACnC,IAAI,EAAE,MAAM,CAAc;IAC1B,eAAe,kBAAwB;IAEvC,gBAAgB,0BAAgC;IAE1C,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IA6NlE,iBAAiB,gBAAmG;IAEpH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAgB9F,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAwC1E,KAAK,CAAC,OAAO,EAAE,YAAY;IA6BjC,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAI3C,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBhG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IA0BlG,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBlG,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;CAwB/G"}
@@ -5,45 +5,35 @@ import { ServerError, Status } from 'nice-grpc';
5
5
  import { EthProcessorState } from './binds.js';
6
6
  import { AccountProcessorState } from './account-processor-state.js';
7
7
  import { ProcessorTemplateProcessorState } from './base-processor-template.js';
8
- import { defaultPreprocessHandler, GlobalProcessorState } from './base-processor.js';
8
+ import { GlobalProcessorState } from './base-processor.js';
9
9
  import { validateAndNormalizeAddress } from './eth.js';
10
10
  import { EthChainId } from '@sentio/chain';
11
11
  import { EthContext } from './context.js';
12
12
  import { TemplateInstanceState } from '../core/template.js';
13
13
  import { timeOrBlockToBlockNumber } from '@sentio/sdk/utils';
14
+ import { HandlerRegister } from '../core/handler-register.js';
14
15
  export class EthPlugin extends Plugin {
15
16
  name = 'EthPlugin';
16
- handlers = {
17
- blockHandlers: [],
18
- eventHandlers: [],
19
- traceHandlers: [],
20
- transactionHandlers: []
21
- };
22
- preprocessHandlers = {
23
- blockHandlers: [],
24
- eventHandlers: [],
25
- traceHandlers: [],
26
- transactionHandlers: []
27
- };
17
+ handlerRegister = new HandlerRegister();
28
18
  partitionManager = new PartitionHandlerManager();
29
- async configure(config) {
30
- const handlers = {
31
- blockHandlers: [],
32
- eventHandlers: [],
33
- traceHandlers: [],
34
- transactionHandlers: []
35
- };
36
- const preprocessHandlers = {
37
- blockHandlers: [],
38
- eventHandlers: [],
39
- traceHandlers: [],
40
- transactionHandlers: []
41
- };
19
+ async init(config) {
20
+ for (const state of [EthProcessorState.INSTANCE, GlobalProcessorState.INSTANCE, AccountProcessorState.INSTANCE]) {
21
+ for (const processor of state.getValues()) {
22
+ const chainId = processor.getChainId();
23
+ config.chainIds.push(chainId);
24
+ }
25
+ }
26
+ }
27
+ async configure(config, forChainId) {
28
+ this.handlerRegister.clear(forChainId);
42
29
  for (const processor of EthProcessorState.INSTANCE.getValues()) {
43
30
  // If server favor incremental update this need to change
44
31
  // Start basic config for contract
45
32
  const chainId = processor.getChainId();
46
33
  // this.processorsByChainId.set(chainId, processor)
34
+ if (forChainId !== undefined && forChainId !== chainId.toString()) {
35
+ continue;
36
+ }
47
37
  const provider = getProvider(chainId);
48
38
  const startBlock = await timeOrBlockToBlockNumber(provider, processor.config.start);
49
39
  const endBlock = processor.config.end ? await timeOrBlockToBlockNumber(provider, processor.config.end) : undefined;
@@ -60,8 +50,7 @@ export class EthPlugin extends Plugin {
60
50
  });
61
51
  // Step 1. Prepare all the block handlers
62
52
  for (const blockHandler of processor.blockHandlers) {
63
- preprocessHandlers.blockHandlers.push(blockHandler.preprocessHandler ?? defaultPreprocessHandler);
64
- const handlerId = handlers.blockHandlers.push(blockHandler.handler) - 1;
53
+ const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
65
54
  this.partitionManager.registerPartitionHandler(HandlerType.ETH_BLOCK, handlerId, blockHandler.partitionHandler);
66
55
  // TODO wrap the block handler into one
67
56
  contractConfig.intervalConfigs.push({
@@ -76,8 +65,7 @@ export class EthPlugin extends Plugin {
76
65
  }
77
66
  // Step 2. Prepare all trace handlers
78
67
  for (const traceHandler of processor.traceHandlers) {
79
- preprocessHandlers.traceHandlers.push(traceHandler.preprocessHandler ?? defaultPreprocessHandler);
80
- const handlerId = handlers.traceHandlers.push(traceHandler.handler) - 1;
68
+ const handlerId = this.handlerRegister.register(traceHandler.handler, chainId);
81
69
  this.partitionManager.registerPartitionHandler(HandlerType.ETH_TRACE, handlerId, traceHandler.partitionHandler);
82
70
  for (const signature of traceHandler.signatures) {
83
71
  contractConfig.traceConfigs.push({
@@ -91,8 +79,7 @@ export class EthPlugin extends Plugin {
91
79
  // Step 3. Prepare all the event handlers
92
80
  for (const eventsHandler of processor.eventHandlers) {
93
81
  // associate id with filter
94
- preprocessHandlers.eventHandlers.push(eventsHandler.preprocessHandler ?? defaultPreprocessHandler);
95
- const handlerId = handlers.eventHandlers.push(eventsHandler.handler) - 1;
82
+ const handlerId = this.handlerRegister.register(eventsHandler.handler, chainId);
96
83
  this.partitionManager.registerPartitionHandler(HandlerType.ETH_LOG, handlerId, eventsHandler.partitionHandler);
97
84
  const logConfig = {
98
85
  handlerId: handlerId,
@@ -129,6 +116,9 @@ export class EthPlugin extends Plugin {
129
116
  }
130
117
  for (const processor of GlobalProcessorState.INSTANCE.getValues()) {
131
118
  const chainId = processor.getChainId();
119
+ if (forChainId !== undefined && forChainId !== chainId.toString()) {
120
+ continue;
121
+ }
132
122
  const provider = getProvider(chainId);
133
123
  const startBlock = await timeOrBlockToBlockNumber(provider, processor.config.start);
134
124
  const endBlock = processor.config.end ? await timeOrBlockToBlockNumber(provider, processor.config.end) : undefined;
@@ -144,8 +134,7 @@ export class EthPlugin extends Plugin {
144
134
  endBlock
145
135
  });
146
136
  for (const blockHandler of processor.blockHandlers) {
147
- preprocessHandlers.blockHandlers.push(blockHandler.preprocessHandler ?? defaultPreprocessHandler);
148
- const handlerId = handlers.blockHandlers.push(blockHandler.handler) - 1;
137
+ const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
149
138
  contractConfig.intervalConfigs.push({
150
139
  slot: 0,
151
140
  slotInterval: blockHandler.blockInterval,
@@ -157,8 +146,7 @@ export class EthPlugin extends Plugin {
157
146
  });
158
147
  }
159
148
  for (const transactionHandler of processor.transactionHandler) {
160
- preprocessHandlers.transactionHandlers.push(transactionHandler.preprocessHandler ?? defaultPreprocessHandler);
161
- const handlerId = handlers.transactionHandlers.push(transactionHandler.handler) - 1;
149
+ const handlerId = this.handlerRegister.register(transactionHandler.handler, chainId);
162
150
  this.partitionManager.registerPartitionHandler(HandlerType.ETH_TRANSACTION, handlerId, transactionHandler.partitionHandler);
163
151
  contractConfig.transactionConfig.push({
164
152
  handlerId: handlerId,
@@ -167,8 +155,7 @@ export class EthPlugin extends Plugin {
167
155
  });
168
156
  }
169
157
  for (const traceHandler of processor.traceHandlers) {
170
- preprocessHandlers.traceHandlers.push(traceHandler.preprocessHandler ?? defaultPreprocessHandler);
171
- const handlerId = handlers.traceHandlers.push(traceHandler.handler) - 1;
158
+ const handlerId = this.handlerRegister.register(traceHandler.handler, chainId);
172
159
  for (const signature of traceHandler.signatures) {
173
160
  contractConfig.traceConfigs.push({
174
161
  signature: signature,
@@ -182,6 +169,9 @@ export class EthPlugin extends Plugin {
182
169
  }
183
170
  // part 1.b prepare EVM account processors
184
171
  for (const processor of AccountProcessorState.INSTANCE.getValues()) {
172
+ if (forChainId !== undefined && forChainId !== processor.getChainId().toString()) {
173
+ continue;
174
+ }
185
175
  const accountConfig = AccountConfig.fromPartial({
186
176
  address: validateAndNormalizeAddress(processor.config.address),
187
177
  chainId: processor.getChainId().toString(),
@@ -190,8 +180,7 @@ export class EthPlugin extends Plugin {
190
180
  // TODO add interval
191
181
  for (const eventsHandler of processor.eventHandlers) {
192
182
  // associate id with filter
193
- preprocessHandlers.eventHandlers.push(eventsHandler.preprocessHandler ?? defaultPreprocessHandler);
194
- const handlerId = handlers.eventHandlers.push(eventsHandler.handler) - 1;
183
+ const handlerId = this.handlerRegister.register(eventsHandler.handler, processor.getChainId());
195
184
  const logConfig = {
196
185
  handlerId: handlerId,
197
186
  handlerName: eventsHandler.handlerName,
@@ -228,8 +217,8 @@ export class EthPlugin extends Plugin {
228
217
  }
229
218
  config.accountConfigs.push(accountConfig);
230
219
  }
231
- this.handlers = handlers;
232
- this.preprocessHandlers = preprocessHandlers;
220
+ // this.handlers = handlers
221
+ // this.preprocessHandlers = preprocessHandlers
233
222
  }
234
223
  supportedHandlers = [HandlerType.ETH_LOG, HandlerType.ETH_BLOCK, HandlerType.ETH_TRACE, HandlerType.ETH_TRANSACTION];
235
224
  processBinding(request, preparedData) {
@@ -247,20 +236,6 @@ export class EthPlugin extends Plugin {
247
236
  throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType);
248
237
  }
249
238
  }
250
- preprocessBinding(request, preprocessStore) {
251
- switch (request.handlerType) {
252
- case HandlerType.ETH_LOG:
253
- return this.preprocessLog(request, preprocessStore);
254
- case HandlerType.ETH_TRACE:
255
- return this.preprocessTrace(request, preprocessStore);
256
- case HandlerType.ETH_BLOCK:
257
- return this.preprocessBlock(request, preprocessStore);
258
- case HandlerType.ETH_TRANSACTION:
259
- return this.preprocessTransaction(request, preprocessStore);
260
- default:
261
- throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType);
262
- }
263
- }
264
239
  async partition(request) {
265
240
  let data;
266
241
  switch (request.handlerType) {
@@ -322,63 +297,6 @@ export class EthPlugin extends Plugin {
322
297
  stateDiff(config) {
323
298
  return TemplateInstanceState.INSTANCE.getValues().length !== config.templateInstances.length;
324
299
  }
325
- async preprocessLog(request, preprocessStore) {
326
- if (!request.data?.ethLog?.log) {
327
- throw new ServerError(Status.INVALID_ARGUMENT, "Log can't be null");
328
- }
329
- const ethLog = request.data.ethLog;
330
- const promises = [];
331
- for (const handlerId of request.handlerIds) {
332
- const handler = this.preprocessHandlers.eventHandlers[handlerId];
333
- const promise = handler(ethLog, preprocessStore).catch((e) => {
334
- throw new ServerError(Status.INTERNAL, 'error processing log: ' + JSON.stringify(ethLog.log) + '\n' + errorString(e));
335
- });
336
- promises.push(promise);
337
- }
338
- return mergePreprocessResults(await Promise.all(promises));
339
- }
340
- async preprocessTrace(binding, preprocessStore) {
341
- if (!binding.data?.ethTrace?.trace) {
342
- throw new ServerError(Status.INVALID_ARGUMENT, "Trace can't be null");
343
- }
344
- const ethTrace = binding.data.ethTrace;
345
- const promises = [];
346
- for (const handlerId of binding.handlerIds) {
347
- const promise = this.preprocessHandlers.traceHandlers[handlerId](ethTrace, preprocessStore).catch((e) => {
348
- throw new ServerError(Status.INTERNAL, 'error processing trace: ' + JSON.stringify(ethTrace.trace) + '\n' + errorString(e));
349
- });
350
- promises.push(promise);
351
- }
352
- return mergePreprocessResults(await Promise.all(promises));
353
- }
354
- async preprocessBlock(binding, preprocessStore) {
355
- if (!binding.data?.ethBlock?.block) {
356
- throw new ServerError(Status.INVALID_ARGUMENT, "Block can't be empty");
357
- }
358
- const ethBlock = binding.data.ethBlock;
359
- const promises = [];
360
- for (const handlerId of binding.handlerIds) {
361
- const promise = this.preprocessHandlers.blockHandlers[handlerId](ethBlock, preprocessStore).catch((e) => {
362
- throw new ServerError(Status.INTERNAL, 'error processing block: ' + ethBlock.block?.number + '\n' + errorString(e));
363
- });
364
- promises.push(promise);
365
- }
366
- return mergePreprocessResults(await Promise.all(promises));
367
- }
368
- async preprocessTransaction(binding, preprocessStore) {
369
- if (!binding.data?.ethTransaction?.transaction) {
370
- throw new ServerError(Status.INVALID_ARGUMENT, "transaction can't be null");
371
- }
372
- const ethTransaction = binding.data.ethTransaction;
373
- const promises = [];
374
- for (const handlerId of binding.handlerIds) {
375
- const promise = this.preprocessHandlers.transactionHandlers[handlerId](ethTransaction, preprocessStore).catch((e) => {
376
- throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(ethTransaction.transaction) + '\n' + errorString(e));
377
- });
378
- promises.push(promise);
379
- }
380
- return mergePreprocessResults(await Promise.all(promises));
381
- }
382
300
  async processLog(request, preparedData) {
383
301
  if (!request.data?.ethLog?.log) {
384
302
  throw new ServerError(Status.INVALID_ARGUMENT, "Log can't be null");
@@ -386,7 +304,7 @@ export class EthPlugin extends Plugin {
386
304
  const ethLog = request.data.ethLog;
387
305
  const promises = [];
388
306
  for (const handlerId of request.handlerIds) {
389
- const handler = this.handlers.eventHandlers[handlerId];
307
+ const handler = this.handlerRegister.getHandlerById(handlerId);
390
308
  const promise = handler(ethLog, preparedData).catch((e) => {
391
309
  console.error('error processing log: ', e);
392
310
  throw new ServerError(Status.INTERNAL, 'error processing log: ' + JSON.stringify(ethLog.log) + '\n' + errorString(e));
@@ -405,7 +323,9 @@ export class EthPlugin extends Plugin {
405
323
  const ethTrace = binding.data.ethTrace;
406
324
  const promises = [];
407
325
  for (const handlerId of binding.handlerIds) {
408
- const promise = this.handlers.traceHandlers[handlerId](ethTrace, preparedData).catch((e) => {
326
+ const promise = this.handlerRegister
327
+ .getHandlerById(handlerId)(ethTrace, preparedData)
328
+ .catch((e) => {
409
329
  console.error('error processing trace: ', e);
410
330
  throw new ServerError(Status.INTERNAL, 'error processing trace: ' + JSON.stringify(ethTrace.trace) + '\n' + errorString(e));
411
331
  });
@@ -423,7 +343,9 @@ export class EthPlugin extends Plugin {
423
343
  const ethBlock = binding.data.ethBlock;
424
344
  const promises = [];
425
345
  for (const handlerId of binding.handlerIds) {
426
- const promise = this.handlers.blockHandlers[handlerId](ethBlock, preparedData).catch((e) => {
346
+ const promise = this.handlerRegister
347
+ .getHandlerById(handlerId)(ethBlock, preparedData)
348
+ .catch((e) => {
427
349
  console.error('error processing block: ', e);
428
350
  throw new ServerError(Status.INTERNAL, 'error processing block: ' + ethBlock.block?.number + '\n' + errorString(e));
429
351
  });
@@ -441,7 +363,9 @@ export class EthPlugin extends Plugin {
441
363
  const ethTransaction = binding.data.ethTransaction;
442
364
  const promises = [];
443
365
  for (const handlerId of binding.handlerIds) {
444
- const promise = this.handlers.transactionHandlers[handlerId](ethTransaction, preparedData).catch((e) => {
366
+ const promise = this.handlerRegister
367
+ .getHandlerById(handlerId)(ethTransaction, preparedData)
368
+ .catch((e) => {
445
369
  throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(ethTransaction.transaction) + '\n' + errorString(e));
446
370
  });
447
371
  if (GLOBAL_CONFIG.execution.sequential) {
@@ -1 +1 @@
1
- {"version":3,"file":"eth-plugin.js","sourceRoot":"","sources":["../../src/eth/eth-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eth-plugin.js","sourceRoot":"","sources":["../../src/eth/eth-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,13 @@
1
1
  import { Plugin } from '@sentio/runtime';
2
2
  import { PartitionHandlerManager } from '../core/index.js';
3
- import { Data_FuelBlock, Data_FuelReceipt, Data_FuelTransaction, DataBinding, HandlerType, ProcessConfigResponse, ProcessResult, ProcessStreamResponse_Partitions, StartRequest } from '@sentio/protos';
4
- interface Handlers {
5
- transactionHandlers: ((trace: Data_FuelTransaction) => Promise<ProcessResult>)[];
6
- blockHandlers: ((block: Data_FuelBlock) => Promise<ProcessResult>)[];
7
- receiptHandlers: ((log: Data_FuelReceipt) => Promise<ProcessResult>)[];
8
- }
3
+ import { HandlerRegister } from '../core/handler-register.js';
4
+ import { DataBinding, HandlerType, InitResponse, ProcessConfigResponse, ProcessResult, ProcessStreamResponse_Partitions, StartRequest } from '@sentio/protos';
9
5
  export declare class FuelPlugin extends Plugin {
10
6
  name: string;
11
- handlers: Handlers;
7
+ handlerRegister: HandlerRegister;
12
8
  partitionManager: PartitionHandlerManager;
13
- configure(config: ProcessConfigResponse): Promise<void>;
9
+ init(config: InitResponse): Promise<void>;
10
+ configure(config: ProcessConfigResponse, forChainId?: string): Promise<void>;
14
11
  supportedHandlers: HandlerType[];
15
12
  processBinding(request: DataBinding): Promise<ProcessResult>;
16
13
  partition(request: DataBinding): Promise<ProcessStreamResponse_Partitions>;
@@ -20,5 +17,4 @@ export declare class FuelPlugin extends Plugin {
20
17
  processTransaction(binding: DataBinding): Promise<ProcessResult>;
21
18
  processBlock(binding: DataBinding): Promise<ProcessResult>;
22
19
  }
23
- export {};
24
20
  //# sourceMappingURL=fuel-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fuel-plugin.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,MAAM,EAAiC,MAAM,iBAAiB,CAAA;AACxH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAEL,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,gCAAgC,EAChC,YAAY,EACb,MAAM,gBAAgB,CAAA;AASvB,UAAU,QAAQ;IAChB,mBAAmB,EAAE,CAAC,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;IAChF,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;IACpE,eAAe,EAAE,CAAC,CAAC,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;CACvE;AAED,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAe;IAC3B,QAAQ,EAAE,QAAQ,CAIjB;IAED,gBAAgB,0BAAgC;IAE1C,SAAS,CAAC,MAAM,EAAE,qBAAqB;IA2F7C,iBAAiB,gBAKhB;IAED,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAatD,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAyC1E,KAAK,CAAC,OAAO,EAAE,YAAY;IAUjC,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAI3C,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAwB5D,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBhE,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CAsBjE"}
1
+ {"version":3,"file":"fuel-plugin.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmD,MAAM,EAAiC,MAAM,iBAAiB,CAAA;AACxH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAEL,WAAW,EACX,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,gCAAgC,EAChC,YAAY,EACb,MAAM,gBAAgB,CAAA;AASvB,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAe;IAC3B,eAAe,kBAAwB;IACvC,gBAAgB,0BAAgC;IAE1C,IAAI,CAAC,MAAM,EAAE,YAAY;IAOzB,SAAS,CAAC,MAAM,EAAE,qBAAqB,EAAE,UAAU,CAAC,EAAE,MAAM;IAyFlE,iBAAiB,gBAKhB;IAED,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAatD,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAyC1E,KAAK,CAAC,OAAO,EAAE,YAAY;IAUjC,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAI3C,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IA0B5D,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAyBhE,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CAwBjE"}
@@ -1,5 +1,6 @@
1
1
  import { errorString, GLOBAL_CONFIG, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime';
2
2
  import { PartitionHandlerManager } from '../core/index.js';
3
+ import { HandlerRegister } from '../core/handler-register.js';
3
4
  import { ContractConfig, HandlerType } from '@sentio/protos';
4
5
  import { ServerError, Status } from 'nice-grpc';
5
6
  import { TemplateInstanceState } from '../core/template.js';
@@ -9,19 +10,21 @@ import { FuelProcessor } from './fuel-processor.js';
9
10
  import { FuelGlobalProcessor } from './global-processor.js';
10
11
  export class FuelPlugin extends Plugin {
11
12
  name = 'FuelPlugin';
12
- handlers = {
13
- transactionHandlers: [],
14
- blockHandlers: [],
15
- receiptHandlers: []
16
- };
13
+ handlerRegister = new HandlerRegister();
17
14
  partitionManager = new PartitionHandlerManager();
18
- async configure(config) {
19
- const handlers = {
20
- transactionHandlers: [],
21
- blockHandlers: [],
22
- receiptHandlers: []
23
- };
15
+ async init(config) {
16
+ for (const fuelProcessor of FuelProcessorState.INSTANCE.getValues()) {
17
+ const chainId = fuelProcessor.config.chainId;
18
+ config.chainIds.push(chainId);
19
+ }
20
+ }
21
+ async configure(config, forChainId) {
22
+ this.handlerRegister.clear(forChainId);
24
23
  for (const processor of FuelProcessorState.INSTANCE.getValues()) {
24
+ const chainId = processor.config.chainId;
25
+ if (forChainId !== undefined && forChainId !== chainId.toString()) {
26
+ continue;
27
+ }
25
28
  const processorConfig = processor.config;
26
29
  const contractConfig = ContractConfig.fromPartial({
27
30
  processorType: USER_PROCESSOR,
@@ -35,7 +38,7 @@ export class FuelPlugin extends Plugin {
35
38
  endBlock: processorConfig.endBlock
36
39
  });
37
40
  for (const txHandler of processor.txHandlers) {
38
- const handlerId = handlers.transactionHandlers.push(txHandler.handler) - 1;
41
+ const handlerId = this.handlerRegister.register(txHandler.handler, chainId);
39
42
  this.partitionManager.registerPartitionHandler(HandlerType.FUEL_TRANSACTION, handlerId, txHandler.partitionHandler);
40
43
  const handlerName = txHandler.handlerName;
41
44
  if (processor instanceof FuelProcessor) {
@@ -65,7 +68,7 @@ export class FuelPlugin extends Plugin {
65
68
  }
66
69
  }
67
70
  for (const receiptHandler of processor.receiptHandlers ?? []) {
68
- const handlerId = handlers.receiptHandlers.push(receiptHandler.handler) - 1;
71
+ const handlerId = this.handlerRegister.register(receiptHandler.handler, chainId);
69
72
  this.partitionManager.registerPartitionHandler(HandlerType.FUEL_RECEIPT, handlerId, receiptHandler.partitionHandler);
70
73
  const handlerName = receiptHandler.handlerName;
71
74
  if (processor instanceof FuelProcessor) {
@@ -77,7 +80,7 @@ export class FuelPlugin extends Plugin {
77
80
  }
78
81
  }
79
82
  for (const blockHandler of processor.blockHandlers) {
80
- const handlerId = handlers.blockHandlers.push(blockHandler.handler) - 1;
83
+ const handlerId = this.handlerRegister.register(blockHandler.handler, chainId);
81
84
  this.partitionManager.registerPartitionHandler(HandlerType.FUEL_BLOCK, handlerId, blockHandler.partitionHandler);
82
85
  contractConfig.intervalConfigs.push({
83
86
  slot: 0,
@@ -92,7 +95,6 @@ export class FuelPlugin extends Plugin {
92
95
  }
93
96
  config.contractConfigs.push(contractConfig);
94
97
  }
95
- this.handlers = handlers;
96
98
  }
97
99
  supportedHandlers = [
98
100
  HandlerType.FUEL_TRANSACTION,
@@ -168,7 +170,9 @@ export class FuelPlugin extends Plugin {
168
170
  }
169
171
  const promises = [];
170
172
  for (const handlerId of binding.handlerIds) {
171
- const promise = this.handlers.receiptHandlers[handlerId](receipt).catch((e) => {
173
+ const promise = this.handlerRegister
174
+ .getHandlerById(handlerId)(receipt)
175
+ .catch((e) => {
172
176
  throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(receipt) + '\n' + errorString(e));
173
177
  });
174
178
  if (GLOBAL_CONFIG.execution.sequential) {
@@ -185,7 +189,9 @@ export class FuelPlugin extends Plugin {
185
189
  const fuelTransaction = binding.data.fuelTransaction;
186
190
  const promises = [];
187
191
  for (const handlerId of binding.handlerIds) {
188
- const promise = this.handlers.transactionHandlers[handlerId](fuelTransaction).catch((e) => {
192
+ const promise = this.handlerRegister
193
+ .getHandlerById(handlerId)(fuelTransaction)
194
+ .catch((e) => {
189
195
  throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(fuelTransaction.transaction) + '\n' + errorString(e));
190
196
  });
191
197
  if (GLOBAL_CONFIG.execution.sequential) {
@@ -202,7 +208,9 @@ export class FuelPlugin extends Plugin {
202
208
  const ethBlock = binding.data.fuelBlock;
203
209
  const promises = [];
204
210
  for (const handlerId of binding.handlerIds) {
205
- const promise = this.handlers.blockHandlers[handlerId](ethBlock).catch((e) => {
211
+ const promise = this.handlerRegister
212
+ .getHandlerById(handlerId)(ethBlock)
213
+ .catch((e) => {
206
214
  console.error('error processing block: ', e);
207
215
  throw new ServerError(Status.INTERNAL, 'error processing block: ' + ethBlock.block?.height + '\n' + errorString(e));
208
216
  });