@sentio/sdk 1.5.1 → 1.6.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 (187) hide show
  1. package/{dist/base-processor-template.d.ts → base-processor-template.d.ts} +0 -0
  2. package/{dist/base-processor-template.js → base-processor-template.js} +0 -0
  3. package/{dist/base-processor-template.js.map → base-processor-template.js.map} +0 -0
  4. package/{dist/base-processor.d.ts → base-processor.d.ts} +0 -0
  5. package/{dist/base-processor.js → base-processor.js} +0 -0
  6. package/{dist/base-processor.js.map → base-processor.js.map} +0 -0
  7. package/{dist/bind-options.d.ts → bind-options.d.ts} +0 -0
  8. package/{dist/bind-options.js → bind-options.js} +0 -0
  9. package/{dist/bind-options.js.map → bind-options.js.map} +0 -0
  10. package/{dist/binds.d.ts → binds.d.ts} +0 -0
  11. package/{dist/binds.js → binds.js} +0 -0
  12. package/{dist/binds.js.map → binds.js.map} +0 -0
  13. package/{dist/builtin → builtin}/erc20/index.d.ts +0 -0
  14. package/{dist/builtin → builtin}/erc20/index.js +0 -0
  15. package/{dist/builtin → builtin}/erc20/index.js.map +0 -0
  16. package/{dist/builtin → builtin}/internal/Erc20.d.ts +0 -0
  17. package/{dist/builtin → builtin}/internal/Erc20.js +0 -0
  18. package/{dist/builtin → builtin}/internal/Erc20.js.map +0 -0
  19. package/{dist/builtin → builtin}/internal/common.d.ts +0 -0
  20. package/{dist/builtin → builtin}/internal/common.js +0 -0
  21. package/{dist/builtin → builtin}/internal/common.js.map +0 -0
  22. package/{dist/builtin → builtin}/internal/erc20_processor.d.ts +0 -0
  23. package/{dist/builtin → builtin}/internal/erc20_processor.js +0 -0
  24. package/{dist/builtin → builtin}/internal/erc20_processor.js.map +0 -0
  25. package/{dist/builtin → builtin}/internal/factories/Erc20__factory.d.ts +0 -0
  26. package/{dist/builtin → builtin}/internal/factories/Erc20__factory.js +0 -0
  27. package/{dist/builtin → builtin}/internal/factories/Erc20__factory.js.map +0 -0
  28. package/{dist/builtin → builtin}/internal/factories/index.d.ts +0 -0
  29. package/{dist/builtin → builtin}/internal/factories/index.js +0 -0
  30. package/{dist/builtin → builtin}/internal/factories/index.js.map +0 -0
  31. package/{dist/builtin → builtin}/internal/index.d.ts +0 -0
  32. package/{dist/builtin → builtin}/internal/index.js +0 -0
  33. package/{dist/builtin → builtin}/internal/index.js.map +0 -0
  34. package/chain-config.d.ts +6 -0
  35. package/chain-config.js +3 -0
  36. package/chain-config.js.map +1 -0
  37. package/{dist/cli → cli}/build.d.ts +0 -0
  38. package/{dist/cli → cli}/build.js +0 -0
  39. package/{dist/cli → cli}/build.js.map +0 -0
  40. package/{dist/cli → cli}/cli.d.ts +0 -0
  41. package/{dist/cli → cli}/cli.js +0 -0
  42. package/{dist/cli → cli}/cli.js.map +0 -0
  43. package/{dist/cli → cli}/config.d.ts +0 -0
  44. package/{dist/cli → cli}/config.js +0 -0
  45. package/{dist/cli → cli}/config.js.map +0 -0
  46. package/{dist/cli → cli}/key.d.ts +0 -0
  47. package/{dist/cli → cli}/key.js +0 -0
  48. package/{dist/cli → cli}/key.js.map +0 -0
  49. package/{dist/cli → cli}/solana-code-gen.d.ts +0 -0
  50. package/{dist/cli → cli}/solana-code-gen.js +0 -0
  51. package/{dist/cli → cli}/solana-code-gen.js.map +0 -0
  52. package/{dist/cli → cli}/upload.d.ts +0 -0
  53. package/{dist/cli → cli}/upload.js +0 -0
  54. package/{dist/cli → cli}/upload.js.map +0 -0
  55. package/{dist/cli → cli}/webpack.config.js +2 -1
  56. package/{dist/context.d.ts → context.d.ts} +0 -0
  57. package/{dist/context.js → context.js} +0 -0
  58. package/{dist/context.js.map → context.js.map} +0 -0
  59. package/{dist/contract-namer.d.ts → contract-namer.d.ts} +0 -0
  60. package/{dist/contract-namer.js → contract-namer.js} +0 -0
  61. package/{dist/contract-namer.js.map → contract-namer.js.map} +0 -0
  62. package/{dist/error.d.ts → error.d.ts} +0 -0
  63. package/{dist/error.js → error.js} +0 -0
  64. package/{dist/error.js.map → error.js.map} +0 -0
  65. package/{dist/gen → gen}/builtin.d.ts +0 -0
  66. package/{dist/gen → gen}/builtin.js +0 -0
  67. package/{dist/gen → gen}/builtin.js.map +0 -0
  68. package/{dist/gen → gen}/google/protobuf/empty.d.ts +0 -0
  69. package/{dist/gen → gen}/google/protobuf/empty.js +0 -0
  70. package/{dist/gen → gen}/google/protobuf/empty.js.map +0 -0
  71. package/{dist/gen → gen}/processor/protos/processor.d.ts +0 -11
  72. package/{dist/gen → gen}/processor/protos/processor.js +2 -55
  73. package/gen/processor/protos/processor.js.map +1 -0
  74. package/{dist/generic-processor.d.ts → generic-processor.d.ts} +0 -0
  75. package/{dist/generic-processor.js → generic-processor.js} +0 -0
  76. package/{dist/generic-processor.js.map → generic-processor.js.map} +0 -0
  77. package/{dist/index.d.ts → index.d.ts} +0 -0
  78. package/{dist/index.js → index.js} +0 -0
  79. package/{dist/index.js.map → index.js.map} +0 -0
  80. package/{dist/meter.d.ts → meter.d.ts} +0 -0
  81. package/{dist/meter.js → meter.js} +0 -0
  82. package/{dist/meter.js.map → meter.js.map} +0 -0
  83. package/{dist/numberish.d.ts → numberish.d.ts} +0 -2
  84. package/{dist/numberish.js → numberish.js} +1 -21
  85. package/{dist/numberish.js.map → numberish.js.map} +1 -1
  86. package/{dist/numberish.test.d.ts → numberish.test.d.ts} +0 -0
  87. package/{dist/numberish.test.js → numberish.test.js} +8 -7
  88. package/numberish.test.js.map +1 -0
  89. package/package.json +4 -41
  90. package/{dist/processor-runner.d.ts → processor-runner.d.ts} +0 -0
  91. package/{dist/processor-runner.js → processor-runner.js} +0 -0
  92. package/{dist/processor-runner.js.map → processor-runner.js.map} +0 -0
  93. package/{dist/processor-state.d.ts → processor-state.d.ts} +0 -0
  94. package/{dist/processor-state.js → processor-state.js} +0 -0
  95. package/{dist/processor-state.js.map → processor-state.js.map} +0 -0
  96. package/{dist/promise-or-void.d.ts → promise-or-void.d.ts} +0 -0
  97. package/{dist/promise-or-void.js → promise-or-void.js} +0 -0
  98. package/{dist/promise-or-void.js.map → promise-or-void.js.map} +0 -0
  99. package/{dist/provider.d.ts → provider.d.ts} +2 -1
  100. package/{dist/provider.js → provider.js} +0 -0
  101. package/provider.js.map +1 -0
  102. package/release.config.js +31 -0
  103. package/{dist/service.d.ts → service.d.ts} +6 -7
  104. package/{dist/service.js → service.js} +1 -0
  105. package/service.js.map +1 -0
  106. package/{dist/solana → solana}/builtin/index.d.ts +0 -0
  107. package/{dist/solana → solana}/builtin/index.js +0 -0
  108. package/{dist/solana → solana}/builtin/index.js.map +0 -0
  109. package/{dist/solana → solana}/builtin/spl-token-processor.d.ts +0 -0
  110. package/{dist/solana → solana}/builtin/spl-token-processor.js +0 -0
  111. package/{dist/solana → solana}/builtin/spl-token-processor.js.map +0 -0
  112. package/{dist/solana → solana}/builtin/types.d.ts +0 -0
  113. package/{dist/solana → solana}/builtin/types.js +0 -0
  114. package/{dist/solana → solana}/builtin/types.js.map +0 -0
  115. package/{dist/solana-processor.d.ts → solana-processor.d.ts} +0 -0
  116. package/{dist/solana-processor.js → solana-processor.js} +0 -0
  117. package/{dist/solana-processor.js.map → solana-processor.js.map} +0 -0
  118. package/{dist/target-ethers-sentio → target-ethers-sentio}/codegen.d.ts +0 -0
  119. package/{dist/target-ethers-sentio → target-ethers-sentio}/codegen.js +0 -0
  120. package/{dist/target-ethers-sentio → target-ethers-sentio}/codegen.js.map +0 -0
  121. package/{dist/target-ethers-sentio → target-ethers-sentio}/index.d.ts +0 -0
  122. package/{dist/target-ethers-sentio → target-ethers-sentio}/index.js +0 -0
  123. package/{dist/target-ethers-sentio → target-ethers-sentio}/index.js.map +0 -0
  124. package/{dist/test/erc20.d.ts → test/erc20-template.d.ts} +0 -0
  125. package/{dist/test → test}/erc20-template.js +1 -1
  126. package/{dist/test → test}/erc20-template.js.map +1 -1
  127. package/{dist/test → test}/erc20-template.test.d.ts +0 -0
  128. package/test/erc20-template.test.js +39 -0
  129. package/test/erc20-template.test.js.map +1 -0
  130. package/test/erc20.d.ts +1 -0
  131. package/{dist/test → test}/erc20.js +3 -3
  132. package/{dist/test → test}/erc20.js.map +0 -0
  133. package/{dist/test → test}/erc20.test.d.ts +0 -0
  134. package/test/erc20.test.js +83 -0
  135. package/test/erc20.test.js.map +1 -0
  136. package/{dist/test → test}/generic-processor.test.d.ts +0 -0
  137. package/test/generic-processor.test.js +49 -0
  138. package/test/generic-processor.test.js.map +1 -0
  139. package/test/index.d.ts +1 -0
  140. package/test/index.js +6 -0
  141. package/test/index.js.map +1 -0
  142. package/test/metric-utils.d.ts +6 -0
  143. package/test/metric-utils.js +50 -0
  144. package/test/metric-utils.js.map +1 -0
  145. package/{dist/test → test}/mirrorworld.d.ts +0 -0
  146. package/{dist/test → test}/mirrorworld.js +0 -0
  147. package/{dist/test → test}/mirrorworld.js.map +0 -0
  148. package/{dist/test → test}/solana.test.d.ts +0 -0
  149. package/{dist/test → test}/solana.test.js +17 -18
  150. package/test/solana.test.js.map +1 -0
  151. package/test/test-processor-server.d.ts +29 -0
  152. package/test/test-processor-server.js +166 -0
  153. package/test/test-processor-server.js.map +1 -0
  154. package/{dist/test → test}/types/game_wallet.d.ts +0 -0
  155. package/{dist/test → test}/types/game_wallet.js +0 -0
  156. package/{dist/test → test}/types/game_wallet.js.map +0 -0
  157. package/{dist/test → test}/types/game_wallet_processor.d.ts +0 -0
  158. package/{dist/test → test}/types/game_wallet_processor.js +0 -0
  159. package/{dist/test → test}/types/game_wallet_processor.js.map +0 -0
  160. package/{dist/test → test}/types/wormhole_processor.d.ts +0 -0
  161. package/{dist/test → test}/types/wormhole_processor.js +0 -0
  162. package/{dist/test → test}/types/wormhole_processor.js.map +0 -0
  163. package/{dist/test → test}/wormhole-token-bridge.d.ts +0 -0
  164. package/{dist/test → test}/wormhole-token-bridge.js +0 -0
  165. package/{dist/test → test}/wormhole-token-bridge.js.map +0 -0
  166. package/utils/chainmap.d.ts +2 -0
  167. package/{dist/utils → utils}/chainmap.js +0 -0
  168. package/{dist/utils → utils}/chainmap.js.map +1 -1
  169. package/{dist/utils → utils}/index.d.ts +0 -0
  170. package/{dist/utils → utils}/index.js +0 -0
  171. package/{dist/utils → utils}/index.js.map +0 -0
  172. package/dist/gen/processor/protos/processor.js.map +0 -1
  173. package/dist/numberish.test.js.map +0 -1
  174. package/dist/provider.js.map +0 -1
  175. package/dist/service.js.map +0 -1
  176. package/dist/test/clean-test.d.ts +0 -1
  177. package/dist/test/clean-test.js +0 -9
  178. package/dist/test/clean-test.js.map +0 -1
  179. package/dist/test/erc20-template.d.ts +0 -1
  180. package/dist/test/erc20-template.test.js +0 -69
  181. package/dist/test/erc20-template.test.js.map +0 -1
  182. package/dist/test/erc20.test.js +0 -164
  183. package/dist/test/erc20.test.js.map +0 -1
  184. package/dist/test/generic-processor.test.js +0 -98
  185. package/dist/test/generic-processor.test.js.map +0 -1
  186. package/dist/test/solana.test.js.map +0 -1
  187. package/dist/utils/chainmap.d.ts +0 -4
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firstGaugeValue = exports.firstCounterValue = exports.MetricValueToNumber = void 0;
4
+ const sdk_1 = require("@sentio/sdk");
5
+ const ethers_1 = require("ethers");
6
+ function MetricValueToNumber(v) {
7
+ if (v === undefined) {
8
+ return undefined;
9
+ }
10
+ if (v.doubleValue !== undefined) {
11
+ return v.doubleValue;
12
+ }
13
+ if (v.bigInteger !== undefined) {
14
+ let intValue = ethers_1.BigNumber.from(v.bigInteger.data).toBigInt();
15
+ if (v.bigInteger.negative) {
16
+ intValue = -intValue;
17
+ }
18
+ return intValue;
19
+ }
20
+ if (v.bigDecimal !== undefined) {
21
+ return new sdk_1.BigDecimal(v.bigDecimal);
22
+ }
23
+ return undefined;
24
+ }
25
+ exports.MetricValueToNumber = MetricValueToNumber;
26
+ function firstCounterValue(result, name) {
27
+ if (!result) {
28
+ return undefined;
29
+ }
30
+ for (const counter of result.counters) {
31
+ if (counter.metadata?.name === name) {
32
+ return MetricValueToNumber(counter.metricValue);
33
+ }
34
+ }
35
+ return undefined;
36
+ }
37
+ exports.firstCounterValue = firstCounterValue;
38
+ function firstGaugeValue(result, name) {
39
+ if (!result) {
40
+ return undefined;
41
+ }
42
+ for (const gauge of result.gauges) {
43
+ if (gauge.metadata?.name === name) {
44
+ return MetricValueToNumber(gauge.metricValue);
45
+ }
46
+ }
47
+ return undefined;
48
+ }
49
+ exports.firstGaugeValue = firstGaugeValue;
50
+ //# sourceMappingURL=metric-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric-utils.js","sourceRoot":"","sources":["../../src/test/metric-utils.ts"],"names":[],"mappings":";;;AACA,qCAAiE;AAEjE,mCAAkC;AAElC,SAAgB,mBAAmB,CAAC,CAAuC;IACzE,IAAI,CAAC,KAAK,SAAS,EAAE;QACnB,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,EAAE;QAC/B,OAAO,CAAC,CAAC,WAAW,CAAA;KACrB;IACD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE;QAC9B,IAAI,QAAQ,GAAG,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC3D,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;YACzB,QAAQ,GAAG,CAAC,QAAQ,CAAA;SACrB;QACD,OAAO,QAAQ,CAAA;KAChB;IACD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE;QAC9B,OAAO,IAAI,gBAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;KACpC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAnBD,kDAmBC;AAED,SAAgB,iBAAiB,CAAC,MAA8B,EAAE,IAAY;IAC5E,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,SAAS,CAAA;KACjB;IACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;QACrC,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,EAAE;YACnC,OAAO,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;SAChD;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAVD,8CAUC;AAED,SAAgB,eAAe,CAAC,MAA8B,EAAE,IAAY;IAC1E,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,SAAS,CAAA;KACjB;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;QACjC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,EAAE;YACjC,OAAO,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;SAC9C;KACF;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAVD,0CAUC"}
File without changes
File without changes
File without changes
File without changes
@@ -7,23 +7,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const chai_1 = require("chai");
8
8
  const __1 = require("..");
