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
@@ -3,103 +3,98 @@
3
3
  import * as Pino from "./bindings/Pino.res.mjs";
4
4
  import * as Pino$1 from "pino";
5
5
  import * as Utils from "./Utils.res.mjs";
6
- import * as Js_exn from "rescript/lib/es6/js_exn.js";
7
- import * as Js_dict from "rescript/lib/es6/js_dict.js";
8
- import * as Caml_obj from "rescript/lib/es6/caml_obj.js";
9
- import * as Caml_option from "rescript/lib/es6/caml_option.js";
10
-
11
- var logLevels = Js_dict.fromArray([
12
- [
13
- "udebug",
14
- 32
15
- ],
16
- [
17
- "uinfo",
18
- 34
19
- ],
20
- [
21
- "uwarn",
22
- 36
23
- ],
24
- [
25
- "uerror",
26
- 38
27
- ],
28
- [
29
- "trace",
30
- 10
31
- ],
32
- [
33
- "debug",
34
- 20
35
- ],
36
- [
37
- "info",
38
- 30
39
- ],
40
- [
41
- "warn",
42
- 40
43
- ],
44
- [
45
- "error",
46
- 50
47
- ],
48
- [
49
- "fatal",
50
- 60
51
- ]
52
- ]);
53
-
54
- var logger = {
6
+ import * as Stdlib_JsError from "@rescript/runtime/lib/es6/Stdlib_JsError.js";
7
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
8
+
9
+ let logLevels = Object.fromEntries([
10
+ [
11
+ "udebug",
12
+ 32
13
+ ],
14
+ [
15
+ "uinfo",
16
+ 34
17
+ ],
18
+ [
19
+ "uwarn",
20
+ 36
21
+ ],
22
+ [
23
+ "uerror",
24
+ 38
25
+ ],
26
+ [
27
+ "trace",
28
+ 10
29
+ ],
30
+ [
31
+ "debug",
32
+ 20
33
+ ],
34
+ [
35
+ "info",
36
+ 30
37
+ ],
38
+ [
39
+ "warn",
40
+ 40
41
+ ],
42
+ [
43
+ "error",
44
+ 50
45
+ ],
46
+ [
47
+ "fatal",
48
+ 60
49
+ ]
50
+ ]);
51
+
52
+ let logger = {
55
53
  contents: undefined
56
54
  };
57
55
 
58
56
  function makeLogger(logStrategy, logFilePath, defaultFileLogLevel, userLogLevel) {
59
- var pinoFile_target = "pino/file";
60
- var pinoFile_options = Caml_option.some(Pino.Transport.makeTransportOptions({
61
- destination: logFilePath,
62
- append: true,
63
- mkdir: true
64
- }));
65
- var pinoFile_level = defaultFileLogLevel;
66
- var pinoFile = {
57
+ let pinoFile_target = "pino/file";
58
+ let pinoFile_options = Primitive_option.some(Pino.Transport.makeTransportOptions({
59
+ destination: logFilePath,
60
+ append: true,
61
+ mkdir: true
62
+ }));
63
+ let pinoFile_level = defaultFileLogLevel;
64
+ let pinoFile = {
67
65
  target: pinoFile_target,
68
66
  options: pinoFile_options,
69
67
  level: pinoFile_level
70
68
  };
71
- var makeMultiStreamLogger = function (none, none$1) {
72
- return Pino.MultiStreamLogger.make(userLogLevel, logLevels, none, none$1, defaultFileLogLevel);
73
- };
74
- var base = {};
69
+ let makeMultiStreamLogger = (none, none$1) => Pino.MultiStreamLogger.make(userLogLevel, logLevels, none, none$1, defaultFileLogLevel);
70
+ let base = {};
75
71
  switch (logStrategy) {
76
72
  case "ecs-file" :
77
- var newrecord = Caml_obj.obj_dup(Pino.ECS.make());
78
- return Pino$1.pino((newrecord.base = base, newrecord.customLevels = logLevels, newrecord), Pino$1.transport(pinoFile));
73
+ let newrecord = {...Pino.ECS.make()};
74
+ return Pino$1.pino((newrecord.base = base, newrecord.customLevels = logLevels, newrecord), Pino$1.transport(pinoFile));
79
75
  case "ecs-console" :
80
- var newrecord$1 = Caml_obj.obj_dup(Pino.ECS.make());
81
- return Pino$1.pino((newrecord$1.base = base, newrecord$1.customLevels = logLevels, newrecord$1.level = userLogLevel, newrecord$1));
76
+ let newrecord$1 = {...Pino.ECS.make()};
77
+ return Pino$1.pino((newrecord$1.base = base, newrecord$1.customLevels = logLevels, newrecord$1.level = userLogLevel, newrecord$1));
82
78
  case "ecs-console-multistream" :
83
- var newrecord$2 = Caml_obj.obj_dup(Pino.ECS.make());
84
- return makeMultiStreamLogger(undefined, (newrecord$2.base = base, newrecord$2));
79
+ let newrecord$2 = {...Pino.ECS.make()};
80
+ return makeMultiStreamLogger(undefined, (newrecord$2.base = base, newrecord$2));
85
81
  case "file-only" :
86
- return Pino$1.pino({
87
- level: defaultFileLogLevel,
88
- customLevels: logLevels,
89
- base: base
90
- }, Pino$1.transport(pinoFile));
82
+ return Pino$1.pino({
83
+ level: defaultFileLogLevel,
84
+ customLevels: logLevels,
85
+ base: base
86
+ }, Pino$1.transport(pinoFile));
91
87
  case "console-raw" :
92
88
  case "console-pretty" :
93
- break;
89
+ break;
94
90
  case "both-prettyconsole" :
95
- return makeMultiStreamLogger(logFilePath, {
96
- base: base
97
- });
98
-
91
+ return makeMultiStreamLogger(logFilePath, {
92
+ base: base
93
+ });
99
94
  }
100
95
  return makeMultiStreamLogger(undefined, {
101
- base: base
102
- });
96
+ base: base
97
+ });
103
98
  }
