@sentio/sdk 4.0.0-rc.1 → 4.0.0-rc.3

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 (331) hide show
  1. package/lib/aptos/aptos-plugin.d.ts +1 -1
  2. package/lib/aptos/aptos-plugin.d.ts.map +1 -1
  3. package/lib/aptos/aptos-plugin.js +43 -42
  4. package/lib/aptos/aptos-plugin.js.map +1 -1
  5. package/lib/aptos/aptos-processor.d.ts +1 -1
  6. package/lib/aptos/aptos-processor.d.ts.map +1 -1
  7. package/lib/aptos/aptos-processor.js +25 -25
  8. package/lib/aptos/aptos-processor.js.map +1 -1
  9. package/lib/aptos/aptos-resource-processor-template.d.ts +1 -1
  10. package/lib/aptos/aptos-resource-processor-template.d.ts.map +1 -1
  11. package/lib/aptos/aptos-resource-processor-template.js +10 -5
  12. package/lib/aptos/aptos-resource-processor-template.js.map +1 -1
  13. package/lib/aptos/context.d.ts +1 -1
  14. package/lib/aptos/context.d.ts.map +1 -1
  15. package/lib/aptos/context.js +8 -6
  16. package/lib/aptos/context.js.map +1 -1
  17. package/lib/aptos/data.d.ts +4 -4
  18. package/lib/aptos/data.d.ts.map +1 -1
  19. package/lib/core/base-context.d.ts +3 -2
  20. package/lib/core/base-context.d.ts.map +1 -1
  21. package/lib/core/base-context.js +12 -11
  22. package/lib/core/base-context.js.map +1 -1
  23. package/lib/core/core-plugin.d.ts.map +1 -1
  24. package/lib/core/core-plugin.js +6 -4
  25. package/lib/core/core-plugin.js.map +1 -1
  26. package/lib/core/event-logger.d.ts +10 -2
  27. package/lib/core/event-logger.d.ts.map +1 -1
  28. package/lib/core/event-logger.js +42 -26
  29. package/lib/core/event-logger.js.map +1 -1
  30. package/lib/core/exporter.d.ts.map +1 -1
  31. package/lib/core/exporter.js +5 -3
  32. package/lib/core/exporter.js.map +1 -1
  33. package/lib/core/handler-options.d.ts +1 -1
  34. package/lib/core/handler-options.d.ts.map +1 -1
  35. package/lib/core/handler-register.d.ts +1 -1
  36. package/lib/core/handler-register.d.ts.map +1 -1
  37. package/lib/core/handler-register.js +2 -2
  38. package/lib/core/handler-register.js.map +1 -1
  39. package/lib/core/meter.d.ts +4 -3
  40. package/lib/core/meter.d.ts.map +1 -1
  41. package/lib/core/meter.js +5 -4
  42. package/lib/core/meter.js.map +1 -1
  43. package/lib/core/normalization.d.ts +1 -1
  44. package/lib/core/normalization.d.ts.map +1 -1
  45. package/lib/core/normalization.js +41 -31
  46. package/lib/core/normalization.js.map +1 -1
  47. package/lib/core/numberish.d.ts +1 -1
  48. package/lib/core/numberish.d.ts.map +1 -1
  49. package/lib/core/numberish.js +35 -30
  50. package/lib/core/numberish.js.map +1 -1
  51. package/lib/core/partition-handler-manager.d.ts +1 -1
  52. package/lib/core/partition-handler-manager.d.ts.map +1 -1
  53. package/lib/core/partition-handler-manager.js +10 -9
  54. package/lib/core/partition-handler-manager.js.map +1 -1
  55. package/lib/cosmos/context.d.ts.map +1 -1
  56. package/lib/cosmos/context.js +4 -2
  57. package/lib/cosmos/context.js.map +1 -1
  58. package/lib/cosmos/cosmos-plugin.d.ts.map +1 -1
  59. package/lib/cosmos/cosmos-plugin.js +11 -10
  60. package/lib/cosmos/cosmos-plugin.js.map +1 -1
  61. package/lib/cosmos/cosmos-processor.js.map +1 -1
  62. package/lib/eth/abi-decoder/decode-worker.js +2 -2
  63. package/lib/eth/abi-decoder/decode-worker.js.map +1 -1
  64. package/lib/eth/account-processor.d.ts +2 -2
  65. package/lib/eth/account-processor.d.ts.map +1 -1
  66. package/lib/eth/account-processor.js +10 -9
  67. package/lib/eth/account-processor.js.map +1 -1
  68. package/lib/eth/base-processor-template.d.ts +3 -3
  69. package/lib/eth/base-processor-template.d.ts.map +1 -1
  70. package/lib/eth/base-processor-template.js +12 -8
  71. package/lib/eth/base-processor-template.js.map +1 -1
  72. package/lib/eth/base-processor.d.ts +1 -1
  73. package/lib/eth/base-processor.d.ts.map +1 -1
  74. package/lib/eth/base-processor.js +53 -46
  75. package/lib/eth/base-processor.js.map +1 -1
  76. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.d.ts.map +1 -1
  77. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js +48 -46
  78. package/lib/eth/builtin/internal/eacaggregatorproxy-processor.js.map +1 -1
  79. package/lib/eth/builtin/internal/erc1155-processor.d.ts.map +1 -1
  80. package/lib/eth/builtin/internal/erc1155-processor.js +18 -16
  81. package/lib/eth/builtin/internal/erc1155-processor.js.map +1 -1
  82. package/lib/eth/builtin/internal/erc20-processor.d.ts.map +1 -1
  83. package/lib/eth/builtin/internal/erc20-processor.js +38 -36
  84. package/lib/eth/builtin/internal/erc20-processor.js.map +1 -1
  85. package/lib/eth/builtin/internal/erc20bytes-processor.d.ts.map +1 -1
  86. package/lib/eth/builtin/internal/erc20bytes-processor.js +20 -18
  87. package/lib/eth/builtin/internal/erc20bytes-processor.js.map +1 -1
  88. package/lib/eth/builtin/internal/erc721-processor.d.ts.map +1 -1
  89. package/lib/eth/builtin/internal/erc721-processor.js +30 -28
  90. package/lib/eth/builtin/internal/erc721-processor.js.map +1 -1
  91. package/lib/eth/builtin/internal/weth9-processor.d.ts.map +1 -1
  92. package/lib/eth/builtin/internal/weth9-processor.js +24 -22
  93. package/lib/eth/builtin/internal/weth9-processor.js.map +1 -1
  94. package/lib/eth/codegen/file.d.ts.map +1 -1
  95. package/lib/eth/codegen/file.js +2 -1
  96. package/lib/eth/codegen/file.js.map +1 -1
  97. package/lib/eth/codegen/function-calls.js +1 -1
  98. package/lib/eth/context.d.ts +1 -1
  99. package/lib/eth/context.d.ts.map +1 -1
  100. package/lib/eth/context.js +17 -11
  101. package/lib/eth/context.js.map +1 -1
  102. package/lib/eth/eth-plugin.d.ts.map +1 -1
  103. package/lib/eth/eth-plugin.js +83 -75
  104. package/lib/eth/eth-plugin.js.map +1 -1
  105. package/lib/eth/eth.d.ts +6 -6
  106. package/lib/eth/eth.d.ts.map +1 -1
  107. package/lib/eth/eth.js +39 -26
  108. package/lib/eth/eth.js.map +1 -1
  109. package/lib/eth/index.d.ts +1 -1
  110. package/lib/eth/index.d.ts.map +1 -1
  111. package/lib/eth/index.js +0 -1
  112. package/lib/eth/index.js.map +1 -1
  113. package/lib/fuel/asset-processor.d.ts +2 -2
  114. package/lib/fuel/asset-processor.d.ts.map +1 -1
  115. package/lib/fuel/asset-processor.js +5 -3
  116. package/lib/fuel/asset-processor.js.map +1 -1
  117. package/lib/fuel/context.d.ts.map +1 -1
  118. package/lib/fuel/context.js +4 -2
  119. package/lib/fuel/context.js.map +1 -1
  120. package/lib/fuel/fuel-plugin.d.ts.map +1 -1
  121. package/lib/fuel/fuel-plugin.js +41 -53
  122. package/lib/fuel/fuel-plugin.js.map +1 -1
  123. package/lib/fuel/fuel-processor-template.d.ts.map +1 -1
  124. package/lib/fuel/fuel-processor-template.js +7 -5
  125. package/lib/fuel/fuel-processor-template.js.map +1 -1
  126. package/lib/fuel/fuel-processor.d.ts.map +1 -1
  127. package/lib/fuel/fuel-processor.js +30 -20
  128. package/lib/fuel/fuel-processor.js.map +1 -1
  129. package/lib/fuel/global-processor.d.ts.map +1 -1
  130. package/lib/fuel/global-processor.js +2 -1
  131. package/lib/fuel/global-processor.js.map +1 -1
  132. package/lib/fuel/types.d.ts +10 -4
  133. package/lib/fuel/types.d.ts.map +1 -1
  134. package/lib/fuel/types.js.map +1 -1
  135. package/lib/iota/context.d.ts +1 -1
  136. package/lib/iota/context.d.ts.map +1 -1
  137. package/lib/iota/context.js +8 -6
  138. package/lib/iota/context.js.map +1 -1
  139. package/lib/iota/iota-object-processor-template.d.ts +1 -1
  140. package/lib/iota/iota-object-processor-template.d.ts.map +1 -1
  141. package/lib/iota/iota-object-processor-template.js +17 -12
  142. package/lib/iota/iota-object-processor-template.js.map +1 -1
  143. package/lib/iota/iota-object-processor.d.ts +1 -1
  144. package/lib/iota/iota-object-processor.d.ts.map +1 -1
  145. package/lib/iota/iota-object-processor.js +23 -16
  146. package/lib/iota/iota-object-processor.js.map +1 -1
  147. package/lib/iota/iota-plugin-part.d.ts +1 -1
  148. package/lib/iota/iota-plugin-part.d.ts.map +1 -1
  149. package/lib/iota/iota-plugin-part.js +16 -15
  150. package/lib/iota/iota-plugin-part.js.map +1 -1
  151. package/lib/iota/iota-processor.d.ts +1 -1
  152. package/lib/iota/iota-processor.d.ts.map +1 -1
  153. package/lib/iota/iota-processor.js +18 -17
  154. package/lib/iota/iota-processor.js.map +1 -1
  155. package/lib/iota/network.js +2 -2
  156. package/lib/iota/network.js.map +1 -1
  157. package/lib/move/filter.d.ts +1 -1
  158. package/lib/move/filter.d.ts.map +1 -1
  159. package/lib/move/index.d.ts +1 -1
  160. package/lib/move/index.d.ts.map +1 -1
  161. package/lib/move/index.js +0 -1
  162. package/lib/move/index.js.map +1 -1
  163. package/lib/solana/builtin/types.d.ts +4 -4
  164. package/lib/solana/solana-context.d.ts.map +1 -1
  165. package/lib/solana/solana-context.js +4 -3
  166. package/lib/solana/solana-context.js.map +1 -1
  167. package/lib/solana/solana-plugin.d.ts.map +1 -1
  168. package/lib/solana/solana-plugin.js +19 -18
  169. package/lib/solana/solana-plugin.js.map +1 -1
  170. package/lib/solana/solana-processor.d.ts.map +1 -1
  171. package/lib/solana/solana-processor.js +8 -3
  172. package/lib/solana/solana-processor.js.map +1 -1
  173. package/lib/store/cache.d.ts.map +1 -1
  174. package/lib/store/cache.js +22 -17
  175. package/lib/store/cache.js.map +1 -1
  176. package/lib/store/convert.d.ts +1 -1
  177. package/lib/store/convert.d.ts.map +1 -1
  178. package/lib/store/convert.js +67 -104
  179. package/lib/store/convert.js.map +1 -1
  180. package/lib/store/decorators.d.ts +1 -1
  181. package/lib/store/decorators.d.ts.map +1 -1
  182. package/lib/store/decorators.js +3 -1
  183. package/lib/store/decorators.js.map +1 -1
  184. package/lib/store/store.d.ts.map +1 -1
  185. package/lib/store/store.js +24 -16
  186. package/lib/store/store.js.map +1 -1
  187. package/lib/store/types.js +24 -32
  188. package/lib/store/types.js.map +1 -1
  189. package/lib/store/util.d.ts +1 -1
  190. package/lib/store/util.d.ts.map +1 -1
  191. package/lib/store/util.js +13 -17
  192. package/lib/store/util.js.map +1 -1
  193. package/lib/sui/context.d.ts +1 -1
  194. package/lib/sui/context.d.ts.map +1 -1
  195. package/lib/sui/context.js +8 -6
  196. package/lib/sui/context.js.map +1 -1
  197. package/lib/sui/sui-object-processor-template.d.ts +1 -1
  198. package/lib/sui/sui-object-processor-template.d.ts.map +1 -1
  199. package/lib/sui/sui-object-processor-template.js +17 -12
  200. package/lib/sui/sui-object-processor-template.js.map +1 -1
  201. package/lib/sui/sui-object-processor.d.ts +1 -1
  202. package/lib/sui/sui-object-processor.d.ts.map +1 -1
  203. package/lib/sui/sui-object-processor.js +23 -16
  204. package/lib/sui/sui-object-processor.js.map +1 -1
  205. package/lib/sui/sui-plugin-part.d.ts +1 -1
  206. package/lib/sui/sui-plugin-part.d.ts.map +1 -1
  207. package/lib/sui/sui-plugin-part.js +16 -15
  208. package/lib/sui/sui-plugin-part.js.map +1 -1
  209. package/lib/sui/sui-plugin.d.ts +1 -1
  210. package/lib/sui/sui-plugin.d.ts.map +1 -1
  211. package/lib/sui/sui-plugin.js +35 -34
  212. package/lib/sui/sui-plugin.js.map +1 -1
  213. package/lib/sui/sui-processor.d.ts +1 -1
  214. package/lib/sui/sui-processor.d.ts.map +1 -1
  215. package/lib/sui/sui-processor.js +18 -17
  216. package/lib/sui/sui-processor.js.map +1 -1
  217. package/lib/testing/aptos-facet.d.ts.map +1 -1
  218. package/lib/testing/aptos-facet.js +18 -11
  219. package/lib/testing/aptos-facet.js.map +1 -1
  220. package/lib/testing/cosmos-facet.d.ts.map +1 -1
  221. package/lib/testing/cosmos-facet.js +10 -6
  222. package/lib/testing/cosmos-facet.js.map +1 -1
  223. package/lib/testing/eth-facet.d.ts +1 -1
  224. package/lib/testing/eth-facet.d.ts.map +1 -1
  225. package/lib/testing/eth-facet.js +34 -18
  226. package/lib/testing/eth-facet.js.map +1 -1
  227. package/lib/testing/fuel-facet.d.ts.map +1 -1
  228. package/lib/testing/fuel-facet.js +28 -18
  229. package/lib/testing/fuel-facet.js.map +1 -1
  230. package/lib/testing/iota-facet.d.ts.map +1 -1
  231. package/lib/testing/iota-facet.js +32 -20
  232. package/lib/testing/iota-facet.js.map +1 -1
  233. package/lib/testing/memory-database.d.ts +11 -3
  234. package/lib/testing/memory-database.d.ts.map +1 -1
  235. package/lib/testing/memory-database.js +84 -71
  236. package/lib/testing/memory-database.js.map +1 -1
  237. package/lib/testing/metric-utils.d.ts +2 -2
  238. package/lib/testing/metric-utils.d.ts.map +1 -1
  239. package/lib/testing/metric-utils.js +13 -12
  240. package/lib/testing/metric-utils.js.map +1 -1
  241. package/lib/testing/solana-facet.d.ts +3 -2
  242. package/lib/testing/solana-facet.d.ts.map +1 -1
  243. package/lib/testing/solana-facet.js +8 -5
  244. package/lib/testing/solana-facet.js.map +1 -1
  245. package/lib/testing/sui-facet.d.ts.map +1 -1
  246. package/lib/testing/sui-facet.js +30 -20
  247. package/lib/testing/sui-facet.js.map +1 -1
  248. package/lib/testing/test-processor-server.d.ts +1453 -16
  249. package/lib/testing/test-processor-server.d.ts.map +1 -1
  250. package/lib/testing/test-processor-server.js +108 -45
  251. package/lib/testing/test-processor-server.js.map +1 -1
  252. package/lib/utils/price.d.ts +1 -1
  253. package/lib/utils/price.d.ts.map +1 -1
  254. package/lib/utils/price.js +19 -12
  255. package/lib/utils/price.js.map +1 -1
  256. package/package.json +5 -7
  257. package/src/aptos/aptos-plugin.ts +105 -91
  258. package/src/aptos/aptos-processor.ts +33 -25
  259. package/src/aptos/aptos-resource-processor-template.ts +15 -6
  260. package/src/aptos/context.ts +8 -7
  261. package/src/aptos/data.ts +4 -4
  262. package/src/core/base-context.ts +19 -12
  263. package/src/core/core-plugin.ts +10 -7
  264. package/src/core/event-logger.ts +63 -34
  265. package/src/core/exporter.ts +5 -4
  266. package/src/core/handler-options.ts +1 -1
  267. package/src/core/handler-register.ts +3 -3
  268. package/src/core/meter.ts +9 -7
  269. package/src/core/normalization.ts +53 -31
  270. package/src/core/numberish.ts +46 -30
  271. package/src/core/partition-handler-manager.ts +13 -11
  272. package/src/cosmos/context.ts +4 -3
  273. package/src/cosmos/cosmos-plugin.ts +19 -15
  274. package/src/cosmos/cosmos-processor.ts +2 -2
  275. package/src/eth/abi-decoder/decode-worker.ts +2 -2
  276. package/src/eth/account-processor.ts +21 -12
  277. package/src/eth/base-processor-template.ts +22 -10
  278. package/src/eth/base-processor.ts +66 -54
  279. package/src/eth/builtin/internal/eacaggregatorproxy-processor.ts +177 -116
  280. package/src/eth/builtin/internal/erc1155-processor.ts +73 -38
  281. package/src/eth/builtin/internal/erc20-processor.ts +152 -91
  282. package/src/eth/builtin/internal/erc20bytes-processor.ts +80 -46
  283. package/src/eth/builtin/internal/erc721-processor.ts +109 -65
  284. package/src/eth/builtin/internal/weth9-processor.ts +95 -56
  285. package/src/eth/codegen/file.ts +2 -1
  286. package/src/eth/codegen/function-calls.ts +1 -1
  287. package/src/eth/context.ts +29 -13
  288. package/src/eth/eth-plugin.ts +135 -118
  289. package/src/eth/eth.ts +46 -32
  290. package/src/eth/index.ts +1 -1
  291. package/src/fuel/asset-processor.ts +16 -8
  292. package/src/fuel/context.ts +4 -3
  293. package/src/fuel/fuel-plugin.ts +71 -73
  294. package/src/fuel/fuel-processor-template.ts +7 -6
  295. package/src/fuel/fuel-processor.ts +35 -23
  296. package/src/fuel/global-processor.ts +3 -3
  297. package/src/fuel/types.ts +10 -4
  298. package/src/iota/context.ts +8 -7
  299. package/src/iota/iota-object-processor-template.ts +25 -15
  300. package/src/iota/iota-object-processor.ts +33 -22
  301. package/src/iota/iota-plugin-part.ts +41 -34
  302. package/src/iota/iota-processor.ts +25 -17
  303. package/src/iota/network.ts +2 -2
  304. package/src/move/filter.ts +1 -1
  305. package/src/move/index.ts +1 -1
  306. package/src/solana/solana-context.ts +4 -3
  307. package/src/solana/solana-plugin.ts +27 -24
  308. package/src/solana/solana-processor.ts +14 -6
  309. package/src/store/cache.ts +22 -18
  310. package/src/store/convert.ts +68 -104
  311. package/src/store/decorators.ts +3 -2
  312. package/src/store/store.ts +30 -22
  313. package/src/store/types.ts +24 -33
  314. package/src/store/util.ts +13 -18
  315. package/src/sui/context.ts +8 -7
  316. package/src/sui/sui-object-processor-template.ts +25 -15
  317. package/src/sui/sui-object-processor.ts +33 -22
  318. package/src/sui/sui-plugin-part.ts +41 -34
  319. package/src/sui/sui-plugin.ts +49 -47
  320. package/src/sui/sui-processor.ts +25 -17
  321. package/src/testing/aptos-facet.ts +18 -11
  322. package/src/testing/cosmos-facet.ts +10 -6
  323. package/src/testing/eth-facet.ts +40 -18
  324. package/src/testing/fuel-facet.ts +28 -18
  325. package/src/testing/iota-facet.ts +32 -20
  326. package/src/testing/memory-database.ts +126 -88
  327. package/src/testing/metric-utils.ts +15 -14
  328. package/src/testing/solana-facet.ts +11 -6
  329. package/src/testing/sui-facet.ts +30 -20
  330. package/src/testing/test-processor-server.ts +169 -79
  331. package/src/utils/price.ts +20 -13
