@sentio/sdk 1.41.0-rc.1 → 2.0.0-rc.10

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 (301) hide show
  1. package/lib/builtin/eacaggregatorproxy/index.d.ts +3 -2
  2. package/lib/builtin/eacaggregatorproxy/index.js +3 -5
  3. package/lib/builtin/eacaggregatorproxy/index.js.map +1 -1
  4. package/lib/builtin/eacaggregatorproxy/test-utils.d.ts +1 -1
  5. package/lib/builtin/eacaggregatorproxy/test-utils.js +9 -16
  6. package/lib/builtin/eacaggregatorproxy/test-utils.js.map +1 -1
  7. package/lib/builtin/erc1155/index.d.ts +3 -2
  8. package/lib/builtin/erc1155/index.js +3 -5
  9. package/lib/builtin/erc1155/index.js.map +1 -1
  10. package/lib/builtin/erc1155/test-utils.d.ts +1 -1
  11. package/lib/builtin/erc1155/test-utils.js +9 -16
  12. package/lib/builtin/erc1155/test-utils.js.map +1 -1
  13. package/lib/builtin/erc20/index.d.ts +3 -2
  14. package/lib/builtin/erc20/index.js +3 -5
  15. package/lib/builtin/erc20/index.js.map +1 -1
  16. package/lib/builtin/erc20/test-utils.d.ts +1 -1
  17. package/lib/builtin/erc20/test-utils.js +7 -13
  18. package/lib/builtin/erc20/test-utils.js.map +1 -1
  19. package/lib/builtin/erc20bytes/index.d.ts +3 -2
  20. package/lib/builtin/erc20bytes/index.js +3 -5
  21. package/lib/builtin/erc20bytes/index.js.map +1 -1
  22. package/lib/builtin/erc20bytes/test-utils.d.ts +1 -1
  23. package/lib/builtin/erc20bytes/test-utils.js +5 -10
  24. package/lib/builtin/erc20bytes/test-utils.js.map +1 -1
  25. package/lib/builtin/erc721/index.d.ts +3 -2
  26. package/lib/builtin/erc721/index.js +3 -5
  27. package/lib/builtin/erc721/index.js.map +1 -1
  28. package/lib/builtin/erc721/test-utils.d.ts +1 -1
  29. package/lib/builtin/erc721/test-utils.js +7 -13
  30. package/lib/builtin/erc721/test-utils.js.map +1 -1
  31. package/lib/builtin/index.d.ts +8 -4
  32. package/lib/builtin/index.js +8 -8
  33. package/lib/builtin/index.js.map +1 -1
  34. package/lib/builtin/internal/EACAggregatorProxy.d.ts +6 -6
  35. package/lib/builtin/internal/EACAggregatorProxy.js +1 -2
  36. package/lib/builtin/internal/EACAggregatorProxy.js.map +1 -1
  37. package/lib/builtin/internal/ERC1155.d.ts +6 -6
  38. package/lib/builtin/internal/ERC1155.js +1 -2
  39. package/lib/builtin/internal/ERC1155.js.map +1 -1
  40. package/lib/builtin/internal/ERC20.d.ts +5 -5
  41. package/lib/builtin/internal/ERC20.js +1 -2
  42. package/lib/builtin/internal/ERC20.js.map +1 -1
  43. package/lib/builtin/internal/ERC20Bytes.d.ts +4 -4
  44. package/lib/builtin/internal/ERC20Bytes.js +1 -2
  45. package/lib/builtin/internal/ERC20Bytes.js.map +1 -1
  46. package/lib/builtin/internal/ERC721.d.ts +5 -5
  47. package/lib/builtin/internal/ERC721.js +1 -2
  48. package/lib/builtin/internal/ERC721.js.map +1 -1
  49. package/lib/builtin/internal/WETH9.d.ts +6 -6
  50. package/lib/builtin/internal/WETH9.js +1 -2
  51. package/lib/builtin/internal/WETH9.js.map +1 -1
  52. package/lib/builtin/internal/common.d.ts +4 -2
  53. package/lib/builtin/internal/common.js +1 -2
  54. package/lib/builtin/internal/common.js.map +1 -1
  55. package/lib/builtin/internal/eacaggregatorproxy_processor.d.ts +6 -6
  56. package/lib/builtin/internal/eacaggregatorproxy_processor.js +69 -77
  57. package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +1 -1
  58. package/lib/builtin/internal/erc1155_processor.d.ts +6 -6
  59. package/lib/builtin/internal/erc1155_processor.js +30 -38
  60. package/lib/builtin/internal/erc1155_processor.js.map +1 -1
  61. package/lib/builtin/internal/erc20_processor.d.ts +5 -5
  62. package/lib/builtin/internal/erc20_processor.js +39 -47
  63. package/lib/builtin/internal/erc20_processor.js.map +1 -1
  64. package/lib/builtin/internal/erc20bytes_processor.d.ts +4 -4
  65. package/lib/builtin/internal/erc20bytes_processor.js +33 -41
  66. package/lib/builtin/internal/erc20bytes_processor.js.map +1 -1
  67. package/lib/builtin/internal/erc721_processor.d.ts +5 -5
  68. package/lib/builtin/internal/erc721_processor.js +42 -50
  69. package/lib/builtin/internal/erc721_processor.js.map +1 -1
  70. package/lib/builtin/internal/factories/EACAggregatorProxy__factory.js +4 -8
  71. package/lib/builtin/internal/factories/EACAggregatorProxy__factory.js.map +1 -1
  72. package/lib/builtin/internal/factories/ERC1155__factory.js +4 -8
  73. package/lib/builtin/internal/factories/ERC1155__factory.js.map +1 -1
  74. package/lib/builtin/internal/factories/ERC20Bytes__factory.js +4 -8
  75. package/lib/builtin/internal/factories/ERC20Bytes__factory.js.map +1 -1
  76. package/lib/builtin/internal/factories/ERC20__factory.js +4 -8
  77. package/lib/builtin/internal/factories/ERC20__factory.js.map +1 -1
  78. package/lib/builtin/internal/factories/ERC721__factory.js +4 -8
  79. package/lib/builtin/internal/factories/ERC721__factory.js.map +1 -1
  80. package/lib/builtin/internal/factories/WETH9__factory.js +4 -8
  81. package/lib/builtin/internal/factories/WETH9__factory.js.map +1 -1
  82. package/lib/builtin/internal/factories/index.d.ts +6 -6
  83. package/lib/builtin/internal/factories/index.js +6 -15
  84. package/lib/builtin/internal/factories/index.js.map +1 -1
  85. package/lib/builtin/internal/index.d.ts +13 -13
  86. package/lib/builtin/internal/index.js +7 -17
  87. package/lib/builtin/internal/index.js.map +1 -1
  88. package/lib/builtin/internal/weth9_processor.d.ts +6 -6
  89. package/lib/builtin/internal/weth9_processor.js +33 -41
  90. package/lib/builtin/internal/weth9_processor.js.map +1 -1
  91. package/lib/builtin/weth9/index.d.ts +3 -2
  92. package/lib/builtin/weth9/index.js +3 -5
  93. package/lib/builtin/weth9/index.js.map +1 -1
  94. package/lib/builtin/weth9/test-utils.d.ts +1 -1
  95. package/lib/builtin/weth9/test-utils.js +9 -16
  96. package/lib/builtin/weth9/test-utils.js.map +1 -1
  97. package/lib/core/base-context.d.ts +4 -4
  98. package/lib/core/base-context.js +7 -11
  99. package/lib/core/base-context.js.map +1 -1
  100. package/lib/core/big-decimal.js +3 -7
  101. package/lib/core/big-decimal.js.map +1 -1
  102. package/lib/core/bind-options.js +6 -13
  103. package/lib/core/bind-options.js.map +1 -1
  104. package/lib/core/context.d.ts +5 -5
  105. package/lib/core/context.js +14 -23
  106. package/lib/core/context.js.map +1 -1
  107. package/lib/core/core-plugin.js +9 -13
  108. package/lib/core/core-plugin.js.map +1 -1
  109. package/lib/core/event-tracker.d.ts +2 -2
  110. package/lib/core/event-tracker.js +6 -13
  111. package/lib/core/event-tracker.js.map +1 -1
  112. package/lib/core/exporter.d.ts +2 -2
  113. package/lib/core/exporter.js +4 -9
  114. package/lib/core/exporter.js.map +1 -1
  115. package/lib/core/index.d.ts +12 -9
  116. package/lib/core/index.js +12 -32
  117. package/lib/core/index.js.map +1 -1
  118. package/lib/core/logger.d.ts +2 -2
  119. package/lib/core/logger.js +7 -11
  120. package/lib/core/logger.js.map +1 -1
  121. package/lib/core/metadata.d.ts +4 -0
  122. package/lib/core/metadata.js +21 -7
  123. package/lib/core/metadata.js.map +1 -1
  124. package/lib/core/meter.d.ts +3 -7
  125. package/lib/core/meter.js +22 -57
  126. package/lib/core/meter.js.map +1 -1
  127. package/lib/core/meter.test.js.map +1 -1
  128. package/lib/core/numberish.d.ts +1 -1
  129. package/lib/core/numberish.js +12 -18
  130. package/lib/core/numberish.js.map +1 -1
  131. package/lib/core/numberish.test.js.map +1 -1
  132. package/lib/core/sui-plugin.js +12 -16
  133. package/lib/core/sui-plugin.js.map +1 -1
  134. package/lib/core/sui-processor.d.ts +1 -1
  135. package/lib/core/sui-processor.js +6 -12
  136. package/lib/core/sui-processor.js.map +1 -1
  137. package/lib/error.d.ts +1 -1
  138. package/lib/error.js +2 -7
  139. package/lib/error.js.map +1 -1
  140. package/lib/eth/account-processor-state.d.ts +1 -1
  141. package/lib/eth/account-processor-state.js +2 -6
  142. package/lib/eth/account-processor-state.js.map +1 -1
  143. package/lib/eth/account-processor.d.ts +7 -7
  144. package/lib/eth/account-processor.js +23 -27
  145. package/lib/eth/account-processor.js.map +1 -1
  146. package/lib/eth/base-processor-template.d.ts +9 -9
  147. package/lib/eth/base-processor-template.js +8 -17
  148. package/lib/eth/base-processor-template.js.map +1 -1
  149. package/lib/eth/base-processor.d.ts +8 -8
  150. package/lib/eth/base-processor.js +22 -31
  151. package/lib/eth/base-processor.js.map +1 -1
  152. package/lib/eth/binds.d.ts +3 -3
  153. package/lib/eth/binds.js +11 -19
  154. package/lib/eth/binds.js.map +1 -1
  155. package/lib/eth/eth-event.d.ts +5 -0
  156. package/lib/eth/eth-event.js +2 -0
  157. package/lib/eth/eth-event.js.map +1 -0
  158. package/lib/eth/eth-plugin.js +30 -34
  159. package/lib/eth/eth-plugin.js.map +1 -1
  160. package/lib/eth/generic-processor.d.ts +3 -3
  161. package/lib/eth/generic-processor.js +9 -13
  162. package/lib/eth/generic-processor.js.map +1 -1
  163. package/lib/{core → eth}/generic-processor.test.d.ts +0 -0
  164. package/lib/eth/generic-processor.test.js.map +1 -0
  165. package/lib/eth/index.d.ts +7 -6
  166. package/lib/eth/index.js +6 -14
  167. package/lib/eth/index.js.map +1 -1
  168. package/lib/eth/provider.js +12 -17
  169. package/lib/eth/provider.js.map +1 -1
  170. package/lib/eth/trace.js +1 -2
  171. package/lib/eth/trace.js.map +1 -1
  172. package/lib/index.d.ts +4 -5
  173. package/lib/index.js +5 -16
  174. package/lib/index.js.map +1 -1
  175. package/lib/promise-or-void.js +1 -2
  176. package/lib/target-ethers-sentio/{event-handler.js → event-handler.cjs} +4 -4
  177. package/lib/target-ethers-sentio/event-handler.cjs.map +1 -0
  178. package/lib/target-ethers-sentio/{event-handler.d.ts → event-handler.d.cts} +0 -0
  179. package/lib/target-ethers-sentio/{file.js → file.cjs} +19 -18
  180. package/lib/target-ethers-sentio/file.cjs.map +1 -0
  181. package/lib/target-ethers-sentio/{file.d.ts → file.d.cts} +0 -0
  182. package/lib/target-ethers-sentio/{functions-handler.js → functions-handler.cjs} +6 -7
  183. package/lib/target-ethers-sentio/functions-handler.cjs.map +1 -0
  184. package/lib/target-ethers-sentio/{functions-handler.d.ts → functions-handler.d.cts} +0 -0
  185. package/lib/target-ethers-sentio/{index.js → index.cjs} +8 -5
  186. package/lib/target-ethers-sentio/index.cjs.map +1 -0
  187. package/lib/target-ethers-sentio/{index.d.ts → index.d.cts} +0 -0
  188. package/lib/target-ethers-sentio/{types.js → types.cjs} +1 -1
  189. package/lib/target-ethers-sentio/types.cjs.map +1 -0
  190. package/lib/target-ethers-sentio/{types.d.ts → types.d.cts} +0 -0
  191. package/lib/target-ethers-sentio/{view-function.js → view-function.cjs} +5 -5
  192. package/lib/target-ethers-sentio/view-function.cjs.map +1 -0
  193. package/lib/target-ethers-sentio/{view-function.d.ts → view-function.d.cts} +0 -0
  194. package/lib/testing/index.d.ts +3 -2
  195. package/lib/testing/index.js +3 -10
  196. package/lib/testing/index.js.map +1 -1
  197. package/lib/testing/metric-utils.d.ts +1 -1
  198. package/lib/testing/metric-utils.js +7 -13
  199. package/lib/testing/metric-utils.js.map +1 -1
  200. package/lib/testing/test-processor-server.d.ts +3 -4
  201. package/lib/testing/test-processor-server.js +24 -29
  202. package/lib/testing/test-processor-server.js.map +1 -1
  203. package/lib/testing/test-provider.js +5 -9
  204. package/lib/testing/test-provider.js.map +1 -1
  205. package/lib/tsup.config.ts +28 -0
  206. package/lib/utils/chain.js +7 -12
  207. package/lib/utils/chain.js.map +1 -1
  208. package/lib/utils/conversion.d.ts +0 -5
  209. package/lib/utils/conversion.js +22 -27
  210. package/lib/utils/conversion.js.map +1 -1
  211. package/lib/utils/dex-price.js +14 -19
  212. package/lib/utils/dex-price.js.map +1 -1
  213. package/lib/utils/dex-price.test.js.map +1 -1
  214. package/lib/utils/erc20.test.js.map +1 -1
  215. package/lib/utils/index.d.ts +4 -4
  216. package/lib/utils/index.js +4 -8
  217. package/lib/utils/index.js.map +1 -1
  218. package/lib/utils/price.d.ts +11 -11
  219. package/lib/utils/price.js +10 -16
  220. package/lib/utils/price.js.map +1 -1
  221. package/lib/utils/token.d.ts +1 -1
  222. package/lib/utils/token.js +15 -21
  223. package/lib/utils/token.js.map +1 -1
  224. package/package.json +23 -19
  225. package/src/builtin/eacaggregatorproxy/index.ts +3 -2
  226. package/src/builtin/eacaggregatorproxy/test-utils.ts +1 -1
  227. package/src/builtin/erc1155/index.ts +3 -2
  228. package/src/builtin/erc1155/test-utils.ts +1 -1
  229. package/src/builtin/erc20/index.ts +3 -2
  230. package/src/builtin/erc20/test-utils.ts +1 -1
  231. package/src/builtin/erc20bytes/index.ts +3 -2
  232. package/src/builtin/erc20bytes/test-utils.ts +1 -1
  233. package/src/builtin/erc721/index.ts +3 -2
  234. package/src/builtin/erc721/test-utils.ts +1 -1
  235. package/src/builtin/index.ts +8 -4
  236. package/src/builtin/internal/EACAggregatorProxy.ts +6 -10
  237. package/src/builtin/internal/ERC1155.ts +6 -10
  238. package/src/builtin/internal/ERC20.ts +5 -8
  239. package/src/builtin/internal/ERC20Bytes.ts +4 -6
  240. package/src/builtin/internal/ERC721.ts +5 -8
  241. package/src/builtin/internal/WETH9.ts +6 -10
  242. package/src/builtin/internal/common.ts +5 -3
  243. package/src/builtin/internal/eacaggregatorproxy_processor.ts +2 -2
  244. package/src/builtin/internal/erc1155_processor.ts +2 -2
  245. package/src/builtin/internal/erc20_processor.ts +2 -2
  246. package/src/builtin/internal/erc20bytes_processor.ts +2 -2
  247. package/src/builtin/internal/erc721_processor.ts +2 -2
  248. package/src/builtin/internal/factories/index.ts +6 -6
  249. package/src/builtin/internal/index.ts +13 -13
  250. package/src/builtin/internal/weth9_processor.ts +2 -2
  251. package/src/builtin/weth9/index.ts +3 -2
  252. package/src/builtin/weth9/test-utils.ts +1 -1
  253. package/src/core/base-context.ts +4 -4
  254. package/src/core/context.ts +5 -6
  255. package/src/core/core-plugin.ts +3 -3
  256. package/src/core/event-tracker.ts +2 -2
  257. package/src/core/exporter.ts +3 -3
  258. package/src/core/index.ts +12 -9
  259. package/src/core/logger.ts +2 -2
  260. package/src/core/metadata.ts +23 -2
  261. package/src/core/meter.ts +3 -26
  262. package/src/core/numberish.ts +1 -1
  263. package/src/core/sui-plugin.ts +2 -2
  264. package/src/core/sui-processor.ts +1 -1
  265. package/src/error.ts +1 -1
  266. package/src/eth/account-processor-state.ts +1 -1
  267. package/src/eth/account-processor.ts +11 -11
  268. package/src/eth/base-processor-template.ts +8 -11
  269. package/src/eth/base-processor.ts +14 -28
  270. package/src/eth/binds.ts +3 -3
  271. package/src/eth/eth-event.ts +6 -0
  272. package/src/eth/eth-plugin.ts +3 -3
  273. package/src/eth/generic-processor.ts +5 -5
  274. package/src/eth/index.ts +8 -6
  275. package/src/index.ts +4 -6
  276. package/src/target-ethers-sentio/{event-handler.ts → event-handler.cts} +1 -1
  277. package/src/target-ethers-sentio/{file.ts → file.cts} +10 -9
  278. package/src/target-ethers-sentio/{functions-handler.ts → functions-handler.cts} +3 -4
  279. package/src/target-ethers-sentio/{index.ts → index.cts} +4 -1
  280. package/src/target-ethers-sentio/tsconfig.json +1 -1
  281. package/src/target-ethers-sentio/{types.ts → types.cts} +0 -0
  282. package/src/target-ethers-sentio/{view-function.ts → view-function.cts} +1 -1
  283. package/src/testing/index.ts +3 -3
  284. package/src/testing/metric-utils.ts +2 -2
  285. package/src/testing/test-processor-server.ts +5 -5
  286. package/src/testing/test-provider.ts +1 -1
  287. package/src/tsup.config.ts +28 -0
  288. package/src/utils/conversion.ts +21 -25
  289. package/src/utils/dex-price.ts +4 -5
  290. package/src/utils/index.ts +4 -4
  291. package/src/utils/price.ts +1 -1
  292. package/src/utils/token.ts +6 -6
  293. package/lib/core/generic-processor.test.js.map +0 -1
  294. package/lib/target-ethers-sentio/event-handler.js.map +0 -1
  295. package/lib/target-ethers-sentio/file.js.map +0 -1
  296. package/lib/target-ethers-sentio/functions-handler.js.map +0 -1
  297. package/lib/target-ethers-sentio/index.js.map +0 -1
  298. package/lib/target-ethers-sentio/types.js.map +0 -1
  299. package/lib/target-ethers-sentio/view-function.js.map +0 -1
  300. package/lib/webpack.config.js +0 -50
  301. package/src/webpack.config.js +0 -50
