envio 3.15.0-sidecars.4 → 3.15.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.
- package/evm.schema.json +20 -149
- package/fuel.schema.json +20 -149
- package/index.d.ts +244 -274
- package/index.js +0 -2
- package/package.json +8 -27
- package/src/Address.res +0 -47
- package/src/Address.res.mjs +0 -34
- package/src/Batch.res +7 -78
- package/src/Batch.res.mjs +13 -52
- package/src/BatchProcessing.res +17 -12
- package/src/BatchProcessing.res.mjs +6 -6
- package/src/Bin.res +16 -21
- package/src/Bin.res.mjs +18 -22
- package/src/ChainFetching.res +113 -101
- package/src/ChainFetching.res.mjs +75 -66
- package/src/ChainState.res +106 -65
- package/src/ChainState.res.mjs +112 -88
- package/src/ChainState.resi +5 -9
- package/src/Config.res +77 -129
- package/src/Config.res.mjs +78 -98
- package/src/ContractRegisterContext.res +84 -86
- package/src/ContractRegisterContext.res.mjs +44 -62
- package/src/Core.res +17 -11
- package/src/CrossChainState.res +10 -12
- package/src/CrossChainState.res.mjs +6 -10
- package/src/Ecosystem.res +41 -47
- package/src/Ecosystem.res.mjs +19 -43
- package/src/EntityTables.res +1 -5
- package/src/EntityTables.res.mjs +3 -10
- package/src/Env.res +27 -67
- package/src/Env.res.mjs +28 -61
- package/src/Envio.res +1 -1
- package/src/Envio.res.mjs +1 -2
- package/src/ErrorHandling.res +19 -29
- package/src/ErrorHandling.res.mjs +17 -30
- package/src/EventConfigBuilder.res +86 -38
- package/src/EventConfigBuilder.res.mjs +60 -24
- package/src/EventProcessing.res +103 -305
- package/src/EventProcessing.res.mjs +103 -185
- package/src/ExitOnCaughtUp.res +5 -10
- package/src/ExitOnCaughtUp.res.mjs +10 -15
- package/src/FetchState.res +116 -92
- package/src/FetchState.res.mjs +82 -74
- package/src/FinalizeBackfill.res +2 -2
- package/src/FinalizeBackfill.res.mjs +4 -6
- package/src/HandlerLoader.res +9 -10
- package/src/HandlerLoader.res.mjs +9 -11
- package/src/HandlerRegister.res +47 -91
- package/src/HandlerRegister.res.mjs +35 -68
- package/src/HandlerRegister.resi +3 -7
- package/src/HandlerRuntime.res +61 -0
- package/src/HandlerRuntime.res.mjs +72 -0
- package/src/Hasura.res +127 -158
- package/src/Hasura.res.mjs +74 -99
- package/src/InMemoryStore.res +0 -4
- package/src/InMemoryStore.res.mjs +1 -1
- package/src/InMemoryTable.res +58 -38
- package/src/InMemoryTable.res.mjs +26 -11
- package/src/IndexerLoop.res +5 -1
- package/src/IndexerLoop.res.mjs +4 -2
- package/src/IndexerState.res +56 -131
- package/src/IndexerState.res.mjs +54 -126
- package/src/IndexerState.resi +11 -10
- package/src/Internal.res +69 -93
- package/src/Internal.res.mjs +12 -6
- package/src/LoadLayer.res +86 -90
- package/src/LoadLayer.res.mjs +22 -19
- package/src/LoadLayer.resi +0 -6
- package/src/LogSelection.res +185 -183
- package/src/LogSelection.res.mjs +91 -96
- package/src/Logger.res +478 -0
- package/src/Logger.res.mjs +453 -0
- package/src/Main.res +32 -64
- package/src/Main.res.mjs +28 -50
- package/src/Metrics.res +7 -186
- package/src/Metrics.res.mjs +2 -153
- package/src/Persistence.res +86 -44
- package/src/Persistence.res.mjs +71 -35
- package/src/PruneStaleHistory.res +41 -21
- package/src/PruneStaleHistory.res.mjs +23 -18
- package/src/ReorgDetection.res +0 -12
- package/src/ReorgDetection.res.mjs +1 -18
- package/src/ResumePlan.res +3 -1
- package/src/ResumePlan.res.mjs +4 -1
- package/src/Rollback.res +30 -19
- package/src/Rollback.res.mjs +8 -10
- package/src/RunScope.res +129 -0
- package/src/RunScope.res.mjs +144 -0
- package/src/Server.res +6 -37
- package/src/Server.res.mjs +6 -32
- package/src/SimulateDeadInputTracker.res +3 -2
- package/src/SimulateDeadInputTracker.res.mjs +4 -6
- package/src/SimulateItems.res +103 -36
- package/src/SimulateItems.res.mjs +308 -233
- package/src/Staging.res +1 -1
- package/src/{PgStorage.res → Storage.res} +524 -574
- package/src/{PgStorage.res.mjs → Storage.res.mjs} +358 -365
- package/src/Supervisor.res +42 -57
- package/src/Supervisor.res.mjs +34 -59
- package/src/TestIndexer.res +24 -73
- package/src/TestIndexer.res.mjs +22 -55
- package/src/Throttler.res +2 -7
- package/src/Throttler.res.mjs +3 -4
- package/src/Throttler.resi +1 -1
- package/src/Time.res +6 -6
- package/src/Time.res.mjs +2 -4
- package/src/TsModuleHooks.mjs +1 -11
- package/src/UserContext.res +220 -425
- package/src/UserContext.res.mjs +128 -300
- package/src/Utils.res +24 -27
- package/src/Utils.res.mjs +16 -23
- package/src/Worker.res +3 -10
- package/src/Worker.res.mjs +5 -11
- package/src/Writing.res +0 -22
- package/src/Writing.res.mjs +0 -5
- package/src/bindings/BigDecimal.res +3 -1
- package/src/bindings/BigDecimal.res.mjs +1 -1
- package/src/bindings/ClickHouse.res +184 -281
- package/src/bindings/ClickHouse.res.mjs +187 -308
- package/src/bindings/Express.res +0 -9
- package/src/bindings/NodeJs.res +4 -2
- package/src/bindings/{PgClient.res → StorageClient.res} +153 -40
- package/src/bindings/{PgClient.res.mjs → StorageClient.res.mjs} +11 -6
- package/src/bindings/Vitest.res +3 -0
- package/src/db/EntityFilter.res +1 -3
- package/src/db/EntityFilter.res.mjs +2 -1
- package/src/db/InternalTable.res +3 -97
- package/src/db/InternalTable.res.mjs +4 -45
- package/src/db/LoadFilter.res +3 -3
- package/src/db/LoadFilter.res.mjs +3 -2
- package/src/db/Sql.res +35 -15
- package/src/db/Sql.res.mjs +24 -8
- package/src/db/Table.res +2 -4
- package/src/sources/BlockItem.res +53 -0
- package/src/sources/BlockItem.res.mjs +51 -0
- package/src/sources/ChainSources.res +9 -4
- package/src/sources/ChainSources.res.mjs +7 -4
- package/src/sources/Evm.res +5 -13
- package/src/sources/Evm.res.mjs +8 -11
- package/src/sources/EvmChain.res +5 -0
- package/src/sources/EvmChain.res.mjs +5 -2
- package/src/sources/EvmHyperSyncSource.res +26 -13
- package/src/sources/EvmHyperSyncSource.res.mjs +19 -7
- package/src/sources/EvmRpcClient.res +11 -2
- package/src/sources/EvmRpcClient.res.mjs +4 -2
- package/src/sources/Fuel.res +5 -13
- package/src/sources/Fuel.res.mjs +5 -11
- package/src/sources/FuelHyperSyncClient.res +3 -3
- package/src/sources/FuelHyperSyncSource.res +22 -14
- package/src/sources/FuelHyperSyncSource.res.mjs +6 -7
- package/src/sources/HeightFeed.res +37 -31
- package/src/sources/HeightFeed.res.mjs +17 -24
- package/src/sources/HyperSync.res +22 -30
- package/src/sources/HyperSync.res.mjs +12 -20
- package/src/sources/HyperSync.resi +8 -12
- package/src/sources/HyperSyncClient.res +45 -43
- package/src/sources/HyperSyncClient.res.mjs +20 -19
- package/src/sources/RpcSource.res +15 -4
- package/src/sources/RpcSource.res.mjs +10 -6
- package/src/sources/SimulateSource.res +125 -29
- package/src/sources/SimulateSource.res.mjs +92 -20
- package/src/sources/Source.res +9 -9
- package/src/sources/SourceManager.res +146 -121
- package/src/sources/SourceManager.res.mjs +53 -64
- package/src/sources/SourceManager.resi +18 -13
- package/src/sources/StartBlockResolver.res +17 -19
- package/src/sources/StartBlockResolver.res.mjs +10 -11
- package/src/sources/Svm.res +29 -25
- package/src/sources/Svm.res.mjs +15 -13
- package/src/sources/SvmHyperSyncClient.res +29 -40
- package/src/sources/SvmHyperSyncClient.res.mjs +5 -7
- package/src/sources/SvmHyperSyncSource.res +22 -16
- package/src/sources/SvmHyperSyncSource.res.mjs +21 -16
- package/src/tui/Tui.res +10 -54
- package/src/tui/Tui.res.mjs +6 -41
- package/svm.schema.json +13 -149
- package/sidecar.d.ts +0 -1
- package/sidecar.js +0 -1
- package/src/Logging.res +0 -184
- package/src/Logging.res.mjs +0 -254
- package/src/Sink.res +0 -58
- package/src/Sink.res.mjs +0 -38
- package/src/TopicFilter.res +0 -3
- package/src/TopicFilter.res.mjs +0 -12
- package/src/bindings/ClickHouseSink.res +0 -196
- package/src/bindings/ClickHouseSink.res.mjs +0 -93
- package/src/bindings/Pino.res +0 -188
- package/src/bindings/Pino.res.mjs +0 -106
- package/src/bindings/Viem.res +0 -6
- package/src/bindings/Viem.res.mjs +0 -2
- package/src/sidecar/ChildOutput.res +0 -19
- package/src/sidecar/ChildOutput.res.mjs +0 -28
- package/src/sidecar/ResolverActions.res +0 -27
- package/src/sidecar/ResolverActions.res.mjs +0 -17
- package/src/sidecar/ServeProcess.res +0 -162
- package/src/sidecar/ServeProcess.res.mjs +0 -223
- package/src/sidecar/SidecarCall.res +0 -13
- package/src/sidecar/SidecarCall.res.mjs +0 -2
- package/src/sidecar/SidecarContract.res +0 -77
- package/src/sidecar/SidecarContract.res.mjs +0 -85
- package/src/sidecar/SidecarProcess.res +0 -220
- package/src/sidecar/SidecarProcess.res.mjs +0 -266
- package/src/sidecar/SidecarSender.res +0 -593
- package/src/sidecar/SidecarSender.res.mjs +0 -670
- package/src/sidecar/WebhookListener.res +0 -265
- package/src/sidecar/WebhookListener.res.mjs +0 -288
- package/src/sidecar/client.d.ts +0 -107
- package/src/sidecar/client.js +0 -443
- package/src/sidecar/contract.d.ts +0 -67
- package/src/sidecar/contract.js +0 -62
- package/src/sidecar/emit.d.ts +0 -105
- package/src/sidecar/emit.js +0 -284
- package/src/sidecar/env.d.ts +0 -75
- package/src/sidecar/env.js +0 -120
- package/src/sidecar/index.d.ts +0 -8
- package/src/sidecar/index.js +0 -8
- package/src/sidecar/log.d.ts +0 -23
- package/src/sidecar/log.js +0 -50
- package/src/sidecar/metrics.d.ts +0 -16
- package/src/sidecar/metrics.js +0 -80
- package/src/sidecar/resolvers.d.ts +0 -104
- package/src/sidecar/resolvers.js +0 -111
- package/src/sidecar/runtime.d.ts +0 -168
- package/src/sidecar/runtime.js +0 -727
- package/src/sidecar/sql.d.ts +0 -60
- package/src/sidecar/sql.js +0 -263
package/evm.schema.json
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"minimum": 0
|
|
40
40
|
},
|
|
41
41
|
"storage": {
|
|
42
|
-
"description": "
|
|
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"
|
|
@@ -56,40 +56,6 @@
|
|
|
56
56
|
"null"
|
|
57
57
|
]
|
|
58
58
|
},
|
|
59
|
-
"sidecar": {
|
|
60
|
-
"description": "A sidecar: your own long-running TypeScript process, run next to the indexer by `envio sidecar` (and started by `envio dev`). Handlers call its functions through `context.sidecar.<name>(input)` without waiting.",
|
|
61
|
-
"anyOf": [
|
|
62
|
-
{
|
|
63
|
-
"$ref": "#/$defs/SidecarConfig"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "null"
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
"resolvers": {
|
|
71
|
-
"description": "Extra root query fields in the GraphQL API, answered by your sidecar or a webhook. Each one is published as a Hasura action, so Hasura and envio serve call the handler with Hasura's action payload.",
|
|
72
|
-
"type": [
|
|
73
|
-
"object",
|
|
74
|
-
"null"
|
|
75
|
-
],
|
|
76
|
-
"additionalProperties": {
|
|
77
|
-
"$ref": "#/$defs/ResolverConfig"
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
"types": {
|
|
81
|
-
"description": "Output object types for `resolvers:`: type name to a map of field name to GraphQL type string (for example `address: \"String!\"`).",
|
|
82
|
-
"type": [
|
|
83
|
-
"object",
|
|
84
|
-
"null"
|
|
85
|
-
],
|
|
86
|
-
"additionalProperties": {
|
|
87
|
-
"type": "object",
|
|
88
|
-
"additionalProperties": {
|
|
89
|
-
"type": "string"
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
59
|
"ecosystem": {
|
|
94
60
|
"description": "Ecosystem of the project.",
|
|
95
61
|
"anyOf": [
|
|
@@ -171,6 +137,13 @@
|
|
|
171
137
|
"type": "null"
|
|
172
138
|
}
|
|
173
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
|
+
]
|
|
174
147
|
}
|
|
175
148
|
},
|
|
176
149
|
"additionalProperties": false,
|
|
@@ -183,7 +156,7 @@
|
|
|
183
156
|
"type": "object",
|
|
184
157
|
"properties": {
|
|
185
158
|
"postgres": {
|
|
186
|
-
"description": "
|
|
159
|
+
"description": "Always enabled. Accepts `true` or an options object.",
|
|
187
160
|
"anyOf": [
|
|
188
161
|
{
|
|
189
162
|
"type": [
|
|
@@ -195,7 +168,7 @@
|
|
|
195
168
|
"type": "object",
|
|
196
169
|
"properties": {
|
|
197
170
|
"default": {
|
|
198
|
-
"description": "Whether entities without an @storage directive are
|
|
171
|
+
"description": "Whether entities without an @storage directive are kept here (default: true, unless `clickhouse: {default: true}` is set).",
|
|
199
172
|
"type": [
|
|
200
173
|
"boolean",
|
|
201
174
|
"null"
|
|
@@ -219,7 +192,7 @@
|
|
|
219
192
|
]
|
|
220
193
|
},
|
|
221
194
|
"clickhouse": {
|
|
222
|
-
"description": "Whether to
|
|
195
|
+
"description": "Whether to enable ClickHouse (default: false). Accepts a boolean or an options object.",
|
|
223
196
|
"anyOf": [
|
|
224
197
|
{
|
|
225
198
|
"type": [
|
|
@@ -231,7 +204,7 @@
|
|
|
231
204
|
"type": "object",
|
|
232
205
|
"properties": {
|
|
233
206
|
"default": {
|
|
234
|
-
"description": "Whether entities without an @storage directive are
|
|
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.",
|
|
235
208
|
"type": [
|
|
236
209
|
"boolean",
|
|
237
210
|
"null"
|
|
@@ -256,118 +229,16 @@
|
|
|
256
229
|
}
|
|
257
230
|
},
|
|
258
231
|
"additionalProperties": false,
|
|
259
|
-
"
|
|
260
|
-
{
|
|
261
|
-
"
|
|
262
|
-
"
|
|
263
|
-
"postgres": {
|
|
264
|
-
"const": false
|
|
265
|
-
}
|
|
266
|
-
},
|
|
267
|
-
"required": [
|
|
268
|
-
"postgres"
|
|
269
|
-
]
|
|
232
|
+
"not": {
|
|
233
|
+
"properties": {
|
|
234
|
+
"postgres": {
|
|
235
|
+
"const": false
|
|
270
236
|
}
|
|
271
237
|
},
|
|
272
|
-
|
|
273
|
-
"
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
"anyOf": [
|
|
277
|
-
{
|
|
278
|
-
"const": true
|
|
279
|
-
},
|
|
280
|
-
{
|
|
281
|
-
"type": "object"
|
|
282
|
-
}
|
|
283
|
-
]
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
"required": [
|
|
287
|
-
"clickhouse"
|
|
288
|
-
]
|
|
289
|
-
},
|
|
290
|
-
"then": {
|
|
291
|
-
"properties": {
|
|
292
|
-
"postgres": {
|
|
293
|
-
"anyOf": [
|
|
294
|
-
{
|
|
295
|
-
"const": true
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
"type": "object"
|
|
299
|
-
}
|
|
300
|
-
]
|
|
301
|
-
}
|
|
302
|
-
},
|
|
303
|
-
"required": [
|
|
304
|
-
"postgres"
|
|
305
|
-
]
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
]
|
|
309
|
-
},
|
|
310
|
-
"SidecarConfig": {
|
|
311
|
-
"type": "object",
|
|
312
|
-
"properties": {
|
|
313
|
-
"contract": {
|
|
314
|
-
"description": "Relative path to the contract module: `export default defineSidecar({ functions, webhooks })`. Schemas only, since both the indexer and the sidecar load it. Types `context.sidecar`.",
|
|
315
|
-
"type": "string"
|
|
316
|
-
},
|
|
317
|
-
"entry": {
|
|
318
|
-
"description": "Relative path to the sidecar entry module, which default-exports the `createSidecar(contract, {...})` result. Keep it outside the handlers directory, which the indexer auto-loads.",
|
|
319
|
-
"type": "string"
|
|
320
|
-
}
|
|
321
|
-
},
|
|
322
|
-
"additionalProperties": false,
|
|
323
|
-
"required": [
|
|
324
|
-
"contract",
|
|
325
|
-
"entry"
|
|
326
|
-
]
|
|
327
|
-
},
|
|
328
|
-
"ResolverConfig": {
|
|
329
|
-
"type": "object",
|
|
330
|
-
"properties": {
|
|
331
|
-
"description": {
|
|
332
|
-
"description": "Shown as the field's description in the GraphQL schema.",
|
|
333
|
-
"type": [
|
|
334
|
-
"string",
|
|
335
|
-
"null"
|
|
336
|
-
]
|
|
337
|
-
},
|
|
338
|
-
"args": {
|
|
339
|
-
"description": "Argument name to GraphQL type string, for example `limit: \"Int!\"`. Scalars or lists of scalars.",
|
|
340
|
-
"type": [
|
|
341
|
-
"object",
|
|
342
|
-
"null"
|
|
343
|
-
],
|
|
344
|
-
"additionalProperties": {
|
|
345
|
-
"type": "string"
|
|
346
|
-
}
|
|
347
|
-
},
|
|
348
|
-
"output": {
|
|
349
|
-
"description": "GraphQL type string of the result, for example `\"[TopTrader!]!\"`. Scalars or types declared under `types:`.",
|
|
350
|
-
"type": "string"
|
|
351
|
-
},
|
|
352
|
-
"handler": {
|
|
353
|
-
"description": "`sidecar` (answered by the `resolvers` of your `createSidecar`) or an http(s):// URL that accepts Hasura's action payload.",
|
|
354
|
-
"type": "string"
|
|
355
|
-
},
|
|
356
|
-
"timeoutMs": {
|
|
357
|
-
"description": "How long the GraphQL layer waits for the handler. (default: 30000)",
|
|
358
|
-
"type": [
|
|
359
|
-
"integer",
|
|
360
|
-
"null"
|
|
361
|
-
],
|
|
362
|
-
"format": "uint64",
|
|
363
|
-
"minimum": 0
|
|
364
|
-
}
|
|
365
|
-
},
|
|
366
|
-
"additionalProperties": false,
|
|
367
|
-
"required": [
|
|
368
|
-
"output",
|
|
369
|
-
"handler"
|
|
370
|
-
]
|
|
238
|
+
"required": [
|
|
239
|
+
"postgres"
|
|
240
|
+
]
|
|
241
|
+
}
|
|
371
242
|
},
|
|
372
243
|
"EcosystemTag": {
|
|
373
244
|
"type": "string",
|
package/fuel.schema.json
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"minimum": 0
|
|
40
40
|
},
|
|
41
41
|
"storage": {
|
|
42
|
-
"description": "
|
|
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"
|
|
@@ -56,40 +56,6 @@
|
|
|
56
56
|
"null"
|
|
57
57
|
]
|
|
58
58
|
},
|
|
59
|
-
"sidecar": {
|
|
60
|
-
"description": "A sidecar: your own long-running TypeScript process, run next to the indexer by `envio sidecar` (and started by `envio dev`). Handlers call its functions through `context.sidecar.<name>(input)` without waiting.",
|
|
61
|
-
"anyOf": [
|
|
62
|
-
{
|
|
63
|
-
"$ref": "#/$defs/SidecarConfig"
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"type": "null"
|
|
67
|
-
}
|
|
68
|
-
]
|
|
69
|
-
},
|
|
70
|
-
"resolvers": {
|
|
71
|
-
"description": "Extra root query fields in the GraphQL API, answered by your sidecar or a webhook. Each one is published as a Hasura action, so Hasura and envio serve call the handler with Hasura's action payload.",
|
|
72
|
-
"type": [
|
|
73
|
-
"object",
|
|
74
|
-
"null"
|
|
75
|
-
],
|
|
76
|
-
"additionalProperties": {
|
|
77
|
-
"$ref": "#/$defs/ResolverConfig"
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
"types": {
|
|
81
|
-
"description": "Output object types for `resolvers:`: type name to a map of field name to GraphQL type string (for example `address: \"String!\"`).",
|
|
82
|
-
"type": [
|
|
83
|
-
"object",
|
|
84
|
-
"null"
|
|
85
|
-
],
|
|
86
|
-
"additionalProperties": {
|
|
87
|
-
"type": "object",
|
|
88
|
-
"additionalProperties": {
|
|
89
|
-
"type": "string"
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
59
|
"ecosystem": {
|
|
94
60
|
"description": "Ecosystem of the project.",
|
|
95
61
|
"$ref": "#/$defs/EcosystemTag"
|
|
@@ -128,6 +94,13 @@
|
|
|
128
94
|
"type": "null"
|
|
129
95
|
}
|
|
130
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
|
+
]
|
|
131
104
|
}
|
|
132
105
|
},
|
|
133
106
|
"additionalProperties": false,
|
|
@@ -141,7 +114,7 @@
|
|
|
141
114
|
"type": "object",
|
|
142
115
|
"properties": {
|
|
143
116
|
"postgres": {
|
|
144
|
-
"description": "
|
|
117
|
+
"description": "Always enabled. Accepts `true` or an options object.",
|
|
145
118
|
"anyOf": [
|
|
146
119
|
{
|
|
147
120
|
"type": [
|
|
@@ -153,7 +126,7 @@
|
|
|
153
126
|
"type": "object",
|
|
154
127
|
"properties": {
|
|
155
128
|
"default": {
|
|
156
|
-
"description": "Whether entities without an @storage directive are
|
|
129
|
+
"description": "Whether entities without an @storage directive are kept here (default: true, unless `clickhouse: {default: true}` is set).",
|
|
157
130
|
"type": [
|
|
158
131
|
"boolean",
|
|
159
132
|
"null"
|
|
@@ -177,7 +150,7 @@
|
|
|
177
150
|
]
|
|
178
151
|
},
|
|
179
152
|
"clickhouse": {
|
|
180
|
-
"description": "Whether to
|
|
153
|
+
"description": "Whether to enable ClickHouse (default: false). Accepts a boolean or an options object.",
|
|
181
154
|
"anyOf": [
|
|
182
155
|
{
|
|
183
156
|
"type": [
|
|
@@ -189,7 +162,7 @@
|
|
|
189
162
|
"type": "object",
|
|
190
163
|
"properties": {
|
|
191
164
|
"default": {
|
|
192
|
-
"description": "Whether entities without an @storage directive are
|
|
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.",
|
|
193
166
|
"type": [
|
|
194
167
|
"boolean",
|
|
195
168
|
"null"
|
|
@@ -214,118 +187,16 @@
|
|
|
214
187
|
}
|
|
215
188
|
},
|
|
216
189
|
"additionalProperties": false,
|
|
217
|
-
"
|
|
218
|
-
{
|
|
219
|
-
"
|
|
220
|
-
"
|
|
221
|
-
"postgres": {
|
|
222
|
-
"const": false
|
|
223
|
-
}
|
|
224
|
-
},
|
|
225
|
-
"required": [
|
|
226
|
-
"postgres"
|
|
227
|
-
]
|
|
228
|
-
}
|
|
229
|
-
},
|
|
230
|
-
{
|
|
231
|
-
"if": {
|
|
232
|
-
"properties": {
|
|
233
|
-
"clickhouse": {
|
|
234
|
-
"anyOf": [
|
|
235
|
-
{
|
|
236
|
-
"const": true
|
|
237
|
-
},
|
|
238
|
-
{
|
|
239
|
-
"type": "object"
|
|
240
|
-
}
|
|
241
|
-
]
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
"required": [
|
|
245
|
-
"clickhouse"
|
|
246
|
-
]
|
|
247
|
-
},
|
|
248
|
-
"then": {
|
|
249
|
-
"properties": {
|
|
250
|
-
"postgres": {
|
|
251
|
-
"anyOf": [
|
|
252
|
-
{
|
|
253
|
-
"const": true
|
|
254
|
-
},
|
|
255
|
-
{
|
|
256
|
-
"type": "object"
|
|
257
|
-
}
|
|
258
|
-
]
|
|
259
|
-
}
|
|
260
|
-
},
|
|
261
|
-
"required": [
|
|
262
|
-
"postgres"
|
|
263
|
-
]
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
]
|
|
267
|
-
},
|
|
268
|
-
"SidecarConfig": {
|
|
269
|
-
"type": "object",
|
|
270
|
-
"properties": {
|
|
271
|
-
"contract": {
|
|
272
|
-
"description": "Relative path to the contract module: `export default defineSidecar({ functions, webhooks })`. Schemas only, since both the indexer and the sidecar load it. Types `context.sidecar`.",
|
|
273
|
-
"type": "string"
|
|
274
|
-
},
|
|
275
|
-
"entry": {
|
|
276
|
-
"description": "Relative path to the sidecar entry module, which default-exports the `createSidecar(contract, {...})` result. Keep it outside the handlers directory, which the indexer auto-loads.",
|
|
277
|
-
"type": "string"
|
|
278
|
-
}
|
|
279
|
-
},
|
|
280
|
-
"additionalProperties": false,
|
|
281
|
-
"required": [
|
|
282
|
-
"contract",
|
|
283
|
-
"entry"
|
|
284
|
-
]
|
|
285
|
-
},
|
|
286
|
-
"ResolverConfig": {
|
|
287
|
-
"type": "object",
|
|
288
|
-
"properties": {
|
|
289
|
-
"description": {
|
|
290
|
-
"description": "Shown as the field's description in the GraphQL schema.",
|
|
291
|
-
"type": [
|
|
292
|
-
"string",
|
|
293
|
-
"null"
|
|
294
|
-
]
|
|
295
|
-
},
|
|
296
|
-
"args": {
|
|
297
|
-
"description": "Argument name to GraphQL type string, for example `limit: \"Int!\"`. Scalars or lists of scalars.",
|
|
298
|
-
"type": [
|
|
299
|
-
"object",
|
|
300
|
-
"null"
|
|
301
|
-
],
|
|
302
|
-
"additionalProperties": {
|
|
303
|
-
"type": "string"
|
|
190
|
+
"not": {
|
|
191
|
+
"properties": {
|
|
192
|
+
"postgres": {
|
|
193
|
+
"const": false
|
|
304
194
|
}
|
|
305
195
|
},
|
|
306
|
-
"
|
|
307
|
-
"
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
"handler": {
|
|
311
|
-
"description": "`sidecar` (answered by the `resolvers` of your `createSidecar`) or an http(s):// URL that accepts Hasura's action payload.",
|
|
312
|
-
"type": "string"
|
|
313
|
-
},
|
|
314
|
-
"timeoutMs": {
|
|
315
|
-
"description": "How long the GraphQL layer waits for the handler. (default: 30000)",
|
|
316
|
-
"type": [
|
|
317
|
-
"integer",
|
|
318
|
-
"null"
|
|
319
|
-
],
|
|
320
|
-
"format": "uint64",
|
|
321
|
-
"minimum": 0
|
|
322
|
-
}
|
|
323
|
-
},
|
|
324
|
-
"additionalProperties": false,
|
|
325
|
-
"required": [
|
|
326
|
-
"output",
|
|
327
|
-
"handler"
|
|
328
|
-
]
|
|
196
|
+
"required": [
|
|
197
|
+
"postgres"
|
|
198
|
+
]
|
|
199
|
+
}
|
|
329
200
|
},
|
|
330
201
|
"EcosystemTag": {
|
|
331
202
|
"type": "string",
|