@sentio/sdk 1.20.1 → 1.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. package/lib/aptos/aptos-processor.d.ts +17 -12
  2. package/lib/aptos/aptos-processor.js +65 -13
  3. package/lib/aptos/aptos-processor.js.map +1 -1
  4. package/lib/aptos/bind-options.d.ts +0 -6
  5. package/lib/aptos/bind-options.js +1 -8
  6. package/lib/aptos/bind-options.js.map +1 -1
  7. package/lib/aptos/context.d.ts +5 -4
  8. package/lib/aptos/context.js +9 -6
  9. package/lib/aptos/context.js.map +1 -1
  10. package/lib/aptos/index.d.ts +3 -2
  11. package/lib/aptos/index.js +1 -2
  12. package/lib/aptos/index.js.map +1 -1
  13. package/lib/aptos/runtime.d.ts +2 -0
  14. package/lib/aptos/runtime.js +16 -0
  15. package/lib/aptos/runtime.js.map +1 -0
  16. package/lib/aptos/types.d.ts +28 -0
  17. package/lib/aptos/types.js +159 -0
  18. package/lib/aptos/types.js.map +1 -0
  19. package/lib/aptos/utils.d.ts +6 -0
  20. package/lib/aptos/utils.js +19 -0
  21. package/lib/aptos/utils.js.map +1 -0
  22. package/lib/aptos-codegen/codegen.d.ts +5 -2
  23. package/lib/aptos-codegen/codegen.js +195 -18
  24. package/lib/aptos-codegen/codegen.js.map +1 -1
  25. package/lib/aptos-codegen/typegen.d.ts +18 -0
  26. package/lib/aptos-codegen/typegen.js +196 -0
  27. package/lib/aptos-codegen/typegen.js.map +1 -0
  28. package/lib/binds.d.ts +2 -3
  29. package/lib/binds.js +6 -33
  30. package/lib/binds.js.map +1 -1
  31. package/lib/builtin/aptos/0x1.d.ts +1624 -0
  32. package/lib/builtin/aptos/0x1.js +2502 -0
  33. package/lib/builtin/aptos/0x1.js.map +1 -0
  34. package/lib/builtin/aptos/0x3.d.ts +414 -0
  35. package/lib/builtin/aptos/0x3.js +461 -0
  36. package/lib/builtin/aptos/0x3.js.map +1 -0
  37. package/lib/builtin/internal/eacaggregatorproxy_processor.d.ts +2 -2
  38. package/lib/builtin/internal/eacaggregatorproxy_processor.js +12 -11
  39. package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +1 -1
  40. package/lib/builtin/internal/erc20_processor.d.ts +2 -2
  41. package/lib/builtin/internal/erc20_processor.js +12 -11
  42. package/lib/builtin/internal/erc20_processor.js.map +1 -1
  43. package/lib/builtin/internal/erc20bytes_processor.d.ts +2 -2
  44. package/lib/builtin/internal/erc20bytes_processor.js +12 -11
  45. package/lib/builtin/internal/erc20bytes_processor.js.map +1 -1
  46. package/lib/builtin/internal/weth9_processor.d.ts +2 -2
  47. package/lib/builtin/internal/weth9_processor.js +12 -11
  48. package/lib/builtin/internal/weth9_processor.js.map +1 -1
  49. package/lib/builtin/solana/types.d.ts +5 -5
  50. package/lib/builtin/solana/wormhole-processor.d.ts +6 -6
  51. package/lib/builtin/solana/wormhole-processor.js +15 -12
  52. package/lib/builtin/solana/wormhole-processor.js.map +1 -1
  53. package/lib/cli/build.js +17 -16
  54. package/lib/cli/build.js.map +1 -1
  55. package/lib/core/base-processor-template.d.ts +7 -7
  56. package/lib/core/base-processor-template.js.map +1 -1
  57. package/lib/core/base-processor.d.ts +5 -6
  58. package/lib/core/base-processor.js +6 -4
  59. package/lib/core/base-processor.js.map +1 -1
  60. package/lib/core/big-decimal.d.ts +1 -0
  61. package/lib/core/big-decimal.js +6 -0
  62. package/lib/core/big-decimal.js.map +1 -0
  63. package/lib/core/bind-options.d.ts +0 -2
  64. package/lib/core/bind-options.js +4 -4
  65. package/lib/core/bind-options.js.map +1 -1
  66. package/lib/core/context.d.ts +14 -11
  67. package/lib/core/context.js +28 -19
  68. package/lib/core/context.js.map +1 -1
  69. package/lib/core/generic-processor.js +5 -5
  70. package/lib/core/generic-processor.js.map +1 -1
  71. package/lib/core/index.d.ts +5 -5
  72. package/lib/core/index.js +6 -6
  73. package/lib/core/index.js.map +1 -1
  74. package/lib/core/logger.d.ts +2 -3
  75. package/lib/core/logger.js +6 -6
  76. package/lib/core/logger.js.map +1 -1
  77. package/lib/core/metadata.d.ts +7 -4
  78. package/lib/core/metadata.js +13 -10
  79. package/lib/core/metadata.js.map +1 -1
  80. package/lib/core/meter.d.ts +4 -7
  81. package/lib/core/meter.js +12 -13
  82. package/lib/core/meter.js.map +1 -1
  83. package/lib/core/solana-processor.d.ts +7 -4
  84. package/lib/core/solana-processor.js +14 -20
  85. package/lib/core/solana-processor.js.map +1 -1
  86. package/lib/core/sui-processor.d.ts +5 -4
  87. package/lib/core/sui-processor.js +10 -17
  88. package/lib/core/sui-processor.js.map +1 -1
  89. package/lib/error.d.ts +2 -2
  90. package/lib/error.js.map +1 -1
  91. package/lib/gen/processor/protos/processor.d.ts +23 -12
  92. package/lib/gen/processor/protos/processor.js +129 -57
  93. package/lib/gen/processor/protos/processor.js.map +1 -1
  94. package/lib/index.d.ts +1 -2
  95. package/lib/index.js +1 -4
  96. package/lib/index.js.map +1 -1
  97. package/lib/processor-state.d.ts +1 -1
  98. package/lib/processor-state.js.map +1 -1
  99. package/lib/service.js +13 -12
  100. package/lib/service.js.map +1 -1
  101. package/lib/target-ethers-sentio/codegen.js +14 -15
  102. package/lib/target-ethers-sentio/codegen.js.map +1 -1
  103. package/lib/test-abi-code-gen.js.map +1 -1
  104. package/lib/testing/metric-utils.js +2 -2
  105. package/lib/testing/metric-utils.js.map +1 -1
  106. package/lib/tests/aptos.test.js +95 -2
  107. package/lib/tests/aptos.test.js.map +1 -1
  108. package/lib/tests/erc20.js +1 -1
  109. package/lib/tests/erc20.js.map +1 -1
  110. package/lib/tests/erc20.test.js +3 -4
  111. package/lib/tests/erc20.test.js.map +1 -1
  112. package/lib/tests/solana.test.js +5 -1
  113. package/lib/tests/solana.test.js.map +1 -1
  114. package/lib/tests/souffl3.js +17 -4
  115. package/lib/tests/souffl3.js.map +1 -1
  116. package/lib/tests/sui.test.js +1 -4
  117. package/lib/tests/sui.test.js.map +1 -1
  118. package/lib/tests/types/aptos/souffle.d.ts +311 -22
  119. package/lib/tests/types/aptos/souffle.js +142 -6
  120. package/lib/tests/types/aptos/souffle.js.map +1 -1
  121. package/lib/tests/types/solana/basic_1_processor.d.ts +2 -2
  122. package/lib/tests/types/solana/basic_1_processor.js +4 -4
  123. package/lib/tests/types/solana/basic_1_processor.js.map +1 -1
  124. package/lib/tests/wormhole-token-bridge.js +2 -1
  125. package/lib/tests/wormhole-token-bridge.js.map +1 -1
  126. package/lib/utils/chain.d.ts +1 -0
  127. package/lib/utils/chain.js +15 -1
  128. package/lib/utils/chain.js.map +1 -1
  129. package/lib/utils/conversion.d.ts +1 -1
  130. package/lib/utils/conversion.js.map +1 -1
  131. package/package.json +3 -2
  132. package/src/abis/aptos/0x1.json +9205 -0
  133. package/src/abis/aptos/0x3.json +1515 -0
  134. package/src/aptos/aptos-processor.ts +88 -20
  135. package/src/aptos/bind-options.ts +0 -7
  136. package/src/aptos/context.ts +11 -8
  137. package/src/aptos/index.ts +3 -2
  138. package/src/aptos/runtime.ts +13 -0
  139. package/src/aptos/types.ts +203 -0
  140. package/src/aptos/utils.ts +18 -0
  141. package/src/aptos-codegen/codegen.ts +222 -19
  142. package/src/aptos-codegen/typegen.test.ts +29 -0
  143. package/src/aptos-codegen/typegen.ts +216 -0
  144. package/src/binds.ts +5 -39
  145. package/src/builtin/aptos/0x1.ts +3760 -0
  146. package/src/builtin/aptos/0x3.ts +798 -0
  147. package/src/builtin/internal/eacaggregatorproxy_processor.ts +14 -31
  148. package/src/builtin/internal/erc20_processor.ts +14 -25
  149. package/src/builtin/internal/erc20bytes_processor.ts +14 -25
  150. package/src/builtin/internal/weth9_processor.ts +14 -25
  151. package/src/builtin/solana/wormhole-processor.ts +21 -18
  152. package/src/cli/build.ts +19 -17
  153. package/src/core/base-processor-template.ts +7 -7
  154. package/src/core/base-processor.ts +30 -9
  155. package/src/core/big-decimal.ts +1 -0
  156. package/src/core/bind-options.ts +3 -2
  157. package/src/core/context.ts +40 -24
  158. package/src/core/generic-processor.ts +6 -7
  159. package/src/core/index.ts +5 -5
  160. package/src/core/logger.ts +7 -7
  161. package/src/core/metadata.ts +14 -12
  162. package/src/core/meter.ts +12 -14
  163. package/src/core/solana-processor.ts +24 -21
  164. package/src/core/sui-processor.ts +10 -21
  165. package/src/error.ts +2 -2
  166. package/src/gen/processor/protos/processor.ts +158 -68
  167. package/src/index.ts +1 -2
  168. package/src/processor-state.ts +1 -1
  169. package/src/service.ts +22 -15
  170. package/src/target-ethers-sentio/codegen.ts +14 -15
  171. package/src/test-abi-code-gen.ts +1 -0
  172. package/src/testing/metric-utils.ts +2 -2
  173. package/src/tests/aptos.test.ts +102 -3
  174. package/src/tests/erc20.test.ts +3 -4
  175. package/src/tests/erc20.ts +1 -1
  176. package/src/tests/solana.test.ts +5 -1
  177. package/src/tests/souffl3.ts +21 -6
  178. package/src/tests/sui.test.ts +1 -4
  179. package/src/tests/types/aptos/souffle.ts +424 -42
  180. package/src/tests/types/solana/basic_1_processor.ts +6 -6
  181. package/src/tests/wormhole-token-bridge.ts +2 -1
  182. package/src/types/global.d.ts +1 -1
  183. package/src/utils/chain.ts +14 -0
  184. package/src/utils/conversion.ts +1 -1
  185. package/lib/contract-namer.d.ts +0 -6
  186. package/lib/contract-namer.js +0 -20
  187. package/lib/contract-namer.js.map +0 -1
  188. package/src/aptos-codegen/codgen.test.ts +0 -11
  189. package/src/contract-namer.ts +0 -17