9
9
  const long_1 = __importDefault(require("long"));
10
- const clean_test_1 = require("./clean-test");
11
- const numberish_1 = require("../numberish");
12
10
  const util_1 = require("util");
11
+ const test_processor_server_1 = require("./test-processor-server");
12
+ const metric_utils_1 = require("./metric-utils");
13
13
  describe('Test Solana Example', () => {
14
- const service = new __1.ProcessorServiceImpl(undefined);
15
- const testContext = {};
16
- before(async () => {
17
- (0, clean_test_1.cleanTest)();
14
+ const service = new test_processor_server_1.TestProcessorServer();
15
+ beforeAll(async () => {
16
+ await service.setup();
18
17
  require('./mirrorworld');
19
18
  require('./wormhole-token-bridge');
20
- await service.start({ templateInstances: [] }, testContext);
19
+ await service.start({ templateInstances: [] });
21
20
  });
22
- it('check configuration ', async () => {
23
- const config = await service.getConfig({}, testContext);
21
+ test('check configuration ', async () => {
22
+ const config = await service.getConfig({});
24
23
  (0, chai_1.expect)(config.contractConfigs).length(3);
25
24
  });
26
- it('Check mirrorworld instruction dispatch', async () => {
25
+ test('Check mirrorworld instruction dispatch', async () => {
27
26
  const request = {
28
27
  instructions: [
29
28
  {
@@ -33,12 +32,12 @@ describe('Test Solana Example', () => {
33
32
  },
34
33
  ],
35
34
  };
36
- const res = await service.processInstructions(request, testContext);
35
+ const res = await service.processInstructions(request);
37
36
  (0, chai_1.expect)(res.result?.counters).length(3);
38
37
  (0, chai_1.expect)(res.result?.gauges).length(0);
39
- (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(res.result?.counters[0].metricValue)).equal(5000000000n);
38
+ (0, chai_1.expect)((0, metric_utils_1.MetricValueToNumber)(res.result?.counters[0].metricValue)).equal(5000000000n);
40
39
  });
41
- it('Check wormhole token bridge instruction dispatch', async () => {
40
+ test('Check wormhole token bridge instruction dispatch', async () => {
42
41
  const request = {
43
42
  instructions: [
44
43
  {
@@ -53,14 +52,14 @@ describe('Test Solana Example', () => {
53
52
  },
54
53
  ],
55
54
  };
56
- const res = await service.processInstructions(request, testContext);
55
+ const res = await service.processInstructions(request);
57
56
  (0, chai_1.expect)(res.result?.counters).length(2);
58
57
  (0, chai_1.expect)(res.result?.gauges).length(0);
59
58
  (0, chai_1.expect)(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(0);
60
- (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(res.result?.counters[0].metricValue)).equal(1000000n);
59
+ (0, chai_1.expect)((0, metric_utils_1.MetricValueToNumber)(res.result?.counters[0].metricValue)).equal(1000000n);
61
60
  (0, chai_1.expect)(res.result?.counters[0].runtimeInfo?.from).equals(__1.HandlerType.INSTRUCTION);
62
61
  });
63
- it('Check SPLToken parsed instruction dispatch', async () => {
62
+ test('Check SPLToken parsed instruction dispatch', async () => {
64
63
  const parsedIns = {
65
64
  info: {
66
65
  account: '2SDN4vEJdCdW3pGyhx2km9gB3LeHzMGLrG2j4uVNZfrx',
@@ -80,11 +79,11 @@ describe('Test Solana Example', () => {
80
79
  },
81
80
  ],
82
81
  };
83
- const res = await service.processInstructions(request, testContext);
82
+ const res = await service.processInstructions(request);
84
83
  (0, chai_1.expect)(res.result?.counters).length(1);
85
84
  (0, chai_1.expect)(res.result?.gauges).length(0);
86
85
  (0, chai_1.expect)(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(0);
87
- (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(res.result?.counters[0].metricValue)).equal(12000000000000);
86
+ (0, chai_1.expect)((0, metric_utils_1.MetricValueToNumber)(res.result?.counters[0].metricValue)).equal(12000000000000);
88
87
  (0, chai_1.expect)(res.result?.counters[0].runtimeInfo?.from).equals(__1.HandlerType.INSTRUCTION);
89
88
  });
90
89
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.test.js","sourceRoot":"","sources":["../../src/test/solana.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { BlockBinding, ContractConfig, LogBinding, ProcessBlocksRequest, ProcessBlocksResponse, ProcessConfigRequest, ProcessConfigResponse, ProcessInstructionsRequest, ProcessInstructionsResponse, ProcessLogsRequest, ProcessLogsResponse, ProcessorServiceImpl, ProcessorServiceImplementation, ProcessTransactionsRequest, ProcessTransactionsResponse, StartRequest } from '@sentio/sdk';
2
+ import { CallContext } from 'nice-grpc-common';
3
+ import { Empty } from '../gen/google/protobuf/empty';
4
+ import { Block, Log } from '@ethersproject/abstract-provider';
5
+ import { Networkish } from '@ethersproject/providers';
6
+ export declare class TestProcessorServer implements ProcessorServiceImplementation {
7
+ service: ProcessorServiceImpl;
8
+ contractConfig: ContractConfig[];
9
+ setup(httpEndpoints?: Record<string, string>): void;
10
+ start(request?: StartRequest, context?: CallContext): Promise<Empty>;
11
+ stop(request: Empty, context?: CallContext): Promise<Empty>;
12
+ getConfig(request: ProcessConfigRequest, context?: CallContext): Promise<ProcessConfigResponse>;
13
+ processBlocks(request: ProcessBlocksRequest, context?: CallContext): Promise<ProcessBlocksResponse>;
14
+ processInstructions(request: ProcessInstructionsRequest, context?: CallContext): Promise<ProcessInstructionsResponse>;
15
+ processLogs(request: ProcessLogsRequest, context?: CallContext): Promise<ProcessLogsResponse>;
16
+ processTransactions(request: ProcessTransactionsRequest, context?: CallContext): Promise<ProcessTransactionsResponse>;
17
+ testLog(log: Log, network?: Networkish): Promise<ProcessLogsResponse>;
18
+ testLogs(logs: Log[], network?: Networkish): Promise<ProcessLogsResponse>;
19
+ buildLogBinding(log: Log, network?: Networkish): LogBinding | undefined;
20
+ testBlock(block: Partial<Block> & {
21
+ number: number;
22
+ }, network?: Networkish): Promise<ProcessBlocksResponse>;
23
+ testBlocks(blocks: Partial<Block> & {
24
+ number: number;
25
+ }[], network?: Networkish): Promise<ProcessBlocksResponse>;
26
+ buildBlockBinding(block: Partial<Block> & {
27
+ number: number;
28
+ }, network?: Networkish): BlockBinding;
29
+ }
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TestProcessorServer = void 0;
7
+ const sdk_1 = require("@sentio/sdk");
8
+ const chainmap_1 = require("../utils/chainmap");
9
+ const long_1 = __importDefault(require("long"));
10
+ const providers_1 = require("@ethersproject/providers");
11
+ const TEST_CONTEXT = {};
12
+ function cleanTest() {
13
+ global.PROCESSOR_STATE = new sdk_1.ProcessorState();
14
+ }
15
+ class TestProcessorServer {
16
+ service = new sdk_1.ProcessorServiceImpl();
17
+ contractConfig;
18
+ setup(httpEndpoints = {}) {
19
+ cleanTest();
20
+ const dummyConfig = {};
21
+ for (const k in chainmap_1.CHAIN_MAP) {
22
+ const http = httpEndpoints[k] || '';
23
+ dummyConfig[k] = {
24
+ ChainID: k,
25
+ Https: [http],
26
+ };
27
+ }
28
+ (0, sdk_1.setProvider)(dummyConfig);
29
+ // if (!Array.isArray(processorPath)) {
30
+ // processorPath = [processorPath]
31
+ // }
32
+ // for (const path of processorPath) {
33
+ // require(path)
34
+ // }
35
+ }
36
+ async start(request = { templateInstances: [] }, context = TEST_CONTEXT) {
37
+ const res = await this.service.start(request, context);
38
+ this.contractConfig = (await this.getConfig({})).contractConfigs;
39
+ return res;
40
+ }
41
+ stop(request, context = TEST_CONTEXT) {
42
+ return this.service.stop(request, context);
43
+ }
44
+ getConfig(request, context = TEST_CONTEXT) {
45
+ return this.service.getConfig(request, context);
46
+ }
47
+ processBlocks(request, context = TEST_CONTEXT) {
48
+ return this.service.processBlocks(request, context);
49
+ }
50
+ processInstructions(request, context = TEST_CONTEXT) {
51
+ return this.service.processInstructions(request, context);
52
+ }
53
+ processLogs(request, context = TEST_CONTEXT) {
54
+ return this.service.processLogs(request, context);
55
+ }
56
+ processTransactions(request, context = TEST_CONTEXT) {
57
+ return this.service.processTransactions(request, context);
58
+ }
59
+ testLog(log, network = 1) {
60
+ return this.testLogs([log], network);
61
+ }
62
+ testLogs(logs, network = 1) {
63
+ const bindings = [];
64
+ for (const log of logs) {
65
+ const binding = this.buildLogBinding(log, network);
66
+ if (!binding) {
67
+ throw Error('Invalid test log: ' + JSON.stringify(log));
68
+ }
69
+ bindings.push(binding);
70
+ }
71
+ return this.processLogs({
72
+ logBindings: bindings,
73
+ });
74
+ }
75
+ buildLogBinding(log, network = 1) {
76
+ for (const contract of this.contractConfig) {
77
+ if (contract.contract?.chainId !== (0, providers_1.getNetwork)(network).chainId.toString()) {
78
+ continue;
79
+ }
80
+ if (log.address.toLowerCase() !== contract.contract?.address.toLowerCase()) {
81
+ continue;
82
+ }
83
+ for (const config of contract.logConfigs) {
84
+ for (const filter of config.filters) {
85
+ // if (filter.topics.length != log.topics.length) {
86
+ // continue
87
+ // }
88
+ let match = true;
89
+ for (const topicIdx in filter.topics) {
90
+ const logTopic = log.topics[topicIdx];
91
+ const possibleTopic = filter.topics[topicIdx].hashes;
92
+ if (possibleTopic.length === 0) {
93
+ // match all
94
+ continue;
95
+ }
96
+ if (possibleTopic.find((e) => e.toLowerCase() === logTopic.toLowerCase())) {
97
+ // find one
98
+ continue;
99
+ }
100
+ match = false;
101
+ break;
102
+ }
103
+ if (match) {
104
+ return {
105
+ log: {
106
+ raw: toBytes(log),
107
+ },
108
+ handlerId: config.handlerId,
109
+ };
110
+ }
111
+ }
112
+ }
113
+ }
114
+ return undefined;
115
+ }
116
+ testBlock(block, network = 1) {
117
+ return this.testBlocks([block], network);
118
+ }
119
+ testBlocks(blocks, network = 1) {
120
+ const bindings = [];
121
+ for (const block of blocks) {
122
+ const binding = this.buildBlockBinding(block, network);
123
+ if (!binding) {
124
+ throw Error('Invalid test block: ' + JSON.stringify(block));
125
+ }
126
+ bindings.push(binding);
127
+ }
128
+ return this.processBlocks({
129
+ blockBindings: bindings,
130
+ });
131
+ }
132
+ buildBlockBinding(block, network = 1) {
133
+ const binding = {
134
+ block: {
135
+ raw: toBytes(block),
136
+ },
137
+ handlerIds: [],
138
+ };
139
+ for (const contract of this.contractConfig) {
140
+ if (contract.contract?.chainId !== (0, providers_1.getNetwork)(network).chainId.toString()) {
141
+ continue;
142
+ }
143
+ const longBlockNumber = long_1.default.fromNumber(block.number);
144
+ if (longBlockNumber < contract.startBlock) {
145
+ continue;
146
+ }
147
+ if (contract.endBlock !== long_1.default.ZERO && longBlockNumber >= contract.endBlock) {
148
+ continue;
149
+ }
150
+ for (const config of contract.blockConfigs) {
151
+ binding.handlerIds.push(config.handlerId);
152
+ }
153
+ }
154
+ return binding;
155
+ }
156
+ }
157
+ exports.TestProcessorServer = TestProcessorServer;
158
+ function toBytes(obj) {
159
+ const logJsonStr = JSON.stringify(obj);
160
+ const raw = new Uint8Array(logJsonStr.length);
161
+ for (let i = 0; i < logJsonStr.length; i++) {
162
+ raw[i] = logJsonStr.charCodeAt(i);
163
+ }
164
+ return raw;
165
+ }
166
+ //# sourceMappingURL=test-processor-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/test/test-processor-server.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,2 @@
1
+ export declare const CHAIN_MAP: Record<string, string>;
2
+ export declare function getChainName(chainId: string): string;
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"chainmap.js","sourceRoot":"","sources":["../../src/utils/chainmap.ts"],"names":[],"mappings":";AAAA,mFAAmF;AACnF,6EAA6E;;;AAEhE,QAAA,SAAS,GAA8B;IAClD,aAAa,EAAE,QAAQ;IACvB,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,WAAW;IACf,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,OAAO;CACzB,CAAA;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,MAAM,IAAI,GAAG,iBAAS,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAND,oCAMC"}
1
+ {"version":3,"file":"chainmap.js","sourceRoot":"","sources":["../../src/utils/chainmap.ts"],"names":[],"mappings":";AAAA,mFAAmF;AACnF,6EAA6E;;;AAEhE,QAAA,SAAS,GAA2B;IAC/C,aAAa,EAAE,QAAQ;IACvB,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;IAC5B,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,MAAM;IACT,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,QAAQ;IACZ,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,WAAW;IACf,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,SAAS;IACnB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,OAAO;CACzB,CAAA;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,MAAM,IAAI,GAAG,iBAAS,CAAC,OAAO,CAAC,CAAA;IAC/B,IAAI,IAAI,EAAE;QACR,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAND,oCAMC"}
File without changes
File without changes
File without changes
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../../src/gen/processor/protos/processor.ts"],"names":[],"mappings":"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"}