@@ -1,15 +1,20 @@
1
1
  import { USER_PROCESSOR } from '@sentio/runtime'
2
2
  import {
3
- AccountConfig,
4
- ContractConfig,
3
+ AccountConfigSchema,
4
+ ContractConfigSchema,
5
5
  HandlerType,
6
- InitResponse,
7
- MoveCallHandlerConfig,
8
- MoveEventHandlerConfig,
9
- MoveResourceChangeConfig,
10
- ProcessConfigResponse,
11
- StartRequest
6
+ type InitResponse,
7
+ type MoveCallHandlerConfig,
8
+ MoveCallHandlerConfigSchema,
9
+ type MoveEventHandlerConfig,
10
+ MoveEventHandlerConfigSchema,
11
+ MoveOnIntervalConfigSchema,
12
+ type MoveResourceChangeConfig,
13
+ MoveResourceChangeConfigSchema,
14
+ type ProcessConfigResponse,
15
+ type StartRequest
12
16
  } from '@sentio/protos'
17
+ import { create } from '@bufbuild/protobuf'
13
18
 
14
19
  import { PartitionHandlerManager } from '../core/index.js'
15
20
  import { HandlerRegister } from '../core/handler-register.js'
@@ -75,7 +80,7 @@ export class IotaPluginPart {
75
80
  if (forChainId !== undefined && forChainId !== chainId.toString()) {
76
81
  continue
77
82
  }
78
- const contractConfig = ContractConfig.fromPartial({
83
+ const contractConfig = create(ContractConfigSchema, {
79
84
  transactionConfig: [],
80
85
  processorType: USER_PROCESSOR,
81
86
  contract: {
@@ -90,7 +95,7 @@ export class IotaPluginPart {
90
95
  for (const handler of suiProcessor.eventHandlers) {
91
96
  const handlerId = this.handlerRegister.register(handler.handler, chainId)
92
97
  this.partitionManager.registerPartitionHandler(HandlerType.SUI_EVENT, handlerId, handler.partitionHandler)
93
- const eventHandlerConfig: MoveEventHandlerConfig = {
98
+ const eventHandlerConfig: MoveEventHandlerConfig = create(MoveEventHandlerConfigSchema, {
94
99
  filters: handler.filters.map((f) => {
95
100
  return {
96
101
  type: f.type,
@@ -101,13 +106,13 @@ export class IotaPluginPart {
101
106
  fetchConfig: handler.fetchConfig,
102
107
  handlerId,
103
108
  handlerName: handler.handlerName
104
- }
109
+ })
105
110
  contractConfig.moveEventConfigs.push(eventHandlerConfig)
106
111
  }
107
112
  for (const handler of suiProcessor.callHandlers) {
108
113
  const handlerId = this.handlerRegister.register(handler.handler, chainId)
109
114
  this.partitionManager.registerPartitionHandler(HandlerType.SUI_CALL, handlerId, handler.partitionHandler)
110
- const functionHandlerConfig: MoveCallHandlerConfig = {
115
+ const functionHandlerConfig: MoveCallHandlerConfig = create(MoveCallHandlerConfigSchema, {
111
116
  filters: handler.filters.map((filter) => {
112
117
  return {
113
118
  function: filter.function,
@@ -121,18 +126,18 @@ export class IotaPluginPart {
121
126
  fetchConfig: handler.fetchConfig,
122
127
  handlerId,
123
128
  handlerName: handler.handlerName
124
- }
129
+ })
125
130
  contractConfig.moveCallConfigs.push(functionHandlerConfig)
126
131
  }
127
132
  // deprecated, use objectType processor instead
128
133
  for (const handler of suiProcessor.objectChangeHandlers) {
129
134
  const handlerId = this.handlerRegister.register(handler.handler, chainId)
130
- const objectChangeHandler: MoveResourceChangeConfig = {
135
+ const objectChangeHandler: MoveResourceChangeConfig = create(MoveResourceChangeConfigSchema, {
131
136
  types: typeof handler.type === 'string' ? [handler.type] : handler.type,
132
137
  handlerId,
133
138
  handlerName: handler.handlerName,
134
139
  includeDeleted: false
135
- }
140
+ })
136
141
  contractConfig.moveResourceChangeConfigs.push(objectChangeHandler)
137
142
  }
138
143
  config.contractConfigs.push(contractConfig)
@@ -143,7 +148,7 @@ export class IotaPluginPart {
143
148
  if (forChainId !== undefined && forChainId !== chainId.toString()) {
144
149
  continue
145
150
  }
146
- const accountConfig = AccountConfig.fromPartial({
151
+ const accountConfig = create(AccountConfigSchema, {
147
152
  address: processor.config.address,
148
153
  chainId: processor.getChainId(),
149
154
  startBlock: processor.config.startCheckpoint, // TODO maybe use another field
@@ -152,39 +157,41 @@ export class IotaPluginPart {
152
157
 
153
158
  for (const handler of processor.objectChangeHandlers) {
154
159
  const handlerId = this.handlerRegister.register(handler.handler, chainId)
155
- const objectChangeHandler: MoveResourceChangeConfig = {
160
+ const objectChangeHandler: MoveResourceChangeConfig = create(MoveResourceChangeConfigSchema, {
156
161
  types: typeof handler.type === 'string' ? [handler.type] : handler.type,
157
162
  handlerId,
158
163
  handlerName: handler.handlerName,
159
164
  includeDeleted: false
160
- }
165
+ })
161
166
  accountConfig.moveResourceChangeConfigs.push(objectChangeHandler)
162
167
  }
163
168
 
164
169
  for (const handler of processor.objectHandlers) {
165
170
  const handlerId = this.handlerRegister.register(handler.handler, chainId)
166
171
 
167
- accountConfig.moveIntervalConfigs.push({
168
- intervalConfig: {
169
- handlerId: handlerId,
170
- handlerName: handler.handlerName,
171
- minutes: 0,
172
- minutesInterval: handler.timeIntervalInMinutes,
173
- slot: 0,
174
- slotInterval: handler.checkPointInterval,
172
+ accountConfig.moveIntervalConfigs.push(
173
+ create(MoveOnIntervalConfigSchema, {
174
+ intervalConfig: {
175
+ handlerId: handlerId,
176
+ handlerName: handler.handlerName,
177
+ minutes: 0,
178
+ minutesInterval: handler.timeIntervalInMinutes,
179
+ slot: 0,
180
+ slotInterval: handler.checkPointInterval,
181
+ fetchConfig: undefined
182
+ },
183
+ type: handler.type || '',
184
+ ownerType: processor.ownerType,
185
+ resourceFetchConfig: handler.fetchConfig,
175
186
  fetchConfig: undefined
176
- },
177
- type: handler.type || '',
178
- ownerType: processor.ownerType,
179
- resourceFetchConfig: handler.fetchConfig,
180
- fetchConfig: undefined
181
- })
187
+ })
188
+ )
182
189
  }
183
190
 
184
191
  if (processor instanceof IotaAddressProcessor) {
185
192
  for (const handler of processor.callHandlers) {
186
193
  const handlerId = this.handlerRegister.register(handler.handler, chainId)
187
- const functionHandlerConfig: MoveCallHandlerConfig = {
194
+ const functionHandlerConfig: MoveCallHandlerConfig = create(MoveCallHandlerConfigSchema, {
188
195
  filters: handler.filters.map((filter) => {
189
196
  return {
190
197
  function: filter.function,
@@ -198,7 +205,7 @@ export class IotaPluginPart {
198
205
  fetchConfig: handler.fetchConfig,
199
206
  handlerId,
200
207
  handlerName: handler.handlerName
201
- }
208
+ })
202
209
  accountConfig.moveCallConfigs.push(functionHandlerConfig)
203
210
  }
204
211
  }
@@ -1,7 +1,15 @@
1
- import { Data_SuiCall, Data_SuiEvent, Data_SuiObjectChange, MoveFetchConfig } from '@sentio/protos'
1
+ import {
2
+ type Data_SuiCall,
3
+ type Data_SuiEvent,
4
+ type Data_SuiObjectChange,
5
+ type MoveFetchConfig,
6
+ MoveFetchConfigSchema,
7
+ timestampDate
8
+ } from '@sentio/protos'
9
+ import { create } from '@bufbuild/protobuf'
2
10
  import { ListStateStorage } from '@sentio/runtime'
3
11
  import { IotaNetwork } from './network.js'
4
- import { ServerError, Status } from 'nice-grpc'
12
+ import { ConnectError, Code } from '@connectrpc/connect'
5
13
  import { IotaContext, IotaObjectChangeContext } from './context.js'
6
14
  import {
7
15
  MoveCallIotaTransaction,
@@ -26,11 +34,11 @@ import { Required } from 'utility-types'
26
34
  import { getHandlerName, proxyProcessor } from '../utils/metrics.js'
27
35
  import { HandlerOptions } from './models.js'
28
36
 
29
- export const DEFAULT_FETCH_CONFIG: MoveFetchConfig = {
37
+ export const DEFAULT_FETCH_CONFIG: MoveFetchConfig = create(MoveFetchConfigSchema, {
30
38
  resourceChanges: false,
31
39
  allEvents: true,
32
40
  inputs: true
33
- }
41
+ })
34
42
 
35
43
  export type IndexConfigure = Required<IotaBindOptions, 'startCheckpoint' | 'network'>
36
44
 
@@ -85,7 +93,7 @@ export class IotaBaseProcessor {
85
93
  handlerOptions?: HandlerOptions<MoveFetchConfig, T>
86
94
  ): IotaBaseProcessor {
87
95
  let _filters: EventFilter[] = []
88
- const _fetchConfig = MoveFetchConfig.fromPartial({ ...DEFAULT_FETCH_CONFIG, ...handlerOptions })
96
+ const _fetchConfig = create(MoveFetchConfigSchema, { ...DEFAULT_FETCH_CONFIG, ...handlerOptions })
89
97
 
90
98
  if (Array.isArray(filter)) {
91
99
  _filters = filter
@@ -102,7 +110,7 @@ export class IotaBaseProcessor {
102
110
  handlerName: getHandlerName(),
103
111
  handler: async function (data) {
104
112
  if (!data.rawTransaction) {
105
- throw new ServerError(Status.INVALID_ARGUMENT, 'event is null')
113
+ throw new ConnectError('event is null', Code.InvalidArgument)
106
114
  }
107
115
  const txn = JSON.parse(data.rawTransaction) as IotaTransactionBlockResponse
108
116
  if (txn.events == null) {
@@ -116,7 +124,7 @@ export class IotaBaseProcessor {
116
124
  processor.moduleName,
117
125
  processor.config.network,
118
126
  processor.config.address,
119
- data.timestamp || new Date(0),
127
+ data.timestamp ? timestampDate(data.timestamp) : new Date(0),
120
128
  data.slot,
121
129
  txn,
122
130
  idx,
@@ -150,7 +158,7 @@ export class IotaBaseProcessor {
150
158
  handlerOptions?: HandlerOptions<MoveFetchConfig, T>
151
159
  ): IotaBaseProcessor {
152
160
  let _filters: FunctionNameAndCallFilter[] = []
153
- const _fetchConfig = MoveFetchConfig.fromPartial({ ...DEFAULT_FETCH_CONFIG, ...handlerOptions })
161
+ const _fetchConfig = create(MoveFetchConfigSchema, { ...DEFAULT_FETCH_CONFIG, ...handlerOptions })
154
162
 
155
163
  if (Array.isArray(filter)) {
156
164
  _filters = filter
@@ -165,7 +173,7 @@ export class IotaBaseProcessor {
165
173
  handlerName: getHandlerName(),
166
174
  handler: async function (data) {
167
175
  if (!data.rawTransaction) {
168
- throw new ServerError(Status.INVALID_ARGUMENT, 'call is null')
176
+ throw new ConnectError('call is null', Code.InvalidArgument)
169
177
  }
170
178
  const tx = JSON.parse(data.rawTransaction) as IotaTransactionBlockResponse
171
179
 
@@ -173,7 +181,7 @@ export class IotaBaseProcessor {
173
181
  processor.moduleName,
174
182
  processor.config.network,
175
183
  processor.config.address,
176
- data.timestamp || new Date(0),
184
+ data.timestamp ? timestampDate(data.timestamp) : new Date(0),
177
185
  data.slot,
178
186
  tx,
179
187
  0,
@@ -183,7 +191,7 @@ export class IotaBaseProcessor {
183
191
  const calls: MoveCallIotaTransaction[] = getMoveCalls(tx)
184
192
  const txKind = tx.transaction?.data?.transaction
185
193
  if (!txKind) {
186
- throw new ServerError(Status.INVALID_ARGUMENT, 'Unexpected getTransactionKind get empty')
194
+ throw new ConnectError('Unexpected getTransactionKind get empty', Code.InvalidArgument)
187
195
  }
188
196
 
189
197
  // getProgrammableTransaction(txKind)
@@ -236,7 +244,7 @@ export class IotaBaseProcessor {
236
244
  filter?: TransactionFilter,
237
245
  handlerOptions?: HandlerOptions<MoveFetchConfig, IotaTransactionBlockResponse>
238
246
  ): this {
239
- const _fetchConfig = MoveFetchConfig.fromPartial({ ...DEFAULT_FETCH_CONFIG, ...handlerOptions })
247
+ const _fetchConfig = create(MoveFetchConfigSchema, { ...DEFAULT_FETCH_CONFIG, ...handlerOptions })
240
248
 
241
249
  const processor = this
242
250
 
@@ -244,7 +252,7 @@ export class IotaBaseProcessor {
244
252
  handlerName: getHandlerName(),
245
253
  handler: async function (data) {
246
254
  if (!data.rawTransaction) {
247
- throw new ServerError(Status.INVALID_ARGUMENT, 'transaction is null')
255
+ throw new ConnectError('transaction is null', Code.InvalidArgument)
248
256
  }
249
257
  const tx = JSON.parse(data.rawTransaction) as IotaTransactionBlockResponse
250
258
 
@@ -252,7 +260,7 @@ export class IotaBaseProcessor {
252
260
  processor.moduleName,
253
261
  processor.config.network,
254
262
  processor.config.address,
255
- data.timestamp || new Date(0),
263
+ data.timestamp ? timestampDate(data.timestamp) : new Date(0),
256
264
  data.slot,
257
265
  tx,
258
266
  0,
@@ -283,7 +291,7 @@ export class IotaBaseProcessor {
283
291
  type: string | string[]
284
292
  ): this {
285
293
  if (this.config.network === IotaNetwork.TEST_NET) {
286
- throw new ServerError(Status.INVALID_ARGUMENT, 'object change not supported in testnet')
294
+ throw new ConnectError('object change not supported in testnet', Code.InvalidArgument)
287
295
  }
288
296
  const processor = this
289
297
  this.objectChangeHandlers.push({
@@ -292,7 +300,7 @@ export class IotaBaseProcessor {
292
300
  const ctx = new IotaObjectChangeContext(
293
301
  processor.config.network,
294
302
  processor.config.address,
295
- data.timestamp || new Date(0),
303
+ data.timestamp ? timestampDate(data.timestamp) : new Date(0),
296
304
  data.slot,
297
305
  data.txDigest,
298
306
  processor.config.baseLabels
@@ -324,7 +332,7 @@ export class IotaGlobalProcessor extends IotaBaseProcessor {
324
332
  ): this {
325
333
  // TODO enable more strict check
326
334
  // if (!filter.publicKeyPrefix || filter.publicKeyPrefix.length < 2) {
327
- // throw new ServerError(Status.INVALID_ARGUMENT, 'restriction too low for global processor')
335
+ // throw new ConnectError('restriction too low for global processor', Code.InvalidArgument)
328
336
  // }
329
337
  return super.onTransactionBlock(handler, filter, fetchConfig)
330
338
  }
@@ -1,6 +1,6 @@
1
1
  import { SuiChainId } from '@sentio/chain'
2
2
  import { Endpoints } from '@sentio/runtime'
3
- // import { ServerError, Status } from 'nice-grpc'
3
+ // import { ConnectError, Code } from '@connectrpc/connect'
4
4
  import { IotaClient } from '@iota/iota-sdk/client'
5
5
 
6
6
  export type IotaNetwork = SuiChainId
@@ -13,7 +13,7 @@ export function getClient(network: IotaNetwork): IotaClient {
13
13
  let chainServer = Endpoints.INSTANCE.chainServer.get(network)
14
14
  if (!chainServer) {
15
15
  chainServer = getRpcEndpoint(network)
16
- // throw new ServerError(Status.INTERNAL, 'RPC endpoint not provided')
16
+ // throw new ConnectError('RPC endpoint not provided', Code.Internal)
17
17
  }
18
18
  return new IotaClient({ url: chainServer })
19
19
  }
@@ -1,5 +1,5 @@
1
1
  // TODO extends ArgumentsFilter
2
- import {
2
+ import type {
3
3
  Data_AptCall,
4
4
  Data_AptResource,
5
5
  HandleInterval,
package/src/move/index.ts CHANGED
@@ -3,4 +3,4 @@ export * from './move-context.js'
3
3
 
4
4
  export * from '@typemove/move'
5
5
 
6
- export { MoveFetchConfig } from '@sentio/protos'
6
+ export type { MoveFetchConfig } from '@sentio/protos'
@@ -1,5 +1,6 @@
1
- import { normalizeLabels, Labels, BaseContext, RecordMetaData } from '../index.js'
1
+ import { normalizeLabels, Labels, BaseContext, RecordMetaData, RecordMetaDataSchema } from '../index.js'
2
2
  import { SolanaChainId } from '@sentio/chain'
3
+ import { create } from '@bufbuild/protobuf'
3
4
  import type { TransactionResponse } from './solana-rpc-types.js'
4
5
 
5
6
  export class SolanaContext extends BaseContext {
@@ -30,7 +31,7 @@ export class SolanaContext extends BaseContext {
30
31
  }
31
32
 
32
33
  getMetaDataInternal(name: string, labels: Labels): RecordMetaData {
33
- return {
34
+ return create(RecordMetaDataSchema, {
34
35
  address: this.address,
35
36
  contractName: this.programName,
36
37
  blockNumber: this.blockNumber,
@@ -40,6 +41,6 @@ export class SolanaContext extends BaseContext {
40
41
  chainId: this.getChainId(),
41
42
  name: name,
42
43
  labels: normalizeLabels(labels)
43
- }
44
+ })
44
45
  }
45
46
  }
@@ -1,15 +1,16 @@
1
1
  import { errorString, mergeProcessResults, Plugin, PluginManager, USER_PROCESSOR } from '@sentio/runtime'
2
2
  import {
3
- ContractConfig,
3
+ ContractConfigSchema,
4
4
  DataBinding,
5
5
  HandlerType,
6
6
  InitResponse,
7
- OnIntervalConfig,
7
+ InstructionHandlerConfigSchema,
8
+ OnIntervalConfigSchema,
8
9
  ProcessConfigResponse,
9
10
  ProcessResult
10
11
  } from '@sentio/protos'
11
-
12
- import { ServerError, Status } from 'nice-grpc'
12
+ import { create } from '@bufbuild/protobuf'
13
+ import { ConnectError, Code } from '@connectrpc/connect'
13
14
 
14
15
  import { SolanaProcessorState } from './solana-processor.js'
15
16
  import { Instruction as SolInstruction } from '@anchor-lang/core'
@@ -32,7 +33,7 @@ export class SolanaPlugin extends Plugin {
32
33
  continue
33
34
  }
34
35
 
35
- const contractConfig = ContractConfig.fromPartial({
36
+ const contractConfig = create(ContractConfigSchema, {
36
37
  processorType: USER_PROCESSOR,
37
38
  contract: {
38
39
  name: solanaProcessor.contractName,
@@ -50,17 +51,17 @@ export class SolanaPlugin extends Plugin {
50
51
  break
51
52
  }
52
53
  }
53
- contractConfig.instructionConfig = {
54
+ contractConfig.instructionConfig = create(InstructionHandlerConfigSchema, {
54
55
  innerInstruction: solanaProcessor.processInnerInstruction,
55
56
  parsedInstruction: solanaProcessor.fromParsedInstruction !== null,
56
57
  rawDataInstruction: solanaProcessor.decodeInstruction !== null,
57
58
  fetchTx: fetchTx
58
- }
59
+ })
59
60
  }
60
61
 
61
62
  for (const [idx, handler] of solanaProcessor.blockHandlers.entries()) {
62
63
  contractConfig.intervalConfigs.push(
63
- OnIntervalConfig.fromPartial({
64
+ create(OnIntervalConfigSchema, {
64
65
  handlerId: idx,
65
66
  minutesInterval: handler.timeIntervalInMinutes,
66
67
  slotInterval: handler.slotInterval,
@@ -82,19 +83,19 @@ export class SolanaPlugin extends Plugin {
82
83
  case HandlerType.SOL_BLOCK:
83
84
  return this.processSolBlock(request)
84
85
  default:
85
- throw new ServerError(Status.INVALID_ARGUMENT, 'No handle type registered ' + request.handlerType)
86
+ throw new ConnectError('No handle type registered ' + request.handlerType, Code.InvalidArgument)
86
87
  }
87
88
  }
88
89
 
89
90
  async processSolInstruction(request: DataBinding): Promise<ProcessResult> {
90
91
  if (!request.data) {
91
- throw new ServerError(Status.INVALID_ARGUMENT, 'instruction data cannot be empty')
92
+ throw new ConnectError('instruction data cannot be empty', Code.InvalidArgument)
92
93
  }
93
- if (!request.data.solInstruction) {
94
- throw new ServerError(Status.INVALID_ARGUMENT, 'instruction data cannot be empty')
94
+ if (request.data.value.case !== 'solInstruction') {
95
+ throw new ConnectError('instruction data cannot be empty', Code.InvalidArgument)
95
96
  }
96
97
 
97
- const instruction = request.data.solInstruction
98
+ const instruction = request.data.value.value
98
99
  const promises: Promise<ProcessResult>[] = []
99
100
 
100
101
  // Only have instruction handlers for solana processors
@@ -103,15 +104,17 @@ export class SolanaPlugin extends Plugin {
103
104
  let parsedInstruction: SolInstruction | null = null
104
105
 
105
106
  try {
106
- if (instruction.parsed) {
107
- parsedInstruction = processor.getParsedInstruction(instruction.parsed as { type: string; info: any })
107
+ if (instruction.rawParsed) {
108
+ parsedInstruction = processor.getParsedInstruction(
109
+ JSON.parse(instruction.rawParsed) as { type: string; info: any }
110
+ )
108
111
  } else if (instruction.instructionData) {
109
112
  parsedInstruction = processor.getParsedInstruction(instruction.instructionData)
110
113
  }
111
114
  } catch (e) {
112
- throw new ServerError(
113
- Status.INTERNAL,
114
- 'Failed to decode instruction: ' + JSON.stringify(instruction) + errorString(e)
115
+ throw new ConnectError(
116
+ 'Failed to decode instruction: ' + JSON.stringify(instruction) + errorString(e),
117
+ Code.Internal
115
118
  )
116
119
  }
117
120
  if (parsedInstruction == null) {
@@ -124,9 +127,9 @@ export class SolanaPlugin extends Plugin {
124
127
  const res = processor
125
128
  .handleInstruction(parsedInstruction, instruction.accounts, insHandler, instruction)
126
129
  .catch((e) => {
127
- throw new ServerError(
128
- Status.INTERNAL,
129
- 'Error processing instruction: ' + JSON.stringify(instruction) + '\n' + errorString(e)
130
+ throw new ConnectError(
131
+ 'Error processing instruction: ' + JSON.stringify(instruction) + '\n' + errorString(e),
132
+ Code.Internal
130
133
  )
131
134
  })
132
135
 
@@ -137,10 +140,10 @@ export class SolanaPlugin extends Plugin {
137
140
  }
138
141
 
139
142
  async processSolBlock(request: DataBinding): Promise<ProcessResult> {
140
- if (!request.data?.solBlock) {
141
- throw new ServerError(Status.INVALID_ARGUMENT, 'block data cannot be empty')
143
+ if (request.data?.value.case !== 'solBlock') {
144
+ throw new ConnectError('block data cannot be empty', Code.InvalidArgument)
142
145
  }
143
- const block = request.data.solBlock
146
+ const block = request.data.value.value
144
147
  const promises: Promise<ProcessResult>[] = []
145
148
  for (const processor of SolanaProcessorState.INSTANCE.getValues()) {
146
149
  for (const handlerId of request.handlerIds) {
@@ -1,4 +1,5 @@
1
- import { Data_SolBlock, Data_SolInstruction, HandleInterval, ProcessResult } from '@sentio/protos'
1
+ import { Data_SolBlock, Data_SolInstruction, HandleInterval, HandleIntervalSchema, ProcessResult } from '@sentio/protos'
2
+ import { create } from '@bufbuild/protobuf'
2
3
  import { SolanaContext } from './solana-context.js'
3
4
  import { Instruction } from '@anchor-lang/core'
4
5
  import { SolanaBindOptions, SolanaFetchConfig } from './solana-options.js'
@@ -99,7 +100,10 @@ export class SolanaBaseProcessor {
99
100
  ): this {
100
101
  return this.onInterval(
101
102
  handler,
102
- { recentInterval: timeIntervalInMinutes, backfillInterval: backfillTimeIntervalInMinutes },
103
+ create(HandleIntervalSchema, {
104
+ recentInterval: timeIntervalInMinutes,
105
+ backfillInterval: backfillTimeIntervalInMinutes
106
+ }),
103
107
  undefined
104
108
  )
105
109
  }
@@ -109,10 +113,14 @@ export class SolanaBaseProcessor {
109
113
  blockInterval = 1000,
110
114
  backfillBlockInterval = 4000
111
115
  ): this {
112
- return this.onInterval(handler, undefined, {
113
- recentInterval: blockInterval,
114
- backfillInterval: backfillBlockInterval
115
- })
116
+ return this.onInterval(
117
+ handler,
118
+ undefined,
119
+ create(HandleIntervalSchema, {
120
+ recentInterval: blockInterval,
121
+ backfillInterval: backfillBlockInterval
122
+ })
123
+ )
116
124
  }
117
125
 
118
126
  public onInterval<T>(
@@ -1,5 +1,6 @@
1
1
  import { IStoreContext } from '@sentio/runtime'
2
- import { DBRequest, DBResponse, RichStruct, RichValue } from '@sentio/protos'
2
+ import { type DBResponse, type RichStruct, RichStructSchema } from '@sentio/protos'
3
+ import { create } from '@bufbuild/protobuf'
3
4
  import { BaseContext } from '../core/index.js'
4
5
 
5
6
  /** Internal entity name used for cache storage */
@@ -64,17 +65,20 @@ export class MemoryCache {
64
65
  */
65
66
  public async get<T>(key: string): Promise<T | null> {
66
67
  const promise = this.storeContext.sendRequest({
67
- get: {
68
+ case: 'get',
69
+ value: {
68
70
  entity: CacheItemEntityName,
69
71
  id: key
70
72
  }
71
73
  })
72
74
 
73
75
  const data = (await promise) as DBResponse
74
- if (data.entityList?.entities[0]) {
75
- const entityData = data.entityList?.entities[0]?.data as RichStruct
76
- const value = entityData.fields['value'] as RichValue
77
- return JSON.parse(value.stringValue!) as T
76
+ if (data.value.case === 'entityList' && data.value.value.entities[0]) {
77
+ const entityData = data.value.value.entities[0]?.data
78
+ const value = entityData?.fields['value']
79
+ if (value?.value.case === 'stringValue') {
80
+ return JSON.parse(value.value.value) as T
81
+ }
78
82
  }
79
83
 
80
84
  return null
@@ -94,24 +98,24 @@ export class MemoryCache {
94
98
  * ```
95
99
  */
96
100
  public async set<T>(key: string, value: T): Promise<void> {
97
- const entityData: RichStruct = {
101
+ const entityData: RichStruct = create(RichStructSchema, {
98
102
  fields: {
99
103
  id: {
100
- stringValue: key
104
+ value: { case: 'stringValue', value: key }
101
105
  },
102
106
  value: {
103
- stringValue: JSON.stringify(value)
107
+ value: { case: 'stringValue', value: JSON.stringify(value) }
104
108
  }
105
109
  }
106
- }
107
- const request = {
108
- upsert: {
110
+ })
111
+ await this.storeContext.sendRequest({
112
+ case: 'upsert',
113
+ value: {
109
114
  entity: [CacheItemEntityName],
110
115
  id: [key],
111
116
  entityData: [entityData]
112
117
  }
113
- } as DBRequest
114
- await this.storeContext.sendRequest(request)
118
+ })
115
119
  }
116
120
 
117
121
  /**
@@ -125,13 +129,13 @@ export class MemoryCache {
125
129
  * ```
126
130
  */
127
131
  public async delete(key: string): Promise<void> {
128
- const request = {
129
- delete: {
132
+ await this.storeContext.sendRequest({
133
+ case: 'delete',
134
+ value: {
130
135
  entity: [CacheItemEntityName],
131
136
  id: [key]
132
137
  }
133
- } as DBRequest
134
- await this.storeContext.sendRequest(request)
138
+ })
135
139
  }
136
140
 
137
141
  /**