envio 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (175) hide show
  1. package/README.md +164 -30
  2. package/bin.mjs +49 -0
  3. package/evm.schema.json +79 -169
  4. package/fuel.schema.json +50 -21
  5. package/index.d.ts +497 -1
  6. package/index.js +4 -0
  7. package/package.json +42 -31
  8. package/rescript.json +4 -1
  9. package/src/Batch.res +11 -8
  10. package/src/Batch.res.mjs +11 -9
  11. package/src/ChainFetcher.res +531 -0
  12. package/src/ChainFetcher.res.mjs +339 -0
  13. package/src/ChainManager.res +190 -0
  14. package/src/ChainManager.res.mjs +166 -0
  15. package/src/Change.res +3 -3
  16. package/src/Config.gen.ts +19 -0
  17. package/src/Config.res +737 -22
  18. package/src/Config.res.mjs +703 -26
  19. package/src/{Indexer.res → Ctx.res} +1 -1
  20. package/src/Ecosystem.res +9 -124
  21. package/src/Ecosystem.res.mjs +19 -160
  22. package/src/Env.res +30 -74
  23. package/src/Env.res.mjs +25 -87
  24. package/src/Envio.gen.ts +3 -1
  25. package/src/Envio.res +20 -9
  26. package/src/EventProcessing.res +469 -0
  27. package/src/EventProcessing.res.mjs +337 -0
  28. package/src/EvmTypes.gen.ts +6 -0
  29. package/src/EvmTypes.res +1 -0
  30. package/src/FetchState.res +1256 -639
  31. package/src/FetchState.res.mjs +1135 -612
  32. package/src/GlobalState.res +1190 -0
  33. package/src/GlobalState.res.mjs +1183 -0
  34. package/src/GlobalStateManager.res +68 -0
  35. package/src/GlobalStateManager.res.mjs +75 -0
  36. package/src/GlobalStateManager.resi +7 -0
  37. package/src/HandlerLoader.res +89 -0
  38. package/src/HandlerLoader.res.mjs +79 -0
  39. package/src/HandlerRegister.res +357 -0
  40. package/src/HandlerRegister.res.mjs +299 -0
  41. package/src/{EventRegister.resi → HandlerRegister.resi} +13 -13
  42. package/src/Hasura.res +111 -175
  43. package/src/Hasura.res.mjs +88 -150
  44. package/src/InMemoryStore.res +1 -1
  45. package/src/InMemoryStore.res.mjs +3 -3
  46. package/src/InMemoryTable.res +1 -1
  47. package/src/InMemoryTable.res.mjs +1 -1
  48. package/src/Internal.gen.ts +4 -0
  49. package/src/Internal.res +230 -12
  50. package/src/Internal.res.mjs +115 -1
  51. package/src/LoadLayer.res +444 -0
  52. package/src/LoadLayer.res.mjs +296 -0
  53. package/src/LoadLayer.resi +32 -0
  54. package/src/LogSelection.res +33 -27
  55. package/src/LogSelection.res.mjs +6 -0
  56. package/src/Logging.res +21 -7
  57. package/src/Logging.res.mjs +16 -8
  58. package/src/Main.res +377 -0
  59. package/src/Main.res.mjs +339 -0
  60. package/src/Persistence.res +7 -21
  61. package/src/Persistence.res.mjs +3 -3
  62. package/src/PgStorage.gen.ts +10 -0
  63. package/src/PgStorage.res +116 -69
  64. package/src/PgStorage.res.d.mts +5 -0
  65. package/src/PgStorage.res.mjs +93 -50
  66. package/src/Prometheus.res +294 -224
  67. package/src/Prometheus.res.mjs +353 -340
  68. package/src/ReorgDetection.res +6 -10
  69. package/src/ReorgDetection.res.mjs +6 -6
  70. package/src/SafeCheckpointTracking.res +4 -4
  71. package/src/SafeCheckpointTracking.res.mjs +2 -2
  72. package/src/Sink.res +4 -2
  73. package/src/Sink.res.mjs +2 -1
  74. package/src/TableIndices.res +0 -1
  75. package/src/TestIndexer.res +692 -0
  76. package/src/TestIndexer.res.mjs +527 -0
  77. package/src/TestIndexerProxyStorage.res +205 -0
  78. package/src/TestIndexerProxyStorage.res.mjs +151 -0
  79. package/src/TopicFilter.res +1 -1
  80. package/src/Types.ts +1 -1
  81. package/src/UserContext.res +424 -0
  82. package/src/UserContext.res.mjs +279 -0
  83. package/src/Utils.res +97 -26
  84. package/src/Utils.res.mjs +91 -44
  85. package/src/bindings/BigInt.res +10 -0
  86. package/src/bindings/BigInt.res.mjs +15 -0
  87. package/src/bindings/ClickHouse.res +120 -23
  88. package/src/bindings/ClickHouse.res.mjs +118 -28
  89. package/src/bindings/DateFns.res +74 -0
  90. package/src/bindings/DateFns.res.mjs +22 -0
  91. package/src/bindings/EventSource.res +8 -1
  92. package/src/bindings/EventSource.res.mjs +8 -1
  93. package/src/bindings/Express.res +1 -0
  94. package/src/bindings/Hrtime.res +14 -1
  95. package/src/bindings/Hrtime.res.mjs +22 -2
  96. package/src/bindings/Hrtime.resi +4 -0
  97. package/src/bindings/Lodash.res +0 -1
  98. package/src/bindings/NodeJs.res +49 -3
  99. package/src/bindings/NodeJs.res.mjs +11 -3
  100. package/src/bindings/Pino.res +24 -10
  101. package/src/bindings/Pino.res.mjs +14 -8
  102. package/src/bindings/Postgres.gen.ts +8 -0
  103. package/src/bindings/Postgres.res +5 -1
  104. package/src/bindings/Postgres.res.d.mts +5 -0
  105. package/src/bindings/PromClient.res +0 -10
  106. package/src/bindings/PromClient.res.mjs +0 -3
  107. package/src/bindings/Vitest.res +142 -0
  108. package/src/bindings/Vitest.res.mjs +9 -0
  109. package/src/bindings/WebSocket.res +27 -0
  110. package/src/bindings/WebSocket.res.mjs +2 -0
  111. package/src/bindings/Yargs.res +8 -0
  112. package/src/bindings/Yargs.res.mjs +2 -0
  113. package/src/db/EntityHistory.res +7 -7
  114. package/src/db/EntityHistory.res.mjs +9 -9
  115. package/src/db/InternalTable.res +59 -111
  116. package/src/db/InternalTable.res.mjs +73 -104
  117. package/src/db/Table.res +27 -8
  118. package/src/db/Table.res.mjs +25 -14
  119. package/src/sources/Evm.res +84 -0
  120. package/src/sources/Evm.res.mjs +105 -0
  121. package/src/sources/EvmChain.res +94 -0
  122. package/src/sources/EvmChain.res.mjs +60 -0
  123. package/src/sources/Fuel.res +19 -34
  124. package/src/sources/Fuel.res.mjs +34 -16
  125. package/src/sources/FuelSDK.res +38 -0
  126. package/src/sources/FuelSDK.res.mjs +29 -0
  127. package/src/sources/HyperFuel.res +2 -2
  128. package/src/sources/HyperFuel.resi +1 -1
  129. package/src/sources/HyperFuelClient.res +2 -2
  130. package/src/sources/HyperFuelSource.res +33 -13
  131. package/src/sources/HyperFuelSource.res.mjs +24 -16
  132. package/src/sources/HyperSync.res +36 -6
  133. package/src/sources/HyperSync.res.mjs +9 -7
  134. package/src/sources/HyperSync.resi +4 -0
  135. package/src/sources/HyperSyncClient.res +1 -1
  136. package/src/sources/HyperSyncHeightStream.res +47 -116
  137. package/src/sources/HyperSyncHeightStream.res.mjs +46 -73
  138. package/src/sources/HyperSyncSource.res +118 -139
  139. package/src/sources/HyperSyncSource.res.mjs +104 -121
  140. package/src/sources/Rpc.res +86 -14
  141. package/src/sources/Rpc.res.mjs +101 -9
  142. package/src/sources/RpcSource.res +621 -364
  143. package/src/sources/RpcSource.res.mjs +843 -410
  144. package/src/sources/RpcWebSocketHeightStream.res +181 -0
  145. package/src/sources/RpcWebSocketHeightStream.res.mjs +196 -0
  146. package/src/sources/Source.res +7 -5
  147. package/src/sources/SourceManager.res +325 -225
  148. package/src/sources/SourceManager.res.mjs +314 -171
  149. package/src/sources/SourceManager.resi +17 -6
  150. package/src/sources/Svm.res +81 -0
  151. package/src/sources/Svm.res.mjs +90 -0
  152. package/src/tui/Tui.res +247 -0
  153. package/src/tui/Tui.res.mjs +337 -0
  154. package/src/tui/bindings/Ink.res +371 -0
  155. package/src/tui/bindings/Ink.res.mjs +72 -0
  156. package/src/tui/bindings/Style.res +123 -0
  157. package/src/tui/bindings/Style.res.mjs +2 -0
  158. package/src/tui/components/BufferedProgressBar.res +40 -0
  159. package/src/tui/components/BufferedProgressBar.res.mjs +57 -0
  160. package/src/tui/components/CustomHooks.res +122 -0
  161. package/src/tui/components/CustomHooks.res.mjs +179 -0
  162. package/src/tui/components/Messages.res +41 -0
  163. package/src/tui/components/Messages.res.mjs +75 -0
  164. package/src/tui/components/SyncETA.res +174 -0
  165. package/src/tui/components/SyncETA.res.mjs +263 -0
  166. package/src/tui/components/TuiData.res +47 -0
  167. package/src/tui/components/TuiData.res.mjs +34 -0
  168. package/svm.schema.json +112 -0
  169. package/bin.js +0 -48
  170. package/src/EventRegister.res +0 -241
  171. package/src/EventRegister.res.mjs +0 -240
  172. package/src/bindings/Ethers.gen.ts +0 -14
  173. package/src/bindings/Ethers.res +0 -204
  174. package/src/bindings/Ethers.res.mjs +0 -130
  175. /package/src/{Indexer.res.mjs → Ctx.res.mjs} +0 -0
