@sentio/sdk 1.36.4-rc.1 → 1.37.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/lib/aptos/api.d.ts +1 -1
  2. package/lib/aptos/api.js +1 -1
  3. package/lib/aptos/api.js.map +1 -1
  4. package/lib/aptos/aptos-plugin.d.ts +2 -2
  5. package/lib/aptos/aptos-plugin.js +14 -19
  6. package/lib/aptos/aptos-plugin.js.map +1 -1
  7. package/lib/aptos/aptos-processor.d.ts +2 -2
  8. package/lib/aptos/aptos-processor.js +3 -3
  9. package/lib/aptos/aptos-processor.js.map +1 -1
  10. package/lib/aptos/context.d.ts +1 -1
  11. package/lib/aptos/context.js +2 -6
  12. package/lib/aptos/context.js.map +1 -1
  13. package/lib/binds.d.ts +1 -1
  14. package/lib/binds.js +2 -2
  15. package/lib/binds.js.map +1 -1
  16. package/lib/builtin/internal/eacaggregatorproxy_processor.js +18 -18
  17. package/lib/builtin/internal/eacaggregatorproxy_processor.js.map +1 -1
  18. package/lib/builtin/internal/erc1155_processor.js +5 -5
  19. package/lib/builtin/internal/erc1155_processor.js.map +1 -1
  20. package/lib/builtin/internal/erc20_processor.js +8 -8
  21. package/lib/builtin/internal/erc20_processor.js.map +1 -1
  22. package/lib/builtin/internal/erc20bytes_processor.js +6 -6
  23. package/lib/builtin/internal/erc20bytes_processor.js.map +1 -1
  24. package/lib/builtin/internal/erc721_processor.js +9 -9
  25. package/lib/builtin/internal/erc721_processor.js.map +1 -1
  26. package/lib/builtin/internal/weth9_processor.js +6 -6
  27. package/lib/builtin/internal/weth9_processor.js.map +1 -1
  28. package/lib/core/account-processor.d.ts +1 -1
  29. package/lib/core/account-processor.js +2 -2
  30. package/lib/core/account-processor.js.map +1 -1
  31. package/lib/core/base-context.d.ts +1 -1
  32. package/lib/core/base-context.js.map +1 -1
  33. package/lib/core/base-processor-template.d.ts +2 -2
  34. package/lib/core/base-processor-template.js +7 -21
  35. package/lib/core/base-processor-template.js.map +1 -1
  36. package/lib/core/base-processor.d.ts +1 -1
  37. package/lib/core/base-processor.js +6 -20
  38. package/lib/core/base-processor.js.map +1 -1
  39. package/lib/core/bind-options.d.ts +5 -6
  40. package/lib/core/bind-options.js.map +1 -1
  41. package/lib/core/context.d.ts +4 -5
  42. package/lib/core/context.js +6 -10
  43. package/lib/core/context.js.map +1 -1
  44. package/lib/core/eth-plugin.d.ts +2 -2
  45. package/lib/core/eth-plugin.js +8 -12
  46. package/lib/core/eth-plugin.js.map +1 -1
  47. package/lib/core/event-tracker.d.ts +1 -1
  48. package/lib/core/event-tracker.js +2 -2
  49. package/lib/core/event-tracker.js.map +1 -1
  50. package/lib/core/exporter.d.ts +1 -1
  51. package/lib/core/exporter.js +2 -2
  52. package/lib/core/exporter.js.map +1 -1
  53. package/lib/core/generic-processor.test.js.map +1 -1
  54. package/lib/core/index.d.ts +1 -1
  55. package/lib/core/index.js +2 -1
  56. package/lib/core/index.js.map +1 -1
  57. package/lib/core/logger.d.ts +1 -1
  58. package/lib/core/logger.js +5 -5
  59. package/lib/core/logger.js.map +1 -1
  60. package/lib/core/meter.d.ts +2 -2
  61. package/lib/core/meter.js +10 -10
  62. package/lib/core/meter.js.map +1 -1
  63. package/lib/core/numberish.d.ts +3 -3
  64. package/lib/core/numberish.js +18 -12
  65. package/lib/core/numberish.js.map +1 -1
  66. package/lib/core/numberish.test.js.map +1 -1
  67. package/lib/core/solana-context.d.ts +2 -3
  68. package/lib/core/solana-context.js.map +1 -1
  69. package/lib/core/solana-options.d.ts +2 -3
  70. package/lib/core/solana-options.js.map +1 -1
  71. package/lib/core/solana-plugin.d.ts +2 -2
  72. package/lib/core/solana-plugin.js +6 -6
  73. package/lib/core/solana-plugin.js.map +1 -1
  74. package/lib/core/solana-processor.d.ts +7 -8
  75. package/lib/core/solana-processor.js +5 -15
  76. package/lib/core/solana-processor.js.map +1 -1
  77. package/lib/core/sui-plugin.d.ts +2 -2
  78. package/lib/core/sui-plugin.js +5 -5
  79. package/lib/core/sui-plugin.js.map +1 -1
  80. package/lib/core/sui-processor.d.ts +8 -9
  81. package/lib/core/sui-processor.js +5 -15
  82. package/lib/core/sui-processor.js.map +1 -1
  83. package/lib/index.d.ts +2 -3
  84. package/lib/index.js +3 -5
  85. package/lib/index.js.map +1 -1
  86. package/lib/processor-runner.js +4 -4
  87. package/lib/processor-runner.js.map +1 -1
  88. package/lib/service.d.ts +3 -4
  89. package/lib/service.js +7 -11
  90. package/lib/service.js.map +1 -1
  91. package/lib/target-ethers-sentio/file.js +1 -0
  92. package/lib/target-ethers-sentio/file.js.map +1 -1
  93. package/lib/target-ethers-sentio/view-function.js +1 -1
  94. package/lib/testing/metric-utils.d.ts +1 -1
  95. package/lib/testing/metric-utils.js.map +1 -1
  96. package/lib/testing/test-processor-server.d.ts +3 -3
  97. package/lib/testing/test-processor-server.js +10 -22
  98. package/lib/testing/test-processor-server.js.map +1 -1
  99. package/lib/utils/conversion.d.ts +1 -1
  100. package/lib/utils/conversion.js.map +1 -1
  101. package/lib/utils/dex-price.test.js.map +1 -1
  102. package/lib/utils/erc20.test.js.map +1 -1
  103. package/lib/utils/price.d.ts +10 -10
  104. package/lib/utils/price.js +1 -1
  105. package/lib/utils/price.js.map +1 -1
  106. package/package.json +4 -2
  107. package/src/aptos/api.ts +1 -1
  108. package/src/aptos/aptos-plugin.ts +10 -11
  109. package/src/aptos/aptos-processor.ts +2 -2
  110. package/src/aptos/context.ts +3 -4
  111. package/src/binds.ts +1 -1
  112. package/src/builtin/internal/eacaggregatorproxy_processor.ts +19 -18
  113. package/src/builtin/internal/erc1155_processor.ts +6 -5
  114. package/src/builtin/internal/erc20_processor.ts +9 -8
  115. package/src/builtin/internal/erc20bytes_processor.ts +7 -6
  116. package/src/builtin/internal/erc721_processor.ts +10 -9
  117. package/src/builtin/internal/weth9_processor.ts +7 -6
  118. package/src/core/account-processor.ts +1 -1
  119. package/src/core/base-context.ts +1 -1
  120. package/src/core/base-processor-template.ts +6 -15
  121. package/src/core/base-processor.ts +4 -13
  122. package/src/core/bind-options.ts +5 -6
  123. package/src/core/context.ts +10 -11
  124. package/src/core/eth-plugin.ts +3 -4
  125. package/src/core/event-tracker.ts +2 -2
  126. package/src/core/exporter.ts +1 -1
  127. package/src/core/index.ts +1 -1
  128. package/src/core/logger.ts +1 -1
  129. package/src/core/meter.ts +2 -2
  130. package/src/core/numberish.ts +12 -6
  131. package/src/core/solana-context.ts +2 -3
  132. package/src/core/solana-options.ts +2 -4
  133. package/src/core/solana-plugin.ts +3 -3
  134. package/src/core/solana-processor.ts +10 -17
  135. package/src/core/sui-plugin.ts +3 -8
  136. package/src/core/sui-processor.ts +11 -18
  137. package/src/index.ts +3 -5
  138. package/src/processor-runner.ts +3 -3
  139. package/src/service.ts +5 -5
  140. package/src/target-ethers-sentio/file.ts +1 -0
  141. package/src/target-ethers-sentio/view-function.ts +1 -1
  142. package/src/testing/metric-utils.ts +1 -1
  143. package/src/testing/test-processor-server.ts +6 -16
  144. package/src/types/global.d.ts +2 -2
  145. package/src/utils/conversion.ts +1 -1
  146. package/src/utils/price.ts +1 -1
  147. package/lib/gen/builtin.d.ts +0 -6
  148. package/lib/gen/builtin.js +0 -3
  149. package/lib/gen/builtin.js.map +0 -1
  150. package/lib/gen/chainquery/protos/chainquery.d.ts +0 -400
  151. package/lib/gen/chainquery/protos/chainquery.js +0 -972
  152. package/lib/gen/chainquery/protos/chainquery.js.map +0 -1
  153. package/lib/gen/google/protobuf/empty.d.ts +0 -16
  154. package/lib/gen/google/protobuf/empty.js +0 -47
  155. package/lib/gen/google/protobuf/empty.js.map +0 -1
  156. package/lib/gen/google/protobuf/struct.d.ts +0 -73
  157. package/lib/gen/google/protobuf/struct.js +0 -371
  158. package/lib/gen/google/protobuf/struct.js.map +0 -1
  159. package/lib/gen/google/protobuf/timestamp.d.ts +0 -18
  160. package/lib/gen/google/protobuf/timestamp.js +0 -71
  161. package/lib/gen/google/protobuf/timestamp.js.map +0 -1
  162. package/lib/gen/index.d.ts +0 -2
  163. package/lib/gen/index.js +0 -19
  164. package/lib/gen/index.js.map +0 -1
  165. package/lib/gen/processor/protos/processor.d.ts +0 -826
  166. package/lib/gen/processor/protos/processor.js +0 -3988
  167. package/lib/gen/processor/protos/processor.js.map +0 -1
  168. package/lib/gen/service/price/protos/price.d.ts +0 -85
  169. package/lib/gen/service/price/protos/price.js +0 -269
  170. package/lib/gen/service/price/protos/price.js.map +0 -1
  171. package/lib/plugin.d.ts +0 -15
  172. package/lib/plugin.js +0 -32
  173. package/lib/plugin.js.map +0 -1
  174. package/lib/state/processor-state.d.ts +0 -3
  175. package/lib/state/processor-state.js +0 -8
  176. package/lib/state/processor-state.js.map +0 -1
  177. package/lib/state/state-storage.d.ts +0 -17
  178. package/lib/state/state-storage.js +0 -60
  179. package/lib/state/state-storage.js.map +0 -1
  180. package/lib/state/state-storage.test.d.ts +0 -1
  181. package/lib/state/state-storage.test.js.map +0 -1
  182. package/src/gen/builtin.ts +0 -22
  183. package/src/gen/chainquery/protos/chainquery.ts +0 -1212
  184. package/src/gen/google/protobuf/empty.ts +0 -58
  185. package/src/gen/google/protobuf/struct.ts +0 -422
  186. package/src/gen/google/protobuf/timestamp.ts +0 -85
  187. package/src/gen/index.ts +0 -3
  188. package/src/gen/processor/protos/processor.ts +0 -4619
  189. package/src/gen/service/price/protos/price.ts +0 -329
  190. package/src/plugin.ts +0 -41
  191. package/src/state/processor-state.ts +0 -3
  192. package/src/state/state-storage.ts +0 -65
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { CallContext, ServerError, Status } from 'nice-grpc'\n\nimport {\n DataBinding,\n HandlerType,\n ProcessBindingResponse,\n ProcessBindingsRequest,\n ProcessConfigRequest,\n ProcessConfigResponse,\n ProcessorServiceImplementation,\n ProcessResult,\n StartRequest,\n} from './gen'\n\nimport { Empty } from './gen/google/protobuf/empty'\nimport Long from 'long'\nimport { MetricState } from './core/meter'\nimport { ExporterState } from './core/exporter'\nimport { EventTrackerState } from './core/event-tracker'\nimport { ProcessorTemplateProcessorState, TemplateInstanceState } from './core/base-processor-template'\n\n// (Long.prototype as any).toBigInt = function() {\n// return BigInt(this.toString())\n// };\nimport { PluginManager } from './plugin'\n;(BigInt.prototype as any).toJSON = function () {\n return this.toString()\n}\n\nexport const DEFAULT_MAX_BLOCK = Long.ZERO\n\nexport const USER_PROCESSOR = 'user_processor'\n\nexport class ProcessorServiceImpl implements ProcessorServiceImplementation {\n private started = false\n private processorConfig: ProcessConfigResponse\n\n private readonly loader: () => void\n\n private readonly shutdownHandler?: () => void\n\n constructor(loader: () => void, shutdownHandler?: () => void) {\n this.loader = loader\n this.shutdownHandler = shutdownHandler\n }\n\n async getConfig(request: ProcessConfigRequest, context: CallContext): Promise<ProcessConfigResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n if (!this.processorConfig) {\n throw new ServerError(Status.INTERNAL, 'Process config empty.')\n }\n return this.processorConfig\n }\n\n async configure() {\n this.processorConfig = ProcessConfigResponse.fromPartial({})\n // This syntax is to copy values instead of using references\n this.processorConfig.templateInstances = [...TemplateInstanceState.INSTANCE.getValues()]\n\n // part 0, prepare metrics and event tracking configs\n for (const metric of MetricState.INSTANCE.getValues()) {\n this.processorConfig.metricConfigs.push({\n ...metric.config,\n })\n }\n\n for (const eventTracker of EventTrackerState.INSTANCE.getValues()) {\n this.processorConfig.eventTrackingConfigs.push({\n distinctAggregationByDays: eventTracker.options.distinctByDays || [],\n eventName: eventTracker.name,\n retentionConfig: undefined,\n totalByDay: eventTracker.options.totalByDay || false,\n totalPerEntity: undefined,\n unique: eventTracker.options.unique || false,\n })\n }\n\n for (const exporter of ExporterState.INSTANCE.getValues()) {\n this.processorConfig.exportConfigs.push({\n name: exporter.name,\n channel: exporter.channel,\n })\n }\n\n PluginManager.INSTANCE.configure(this.processorConfig)\n }\n\n async start(request: StartRequest, context: CallContext): Promise<Empty> {\n if (this.started) {\n return {}\n }\n\n try {\n try {\n require('./core/eth-plugin')\n require('./core/sui-plugin')\n require('./aptos/aptos-plugin')\n require('./core/solana-plugin')\n } catch (e) {\n require('@sentio/sdk/lib/core/eth-plugin')\n require('@sentio/sdk/lib/core/sui-plugin')\n require('@sentio/sdk/lib/aptos/aptos-plugin')\n require('@sentio/sdk/lib/core/solana-plugin')\n }\n\n this.loader()\n } catch (e) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Failed to load processor: ' + errorString(e))\n }\n\n for (const instance of request.templateInstances) {\n const template = ProcessorTemplateProcessorState.INSTANCE.getValues()[instance.templateId]\n if (!template) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Invalid template contract:' + instance)\n }\n if (!instance.contract) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Contract Empty from:' + instance)\n }\n template.bind({\n name: instance.contract.name,\n address: instance.contract.address,\n network: Number(instance.contract.chainId),\n startBlock: instance.startBlock,\n endBlock: instance.endBlock,\n })\n }\n try {\n await this.configure()\n } catch (e) {\n throw new ServerError(Status.INTERNAL, 'Failed to start processor : ' + errorString(e))\n }\n this.started = true\n return {}\n }\n\n async stop(request: Empty, context: CallContext): Promise<Empty> {\n console.log('Server Shutting down in 5 seconds')\n if (this.shutdownHandler) {\n setTimeout(this.shutdownHandler, 5000)\n }\n return {}\n }\n\n async processBindings(request: ProcessBindingsRequest, options?: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises = request.bindings.map((binding) => this.processBinding(binding))\n const result = mergeProcessResults(await Promise.all(promises))\n\n let updated = false\n const t = TemplateInstanceState.INSTANCE.getValues()\n if (TemplateInstanceState.INSTANCE.getValues().length !== this.processorConfig.templateInstances.length) {\n await this.configure()\n updated = true\n }\n\n return {\n result,\n configUpdated: updated,\n }\n }\n\n async processBinding(request: DataBinding, options?: CallContext): Promise<ProcessResult> {\n const result = await PluginManager.INSTANCE.processBinding(request)\n recordRuntimeInfo(result, request.handlerType)\n return result\n }\n\n async *processBindingsStream(requests: AsyncIterable<DataBinding>, context: CallContext) {\n for await (const request of requests) {\n const result = await this.processBinding(request)\n let updated = false\n if (TemplateInstanceState.INSTANCE.getValues().length !== this.processorConfig.templateInstances.length) {\n await this.configure()\n updated = true\n }\n yield {\n result,\n configUpdated: updated,\n }\n }\n }\n}\n\n// https://ourcodeworld.com/articles/read/164/how-to-convert-an-uint8array-to-string-in-javascript\n/* eslint-disable */\nexport function Utf8ArrayToStr(array: Uint8Array) {\n let out, i, len, c\n let char2, char3\n\n out = ''\n len = array.length\n i = 0\n while (i < len) {\n c = array[i++]\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c)\n break\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++]\n out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f))\n break\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++]\n char3 = array[i++]\n out += String.fromCharCode(((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | ((char3 & 0x3f) << 0))\n break\n }\n }\n\n return out\n}\n\nexport function mergeProcessResults(results: ProcessResult[]): ProcessResult {\n const res = ProcessResult.fromPartial({})\n\n for (const r of results) {\n res.counters = res.counters.concat(r.counters)\n res.gauges = res.gauges.concat(r.gauges)\n res.logs = res.logs.concat(r.logs)\n res.events = res.events.concat(r.events)\n res.exports = res.exports.concat(r.exports)\n }\n return res\n}\n\nfunction recordRuntimeInfo(results: ProcessResult, handlerType: HandlerType) {\n for (const list of [results.gauges, results.counters, results.logs, results.events, results.exports]) {\n list.forEach((e) => {\n e.runtimeInfo = {\n from: handlerType,\n }\n })\n }\n}\n\nexport function errorString(e: Error): string {\n return e.stack || e.message\n}\n"]}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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","sourcesContent":["import { CallContext, ServerError, Status } from 'nice-grpc'\n\nimport {\n DataBinding,\n HandlerType,\n ProcessBindingResponse,\n ProcessBindingsRequest,\n ProcessConfigRequest,\n ProcessConfigResponse,\n ProcessorServiceImplementation,\n ProcessResult,\n StartRequest,\n} from '@sentio/protos'\n\nimport { Empty } from '@sentio/protos/lib/google/protobuf/empty'\n\nimport { MetricState } from './core/meter'\nimport { ExporterState } from './core/exporter'\nimport { EventTrackerState } from './core/event-tracker'\nimport { ProcessorTemplateProcessorState, TemplateInstanceState } from './core/base-processor-template'\n\n// (Long.prototype as any).toBigInt = function() {\n// return BigInt(this.toString())\n// };\nimport { PluginManager } from '@sentio/base'\n;(BigInt.prototype as any).toJSON = function () {\n return this.toString()\n}\n\nexport const DEFAULT_MAX_BLOCK = 0n\n\nexport const USER_PROCESSOR = 'user_processor'\n\nexport class ProcessorServiceImpl implements ProcessorServiceImplementation {\n private started = false\n private processorConfig: ProcessConfigResponse\n\n private readonly loader: () => void\n\n private readonly shutdownHandler?: () => void\n\n constructor(loader: () => void, shutdownHandler?: () => void) {\n this.loader = loader\n this.shutdownHandler = shutdownHandler\n }\n\n async getConfig(request: ProcessConfigRequest, context: CallContext): Promise<ProcessConfigResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n if (!this.processorConfig) {\n throw new ServerError(Status.INTERNAL, 'Process config empty.')\n }\n return this.processorConfig\n }\n\n async configure() {\n this.processorConfig = ProcessConfigResponse.fromPartial({})\n // This syntax is to copy values instead of using references\n this.processorConfig.templateInstances = [...TemplateInstanceState.INSTANCE.getValues()]\n\n // part 0, prepare metrics and event tracking configs\n for (const metric of MetricState.INSTANCE.getValues()) {\n this.processorConfig.metricConfigs.push({\n ...metric.config,\n })\n }\n\n for (const eventTracker of EventTrackerState.INSTANCE.getValues()) {\n this.processorConfig.eventTrackingConfigs.push({\n distinctAggregationByDays: eventTracker.options.distinctByDays || [],\n eventName: eventTracker.name,\n retentionConfig: undefined,\n totalByDay: eventTracker.options.totalByDay || false,\n totalPerEntity: undefined,\n unique: eventTracker.options.unique || false,\n })\n }\n\n for (const exporter of ExporterState.INSTANCE.getValues()) {\n this.processorConfig.exportConfigs.push({\n name: exporter.name,\n channel: exporter.channel,\n })\n }\n\n PluginManager.INSTANCE.configure(this.processorConfig)\n }\n\n async start(request: StartRequest, context: CallContext): Promise<Empty> {\n if (this.started) {\n return {}\n }\n\n try {\n try {\n require('./core/eth-plugin')\n require('./core/sui-plugin')\n require('./aptos/aptos-plugin')\n require('./core/solana-plugin')\n } catch (e) {\n require('@sentio/sdk/lib/core/eth-plugin')\n require('@sentio/sdk/lib/core/sui-plugin')\n require('@sentio/sdk/lib/aptos/aptos-plugin')\n require('@sentio/sdk/lib/core/solana-plugin')\n }\n\n this.loader()\n } catch (e) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Failed to load processor: ' + errorString(e))\n }\n\n for (const instance of request.templateInstances) {\n const template = ProcessorTemplateProcessorState.INSTANCE.getValues()[instance.templateId]\n if (!template) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Invalid template contract:' + instance)\n }\n if (!instance.contract) {\n throw new ServerError(Status.INVALID_ARGUMENT, 'Contract Empty from:' + instance)\n }\n template.bind({\n name: instance.contract.name,\n address: instance.contract.address,\n network: Number(instance.contract.chainId),\n startBlock: instance.startBlock,\n endBlock: instance.endBlock,\n })\n }\n try {\n await this.configure()\n } catch (e) {\n throw new ServerError(Status.INTERNAL, 'Failed to start processor : ' + errorString(e))\n }\n this.started = true\n return {}\n }\n\n async stop(request: Empty, context: CallContext): Promise<Empty> {\n console.log('Server Shutting down in 5 seconds')\n if (this.shutdownHandler) {\n setTimeout(this.shutdownHandler, 5000)\n }\n return {}\n }\n\n async processBindings(request: ProcessBindingsRequest, options?: CallContext): Promise<ProcessBindingResponse> {\n if (!this.started) {\n throw new ServerError(Status.UNAVAILABLE, 'Service Not started.')\n }\n\n const promises = request.bindings.map((binding) => this.processBinding(binding))\n const result = mergeProcessResults(await Promise.all(promises))\n\n let updated = false\n const t = TemplateInstanceState.INSTANCE.getValues()\n if (TemplateInstanceState.INSTANCE.getValues().length !== this.processorConfig.templateInstances.length) {\n await this.configure()\n updated = true\n }\n\n return {\n result,\n configUpdated: updated,\n }\n }\n\n async processBinding(request: DataBinding, options?: CallContext): Promise<ProcessResult> {\n const result = await PluginManager.INSTANCE.processBinding(request)\n recordRuntimeInfo(result, request.handlerType)\n return result\n }\n\n async *processBindingsStream(requests: AsyncIterable<DataBinding>, context: CallContext) {\n for await (const request of requests) {\n const result = await this.processBinding(request)\n let updated = false\n if (TemplateInstanceState.INSTANCE.getValues().length !== this.processorConfig.templateInstances.length) {\n await this.configure()\n updated = true\n }\n yield {\n result,\n configUpdated: updated,\n }\n }\n }\n}\n\n// https://ourcodeworld.com/articles/read/164/how-to-convert-an-uint8array-to-string-in-javascript\n/* eslint-disable */\nexport function Utf8ArrayToStr(array: Uint8Array) {\n let out, i, len, c\n let char2, char3\n\n out = ''\n len = array.length\n i = 0\n while (i < len) {\n c = array[i++]\n switch (c >> 4) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n case 6:\n case 7:\n // 0xxxxxxx\n out += String.fromCharCode(c)\n break\n case 12:\n case 13:\n // 110x xxxx 10xx xxxx\n char2 = array[i++]\n out += String.fromCharCode(((c & 0x1f) << 6) | (char2 & 0x3f))\n break\n case 14:\n // 1110 xxxx 10xx xxxx 10xx xxxx\n char2 = array[i++]\n char3 = array[i++]\n out += String.fromCharCode(((c & 0x0f) << 12) | ((char2 & 0x3f) << 6) | ((char3 & 0x3f) << 0))\n break\n }\n }\n\n return out\n}\n\nexport function mergeProcessResults(results: ProcessResult[]): ProcessResult {\n const res = ProcessResult.fromPartial({})\n\n for (const r of results) {\n res.counters = res.counters.concat(r.counters)\n res.gauges = res.gauges.concat(r.gauges)\n res.logs = res.logs.concat(r.logs)\n res.events = res.events.concat(r.events)\n res.exports = res.exports.concat(r.exports)\n }\n return res\n}\n\nfunction recordRuntimeInfo(results: ProcessResult, handlerType: HandlerType) {\n for (const list of [results.gauges, results.counters, results.logs, results.events, results.exports]) {\n list.forEach((e) => {\n e.runtimeInfo = {\n from: handlerType,\n }\n })\n }\n}\n\nexport function errorString(e: Error): string {\n return e.stack || e.message\n}\n"]}
@@ -151,6 +151,7 @@ function codeGenSentioFile(contract) {
151
151
  'ContractView',
152
152
  'DummyProvider',
153
153
  'TypedCallTrace',
154
+ 'toBlockTag',
154
155
  ],