@@ -1,11 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firstGaugeValue = exports.firstCounterValue = exports.MetricValueToNumber = 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
- var metric_utils_1 = require("./metric-utils");
7
- Object.defineProperty(exports, "MetricValueToNumber", { enumerable: true, get: function () { return metric_utils_1.MetricValueToNumber; } });
8
- Object.defineProperty(exports, "firstCounterValue", { enumerable: true, get: function () { return metric_utils_1.firstCounterValue; } });
9
- Object.defineProperty(exports, "firstGaugeValue", { enumerable: true, get: function () { return metric_utils_1.firstGaugeValue; } });
10
- // export { loadTestProvidersFromEnv } from './test-provider' // TODO make the interface more standard and then export
1
+ export { TestProcessorServer } from './test-processor-server.js';
2
+ export { MetricValueToNumber, firstCounterValue, firstGaugeValue } from './metric-utils.js';
3
+ export { loadTestProvidersFromEnv } from './test-provider.js'; // TODO make the interface more standard and then export
11
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":";;;AAAA,iEAA6D;AAApD,4HAAA,mBAAmB,OAAA;AAC5B,+CAAwF;AAA/E,mHAAA,mBAAmB,OAAA;AAAE,iHAAA,iBAAiB,OAAA;AAAE,+GAAA,eAAe,OAAA;AAEhE,sHAAsH","sourcesContent":["export { TestProcessorServer } from './test-processor-server'\nexport { MetricValueToNumber, firstCounterValue, firstGaugeValue } from './metric-utils'\n\n// export { loadTestProvidersFromEnv } from './test-provider' // TODO make the interface more standard and then export\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAE3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA,CAAC,wDAAwD","sourcesContent":["export { TestProcessorServer } from './test-processor-server.js'\nexport { MetricValueToNumber, firstCounterValue, firstGaugeValue } from './metric-utils.js'\n\nexport { loadTestProvidersFromEnv } from './test-provider.js' // TODO make the interface more standard and then export\n"]}
@@ -1,5 +1,5 @@
1
1
  import { MetricValue, ProcessResult } from '@sentio/protos';