104
99
 
105
100
  function setLogger(l) {
@@ -107,11 +102,11 @@ function setLogger(l) {
107
102
  }
108
103
 
109
104
  function getLogger() {
110
- var logger$1 = logger.contents;
105
+ let logger$1 = logger.contents;
111
106
  if (logger$1 !== undefined) {
112
107
  return logger$1;
113
108
  } else {
114
- return Js_exn.raiseError("Unreachable code. Logger not initialized");
109
+ return Stdlib_JsError.throwWithMessage("Unreachable code. Logger not initialized");
115
110
  }
116
111
  }
117
112
 
@@ -183,33 +178,33 @@ function createChildFrom(logger, params) {
183
178
  return logger.child(Pino.createChildParams(params));
184
179
  }
185
180
 
186
- var cacheKey = "_logger";
181
+ let cacheKey = "_logger";
187
182
 
188
183
  function getItemLogger(item) {
189
- var l = item[cacheKey];
184
+ let l = item[cacheKey];
190
185
  if (l !== undefined) {
191
186
  return l;
192
187
  }
193
- var tmp;
188
+ let tmp;
194
189
  if (item.kind === 0) {
195
- var eventConfig = item.eventConfig;
190
+ let eventConfig = item.eventConfig;
196
191
  tmp = Pino.createChildParams({
197
- contractName: eventConfig.contractName,
198
- eventName: eventConfig.name,
199
- chainId: item.chain,
200
- block: item.blockNumber,
201
- logIndex: item.logIndex,
202
- address: item.event.srcAddress
203
- });
192
+ contractName: eventConfig.contractName,
193
+ eventName: eventConfig.name,
194
+ chainId: item.chain,
195
+ block: item.blockNumber,
196
+ logIndex: item.logIndex,
197
+ address: item.event.srcAddress
198
+ });
204
199
  } else {
205
- var onBlockConfig = item.onBlockConfig;
200
+ let onBlockConfig = item.onBlockConfig;
206
201
  tmp = Pino.createChildParams({
207
- onBlock: onBlockConfig.name,
208
- chainId: onBlockConfig.chainId,
209
- block: item.blockNumber
210
- });
202
+ onBlock: onBlockConfig.name,
203
+ chainId: onBlockConfig.chainId,
204
+ block: item.blockNumber
205
+ });
211
206
  }