155
156
  './common': ['PromiseOrValue'],
156
157
  './index': [`${contract.name}`, `${contract.name}__factory`],
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/target-ethers-sentio/file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/target-ethers-sentio/file.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ function generateBoundViewFunction(fn, includeArgTypes) {
56
56
  try {
57
57
  if (!overrides && this.context) {
58
58
  overrides = {
59
- blockTag: this.context.blockNumber.toNumber(),
59
+ blockTag: toBlockTag(this.context.blockNumber),
60
60
  }
61
61
  }
62
62
  if (overrides) {
@@ -1,4 +1,4 @@
1
- import { MetricValue, ProcessResult } from '../gen';
1
+ import { MetricValue, ProcessResult } from '@sentio/protos';
2
2
  import { Numberish } from '../core';
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;
@@ -1 +1 @@
1
- {"version":3,"file":"metric-utils.js","sourceRoot":"","sources":["../../src/testing/metric-utils.ts"],"names":[],"mappings":";;;AACA,kCAA+C;AAC/C,mCAAkC;AAElC,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,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,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 '../gen'\nimport { Numberish, BigDecimal } from '../core'\nimport { BigNumber } from 'ethers'\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 = BigNumber.from(v.bigInteger.data).toBigInt()\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,kCAA+C;AAC/C,mCAAkC;AAElC,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,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,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 { BigNumber } from 'ethers'\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 = BigNumber.from(v.bigInteger.data).toBigInt()\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,6 +1,6 @@
1
- import { AccountConfig, ContractConfig, DataBinding, Data_SolInstruction, ProcessBindingResponse, ProcessBindingsRequest, ProcessConfigRequest, ProcessConfigResponse, ProcessorServiceImplementation, StartRequest } from '../gen';
1
+ import { AccountConfig, ContractConfig, DataBinding, Data_SolInstruction, ProcessBindingResponse, ProcessBindingsRequest, ProcessConfigRequest, ProcessConfigResponse, ProcessorServiceImplementation, StartRequest } from '@sentio/protos';
2
2
  import { CallContext } from 'nice-grpc-common';
3
- import { Empty } from '../gen/google/protobuf/empty';
3
+ import { Empty } from '@sentio/protos/lib/google/protobuf/empty';
4
4
  import { Block, Log } from '@ethersproject/abstract-provider';
5
5
  import { Networkish } from '@ethersproject/providers';
6
6
  import { ProcessorServiceImpl } from '../service';
@@ -36,7 +36,7 @@ export declare class TestProcessorServer implements ProcessorServiceImplementati
36
36
  testInstructions(instructions: Data_SolInstruction[]): Promise<ProcessBindingResponse>;
37
37
  processBindings(request: ProcessBindingsRequest, context?: CallContext): Promise<ProcessBindingResponse>;
38
38
  processBindingsStream(request: AsyncIterable<DataBinding>, context: CallContext): AsyncGenerator<{
39
- result: import("../gen").ProcessResult;
39
+ result: import("@sentio/protos").ProcessResult;
40
40
  configUpdated: boolean;
41
41
  }, void, unknown>;
42
42
  }
@@ -1,20 +1,16 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.TestProcessorServer = exports.cleanTest = exports.TEST_CONTEXT = void 0;
7
- const gen_1 = require("../gen");
4
+ const protos_1 = require("@sentio/protos");
8
5
  const chain_1 = require("../utils/chain");
9
- const long_1 = __importDefault(require("long"));
10
6
  const providers_1 = require("@ethersproject/providers");
11
7
  const endpoints_1 = require("../endpoints");
12
- const processor_state_1 = require("../state/processor-state");
8
+ const base_1 = require("@sentio/base");
13
9
  const service_1 = require("../service");
14
10
  const provider_1 = require("../provider");
15
11
  exports.TEST_CONTEXT = {};
16
12
  function cleanTest() {
17
- global.PROCESSOR_STATE = new processor_state_1.ProcessorState();
13
+ base_1.State.reset();
18
14
  if (!global.ENDPOINTS) {
19
15
  global.ENDPOINTS = new endpoints_1.Endpoints();
20
16
  }
@@ -93,7 +89,7 @@ class TestProcessorServer {
93
89
  ethTrace: { trace },
94
90
  },
95
91
  handlerIds: [config.handlerId],
96
- handlerType: gen_1.HandlerType.ETH_TRACE,
92
+ handlerType: protos_1.HandlerType.ETH_TRACE,
97
93
  };
98
94
  }
99
95
  }
@@ -151,7 +147,7 @@ class TestProcessorServer {
151
147
  ethLog: { log },
152
148
  },
153
149
  handlerIds: [config.handlerId],
154
- handlerType: gen_1.HandlerType.ETH_LOG,
150
+ handlerType: protos_1.HandlerType.ETH_LOG,
155
151
  };