@@ -135,6 +135,7 @@ export interface ProcessConfigResponse {
135
135
  config: ProjectConfig | undefined;
136
136
  contractConfigs: ContractConfig[];
137
137
  templateInstances: TemplateInstance[];
138
+ accountConfigs: AccountConfig[];
138
139
  }
139
140
 
140
141
  export interface ContractConfig {
@@ -150,6 +151,8 @@ export interface ContractConfig {
150
151
  processorType: string;
151
152
  }
152
153
 
154
+ export interface AccountConfig {}
155
+
153
156
  export interface ContractInfo {
154
157
  name: string;
155
158
  chainId: string;
@@ -248,6 +251,7 @@ export interface Instruction {
248
251
  instructionData: string;
249
252
  slot: Long;
250
253
  programAccountId: string;
254
+ accounts: string[];
251
255
  parsed?: Uint8Array | undefined;
252
256
  }
253
257
 
@@ -276,21 +280,22 @@ export interface ProcessResult {
276
280
  logs: LogResult[];
277
281
  }
278
282
 
279
- export interface MetricDescriptor {
283
+ export interface DataDescriptor {
280
284
  name: string;
281
- unit: string;
282
285
  description: string;
286
+ unit: string;
283
287
  sparse: boolean;
284
288
  }
285
289
 
286
290
  export interface RecordMetaData {
287
- contractAddress: string;
291
+ address: string;
292
+ contractName: string;
288
293
  blockNumber: Long;
289
294
  transactionHash: string;
295
+ chainId: string;
290
296
  transactionIndex: number;
291
297
  logIndex: number;
292
- chainId: string;
293
- descriptor: MetricDescriptor | undefined;
298
+ dataDescriptor: DataDescriptor | undefined;
294
299
  labels: { [key: string]: string };
295
300
  }
296
301
 
@@ -328,7 +333,6 @@ export interface CounterResult {
328
333
  }
329
334
 
330
335
  export interface LogResult {
331
- name: string;
332
336
  metadata: RecordMetaData | undefined;
333
337
  level: LogLevel;
334
338
  message: string;
@@ -443,7 +447,12 @@ export const ProcessConfigRequest = {
443
447
  };
444
448
 
445
449
  function createBaseProcessConfigResponse(): ProcessConfigResponse {
446
- return { config: undefined, contractConfigs: [], templateInstances: [] };
450
+ return {
451
+ config: undefined,
452
+ contractConfigs: [],
453
+ templateInstances: [],
454
+ accountConfigs: [],
455
+ };
447
456
  }
448
457
 
449
458
  export const ProcessConfigResponse = {
@@ -460,6 +469,9 @@ export const ProcessConfigResponse = {
460
469
  for (const v of message.templateInstances) {
461
470
  TemplateInstance.encode(v!, writer.uint32(26).fork()).ldelim();
462
471
  }
472
+ for (const v of message.accountConfigs) {
473
+ AccountConfig.encode(v!, writer.uint32(34).fork()).ldelim();
474
+ }
463
475
  return writer;
464
476
  },
465
477
 
@@ -486,6 +498,11 @@ export const ProcessConfigResponse = {
486
498
  TemplateInstance.decode(reader, reader.uint32())
487
499
  );
488
500
  break;
501
+ case 4:
502
+ message.accountConfigs.push(
503
+ AccountConfig.decode(reader, reader.uint32())
504
+ );
505
+ break;
489
506
  default:
490
507
  reader.skipType(tag & 7);
491
508
  break;
@@ -505,6 +522,9 @@ export const ProcessConfigResponse = {
505
522
  templateInstances: Array.isArray(object?.templateInstances)
506
523
  ? object.templateInstances.map((e: any) => TemplateInstance.fromJSON(e))
507
524
  : [],
525
+ accountConfigs: Array.isArray(object?.accountConfigs)
526
+ ? object.accountConfigs.map((e: any) => AccountConfig.fromJSON(e))
527
+ : [],
508
528
  };
509
529
  },
510
530
 
@@ -528,6 +548,13 @@ export const ProcessConfigResponse = {
528
548
  } else {
529
549
  obj.templateInstances = [];
530
550
  }
551
+ if (message.accountConfigs) {
552
+ obj.accountConfigs = message.accountConfigs.map((e) =>
553
+ e ? AccountConfig.toJSON(e) : undefined
554
+ );
555
+ } else {
556
+ obj.accountConfigs = [];
557
+ }
531
558
  return obj;
532
559
  },
533
560
 
@@ -544,6 +571,8 @@ export const ProcessConfigResponse = {
544
571
  message.templateInstances =
545
572
  object.templateInstances?.map((e) => TemplateInstance.fromPartial(e)) ||
546
573
  [];
574
+ message.accountConfigs =
575
+ object.accountConfigs?.map((e) => AccountConfig.fromPartial(e)) || [];
547
576
  return message;
548
577
  },
549
578
  };
@@ -793,6 +822,48 @@ export const ContractConfig = {
793
822
  },
794
823
  };
795
824
 
825
+ function createBaseAccountConfig(): AccountConfig {
826
+ return {};
827
+ }
828
+
829
+ export const AccountConfig = {
830
+ encode(
831
+ _: AccountConfig,
832
+ writer: _m0.Writer = _m0.Writer.create()
833
+ ): _m0.Writer {
834
+ return writer;
835
+ },
836
+
837
+ decode(input: _m0.Reader | Uint8Array, length?: number): AccountConfig {
838
+ const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
839
+ let end = length === undefined ? reader.len : reader.pos + length;
840
+ const message = createBaseAccountConfig();
841
+ while (reader.pos < end) {
842
+ const tag = reader.uint32();
843
+ switch (tag >>> 3) {
844
+ default:
845
+ reader.skipType(tag & 7);
846
+ break;
847
+ }
848
+ }
849
+ return message;
850
+ },
851
+
852
+ fromJSON(_: any): AccountConfig {
853
+ return {};
854
+ },
855
+
856
+ toJSON(_: AccountConfig): unknown {
857
+ const obj: any = {};
858
+ return obj;
859
+ },
860
+
861
+ fromPartial(_: DeepPartial<AccountConfig>): AccountConfig {
862
+ const message = createBaseAccountConfig();
863
+ return message;
864
+ },
865
+ };
866
+
796
867
  function createBaseContractInfo(): ContractInfo {
797
868
  return { name: "", chainId: "", address: "", abi: "" };
798
869
  }
@@ -2156,6 +2227,7 @@ function createBaseInstruction(): Instruction {
2156
2227
  instructionData: "",
2157
2228
  slot: Long.UZERO,
2158
2229
  programAccountId: "",
2230
+ accounts: [],
2159
2231
  parsed: undefined,
2160
2232
  };
2161
2233
  }