212
- var l$1 = getLogger().child(tmp);
207
+ let l$1 = getLogger().child(tmp);
213
208
  item[cacheKey] = l$1;
214
209
  return l$1;
215
210
  }
@@ -238,7 +233,7 @@ function noopLogger_errorWithExn(_message, _exn) {
238
233
 
239
234
  }
240
235
 
241
- var noopLogger = {
236
+ let noopLogger = {
242
237
  debug: noopLogger_debug,
243
238
  info: noopLogger_info,
244
239
  warn: noopLogger_warn,
@@ -248,52 +243,44 @@ var noopLogger = {
248
243
 
249
244
  function getUserLogger(item) {
250
245
  return {
251
- debug: (function (message, params) {
252
- getItemLogger(item)["udebug"](params, message);
253
- }),
254
- info: (function (message, params) {
255
- getItemLogger(item)["uinfo"](params, message);
256
- }),
257
- warn: (function (message, params) {
258
- getItemLogger(item)["uwarn"](params, message);
259
- }),
260
- error: (function (message, params) {
261
- getItemLogger(item)["uerror"](params, message);
262
- }),
263
- errorWithExn: (function (message, exn) {
264
- var params = {
265
- err: Utils.prettifyExn(exn)
266
- };
267
- getItemLogger(item)["uerror"](params, message);
268
- })
269
- };
246
+ debug: (message, params) => getItemLogger(item)["udebug"](params, message),
247
+ info: (message, params) => getItemLogger(item)["uinfo"](params, message),
248
+ warn: (message, params) => getItemLogger(item)["uwarn"](params, message),
249
+ error: (message, params) => getItemLogger(item)["uerror"](params, message),
250
+ errorWithExn: (message, exn) => {
251
+ let params = {
252
+ err: Utils.prettifyExn(exn)
253
+ };
254
+ getItemLogger(item)["uerror"](params, message);
255
+ }
256
+ };
270
257
  }
271
258
 
272
259
  export {
273
- logLevels ,
274
- makeLogger ,
275
- setLogger ,
276
- getLogger ,
277
- setLogLevel ,
278
- trace ,
279
- debug ,
280
- info ,
281
- warn ,
282
- error ,
283
- errorWithExn ,
284
- fatal ,
285
- childTrace ,
286
- childDebug ,
287
- childInfo ,
288
- childWarn ,
289
- childError ,
290
- childErrorWithExn ,
291
- childFatal ,
292
- createChild ,
293
- createChildFrom ,
294
- getItemLogger ,
295
- logForItem ,
296
- noopLogger ,
297
- getUserLogger ,
260
+ logLevels,
261
+ makeLogger,
262
+ setLogger,
263
+ getLogger,
264
+ setLogLevel,
265
+ trace,
266
+ debug,
267
+ info,
268
+ warn,
269
+ error,
270
+ errorWithExn,
271
+ fatal,
272
+ childTrace,
273
+ childDebug,
274
+ childInfo,
275
+ childWarn,
276
+ childError,
277
+ childErrorWithExn,
278
+ childFatal,
279
+ createChild,
280
+ createChildFrom,
281
+ getItemLogger,
282
+ logForItem,
283
+ noopLogger,
284
+ getUserLogger,
298
285
  }
299
286
  /* logLevels Not a pure module */