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
package/src/Sink.res.mjs CHANGED
@@ -1,38 +1,34 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Belt_Array from "rescript/lib/es6/belt_Array.js";
3
+ import * as Belt_Array from "@rescript/runtime/lib/es6/Belt_Array.js";
4
4
  import * as ClickHouse from "./bindings/ClickHouse.res.mjs";
5
5
  import * as Client from "@clickhouse/client";
6
6
 
7
7
  function makeClickHouse(host, database, username, password) {
8
- var client = Client.createClient({
9
- url: host,
10
- username: username,
11
- password: password
12
- });
13
- var database$1 = database !== undefined ? database : "envio_sink";
14
- var cache = new WeakMap();
8
+ let client = Client.createClient({
9
+ url: host,
10
+ username: username,
11
+ password: password
12
+ });
13
+ let database$1 = database !== undefined ? database : "envio_sink";
14
+ let cache = new WeakMap();
15
15
  return {
16
- name: "ClickHouse",
17
- initialize: (function ($staropt$star, $staropt$star$1, $staropt$star$2) {
18
- $staropt$star !== undefined;
19
- var entities = $staropt$star$1 !== undefined ? $staropt$star$1 : [];
20
- var enums = $staropt$star$2 !== undefined ? $staropt$star$2 : [];
21
- return ClickHouse.initialize(client, database$1, entities, enums);
22
- }),
23
- resume: (function (checkpointId) {
24
- return ClickHouse.resume(client, database$1, checkpointId);
25
- }),
26
- writeBatch: (async function (batch, updatedEntities) {
27
- await Promise.all(Belt_Array.map(updatedEntities, (function (param) {
28
- return ClickHouse.setUpdatesOrThrow(client, cache, param.updates, param.entityConfig, database$1);
29
- })));
30
- return await ClickHouse.setCheckpointsOrThrow(client, batch, database$1);
31
- })
32
- };
16
+ name: "clickhouse",
17
+ initialize: ($staropt$star, $staropt$star$1, $staropt$star$2) => {
18
+ $staropt$star !== undefined;
19
+ let entities = $staropt$star$1 !== undefined ? $staropt$star$1 : [];
20
+ let enums = $staropt$star$2 !== undefined ? $staropt$star$2 : [];
21
+ return ClickHouse.initialize(client, database$1, entities, enums);
22
+ },
23
+ resume: checkpointId => ClickHouse.resume(client, database$1, checkpointId),
24
+ writeBatch: async (batch, updatedEntities) => {
25
+ await Promise.all(Belt_Array.map(updatedEntities, param => ClickHouse.setUpdatesOrThrow(client, cache, param.updates, param.entityConfig, database$1)));
26
+ return await ClickHouse.setCheckpointsOrThrow(client, batch, database$1);
27
+ }
28
+ };
33
29
  }
34
30
 
35
31
  export {
36
- makeClickHouse ,
32
+ makeClickHouse,
37
33
  }
38
34
  /* ClickHouse Not a pure module */