156
152
  }
157
153
  }
@@ -210,7 +206,7 @@ class TestProcessorServer {
210
206
  ethLog: { log },
211
207
  },
212
208
  handlerIds: [config.handlerId],
213
- handlerType: gen_1.HandlerType.ETH_LOG,
209
+ handlerType: protos_1.HandlerType.ETH_LOG,
214
210
  };
215
211
  }
216
212
  }
@@ -240,18 +236,18 @@ class TestProcessorServer {
240
236
  raw: new Uint8Array(),
241
237
  ethBlock: { block },
242
238
  },
243
- handlerType: gen_1.HandlerType.ETH_BLOCK,
239
+ handlerType: protos_1.HandlerType.ETH_BLOCK,
244
240
  handlerIds: [],
245
241
  };
246
242
  for (const contract of this.contractConfigs) {
247
243
  if (contract.contract?.chainId !== (0, providers_1.getNetwork)(network).chainId.toString()) {
248
244
  continue;
249
245
  }
250
- const longBlockNumber = long_1.default.fromNumber(block.number);
246
+ const longBlockNumber = block.number;
251
247
  if (longBlockNumber < contract.startBlock) {
252
248
  continue;
253
249
  }
254
- if (contract.endBlock !== long_1.default.ZERO && longBlockNumber >= contract.endBlock) {
250
+ if (contract.endBlock !== 0n && longBlockNumber >= contract.endBlock) {
255
251
  continue;
256
252
  }
257
253
  for (const config of contract.intervalConfigs) {
@@ -269,7 +265,7 @@ class TestProcessorServer {
269
265
  solInstruction: instruction,
270
266
  },
271
267
  handlerIds: [],
272
- handlerType: gen_1.HandlerType.SOL_INSTRUCTION,
268
+ handlerType: protos_1.HandlerType.SOL_INSTRUCTION,
273
269
  };
274
270
  }),
