envio 3.14.0 → 3.14.1-transactions.0

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 (213) hide show
  1. package/evm.schema.json +21 -54
  2. package/fuel.schema.json +20 -53
  3. package/index.d.ts +372 -144
  4. package/package.json +7 -12
  5. package/src/Address.res +0 -47
  6. package/src/Address.res.mjs +0 -34
  7. package/src/Batch.res +10 -8
  8. package/src/Batch.res.mjs +23 -7
  9. package/src/BatchProcessing.res +17 -12
  10. package/src/BatchProcessing.res.mjs +6 -6
  11. package/src/Bin.res +16 -9
  12. package/src/Bin.res.mjs +18 -10
  13. package/src/ChainFetching.res +113 -101
  14. package/src/ChainFetching.res.mjs +85 -66
  15. package/src/ChainState.res +150 -42
  16. package/src/ChainState.res.mjs +141 -62
  17. package/src/ChainState.resi +5 -5
  18. package/src/Config.res +80 -84
  19. package/src/Config.res.mjs +78 -66
  20. package/src/ContractRegisterContext.res +84 -86
  21. package/src/ContractRegisterContext.res.mjs +44 -62
  22. package/src/Core.res +55 -4
  23. package/src/CrossChainState.res +10 -12
  24. package/src/CrossChainState.res.mjs +6 -10
  25. package/src/Ecosystem.res +46 -35
  26. package/src/Ecosystem.res.mjs +22 -31
  27. package/src/EntityTables.res +1 -5
  28. package/src/EntityTables.res.mjs +3 -10
  29. package/src/Env.res +28 -47
  30. package/src/Env.res.mjs +30 -38
  31. package/src/Envio.res +14 -1
  32. package/src/Envio.res.mjs +1 -2
  33. package/src/ErrorHandling.res +19 -29
  34. package/src/ErrorHandling.res.mjs +17 -30
  35. package/src/EventConfigBuilder.res +121 -38
  36. package/src/EventConfigBuilder.res.mjs +90 -24
  37. package/src/EventProcessing.res +123 -250
  38. package/src/EventProcessing.res.mjs +132 -124
  39. package/src/ExitOnCaughtUp.res +5 -2
  40. package/src/ExitOnCaughtUp.res.mjs +4 -4
  41. package/src/FetchState.res +190 -112
  42. package/src/FetchState.res.mjs +151 -77
  43. package/src/FinalizeBackfill.res +2 -2
  44. package/src/FinalizeBackfill.res.mjs +4 -6
  45. package/src/HandlerLoader.res +15 -20
  46. package/src/HandlerLoader.res.mjs +15 -22
  47. package/src/HandlerRegister.res +257 -55
  48. package/src/HandlerRegister.res.mjs +184 -30
  49. package/src/HandlerRegister.resi +12 -3
  50. package/src/HandlerRuntime.res +61 -0
  51. package/src/HandlerRuntime.res.mjs +72 -0
  52. package/src/HandlerTypeCheck.res +207 -0
  53. package/src/HandlerTypeCheck.res.mjs +262 -0
  54. package/src/Hasura.res +128 -107
  55. package/src/Hasura.res.mjs +73 -60
  56. package/src/InMemoryStore.res +0 -4
  57. package/src/InMemoryStore.res.mjs +1 -1
  58. package/src/InMemoryTable.res +58 -38
  59. package/src/InMemoryTable.res.mjs +26 -11
  60. package/src/IndexerLoop.res +5 -1
  61. package/src/IndexerLoop.res.mjs +4 -2
  62. package/src/IndexerState.res +55 -22
  63. package/src/IndexerState.res.mjs +51 -19
  64. package/src/IndexerState.resi +11 -4
  65. package/src/Internal.res +111 -43
  66. package/src/Internal.res.mjs +20 -4
  67. package/src/LoadLayer.res +86 -90
  68. package/src/LoadLayer.res.mjs +22 -19
  69. package/src/LoadLayer.resi +0 -6
  70. package/src/LogSelection.res +185 -183
  71. package/src/LogSelection.res.mjs +91 -96
  72. package/src/Logger.res +478 -0
  73. package/src/Logger.res.mjs +453 -0
  74. package/src/Main.res +60 -14
  75. package/src/Main.res.mjs +54 -32
  76. package/src/Metrics.res +7 -0
  77. package/src/Metrics.res.mjs +1 -0
  78. package/src/Persistence.res +96 -57
  79. package/src/Persistence.res.mjs +73 -38
  80. package/src/PgWriting.res +36 -0
  81. package/src/PgWriting.res.mjs +34 -0
  82. package/src/PruneStaleHistory.res +42 -27
  83. package/src/PruneStaleHistory.res.mjs +24 -20
  84. package/src/Reading.res +238 -0
  85. package/src/Reading.res.mjs +197 -0
  86. package/src/ReorgDetection.res +0 -12
  87. package/src/ReorgDetection.res.mjs +1 -18
  88. package/src/ResumePlan.res +3 -1
  89. package/src/ResumePlan.res.mjs +4 -1
  90. package/src/Rollback.res +30 -19
  91. package/src/Rollback.res.mjs +8 -10
  92. package/src/RunScope.res +129 -0
  93. package/src/RunScope.res.mjs +144 -0
  94. package/src/Server.res +4 -3
  95. package/src/Server.res.mjs +5 -5
  96. package/src/SimulateDeadInputTracker.res +22 -11
  97. package/src/SimulateDeadInputTracker.res.mjs +24 -12
  98. package/src/SimulateItems.res +182 -47
  99. package/src/SimulateItems.res.mjs +365 -237
  100. package/src/Staging.res +44 -23
  101. package/src/Staging.res.mjs +17 -11
  102. package/src/Storage.res +1519 -0
  103. package/src/Storage.res.mjs +1187 -0
  104. package/src/Supervisor.res +61 -38
  105. package/src/Supervisor.res.mjs +48 -36
  106. package/src/TestIndexer.res +26 -17
  107. package/src/TestIndexer.res.mjs +21 -14
  108. package/src/Throttler.res +2 -7
  109. package/src/Throttler.res.mjs +3 -4
  110. package/src/Throttler.resi +1 -1
  111. package/src/Time.res +6 -6
  112. package/src/Time.res.mjs +2 -4
  113. package/src/UserContext.res +228 -281
  114. package/src/UserContext.res.mjs +133 -167
  115. package/src/Utils.res +33 -69
  116. package/src/Utils.res.mjs +20 -48
  117. package/src/Worker.res +2 -2
  118. package/src/Worker.res.mjs +3 -3
  119. package/src/Writing.res +3 -0
  120. package/src/Writing.res.mjs +1 -1
  121. package/src/bindings/BigDecimal.res +3 -1
  122. package/src/bindings/BigDecimal.res.mjs +1 -1
  123. package/src/bindings/ClickHouse.res +184 -281
  124. package/src/bindings/ClickHouse.res.mjs +187 -308
  125. package/src/bindings/NodeJs.res +39 -0
  126. package/src/bindings/NodeJs.res.mjs +3 -0
  127. package/src/bindings/StorageClient.res +473 -0
  128. package/src/bindings/StorageClient.res.mjs +58 -0
  129. package/src/bindings/Vitest.res +3 -0
  130. package/src/db/CheckpointSequence.res +0 -44
  131. package/src/db/CheckpointSequence.res.mjs +0 -37
  132. package/src/db/EntityFilter.res +4 -5
  133. package/src/db/EntityFilter.res.mjs +12 -3
  134. package/src/db/EntityHistory.res +0 -181
  135. package/src/db/EntityHistory.res.mjs +1 -100
  136. package/src/db/IndexDefinition.res +21 -105
  137. package/src/db/IndexDefinition.res.mjs +40 -111
  138. package/src/db/InternalTable.res +4 -913
  139. package/src/db/InternalTable.res.mjs +7 -689
  140. package/src/db/LoadCondition.res +31 -0
  141. package/src/db/LoadFilter.res +127 -0
  142. package/src/db/LoadFilter.res.mjs +178 -0
  143. package/src/db/Sql.res +123 -0
  144. package/src/db/Sql.res.mjs +127 -0
  145. package/src/db/Table.res +54 -169
  146. package/src/db/Table.res.mjs +147 -131
  147. package/src/sources/BlockItem.res +53 -0
  148. package/src/sources/BlockItem.res.mjs +51 -0
  149. package/src/sources/ChainSources.res +11 -4
  150. package/src/sources/ChainSources.res.mjs +8 -4
  151. package/src/sources/Evm.res +5 -13
  152. package/src/sources/Evm.res.mjs +8 -11
  153. package/src/sources/EvmChain.res +8 -0
  154. package/src/sources/EvmChain.res.mjs +8 -2
  155. package/src/sources/EvmHyperSyncSource.res +39 -13
  156. package/src/sources/EvmHyperSyncSource.res.mjs +22 -7
  157. package/src/sources/EvmRpcClient.res +14 -2
  158. package/src/sources/EvmRpcClient.res.mjs +6 -2
  159. package/src/sources/Fuel.res +5 -13
  160. package/src/sources/Fuel.res.mjs +5 -11
  161. package/src/sources/FuelHyperSyncClient.res +3 -3
  162. package/src/sources/FuelHyperSyncSource.res +22 -14
  163. package/src/sources/FuelHyperSyncSource.res.mjs +6 -7
  164. package/src/sources/HeightFeed.res +37 -31
  165. package/src/sources/HeightFeed.res.mjs +17 -24
  166. package/src/sources/HyperSync.res +21 -29
  167. package/src/sources/HyperSync.res.mjs +13 -20
  168. package/src/sources/HyperSync.resi +9 -12
  169. package/src/sources/HyperSyncClient.res +47 -41
  170. package/src/sources/HyperSyncClient.res.mjs +22 -19
  171. package/src/sources/RpcSource.res +45 -8
  172. package/src/sources/RpcSource.res.mjs +33 -9
  173. package/src/sources/SimulateSource.res +145 -35
  174. package/src/sources/SimulateSource.res.mjs +114 -27
  175. package/src/sources/Source.res +9 -9
  176. package/src/sources/SourceManager.res +205 -157
  177. package/src/sources/SourceManager.res.mjs +81 -80
  178. package/src/sources/SourceManager.resi +18 -13
  179. package/src/sources/StartBlockResolver.res +17 -19
  180. package/src/sources/StartBlockResolver.res.mjs +10 -11
  181. package/src/sources/Svm.res +29 -25
  182. package/src/sources/Svm.res.mjs +15 -13
  183. package/src/sources/SvmHyperSyncClient.res +26 -23
  184. package/src/sources/SvmHyperSyncClient.res.mjs +5 -4
  185. package/src/sources/SvmHyperSyncSource.res +21 -15
  186. package/src/sources/SvmHyperSyncSource.res.mjs +20 -15
  187. package/src/sources/TransactionItem.res +76 -0
  188. package/src/sources/TransactionItem.res.mjs +62 -0
  189. package/src/tui/Tui.res +21 -55
  190. package/src/tui/Tui.res.mjs +18 -42
  191. package/svm.schema.json +13 -53
  192. package/src/HandlerTypeCheck.mjs +0 -14
  193. package/src/HandlerTypeCheckWorker.mjs +0 -68
  194. package/src/Logging.res +0 -184
  195. package/src/Logging.res.mjs +0 -254
  196. package/src/PgStorage.res +0 -2823
  197. package/src/PgStorage.res.mjs +0 -1796
  198. package/src/Sink.res +0 -58
  199. package/src/Sink.res.mjs +0 -38
  200. package/src/TopicFilter.res +0 -3
  201. package/src/TopicFilter.res.mjs +0 -12
  202. package/src/bindings/ClickHouseSink.res +0 -196
  203. package/src/bindings/ClickHouseSink.res.mjs +0 -93
  204. package/src/bindings/Pino.res +0 -188
  205. package/src/bindings/Pino.res.mjs +0 -106
  206. package/src/bindings/Postgres.res +0 -131
  207. package/src/bindings/Postgres.res.mjs +0 -20
  208. package/src/bindings/Viem.res +0 -6
  209. package/src/db/IndexCatalog.res +0 -248
  210. package/src/db/IndexCatalog.res.mjs +0 -222
  211. package/src/db/IndexManager.res +0 -145
  212. package/src/db/IndexManager.res.mjs +0 -130
  213. /package/src/{bindings/Viem.res.mjs → db/LoadCondition.res.mjs} +0 -0