2
- import { Numberish } from '../core';
2
+ import { Numberish } from '../core/index.js';
3
3
  export declare function MetricValueToNumber(v: Partial<MetricValue> | undefined): Numberish | undefined;
4
4
  export declare function firstCounterValue(result: ProcessResult | undefined, name: string): Numberish | undefined;
5
5
  export declare function firstGaugeValue(result: ProcessResult | undefined, name: string): Numberish | undefined;
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firstGaugeValue = exports.firstCounterValue = exports.MetricValueToNumber = void 0;
4
- const core_1 = require("../core");
5
- const conversion_1 = require("../utils/conversion");
6
- function MetricValueToNumber(v) {
1
+ import { BigDecimal } from '../core/index.js';
2
+ import { bytesToBigInt } from '../utils/conversion.js';
3
+ export function MetricValueToNumber(v) {
7
4
  if (v === undefined) {
8
5
  return undefined;
9
6
  }
@@ -11,19 +8,18 @@ function MetricValueToNumber(v) {
11
8
  return v.doubleValue;
12
9
  }
13
10
  if (v.bigInteger !== undefined) {
14
- let intValue = (0, conversion_1.bytesToBigInt)(v.bigInteger.data);
11
+ let intValue = bytesToBigInt(v.bigInteger.data);
15
12
  if (v.bigInteger.negative) {
16
13
  intValue = -intValue;
17
14
  }
18
15
  return intValue;
19
16
  }
20
17
  if (v.bigDecimal !== undefined) {
21
- return new core_1.BigDecimal(v.bigDecimal);
18
+ return new BigDecimal(v.bigDecimal);
22
19
  }
23
20
  return undefined;
24
21
  }
25
- exports.MetricValueToNumber = MetricValueToNumber;
26
- function firstCounterValue(result, name) {
22
+ export function firstCounterValue(result, name) {
27
23
  if (!result) {
28
24
  return undefined;
29
25
  }
@@ -34,8 +30,7 @@ function firstCounterValue(result, name) {
34
30
  }
35
31
  return undefined;
36
32
  }
37
- exports.firstCounterValue = firstCounterValue;
38
- function firstGaugeValue(result, name) {
33
+ export function firstGaugeValue(result, name) {
39
34
  if (!result) {
40
35
  return undefined;
41
36
  }
@@ -46,5 +41,4 @@ function firstGaugeValue(result, name) {
46
41
  }
47
42
  return undefined;
48
43
  }
49
- exports.firstGaugeValue = firstGaugeValue;
50
44
  //# sourceMappingURL=metric-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metric-utils.js","sourceRoot":"","sources":["../../src/testing/metric-utils.ts"],"names":[],"mappings":";;;AACA,kCAA+C;AAC/C,oDAAmD;AAEnD,SAAgB,mBAAmB,CAAC,CAAmC;IACrE,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,IAAA,0BAAa,EAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/C,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,iBAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;KACpC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAnBD,kDAmBC;AAED,SAAgB,iBAAiB,CAAC,MAAiC,EAAE,IAAY;IAC/E,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,MAAiC,EAAE,IAAY;IAC7E,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","sourcesContent":["import { MetricValue, ProcessResult } from '@sentio/protos'\nimport { Numberish, BigDecimal } from '../core'\nimport { bytesToBigInt } from '../utils/conversion'\n\nexport function MetricValueToNumber(v: Partial<MetricValue> | undefined): Numberish | undefined {\n if (v === undefined) {\n return undefined\n }\n\n if (v.doubleValue !== undefined) {\n return v.doubleValue\n }\n if (v.bigInteger !== undefined) {\n let intValue = bytesToBigInt(v.bigInteger.data)\n if (v.bigInteger.negative) {\n intValue = -intValue\n }\n return intValue\n }\n if (v.bigDecimal !== undefined) {\n return new BigDecimal(v.bigDecimal)\n }\n return undefined\n}\n\nexport function firstCounterValue(result: ProcessResult | undefined, name: string): Numberish | undefined {\n if (!result) {\n return undefined\n }\n for (const counter of result.counters) {\n if (counter.metadata?.name === name) {\n return MetricValueToNumber(counter.metricValue)\n }\n }\n return undefined\n}\n\nexport function firstGaugeValue(result: ProcessResult | undefined, name: string): Numberish | undefined {\n if (!result) {\n return undefined\n }\n for (const gauge of result.gauges) {\n if (gauge.metadata?.name === name) {\n return MetricValueToNumber(gauge.metricValue)\n }\n }\n return undefined\n}\n"]}
1
+ {"version":3,"file":"metric-utils.js","sourceRoot":"","sources":["../../src/testing/metric-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,MAAM,UAAU,mBAAmB,CAAC,CAAmC;IACrE,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,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/C,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,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;KACpC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAiC,EAAE,IAAY;IAC/E,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;AAED,MAAM,UAAU,eAAe,CAAC,MAAiC,EAAE,IAAY;IAC7E,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","sourcesContent":["import { MetricValue, ProcessResult } from '@sentio/protos'\nimport { Numberish, BigDecimal } from '../core/index.js'\nimport { bytesToBigInt } from '../utils/conversion.js'\n\nexport function MetricValueToNumber(v: Partial<MetricValue> | undefined): Numberish | undefined {\n if (v === undefined) {\n return undefined\n }\n\n if (v.doubleValue !== undefined) {\n return v.doubleValue\n }\n if (v.bigInteger !== undefined) {\n let intValue = bytesToBigInt(v.bigInteger.data)\n if (v.bigInteger.negative) {\n intValue = -intValue\n }\n return intValue\n }\n if (v.bigDecimal !== undefined) {\n return new BigDecimal(v.bigDecimal)\n }\n return undefined\n}\n\nexport function firstCounterValue(result: ProcessResult | undefined, name: string): Numberish | undefined {\n if (!result) {\n return undefined\n }\n for (const counter of result.counters) {\n if (counter.metadata?.name === name) {\n return MetricValueToNumber(counter.metricValue)\n }\n }\n return undefined\n}\n\nexport function firstGaugeValue(result: ProcessResult | undefined, name: string): Numberish | undefined {\n if (!result) {\n return undefined\n }\n for (const gauge of result.gauges) {\n if (gauge.metadata?.name === name) {\n return MetricValueToNumber(gauge.metricValue)\n }\n }\n return undefined\n}\n"]}
@@ -1,8 +1,7 @@
1
- import { AccountConfig, ContractConfig, DataBinding, Data_SolInstruction, ProcessBindingResponse, ProcessBindingsRequest, ProcessConfigRequest, ProcessConfigResponse, ProcessorServiceImplementation, StartRequest } from '@sentio/protos';
1
+ import { AccountConfig, ContractConfig, DataBinding, Data_SolInstruction, ProcessBindingResponse, ProcessBindingsRequest, ProcessConfigRequest, ProcessConfigResponse, ProcessorServiceImplementation, StartRequest, Empty } from '@sentio/protos';
2
2
  import { CallContext } from 'nice-grpc-common';
3
- import { Empty } from '@sentio/protos/lib/google/protobuf/empty';
4
3
  import { ProcessorServiceImpl } from '@sentio/runtime';
5
- import { Trace } from '../eth/trace';
4
+ import { Trace } from '../eth/trace.js';
6
5
  import { LogParams, Networkish, BlockParams } from 'ethers/providers';
7
6
  import { Block } from 'ethers';
8
7
  export declare const TEST_CONTEXT: CallContext;
@@ -11,7 +10,7 @@ export declare class TestProcessorServer implements ProcessorServiceImplementati
11
10
  service: ProcessorServiceImpl;
12
11
  contractConfigs: ContractConfig[];
13
12
  accountConfigs: AccountConfig[];
14
- constructor(loader: () => void, httpEndpoints?: Record<string, string>);
13
+ constructor(loader: () => Promise<any>, httpEndpoints?: Record<string, string>);
15
14
  start(request?: StartRequest, context?: CallContext): Promise<Empty>;
16
15
  stop(request: Empty, context?: CallContext): Promise<Empty>;
17
16
  getConfig(request: ProcessConfigRequest, context?: CallContext): Promise<ProcessConfigResponse>;
@@ -1,39 +1,35 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestProcessorServer = exports.cleanTest = exports.TEST_CONTEXT = void 0;
4
- const protos_1 = require("@sentio/protos");
5
- const runtime_1 = require("@sentio/runtime");
6
- const chain_1 = require("../utils/chain");
7
- const providers_1 = require("ethers/providers");
8
- exports.TEST_CONTEXT = {};
9
- function cleanTest() {
10
- runtime_1.State.reset();
1
+ import { HandlerType, } from '@sentio/protos';
2
+ import { ProcessorServiceImpl, Endpoints, State } from '@sentio/runtime';
3
+ import { CHAIN_MAP } from '../utils/chain.js';
4
+ import { Network } from 'ethers/providers';
5
+ export const TEST_CONTEXT = {};
6
+ export function cleanTest() {
7
+ State.reset();
11
8
  // Endpoints.reset()
12
9
  }
13
- exports.cleanTest = cleanTest;
14
- class TestProcessorServer {
10
+ export class TestProcessorServer {
15
11
  service;
16
12
  contractConfigs;
17
13
  accountConfigs;
18
14
  constructor(loader, httpEndpoints = {}) {
19
15
  cleanTest();
20
- this.service = new runtime_1.ProcessorServiceImpl(loader);
21
- for (const k in chain_1.CHAIN_MAP) {
16
+ this.service = new ProcessorServiceImpl(loader);
17
+ for (const k in CHAIN_MAP) {
22
18
  const http = httpEndpoints[k] || '';
23
- runtime_1.Endpoints.INSTANCE.chainServer.set(k, http);
19
+ Endpoints.INSTANCE.chainServer.set(k, http);
24
20
  }
25
21
  }
26
- async start(request = { templateInstances: [] }, context = exports.TEST_CONTEXT) {
22
+ async start(request = { templateInstances: [] }, context = TEST_CONTEXT) {
27
23
  const res = await this.service.start(request, context);
28
24
  const config = await this.getConfig({});
29
25
  this.contractConfigs = config.contractConfigs;
30
26
  this.accountConfigs = config.accountConfigs;
31
27
  return res;
32
28
  }
33
- stop(request, context = exports.TEST_CONTEXT) {
29
+ stop(request, context = TEST_CONTEXT) {
34
30
  return this.service.stop(request, context);
35
31
  }
36
- getConfig(request, context = exports.TEST_CONTEXT) {
32
+ getConfig(request, context = TEST_CONTEXT) {
37
33
  return this.service.getConfig(request, context);
38
34
  }
39
35
  // processLogs(request: ProcessBindingsRequest, context = TEST_CONTEXT): Promise<ProcessBindingResponse> {
@@ -65,7 +61,7 @@ class TestProcessorServer {
65
61
  }
66
62
  const signature = trace.action.input.slice(0, 10);
67
63
  for (const contract of this.contractConfigs) {
68
- if (contract.contract?.chainId !== providers_1.Network.from(network).chainId.toString()) {
64
+ if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {
69
65
  continue;
70
66
  }
71
67
  if (trace.action.to?.toLowerCase() !== contract.contract?.address.toLowerCase()) {
@@ -81,7 +77,7 @@ class TestProcessorServer {
81
77
  },
82
78
  },
83
79
  handlerIds: [config.handlerId],
84
- handlerType: protos_1.HandlerType.ETH_TRACE,
80
+ handlerType: HandlerType.ETH_TRACE,
85
81
  };
86
82
  }
87
83
  }
@@ -106,7 +102,7 @@ class TestProcessorServer {
106
102
  }
107
103
  buildLogBinding(log, network = 1) {
108
104
  for (const contract of this.contractConfigs) {
109
- if (contract.contract?.chainId !== providers_1.Network.from(network).chainId.toString()) {
105
+ if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {
110
106
  continue;
111
107
  }
112
108
  if (log.address.toLowerCase() !== contract.contract?.address.toLowerCase()) {
@@ -138,7 +134,7 @@ class TestProcessorServer {
138
134
  ethLog: { log, timestamp: new Date() },
139
135
  },
140
136
  handlerIds: [config.handlerId],
141
- handlerType: protos_1.HandlerType.ETH_LOG,
137
+ handlerType: HandlerType.ETH_LOG,
142
138
  };
143
139
  }
144
140
  }
@@ -164,7 +160,7 @@ class TestProcessorServer {
164
160
  }
165
161
  buildAccountLogBinding(address, log, network = 1) {
166
162
  for (const account of this.accountConfigs) {
167
- if (account.chainId !== providers_1.Network.from(network).chainId.toString()) {
163
+ if (account.chainId !== Network.from(network).chainId.toString()) {
168
164
  continue;
169
165
  }
170
166
  if (address.toLowerCase() !== account.address.toLowerCase()) {
@@ -196,7 +192,7 @@ class TestProcessorServer {
196
192
  ethLog: { log, timestamp: new Date() },
197
193
  },
198
194
  handlerIds: [config.handlerId],
199
- handlerType: protos_1.HandlerType.ETH_LOG,
195
+ handlerType: HandlerType.ETH_LOG,
200
196
  };
201
197
  }
202
198
  }
@@ -225,11 +221,11 @@ class TestProcessorServer {
225
221
  data: {
226
222
  ethBlock: { block },
227
223
  },
228
- handlerType: protos_1.HandlerType.ETH_BLOCK,
224
+ handlerType: HandlerType.ETH_BLOCK,
229
225
  handlerIds: [],
230
226
  };
231
227
  for (const contract of this.contractConfigs) {
232
- if (contract.contract?.chainId !== providers_1.Network.from(network).chainId.toString()) {
228
+ if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {
233
229
  continue;
234
230
  }
235
231
  const longBlockNumber = block.number;
@@ -254,17 +250,16 @@ class TestProcessorServer {
254
250
  solInstruction: instruction,
255
251
  },
256
252
  handlerIds: [],
257
- handlerType: protos_1.HandlerType.SOL_INSTRUCTION,
253
+ handlerType: HandlerType.SOL_INSTRUCTION,
258
254
  };
259
255
  }),
260
256
  });
261
257
  }
262
- processBindings(request, context = exports.TEST_CONTEXT) {
258
+ processBindings(request, context = TEST_CONTEXT) {
263
259
  return this.service.processBindings(request, context);
264
260
  }
265
261
  processBindingsStream(request, context) {
266
262
  return this.service.processBindingsStream(request, context);
267
263
  }
268
264
  }
269
- exports.TestProcessorServer = TestProcessorServer;
270
265
  //# sourceMappingURL=test-processor-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AccountConfig,\n ContractConfig,\n DataBinding,\n HandlerType,\n Data_SolInstruction,\n ProcessBindingResponse,\n ProcessBindingsRequest,\n ProcessConfigRequest,\n ProcessConfigResponse,\n ProcessorServiceImplementation,\n StartRequest,\n} from '@sentio/protos'\nimport { CallContext } from 'nice-grpc-common'\nimport { Empty } from '@sentio/protos/lib/google/protobuf/empty'\nimport { ChainConfig, ProcessorServiceImpl, Endpoints, State } from '@sentio/runtime'\nimport { CHAIN_MAP } from '../utils/chain'\n\nimport { Trace } from '../eth/trace'\nimport { LogParams, Networkish, BlockParams, Network } from 'ethers/providers'\n\nimport { Block, Log } from 'ethers'\n\nexport const TEST_CONTEXT: CallContext = <CallContext>{}\n\nexport function cleanTest() {\n State.reset()\n // Endpoints.reset()\n}\n\nexport class TestProcessorServer implements ProcessorServiceImplementation {\n service: ProcessorServiceImpl\n contractConfigs: ContractConfig[]\n accountConfigs: AccountConfig[]\n\n constructor(loader: () => void, httpEndpoints: Record<string, string> = {}) {\n cleanTest()\n\n this.service = new ProcessorServiceImpl(loader)\n\n for (const k in CHAIN_MAP) {\n const http = httpEndpoints[k] || ''\n Endpoints.INSTANCE.chainServer.set(k, http)\n }\n }\n\n async start(request: StartRequest = { templateInstances: [] }, context = TEST_CONTEXT): Promise<Empty> {\n const res = await this.service.start(request, context)\n const config = await this.getConfig({})\n this.contractConfigs = config.contractConfigs\n this.accountConfigs = config.accountConfigs\n return res\n }\n\n stop(request: Empty, context = TEST_CONTEXT): Promise<Empty> {\n return this.service.stop(request, context)\n }\n\n getConfig(request: ProcessConfigRequest, context = TEST_CONTEXT): Promise<ProcessConfigResponse> {\n return this.service.getConfig(request, context)\n }\n\n // processLogs(request: ProcessBindingsRequest, context = TEST_CONTEXT): Promise<ProcessBindingResponse> {\n // return this.service.processLogs(request, context)\n // }\n //\n // processTraces(request: ProcessBindingsRequest, context: CallContext = TEST_CONTEXT): Promise<ProcessBindingResponse> {\n // return this.service.processTraces(request, context)\n // }\n\n testTrace(trace: Trace, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testTraces([trace], network)\n }\n\n testTraces(traces: Trace[], network: Networkish = 1): Promise<ProcessBindingResponse> {\n const bindings = []\n for (const trace of traces) {\n const binding = this.buildTraceBinding(trace, network)\n if (!binding) {\n throw Error('Invalid test trace: ' + JSON.stringify(trace))\n }\n bindings.push(binding)\n }\n return this.processBindings({\n bindings: bindings,\n })\n }\n\n buildTraceBinding(trace: Trace, network: Networkish = 1): DataBinding | undefined {\n if (trace.type !== 'call' || !trace.action.input) {\n throw Error('Invalid test trace: ' + JSON.stringify(trace))\n }\n const signature = trace.action.input.slice(0, 10)\n\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {\n continue\n }\n if (trace.action.to?.toLowerCase() !== contract.contract?.address.toLowerCase()) {\n continue\n }\n for (const config of contract.traceConfigs) {\n if (config.signature == signature) {\n return {\n data: {\n ethTrace: {\n trace,\n timestamp: new Date(),\n },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_TRACE,\n }\n }\n }\n }\n return undefined\n }\n\n testLog(log: LogParams, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testLogs([log], network)\n }\n\n testLogs(logs: LogParams[], network: Networkish = 1): Promise<ProcessBindingResponse> {\n const bindings = []\n for (const log of logs) {\n const binding = this.buildLogBinding(log, network)\n if (!binding) {\n throw Error('Invalid test log: ' + JSON.stringify(log))\n }\n bindings.push(binding)\n }\n return this.processBindings({\n bindings: bindings,\n })\n }\n\n buildLogBinding(log: LogParams, network: Networkish = 1): DataBinding | undefined {\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {\n continue\n }\n if (log.address.toLowerCase() !== contract.contract?.address.toLowerCase()) {\n continue\n }\n for (const config of contract.logConfigs) {\n for (const filter of config.filters) {\n // if (filter.topics.length != log.topics.length) {\n // continue\n // }\n\n let match = true\n for (const topicIdx in filter.topics) {\n const logTopic = log.topics[topicIdx]\n const possibleTopic = filter.topics[topicIdx].hashes\n if (possibleTopic.length === 0) {\n // match all\n continue\n }\n if (possibleTopic.find((e) => e.toLowerCase() === logTopic.toLowerCase())) {\n // find one\n continue\n }\n match = false\n break\n }\n if (match) {\n return {\n data: {\n ethLog: { log, timestamp: new Date() },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_LOG,\n }\n }\n }\n }\n }\n return undefined\n }\n testAccountLog(address: string, log: LogParams, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testAccountLogs(address, [log], network)\n }\n\n testAccountLogs(address: string, logs: LogParams[], network: Networkish = 1): Promise<ProcessBindingResponse> {\n const bindings = []\n for (const log of logs) {\n const binding = this.buildAccountLogBinding(address, log, network)\n if (!binding) {\n throw Error('Invalid test log: ' + JSON.stringify(log))\n }\n bindings.push(binding)\n }\n return this.processBindings({\n bindings: bindings,\n })\n }\n\n buildAccountLogBinding(address: string, log: LogParams, network: Networkish = 1): DataBinding | undefined {\n for (const account of this.accountConfigs) {\n if (account.chainId !== Network.from(network).chainId.toString()) {\n continue\n }\n if (address.toLowerCase() !== account.address.toLowerCase()) {\n continue\n }\n for (const config of account.logConfigs) {\n for (const filter of config.filters) {\n // if (filter.topics.length != log.topics.length) {\n // continue\n // }\n\n let match = true\n for (const topicIdx in filter.topics) {\n const logTopic = log.topics[topicIdx]\n const possibleTopic = filter.topics[topicIdx].hashes\n if (possibleTopic.length === 0) {\n // match all\n continue\n }\n if (possibleTopic.find((e) => e.toLowerCase() === logTopic.toLowerCase())) {\n // find one\n continue\n }\n match = false\n break\n }\n if (match) {\n return {\n data: {\n ethLog: { log, timestamp: new Date() },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_LOG,\n }\n }\n }\n }\n }\n return undefined\n }\n\n testBlock(\n block: Partial<BlockParams> & { number: number },\n network: Networkish = 1\n ): Promise<ProcessBindingResponse> {\n return this.testBlocks([block], network)\n }\n\n testBlocks(blocks: Partial<BlockParams> & { number: number }[], network: Networkish = 1) {\n const bindings = []\n for (const block of blocks) {\n const binding = this.buildBlockBinding(block, network)\n if (!binding) {\n throw Error('Invalid test block: ' + JSON.stringify(block))\n }\n bindings.push(binding)\n }\n return this.processBindings({\n bindings: bindings,\n })\n }\n\n buildBlockBinding(block: Partial<Block> & { number: number }, network: Networkish = 1): DataBinding {\n const binding: DataBinding = {\n data: {\n ethBlock: { block },\n },\n handlerType: HandlerType.ETH_BLOCK,\n handlerIds: [],\n }\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {\n continue\n }\n const longBlockNumber = block.number\n if (longBlockNumber < contract.startBlock) {\n continue\n }\n if (contract.endBlock !== 0n && longBlockNumber >= contract.endBlock) {\n continue\n }\n\n for (const config of contract.intervalConfigs) {\n binding.handlerIds.push(config.handlerId)\n }\n }\n return binding\n }\n\n testInstructions(instructions: Data_SolInstruction[]): Promise<ProcessBindingResponse> {\n return this.processBindings({\n bindings: instructions.map((instruction) => {\n return {\n data: {\n raw: new Uint8Array(),\n solInstruction: instruction,\n },\n handlerIds: [],\n handlerType: HandlerType.SOL_INSTRUCTION,\n }\n }),\n })\n }\n\n processBindings(\n request: ProcessBindingsRequest,\n context: CallContext = TEST_CONTEXT\n ): Promise<ProcessBindingResponse> {\n return this.service.processBindings(request, context)\n }\n\n processBindingsStream(request: AsyncIterable<DataBinding>, context: CallContext) {\n return this.service.processBindingsStream(request, context)\n }\n}\n"]}
1
+ {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AccountConfig,\n ContractConfig,\n DataBinding,\n HandlerType,\n Data_SolInstruction,\n ProcessBindingResponse,\n ProcessBindingsRequest,\n ProcessConfigRequest,\n ProcessConfigResponse,\n ProcessorServiceImplementation,\n StartRequest,\n Empty,\n} from '@sentio/protos'\nimport { CallContext } from 'nice-grpc-common'\nimport { ProcessorServiceImpl, Endpoints, State } from '@sentio/runtime'\nimport { CHAIN_MAP } from '../utils/chain.js'\n\nimport { Trace } from '../eth/trace.js'\nimport { LogParams, Networkish, BlockParams, Network } from 'ethers/providers'\n\nimport { Block, Log } from 'ethers'\n\nexport const TEST_CONTEXT: CallContext = <CallContext>{}\n\nexport function cleanTest() {\n State.reset()\n // Endpoints.reset()\n}\n\nexport class TestProcessorServer implements ProcessorServiceImplementation {\n service: ProcessorServiceImpl\n contractConfigs: ContractConfig[]\n accountConfigs: AccountConfig[]\n\n constructor(loader: () => Promise<any>, httpEndpoints: Record<string, string> = {}) {\n cleanTest()\n\n this.service = new ProcessorServiceImpl(loader)\n\n for (const k in CHAIN_MAP) {\n const http = httpEndpoints[k] || ''\n Endpoints.INSTANCE.chainServer.set(k, http)\n }\n }\n\n async start(request: StartRequest = { templateInstances: [] }, context = TEST_CONTEXT): Promise<Empty> {\n const res = await this.service.start(request, context)\n const config = await this.getConfig({})\n this.contractConfigs = config.contractConfigs\n this.accountConfigs = config.accountConfigs\n return res\n }\n\n stop(request: Empty, context = TEST_CONTEXT): Promise<Empty> {\n return this.service.stop(request, context)\n }\n\n getConfig(request: ProcessConfigRequest, context = TEST_CONTEXT): Promise<ProcessConfigResponse> {\n return this.service.getConfig(request, context)\n }\n\n // processLogs(request: ProcessBindingsRequest, context = TEST_CONTEXT): Promise<ProcessBindingResponse> {\n // return this.service.processLogs(request, context)\n // }\n //\n // processTraces(request: ProcessBindingsRequest, context: CallContext = TEST_CONTEXT): Promise<ProcessBindingResponse> {\n // return this.service.processTraces(request, context)\n // }\n\n testTrace(trace: Trace, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testTraces([trace], network)\n }\n\n testTraces(traces: Trace[], network: Networkish = 1): Promise<ProcessBindingResponse> {\n const bindings = []\n for (const trace of traces) {\n const binding = this.buildTraceBinding(trace, network)\n if (!binding) {\n throw Error('Invalid test trace: ' + JSON.stringify(trace))\n }\n bindings.push(binding)\n }\n return this.processBindings({\n bindings: bindings,\n })\n }\n\n buildTraceBinding(trace: Trace, network: Networkish = 1): DataBinding | undefined {\n if (trace.type !== 'call' || !trace.action.input) {\n throw Error('Invalid test trace: ' + JSON.stringify(trace))\n }\n const signature = trace.action.input.slice(0, 10)\n\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {\n continue\n }\n if (trace.action.to?.toLowerCase() !== contract.contract?.address.toLowerCase()) {\n continue\n }\n for (const config of contract.traceConfigs) {\n if (config.signature == signature) {\n return {\n data: {\n ethTrace: {\n trace,\n timestamp: new Date(),\n },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_TRACE,\n }\n }\n }\n }\n return undefined\n }\n\n testLog(log: LogParams, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testLogs([log], network)\n }\n\n testLogs(logs: LogParams[], network: Networkish = 1): Promise<ProcessBindingResponse> {\n const bindings = []\n for (const log of logs) {\n const binding = this.buildLogBinding(log, network)\n if (!binding) {\n throw Error('Invalid test log: ' + JSON.stringify(log))\n }\n bindings.push(binding)\n }\n return this.processBindings({\n bindings: bindings,\n })\n }\n\n buildLogBinding(log: LogParams, network: Networkish = 1): DataBinding | undefined {\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {\n continue\n }\n if (log.address.toLowerCase() !== contract.contract?.address.toLowerCase()) {\n continue\n }\n for (const config of contract.logConfigs) {\n for (const filter of config.filters) {\n // if (filter.topics.length != log.topics.length) {\n // continue\n // }\n\n let match = true\n for (const topicIdx in filter.topics) {\n const logTopic = log.topics[topicIdx]\n const possibleTopic = filter.topics[topicIdx].hashes\n if (possibleTopic.length === 0) {\n // match all\n continue\n }\n if (possibleTopic.find((e) => e.toLowerCase() === logTopic.toLowerCase())) {\n // find one\n continue\n }\n match = false\n break\n }\n if (match) {\n return {\n data: {\n ethLog: { log, timestamp: new Date() },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_LOG,\n }\n }\n }\n }\n }\n return undefined\n }\n testAccountLog(address: string, log: LogParams, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testAccountLogs(address, [log], network)\n }\n\n testAccountLogs(address: string, logs: LogParams[], network: Networkish = 1): Promise<ProcessBindingResponse> {\n const bindings = []\n for (const log of logs) {\n const binding = this.buildAccountLogBinding(address, log, network)\n if (!binding) {\n throw Error('Invalid test log: ' + JSON.stringify(log))\n }\n bindings.push(binding)\n }\n return this.processBindings({\n bindings: bindings,\n })\n }\n\n buildAccountLogBinding(address: string, log: LogParams, network: Networkish = 1): DataBinding | undefined {\n for (const account of this.accountConfigs) {\n if (account.chainId !== Network.from(network).chainId.toString()) {\n continue\n }\n if (address.toLowerCase() !== account.address.toLowerCase()) {\n continue\n }\n for (const config of account.logConfigs) {\n for (const filter of config.filters) {\n // if (filter.topics.length != log.topics.length) {\n // continue\n // }\n\n let match = true\n for (const topicIdx in filter.topics) {\n const logTopic = log.topics[topicIdx]\n const possibleTopic = filter.topics[topicIdx].hashes\n if (possibleTopic.length === 0) {\n // match all\n continue\n }\n if (possibleTopic.find((e) => e.toLowerCase() === logTopic.toLowerCase())) {\n // find one\n continue\n }\n match = false\n break\n }\n if (match) {\n return {\n data: {\n ethLog: { log, timestamp: new Date() },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_LOG,\n }\n }\n }\n }\n }\n return undefined\n }\n\n testBlock(\n block: Partial<BlockParams> & { number: number },\n network: Networkish = 1\n ): Promise<ProcessBindingResponse> {\n return this.testBlocks([block], network)\n }\n\n testBlocks(blocks: Partial<BlockParams> & { number: number }[], network: Networkish = 1) {\n const bindings = []\n for (const block of blocks) {\n const binding = this.buildBlockBinding(block, network)\n if (!binding) {\n throw Error('Invalid test block: ' + JSON.stringify(block))\n }\n bindings.push(binding)\n }\n return this.processBindings({\n bindings: bindings,\n })\n }\n\n buildBlockBinding(block: Partial<Block> & { number: number }, network: Networkish = 1): DataBinding {\n const binding: DataBinding = {\n data: {\n ethBlock: { block },\n },\n handlerType: HandlerType.ETH_BLOCK,\n handlerIds: [],\n }\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== Network.from(network).chainId.toString()) {\n continue\n }\n const longBlockNumber = block.number\n if (longBlockNumber < contract.startBlock) {\n continue\n }\n if (contract.endBlock !== 0n && longBlockNumber >= contract.endBlock) {\n continue\n }\n\n for (const config of contract.intervalConfigs) {\n binding.handlerIds.push(config.handlerId)\n }\n }\n return binding\n }\n\n testInstructions(instructions: Data_SolInstruction[]): Promise<ProcessBindingResponse> {\n return this.processBindings({\n bindings: instructions.map((instruction) => {\n return {\n data: {\n raw: new Uint8Array(),\n solInstruction: instruction,\n },\n handlerIds: [],\n handlerType: HandlerType.SOL_INSTRUCTION,\n }\n }),\n })\n }\n\n processBindings(\n request: ProcessBindingsRequest,\n context: CallContext = TEST_CONTEXT\n ): Promise<ProcessBindingResponse> {\n return this.service.processBindings(request, context)\n }\n\n processBindingsStream(request: AsyncIterable<DataBinding>, context: CallContext) {\n return this.service.processBindingsStream(request, context)\n }\n}\n"]}
@@ -1,21 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadTestProvidersFromEnv = void 0;
4
- const runtime_1 = require("@sentio/runtime");
5
- const chain_1 = require("../utils/chain");
6
- function loadTestProvidersFromEnv(requiredChainIds) {
1
+ import { Endpoints } from '@sentio/runtime';
2
+ import { CHAIN_MAP } from '../utils/chain.js';
3
+ export function loadTestProvidersFromEnv(requiredChainIds) {
7
4
  const found = [];
8
5
  if (!Array.isArray(requiredChainIds)) {
9
6
  requiredChainIds = [requiredChainIds];
10
7
  }
11
- for (const k of Object.keys(chain_1.CHAIN_MAP)) {
8
+ for (const k of Object.keys(CHAIN_MAP)) {
12
9
  const envKey = 'TEST_ENDPOINT_' + k;
13
10
  const http = process.env[envKey];
14
11
  if (!http) {
15
12
  continue;
16
13
  }
17
14
  found.push(k);
18
- runtime_1.Endpoints.INSTANCE.chainServer.set(k, http);
15
+ Endpoints.INSTANCE.chainServer.set(k, http);
19
16
  }
20
17
  for (const id of requiredChainIds) {
21
18
  if (!found.includes(id)) {
@@ -24,5 +21,4 @@ function loadTestProvidersFromEnv(requiredChainIds) {
24
21
  }
25
22
  return true;
26
23
  }
27
- exports.loadTestProvidersFromEnv = loadTestProvidersFromEnv;
28
24
  //# sourceMappingURL=test-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-provider.js","sourceRoot":"","sources":["../../src/testing/test-provider.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,0CAA0C;AAE1C,SAAgB,wBAAwB,CAAC,gBAAmC;IAC1E,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACpC,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,CAAA;KACtC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,EAAE;QACtC,MAAM,MAAM,GAAG,gBAAgB,GAAG,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,EAAE;YACT,SAAQ;SACT;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACb,mBAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;KAC5C;IAED,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YACvB,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAvBD,4DAuBC","sourcesContent":["import { Endpoints } from '@sentio/runtime'\nimport { CHAIN_MAP } from '../utils/chain'\n\nexport function loadTestProvidersFromEnv(requiredChainIds: string[] | string): boolean {\n const found: string[] = []\n\n if (!Array.isArray(requiredChainIds)) {\n requiredChainIds = [requiredChainIds]\n }\n\n for (const k of Object.keys(CHAIN_MAP)) {\n const envKey = 'TEST_ENDPOINT_' + k\n const http = process.env[envKey]\n if (!http) {\n continue\n }\n found.push(k)\n Endpoints.INSTANCE.chainServer.set(k, http)\n }\n\n for (const id of requiredChainIds) {\n if (!found.includes(id)) {\n return false\n }\n }\n return true\n}\n"]}
1
+ {"version":3,"file":"test-provider.js","sourceRoot":"","sources":["../../src/testing/test-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,MAAM,UAAU,wBAAwB,CAAC,gBAAmC;IAC1E,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;QACpC,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,CAAA;KACtC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,MAAM,GAAG,gBAAgB,GAAG,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,IAAI,EAAE;YACT,SAAQ;SACT;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACb,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;KAC5C;IAED,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE;QACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YACvB,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC","sourcesContent":["import { Endpoints } from '@sentio/runtime'\nimport { CHAIN_MAP } from '../utils/chain.js'\n\nexport function loadTestProvidersFromEnv(requiredChainIds: string[] | string): boolean {\n const found: string[] = []\n\n if (!Array.isArray(requiredChainIds)) {\n requiredChainIds = [requiredChainIds]\n }\n\n for (const k of Object.keys(CHAIN_MAP)) {\n const envKey = 'TEST_ENDPOINT_' + k\n const http = process.env[envKey]\n if (!http) {\n continue\n }\n found.push(k)\n Endpoints.INSTANCE.chainServer.set(k, http)\n }\n\n for (const id of requiredChainIds) {\n if (!found.includes(id)) {\n return false\n }\n }\n return true\n}\n"]}
@@ -0,0 +1,28 @@
1
+ import { defineConfig } from 'tsup'
2
+
3
+ export default defineConfig({
4
+ esbuildOptions: (options) => {
5
+ options.banner = {
6
+ js: `import { createRequire } from 'module'; const require = createRequire(import.meta.url);`,
7
+ }
8
+ },
9
+ entry: {
10
+ lib: 'src/processor.ts',
11
+ },
12
+ minify: true,
13
+ sourcemap: 'inline',
14
+ clean: true,
15
+ format: 'esm',
16
+ external: [
17
+ 'protobufjs',
18
+ 'aptos',
19
+ 'aptos-sdk',
20
+ 'ethers',
21
+ 'bs58',
22
+ 'bn.js',
23
+ 'csv-parse',
24
+ /^nice-grpc.*$/,
25
+ /^@(ethersproject|solana|project-serum).*$/,
26
+ /^@sentio\/(sdk|runtime|protos|bigdecimal|ethers).*$/,
27
+ ],
28
+ })
@@ -1,9 +1,6 @@
1
- "use strict";
2
1
  // copy from https://github.com/DefiLlama/chainlist/blob/main/constants/chainIds.js
3
2
  // and https://besu.hyperledger.org/en/stable/Concepts/NetworkID-And-ChainID/
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.getChainType = exports.getChainName = exports.CHAIN_MAP = exports.CHAIN_IDS = void 0;
6
- exports.CHAIN_IDS = {
3
+ export const CHAIN_IDS = {
7
4
  KARDIA: '0',
8
5
  ETHEREUM: '1',
9
6
  EXPANSE: '2',
@@ -90,29 +87,28 @@ exports.CHAIN_IDS = {
90
87
  APTOS_MAINNET: 'aptos_mainnet',
91
88
  APTOS_TESTNET: 'aptos_testnet',
92
89
  };
93
- exports.CHAIN_MAP = {};
94
- for (const [key, value] of Object.entries(exports.CHAIN_IDS)) {
90
+ export const CHAIN_MAP = {};
91
+ for (const [key, value] of Object.entries(CHAIN_IDS)) {
95
92
  const parts = key.split('_');
96
- exports.CHAIN_MAP[value] = parts
93
+ CHAIN_MAP[value] = parts
97
94
  .map((part, index) => {
98
95
  return part[0] + part.slice(1).toLowerCase();
99
96
  })
100
97
  .join(' ');
101
98
  }
102
- function getChainName(chainId) {
99
+ export function getChainName(chainId) {
103
100
  if (typeof chainId === 'number') {
104
101
  chainId = chainId.toString();
105
102
  }
106
103
  if (chainId) {
107
- const name = exports.CHAIN_MAP[chainId];
104
+ const name = CHAIN_MAP[chainId];
108
105
  if (name) {
109
106
  return name;
110
107
  }
111
108
  }
112
109
  return chainId || '';
113
110
  }
114
- exports.getChainName = getChainName;
115
- function getChainType(chainId) {
111
+ export function getChainType(chainId) {
116
112
  const id = String(chainId).toLowerCase();
117
113
  if (id.startsWith('sol')) {
118
114
  return 'solana';
@@ -125,5 +121,4 @@ function getChainType(chainId) {
125
121
  }
126
122
  return 'EVM';
127
123
  }
128
- exports.getChainType = getChainType;
129
124
  //# sourceMappingURL=chain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/utils/chain.ts"],"names":[],"mappings":"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","sourcesContent":["// copy from https://github.com/DefiLlama/chainlist/blob/main/constants/chainIds.js\n// and https://besu.hyperledger.org/en/stable/Concepts/NetworkID-And-ChainID/\n\nexport const CHAIN_IDS = {\n KARDIA: '0',\n ETHEREUM: '1',\n EXPANSE: '2',\n ROPSTEN: '3',\n RINKEBY: '4',\n GOERLI: '5',\n KOTTI: '6',\n UBIQ: '8',\n OPTIMISM: '10',\n SONGBIRD: '19',\n ELASTOS: '20',\n CRONOS: '25',\n RSK: '30',\n TELOS: '40',\n XDC: '50',\n CSC: '52',\n ZYX: '55',\n BINANCE: '56',\n SYSCOIN: '57',\n GOCHAIN: '60',\n ETHCLASSIC: '61',\n MORDOR: '63',\n OKEXCHAIN: '66',\n HOO: '70',\n METER: '82',\n TOMOCHAIN: '88',\n XDAI: '100',\n VELAS: '106',\n THUNDERCORE: '108',\n FUSE: '122',\n HECO: '128',\n POLYGON: '137',\n XDAIARB: '200',\n ASTOR: '212',\n ENERGYWEB: '246',\n FANTOM: '250',\n HPB: '269',\n BOBA: '288',\n KUCOIN: '321',\n SHIDEN: '336',\n THETA: '361',\n SX: '416',\n CANDLE: '534',\n ASTAR: '592',\n CALLISTO: '820',\n WANCHAIN: '888',\n METIS: '1088',\n OMCHAIN: '1246',\n MOONBEAM: '1284',\n MOONRIVER: '1285',\n MOONBASE: '1287',\n DEV: '2018',\n RONIN: '2020',\n KAVA: '2222',\n EZCHAIN: '2612',\n PHI: '4181',\n IOTEX: '4689',\n XLC: '5050',\n NAHMII: '5551',\n NMACTEST: '7777',\n KLAYTN: '8217',\n EVMOS: '9001',\n SMARTBCH: '10000',\n CRYSTALEUM: '103090',\n FUSION: '32659',\n ARBITRUM: '42161',\n CELO: '42220',\n OASIS: '42262',\n AVALANCHE: '43114',\n GODWOKEN: '71402',\n AKROMA: '200625',\n POLIS: '333999',\n ARBITRUM_TEST: '421613',\n SEPOLIA: '11155111',\n AURORA: '1313161554',\n HARMONY: '1666600000',\n PALM: '11297108109',\n CURIO: '836542336838601',\n SOLANA_MAINNET: 'sol_mainnet',\n SOLANA_DEVNET: 'sol_devnet',\n SOLANA_TESTNET: 'sol_testnet',\n SOLANA_PYTH: 'sol_pyth',\n SUI_DEVNET: 'sui_devnet',\n APTOS_MAINNET: 'aptos_mainnet',\n APTOS_TESTNET: 'aptos_testnet',\n}\n\nexport const CHAIN_MAP: Record<string, string> = {}\n\nfor (const [key, value] of Object.entries(CHAIN_IDS)) {\n const parts = key.split('_')\n CHAIN_MAP[value] = parts\n .map((part, index) => {\n return part[0] + part.slice(1).toLowerCase()\n })\n .join(' ')\n}\n\nexport function getChainName(chainId: string | number | null | undefined): string {\n if (typeof chainId === 'number') {\n chainId = chainId.toString()\n }\n if (chainId) {\n const name = CHAIN_MAP[chainId]\n if (name) {\n return name\n }\n }\n return chainId || ''\n}\n\nexport function getChainType(chainId?: string | number): string {\n const id = String(chainId).toLowerCase()\n if (id.startsWith('sol')) {\n return 'solana'\n }\n if (id.startsWith('sui')) {\n return 'sui'\n }\n if (id.startsWith('apt')) {\n return 'aptos'\n }\n return 'EVM'\n}\n"]}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/utils/chain.ts"],"names":[],"mappings":"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","sourcesContent":["// copy from https://github.com/DefiLlama/chainlist/blob/main/constants/chainIds.js\n// and https://besu.hyperledger.org/en/stable/Concepts/NetworkID-And-ChainID/\n\nexport const CHAIN_IDS = {\n KARDIA: '0',\n ETHEREUM: '1',\n EXPANSE: '2',\n ROPSTEN: '3',\n RINKEBY: '4',\n GOERLI: '5',\n KOTTI: '6',\n UBIQ: '8',\n OPTIMISM: '10',\n SONGBIRD: '19',\n ELASTOS: '20',\n CRONOS: '25',\n RSK: '30',\n TELOS: '40',\n XDC: '50',\n CSC: '52',\n ZYX: '55',\n BINANCE: '56',\n SYSCOIN: '57',\n GOCHAIN: '60',\n ETHCLASSIC: '61',\n MORDOR: '63',\n OKEXCHAIN: '66',\n HOO: '70',\n METER: '82',\n TOMOCHAIN: '88',\n XDAI: '100',\n VELAS: '106',\n THUNDERCORE: '108',\n FUSE: '122',\n HECO: '128',\n POLYGON: '137',\n XDAIARB: '200',\n ASTOR: '212',\n ENERGYWEB: '246',\n FANTOM: '250',\n HPB: '269',\n BOBA: '288',\n KUCOIN: '321',\n SHIDEN: '336',\n THETA: '361',\n SX: '416',\n CANDLE: '534',\n ASTAR: '592',\n CALLISTO: '820',\n WANCHAIN: '888',\n METIS: '1088',\n OMCHAIN: '1246',\n MOONBEAM: '1284',\n MOONRIVER: '1285',\n MOONBASE: '1287',\n DEV: '2018',\n RONIN: '2020',\n KAVA: '2222',\n EZCHAIN: '2612',\n PHI: '4181',\n IOTEX: '4689',\n XLC: '5050',\n NAHMII: '5551',\n NMACTEST: '7777',\n KLAYTN: '8217',\n EVMOS: '9001',\n SMARTBCH: '10000',\n CRYSTALEUM: '103090',\n FUSION: '32659',\n ARBITRUM: '42161',\n CELO: '42220',\n OASIS: '42262',\n AVALANCHE: '43114',\n GODWOKEN: '71402',\n AKROMA: '200625',\n POLIS: '333999',\n ARBITRUM_TEST: '421613',\n SEPOLIA: '11155111',\n AURORA: '1313161554',\n HARMONY: '1666600000',\n PALM: '11297108109',\n CURIO: '836542336838601',\n SOLANA_MAINNET: 'sol_mainnet',\n SOLANA_DEVNET: 'sol_devnet',\n SOLANA_TESTNET: 'sol_testnet',\n SOLANA_PYTH: 'sol_pyth',\n SUI_DEVNET: 'sui_devnet',\n APTOS_MAINNET: 'aptos_mainnet',\n APTOS_TESTNET: 'aptos_testnet',\n}\n\nexport const CHAIN_MAP: Record<string, string> = {}\n\nfor (const [key, value] of Object.entries(CHAIN_IDS)) {\n const parts = key.split('_')\n CHAIN_MAP[value] = parts\n .map((part, index) => {\n return part[0] + part.slice(1).toLowerCase()\n })\n .join(' ')\n}\n\nexport function getChainName(chainId: string | number | null | undefined): string {\n if (typeof chainId === 'number') {\n chainId = chainId.toString()\n }\n if (chainId) {\n const name = CHAIN_MAP[chainId]\n if (name) {\n return name\n }\n }\n return chainId || ''\n}\n\nexport function getChainType(chainId?: string | number): string {\n const id = String(chainId).toLowerCase()\n if (id.startsWith('sol')) {\n return 'solana'\n }\n if (id.startsWith('sui')) {\n return 'sui'\n }\n if (id.startsWith('apt')) {\n return 'aptos'\n }\n return 'EVM'\n}\n"]}
@@ -1,6 +1 @@
1
- import { BigDecimal } from '../core/big-decimal';
2
- import { Numberish } from '../core';
3
- import { MetricValue } from '@sentio/protos';
4
- export declare function toBigDecimal(n: bigint): BigDecimal;
5
1
  export declare function bytesToBigInt(bytes: Uint8Array): bigint;
6
- export declare function metricValueToNumberish(v: MetricValue): Numberish;
@@ -1,34 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.metricValueToNumberish = exports.bytesToBigInt = exports.toBigDecimal = void 0;
4
- const big_decimal_1 = require("../core/big-decimal");
5
- function toBigDecimal(n) {
6
- return new big_decimal_1.BigDecimal(n.toString());
7
- }
8
- exports.toBigDecimal = toBigDecimal;
9
- function bytesToBigInt(bytes) {
1
+ // import { BigDecimal } from '../core/big-decimal.js'
2
+ // import { Numberish } from '../core/index.js'
3
+ // import { MetricValue } from '@sentio/protos'
4
+ export function bytesToBigInt(bytes) {
10
5
  let intValue = BigInt(0);
11
6
  for (let i = 0; i < bytes.length; i++) {
12
7
  intValue = intValue * BigInt(256) + BigInt(bytes[i]);
13
8
  }
14
9
  return intValue;
15
10
  }
16
- exports.bytesToBigInt = bytesToBigInt;
17
- function metricValueToNumberish(v) {
18
- if (v.doubleValue) {
19
- return v.doubleValue;
20
- }
21
- if (v.bigInteger) {
22
- let intValue = bytesToBigInt(v.bigInteger.data);
23
- if (v.bigInteger.negative) {
24
- intValue = -intValue;
25
- }
26
- return intValue;
27
- }
28
- if (v.bigDecimal) {
29
- return new big_decimal_1.BigDecimal(v.bigDecimal);
30
- }
31
- throw Error("MetricValue doesn't contain any of possible value");
32
- }
33
- exports.metricValueToNumberish = metricValueToNumberish;
11
+ // export function metricValueToNumberish(v: MetricValue): Numberish {
12
+ // if (v.doubleValue) {
13
+ // return v.doubleValue
14
+ // }
15
+ // if (v.bigInteger) {
16
+ // let intValue = bytesToBigInt(v.bigInteger.data)
17
+ // if (v.bigInteger.negative) {
18
+ // intValue = -intValue
19
+ // }
20
+ // return intValue
21
+ // }
22
+ //
23
+ // if (v.bigDecimal) {
24
+ // return new BigDecimal(v.bigDecimal)
25
+ // }
26
+ //
27
+ // throw Error("MetricValue doesn't contain any of possible value")
28
+ // }
34
29
  //# sourceMappingURL=conversion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/utils/conversion.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAIhD,SAAgB,YAAY,CAAC,CAAS;IACpC,OAAO,IAAI,wBAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AACrC,CAAC;AAFD,oCAEC;AAED,SAAgB,aAAa,CAAC,KAAiB;IAC7C,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KACrD;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAND,sCAMC;AAED,SAAgB,sBAAsB,CAAC,CAAc;IACnD,IAAI,CAAC,CAAC,WAAW,EAAE;QACjB,OAAO,CAAC,CAAC,WAAW,CAAA;KACrB;IACD,IAAI,CAAC,CAAC,UAAU,EAAE;QAChB,IAAI,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;YACzB,QAAQ,GAAG,CAAC,QAAQ,CAAA;SACrB;QACD,OAAO,QAAQ,CAAA;KAChB;IAED,IAAI,CAAC,CAAC,UAAU,EAAE;QAChB,OAAO,IAAI,wBAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;KACpC;IAED,MAAM,KAAK,CAAC,mDAAmD,CAAC,CAAA;AAClE,CAAC;AAjBD,wDAiBC","sourcesContent":["import { BigDecimal } from '../core/big-decimal'\nimport { Numberish } from '../core'\nimport { MetricValue } from '@sentio/protos'\n\nexport function toBigDecimal(n: bigint) {\n return new BigDecimal(n.toString())\n}\n\nexport function bytesToBigInt(bytes: Uint8Array) {\n let intValue = BigInt(0)\n for (let i = 0; i < bytes.length; i++) {\n intValue = intValue * BigInt(256) + BigInt(bytes[i])\n }\n return intValue\n}\n\nexport function metricValueToNumberish(v: MetricValue): Numberish {\n if (v.doubleValue) {\n return v.doubleValue\n }\n if (v.bigInteger) {\n let intValue = bytesToBigInt(v.bigInteger.data)\n if (v.bigInteger.negative) {\n intValue = -intValue\n }\n return intValue\n }\n\n if (v.bigDecimal) {\n return new BigDecimal(v.bigDecimal)\n }\n\n throw Error(\"MetricValue doesn't contain any of possible value\")\n}\n"]}
1
+ {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/utils/conversion.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,+CAA+C;AAC/C,+CAA+C;AAE/C,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,IAAI,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KACrD;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,sEAAsE;AACtE,yBAAyB;AACzB,2BAA2B;AAC3B,MAAM;AACN,wBAAwB;AACxB,sDAAsD;AACtD,mCAAmC;AACnC,6BAA6B;AAC7B,QAAQ;AACR,sBAAsB;AACtB,MAAM;AACN,EAAE;AACF,wBAAwB;AACxB,0CAA0C;AAC1C,MAAM;AACN,EAAE;AACF,qEAAqE;AACrE,IAAI","sourcesContent":["// import { BigDecimal } from '../core/big-decimal.js'\n// import { Numberish } from '../core/index.js'\n// import { MetricValue } from '@sentio/protos'\n\nexport function bytesToBigInt(bytes: Uint8Array) {\n let intValue = BigInt(0)\n for (let i = 0; i < bytes.length; i++) {\n intValue = intValue * BigInt(256) + BigInt(bytes[i])\n }\n return intValue\n}\n\n// export function metricValueToNumberish(v: MetricValue): Numberish {\n// if (v.doubleValue) {\n// return v.doubleValue\n// }\n// if (v.bigInteger) {\n// let intValue = bytesToBigInt(v.bigInteger.data)\n// if (v.bigInteger.negative) {\n// intValue = -intValue\n// }\n// return intValue\n// }\n//\n// if (v.bigDecimal) {\n// return new BigDecimal(v.bigDecimal)\n// }\n//\n// throw Error(\"MetricValue doesn't contain any of possible value\")\n// }\n"]}