envio 3.0.0-alpha.21 → 3.0.0-alpha.23

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 (220) hide show
  1. package/README.md +3 -3
  2. package/bin.mjs +2 -48
  3. package/evm.schema.json +67 -0
  4. package/fuel.schema.json +67 -0
  5. package/index.d.ts +822 -38
  6. package/index.js +5 -3
  7. package/package.json +10 -8
  8. package/rescript.json +5 -9
  9. package/src/Address.res +4 -5
  10. package/src/Address.res.mjs +9 -12
  11. package/src/Api.res +15 -0
  12. package/src/Api.res.mjs +20 -0
  13. package/src/Batch.res +32 -34
  14. package/src/Batch.res.mjs +172 -187
  15. package/src/Bin.res +89 -0
  16. package/src/Bin.res.mjs +97 -0
  17. package/src/ChainFetcher.res +33 -57
  18. package/src/ChainFetcher.res.mjs +197 -227
  19. package/src/ChainManager.res +6 -14
  20. package/src/ChainManager.res.mjs +74 -85
  21. package/src/ChainMap.res +14 -16
  22. package/src/ChainMap.res.mjs +38 -38
  23. package/src/Config.res +193 -135
  24. package/src/Config.res.mjs +566 -592
  25. package/src/Core.res +182 -0
  26. package/src/Core.res.mjs +207 -0
  27. package/src/Ecosystem.res +25 -4
  28. package/src/Ecosystem.res.mjs +12 -13
  29. package/src/Env.res +20 -13
  30. package/src/Env.res.mjs +124 -113
  31. package/src/EnvSafe.res +269 -0
  32. package/src/EnvSafe.res.mjs +296 -0
  33. package/src/EnvSafe.resi +18 -0
  34. package/src/Envio.res +37 -26
  35. package/src/Envio.res.mjs +59 -60
  36. package/src/ErrorHandling.res +2 -2
  37. package/src/ErrorHandling.res.mjs +15 -15
  38. package/src/EventConfigBuilder.res +219 -81
  39. package/src/EventConfigBuilder.res.mjs +259 -202
  40. package/src/EventProcessing.res +27 -38
  41. package/src/EventProcessing.res.mjs +165 -183
  42. package/src/EventUtils.res +11 -11
  43. package/src/EventUtils.res.mjs +21 -22
  44. package/src/EvmTypes.res +0 -1
  45. package/src/EvmTypes.res.mjs +5 -5
  46. package/src/FetchState.res +360 -256
  47. package/src/FetchState.res.mjs +958 -914
  48. package/src/GlobalState.res +365 -351
  49. package/src/GlobalState.res.mjs +958 -992
  50. package/src/GlobalStateManager.res +1 -2
  51. package/src/GlobalStateManager.res.mjs +36 -44
  52. package/src/HandlerLoader.res +107 -23
  53. package/src/HandlerLoader.res.mjs +128 -38
  54. package/src/HandlerRegister.res +127 -103
  55. package/src/HandlerRegister.res.mjs +164 -164
  56. package/src/HandlerRegister.resi +12 -4
  57. package/src/Hasura.res +35 -22
  58. package/src/Hasura.res.mjs +158 -167
  59. package/src/InMemoryStore.res +20 -27
  60. package/src/InMemoryStore.res.mjs +64 -80
  61. package/src/InMemoryTable.res +34 -39
  62. package/src/InMemoryTable.res.mjs +165 -170
  63. package/src/Internal.res +52 -33
  64. package/src/Internal.res.mjs +84 -81
  65. package/src/LazyLoader.res.mjs +55 -61
  66. package/src/LoadLayer.res +77 -78
  67. package/src/LoadLayer.res.mjs +160 -189
  68. package/src/LoadManager.res +16 -21
  69. package/src/LoadManager.res.mjs +79 -84
  70. package/src/LogSelection.res +236 -68
  71. package/src/LogSelection.res.mjs +211 -141
  72. package/src/Logging.res +13 -9
  73. package/src/Logging.res.mjs +130 -143
  74. package/src/Main.res +430 -51
  75. package/src/Main.res.mjs +530 -271
  76. package/src/Persistence.res +80 -84
  77. package/src/Persistence.res.mjs +131 -132
  78. package/src/PgStorage.res +294 -167
  79. package/src/PgStorage.res.mjs +799 -817
  80. package/src/Prometheus.res +50 -58
  81. package/src/Prometheus.res.mjs +345 -373
  82. package/src/ReorgDetection.res +22 -24
  83. package/src/ReorgDetection.res.mjs +100 -106
  84. package/src/SafeCheckpointTracking.res +7 -7
  85. package/src/SafeCheckpointTracking.res.mjs +40 -43
  86. package/src/SimulateItems.res +41 -49
  87. package/src/SimulateItems.res.mjs +257 -272
  88. package/src/Sink.res +2 -2
  89. package/src/Sink.res.mjs +22 -26
  90. package/src/TableIndices.res +1 -2
  91. package/src/TableIndices.res.mjs +42 -48
  92. package/src/TestIndexer.res +196 -189
  93. package/src/TestIndexer.res.mjs +536 -536
  94. package/src/TestIndexerProxyStorage.res +16 -16
  95. package/src/TestIndexerProxyStorage.res.mjs +99 -122
  96. package/src/TestIndexerWorker.res +4 -0
  97. package/src/TestIndexerWorker.res.mjs +7 -0
  98. package/src/Throttler.res +3 -3
  99. package/src/Throttler.res.mjs +23 -24
  100. package/src/Time.res +1 -1
  101. package/src/Time.res.mjs +18 -21
  102. package/src/TopicFilter.res +3 -3
  103. package/src/TopicFilter.res.mjs +29 -30
  104. package/src/UserContext.res +93 -54
  105. package/src/UserContext.res.mjs +197 -182
  106. package/src/Utils.res +141 -86
  107. package/src/Utils.res.mjs +334 -295
  108. package/src/bindings/BigDecimal.res +0 -2
  109. package/src/bindings/BigDecimal.res.mjs +19 -23
  110. package/src/bindings/ClickHouse.res +28 -27
  111. package/src/bindings/ClickHouse.res.mjs +243 -240
  112. package/src/bindings/DateFns.res +11 -11
  113. package/src/bindings/DateFns.res.mjs +7 -7
  114. package/src/bindings/EventSource.res.mjs +2 -2
  115. package/src/bindings/Express.res +2 -5
  116. package/src/bindings/Hrtime.res +2 -2
  117. package/src/bindings/Hrtime.res.mjs +30 -32
  118. package/src/bindings/Lodash.res.mjs +1 -1
  119. package/src/bindings/NodeJs.res +14 -9
  120. package/src/bindings/NodeJs.res.mjs +20 -20
  121. package/src/bindings/Pino.res +8 -10
  122. package/src/bindings/Pino.res.mjs +40 -43
  123. package/src/bindings/Postgres.res +7 -5
  124. package/src/bindings/Postgres.res.mjs +9 -9
  125. package/src/bindings/PromClient.res +17 -2
  126. package/src/bindings/PromClient.res.mjs +30 -7
  127. package/src/bindings/SDSL.res.mjs +2 -2
  128. package/src/bindings/Viem.res +4 -4
  129. package/src/bindings/Viem.res.mjs +20 -22
  130. package/src/bindings/Vitest.res +1 -1
  131. package/src/bindings/Vitest.res.mjs +2 -2
  132. package/src/bindings/WebSocket.res +1 -1
  133. package/src/db/EntityHistory.res +9 -3
  134. package/src/db/EntityHistory.res.mjs +84 -59
  135. package/src/db/InternalTable.res +62 -60
  136. package/src/db/InternalTable.res.mjs +271 -203
  137. package/src/db/Schema.res +1 -2
  138. package/src/db/Schema.res.mjs +28 -32
  139. package/src/db/Table.res +28 -27
  140. package/src/db/Table.res.mjs +276 -292
  141. package/src/sources/EventRouter.res +21 -16
  142. package/src/sources/EventRouter.res.mjs +55 -57
  143. package/src/sources/Evm.res +17 -1
  144. package/src/sources/Evm.res.mjs +16 -8
  145. package/src/sources/EvmChain.res +15 -17
  146. package/src/sources/EvmChain.res.mjs +40 -42
  147. package/src/sources/Fuel.res +14 -1
  148. package/src/sources/Fuel.res.mjs +16 -8
  149. package/src/sources/FuelSDK.res +1 -1
  150. package/src/sources/FuelSDK.res.mjs +6 -8
  151. package/src/sources/HyperFuel.res +8 -10
  152. package/src/sources/HyperFuel.res.mjs +113 -123
  153. package/src/sources/HyperFuelClient.res.mjs +6 -7
  154. package/src/sources/HyperFuelSource.res +19 -20
  155. package/src/sources/HyperFuelSource.res.mjs +339 -356
  156. package/src/sources/HyperSync.res +11 -13
  157. package/src/sources/HyperSync.res.mjs +206 -220
  158. package/src/sources/HyperSyncClient.res +5 -7
  159. package/src/sources/HyperSyncClient.res.mjs +70 -75
  160. package/src/sources/HyperSyncHeightStream.res +8 -9
  161. package/src/sources/HyperSyncHeightStream.res.mjs +78 -86
  162. package/src/sources/HyperSyncJsonApi.res +18 -15
  163. package/src/sources/HyperSyncJsonApi.res.mjs +201 -231
  164. package/src/sources/HyperSyncSource.res +17 -21
  165. package/src/sources/HyperSyncSource.res.mjs +268 -290
  166. package/src/sources/Rpc.res +5 -5
  167. package/src/sources/Rpc.res.mjs +168 -192
  168. package/src/sources/RpcSource.res +166 -167
  169. package/src/sources/RpcSource.res.mjs +972 -1046
  170. package/src/sources/RpcWebSocketHeightStream.res +10 -11
  171. package/src/sources/RpcWebSocketHeightStream.res.mjs +131 -145
  172. package/src/sources/SimulateSource.res +1 -1
  173. package/src/sources/SimulateSource.res.mjs +35 -38
  174. package/src/sources/Source.res +1 -1
  175. package/src/sources/Source.res.mjs +3 -3
  176. package/src/sources/SourceManager.res +39 -20
  177. package/src/sources/SourceManager.res.mjs +340 -371
  178. package/src/sources/SourceManager.resi +2 -1
  179. package/src/sources/Svm.res +12 -5
  180. package/src/sources/Svm.res.mjs +44 -41
  181. package/src/tui/Tui.res +23 -12
  182. package/src/tui/Tui.res.mjs +292 -290
  183. package/src/tui/bindings/Ink.res +2 -4
  184. package/src/tui/bindings/Ink.res.mjs +35 -41
  185. package/src/tui/components/BufferedProgressBar.res +7 -7
  186. package/src/tui/components/BufferedProgressBar.res.mjs +46 -46
  187. package/src/tui/components/CustomHooks.res +1 -2
  188. package/src/tui/components/CustomHooks.res.mjs +102 -122
  189. package/src/tui/components/Messages.res +1 -2
  190. package/src/tui/components/Messages.res.mjs +38 -42
  191. package/src/tui/components/SyncETA.res +10 -11
  192. package/src/tui/components/SyncETA.res.mjs +178 -196
  193. package/src/tui/components/TuiData.res +1 -1
  194. package/src/tui/components/TuiData.res.mjs +7 -6
  195. package/src/vendored/Rest.res +52 -66
  196. package/src/vendored/Rest.res.mjs +324 -364
  197. package/svm.schema.json +67 -0
  198. package/src/Address.gen.ts +0 -8
  199. package/src/Config.gen.ts +0 -19
  200. package/src/Envio.gen.ts +0 -55
  201. package/src/EvmTypes.gen.ts +0 -6
  202. package/src/InMemoryStore.gen.ts +0 -6
  203. package/src/Internal.gen.ts +0 -64
  204. package/src/PgStorage.gen.ts +0 -10
  205. package/src/PgStorage.res.d.mts +0 -5
  206. package/src/Types.ts +0 -56
  207. package/src/bindings/BigDecimal.gen.ts +0 -14
  208. package/src/bindings/BigDecimal.res.d.mts +0 -5
  209. package/src/bindings/BigInt.gen.ts +0 -10
  210. package/src/bindings/BigInt.res +0 -70
  211. package/src/bindings/BigInt.res.d.mts +0 -5
  212. package/src/bindings/BigInt.res.mjs +0 -154
  213. package/src/bindings/Ethers.res.d.mts +0 -5
  214. package/src/bindings/Pino.gen.ts +0 -17
  215. package/src/bindings/Postgres.gen.ts +0 -8
  216. package/src/bindings/Postgres.res.d.mts +0 -5
  217. package/src/bindings/Promise.res +0 -67
  218. package/src/bindings/Promise.res.mjs +0 -26
  219. package/src/db/InternalTable.gen.ts +0 -36
  220. package/src/sources/HyperSyncClient.gen.ts +0 -19
