@sentio/sdk 1.5.2 → 1.6.2

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 +0 -0
  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} +0 -0
  88. package/{dist/numberish.test.js.map → numberish.test.js.map} +0 -0
  89. package/package.json +7 -44
  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} +0 -0
  104. package/{dist/service.js → service.js} +0 -0
  105. package/{dist/service.js.map → service.js.map} +0 -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 → test}/erc20-template.d.ts +0 -0
  125. package/{dist/test → test}/erc20-template.js +0 -0
  126. package/{dist/test → test}/erc20-template.js.map +0 -0
  127. package/{dist/test → test}/erc20-template.test.d.ts +0 -0
  128. package/{dist/test → test}/erc20-template.test.js +2 -1
  129. package/test/erc20-template.test.js.map +1 -0
  130. package/{dist/test → test}/erc20.d.ts +0 -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/{dist/test → test}/erc20.test.js +17 -68
  135. package/test/erc20.test.js.map +1 -0
  136. package/{dist/test → test}/generic-processor.test.d.ts +0 -0
  137. package/{dist/test → test}/generic-processor.test.js +4 -24
  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 +7 -5
  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/provider.js.map +0 -1
  174. package/dist/test/clean-test.d.ts +0 -1
  175. package/dist/test/clean-test.js +0 -9
  176. package/dist/test/clean-test.js.map +0 -1
  177. package/dist/test/erc20-template.test.js.map +0 -1
  178. package/dist/test/erc20.test.js.map +0 -1
  179. package/dist/test/generic-processor.test.js.map +0 -1
  180. package/dist/test/index.d.ts +0 -1
  181. package/dist/test/index.js +0 -6
  182. package/dist/test/index.js.map +0 -1
  183. package/dist/test/solana.test.js.map +0 -1
  184. package/dist/test/test-processor-server.d.ts +0 -14
  185. package/dist/test/test-processor-server.js +0 -72
  186. package/dist/test/test-processor-server.js.map +0 -1
  187. package/dist/utils/chainmap.d.ts +0 -4
File without changes
package/package.json CHANGED
@@ -1,26 +1,7 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
3
  "license": "Apache-2.0",
4
- "scripts": {
5
- "compile_target": "yarn tsc -b src/target-ethers-sentio/tsconfig.json",
6
- "compile": "tsc -p . && cp src/cli/webpack.config.js dist/cli",
7
- "build": "yarn compile_target && yarn gen_bultin_evm && yarn gen_test_abi && yarn compile",
8
- "start_ts": "ts-node --files src/processor-runner.ts ../examples/x2y2/src/processor.ts",
9
- "start_ts_solana": "ts-node --files src/processor-runner.ts ../examples/mirrorworld/src/processor.ts",
10
- "start": "ts-node --files src/processor-runner.ts ../examples/x2y2/dist/lib.js",
11
- "start_js": "node dist/processor.js ../examples/x2y2/dist/lib.js",
12
- "ts-start": "ts-node --files src/processor-runner.ts ./src/anyswap/src/processor.ts",
13
- "cli": "yarn build && node dist/cli/cli.js",
14
- "test": "jest src/**/*.test.ts",
15
- "gen_test_abi": "yarn gen_solana_abi",
16
- "gen_bultin_evm": "typechain --target dist/target-ethers-sentio --out-dir src/builtin/internal 'src/abis/*.json'",
17
- "gen_solana_abi": "ts-node src/cli/solana-code-gen.ts src/test types"
18
- },
19
- "bin": {
20
- "processor-runner": "./dist/processor-runner.js",
21
- "sentio": "./dist/cli/cli.js"
22
- },
23
- "version": "1.5.2",
4
+ "version": "1.6.2",
24
5
  "dependencies": {
25
6
  "@ethersproject/providers": "~5.7.0",
26
7
  "@project-serum/anchor": "^0.25.0",
@@ -46,29 +27,11 @@
46
27
  "webpack": "^5.72.1",
47
28
  "webpack-cli": "^4.9.2"
48
29
  },