275
271
  });
@@ -282,12 +278,4 @@ class TestProcessorServer {
282
278
  }
283
279
  }
284
280
  exports.TestProcessorServer = TestProcessorServer;
285
- function toBytes(obj) {
286
- const logJsonStr = JSON.stringify(obj);
287
- const raw = new Uint8Array(logJsonStr.length);
288
- for (let i = 0; i < logJsonStr.length; i++) {
289
- raw[i] = logJsonStr.charCodeAt(i);
290
- }
291
- return raw;
292
- }
293
281
  //# 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 '../gen'\nimport { CallContext } from 'nice-grpc-common'\nimport { Empty } from '../gen/google/protobuf/empty'\nimport { ChainConfig } from '../chain-config'\nimport { CHAIN_MAP } from '../utils/chain'\nimport { Block, Log } from '@ethersproject/abstract-provider'\nimport Long from 'long'\nimport { getNetwork, Networkish } from '@ethersproject/providers'\nimport { Endpoints } from '../endpoints'\nimport { ProcessorState } from '../state/processor-state'\nimport { ProcessorServiceImpl } from '../service'\nimport { Trace } from '../core/trace'\nimport { setProvider } from '../provider'\n\nexport const TEST_CONTEXT: CallContext = <CallContext>{}\n\nexport function cleanTest() {\n global.PROCESSOR_STATE = new ProcessorState()\n if (!global.ENDPOINTS) {\n global.ENDPOINTS = new Endpoints()\n }\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 const dummyConfig: Record<string, ChainConfig> = {}\n\n for (const k in CHAIN_MAP) {\n const http = httpEndpoints[k] || ''\n dummyConfig[k] = {\n ChainID: k,\n Https: [http],\n }\n }\n\n setProvider(dummyConfig)\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 !== getNetwork(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 raw: new Uint8Array(),\n ethTrace: { trace },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_TRACE,\n }\n }\n }\n }\n return undefined\n }\n\n testLog(log: Log, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testLogs([log], network)\n }\n\n testLogs(logs: Log[], 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: Log, network: Networkish = 1): DataBinding | undefined {\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== getNetwork(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 raw: new Uint8Array(),\n ethLog: { log },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_LOG,\n }\n }\n }\n }\n }\n return undefined\n }\n testAccountLog(address: string, log: Log, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testAccountLogs(address, [log], network)\n }\n\n testAccountLogs(address: string, logs: Log[], 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: Log, network: Networkish = 1): DataBinding | undefined {\n for (const account of this.accountConfigs) {\n if (account.chainId !== getNetwork(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 raw: new Uint8Array(),\n ethLog: { log },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_LOG,\n }\n }\n }\n }\n }\n return undefined\n }\n\n testBlock(block: Partial<Block> & { number: number }, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testBlocks([block], network)\n }\n\n testBlocks(blocks: Partial<Block> & { 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 raw: new Uint8Array(),\n ethBlock: { block },\n },\n handlerType: HandlerType.ETH_BLOCK,\n handlerIds: [],\n }\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== getNetwork(network).chainId.toString()) {\n continue\n }\n const longBlockNumber = Long.fromNumber(block.number)\n if (longBlockNumber < contract.startBlock) {\n continue\n }\n if (contract.endBlock !== Long.ZERO && 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\nfunction toBytes(obj: any): Uint8Array {\n const logJsonStr = JSON.stringify(obj)\n const raw = new Uint8Array(logJsonStr.length)\n for (let i = 0; i < logJsonStr.length; i++) {\n raw[i] = logJsonStr.charCodeAt(i)\n }\n return raw\n}\n"]}