package/evm.schema.json CHANGED
@@ -39,7 +39,7 @@
39
39
  "minimum": 0
40
40
  },
41
41
  "storage": {
42
- "description": "Storage backends the indexer writes data to. Defaults to Postgres when omitted. Set `clickhouse: true` to additionally sync the indexed data to ClickHouse. Mark a backend with `default: true` to store entities that don't have an @storage directive in the schema, e.g. `clickhouse: {default: true}`.",
42
+ "description": "Where the indexer keeps entities. Postgres is always enabled and keeps them by default. Set `clickhouse: true` and mark an entity `@storage(clickhouse: true)` in the schema to keep it in ClickHouse, or set `clickhouse: {default: true}` to keep every unmarked entity there. Entities kept only in ClickHouse aren't served over GraphQL.",
43
43
  "anyOf": [
44
44
  {
45
45
  "$ref": "#/$defs/StorageConfig"
@@ -137,6 +137,13 @@
137
137
  "type": "null"
138
138
  }
139
139
  ]
140
+ },
141
+ "strict_hex_type": {
142
+ "description": "If true, the `Hex` type of bytes params, block and transaction hashes and `Bytes` fields is `0x${string}` instead of `string` (default: false)",
143
+ "type": [
144
+ "boolean",
145
+ "null"
146
+ ]
140
147
  }