@@ -1,13 +1,17 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
+ import * as Rest from "../vendored/Rest.res.mjs";
3
4
  import * as Viem from "viem";
4
5
  import * as Utils from "../Utils.res.mjs";
5
6
  import * as $$BigInt from "../bindings/BigInt.res.mjs";
6
7
  import * as Address from "../Address.res.mjs";
7
8
  import * as Belt_Array from "rescript/lib/es6/belt_Array.js";
8
9
  import * as Caml_option from "rescript/lib/es6/caml_option.js";
10
+ import * as Caml_exceptions from "rescript/lib/es6/caml_exceptions.js";
9
11
  import * as S$RescriptSchema from "rescript-schema/src/S.res.mjs";
10
12
 
13
+ var JsonRpcError = /* @__PURE__ */Caml_exceptions.create("Rpc.JsonRpcError");
14
+
11
15
  function makeRpcRoute(method, paramsSchema, resultSchema) {
12
16
  var idSchema = S$RescriptSchema.literal(1);
13
17
  var versionSchema = S$RescriptSchema.literal("2.0");
@@ -30,6 +34,27 @@ function makeRpcRoute(method, paramsSchema, resultSchema) {
30
34
  };
31
35
  }
32
36
 
37
+ async function jsonRpcFetcher(args) {
38
+ var response = await Rest.ApiFetcher.$$default(args);
39
+ var data = response.data;
40
+ var error = data.error;
41
+ if (!(error == null)) {
42
+ throw {
43
+ RE_EXN_ID: JsonRpcError,
44
+ _1: {
45
+ code: error.code,
46
+ message: error.message
47
+ },
48
+ Error: new Error()
49
+ };
50
+ }
51
+ return response;
52
+ }
53
+
54
+ function makeClient(url) {
55
+ return Rest.client(url, jsonRpcFetcher);
56
+ }
57
+
33
58
  function makeHexSchema(fromStr) {
34
59
  return S$RescriptSchema.transform(S$RescriptSchema.string, (function (s) {
35
60
  return {
@@ -54,6 +79,19 @@ var hexIntSchema = makeHexSchema(function (v) {
54
79
  return Number(v);
55
80
  });
56
81
 
82
+ var decimalFloatSchema = S$RescriptSchema.transform(S$RescriptSchema.string, (function (s) {
83
+ return {
84
+ p: (function (str) {
85
+ var v = Number(str);
86
+ if (Number.isNaN(v)) {
87
+ return s.fail("The string is not a valid decimal number", undefined);
88
+ } else {
89
+ return v;
90
+ }
91
+ })
92
+ };
93
+ }));
94
+
57
95
  var topicFilterSchema = S$RescriptSchema.union([
58
96
  S$RescriptSchema.literal(null),
59
97
  S$RescriptSchema.schema(function (s) {
@@ -111,11 +149,13 @@ var paramsSchema = S$RescriptSchema.object(function (s) {
111
149
  return {
112
150
  fromBlock: s.f("fromBlock", hexIntSchema),
113
151
  toBlock: s.f("toBlock", hexIntSchema),
114
- address: s.f("address", S$RescriptSchema.array(Address.schema)),
152
+ address: s.f("address", S$RescriptSchema.option(S$RescriptSchema.array(Address.schema))),
115
153
  topics: s.f("topics", topicQuerySchema)
116
154
  };
117
155
  });
118
156
 
157
+ var fullParamsSchema = S$RescriptSchema.tuple1(paramsSchema);
158
+
119
159
  var logSchema = S$RescriptSchema.object(function (s) {
120
160
  return {
121
161
  address: s.f("address", Address.schema),
@@ -130,7 +170,9 @@ var logSchema = S$RescriptSchema.object(function (s) {
130
170
  };
131
171
  });
132
172
 
133
- var route = makeRpcRoute("eth_getLogs", S$RescriptSchema.tuple1(paramsSchema), S$RescriptSchema.array(logSchema));
173
+ var resultSchema = S$RescriptSchema.array(logSchema);
174
+
175
+ var route = makeRpcRoute("eth_getLogs", fullParamsSchema, resultSchema);
134
176
 
135
177
  var GetLogs = {
136
178
  topicFilterSchema: topicFilterSchema,
@@ -138,7 +180,9 @@ var GetLogs = {
138
180
  makeTopicQuery: makeTopicQuery,
139
181
  mapTopicQuery: mapTopicQuery,
140
182
  paramsSchema: paramsSchema,
183
+ fullParamsSchema: fullParamsSchema,
141
184
  logSchema: logSchema,
185
+ resultSchema: resultSchema,
142
186
  route: route
143
187
  };
144
188
 
@@ -167,16 +211,25 @@ var blockSchema = S$RescriptSchema.object(function (s) {
167
211
  };
168
212
  });
169
213
 
170
- var route$1 = makeRpcRoute("eth_getBlockByNumber", S$RescriptSchema.tuple(function (s) {
171
- return {
172
- blockNumber: s.item(0, hexIntSchema),
173
- includeTransactions: s.item(1, S$RescriptSchema.bool)
174
- };
175
- }), S$RescriptSchema.$$null(blockSchema));
214
+ var paramsSchema$1 = S$RescriptSchema.tuple(function (s) {
215
+ return {
216
+ blockNumber: s.item(0, hexIntSchema),
217
+ includeTransactions: s.item(1, S$RescriptSchema.bool)
218
+ };
219
+ });
220
+
221
+ var resultSchema$1 = S$RescriptSchema.$$null(blockSchema);
222
+
223
+ var route$1 = makeRpcRoute("eth_getBlockByNumber", paramsSchema$1, resultSchema$1);
224
+
225
+ var rawRoute = makeRpcRoute("eth_getBlockByNumber", paramsSchema$1, S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
176
226
 
177
227
  var GetBlockByNumber = {
178
228
  blockSchema: blockSchema,
179
- route: route$1
229
+ paramsSchema: paramsSchema$1,
230
+ resultSchema: resultSchema$1,
231
+ route: route$1,
232
+ rawRoute: rawRoute
180
233
  };
181
234
 
182
235
  var route$2 = makeRpcRoute("eth_blockNumber", S$RescriptSchema.tuple(function (param) {
@@ -187,13 +240,52 @@ var GetBlockHeight = {
187
240
  route: route$2
188
241
  };
189
242
 
243
+ var rawRoute$1 = makeRpcRoute("eth_getTransactionByHash", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
244
+
245
+ var GetTransactionByHash = {
246
+ rawRoute: rawRoute$1
247
+ };
248
+
249
+ var rawRoute$2 = makeRpcRoute("eth_getTransactionReceipt", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
250
+
251
+ var GetTransactionReceipt = {
252
+ rawRoute: rawRoute$2
253
+ };
254
+
255
+ async function getLogs(client, param) {
256
+ return await Rest.$$fetch(route, param, client);
257
+ }
258
+
259
+ async function getBlock(client, blockNumber) {
260
+ return await Rest.$$fetch(route$1, {
261
+ blockNumber: blockNumber,
262
+ includeTransactions: false
263
+ }, client);
264
+ }
265
+
266
+ async function getRawBlock(client, blockNumber) {
267
+ return await Rest.$$fetch(rawRoute, {
268
+ blockNumber: blockNumber,
269
+ includeTransactions: false
270
+ }, client);
271
+ }
272
+
190
273
  export {
274
+ JsonRpcError ,
191
275
  makeRpcRoute ,
276
+ jsonRpcFetcher ,
277
+ makeClient ,
192
278
  makeHexSchema ,
193
279
  hexBigintSchema ,
194
280
  hexIntSchema ,
281
+ decimalFloatSchema ,
195
282
  GetLogs ,
196
283
  GetBlockByNumber ,
197
284
  GetBlockHeight ,
285
+ GetTransactionByHash ,
286
+ GetTransactionReceipt ,
287
+ getLogs ,
288
+ getBlock ,
289
+ getRawBlock ,
198
290
  }
199
291
  /* hexBigintSchema Not a pure module */