49
- "devDependencies": {
50
- "@types/chai": "^4.3.1",
51
- "@types/command-line-args": "^5.2.0",
52
- "@types/command-line-usage": "^5.0.2",
53
- "@types/expect": "^24.3.0",
54
- "@types/fs-extra": "^9.0.13",
55
- "@types/google-protobuf": "^3.15.6",
56
- "@types/jest": "^29.0.0",
57
- "@types/js-yaml": "^4.0.5",
58
- "@types/mkdirp": "^1.0.2",
59
- "@types/node": "^18.0.4",
60
- "chai": "^4.3.6",
61
- "jest": "^28.0.1",
62
- "semantic-release": "^19.0.5",
63
- "ts-jest": "^28.0.8",
64
- "ts-node": "^10.8.0",
65
- "tsconfig-paths": "^4.0.0",
66
- "typescript": "^4.8.0"
30
+ "bin": {
31
+ "processor-runner": "./processor-runner.js",
32
+ "sentio": "./cli/cli.js"
67
33
  },
68
- "files": [
69
- "dist/**/*"
70
- ],
71
- "main": "./dist/index.js",
72
- "types": "./dist/index.d.ts",
73
- "module": "./dist/index.js"
34
+ "main": "./index.js",
35
+ "types": "./index.d.js",
36
+ "module": "./index.js"
74
37
  }
File without changes
File without changes
@@ -1,5 +1,6 @@
1
1
  import { Provider, StaticJsonRpcProvider } from '@ethersproject/providers';
2
2
  import { Networkish } from '@ethersproject/networks';
3
+ import { ChainConfig } from './chain-config';
3
4
  export declare const DummyProvider: StaticJsonRpcProvider;
4
5
  export declare function getProvider(networkish?: Networkish): Provider;