@@ -2174,6 +2246,9 @@ export const Instruction = {
2174
2246
  if (message.programAccountId !== "") {
2175
2247
  writer.uint32(26).string(message.programAccountId);
2176
2248
  }
2249
+ for (const v of message.accounts) {
2250
+ writer.uint32(42).string(v!);
2251
+ }
2177
2252
  if (message.parsed !== undefined) {
2178
2253
  writer.uint32(34).bytes(message.parsed);
2179
2254
  }
@@ -2196,6 +2271,9 @@ export const Instruction = {
2196
2271
  case 3:
2197
2272
  message.programAccountId = reader.string();
2198
2273
  break;
2274
+ case 5:
2275
+ message.accounts.push(reader.string());
2276
+ break;
2199
2277
  case 4:
2200
2278
  message.parsed = reader.bytes();
2201
2279
  break;
@@ -2216,6 +2294,9 @@ export const Instruction = {
2216
2294
  programAccountId: isSet(object.programAccountId)
2217
2295
  ? String(object.programAccountId)
2218
2296
  : "",
2297
+ accounts: Array.isArray(object?.accounts)
2298
+ ? object.accounts.map((e: any) => String(e))
2299
+ : [],
2219
2300
  parsed: isSet(object.parsed) ? bytesFromBase64(object.parsed) : undefined,
2220
2301
  };
2221
2302
  },
@@ -2228,6 +2309,11 @@ export const Instruction = {
2228
2309
  (obj.slot = (message.slot || Long.UZERO).toString());
2229
2310
  message.programAccountId !== undefined &&
2230
2311
  (obj.programAccountId = message.programAccountId);
2312
+ if (message.accounts) {
2313
+ obj.accounts = message.accounts.map((e) => e);
2314
+ } else {
2315
+ obj.accounts = [];
2316
+ }
2231
2317
  message.parsed !== undefined &&
2232
2318
  (obj.parsed =
2233
2319
  message.parsed !== undefined
@@ -2244,6 +2330,7 @@ export const Instruction = {
2244
2330
  ? Long.fromValue(object.slot)
2245
2331
  : Long.UZERO;
2246
2332
  message.programAccountId = object.programAccountId ?? "";
2333
+ message.accounts = object.accounts?.map((e) => e) || [];
2247
2334
  message.parsed = object.parsed ?? undefined;
2248
2335
  return message;
2249
2336
  },
@@ -2608,46 +2695,46 @@ export const ProcessResult = {
2608
2695
  },
2609
2696
  };
2610
2697
 
2611
- function createBaseMetricDescriptor(): MetricDescriptor {
2612
- return { name: "", unit: "", description: "", sparse: false };
2698
+ function createBaseDataDescriptor(): DataDescriptor {
2699
+ return { name: "", description: "", unit: "", sparse: false };
2613
2700
  }
2614
2701
 
2615
- export const MetricDescriptor = {
2702
+ export const DataDescriptor = {
2616
2703
  encode(
2617
- message: MetricDescriptor,
2704
+ message: DataDescriptor,
2618
2705
  writer: _m0.Writer = _m0.Writer.create()
2619
2706
  ): _m0.Writer {
2620
2707
  if (message.name !== "") {
2621
2708
  writer.uint32(10).string(message.name);
2622
2709
  }
2623
- if (message.unit !== "") {
2624
- writer.uint32(18).string(message.unit);
2625
- }
2626
2710
  if (message.description !== "") {
2627
2711
  writer.uint32(26).string(message.description);
2628
2712
  }
2713
+ if (message.unit !== "") {
2714
+ writer.uint32(18).string(message.unit);
2715
+ }
2629
2716
  if (message.sparse === true) {
2630
2717
  writer.uint32(32).bool(message.sparse);
2631
2718
  }
2632
2719
  return writer;
2633
2720
  },
2634
2721
 
2635
- decode(input: _m0.Reader | Uint8Array, length?: number): MetricDescriptor {
2722
+ decode(input: _m0.Reader | Uint8Array, length?: number): DataDescriptor {
2636
2723
  const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
2637
2724
  let end = length === undefined ? reader.len : reader.pos + length;
2638
- const message = createBaseMetricDescriptor();
2725
+ const message = createBaseDataDescriptor();
2639
2726
  while (reader.pos < end) {
2640
2727
  const tag = reader.uint32();
2641
2728
  switch (tag >>> 3) {
2642
2729
  case 1:
2643
2730
  message.name = reader.string();
2644
2731
  break;
2645
- case 2:
2646
- message.unit = reader.string();
2647
- break;
2648
2732
  case 3:
2649
2733
  message.description = reader.string();
2650
2734
  break;
2735
+ case 2:
2736
+ message.unit = reader.string();
2737
+ break;
2651
2738
  case 4:
2652
2739
  message.sparse = reader.bool();
2653
2740
  break;
@@ -2659,30 +2746,30 @@ export const MetricDescriptor = {
2659
2746
  return message;
2660
2747
  },
2661
2748
 
2662
- fromJSON(object: any): MetricDescriptor {
2749
+ fromJSON(object: any): DataDescriptor {
2663
2750
  return {
2664
2751
  name: isSet(object.name) ? String(object.name) : "",
2665
- unit: isSet(object.unit) ? String(object.unit) : "",
2666
2752
  description: isSet(object.description) ? String(object.description) : "",
2753
+ unit: isSet(object.unit) ? String(object.unit) : "",
2667
2754
  sparse: isSet(object.sparse) ? Boolean(object.sparse) : false,
2668
2755
  };
2669
2756
  },
2670
2757
 
2671
- toJSON(message: MetricDescriptor): unknown {
2758
+ toJSON(message: DataDescriptor): unknown {
2672
2759
  const obj: any = {};
2673
2760
  message.name !== undefined && (obj.name = message.name);
2674
- message.unit !== undefined && (obj.unit = message.unit);
2675
2761
  message.description !== undefined &&
2676
2762
  (obj.description = message.description);
2763
+ message.unit !== undefined && (obj.unit = message.unit);
2677
2764
  message.sparse !== undefined && (obj.sparse = message.sparse);
2678
2765
  return obj;
2679
2766
  },
2680
2767
 
2681
- fromPartial(object: DeepPartial<MetricDescriptor>): MetricDescriptor {
2682
- const message = createBaseMetricDescriptor();
2768
+ fromPartial(object: DeepPartial<DataDescriptor>): DataDescriptor {
2769
+ const message = createBaseDataDescriptor();
2683
2770
  message.name = object.name ?? "";
2684
- message.unit = object.unit ?? "";
2685
2771
  message.description = object.description ?? "";
2772
+ message.unit = object.unit ?? "";
2686
2773
  message.sparse = object.sparse ?? false;
2687
2774
  return message;
2688
2775
  },
@@ -2690,13 +2777,14 @@ export const MetricDescriptor = {
2690
2777
 
2691
2778
  function createBaseRecordMetaData(): RecordMetaData {
2692
2779
  return {
2693
- contractAddress: "",
2780
+ address: "",
2781
+ contractName: "",
2694
2782
  blockNumber: Long.UZERO,
2695
2783
  transactionHash: "",
2784
+ chainId: "",
2696
2785
  transactionIndex: 0,
2697
2786
  logIndex: 0,
2698
- chainId: "",
2699
- descriptor: undefined,
2787
+ dataDescriptor: undefined,
2700
2788
  labels: {},
2701
2789
  };
2702
2790
  }
@@ -2706,8 +2794,11 @@ export const RecordMetaData = {
2706
2794
  message: RecordMetaData,
2707
2795
  writer: _m0.Writer = _m0.Writer.create()
2708
2796
  ): _m0.Writer {
2709
- if (message.contractAddress !== "") {
2710
- writer.uint32(10).string(message.contractAddress);
2797
+ if (message.address !== "") {
2798
+ writer.uint32(10).string(message.address);
2799
+ }
2800
+ if (message.contractName !== "") {
2801
+ writer.uint32(74).string(message.contractName);
2711
2802
  }
2712
2803
  if (!message.blockNumber.isZero()) {
2713
2804
  writer.uint32(16).uint64(message.blockNumber);
@@ -2715,18 +2806,18 @@ export const RecordMetaData = {
2715
2806
  if (message.transactionHash !== "") {
2716
2807
  writer.uint32(50).string(message.transactionHash);
2717
2808
  }
2809
+ if (message.chainId !== "") {
2810
+ writer.uint32(42).string(message.chainId);
2811
+ }
2718
2812
  if (message.transactionIndex !== 0) {
2719
2813
  writer.uint32(24).int32(message.transactionIndex);
2720
2814
  }
2721
2815
  if (message.logIndex !== 0) {
2722
2816
  writer.uint32(32).int32(message.logIndex);
2723
2817
  }
2724
- if (message.chainId !== "") {
2725
- writer.uint32(42).string(message.chainId);
2726
- }
2727
- if (message.descriptor !== undefined) {
2728
- MetricDescriptor.encode(
2729
- message.descriptor,
2818
+ if (message.dataDescriptor !== undefined) {
2819
+ DataDescriptor.encode(
2820
+ message.dataDescriptor,
2730
2821
  writer.uint32(66).fork()
2731
2822
  ).ldelim();
2732
2823
  }
@@ -2747,7 +2838,10 @@ export const RecordMetaData = {
2747
2838
  const tag = reader.uint32();
2748
2839
  switch (tag >>> 3) {
2749
2840
  case 1:
2750
- message.contractAddress = reader.string();
2841
+ message.address = reader.string();
2842
+ break;
2843
+ case 9:
2844
+ message.contractName = reader.string();
2751
2845
  break;
2752
2846
  case 2:
2753
2847
  message.blockNumber = reader.uint64() as Long;
@@ -2755,17 +2849,20 @@ export const RecordMetaData = {
2755
2849
  case 6:
2756
2850
  message.transactionHash = reader.string();
2757
2851
  break;
2852
+ case 5:
2853
+ message.chainId = reader.string();
2854
+ break;
2758
2855
  case 3:
2759
2856
  message.transactionIndex = reader.int32();
2760
2857
  break;
2761
2858
  case 4:
2762
2859
  message.logIndex = reader.int32();
2763
2860
  break;
2764
- case 5:
2765
- message.chainId = reader.string();
2766
- break;
2767
2861
  case 8:
2768
- message.descriptor = MetricDescriptor.decode(reader, reader.uint32());
2862
+ message.dataDescriptor = DataDescriptor.decode(
2863
+ reader,
2864
+ reader.uint32()
2865
+ );
2769
2866
  break;
2770
2867
  case 7:
2771
2868
  const entry7 = RecordMetaData_LabelsEntry.decode(
@@ -2786,8 +2883,9 @@ export const RecordMetaData = {
2786
2883
 
2787
2884
  fromJSON(object: any): RecordMetaData {
2788
2885
  return {
2789
- contractAddress: isSet(object.contractAddress)
2790
- ? String(object.contractAddress)
2886
+ address: isSet(object.address) ? String(object.address) : "",
2887
+ contractName: isSet(object.contractName)
2888
+ ? String(object.contractName)
2791
2889
  : "",
2792
2890
  blockNumber: isSet(object.blockNumber)
2793
2891
  ? Long.fromValue(object.blockNumber)
@@ -2795,13 +2893,13 @@ export const RecordMetaData = {
2795
2893
  transactionHash: isSet(object.transactionHash)
2796
2894
  ? String(object.transactionHash)
2797
2895
  : "",
2896
+ chainId: isSet(object.chainId) ? String(object.chainId) : "",
2798
2897
  transactionIndex: isSet(object.transactionIndex)
2799
2898
  ? Number(object.transactionIndex)
2800
2899
  : 0,
2801
2900
  logIndex: isSet(object.logIndex) ? Number(object.logIndex) : 0,
2802
- chainId: isSet(object.chainId) ? String(object.chainId) : "",
2803
- descriptor: isSet(object.descriptor)
2804
- ? MetricDescriptor.fromJSON(object.descriptor)
2901
+ dataDescriptor: isSet(object.dataDescriptor)
2902
+ ? DataDescriptor.fromJSON(object.dataDescriptor)
2805
2903
  : undefined,
2806
2904
  labels: isObject(object.labels)
2807
2905
  ? Object.entries(object.labels).reduce<{ [key: string]: string }>(
@@ -2817,20 +2915,21 @@ export const RecordMetaData = {
2817
2915
 
2818
2916
  toJSON(message: RecordMetaData): unknown {
2819
2917
  const obj: any = {};
2820
- message.contractAddress !== undefined &&
2821
- (obj.contractAddress = message.contractAddress);
2918
+ message.address !== undefined && (obj.address = message.address);
2919
+ message.contractName !== undefined &&
2920
+ (obj.contractName = message.contractName);
2822
2921
  message.blockNumber !== undefined &&
2823
2922
  (obj.blockNumber = (message.blockNumber || Long.UZERO).toString());
2824
2923
  message.transactionHash !== undefined &&
2825
2924
  (obj.transactionHash = message.transactionHash);
2925
+ message.chainId !== undefined && (obj.chainId = message.chainId);
2826
2926
  message.transactionIndex !== undefined &&
2827
2927
  (obj.transactionIndex = Math.round(message.transactionIndex));
2828
2928
  message.logIndex !== undefined &&
2829
2929
  (obj.logIndex = Math.round(message.logIndex));
2830
- message.chainId !== undefined && (obj.chainId = message.chainId);
2831
- message.descriptor !== undefined &&
2832
- (obj.descriptor = message.descriptor
2833
- ? MetricDescriptor.toJSON(message.descriptor)
2930
+ message.dataDescriptor !== undefined &&
2931
+ (obj.dataDescriptor = message.dataDescriptor
2932
+ ? DataDescriptor.toJSON(message.dataDescriptor)
2834
2933
  : undefined);
2835
2934
  obj.labels = {};
2836
2935
  if (message.labels) {
@@ -2843,18 +2942,19 @@ export const RecordMetaData = {
2843
2942
 
2844
2943
  fromPartial(object: DeepPartial<RecordMetaData>): RecordMetaData {
2845
2944
  const message = createBaseRecordMetaData();
2846
- message.contractAddress = object.contractAddress ?? "";
2945
+ message.address = object.address ?? "";
2946
+ message.contractName = object.contractName ?? "";
2847
2947
  message.blockNumber =
2848
2948
  object.blockNumber !== undefined && object.blockNumber !== null
2849
2949
  ? Long.fromValue(object.blockNumber)
2850
2950
  : Long.UZERO;
2851
2951
  message.transactionHash = object.transactionHash ?? "";
2952
+ message.chainId = object.chainId ?? "";
2852
2953
  message.transactionIndex = object.transactionIndex ?? 0;
2853
2954
  message.logIndex = object.logIndex ?? 0;
2854
- message.chainId = object.chainId ?? "";
2855
- message.descriptor =
2856
- object.descriptor !== undefined && object.descriptor !== null
2857
- ? MetricDescriptor.fromPartial(object.descriptor)
2955
+ message.dataDescriptor =
2956
+ object.dataDescriptor !== undefined && object.dataDescriptor !== null
2957
+ ? DataDescriptor.fromPartial(object.dataDescriptor)
2858
2958
  : undefined;
2859
2959
  message.labels = Object.entries(object.labels ?? {}).reduce<{
2860
2960
  [key: string]: string;
@@ -3365,7 +3465,6 @@ export const CounterResult = {
3365
3465
 
3366
3466
  function createBaseLogResult(): LogResult {
3367
3467
  return {
3368
- name: "",
3369
3468
  metadata: undefined,
3370
3469
  level: 0,
3371
3470
  message: "",
@@ -3379,9 +3478,6 @@ export const LogResult = {
3379
3478
  message: LogResult,
3380
3479
  writer: _m0.Writer = _m0.Writer.create()
3381
3480
  ): _m0.Writer {
3382
- if (message.name !== "") {
3383
- writer.uint32(42).string(message.name);
3384
- }
3385
3481
  if (message.metadata !== undefined) {
3386
3482
  RecordMetaData.encode(
3387
3483
  message.metadata,
@@ -3413,9 +3509,6 @@ export const LogResult = {
3413
3509
  while (reader.pos < end) {
3414
3510
  const tag = reader.uint32();
3415
3511
  switch (tag >>> 3) {
3416
- case 5:
3417
- message.name = reader.string();
3418
- break;
3419
3512
  case 1:
3420
3513
  message.metadata = RecordMetaData.decode(reader, reader.uint32());
3421
3514
  break;
@@ -3441,7 +3534,6 @@ export const LogResult = {
3441
3534
 
3442
3535
  fromJSON(object: any): LogResult {
3443
3536
  return {
3444
- name: isSet(object.name) ? String(object.name) : "",
3445
3537
  metadata: isSet(object.metadata)
3446
3538
  ? RecordMetaData.fromJSON(object.metadata)
3447
3539
  : undefined,
@@ -3456,7 +3548,6 @@ export const LogResult = {
3456
3548
 
3457
3549
  toJSON(message: LogResult): unknown {
3458
3550
  const obj: any = {};
3459
- message.name !== undefined && (obj.name = message.name);
3460
3551
  message.metadata !== undefined &&
3461
3552
  (obj.metadata = message.metadata
3462
3553
  ? RecordMetaData.toJSON(message.metadata)
@@ -3473,7 +3564,6 @@ export const LogResult = {
3473
3564
 
3474
3565
  fromPartial(object: DeepPartial<LogResult>): LogResult {
3475
3566
  const message = createBaseLogResult();
3476
- message.name = object.name ?? "";
3477
3567
  message.metadata =
3478
3568
  object.metadata !== undefined && object.metadata !== null
3479
3569
  ? RecordMetaData.fromPartial(object.metadata)
package/src/index.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  export { ProcessorServiceImpl } from './service'
2
2
  export { getProvider, setProvider, DummyProvider } from './provider'
3
- export { ContractNamer } from './contract-namer'
4
3
  export { transformEtherError } from './error'
5
4
  export { ProcessorState } from './processor-state'
6
5
  export { EthersError } from './error'
7
6
 
8
- export { getProcessor, addProcessor, getContractByABI, addContractByABI, getContractName } from './binds'
7
+ export { getProcessor, addProcessor, getContractByABI, addContractByABI } from './binds'
9
8
 
10
9
  export * from './gen'
11
10
 
@@ -10,7 +10,7 @@ import {
10
10
  import { AptosBaseProcessor } from './aptos'
11
11
 
12
12
  import { BaseContract } from 'ethers'
13
- import { TemplateInstance } from './gen/processor/protos/processor'
13
+ import { TemplateInstance } from './gen'
14
14
  import { Provider } from '@ethersproject/providers'
15
15
 
16
16
  export class ProcessorState {
package/src/service.ts CHANGED
@@ -28,6 +28,8 @@ import { Empty } from './gen/google/protobuf/empty'
28
28
  import Long from 'long'
29
29
  import { TextDecoder } from 'util'
30
30
  import { Trace } from './core'
31
+ import { SolanaInstructionHandler } from 'core/solana-processor'
32
+ import { Instruction } from '@project-serum/anchor'
31
33
 
32
34
  const DEFAULT_MAX_BLOCK = Long.ZERO
33
35
 
@@ -65,6 +67,7 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
65
67
  config: undefined,
66
68
  contractConfigs: this.contractConfigs,
67
69
  templateInstances: this.templateInstances,
70
+ accountConfigs: [],
68
71
  }
69
72
  }
70
73
 
@@ -211,7 +214,7 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
211
214
  const contractConfig: ContractConfig = {
212
215
  processorType: USER_PROCESSOR,
213
216
  contract: {
214
- name: aptosProcessor.name,
217
+ name: aptosProcessor.moduleName,
215
218
  chainId: aptosProcessor.getChainId(),
216
219
  address: aptosProcessor.config.address,
217
220
  abi: '',
@@ -464,26 +467,30 @@ export class ProcessorServiceImpl implements ProcessorServiceImplementation {
464
467
  new Promise((resolve, _) => {
465
468
  for (const processor of global.PROCESSOR_STATE.solanaProcessors) {
466
469
  if (processor.address === instruction.programAccountId) {
467
- let res: ProcessResult | null
470
+ let parsedInstruction: Instruction | null = null
468
471
  if (instruction.parsed) {
469
- res = processor.handleInstruction(
470
- JSON.parse(new TextDecoder().decode(instruction.parsed)),
471
- instruction.slot
472
+ parsedInstruction = processor.getParsedInstruction(
473
+ JSON.parse(new TextDecoder().decode(instruction.parsed))
472
474
  )
473
475
  } else if (instruction.instructionData) {
474
- res = processor.handleInstruction(instruction.instructionData, instruction.slot)
475
- } else {
476
+ parsedInstruction = processor.getParsedInstruction(instruction.instructionData)
477
+ }
478
+ if (parsedInstruction == null) {
476
479
  continue
477
480
  }
478
- if (res) {
479
- res.gauges.forEach((g) => result.gauges.push(g))
480
- res.counters.forEach((c) => result.counters.push(c))
481
- res.logs.forEach((l) => result.logs.push(l))
482
- } else {
483
- console.warn(
484
- `Failed to decode the instruction: ${instruction.instructionData} with slot: ${instruction.slot}`
485
- )
481
+ const insHandler = processor.getInstructionHandler(parsedInstruction)
482
+ if (insHandler == null) {
483
+ continue
486
484
  }
485
+ const res = processor.handleInstruction(
486
+ parsedInstruction,
487
+ instruction.accounts,
488
+ insHandler,
489
+ instruction.slot
490
+ )
491
+ res.gauges.forEach((g) => result.gauges.push(g))
492
+ res.counters.forEach((c) => result.counters.push(c))
493
+ res.logs.forEach((l) => result.logs.push(l))
487
494
  }
488
495
  }
489
496
  resolve()