@@ -1,4 +1,3 @@
1
- @genType.import(("bignumber.js", "default"))
2
1
  type rec t = {
3
2
  toString: unit => string,
4
3
  toFixed: int => string,
@@ -47,7 +46,6 @@ let one = fromInt(1)
47
46
  @send external decimalPlaces: (t, int) => t = "decimalPlaces"
48
47
 
49
48
  // Serialization
50
- @genType
51
49
  let schema =
52
50
  S.string
53
51
  ->S.setName("BigDecimal")
@@ -1,6 +1,6 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Belt_Int from "rescript/lib/es6/belt_Int.js";
3
+ import * as Belt_Int from "@rescript/runtime/lib/es6/Belt_Int.js";
4
4
  import BignumberJs from "bignumber.js";
5
5
  import * as S$RescriptSchema from "rescript-schema/src/S.res.mjs";
6
6
 
@@ -12,31 +12,27 @@ function notEquals(a, b) {
12
12
  return !a.isEqualTo(b);
13
13
  }
14
14
 
15
- var zero = new BignumberJs(0);
15
+ let zero = new BignumberJs(0);
16
16
 
17
- var one = new BignumberJs(1);
17
+ let one = new BignumberJs(1);
18
18
 
19
- var schema = S$RescriptSchema.transform(S$RescriptSchema.setName(S$RescriptSchema.string, "BigDecimal"), (function (s) {
20
- return {
21
- p: (function (string) {
22
- var bigDecimal = new BignumberJs(string);
23
- if (bigDecimal !== undefined) {
24
- return bigDecimal;
25
- } else {
26
- return s.fail("The string is not valid BigDecimal", undefined);
27
- }
28
- }),
29
- s: (function (bigDecimal) {
30
- return bigDecimal.toString();
31
- })
32
- };
33
- }));
19
+ let schema = S$RescriptSchema.transform(S$RescriptSchema.setName(S$RescriptSchema.string, "BigDecimal"), s => ({
20
+ p: string => {
21
+ let bigDecimal = new BignumberJs(string);
22
+ if (bigDecimal !== undefined) {
23
+ return bigDecimal;
24
+ } else {
25
+ return s.fail("The string is not valid BigDecimal", undefined);
26
+ }
27
+ },
28
+ s: bigDecimal => bigDecimal.toString()
29
+ }));
34
30
 
35
31
  export {
36
- toInt ,
37
- notEquals ,
38
- zero ,
39
- one ,
40
- schema ,
32
+ toInt,
33
+ notEquals,
34
+ zero,
35
+ one,
36
+ schema,
41
37
  }
42
38
  /* zero Not a pure module */
@@ -57,7 +57,7 @@ let getClickHouseFieldType = (
57
57
  if precision > 38 {
58
58
  "String"
59
59
  } else {
60
- `Decimal(${precision->Js.Int.toString},0)`
60
+ `Decimal(${precision->Int.toString},0)`
61
61
  }
62
62
  }
63
63
  | BigDecimal({?config}) =>
@@ -67,7 +67,7 @@ let getClickHouseFieldType = (
67
67
  if precision > 38 || scale > precision {
68
68
  "String"
69
69
  } else {
70
- `Decimal(${precision->Js.Int.toString},${scale->Js.Int.toString})`
70
+ `Decimal(${precision->Int.toString},${scale->Int.toString})`
71
71
  }
72
72
  }
73
73
  | Boolean => "Bool"
@@ -86,7 +86,7 @@ let getClickHouseFieldType = (
86
86
  let variantStr = variant->(Utils.magic: 'a => string)
87
87
  `'${variantStr}'`
88
88
  })
89
- ->Js.Array2.joinWith(", ")
89
+ ->Array.joinUnsafe(", ")
90
90
  `${enumType}(${enumValues})`
91
91
  }