5
- export declare function setProvider(config: any, concurrency?: number, useChainServer?: boolean): void;
6
+ export declare function setProvider(config: Record<string, ChainConfig>, concurrency?: number, useChainServer?: boolean): void;
File without changes
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAsF;AAEtF,sDAA4B;AAIf,QAAA,aAAa,GAAG,IAAI,iCAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;AAEpE,SAAgB,WAAW,CAAC,UAAuB;IACjD,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,CAAC,CAAA;KACf;IACD,MAAM,OAAO,GAAG,IAAA,sBAAU,EAAC,UAAU,CAAC,CAAA;IAEtC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE;QACrC,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;KAClC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACnE,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,MAAM,KAAK,CAAC,oBAAoB,CAAC,CAAA;KAClC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAdD,kCAcC;AAED,SAAgB,WAAW,CAAC,MAAmC,EAAE,WAAW,GAAG,CAAC,EAAE,cAAc,GAAG,KAAK;IACtG,MAAM,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAA;IAE9D,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE;QAC/B,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;YACtC,SAAQ;SACT;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;QAElC,8CAA8C;QAC9C,0CAA0C;QAC1C,6DAA6D;QAC7D,IAAI;QACJ,iBAAiB;QACjB,wDAAwD;QAExD,mDAAmD;QAEnD,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,IAAI,cAAc,IAAI,WAAW,CAAC,WAAW,EAAE;YAC7C,UAAU,GAAG,WAAW,CAAC,WAAW,CAAA;SACrC;aAAM;YACL,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAChE,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;SACpC;QAED,MAAM,QAAQ,GAAG,IAAI,2BAA2B,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QAClF,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;KACxD;AACH,CAAC;AA/BD,kCA+BC;AAED,MAAM,2BAA4B,SAAQ,iCAAqB;IAC7D,QAAQ,CAAQ;IAEhB,YAAY,GAA4B,EAAE,OAAmB,EAAE,WAAmB;QAChF,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAM,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,MAAkB;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC5D,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ module.exports = {
2
+ // branches: ['release', { name: 'main', prerelease: 'rc' }],
3
+ branches: ['main'],
4
+ plugins: [
5
+ [
6
+ '@semantic-release/commit-analyzer',
7
+ {
8
+ preset: 'angular',
9
+ releaseRules: [
10
+ { type: 'release', "scope": 'major', release: 'major' },
11
+ { type: 'release', "scope": 'minor', release: 'minor' },
12
+ { type: 'release', "scope": 'patch', release: 'patch' },
13
+ { type: 'chore', release: 'patch' },
14
+ { type: 'refactor', release: 'patch' },
15
+ ],
16
+ },
17
+ ],
18
+ ["@semantic-release/npm", {
19
+ // "pkgRoot": "dist"
20
+ }],
21
+ '@semantic-release/release-notes-generator',
22
+ [
23
+ '@semantic-release/github',
24
+ {
25
+ successComment: false,
26
+ labels: false,
27
+ },
28
+ ],
29
+ // ['@semantic-release/exec', { publishCmd: 'echo "::set-output name=release_version::${nextRelease.version}"' }],
30
+ ],
31
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -10,7 +10,8 @@ const test_processor_server_1 = require("./test-processor-server");
10
10
  describe('Test Template', () => {
11
11
  const service = new test_processor_server_1.TestProcessorServer();
12
12
  beforeAll(async () => {
13
- service.setup('./erc20-template');
13
+ service.setup();
14
+ require('./erc20-template');
14
15
  const request = {
15
16
  templateInstances: [
16
17
  {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20-template.test.js","sourceRoot":"","sources":["../../src/test/erc20-template.test.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;;;AAEhC,+BAA6B;AAG7B,gDAAuB;AACvB,mEAA6D;AAE7D,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,MAAM,OAAO,GAAG,IAAI,2CAAmB,EAAE,CAAA;IAEzC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,CAAC,kBAAkB,CAAC,CAAA;QAC3B,MAAM,OAAO,GAAiB;YAC5B,iBAAiB,EAAE;gBACjB;oBACE,QAAQ,EAAE;wBACR,OAAO,EAAE,UAAU;wBACnB,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,GAAG;wBACZ,GAAG,EAAE,EAAE;qBACR;oBACD,UAAU,EAAE,cAAI,CAAC,IAAI;oBACrB,QAAQ,EAAE,cAAI,CAAC,IAAI;oBACnB,UAAU,EAAE,CAAC;iBACd;aACF;SACF,CAAA;QACD,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC1C,IAAA,aAAM,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACxC,IAAA,aAAM,EAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QACrE,IAAA,aAAM,EAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
File without changes
@@ -13,19 +13,19 @@ erc20_1.Erc20Processor.bind({
13
13
  startBlock: 14201940,
14
14
  })
15
15
  .onTransfer(async function (event, ctx) {
16
- processorTemplate.bind({ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', network: 3, name: 'dynamic' });
16
+ processorTemplate.bind({ address: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9', network: 3, name: 'dynamic' });
17
17
  // template.bind('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', 3, 'dynamic')
18
18
  ctx.meter.Counter('c1').add(1);
19
19
  }, exports.filter)
20
20
  .onBlock(async function (block, ctx) {
21
- ctx.meter.Gauge('h1').record(10, { k: 'v' });
21
+ ctx.meter.Gauge('g1').record(10, { k: 'v' });
22
22
  });
23
23
  erc20_1.Erc20Processor.bind({ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', network: 56, name: 'usdc' })
24
24
  .onTransfer(async function (event, ctx) {
25
25
  ctx.meter.Counter('c2').add(2);
26
26
  }, exports.filter)
27
27
  .onBlock(async function (block, ctx) {
28
- ctx.meter.Gauge('h1').record(20, { k: 'v' });
28
+ ctx.meter.Gauge('g2').record(20, { k: 'v' });
29
29
  });
30
30
  // .startBlock(14201940)
31
31
  erc20_1.Erc20Processor.bind({ address: 'xxxx', network: 56 });
File without changes
File without changes
@@ -3,12 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const chai_1 = require("chai");
5
5
  const __1 = require("..");
6
- const numberish_1 = require("../numberish");
7
6
  const test_processor_server_1 = require("./test-processor-server");
7
+ const metric_utils_1 = require("./metric-utils");
8
8
  describe('Test Basic Examples', () => {
9
9
  const service = new test_processor_server_1.TestProcessorServer();
10
10
  beforeAll(async () => {
11
- service.setup('./erc20');
11
+ service.setup();
12
+ require('./erc20');
12
13
  await service.start();
13
14
  });
14
15
  test('check configuration', async () => {
@@ -21,90 +22,46 @@ describe('Test Basic Examples', () => {
21
22
  (0, chai_1.expect)(config.contractConfigs?.[4].contract?.name).equals('Erc20_1');
22
23
  });
23
24
  test('Check block dispatch', async () => {
24
- const raw = toRaw(blockData);
25
- const request = {
26
- blockBindings: [
27
- {
28
- block: {
29
- raw: raw,
30
- },
31
- handlerIds: [0],
32
- chainId: '', // TODO remove
33
- },
34
- ],
35
- };
36
- const res = await service.processBlocks(request);
25
+ const res = await service.testBlock(blockData);
37
26
  const o11yRes = res.result;
38
27
  (0, chai_1.expect)(o11yRes?.counters).length(0);
39
28
  (0, chai_1.expect)(o11yRes?.gauges).length(1);
40
- (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(o11yRes?.gauges?.[0].metricValue)).equals(10n);
29
+ (0, chai_1.expect)((0, metric_utils_1.firstGaugeValue)(o11yRes, 'g1')).equals(10n);
41
30
  const gauge = o11yRes?.gauges?.[0];
42
31
  (0, chai_1.expect)(gauge?.metadata?.blockNumber?.toString()).equals('14373295');
43
32
  (0, chai_1.expect)(gauge?.runtimeInfo?.from).equals(__1.HandlerType.BLOCK);
44
- // Different handler id should be dispatch to other
45
- const request2 = {
46
- blockBindings: [
47
- {
48
- block: {
49
- raw: raw,
50
- },
51
- handlerIds: [1],
52
- chainId: '', // TODO remove
53
- },
54
- ],
55
- };
56
- const res2 = await service.processBlocks(request2);
33
+ const res2 = await service.testBlock(blockData, 56);
57
34
  const o11yRes2 = res2.result;
58
35
  (0, chai_1.expect)(o11yRes2?.counters).length(0);
59
36
  (0, chai_1.expect)(o11yRes2?.gauges).length(1);
60
- (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(o11yRes2?.gauges?.[0].metricValue)).equals(20n);
37
+ (0, chai_1.expect)((0, metric_utils_1.firstGaugeValue)(o11yRes2, 'g2')).equals(20n);
61
38
  });
62
39
  test('Check log dispatch', async () => {
63
- const raw = toRaw(logData);
64
- const request = {
65
- logBindings: [],
66
- };
67
- const binding = __1.LogBinding.fromPartial({
68
- handlerId: 0,
69
- log: {
70
- raw: raw,
71
- },
72
- });
73
- request.logBindings.push(binding);
74
- // just faked some logs here
75
- const binding2 = __1.LogBinding.fromPartial({
76
- handlerId: 1,
77
- log: {
78
- raw: raw,
79
- },
80
- });
81
- request.logBindings.push(binding2);
82
- const res = await service.processLogs(request);
40
+ let res = await service.testLog(logData);
83
41
  const counters = res.result?.counters;
84
- (0, chai_1.expect)(counters).length(2);
85
- (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(counters?.[0].metricValue)).equals(1n);
42
+ (0, chai_1.expect)(counters).length(1);
43
+ (0, chai_1.expect)((0, metric_utils_1.firstCounterValue)(res.result, 'c1')).equals(1n);
86
44
  (0, chai_1.expect)(counters?.[0].metadata?.chainId).equals('1');
87
45
  (0, chai_1.expect)(counters?.[0].runtimeInfo?.from).equals(__1.HandlerType.LOG);
88
- (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(counters?.[1].metricValue)).equals(2n);
89
- (0, chai_1.expect)(counters?.[1].metadata?.chainId).equals('56');
90
- (0, chai_1.expect)(res.result?.gauges).length(0);
91
46
  (0, chai_1.expect)(res.configUpdated).equals(true);
47
+ const logData2 = Object.assign({}, logData);
48
+ logData2.address = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
49
+ res = await service.testLog(logData2, 56);
50
+ (0, chai_1.expect)((0, metric_utils_1.firstCounterValue)(res.result, 'c2')).equals(2n);
51
+ (0, chai_1.expect)(res.result?.counters[0].metadata?.chainId).equals('56');
52
+ (0, chai_1.expect)(res.result?.gauges).length(0);
92
53
  const config = await service.getConfig({});
93
54
  (0, chai_1.expect)(config.contractConfigs).length(6); //config increased
94
55
  (0, chai_1.expect)(config.contractConfigs?.[5].contract?.name).equals('dynamic');
95
56
  // repeat trigger won't bind again
96
- await service.processLogs(request);
57
+ await service.testLogs([logData]);
97
58
  const config2 = await service.getConfig({});
98
59
  (0, chai_1.expect)(config).deep.equals(config2);
99
60
  });
100
61
  const blockData = {
101
62
  hash: '0x2b9b7cce1f17f3b7e1f3c2472cc806a07bee3f0baca07d021350950d81d73a42',
102
- parentHash: '0xd538332875124ce30a6674926ae6befa2358ac0a03c70d60c24e74ad7bdf2505',
103
63
  number: 14373295,
104
64
  timestamp: 1647106437,
105
- nonce: '0x73bcaf422fe98f49',
106
- difficulty: null,
107
- miner: '0x829BD824B016326A401d083B33D092293333A830',
108
65
  extraData: '0xe4b883e5bda9e7a59ee4bb99e9b1bc493421',
109
66
  };
110
67
  const logData = {
@@ -122,13 +79,5 @@ describe('Test Basic Examples', () => {
122
79
  transactionHash: '0x93355e0cb2c3490cb8a747029ff2dc8cdbde2407025b8391398436955afae303',
123
80
  logIndex: 428,
124
81
  };
125
- function toRaw(obj) {
126
- const logJsonStr = JSON.stringify(obj);
127
- const raw = new Uint8Array(logJsonStr.length);
128
- for (let i = 0; i < logJsonStr.length; i++) {
129
- raw[i] = logJsonStr.charCodeAt(i);
130
- }
131
- return raw;
132
- }
133
82
  });
134
83
  //# sourceMappingURL=erc20.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/test/erc20.test.ts"],"names":[],"mappings":"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"}
File without changes
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const chai_1 = require("chai");
5
5
  const __1 = require("..");
6
- const numberish_1 = require("../numberish");
7
6
  const generic_processor_1 = require("../generic-processor");
8
7
  const test_processor_server_1 = require("./test-processor-server");
8
+ const metric_utils_1 = require("./metric-utils");
9
9
  describe('Test Generic Processor', () => {
10
10
  const service = new test_processor_server_1.TestProcessorServer();
11
11
  beforeAll(async () => {
12
12
  service.setup();
13
13
  generic_processor_1.GenericProcessor.bind([
14
14
  'event Transfer(address indexed from, address indexed to, uint256 value)',
15
- 'event Approval(address indexed from, address indexed to,uint256 value)',
15
+ 'event Approval(address indexed from, address indexed to, uint256 value)',
16
16
  ], { address: '0x1E4EDE388cbc9F4b5c79681B7f94d36a11ABEBC9' }).onAllEvents(function (log, ctx) {
17
17
  ctx.meter.Counter('event_num').add(1);
18
18
  });
@@ -24,22 +24,10 @@ describe('Test Generic Processor', () => {
24
24
  (0, chai_1.expect)(config.contractConfigs?.[0].contract?.name).equals('Generic');
25
25
  });
26
26
  test('Check log dispatch', async () => {
27
- const raw = toRaw(logData);
28
- const request = {
29
- logBindings: [],
30
- };
31
- const binding = __1.LogBinding.fromPartial({
32
- handlerId: 0,
33
- log: {
34
- raw: raw,
35
- },
36
- });
37
- request.logBindings.push(binding);
38
- request.logBindings.push(binding);
39
- const res = await service.processLogs(request);
27
+ const res = await service.testLogs([logData, logData]);
40
28
  const counters = res.result?.counters;
41
29
  (0, chai_1.expect)(counters).length(2);
42
- (0, chai_1.expect)((0, numberish_1.MetricValueToNumber)(counters?.[0].metricValue)).equals(1n);
30
+ (0, chai_1.expect)((0, metric_utils_1.firstCounterValue)(res.result, 'event_num')).equals(1n);
43
31
  (0, chai_1.expect)(counters?.[0].runtimeInfo?.from).equals(__1.HandlerType.LOG);
44
32
  });
45
33
  const logData = {
@@ -57,13 +45,5 @@ describe('Test Generic Processor', () => {
57
45
  transactionHash: '0x93355e0cb2c3490cb8a747029ff2dc8cdbde2407025b8391398436955afae303',
58
46
  logIndex: 428,
59
47
  };
60
- function toRaw(obj) {
61
- const logJsonStr = JSON.stringify(obj);
62
- const raw = new Uint8Array(logJsonStr.length);
63
- for (let i = 0; i < logJsonStr.length; i++) {
64
- raw[i] = logJsonStr.charCodeAt(i);
65
- }
66
- return raw;
67
- }
68
48
  });
69
49
  //# sourceMappingURL=generic-processor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-processor.test.js","sourceRoot":"","sources":["../../src/test/generic-processor.test.ts"],"names":[],"mappings":";AAAA,gCAAgC;;AAEhC,+BAA6B;AAE7B,0BAAgC;AAEhC,4DAAuD;AACvD,mEAA6D;AAC7D,iDAAkD;AAElD,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,MAAM,OAAO,GAAG,IAAI,2CAAmB,EAAE,CAAA;IAEzC,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,OAAO,CAAC,KAAK,EAAE,CAAA;QAEf,oCAAgB,CAAC,IAAI,CACnB;YACE,yEAAyE;YACzE,yEAAyE;SAC1E,EACD,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAC1D,CAAC,WAAW,CAAC,UAAU,GAAG,EAAE,GAAG;YAC9B,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;IACvB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC1C,IAAA,aAAM,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACxC,IAAA,aAAM,EAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAA;QACrC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAA,aAAM,EAAC,IAAA,gCAAiB,EAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7D,IAAA,aAAM,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,eAAW,CAAC,GAAG,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG;QACd,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,oEAAoE;QAC/E,gBAAgB,EAAE,GAAG;QACrB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,4CAA4C;QACrD,IAAI,EAAE,oEAAoE;QAC1E,MAAM,EAAE;YACN,oEAAoE;YACpE,oEAAoE;YACpE,oEAAoE;SACrE;QACD,eAAe,EAAE,oEAAoE;QACrF,QAAQ,EAAE,GAAG;KACd,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export { TestProcessorServer } from './test-processor-server';
package/test/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TestProcessorServer = void 0;
4
+ var test_processor_server_1 = require("./test-processor-server");
5
+ Object.defineProperty(exports, "TestProcessorServer", { enumerable: true, get: function () { return test_processor_server_1.TestProcessorServer; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAApD,4HAAA,mBAAmB,OAAA"}
@@ -0,0 +1,6 @@
1
+ import { DeepPartial } from '../gen/builtin';
2
+ import { MetricValue, O11yResult } from '@sentio/sdk';
3
+ import { Numberish } from '../numberish';
4
+ export declare function MetricValueToNumber(v: DeepPartial<MetricValue> | undefined): Numberish | undefined;
5
+ export declare function firstCounterValue(result: O11yResult | undefined, name: string): Numberish | undefined;
6
+ export declare function firstGaugeValue(result: O11yResult | undefined, name: string): Numberish | undefined;
@@ -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,13 +7,15 @@ 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 numberish_1 = require("../numberish");
11
10
  const util_1 = require("util");
12
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
14
  const service = new test_processor_server_1.TestProcessorServer();
15
15
  beforeAll(async () => {
16
- service.setup(['./mirrorworld', './wormhole-token-bridge']);
16
+ await service.setup();
17
+ require('./mirrorworld');
18
+ require('./wormhole-token-bridge');
17
19
  await service.start({ templateInstances: [] });
18
20
  });
19
21
  test('check configuration ', async () => {
@@ -33,7 +35,7 @@ describe('Test Solana Example', () => {
33
35
  const res = await service.processInstructions(request);
34
36
  (0, chai_1.expect)(res.result?.counters).length(3);
35
37
  (0, chai_1.expect)(res.result?.gauges).length(0);
36
- (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);
37
39
  });
38
40
  test('Check wormhole token bridge instruction dispatch', async () => {
39
41
  const request = {
@@ -54,7 +56,7 @@ describe('Test Solana Example', () => {
54
56
  (0, chai_1.expect)(res.result?.counters).length(2);
55
57
  (0, chai_1.expect)(res.result?.gauges).length(0);
56
58
  (0, chai_1.expect)(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(0);
57
- (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);
58
60
  (0, chai_1.expect)(res.result?.counters[0].runtimeInfo?.from).equals(__1.HandlerType.INSTRUCTION);
59
61
  });
60
62
  test('Check SPLToken parsed instruction dispatch', async () => {
@@ -81,7 +83,7 @@ describe('Test Solana Example', () => {
81
83
  (0, chai_1.expect)(res.result?.counters).length(1);
82
84
  (0, chai_1.expect)(res.result?.gauges).length(0);
83
85
  (0, chai_1.expect)(res.result?.counters[0].metadata?.blockNumber.toInt()).equal(0);
84
- (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);
85
87
  (0, chai_1.expect)(res.result?.counters[0].runtimeInfo?.from).equals(__1.HandlerType.INSTRUCTION);
86
88
  });
87
89
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.test.js","sourceRoot":"","sources":["../../src/test/solana.test.ts"],"names":[],"mappings":"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"}