@@ -1,5 +1,4 @@
1
1
  module FieldValue = {
2
- open Belt
3
2
  @unboxed
4
3
  type rec tNonOptional =
5
4
  | String(string)
@@ -16,7 +15,7 @@ module FieldValue = {
16
15
  | Int(v) => v->Int.toString
17
16
  | BigDecimal(v) => v->BigDecimal.toString
18
17
  | Bool(v) => v ? "true" : "false"
19
- | Array(v) => `[${v->Array.joinWith(",", toString)}]`
18
+ | Array(v) => `[${v->Belt.Array.joinWith(",", toString)}]`
20
19
  }
21
20
 
22
21
  //This needs to be a castable type from any type that we
@@ -1,27 +1,26 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
 
3
- import * as Caml_obj from "rescript/lib/es6/caml_obj.js";
4
- import * as Belt_Array from "rescript/lib/es6/belt_Array.js";
3
+ import * as Belt_Array from "@rescript/runtime/lib/es6/Belt_Array.js";
4
+ import * as Primitive_object from "@rescript/runtime/lib/es6/Primitive_object.js";
5
5
 
6
6
  function toString(tNonOptional) {
7
7
  if (Array.isArray(tNonOptional)) {
8
- return "[" + Belt_Array.joinWith(tNonOptional, ",", toString) + "]";
8
+ return `[` + Belt_Array.joinWith(tNonOptional, ",", toString) + `]`;
9
9
  }
10
10
  switch (typeof tNonOptional) {
11
11
  case "string" :
12
- return tNonOptional;
13
- case "number" :
14
- return String(tNonOptional);
12
+ return tNonOptional;
15
13
  case "bigint" :
14
+ case "number" :
15
+ return tNonOptional.toString();
16
16
  case "object" :
17
- return tNonOptional.toString();
17
+ return tNonOptional.toString();
18
18
  case "boolean" :
19
- if (tNonOptional) {
20
- return "true";
21
- } else {
22
- return "false";
23
- }
24
-
19
+ if (tNonOptional) {
20
+ return "true";
21
+ } else {
22
+ return "false";
23
+ }
25
24
  }
26
25
  }
27
26
 
@@ -34,75 +33,74 @@ function toString$1(value) {
34
33
  }
35
34
 
36
35
  function eq(a, b) {
37
- if (a !== undefined && typeof a === "object" && !Array.isArray(a) && b !== undefined && typeof b === "object" && !Array.isArray(b)) {
36
+ if (typeof a === "object" && !Array.isArray(a) && typeof b === "object" && !Array.isArray(b)) {
38
37
  return a.isEqualTo(b);
39
38
  } else {
40
- return Caml_obj.equal(a, b);
39
+ return Primitive_object.equal(a, b);
41
40
  }
42
41
  }
43
42
 
44
43
  function gt(a, b) {
45
- if (a !== undefined && typeof a === "object" && !Array.isArray(a) && b !== undefined && typeof b === "object" && !Array.isArray(b)) {
44
+ if (typeof a === "object" && !Array.isArray(a) && typeof b === "object" && !Array.isArray(b)) {
46
45
  return a.isGreaterThan(b);
47
46
  } else {
48
- return Caml_obj.greaterthan(a, b);
47
+ return Primitive_object.greaterthan(a, b);
49
48
  }
50
49
  }
51
50
 
52
51
  function lt(a, b) {
53
- if (a !== undefined && typeof a === "object" && !Array.isArray(a) && b !== undefined && typeof b === "object" && !Array.isArray(b)) {
52
+ if (typeof a === "object" && !Array.isArray(a) && typeof b === "object" && !Array.isArray(b)) {
54
53
  return a.isLessThan(b);
55
54
  } else {
56
- return Caml_obj.lessthan(a, b);
55
+ return Primitive_object.lessthan(a, b);
57
56
  }
58
57
  }
59
58
 
60
- var FieldValue = {
59
+ let FieldValue = {
61
60
  toString: toString$1,
62
61
  eq: eq,
63
62
  gt: gt,
64
63
  lt: lt
65
64
  };
66
65
 
67
- var values = [
66
+ let values = [
68
67
  "Eq",
69
68
  "Gt",
70
69
  "Lt"
71
70
  ];
72
71
 
73
- var Operator = {
72
+ let Operator = {
74
73
  values: values
75
74
  };
76
75
 
77
76
  function make(fieldName, fieldValue, operator) {
78
77
  return {
79
- fieldName: fieldName,
80
- fieldValue: fieldValue,
81
- operator: operator
82
- };
78
+ fieldName: fieldName,
79
+ fieldValue: fieldValue,
80
+ operator: operator
81
+ };
83
82
  }
84
83
 
85
84
  function toString$2(param) {
86
- return param.fieldName + ":" + param.operator + ":" + toString$1(param.fieldValue);
85
+ return param.fieldName + `:` + param.operator + `:` + toString$1(param.fieldValue);
87
86
  }
88
87
 
89
88
  function evaluate(self, fieldName, fieldValue) {
90
89
  if (self.fieldName !== fieldName) {
91
90
  return false;
92
91
  }
93
- var match = self.operator;
92
+ let match = self.operator;
94
93
  switch (match) {
95
94
  case "Eq" :
96
- return eq(fieldValue, self.fieldValue);
95
+ return eq(fieldValue, self.fieldValue);
97
96
  case "Gt" :
98
- return gt(fieldValue, self.fieldValue);
97
+ return gt(fieldValue, self.fieldValue);
99
98
  case "Lt" :
100
- return lt(fieldValue, self.fieldValue);
101
-
99
+ return lt(fieldValue, self.fieldValue);
102
100
  }
103
101
  }
104
102
 
105
- var SingleIndex = {
103
+ let SingleIndex = {
106
104
  make: make,
107
105
  toString: toString$2,
108
106
  evaluate: evaluate
@@ -110,25 +108,21 @@ var SingleIndex = {
110
108
 
111
109
  function makeSingle(fieldName, fieldValue, operator) {
112
110
  return {
113
- fieldName: fieldName,
114
- fieldValue: fieldValue,
115
- operator: operator
116
- };
111
+ fieldName: fieldName,
112
+ fieldValue: fieldValue,
113
+ operator: operator
114
+ };
117
115
  }
118
116
 
119
117
  function getFieldName(index) {
120
118
  return index.fieldName;
121
119
  }
122
120
 
123
- function toString$3(index) {
124
- return toString$2(index);
125
- }
121
+ let toString$3 = toString$2;
126
122
 
127
- function evaluate$1(index, fieldName, fieldValue) {
128
- return evaluate(index, fieldName, fieldValue);
129
- }
123
+ let evaluate$1 = evaluate;
130
124
 
131
- var Index = {
125
+ let Index = {
132
126
  makeSingle: makeSingle,
133
127
  getFieldName: getFieldName,
134
128
  toString: toString$3,
@@ -136,9 +130,9 @@ var Index = {
136
130
  };
137
131
 
138
132
  export {
139
- FieldValue ,
140
- Operator ,
141
- SingleIndex ,
142
- Index ,
133
+ FieldValue,
134
+ Operator,
135
+ SingleIndex,
136
+ Index,
143
137
  }
144
138
  /* No side effect */