1
+ {"version":3,"file":"test-processor-server.js","sourceRoot":"","sources":["../../src/testing/test-processor-server.ts"],"names":[],"mappings":";;;AAAA,2CAYuB;AAIvB,0CAA0C;AAE1C,wDAAiE;AACjE,4CAAwC;AACxC,uCAAoC;AACpC,wCAAiD;AAEjD,0CAAyC;AAE5B,QAAA,YAAY,GAA6B,EAAE,CAAA;AAExD,SAAgB,SAAS;IACvB,YAAK,CAAC,KAAK,EAAE,CAAA;IACb,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACrB,MAAM,CAAC,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAA;KACnC;AACH,CAAC;AALD,8BAKC;AAED,MAAa,mBAAmB;IAC9B,OAAO,CAAsB;IAC7B,eAAe,CAAkB;IACjC,cAAc,CAAiB;IAE/B,YAAY,MAAkB,EAAE,gBAAwC,EAAE;QACxE,SAAS,EAAE,CAAA;QAEX,IAAI,CAAC,OAAO,GAAG,IAAI,8BAAoB,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAgC,EAAE,CAAA;QAEnD,KAAK,MAAM,CAAC,IAAI,iBAAS,EAAE;YACzB,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YACnC,WAAW,CAAC,CAAC,CAAC,GAAG;gBACf,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC,IAAI,CAAC;aACd,CAAA;SACF;QAED,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAwB,EAAE,iBAAiB,EAAE,EAAE,EAAE,EAAE,OAAO,GAAG,oBAAY;QACnF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAA;QAC7C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;QAC3C,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,CAAC,OAAc,EAAE,OAAO,GAAG,oBAAY;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,SAAS,CAAC,OAA6B,EAAE,OAAO,GAAG,oBAAY;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,0GAA0G;IAC1G,sDAAsD;IACtD,IAAI;IACJ,EAAE;IACF,yHAAyH;IACzH,wDAAwD;IACxD,IAAI;IAEJ,SAAS,CAAC,KAAY,EAAE,UAAsB,CAAC;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU,CAAC,MAAe,EAAE,UAAsB,CAAC;QACjD,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACtD,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;aAC5D;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACvB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,UAAsB,CAAC;QACrD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;YAChD,MAAM,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;SAC5D;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAEjD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YAC3C,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACzE,SAAQ;aACT;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE;gBAC/E,SAAQ;aACT;YACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,YAAY,EAAE;gBAC1C,IAAI,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE;oBACjC,OAAO;wBACL,IAAI,EAAE;4BACJ,GAAG,EAAE,IAAI,UAAU,EAAE;4BACrB,QAAQ,EAAE,EAAE,KAAK,EAAE;yBACpB;wBACD,UAAU,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;wBAC9B,WAAW,EAAE,oBAAW,CAAC,SAAS;qBACnC,CAAA;iBACF;aACF;SACF;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,UAAsB,CAAC;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,QAAQ,CAAC,IAAW,EAAE,UAAsB,CAAC;QAC3C,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAClD,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;aACxD;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACvB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CAAC,GAAQ,EAAE,UAAsB,CAAC;QAC/C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YAC3C,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACzE,SAAQ;aACT;YACD,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE;gBAC1E,SAAQ;aACT;YACD,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACxC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;oBACnC,mDAAmD;oBACnD,aAAa;oBACb,IAAI;oBAEJ,IAAI,KAAK,GAAG,IAAI,CAAA;oBAChB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE;wBACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;wBACrC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;wBACpD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC9B,YAAY;4BACZ,SAAQ;yBACT;wBACD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;4BACzE,WAAW;4BACX,SAAQ;yBACT;wBACD,KAAK,GAAG,KAAK,CAAA;wBACb,MAAK;qBACN;oBACD,IAAI,KAAK,EAAE;wBACT,OAAO;4BACL,IAAI,EAAE;gCACJ,GAAG,EAAE,IAAI,UAAU,EAAE;gCACrB,MAAM,EAAE,EAAE,GAAG,EAAE;6BAChB;4BACD,UAAU,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;4BAC9B,WAAW,EAAE,oBAAW,CAAC,OAAO;yBACjC,CAAA;qBACF;iBACF;aACF;SACF;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,cAAc,CAAC,OAAe,EAAE,GAAQ,EAAE,UAAsB,CAAC;QAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;IAED,eAAe,CAAC,OAAe,EAAE,IAAW,EAAE,UAAsB,CAAC;QACnE,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YAClE,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;aACxD;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACvB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,sBAAsB,CAAC,OAAe,EAAE,GAAQ,EAAE,UAAsB,CAAC;QACvE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE;YACzC,IAAI,OAAO,CAAC,OAAO,KAAK,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBAC9D,SAAQ;aACT;YACD,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;gBAC3D,SAAQ;aACT;YACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,UAAU,EAAE;gBACvC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;oBACnC,mDAAmD;oBACnD,aAAa;oBACb,IAAI;oBAEJ,IAAI,KAAK,GAAG,IAAI,CAAA;oBAChB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE;wBACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;wBACrC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAA;wBACpD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;4BAC9B,YAAY;4BACZ,SAAQ;yBACT;wBACD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;4BACzE,WAAW;4BACX,SAAQ;yBACT;wBACD,KAAK,GAAG,KAAK,CAAA;wBACb,MAAK;qBACN;oBACD,IAAI,KAAK,EAAE;wBACT,OAAO;4BACL,IAAI,EAAE;gCACJ,GAAG,EAAE,IAAI,UAAU,EAAE;gCACrB,MAAM,EAAE,EAAE,GAAG,EAAE;6BAChB;4BACD,UAAU,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC;4BAC9B,WAAW,EAAE,oBAAW,CAAC,OAAO;yBACjC,CAAA;qBACF;iBACF;aACF;SACF;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,SAAS,CAAC,KAA0C,EAAE,UAAsB,CAAC;QAC3E,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,UAAU,CAAC,MAA6C,EAAE,UAAsB,CAAC;QAC/E,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACtD,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;aAC5D;YACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACvB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,iBAAiB,CAAC,KAA0C,EAAE,UAAsB,CAAC;QACnF,MAAM,OAAO,GAAgB;YAC3B,IAAI,EAAE;gBACJ,GAAG,EAAE,IAAI,UAAU,EAAE;gBACrB,QAAQ,EAAE,EAAE,KAAK,EAAE;aACpB;YACD,WAAW,EAAE,oBAAW,CAAC,SAAS;YAClC,UAAU,EAAE,EAAE;SACf,CAAA;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;YAC3C,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;gBACzE,SAAQ;aACT;YACD,MAAM,eAAe,GAAG,KAAK,CAAC,MAAM,CAAA;YACpC,IAAI,eAAe,GAAG,QAAQ,CAAC,UAAU,EAAE;gBACzC,SAAQ;aACT;YACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,EAAE,IAAI,eAAe,IAAI,QAAQ,CAAC,QAAQ,EAAE;gBACpE,SAAQ;aACT;YAED,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,eAAe,EAAE;gBAC7C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;aAC1C;SACF;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,gBAAgB,CAAC,YAAmC;QAClD,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,QAAQ,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBACzC,OAAO;oBACL,IAAI,EAAE;wBACJ,GAAG,EAAE,IAAI,UAAU,EAAE;wBACrB,cAAc,EAAE,WAAW;qBAC5B;oBACD,UAAU,EAAE,EAAE;oBACd,WAAW,EAAE,oBAAW,CAAC,eAAe;iBACzC,CAAA;YACH,CAAC,CAAC;SACH,CAAC,CAAA;IACJ,CAAC;IAED,eAAe,CACb,OAA+B,EAC/B,UAAuB,oBAAY;QAEnC,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC;IAED,qBAAqB,CAAC,OAAmC,EAAE,OAAoB;QAC7E,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC7D,CAAC;CACF;AAjSD,kDAiSC","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 } from '../chain-config'\nimport { CHAIN_MAP } from '../utils/chain'\nimport { Block, Log } from '@ethersproject/abstract-provider'\nimport { getNetwork, Networkish } from '@ethersproject/providers'\nimport { Endpoints } from '../endpoints'\nimport { State } from '@sentio/base'\nimport { ProcessorServiceImpl } from '../service'\nimport { Trace } from '../core/trace'\nimport { setProvider } from '../provider'\n\nexport const TEST_CONTEXT: CallContext = <CallContext>{}\n\nexport function cleanTest() {\n State.reset()\n if (!global.ENDPOINTS) {\n global.ENDPOINTS = new Endpoints()\n }\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 const dummyConfig: Record<string, ChainConfig> = {}\n\n for (const k in CHAIN_MAP) {\n const http = httpEndpoints[k] || ''\n dummyConfig[k] = {\n ChainID: k,\n Https: [http],\n }\n }\n\n setProvider(dummyConfig)\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 !== getNetwork(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 raw: new Uint8Array(),\n ethTrace: { trace },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_TRACE,\n }\n }\n }\n }\n return undefined\n }\n\n testLog(log: Log, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testLogs([log], network)\n }\n\n testLogs(logs: Log[], 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: Log, network: Networkish = 1): DataBinding | undefined {\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== getNetwork(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 raw: new Uint8Array(),\n ethLog: { log },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_LOG,\n }\n }\n }\n }\n }\n return undefined\n }\n testAccountLog(address: string, log: Log, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testAccountLogs(address, [log], network)\n }\n\n testAccountLogs(address: string, logs: Log[], 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: Log, network: Networkish = 1): DataBinding | undefined {\n for (const account of this.accountConfigs) {\n if (account.chainId !== getNetwork(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 raw: new Uint8Array(),\n ethLog: { log },\n },\n handlerIds: [config.handlerId],\n handlerType: HandlerType.ETH_LOG,\n }\n }\n }\n }\n }\n return undefined\n }\n\n testBlock(block: Partial<Block> & { number: number }, network: Networkish = 1): Promise<ProcessBindingResponse> {\n return this.testBlocks([block], network)\n }\n\n testBlocks(blocks: Partial<Block> & { 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 raw: new Uint8Array(),\n ethBlock: { block },\n },\n handlerType: HandlerType.ETH_BLOCK,\n handlerIds: [],\n }\n for (const contract of this.contractConfigs) {\n if (contract.contract?.chainId !== getNetwork(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,6 +1,6 @@
1
1
  import { BigNumber } from 'ethers';
2
2
  import { BigDecimal } from '../core/big-decimal';
3
3
  import { Numberish } from '../core';
4
- import { MetricValue } from '../gen';
4
+ import { MetricValue } from '@sentio/protos';
5
5
  export declare function toBigDecimal(n: BigNumber | bigint): BigDecimal;
6
6
  export declare function metricValueToNumberish(v: MetricValue): Numberish;
@@ -1 +1 @@
1
- {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/utils/conversion.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAClC,qDAAgD;AAIhD,SAAgB,YAAY,CAAC,CAAqB;IAChD,OAAO,IAAI,wBAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AACrC,CAAC;AAFD,oCAEC;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,MAAM,EAAE,GAAG,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;YACzB,OAAO,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SACjC;QACD,OAAO,EAAE,CAAA;KACV;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 { BigNumber } from 'ethers'\nimport { BigDecimal } from '../core/big-decimal'\nimport { Numberish } from '../core'\nimport { MetricValue } from '../gen'\n\nexport function toBigDecimal(n: BigNumber | bigint) {\n return new BigDecimal(n.toString())\n}\n\nexport function metricValueToNumberish(v: MetricValue): Numberish {\n if (v.doubleValue) {\n return v.doubleValue\n }\n if (v.bigInteger) {\n const bn = BigNumber.from(v.bigInteger.data)\n if (v.bigInteger.negative) {\n return BigNumber.from(0).sub(bn)\n }\n return bn\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,mCAAkC;AAClC,qDAAgD;AAIhD,SAAgB,YAAY,CAAC,CAAqB;IAChD,OAAO,IAAI,wBAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;AACrC,CAAC;AAFD,oCAEC;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,MAAM,EAAE,GAAG,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC5C,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;YACzB,OAAO,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SACjC;QACD,OAAO,EAAE,CAAA;KACV;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 { BigNumber } from 'ethers'\nimport { BigDecimal } from '../core/big-decimal'\nimport { Numberish } from '../core'\nimport { MetricValue } from '@sentio/protos'\n\nexport function toBigDecimal(n: BigNumber | bigint) {\n return new BigDecimal(n.toString())\n}\n\nexport function metricValueToNumberish(v: MetricValue): Numberish {\n if (v.doubleValue) {\n return v.doubleValue\n }\n if (v.bigInteger) {\n const bn = BigNumber.from(v.bigInteger.data)\n if (v.bigInteger.negative) {\n return BigNumber.from(0).sub(bn)\n }\n return bn\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 +1 @@
1
- {"version":3,"file":"dex-price.test.js","sourceRoot":"","sources":["../../src/utils/dex-price.test.ts"],"names":[],"mappings":";;AAAA,2CAA8D;AAC9D,8DAAyD;AACzD,4DAAmE;AAEnE,+BAA6B;AAC7B,4CAAwC;AAExC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,CAAC,eAAe,GAAG,IAAI,gCAAc,EAAE,CAAA;IAC7C,MAAM,CAAC,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAA;IAElC,MAAM,aAAa,GAAG,IAAA,wCAAwB,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,4BAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC9D,IAAA,aAAM,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,4BAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClE,IAAA,aAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,0BAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACzD,IAAA,aAAM,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { EthereumDexPrice, GoerliDexPrice } from './dex-price'\nimport { ProcessorState } from '../state/processor-state'\nimport { loadTestProvidersFromEnv } from '../testing/test-provider'\n\nimport { expect } from 'chai'\nimport { Endpoints } from '../endpoints'\n\ndescribe('dex price tests', () => {\n global.PROCESSOR_STATE = new ProcessorState()\n global.ENDPOINTS = new Endpoints()\n\n const haveProviders = loadTestProvidersFromEnv(['1', '5'])\n\n const testIf = haveProviders ? test : test.skip\n\n testIf('get price at mainnet', async () => {\n const usdc = await EthereumDexPrice.getPrice('usdc', 15677823)\n expect(usdc.price).eq(0.99991649)\n\n const compound = await EthereumDexPrice.getPrice('COMP', 15677823)\n expect(compound.price).eq(60.27)\n })\n\n testIf('get price at goerli', async () => {\n const dai = await GoerliDexPrice.getPrice('DAI', 7712734)\n expect(dai.price).eq(0.99971281)\n })\n})\n"]}
1
+ {"version":3,"file":"dex-price.test.js","sourceRoot":"","sources":["../../src/utils/dex-price.test.ts"],"names":[],"mappings":";;AAAA,2CAA8D;AAC9D,uCAAoC;AACpC,4DAAmE;AAEnE,+BAA6B;AAC7B,4CAAwC;AAExC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,YAAK,CAAC,KAAK,EAAE,CAAA;IACb,MAAM,CAAC,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAA;IAElC,MAAM,aAAa,GAAG,IAAA,wCAAwB,EAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,4BAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC9D,IAAA,aAAM,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;QAEjC,MAAM,QAAQ,GAAG,MAAM,4BAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAClE,IAAA,aAAM,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,GAAG,GAAG,MAAM,0BAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACzD,IAAA,aAAM,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { EthereumDexPrice, GoerliDexPrice } from './dex-price'\nimport { State } from '@sentio/base'\nimport { loadTestProvidersFromEnv } from '../testing/test-provider'\n\nimport { expect } from 'chai'\nimport { Endpoints } from '../endpoints'\n\ndescribe('dex price tests', () => {\n State.reset()\n global.ENDPOINTS = new Endpoints()\n\n const haveProviders = loadTestProvidersFromEnv(['1', '5'])\n\n const testIf = haveProviders ? test : test.skip\n\n testIf('get price at mainnet', async () => {\n const usdc = await EthereumDexPrice.getPrice('usdc', 15677823)\n expect(usdc.price).eq(0.99991649)\n\n const compound = await EthereumDexPrice.getPrice('COMP', 15677823)\n expect(compound.price).eq(60.27)\n })\n\n testIf('get price at goerli', async () => {\n const dai = await GoerliDexPrice.getPrice('DAI', 7712734)\n expect(dai.price).eq(0.99971281)\n })\n})\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/utils/erc20.test.ts"],"names":[],"mappings":";;AAAA,8DAAyD;AACzD,mCAA2C;AAC3C,4DAAmE;AACnE,4CAAwC;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,CAAC,eAAe,GAAG,IAAI,gCAAc,EAAE,CAAA;IAC7C,MAAM,CAAC,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAA;IAElC,MAAM,aAAa,GAAG,IAAA,wCAAwB,EAAC,GAAG,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAiB,EAAC,4CAA4C,CAAC,CAAA;QAElF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAiB,EAAC,4CAA4C,CAAC,CAAA;QAElF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { ProcessorState } from '../state/processor-state'\nimport { getERC20TokenInfo } from './token'\nimport { loadTestProvidersFromEnv } from '../testing/test-provider'\nimport { Endpoints } from '../endpoints'\n\ndescribe('erc20 tests', () => {\n global.PROCESSOR_STATE = new ProcessorState()\n global.ENDPOINTS = new Endpoints()\n\n const haveProviders = loadTestProvidersFromEnv('1')\n\n const testIf = haveProviders ? test : test.skip\n\n testIf('test bytes32', async () => {\n const info = await getERC20TokenInfo('0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2')\n\n expect(info.decimal).toEqual(18)\n expect(info.symbol).toEqual('MKR')\n expect(info.name).toEqual('Maker')\n })\n\n testIf('test normal', async () => {\n const info = await getERC20TokenInfo('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48')\n\n expect(info.decimal).toEqual(6)\n expect(info.symbol).toEqual('USDC')\n expect(info.name).toEqual('USD Coin')\n })\n})\n"]}
1
+ {"version":3,"file":"erc20.test.js","sourceRoot":"","sources":["../../src/utils/erc20.test.ts"],"names":[],"mappings":";;AAAA,uCAAoC;AACpC,mCAA2C;AAC3C,4DAAmE;AACnE,4CAAwC;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,YAAK,CAAC,KAAK,EAAE,CAAA;IACb,MAAM,CAAC,SAAS,GAAG,IAAI,qBAAS,EAAE,CAAA;IAElC,MAAM,aAAa,GAAG,IAAA,wCAAwB,EAAC,GAAG,CAAC,CAAA;IAEnD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAE/C,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAiB,EAAC,4CAA4C,CAAC,CAAA;QAElF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC,CAAC,CAAA;IAEF,MAAM,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAiB,EAAC,4CAA4C,CAAC,CAAA;QAElF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["import { State } from '@sentio/base'\nimport { getERC20TokenInfo } from './token'\nimport { loadTestProvidersFromEnv } from '../testing/test-provider'\nimport { Endpoints } from '../endpoints'\n\ndescribe('erc20 tests', () => {\n State.reset()\n global.ENDPOINTS = new Endpoints()\n\n const haveProviders = loadTestProvidersFromEnv('1')\n\n const testIf = haveProviders ? test : test.skip\n\n testIf('test bytes32', async () => {\n const info = await getERC20TokenInfo('0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2')\n\n expect(info.decimal).toEqual(18)\n expect(info.symbol).toEqual('MKR')\n expect(info.name).toEqual('Maker')\n })\n\n testIf('test normal', async () => {\n const info = await getERC20TokenInfo('0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48')\n\n expect(info.decimal).toEqual(6)\n expect(info.symbol).toEqual('USDC')\n expect(info.name).toEqual('USD Coin')\n })\n})\n"]}
@@ -6,10 +6,10 @@ export declare function getPriceClient(address?: string): import("nice-grpc").Ra
6
6
  readonly getPrice: {
7
7
  readonly name: "GetPrice";
8
8
  readonly requestType: {
9
- encode(message: import("../gen/service/price/protos/price").GetPriceRequest, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
10
- decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../gen/service/price/protos/price").GetPriceRequest;
11
- fromJSON(object: any): import("../gen/service/price/protos/price").GetPriceRequest;
12
- toJSON(message: import("../gen/service/price/protos/price").GetPriceRequest): unknown;
9
+ encode(message: import("@sentio/protos/lib/service/price/protos/price").GetPriceRequest, writer?: import("protobufjs").Writer | undefined): import("protobufjs").Writer;
10
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("@sentio/protos/lib/service/price/protos/price").GetPriceRequest;
11
+ fromJSON(object: any): import("@sentio/protos/lib/service/price/protos/price").GetPriceRequest;
12
+ toJSON(message: import("@sentio/protos/lib/service/price/protos/price").GetPriceRequest): unknown;
13
13
  fromPartial(object: {
14
14
  timestamp?: Date | undefined;
15
15
  coinId?: {
@@ -19,18 +19,18 @@ export declare function getPriceClient(address?: string): import("nice-grpc").Ra
19
19
  chain?: string | undefined;
20
20
  } | undefined;
21
21
  } | undefined;
22
- }): import("../gen/service/price/protos/price").GetPriceRequest;
22
+ }): import("@sentio/protos/lib/service/price/protos/price").GetPriceRequest;
23
23
  };
24
24
  readonly requestStream: false;
25
25
  readonly responseType: {
26
- encode(message: import("../gen/service/price/protos/price").GetPriceResponse, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
27
- decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../gen/service/price/protos/price").GetPriceResponse;
28
- fromJSON(object: any): import("../gen/service/price/protos/price").GetPriceResponse;
29
- toJSON(message: import("../gen/service/price/protos/price").GetPriceResponse): unknown;
26
+ encode(message: import("@sentio/protos/lib/service/price/protos/price").GetPriceResponse, writer?: import("protobufjs").Writer | undefined): import("protobufjs").Writer;
27
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("@sentio/protos/lib/service/price/protos/price").GetPriceResponse;
28
+ fromJSON(object: any): import("@sentio/protos/lib/service/price/protos/price").GetPriceResponse;
29
+ toJSON(message: import("@sentio/protos/lib/service/price/protos/price").GetPriceResponse): unknown;
30
30
  fromPartial(object: {
31
31
  price?: number | undefined;
32
32
  timestamp?: Date | undefined;
33
- }): import("../gen/service/price/protos/price").GetPriceResponse;
33
+ }): import("@sentio/protos/lib/service/price/protos/price").GetPriceResponse;
34
34
  };
35
35
  readonly responseStream: false;
36
36
  readonly options: {};
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPriceBySymbol = exports.getPriceByType = exports.getPriceClient = void 0;
4
- const price_1 = require("../gen/service/price/protos/price");
4
+ const price_1 = require("@sentio/protos/lib/service/price/protos/price");
5
5
  const nice_grpc_1 = require("nice-grpc");
6
6
  const nice_grpc_client_middleware_retry_1 = require("nice-grpc-client-middleware-retry");
7
7
  function getPriceClient(address) {
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":";;;AAAA,6DAA8F;AAC9F,yCAA8D;AAC9D,yFAAiF;AAEjF,SAAgB,cAAc,CAAC,OAAgB;IAC7C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAA;KACxC;IACD,MAAM,OAAO,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAA;IAEtC,OAAO,IAAA,+BAAmB,GAAE,CAAC,GAAG,CAAC,mDAAe,CAAC,CAAC,MAAM,CAAC,8BAAsB,EAAE,OAAO,CAAC,CAAA;AAC3F,CAAC;AAPD,wCAOC;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;AAC1C,IAAI,WAA6C,CAAA;AAEjD;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,QAAgB,EAAE,IAAU;IAChF,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,cAAc,EAAE,CAAA;KAC/B;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAA;IACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAA;KACb;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CACzC;QACE,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,QAAQ;aAClB;SACF;KACF,EACD;QACE,KAAK,EAAE,IAAI;QACX,gBAAgB,EAAE,CAAC;KACpB,CACF,CAAA;IACD,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IACtB,IAAI,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE;QACpE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KACzB;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAhCD,wCAgCC;AAED;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAU;IAC/D,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,cAAc,EAAE,CAAA;KAC/B;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAA;IAClC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAA;KACb;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CACzC;QACE,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,MAAM;SACP;KACF,EACD;QACE,KAAK,EAAE,IAAI;QACX,gBAAgB,EAAE,CAAC;KACpB,CACF,CAAA;IACD,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IACtB,IAAI,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE;QACpE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KACzB;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AA7BD,4CA6BC;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACrF,CAAC","sourcesContent":["import { PriceServiceClient, PriceServiceDefinition } from '../gen/service/price/protos/price'\nimport { createChannel, createClientFactory } from 'nice-grpc'\nimport { retryMiddleware, RetryOptions } from 'nice-grpc-client-middleware-retry'\n\nexport function getPriceClient(address?: string) {\n if (!address) {\n address = global.ENDPOINTS.priceFeedAPI\n }\n const channel = createChannel(address)\n\n return createClientFactory().use(retryMiddleware).create(PriceServiceDefinition, channel)\n}\n\nconst priceMap = new Map<string, number>()\nlet priceClient: PriceServiceClient<RetryOptions>\n\n/**\n *\n * @param chainId chain id refers to CHAIN_MAP\n * @param coinType\n * @param date\n */\nexport async function getPriceByType(chainId: string, coinType: string, date: Date): Promise<number> {\n if (!priceClient) {\n priceClient = getPriceClient()\n }\n\n const dateStr = dateString(date)\n const key = `${coinType}-${dateStr}`\n let price = priceMap.get(key)\n if (price) {\n return price\n }\n\n const response = await priceClient.getPrice(\n {\n timestamp: date,\n coinId: {\n address: {\n chain: chainId,\n address: coinType,\n },\n },\n },\n {\n retry: true,\n retryMaxAttempts: 8,\n }\n )\n price = response.price\n if (response.timestamp && dateString(response.timestamp) === dateStr) {\n priceMap.set(key, price)\n }\n return price\n}\n\n/**\n *\n * @param symbol token symbol like BTC, etc\n * @param date\n */\nexport async function getPriceBySymbol(symbol: string, date: Date): Promise<number> {\n if (!priceClient) {\n priceClient = getPriceClient()\n }\n\n const dateStr = dateString(date)\n const key = `${symbol}-${dateStr}`\n let price = priceMap.get(key)\n if (price) {\n return price\n }\n\n const response = await priceClient.getPrice(\n {\n timestamp: date,\n coinId: {\n symbol,\n },\n },\n {\n retry: true,\n retryMaxAttempts: 8,\n }\n )\n price = response.price\n if (response.timestamp && dateString(response.timestamp) === dateStr) {\n priceMap.set(key, price)\n }\n return price\n}\n\nfunction dateString(date: Date) {\n return [date.getUTCDate(), date.getUTCMonth() + 1, date.getUTCFullYear()].join('-')\n}\n"]}
1
+ {"version":3,"file":"price.js","sourceRoot":"","sources":["../../src/utils/price.ts"],"names":[],"mappings":";;;AAAA,yEAA0G;AAC1G,yCAA8D;AAC9D,yFAAiF;AAEjF,SAAgB,cAAc,CAAC,OAAgB;IAC7C,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAA;KACxC;IACD,MAAM,OAAO,GAAG,IAAA,yBAAa,EAAC,OAAO,CAAC,CAAA;IAEtC,OAAO,IAAA,+BAAmB,GAAE,CAAC,GAAG,CAAC,mDAAe,CAAC,CAAC,MAAM,CAAC,8BAAsB,EAAE,OAAO,CAAC,CAAA;AAC3F,CAAC;AAPD,wCAOC;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;AAC1C,IAAI,WAA6C,CAAA;AAEjD;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,QAAgB,EAAE,IAAU;IAChF,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,cAAc,EAAE,CAAA;KAC/B;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAA;IACpC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAA;KACb;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CACzC;QACE,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,OAAO,EAAE;gBACP,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,QAAQ;aAClB;SACF;KACF,EACD;QACE,KAAK,EAAE,IAAI;QACX,gBAAgB,EAAE,CAAC;KACpB,CACF,CAAA;IACD,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IACtB,IAAI,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE;QACpE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KACzB;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAhCD,wCAgCC;AAED;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAU;IAC/D,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,cAAc,EAAE,CAAA;KAC/B;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,OAAO,EAAE,CAAA;IAClC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAA;KACb;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,QAAQ,CACzC;QACE,SAAS,EAAE,IAAI;QACf,MAAM,EAAE;YACN,MAAM;SACP;KACF,EACD;QACE,KAAK,EAAE,IAAI;QACX,gBAAgB,EAAE,CAAC;KACpB,CACF,CAAA;IACD,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;IACtB,IAAI,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE;QACpE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;KACzB;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AA7BD,4CA6BC;AAED,SAAS,UAAU,CAAC,IAAU;IAC5B,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACrF,CAAC","sourcesContent":["import { PriceServiceClient, PriceServiceDefinition } from '@sentio/protos/lib/service/price/protos/price'\nimport { createChannel, createClientFactory } from 'nice-grpc'\nimport { retryMiddleware, RetryOptions } from 'nice-grpc-client-middleware-retry'\n\nexport function getPriceClient(address?: string) {\n if (!address) {\n address = global.ENDPOINTS.priceFeedAPI\n }\n const channel = createChannel(address)\n\n return createClientFactory().use(retryMiddleware).create(PriceServiceDefinition, channel)\n}\n\nconst priceMap = new Map<string, number>()\nlet priceClient: PriceServiceClient<RetryOptions>\n\n/**\n *\n * @param chainId chain id refers to CHAIN_MAP\n * @param coinType\n * @param date\n */\nexport async function getPriceByType(chainId: string, coinType: string, date: Date): Promise<number> {\n if (!priceClient) {\n priceClient = getPriceClient()\n }\n\n const dateStr = dateString(date)\n const key = `${coinType}-${dateStr}`\n let price = priceMap.get(key)\n if (price) {\n return price\n }\n\n const response = await priceClient.getPrice(\n {\n timestamp: date,\n coinId: {\n address: {\n chain: chainId,\n address: coinType,\n },\n },\n },\n {\n retry: true,\n retryMaxAttempts: 8,\n }\n )\n price = response.price\n if (response.timestamp && dateString(response.timestamp) === dateStr) {\n priceMap.set(key, price)\n }\n return price\n}\n\n/**\n *\n * @param symbol token symbol like BTC, etc\n * @param date\n */\nexport async function getPriceBySymbol(symbol: string, date: Date): Promise<number> {\n if (!priceClient) {\n priceClient = getPriceClient()\n }\n\n const dateStr = dateString(date)\n const key = `${symbol}-${dateStr}`\n let price = priceMap.get(key)\n if (price) {\n return price\n }\n\n const response = await priceClient.getPrice(\n {\n timestamp: date,\n coinId: {\n symbol,\n },\n },\n {\n retry: true,\n retryMaxAttempts: 8,\n }\n )\n price = response.price\n if (response.timestamp && dateString(response.timestamp) === dateStr) {\n priceMap.set(key, price)\n }\n return price\n}\n\nfunction dateString(date: Date) {\n return [date.getUTCDate(), date.getUTCMonth() + 1, date.getUTCFullYear()].join('-')\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentio/sdk",
3
3
  "license": "Apache-2.0",
4
- "version": "1.36.4-rc.1",
4
+ "version": "1.37.0-rc.1",
5
5
  "scripts": {
6
6
  "compile_target": "yarn tsc -b src/target-ethers-sentio/tsconfig.json",
7
7
  "compile": "tsc -p . && cp src/utils/*.csv lib/utils",
@@ -22,7 +22,9 @@
22
22
  "dependencies": {
23
23
  "@ethersproject/providers": "~5.7.0",
24
24
  "@project-serum/anchor": "^0.26.0",
25
+ "@sentio/base": "^1.37.0-rc.1",
25
26
  "@sentio/cli": "^1.0.0",
27
+ "@sentio/protos": "^1.37.0-rc.1",
26
28
  "@solana/web3.js": "^1.47.3",
27
29
  "@typechain/ethers-v5": "^10.0.0",
28
30
  "@types/bn.js": "^5.1.0",
@@ -73,5 +75,5 @@
73
75
  "engines": {
74
76
  "node": ">=16"
75
77
  },
76
- "gitHead": "3c87b72d75f7d9313dbedeecb33101723d5a2c58"
78
+ "gitHead": "f5035604b83d4ef3b79d091a0c674b1e0546050b"
77
79
  }
package/src/aptos/api.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AptosQueryClient, AptosQueryDefinition } from '../gen/chainquery/protos/chainquery'
1
+ import { AptosQueryClient, AptosQueryDefinition } from '@sentio/protos/lib/chainquery/protos/chainquery'
2
2
  import { createChannel, createClient } from 'nice-grpc'
3
3
 
4
4
  export function getChainQueryClient(address?: string): AptosQueryClient {
@@ -1,4 +1,4 @@
1
- import { Plugin, PluginManager } from '../plugin'
1
+ import { Plugin, PluginManager } from '@sentio/base'
2
2
  import {
3
3
  AccountConfig,
4
4
  AptosCallHandlerConfig,
@@ -8,15 +8,14 @@ import {
8
8
  HandlerType,
9
9
  ProcessConfigResponse,
10
10
  ProcessResult,
11
- } from '../gen/processor/protos/processor'
11
+ } from '@sentio/protos'
12
+
12
13
  import { DEFAULT_MAX_BLOCK, errorString, mergeProcessResults, USER_PROCESSOR, Utf8ArrayToStr } from '../service'
13
14
 
14
15
  import { ServerError, Status } from 'nice-grpc'
15
16
 
16
17
  import { MoveResource, Transaction_UserTransaction } from 'aptos-sdk/src/generated'
17
18
  import { AptosAccountProcessorState, AptosProcessorState, MoveResourcesWithVersionPayload } from './aptos-processor'
18
- import { toBigInt } from '../core/numberish'
19
- import Long from 'long'
20
19
 
21
20
  export class AptosPlugin implements Plugin {
22
21
  name: string = 'AptosPlugin'
@@ -39,7 +38,7 @@ export class AptosPlugin implements Plugin {
39
38
  intervalConfigs: [],
40
39
  logConfigs: [],
41
40
  traceConfigs: [],
42
- startBlock: Long.fromString(aptosProcessor.config.startVersion.toString()),
41
+ startBlock: aptosProcessor.config.startVersion,
43
42
  endBlock: DEFAULT_MAX_BLOCK,
44
43
  instructionConfig: undefined,
45
44
  aptosEventConfigs: [],
@@ -83,7 +82,7 @@ export class AptosPlugin implements Plugin {
83
82
  const accountConfig: AccountConfig = {
84
83
  address: aptosProcessor.config.address,
85
84
  chainId: aptosProcessor.getChainId(),
86
- startBlock: Long.fromValue(aptosProcessor.config.startVersion.toString()),
85
+ startBlock: aptosProcessor.config.startVersion,
87
86
  aptosIntervalConfigs: [],
88
87
  intervalConfigs: [],
89
88
  logConfigs: [],
@@ -160,20 +159,20 @@ export class AptosPlugin implements Plugin {
160
159
  timestamp: 0,
161
160
  }
162
161
  if (binding.data.aptResource?.resources) {
163
- if (binding.data.aptResource.timestampMicros.greaterThan(Number.MAX_SAFE_INTEGER)) {
162
+ if (binding.data.aptResource.timestampMicros > Number.MAX_SAFE_INTEGER) {
164
163
  throw new ServerError(Status.INVALID_ARGUMENT, 'timestamp is too large')
165
164
  }
166
- resource.timestamp = binding.data.aptResource.timestampMicros.toNumber()
167
- resource.version = toBigInt(binding.data.aptResource.version)
165
+ resource.timestamp = Number(binding.data.aptResource.timestampMicros)
166
+ resource.version = binding.data.aptResource.version
168
167
  resource.resources = binding.data.aptResource.resources as MoveResource[]
169
168
  } else {
170
169
  const jsonString = Utf8ArrayToStr(binding.data.raw)
171
170
  const json = JSON.parse(jsonString)
172
- if (Long.fromString(json.timestamp).greaterThan(Number.MAX_SAFE_INTEGER)) {
171
+ if (BigInt(json.timestamp) > Number.MAX_SAFE_INTEGER) {
173
172
  throw new ServerError(Status.INVALID_ARGUMENT, 'timestamp is too large')
174
173
  }
175
174
  resource.timestamp = parseInt(json.timestamp)
176
- resource.version = toBigInt(json.version)
175
+ resource.version = BigInt(json.version)
177
176
  }
178
177
 
179
178
  const promises: Promise<ProcessResult>[] = []
@@ -8,8 +8,8 @@ import { TYPE_REGISTRY, TypeRegistry } from './type-registry'
8
8
  import { AptosBindOptions, AptosNetwork, getChainId } from './network'
9
9
  import { AptosContext, AptosResourceContext } from './context'
10
10
  import { EventInstance } from './models'
11
- import { ListStateStorage } from '../state/state-storage'
12
- import { HandleInterval, ProcessResult } from '../gen'
11
+ import { ListStateStorage } from '@sentio/base'
12
+ import { HandleInterval, ProcessResult } from '@sentio/protos'
13
13
 
14
14
  type IndexConfigure = {
15
15
  address: string