141
148
  },
142
149
  "additionalProperties": false,
@@ -149,7 +156,7 @@
149
156
  "type": "object",
150
157
  "properties": {
151
158
  "postgres": {
152
- "description": "Whether to use Postgres as a storage backend (default: true). Accepts a boolean or an options object (the object form implies the backend is enabled).",
159
+ "description": "Always enabled. Accepts `true` or an options object.",
153
160
  "anyOf": [
154
161
  {
155
162
  "type": [
@@ -161,7 +168,7 @@
161
168
  "type": "object",
162
169
  "properties": {
163
170
  "default": {
164
- "description": "Whether entities without an @storage directive are stored in this backend (default: true when Postgres is the only enabled backend, false otherwise).",
171
+ "description": "Whether entities without an @storage directive are kept here (default: true, unless `clickhouse: {default: true}` is set).",
165
172
  "type": [
166
173
  "boolean",
167
174
  "null"
@@ -185,7 +192,7 @@
185
192
  ]
186
193
  },
187
194
  "clickhouse": {
188
- "description": "Whether to additionally sync the indexed data to ClickHouse. Requires Postgres to be enabled (default: false). Accepts a boolean or an options object (the object form implies the backend is enabled).",
195
+ "description": "Whether to enable ClickHouse (default: false). Accepts a boolean or an options object.",
189
196
  "anyOf": [
190
197
  {
191
198
  "type": [
@@ -197,7 +204,7 @@
197
204
  "type": "object",
198
205
  "properties": {
199
206
  "default": {
200
- "description": "Whether entities without an @storage directive are stored in this backend (default: false).",
207
+ "description": "Whether entities without an @storage directive are kept here (default: false). Set it together with `postgres: {default: true}` to keep them in both.",
201
208
  "type": [
202
209
  "boolean",
203
210
  "null"
@@ -222,56 +229,16 @@
222
229
  }
223
230
  },
224
231
  "additionalProperties": false,
225
- "allOf": [
226
- {
227
- "not": {
228
- "properties": {
229
- "postgres": {
230
- "const": false
231
- }
232
- },
233
- "required": [
234
- "postgres"
235
- ]
232
+ "not": {
233
+ "properties": {
234
+ "postgres": {
235
+ "const": false
236
236
  }
237
237
  },
238
- {
239
- "if": {
240
- "properties": {
241
- "clickhouse": {
242
- "anyOf": [
243
- {
244
- "const": true
245
- },
246
- {
247
- "type": "object"
248
- }
249
- ]
250
- }
251
- },
252
- "required": [
253
- "clickhouse"
254
- ]
255
- },
256
- "then": {
257
- "properties": {
258
- "postgres": {
259
- "anyOf": [
260
- {
261
- "const": true
262
- },
263
- {
264
- "type": "object"
265
- }
266
- ]
267
- }
268
- },
269
- "required": [
270
- "postgres"
271
- ]
272
- }
273
- }
274
- ]
238
+ "required": [
239
+ "postgres"
240
+ ]
241
+ }
275
242
  },
276
243
  "EcosystemTag": {
277
244
  "type": "string",
@@ -543,7 +510,7 @@
543
510
  "type": "object",
544
511
  "properties": {
545
512
  "url": {
546
- "description": "The RPC endpoint URL.",
513
+ "description": "The RPC endpoint URL. An entry whose url is empty, for example `${RPC_URL:-}` with the variable unset, is ignored.",
547
514
  "type": "string"
548
515
  },
549
516
  "for": {
package/fuel.schema.json CHANGED
@@ -39,7 +39,7 @@
39
39
  "minimum": 0
40
40
  },
41
41
  "storage": {
42
- "description": "Storage backends the indexer writes data to. Defaults to Postgres when omitted. Set `clickhouse: true` to additionally sync the indexed data to ClickHouse. Mark a backend with `default: true` to store entities that don't have an @storage directive in the schema, e.g. `clickhouse: {default: true}`.",
42
+ "description": "Where the indexer keeps entities. Postgres is always enabled and keeps them by default. Set `clickhouse: true` and mark an entity `@storage(clickhouse: true)` in the schema to keep it in ClickHouse, or set `clickhouse: {default: true}` to keep every unmarked entity there. Entities kept only in ClickHouse aren't served over GraphQL.",
43
43
  "anyOf": [
44
44
  {
45
45
  "$ref": "#/$defs/StorageConfig"
@@ -94,6 +94,13 @@
94
94
  "type": "null"
95
95
  }
96
96
  ]
97
+ },
98
+ "strict_hex_type": {
99
+ "description": "If true, the `Hex` type of bytes params, block and transaction hashes and `Bytes` fields is `0x${string}` instead of `string` (default: false)",
100
+ "type": [
101
+ "boolean",
102
+ "null"
103
+ ]
97
104
  }
98
105
  },
99
106
  "additionalProperties": false,
@@ -107,7 +114,7 @@
107
114
  "type": "object",
108
115
  "properties": {
109
116
  "postgres": {
110
- "description": "Whether to use Postgres as a storage backend (default: true). Accepts a boolean or an options object (the object form implies the backend is enabled).",
117
+ "description": "Always enabled. Accepts `true` or an options object.",
111
118
  "anyOf": [
112
119
  {
113
120
  "type": [
@@ -119,7 +126,7 @@
119
126
  "type": "object",
120
127
  "properties": {
121
128
  "default": {
122
- "description": "Whether entities without an @storage directive are stored in this backend (default: true when Postgres is the only enabled backend, false otherwise).",
129
+ "description": "Whether entities without an @storage directive are kept here (default: true, unless `clickhouse: {default: true}` is set).",
123
130
  "type": [
124
131
  "boolean",
125
132
  "null"
@@ -143,7 +150,7 @@
143
150
  ]
144
151
  },
145
152
  "clickhouse": {
146
- "description": "Whether to additionally sync the indexed data to ClickHouse. Requires Postgres to be enabled (default: false). Accepts a boolean or an options object (the object form implies the backend is enabled).",
153
+ "description": "Whether to enable ClickHouse (default: false). Accepts a boolean or an options object.",
147
154
  "anyOf": [
148
155
  {
149
156
  "type": [
@@ -155,7 +162,7 @@
155
162
  "type": "object",
156
163
  "properties": {
157
164
  "default": {
158
- "description": "Whether entities without an @storage directive are stored in this backend (default: false).",
165
+ "description": "Whether entities without an @storage directive are kept here (default: false). Set it together with `postgres: {default: true}` to keep them in both.",
159
166
  "type": [
160
167
  "boolean",
161
168
  "null"
@@ -180,56 +187,16 @@
180
187
  }
181
188
  },
182
189
  "additionalProperties": false,
183
- "allOf": [
184
- {
185
- "not": {
186
- "properties": {
187
- "postgres": {
188
- "const": false
189
- }
190
- },
191
- "required": [
192
- "postgres"
193
- ]
190
+ "not": {
191
+ "properties": {
192
+ "postgres": {
193
+ "const": false
194
194
  }
195
195
  },
196
- {
197
- "if": {
198
- "properties": {
199
- "clickhouse": {
200
- "anyOf": [
201
- {
202
- "const": true
203
- },
204
- {
205
- "type": "object"
206
- }
207
- ]
208
- }
209
- },
210
- "required": [
211
- "clickhouse"
212
- ]
213
- },
214
- "then": {
215
- "properties": {
216
- "postgres": {
217
- "anyOf": [
218
- {
219
- "const": true
220
- },
221
- {
222
- "type": "object"
223
- }
224
- ]
225
- }
226
- },
227
- "required": [
228
- "postgres"
229
- ]
230
- }
231
- }
232
- ]
196
+ "required": [
197
+ "postgres"
198
+ ]
199
+ }
233
200
  },
234
201
  "EcosystemTag": {
235
202
  "type": "string",