@sentio/sdk 2.54.0-rc.6 → 2.54.0-rc.7

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.
@@ -1,8 +1,9 @@
1
1
  import { Plugin } from '@sentio/runtime';
2
- import { Data_FuelBlock, Data_FuelCall, DataBinding, HandlerType, ProcessConfigResponse, ProcessResult, StartRequest } from '@sentio/protos';
2
+ import { Data_FuelBlock, Data_FuelCall, Data_FuelReceipt, DataBinding, HandlerType, ProcessConfigResponse, ProcessResult, StartRequest } from '@sentio/protos';
3
3
  interface Handlers {
4
- callHandlers: ((trace: Data_FuelCall) => Promise<ProcessResult>)[];
4
+ transactionHandlers: ((trace: Data_FuelCall) => Promise<ProcessResult>)[];
5
5
  blockHandlers: ((block: Data_FuelBlock) => Promise<ProcessResult>)[];
6
+ logHandlers: ((log: Data_FuelReceipt) => Promise<ProcessResult>)[];
6
7
  }
7
8
  export declare class FuelPlugin extends Plugin {
8
9
  name: string;
@@ -12,6 +13,7 @@ export declare class FuelPlugin extends Plugin {
12
13
  processBinding(request: DataBinding): Promise<ProcessResult>;
13
14
  start(request: StartRequest): Promise<void>;
14
15
  stateDiff(config: ProcessConfigResponse): boolean;
16
+ processLog(binding: DataBinding): Promise<ProcessResult>;
15
17
  processTransaction(binding: DataBinding): Promise<ProcessResult>;
16
18
  processBlock(binding: DataBinding): Promise<ProcessResult>;
17
19
  }
@@ -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,EAEL,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,YAAY,EACb,MAAM,gBAAgB,CAAA;AASvB,UAAU,QAAQ;IAChB,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;IAClE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;CACrE;AAED,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAe;IAC3B,QAAQ,EAAE,QAAQ,CAGjB;IAEK,SAAS,CAAC,MAAM,EAAE,qBAAqB;IA2E7C,iBAAiB,gBAAkD;IAEnE,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAWtD,KAAK,CAAC,OAAO,EAAE,YAAY;IAUjC,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAI3C,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,EAEL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,aAAa,EACb,YAAY,EACb,MAAM,gBAAgB,CAAA;AASvB,UAAU,QAAQ;IAChB,mBAAmB,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;IACzE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;IACpE,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC,EAAE,CAAA;CACnE;AAED,qBAAa,UAAW,SAAQ,MAAM;IACpC,IAAI,EAAE,MAAM,CAAe;IAC3B,QAAQ,EAAE,QAAQ,CAIjB;IAEK,SAAS,CAAC,MAAM,EAAE,qBAAqB;IAgF7C,iBAAiB,gBAKhB;IAED,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAatD,KAAK,CAAC,OAAO,EAAE,YAAY;IAUjC,SAAS,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO;IAI3C,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAsBxD,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAuBhE,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;CAsBjE"}
@@ -9,13 +9,15 @@ import { FuelGlobalProcessor } from './global-processor.js';
9
9
  export class FuelPlugin extends Plugin {
10
10
  name = 'FuelPlugin';
11
11
  handlers = {
12
- callHandlers: [],
13
- blockHandlers: []
12
+ transactionHandlers: [],
13
+ blockHandlers: [],
14
+ logHandlers: []
14
15
  };
15
16
  async configure(config) {
16
17
  const handlers = {
17
- callHandlers: [],
18
- blockHandlers: []
18
+ transactionHandlers: [],
19
+ blockHandlers: [],
20
+ logHandlers: []
19
21
  };
20
22
  for (const processor of FuelProcessorState.INSTANCE.getValues()) {
21
23
  const contractConfig = ContractConfig.fromPartial({
@@ -30,24 +32,16 @@ export class FuelPlugin extends Plugin {
30
32
  endBlock: processor.config.endBlock
31
33
  });
32
34
  for (const callHandler of processor.callHandlers) {
33
- const handlerId = handlers.callHandlers.push(callHandler.handler) - 1;
35
+ const handlerId = handlers.transactionHandlers.push(callHandler.handler) - 1;
34
36
  const handlerName = callHandler.handlerName;
35
37
  if (processor instanceof FuelProcessor) {
36
- if (callHandler.logConfig?.logIds?.length) {
37
- contractConfig.fuelLogConfigs.push({
38
- logIds: callHandler.logConfig.logIds,
39
- handlerId,
40
- handlerName
41
- });
42
- }
43
- else {
44
- const fetchConfig = {
45
- handlerId,
46
- handlerName,
47
- filters: callHandler.fetchConfig?.filters || []
48
- };
49
- contractConfig.fuelCallConfigs.push(fetchConfig);
50
- }
38
+ // on transaction
39
+ const fetchConfig = {
40
+ handlerId,
41
+ handlerName,
42
+ filters: callHandler.fetchConfig?.filters || []
43
+ };
44
+ contractConfig.fuelCallConfigs.push(fetchConfig);
51
45
  }
52
46
  else if (processor instanceof FuelAssetProcessor) {
53
47
  const assetConfig = callHandler.assetConfig;
@@ -67,6 +61,17 @@ export class FuelPlugin extends Plugin {
67
61
  contractConfig.contract.address = '*';
68
62
  }
69
63
  }
64
+ for (const logHandler of processor.logHandlers ?? []) {
65
+ const handlerId = handlers.logHandlers.push(logHandler.handler) - 1;
66
+ const handlerName = logHandler.handlerName;
67
+ if (processor instanceof FuelProcessor) {
68
+ contractConfig.fuelLogConfigs.push({
69
+ logIds: logHandler.logConfig?.logIds || [],
70
+ handlerId,
71
+ handlerName
72
+ });
73
+ }
74
+ }
70
75
  for (const blockHandler of processor.blockHandlers) {
71
76
  const handlerId = handlers.blockHandlers.push(blockHandler.handler) - 1;
72
77
  contractConfig.intervalConfigs.push({
@@ -80,16 +85,22 @@ export class FuelPlugin extends Plugin {
80
85
  // fetchConfig: blockHandler.fetchConfig
81
86
  });
82
87
  }
83
- // Finish up a contract
84
88
  config.contractConfigs.push(contractConfig);
85
89
  }
86
90
  this.handlers = handlers;
87
91
  }
88
- supportedHandlers = [HandlerType.FUEL_CALL, HandlerType.FUEL_BLOCK];
92
+ supportedHandlers = [
93
+ HandlerType.FUEL_TRANSACTION,
94
+ HandlerType.FUEL_RECEIPT,
95
+ HandlerType.FUEL_CALL,
96
+ HandlerType.FUEL_BLOCK
97
+ ];
89
98
  processBinding(request) {
90
99
  switch (request.handlerType) {
91
- case HandlerType.FUEL_CALL:
100
+ case HandlerType.FUEL_TRANSACTION:
92
101
  return this.processTransaction(request);
102
+ case HandlerType.FUEL_RECEIPT:
103
+ return this.processLog(request);
93
104
  case HandlerType.FUEL_BLOCK:
94
105
  return this.processBlock(request);
95
106
  default:
@@ -109,14 +120,31 @@ export class FuelPlugin extends Plugin {
109
120
  stateDiff(config) {
110
121
  return TemplateInstanceState.INSTANCE.getValues().length !== config.templateInstances.length;
111
122
  }
123
+ async processLog(binding) {
124
+ if (!binding.data?.fuelLog?.transaction) {
125
+ throw new ServerError(Status.INVALID_ARGUMENT, "transaction can't be null");
126
+ }
127
+ const log = binding.data.fuelLog;
128
+ const promises = [];
129
+ for (const handlerId of binding.handlerIds) {
130
+ const promise = this.handlers.logHandlers[handlerId](log).catch((e) => {
131
+ throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(log) + '\n' + errorString(e));
132
+ });
133
+ if (GLOBAL_CONFIG.execution.sequential) {
134
+ await promise;
135
+ }
136
+ promises.push(promise);
137
+ }
138
+ return mergeProcessResults(await Promise.all(promises));
139
+ }
112
140
  async processTransaction(binding) {
113
- if (!binding.data?.fuelCall?.transaction) {
141
+ if (!binding.data?.fuelTransaction?.transaction) {
114
142
  throw new ServerError(Status.INVALID_ARGUMENT, "transaction can't be null");
115
143
  }
116
- const fuelTransaction = binding.data.fuelCall;
144
+ const fuelTransaction = binding.data.fuelTransaction;
117
145
  const promises = [];
118
146
  for (const handlerId of binding.handlerIds) {
119
- const promise = this.handlers.callHandlers[handlerId](fuelTransaction).catch((e) => {
147
+ const promise = this.handlers.transactionHandlers[handlerId](fuelTransaction).catch((e) => {
120
148
  throw new ServerError(Status.INTERNAL, 'error processing transaction: ' + JSON.stringify(fuelTransaction.transaction) + '\n' + errorString(e));
121
149
  });
122
150
  if (GLOBAL_CONFIG.execution.sequential) {
@@ -1 +1 @@
1
- {"version":3,"file":"fuel-plugin.js","sourceRoot":"","sources":["../../src/fuel/fuel-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fuel-plugin.js","sourceRoot":"","sources":["../../src/fuel/fuel-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import { Data_FuelCall, HandleInterval } from '@sentio/protos';
1
+ import { Data_FuelCall, Data_FuelReceipt, HandleInterval } from '@sentio/protos';
2
2
  import { FuelContractContext } from './context.js';
3
3
  import { Contract, JsonAbi } from 'fuels';
4
4
  import { FuelNetwork } from './network.js';
5
5
  import { FuelFetchConfig } from './transaction.js';
6
- import { BlockHandler, CallHandler, FuelBaseProcessor, FuelBlock, FuelLog, FuelTransaction } from './types.js';
6
+ import { BlockHandler, CallHandler, FuelBaseProcessor, FuelBlock, FuelLog, FuelTransaction, LogHandler } from './types.js';
7
7
  import { PromiseOrVoid } from '../core/index.js';
8
8
  export declare class FuelProcessor<TContract extends Contract> implements FuelBaseProcessor<FuelProcessorConfig> {
9
9
  readonly config: FuelProcessorConfig;
10
10
  callHandlers: CallHandler<Data_FuelCall>[];
11
11
  blockHandlers: BlockHandler[];
12
+ logHandlers: LogHandler<Data_FuelReceipt>[];
12
13
  private provider;
13
14
  private contract;
14
15
  static bind(config: FuelProcessorConfig): FuelProcessor<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"fuel-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAkB,cAAc,EAAiB,MAAM,gBAAgB,CAAA;AAC7G,OAAO,EAAyB,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAM,QAAQ,EAAa,OAAO,EAAY,MAAM,OAAO,CAAA;AAClE,OAAO,EAAE,WAAW,EAAe,MAAM,cAAc,CAAA;AACvD,OAAO,EAA2D,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC3G,OAAO,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,OAAO,EAEP,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIhD,qBAAa,aAAa,CAAC,SAAS,SAAS,QAAQ,CAAE,YAAW,iBAAiB,CAAC,mBAAmB,CAAC;IAa1F,QAAQ,CAAC,MAAM,EAAE,mBAAmB;IAZhD,YAAY,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAK;IAC/C,aAAa,EAAE,YAAY,EAAE,CAAK;IAElC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAW;IAE3B,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC;gBAMvC,MAAM,EAAE,mBAAmB;IAIhD,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAC5B,SAAS;IAeR,aAAa,CAClB,OAAO,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC,KAAK,aAAa,EAC7F,MAAM,GAAE,eAA2C;IAkCrD,OAAO,CAAC,MAAM;IA6EP,KAAK,CAAC,CAAC,EACZ,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,EAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC,KAAK,aAAa;IAqD5E,UAAU,CACf,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC,KAAK,aAAa,EACjF,YAAY,EAAE,cAAc,GAAG,SAAS,EACxC,aAAa,EAAE,cAAc,GAAG,SAAS,GAExC,IAAI;IAmDA,eAAe,CACpB,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC,KAAK,aAAa,EACjF,aAAa,SAAM,EACnB,qBAAqB,SAAO,GAE3B,IAAI;IAYA,cAAc,CACnB,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,CAAC,SAAS,CAAC,KAAK,aAAa,EACjF,qBAAqB,SAAK,EAC1B,6BAA6B,SAAM,GAElC,IAAI;CAQR;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,WAAW,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,OAAO,CAAA;CACb,CAAA;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAAG,MAAM,CAelF;AAGD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,sCAGtE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAIzG"}
1
+ {"version":3,"file":"fuel-processor.d.ts","sourceRoot":"","sources":["../../src/fuel/fuel-processor.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,16 @@
1
+ import { ProcessResult } from '@sentio/protos';
1
2
  import { FuelCall, FuelContext, FuelContractContext } from './context.js';
2
3
  import { bn, Contract, Interface } from 'fuels';
3
4
  import { getProvider } from './network.js';
4
- import { decodeFuelTransactionWithAbi, DEFAULT_FUEL_FETCH_CONFIG } from './transaction.js';
5
+ import { decodeFuelTransaction, decodeFuelTransactionWithAbi, decodeLog, DEFAULT_FUEL_FETCH_CONFIG } from './transaction.js';
5
6
  import { FuelProcessorState } from './types.js';
6
- import { mergeProcessResults } from '@sentio/runtime';
7
7
  import { ServerError, Status } from 'nice-grpc';
8
8
  import { getHandlerName, proxyProcessor } from '../utils/metrics.js';
9
9
  export class FuelProcessor {
10
10
  config;
11
11
  callHandlers = [];
12
12
  blockHandlers = [];
13
+ logHandlers = [];
13
14
  provider;
14
15
  contract;
15
16
  static bind(config) {
@@ -122,40 +123,34 @@ export class FuelProcessor {
122
123
  }
123
124
  onLog(logIdFilter, handler) {
124
125
  const logIds = new Set(Array.isArray(logIdFilter) ? logIdFilter : [logIdFilter]);
125
- const callHandler = {
126
+ const logHandler = {
126
127
  handlerName: getHandlerName(),
127
- handler: async (call) => {
128
+ handler: async ({ transaction, receiptIndex, timestamp }) => {
128
129
  try {
129
- const gqlTransaction = call.transaction;
130
- const tx = await decodeFuelTransactionWithAbi(gqlTransaction, { [this.config.address]: this.config.abi }, this.provider);
131
- const results = [];
132
- const logs = (tx.logs || []).filter((log) => logIds.has(log.logId));
133
- for (const log of logs) {
134
- const ctx = new FuelContractContext(this.config.chainId, this.contract, this.config.address, this.config.name ?? this.config.address, call.timestamp || new Date(0), tx, null);
135
- ctx.setLogIndex(log.receiptIndex);
136
- await handler(log, ctx);
137
- results.push(ctx.stopAndGetResult());
130
+ const tx = decodeFuelTransaction(transaction, this.provider);
131
+ const index = Number(receiptIndex);
132
+ const receipt = tx.receipts[index];
133
+ const log = decodeLog(receipt, this.config.abi);
134
+ if (log) {
135
+ const ctx = new FuelContractContext(this.config.chainId, this.contract, this.config.address, this.config.name ?? this.config.address, timestamp || new Date(0), tx, null);
136
+ ctx.setLogIndex(index);
137
+ await handler({ receiptIndex: index, ...log }, ctx);
138
+ return ctx.stopAndGetResult();
139
+ }
140
+ else {
141
+ console.error(`Log with receipt index ${receiptIndex} not found in tx`);
138
142
  }
139
- return mergeProcessResults(results);
140
143
  }
141
144
  catch (e) {
142
145
  console.error(e);
143
- return {
144
- gauges: [],
145
- counters: [],
146
- events: [],
147
- exports: [],
148
- states: {
149
- configUpdated: false
150
- }
151
- };
152
146
  }
147
+ return ProcessResult.fromPartial({});
153
148
  },
154
149
  logConfig: {
155
150
  logIds: Array.from(logIds)
156
151
  }
157
152
  };
158
- this.callHandlers.push(callHandler);
153
+ this.logHandlers.push(logHandler);
159
154
  return this;
160
155
  }
161
156
  onInterval(handler, timeInterval, blockInterval
@@ -1 +1 @@
1
- {"version":3,"file":"fuel-processor.js","sourceRoot":"","sources":["../../src/fuel/fuel-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fuel-processor.js","sourceRoot":"","sources":["../../src/fuel/fuel-processor.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,13 @@
1
- import { AbiMap, Provider } from 'fuels';
1
+ import { AbiMap, JsonAbi, Provider } from 'fuels';
2
2
  import { FuelTransaction } from './types.js';
3
3
  export type FuelFetchConfig = {
4
4
  includeFailed?: boolean;
5
5
  };
6
6
  export declare const DEFAULT_FUEL_FETCH_CONFIG: FuelFetchConfig;
7
7
  export declare function decodeFuelTransaction(gqlTransaction: any, provider: Provider): FuelTransaction;
8
+ export declare function decodeLog(receipt: any | undefined, abi: JsonAbi): {
9
+ logId: string;
10
+ data: any;
11
+ } | null;
8
12
  export declare function decodeFuelTransactionWithAbi(gqlTransaction: any, abiMap: AbiMap, provider: Provider): Promise<FuelTransaction>;
9
13
  //# sourceMappingURL=transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/fuel/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EASN,QAAQ,EAIT,MAAM,OAAO,CAAA;AACd,OAAO,EAAW,eAAe,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,eAEvC,CAAA;AAWD,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,CA+B9F;AAED,wBAAsB,4BAA4B,CAChD,cAAc,EAAE,GAAG,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,eAAe,CAAC,CAoE1B"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../src/fuel/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAQN,OAAO,EAEP,QAAQ,EAIT,MAAM,OAAO,CAAA;AACd,OAAO,EAAW,eAAe,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,eAEvC,CAAA;AAWD,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,eAAe,CA+B9F;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO;;;SAS/D;AAED,wBAAsB,4BAA4B,CAChD,cAAc,EAAE,GAAG,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,eAAe,CAAC,CAiE1B"}
@@ -41,6 +41,16 @@ export function decodeFuelTransaction(gqlTransaction, provider) {
41
41
  sender: findSenderFromInputs(decodedTransaction.inputs, baseAssetId)
42
42
  };
43
43
  }
44
+ export function decodeLog(receipt, abi) {
45
+ if (receipt && (receipt.type === ReceiptType.LogData || receipt.type === ReceiptType.Log)) {
46
+ const interfaceToUse = new Interface(abi);
47
+ const data = receipt.type === ReceiptType.Log ? new BigNumberCoder('u64').encode(receipt.val0) : receipt.data;
48
+ const logId = receipt.val1.toString();
49
+ const [decodedLog] = interfaceToUse.decodeLog(data, logId);
50
+ return { logId, data: decodedLog };
51
+ }
52
+ return null;
53
+ }
44
54
  export async function decodeFuelTransactionWithAbi(gqlTransaction, abiMap, provider) {
45
55
  const rawPayload = arrayify(gqlTransaction.rawPayload);
46
56
  const [decodedTransaction] = new TransactionCoder().decode(rawPayload, 0);
@@ -61,18 +71,15 @@ export async function decodeFuelTransactionWithAbi(gqlTransaction, abiMap, provi
61
71
  const abi = Object.values(abiMap)[0];
62
72
  const logs = [];
63
73
  receipts.forEach((receipt, idx) => {
64
- if (receipt.type === ReceiptType.LogData || receipt.type === ReceiptType.Log) {
65
- try {
66
- const interfaceToUse = new Interface(abi);
67
- const data = receipt.type === ReceiptType.Log ? new BigNumberCoder('u64').encode(receipt.val0) : receipt.data;
68
- const logId = receipt.val1.toString();
69
- const [decodedLog] = interfaceToUse.decodeLog(data, logId);
70
- logs.push({ logId, data: decodedLog, receiptIndex: idx });
71
- }
72
- catch (e) {
73
- console.warn('Failed to decode log', e);
74
+ try {
75
+ const log = decodeLog(receipt, abi);
76
+ if (log) {
77
+ logs.push({ ...log, receiptIndex: idx });
74
78
  }
75
79
  }
80
+ catch (e) {
81
+ console.warn('Failed to decode log', e);
82
+ }
76
83
  });
77
84
  const txResponse = new TransactionResponse(gqlTransaction.status.transactionId, provider, {
78
85
  main: Object.values(abiMap)[0],
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/fuel/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/fuel/transaction.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { MapStateStorage } from '@sentio/runtime';
2
- import { Data_FuelBlock, Data_FuelCall, FuelAssetHandlerConfig, FuelCallHandlerConfig, HandleInterval, OnIntervalConfig, ProcessResult } from '@sentio/protos';
2
+ import { Data_FuelBlock, Data_FuelCall, Data_FuelReceipt, FuelAssetHandlerConfig, FuelCallHandlerConfig, HandleInterval, OnIntervalConfig, ProcessResult } from '@sentio/protos';
3
3
  import { Block, TransactionSummary } from 'fuels';
4
4
  export interface FuelBaseProcessor<T> {
5
5
  configure(): Promise<void>;
6
6
  config: T;
7
7
  callHandlers: CallHandler<Data_FuelCall>[];
8
8
  blockHandlers: BlockHandler[];
9
+ logHandlers?: LogHandler<Data_FuelReceipt>[];
9
10
  }
10
11
  export declare class FuelProcessorState extends MapStateStorage<FuelBaseProcessor<any>> {
11
12
  static INSTANCE: FuelProcessorState;
@@ -15,6 +16,10 @@ export type CallHandler<T> = {
15
16
  handler: (call: T) => Promise<ProcessResult>;
16
17
  fetchConfig?: Partial<FuelCallHandlerConfig>;
17
18
  assetConfig?: Partial<FuelAssetHandlerConfig>;
19
+ };
20
+ export type LogHandler<T> = {
21
+ handlerName: string;
22
+ handler: (call: T) => Promise<ProcessResult>;
18
23
  logConfig?: {
19
24
  logIds: string[];
20
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fuel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EACL,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAEjD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,EAAE,CAAC,CAAA;IACT,YAAY,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAA;IAC1C,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B;AAED,qBAAa,kBAAmB,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,CAAC,QAAQ,qBAA2B;CAC3C;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC7C,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,cAAc,CAAA;IAC9B,qBAAqB,CAAC,EAAE,cAAc,CAAA;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACxC,CAAA;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,CAAC,CAAA;IACP,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fuel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAEjD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,EAAE,CAAC,CAAA;IACT,YAAY,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAA;IAC1C,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,WAAW,CAAC,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAA;CAC7C;AAED,qBAAa,kBAAmB,SAAQ,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,CAAC,QAAQ,qBAA2B;CAC3C;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC5C,SAAS,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,cAAc,CAAA;IAC9B,qBAAqB,CAAC,EAAE,cAAc,CAAA;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAA;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACxC,CAAA;AAED,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,CAAC,CAAA;IACP,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/fuel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAmBjD,MAAM,OAAO,kBAAmB,SAAQ,eAAuC;IAC7E,MAAM,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/fuel/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAqBjD,MAAM,OAAO,kBAAmB,SAAQ,eAAuC;IAC7E,MAAM,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"fuel-facet.d.ts","sourceRoot":"","sources":["../../src/testing/fuel-facet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAGhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,SAAS;IACpB,MAAM,EAAE,mBAAmB,CAAA;gBAEf,MAAM,EAAE,mBAAmB;IAIvC,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,GAAE,WAAkC;IAW/E,OAAO,CAAC,YAAY;CAsErB"}
1
+ {"version":3,"file":"fuel-facet.d.ts","sourceRoot":"","sources":["../../src/testing/fuel-facet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAGhE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,qBAAa,SAAS;IACpB,MAAM,EAAE,mBAAmB,CAAA;gBAEf,MAAM,EAAE,mBAAmB;IAIvC,iBAAiB,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,GAAE,WAAkC;IAW/E,OAAO,CAAC,YAAY;CAuErB"}
@@ -23,13 +23,13 @@ export class FuelFacet {
23
23
  for (const callConfig of config.fuelCallConfigs) {
24
24
  const binding = {
25
25
  data: {
26
- fuelCall: {
26
+ fuelTransaction: {
27
27
  transaction,
28
28
  timestamp: new Date()
29
29
  }
30
30
  },
31
31
  handlerIds: [callConfig.handlerId],
32
- handlerType: HandlerType.FUEL_CALL
32
+ handlerType: HandlerType.FUEL_TRANSACTION
33
33
  };
34
34
  const filter = callConfig.filters[0]?.function;
35
35
  if (filter) {
@@ -47,13 +47,14 @@ export class FuelFacet {
47
47
  for (const logConfig of config.fuelLogConfigs) {
48
48
  const binding = {
49
49
  data: {
50
- fuelCall: {
50
+ fuelLog: {
51
51
  transaction,
52
- timestamp: new Date()
52
+ timestamp: new Date(),
53
+ receiptIndex: BigInt(transaction.status.receipts.findIndex((r) => r.rb == logConfig.logIds[0]))
53
54
  }
54
55
  },
55
56
  handlerIds: [logConfig.handlerId],
56
- handlerType: HandlerType.FUEL_CALL
57
+ handlerType: HandlerType.FUEL_RECEIPT
57
58
  };
58
59
  const logIds = logConfig.logIds;
59
60
  for (const receipt of transaction.status.receipts || []) {
@@ -66,13 +67,13 @@ export class FuelFacet {
66
67
  for (const assetConfig of config.assetConfigs) {
67
68
  const binding = {
68
69
  data: {
69
- fuelCall: {
70
+ fuelTransaction: {
70
71
  transaction,
71
72
  timestamp: new Date()
72
73
  }
73
74
  },
74
75
  handlerIds: [assetConfig.handlerId],
75
- handlerType: HandlerType.FUEL_CALL
76
+ handlerType: HandlerType.FUEL_TRANSACTION
76
77
  };
77
78
  res.push(binding);
78
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fuel-facet.js","sourceRoot":"","sources":["../../src/testing/fuel-facet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fuel-facet.js","sourceRoot":"","sources":["../../src/testing/fuel-facet.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.54.0-rc.6",
3
+ "version": "2.54.0-rc.7",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "exports": {
@@ -85,8 +85,8 @@
85
85
  "typechain": "^8.3.2",
86
86
  "utility-types": "^3.11.0",
87
87
  "yaml": "^2.3.4",
88
- "@sentio/protos": "2.54.0-rc.6",
89
- "@sentio/runtime": "^2.54.0-rc.6"
88
+ "@sentio/protos": "2.54.0-rc.7",
89
+ "@sentio/runtime": "^2.54.0-rc.7"
90
90
  },
91
91
  "peerDependencies": {
92
92
  "tsup": "npm:@sentio/tsup@^8.3.5-rc.1"
@@ -3,6 +3,7 @@ import {
3
3
  ContractConfig,
4
4
  Data_FuelBlock,
5
5
  Data_FuelCall,
6
+ Data_FuelReceipt,
6
7
  DataBinding,
7
8
  HandlerType,
8
9
  ProcessConfigResponse,
@@ -18,21 +19,24 @@ import { FuelProcessor } from './fuel-processor.js'
18
19
  import { FuelGlobalProcessor } from './global-processor.js'
19
20
 
20
21
  interface Handlers {
21
- callHandlers: ((trace: Data_FuelCall) => Promise<ProcessResult>)[]
22
+ transactionHandlers: ((trace: Data_FuelCall) => Promise<ProcessResult>)[]
22
23
  blockHandlers: ((block: Data_FuelBlock) => Promise<ProcessResult>)[]
24
+ logHandlers: ((log: Data_FuelReceipt) => Promise<ProcessResult>)[]
23
25
  }
24
26
 
25
27
  export class FuelPlugin extends Plugin {
26
28
  name: string = 'FuelPlugin'
27
29
  handlers: Handlers = {
28
- callHandlers: [],
29
- blockHandlers: []
30
+ transactionHandlers: [],
31
+ blockHandlers: [],
32
+ logHandlers: []
30
33
  }
31
34
 
32
35
  async configure(config: ProcessConfigResponse) {
33
36
  const handlers: Handlers = {
34
- callHandlers: [],
35
- blockHandlers: []
37
+ transactionHandlers: [],
38
+ blockHandlers: [],
39
+ logHandlers: []
36
40
  }
37
41
 
38
42
  for (const processor of FuelProcessorState.INSTANCE.getValues()) {
@@ -48,23 +52,16 @@ export class FuelPlugin extends Plugin {
48
52
  endBlock: processor.config.endBlock
49
53
  })
50
54
  for (const callHandler of processor.callHandlers) {
51
- const handlerId = handlers.callHandlers.push(callHandler.handler) - 1
55
+ const handlerId = handlers.transactionHandlers.push(callHandler.handler) - 1
52
56
  const handlerName = callHandler.handlerName
53
57
  if (processor instanceof FuelProcessor) {
54
- if (callHandler.logConfig?.logIds?.length) {
55
- contractConfig.fuelLogConfigs.push({
56
- logIds: callHandler.logConfig.logIds,
57
- handlerId,
58
- handlerName
59
- })
60
- } else {
61
- const fetchConfig = {
62
- handlerId,
63
- handlerName,
64
- filters: callHandler.fetchConfig?.filters || []
65
- }
66
- contractConfig.fuelCallConfigs.push(fetchConfig)
58
+ // on transaction
59
+ const fetchConfig = {
60
+ handlerId,
61
+ handlerName,
62
+ filters: callHandler.fetchConfig?.filters || []
67
63
  }
64
+ contractConfig.fuelCallConfigs.push(fetchConfig)
68
65
  } else if (processor instanceof FuelAssetProcessor) {
69
66
  const assetConfig = callHandler.assetConfig
70
67
  contractConfig.assetConfigs.push({
@@ -83,6 +80,18 @@ export class FuelPlugin extends Plugin {
83
80
  }
84
81
  }
85
82
 
83
+ for (const logHandler of processor.logHandlers ?? []) {
84
+ const handlerId = handlers.logHandlers.push(logHandler.handler) - 1
85
+ const handlerName = logHandler.handlerName
86
+ if (processor instanceof FuelProcessor) {
87
+ contractConfig.fuelLogConfigs.push({
88
+ logIds: logHandler.logConfig?.logIds || [],
89
+ handlerId,
90
+ handlerName
91
+ })
92
+ }
93
+ }
94
+
86
95
  for (const blockHandler of processor.blockHandlers) {
87
96
  const handlerId = handlers.blockHandlers.push(blockHandler.handler) - 1
88
97
  contractConfig.intervalConfigs.push({
@@ -97,19 +106,25 @@ export class FuelPlugin extends Plugin {
97
106
  })
98
107
  }
99
108
 
100
- // Finish up a contract
101
109
  config.contractConfigs.push(contractConfig)
102
110
  }
103
111
 
104
112
  this.handlers = handlers
105
113
  }
106
114
 
107
- supportedHandlers = [HandlerType.FUEL_CALL, HandlerType.FUEL_BLOCK]
115
+ supportedHandlers = [
116
+ HandlerType.FUEL_TRANSACTION,
117
+ HandlerType.FUEL_RECEIPT,
118
+ HandlerType.FUEL_CALL,
119
+ HandlerType.FUEL_BLOCK
120
+ ]
108
121
 
109
122
  processBinding(request: DataBinding): Promise<ProcessResult> {
110
123
  switch (request.handlerType) {
111
- case HandlerType.FUEL_CALL:
124
+ case HandlerType.FUEL_TRANSACTION:
112
125
  return this.processTransaction(request)
126
+ case HandlerType.FUEL_RECEIPT:
127
+ return this.processLog(request)
113
128
  case HandlerType.FUEL_BLOCK:
114
129
  return this.processBlock(request)
115
130
  default:
@@ -131,16 +146,38 @@ export class FuelPlugin extends Plugin {
131
146
  return TemplateInstanceState.INSTANCE.getValues().length !== config.templateInstances.length
132
147
  }
133
148
 
149
+ async processLog(binding: DataBinding): Promise<ProcessResult> {
150
+ if (!binding.data?.fuelLog?.transaction) {
151
+ throw new ServerError(Status.INVALID_ARGUMENT, "transaction can't be null")
152
+ }
153
+ const log = binding.data.fuelLog
154
+
155
+ const promises: Promise<ProcessResult>[] = []
156
+
157
+ for (const handlerId of binding.handlerIds) {
158
+ const promise = this.handlers.logHandlers[handlerId](log).catch((e) => {
159
+ throw new ServerError(
160
+ Status.INTERNAL,
161
+ 'error processing transaction: ' + JSON.stringify(log) + '\n' + errorString(e)
162
+ )
163
+ })
164
+ if (GLOBAL_CONFIG.execution.sequential) {
165
+ await promise
166
+ }
167
+ promises.push(promise)
168
+ }
169
+ return mergeProcessResults(await Promise.all(promises))
170
+ }
134
171
  async processTransaction(binding: DataBinding): Promise<ProcessResult> {
135
- if (!binding.data?.fuelCall?.transaction) {
172
+ if (!binding.data?.fuelTransaction?.transaction) {
136
173
  throw new ServerError(Status.INVALID_ARGUMENT, "transaction can't be null")
137
174
  }
138
- const fuelTransaction = binding.data.fuelCall
175
+ const fuelTransaction = binding.data.fuelTransaction
139
176
 
140
177
  const promises: Promise<ProcessResult>[] = []
141
178
 
142
179
  for (const handlerId of binding.handlerIds) {
143
- const promise = this.handlers.callHandlers[handlerId](fuelTransaction).catch((e) => {
180
+ const promise = this.handlers.transactionHandlers[handlerId](fuelTransaction).catch((e) => {
144
181
  throw new ServerError(
145
182
  Status.INTERNAL,
146
183
  'error processing transaction: ' + JSON.stringify(fuelTransaction.transaction) + '\n' + errorString(e)
@@ -1,8 +1,21 @@
1
- import { Data_FuelBlock, Data_FuelCall, FuelCallFilter, HandleInterval, ProcessResult } from '@sentio/protos'
1
+ import {
2
+ Data_FuelBlock,
3
+ Data_FuelCall,
4
+ Data_FuelReceipt,
5
+ FuelCallFilter,
6
+ HandleInterval,
7
+ ProcessResult
8
+ } from '@sentio/protos'
2
9
  import { FuelCall, FuelContext, FuelContractContext } from './context.js'
3
10
  import { bn, Contract, Interface, JsonAbi, Provider } from 'fuels'
4
11
  import { FuelNetwork, getProvider } from './network.js'
5
- import { decodeFuelTransactionWithAbi, DEFAULT_FUEL_FETCH_CONFIG, FuelFetchConfig } from './transaction.js'
12
+ import {
13
+ decodeFuelTransaction,
14
+ decodeFuelTransactionWithAbi,
15
+ decodeLog,
16
+ DEFAULT_FUEL_FETCH_CONFIG,
17
+ FuelFetchConfig
18
+ } from './transaction.js'
6
19
  import {
7
20
  BlockHandler,
8
21
  CallHandler,
@@ -10,9 +23,9 @@ import {
10
23
  FuelBlock,
11
24
  FuelLog,
12
25
  FuelProcessorState,
13
- FuelTransaction
26
+ FuelTransaction,
27
+ LogHandler
14
28
  } from './types.js'
15
- import { mergeProcessResults } from '@sentio/runtime'
16
29
  import { PromiseOrVoid } from '../core/index.js'
17
30
  import { ServerError, Status } from 'nice-grpc'
18
31
  import { getHandlerName, proxyProcessor } from '../utils/metrics.js'
@@ -20,6 +33,7 @@ import { getHandlerName, proxyProcessor } from '../utils/metrics.js'
20
33
  export class FuelProcessor<TContract extends Contract> implements FuelBaseProcessor<FuelProcessorConfig> {
21
34
  callHandlers: CallHandler<Data_FuelCall>[] = []
22
35
  blockHandlers: BlockHandler[] = []
36
+ logHandlers: LogHandler<Data_FuelReceipt>[] = []
23
37
 
24
38
  private provider: Provider
25
39
  private contract: TContract
@@ -35,6 +49,7 @@ export class FuelProcessor<TContract extends Contract> implements FuelBaseProces
35
49
  }
36
50
 
37
51
  latestGasPrice: string | undefined
52
+
38
53
  async configure() {
39
54
  this.provider = await getProvider(this.config.chainId)
40
55
  this.provider.getLatestGasPrice = async () => {
@@ -169,52 +184,41 @@ export class FuelProcessor<TContract extends Contract> implements FuelBaseProces
169
184
  ) {
170
185
  const logIds = new Set(Array.isArray(logIdFilter) ? logIdFilter : [logIdFilter])
171
186
 
172
- const callHandler = {
187
+ const logHandler = {
173
188
  handlerName: getHandlerName(),
174
- handler: async (call: Data_FuelCall) => {
189
+ handler: async ({ transaction, receiptIndex, timestamp }: Data_FuelReceipt) => {
175
190
  try {
176
- const gqlTransaction = call.transaction
177
- const tx = await decodeFuelTransactionWithAbi(
178
- gqlTransaction,
179
- { [this.config.address]: this.config.abi! },
180
- this.provider
181
- )
182
-
183
- const results: ProcessResult[] = []
184
- const logs = (tx.logs || []).filter((log) => logIds.has(log.logId))
185
- for (const log of logs) {
191
+ const tx = decodeFuelTransaction(transaction, this.provider)
192
+ const index = Number(receiptIndex)
193
+ const receipt = tx.receipts[index]
194
+ const log = decodeLog(receipt, this.config.abi)
195
+ if (log) {
186
196
  const ctx = new FuelContractContext(
187
197
  this.config.chainId,
188
198
  this.contract,
189
199
  this.config.address,
190
200
  this.config.name ?? this.config.address,
191
- call.timestamp || new Date(0),
201
+ timestamp || new Date(0),
192
202
  tx,
193
203
  null
194
204
  )
195
- ctx.setLogIndex(log.receiptIndex)
196
- await handler(log, ctx)
197
- results.push(ctx.stopAndGetResult())
205
+ ctx.setLogIndex(index)
206
+ await handler({ receiptIndex: index, ...log }, ctx)
207
+ return ctx.stopAndGetResult()
208
+ } else {
209
+ console.error(`Log with receipt index ${receiptIndex} not found in tx`)
198
210
  }
199
- return mergeProcessResults(results)
200
211
  } catch (e) {
201
212
  console.error(e)
202
- return {
203
- gauges: [],
204
- counters: [],
205
- events: [],
206
- exports: [],
207
- states: {
208
- configUpdated: false
209
- }
210
- }
211
213
  }
214
+
215
+ return ProcessResult.fromPartial({})
212
216
  },
213
217
  logConfig: {
214
218
  logIds: Array.from(logIds)
215
219
  }
216
220
  }
217
- this.callHandlers.push(callHandler)
221
+ this.logHandlers.push(logHandler)
218
222
  return this
219
223
  }
220
224
 
@@ -7,6 +7,7 @@ import {
7
7
  Input,
8
8
  InputType,
9
9
  Interface,
10
+ JsonAbi,
10
11
  processGqlReceipt,
11
12
  Provider,
12
13
  ReceiptType,
@@ -65,6 +66,17 @@ export function decodeFuelTransaction(gqlTransaction: any, provider: Provider):
65
66
  }
66
67
  }
67
68
 
69
+ export function decodeLog(receipt: any | undefined, abi: JsonAbi) {
70
+ if (receipt && (receipt.type === ReceiptType.LogData || receipt.type === ReceiptType.Log)) {
71
+ const interfaceToUse = new Interface(abi)
72
+ const data = receipt.type === ReceiptType.Log ? new BigNumberCoder('u64').encode(receipt.val0) : receipt.data
73
+ const logId: string = receipt.val1.toString()
74
+ const [decodedLog] = interfaceToUse.decodeLog(data, logId)
75
+ return { logId, data: decodedLog }
76
+ }
77
+ return null
78
+ }
79
+
68
80
  export async function decodeFuelTransactionWithAbi(
69
81
  gqlTransaction: any,
70
82
  abiMap: AbiMap,
@@ -92,16 +104,13 @@ export async function decodeFuelTransactionWithAbi(
92
104
  const abi = Object.values(abiMap)[0]
93
105
  const logs = [] as FuelLog<any>[]
94
106
  ;(receipts as any[]).forEach((receipt, idx) => {
95
- if (receipt.type === ReceiptType.LogData || receipt.type === ReceiptType.Log) {
96
- try {
97
- const interfaceToUse = new Interface(abi)
98
- const data = receipt.type === ReceiptType.Log ? new BigNumberCoder('u64').encode(receipt.val0) : receipt.data
99
- const logId = receipt.val1.toString()
100
- const [decodedLog] = interfaceToUse.decodeLog(data, logId)
101
- logs.push({ logId, data: decodedLog, receiptIndex: idx })
102
- } catch (e) {
103
- console.warn('Failed to decode log', e)
107
+ try {
108
+ const log = decodeLog(receipt, abi)
109
+ if (log) {
110
+ logs.push({ ...log, receiptIndex: idx })
104
111
  }
112
+ } catch (e) {
113
+ console.warn('Failed to decode log', e)
105
114
  }
106
115
  })
107
116
 
package/src/fuel/types.ts CHANGED
@@ -2,6 +2,7 @@ import { MapStateStorage } from '@sentio/runtime'
2
2
  import {
3
3
  Data_FuelBlock,
4
4
  Data_FuelCall,
5
+ Data_FuelReceipt,
5
6
  FuelAssetHandlerConfig,
6
7
  FuelCallHandlerConfig,
7
8
  HandleInterval,
@@ -15,6 +16,7 @@ export interface FuelBaseProcessor<T> {
15
16
  config: T
16
17
  callHandlers: CallHandler<Data_FuelCall>[]
17
18
  blockHandlers: BlockHandler[]
19
+ logHandlers?: LogHandler<Data_FuelReceipt>[]
18
20
  }
19
21
 
20
22
  export class FuelProcessorState extends MapStateStorage<FuelBaseProcessor<any>> {
@@ -26,6 +28,11 @@ export type CallHandler<T> = {
26
28
  handler: (call: T) => Promise<ProcessResult>
27
29
  fetchConfig?: Partial<FuelCallHandlerConfig>
28
30
  assetConfig?: Partial<FuelAssetHandlerConfig>
31
+ }
32
+
33
+ export type LogHandler<T> = {
34
+ handlerName: string
35
+ handler: (call: T) => Promise<ProcessResult>
29
36
  logConfig?: {
30
37
  logIds: string[]
31
38
  }
@@ -30,13 +30,13 @@ export class FuelFacet {
30
30
  for (const callConfig of config.fuelCallConfigs) {
31
31
  const binding = {
32
32
  data: {
33
- fuelCall: {
33
+ fuelTransaction: {
34
34
  transaction,
35
35
  timestamp: new Date()
36
36
  }
37
37
  },
38
38
  handlerIds: [callConfig.handlerId],
39
- handlerType: HandlerType.FUEL_CALL
39
+ handlerType: HandlerType.FUEL_TRANSACTION
40
40
  }
41
41
 
42
42
  const filter = callConfig.filters[0]?.function
@@ -55,13 +55,14 @@ export class FuelFacet {
55
55
  for (const logConfig of config.fuelLogConfigs) {
56
56
  const binding = {
57
57
  data: {
58
- fuelCall: {
58
+ fuelLog: {
59
59
  transaction,
60
- timestamp: new Date()
60
+ timestamp: new Date(),
61
+ receiptIndex: BigInt(transaction.status.receipts.findIndex((r: any) => r.rb == logConfig.logIds[0]))
61
62
  }
62
63
  },
63
64
  handlerIds: [logConfig.handlerId],
64
- handlerType: HandlerType.FUEL_CALL
65
+ handlerType: HandlerType.FUEL_RECEIPT
65
66
  }
66
67
 
67
68
  const logIds = logConfig.logIds
@@ -76,13 +77,13 @@ export class FuelFacet {
76
77
  for (const assetConfig of config.assetConfigs) {
77
78
  const binding = {
78
79
  data: {
79
- fuelCall: {
80
+ fuelTransaction: {
80
81
  transaction,
81
82
  timestamp: new Date()
82
83
  }
83
84
  },
84
85
  handlerIds: [assetConfig.handlerId],
85
- handlerType: HandlerType.FUEL_CALL
86
+ handlerType: HandlerType.FUEL_TRANSACTION
86
87
  }
87
88
 
88
89
  res.push(binding)