92
92
  | Entity(_) => "String"
@@ -104,7 +104,7 @@ let getClickHouseFieldType = (
104
104
  // Creates an entity schema from table definition, using clickHouseDate for Date fields
105
105
  let makeClickHouseEntitySchema = (table: Table.table): S.t<Internal.entity> => {
106
106
  S.schema(s => {
107
- let dict = Js.Dict.empty()
107
+ let dict = Dict.make()
108
108
  table.fields->Belt.Array.forEach(field => {
109
109
  switch field {
110
110
  | Field(f) => {
@@ -124,10 +124,11 @@ let makeClickHouseEntitySchema = (table: Table.table): S.t<Internal.entity> => {
124
124
  | UInt52 => {
125
125
  let uint52Schema =
126
126
  S.float
127
- ->S.preprocess(_ => {
128
- parser: unknown =>
129
- unknown->(Utils.magic: unknown => string)->Js.Float.fromString,
130
- })
127
+ ->S.preprocess(
128
+ _ => {
129
+ parser: unknown => unknown->(Utils.magic: unknown => string)->Float.parseFloat,
130
+ },
131
+ )
131
132
  ->S.toUnknown
132
133
  if f.isNullable {
133
134
  S.null(uint52Schema)->S.toUnknown
@@ -139,12 +140,12 @@ let makeClickHouseEntitySchema = (table: Table.table): S.t<Internal.entity> => {
139
140
  }
140
141
  | _ => f.fieldSchema
141
142
  }
142
- dict->Js.Dict.set(fieldName, s.matches(fieldSchema))
143
+ dict->Dict.set(fieldName, s.matches(fieldSchema))
143
144
  }
144
145
  | DerivedFrom(_) => () // Skip derived fields
145
146
  }
146
147
  })
147
- dict->(Utils.magic: Js.Dict.t<unknown> => Internal.entity)
148
+ dict->(Utils.magic: dict<unknown> => Internal.entity)
148
149
  })
149
150
  }
150
151
 
@@ -164,7 +165,7 @@ let rec insertWithRetry = async (
164
165
  await client->insert({table, values, format})
165
166
  } catch {
166
167
  | exn if retries > 0 =>
167
- let delayMs = Js.Math.min_int(1000, 100 + 900 * (8 - retries) / 7)
168
+ let delayMs = Math.Int.min(1000, 100 + 900 * (8 - retries) / 7)
168
169
  if Array.length(values) > 1 {
169
170
  logger->Logging.childWarn({
170
171
  "msg": "ClickHouse insert failed, splitting batch in half and retrying",
@@ -175,8 +176,8 @@ let rec insertWithRetry = async (
175
176
  })
176
177
  await Utils.delay(delayMs)
177
178
  let mid = Array.length(values) / 2
178
- let first = values->Js.Array2.slice(~start=0, ~end_=mid)
179
- let second = values->Js.Array2.sliceFrom(mid)
179
+ let first = values->Array.slice(~start=0, ~end=mid)
180
+ let second = values->Array.slice(~start=mid)
180
181
  await insertWithRetry(client, ~table, ~values=first, ~format, ~retries=retries - 1)
181
182
  await insertWithRetry(client, ~table, ~values=second, ~format, ~retries=retries - 1)
182
183
  } else {
@@ -201,7 +202,7 @@ let setCheckpointsOrThrow = async (client, ~batch: Batch.t, ~database: string) =
201
202
  let checkpointRows = []
202
203
  for idx in 0 to checkpointsCount - 1 {
203
204
  checkpointRows
204
- ->Js.Array2.push((
205
+ ->Array.push((
205
206
  batch.checkpointIds->Belt.Array.getUnsafe(idx)->BigInt.toString,
206
207
  batch.checkpointChainIds->Belt.Array.getUnsafe(idx),
207
208
  batch.checkpointBlockNumbers->Belt.Array.getUnsafe(idx),
@@ -220,7 +221,7 @@ let setCheckpointsOrThrow = async (client, ~batch: Batch.t, ~database: string) =
220
221
  )
221
222
  } catch {
222
223
  | exn =>
223
- raise(
224
+ throw(
224
225
  Persistence.StorageError({
225
226
  message: `Failed to insert checkpoints into ClickHouse table "${InternalTable.Checkpoints.table.tableName}"`,
226
227
  reason: exn->Utils.prettifyExn,
@@ -232,7 +233,7 @@ let setCheckpointsOrThrow = async (client, ~batch: Batch.t, ~database: string) =
232
233
 
233
234
  type setUpdatesCache = {
234
235
  tableName: string,
235
- convertOrThrow: Change.t<Internal.entity> => Js.Json.t,
236
+ convertOrThrow: Change.t<Internal.entity> => JSON.t,
236
237
  }
237
238
 
238
239
  let setUpdatesOrThrow = async (
@@ -280,14 +281,14 @@ let setUpdatesOrThrow = async (
280
281
 
281
282
  try {
282
283
  // Convert entity updates to ClickHouse row format
283
- let values = updates->Js.Array2.map(update => {
284
+ let values = updates->Array.map(update => {
284
285
  update.latestChange->convertOrThrow
285
286
  })
286
287
 
287
288
  await insertWithRetry(client, ~table=tableName, ~values, ~format="JSONEachRow")
288
289
  } catch {
289
290
  | exn =>
290
- raise(
291
+ throw(
291
292
  Persistence.StorageError({
292
293
  message: `Failed to insert items into ClickHouse table "${tableName}"`,
293
294
  reason: exn->Utils.prettifyExn,
@@ -319,7 +320,7 @@ let makeCreateHistoryTableQuery = (~entityConfig: Internal.entityConfig, ~databa
319
320
  ~entityName=entityConfig.name,
320
321
  ~entityIndex=entityConfig.index,
321
322
  )}\` (
322
- ${fieldDefinitions->Js.Array2.joinWith(",\n ")},
323
+ ${fieldDefinitions->Array.joinUnsafe(",\n ")},
323
324
  \`${EntityHistory.checkpointIdFieldName}\` ${getClickHouseFieldType(
324
325
  ~fieldType=UInt64,
325
326
  ~isNullable=false,
@@ -391,7 +392,7 @@ let makeCreateViewQuery = (~entityConfig: Internal.entityConfig, ~database: stri
391
392
  | DerivedFrom(_) => None
392
393
  }
393
394
  })
394
- ->Js.Array2.joinWith(", ")
395
+ ->Array.joinUnsafe(", ")
395
396
 
396
397
  `CREATE VIEW IF NOT EXISTS ${database}.\`${entityConfig.name}\` AS
397
398
  SELECT ${entityFields}
@@ -421,20 +422,20 @@ let initialize = async (
421
422
  entities->Belt.Array.map(entityConfig =>
422
423
  client->exec({query: makeCreateHistoryTableQuery(~entityConfig, ~database)})
423
424
  ),
424
- )->Promise.ignoreValue
425
+ )->Utils.Promise.ignoreValue
425
426
  await client->exec({query: makeCreateCheckpointsTableQuery(~database)})
426
427
 
427
428
  await Promise.all(
428
429
  entities->Belt.Array.map(entityConfig =>
429
430
  client->exec({query: makeCreateViewQuery(~entityConfig, ~database)})
430
431
  ),
431
- )->Promise.ignoreValue
432
+ )->Utils.Promise.ignoreValue
432
433
 
433
434
  Logging.trace("ClickHouse sink initialization completed successfully")
434
435
  } catch {
435
436
  | exn => {
436
437
  Logging.errorWithExn(exn, "Failed to initialize ClickHouse sink")
437
- Js.Exn.raiseError("ClickHouse initialization failed")
438
+ JsError.throwWithMessage("ClickHouse initialization failed")
438
439
  }
439
440
  }
440
441
  }
@@ -451,7 +452,7 @@ let resume = async (client, ~database: string, ~checkpointId: Internal.checkpoin
451
452
  exn,
452
453
  `ClickHouse sink database "${database}" not found. Please run 'envio start -r' to reinitialize the indexer (it'll also drop Postgres database).`,
453
454
  )
454
- Js.Exn.raiseError("ClickHouse resume failed")
455
+ JsError.throwWithMessage("ClickHouse resume failed")
455
456
  }
456
457
 
457
458
  // Get all history tables
@@ -468,17 +469,17 @@ let resume = async (client, ~database: string, ~checkpointId: Internal.checkpoin
468
469
  query: `ALTER TABLE ${database}.\`${tableName}\` DELETE WHERE \`${EntityHistory.checkpointIdFieldName}\` > ${checkpointId->BigInt.toString}`,
469
470
  })
470
471
  }),
471
- )->Promise.ignoreValue
472
+ )->Utils.Promise.ignoreValue
472
473
 
473
474
  // Delete stale checkpoints
474
475
  await client->exec({
475
476
  query: `DELETE FROM ${database}.\`${InternalTable.Checkpoints.table.tableName}\` WHERE \`${Table.idFieldName}\` > ${checkpointId->BigInt.toString}`,
476
477
  })
477
478
  } catch {
478
- | Persistence.StorageError(_) as exn => raise(exn)
479
+ | Persistence.StorageError(_) as exn => throw(exn)
479
480
  | exn => {
480
481
  Logging.errorWithExn(exn, "Failed to resume ClickHouse sink")
481
- Js.Exn.raiseError("ClickHouse resume failed")
482
+ JsError.throwWithMessage("ClickHouse resume failed")
482
483
  }
483
484
  }
484
485
  }