envio 3.3.0-alpha.1 → 3.3.0-alpha.11
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 +10 -0
- package/index.d.ts +45 -25
- package/licenses/CLA.md +35 -0
- package/licenses/EULA.md +67 -0
- package/licenses/LICENSE.md +45 -0
- package/licenses/README.md +35 -0
- package/package.json +10 -9
- package/src/Address.res +5 -2
- package/src/Address.res.mjs +3 -1
- package/src/Api.res +1 -1
- package/src/Api.res.mjs +1 -1
- package/src/Batch.res +0 -6
- package/src/Batch.res.mjs +1 -12
- package/src/BatchProcessing.res +7 -12
- package/src/BatchProcessing.res.mjs +8 -7
- package/src/Bin.res +3 -0
- package/src/Bin.res.mjs +4 -0
- package/src/ChainFetching.res +53 -16
- package/src/ChainFetching.res.mjs +37 -19
- package/src/ChainMetadata.res +1 -11
- package/src/ChainMetadata.res.mjs +1 -10
- package/src/ChainState.res +630 -161
- package/src/ChainState.res.mjs +438 -101
- package/src/ChainState.resi +77 -4
- package/src/Config.res +70 -38
- package/src/Config.res.mjs +52 -12
- package/src/ContractRegisterContext.res +2 -12
- package/src/ContractRegisterContext.res.mjs +3 -5
- package/src/Core.res +34 -3
- package/src/Core.res.mjs +12 -0
- package/src/CrossChainState.res +130 -89
- package/src/CrossChainState.res.mjs +66 -61
- package/src/CrossChainState.resi +1 -1
- package/src/Ecosystem.res +5 -6
- package/src/Ecosystem.res.mjs +3 -3
- package/src/Envio.res +17 -11
- package/src/EnvioGlobal.res +53 -0
- package/src/EnvioGlobal.res.mjs +31 -0
- package/src/EventConfigBuilder.res +191 -127
- package/src/EventConfigBuilder.res.mjs +116 -66
- package/src/EventProcessing.res +77 -28
- package/src/EventProcessing.res.mjs +56 -29
- package/src/ExitOnCaughtUp.res +10 -2
- package/src/ExitOnCaughtUp.res.mjs +10 -1
- package/src/FetchState.res +684 -415
- package/src/FetchState.res.mjs +505 -486
- package/src/HandlerLoader.res +8 -104
- package/src/HandlerLoader.res.mjs +2 -81
- package/src/HandlerRegister.res +520 -144
- package/src/HandlerRegister.res.mjs +286 -133
- package/src/HandlerRegister.resi +24 -8
- package/src/IndexerState.res +10 -3
- package/src/IndexerState.res.mjs +11 -4
- package/src/IndexerState.resi +2 -1
- package/src/IndexingAddresses.res +108 -0
- package/src/IndexingAddresses.res.mjs +101 -0
- package/src/IndexingAddresses.resi +34 -0
- package/src/Internal.res +166 -48
- package/src/Internal.res.mjs +30 -2
- package/src/LoadLayer.res +5 -5
- package/src/LoadLayer.res.mjs +6 -6
- package/src/LogSelection.res +92 -217
- package/src/LogSelection.res.mjs +95 -184
- package/src/Main.res +71 -236
- package/src/Main.res.mjs +60 -145
- package/src/Metrics.res +74 -0
- package/src/Metrics.res.mjs +75 -0
- package/src/PgStorage.res +4 -4
- package/src/PgStorage.res.mjs +5 -5
- package/src/Prometheus.res +10 -63
- package/src/Prometheus.res.mjs +124 -171
- package/src/PruneStaleHistory.res +2 -2
- package/src/PruneStaleHistory.res.mjs +3 -3
- package/src/RawEvent.res +7 -2
- package/src/RawEvent.res.mjs +4 -4
- package/src/Rollback.res +3 -3
- package/src/Rollback.res.mjs +4 -4
- package/src/RollbackCommit.res +4 -1
- package/src/RollbackCommit.res.mjs +3 -2
- package/src/SimulateDeadInputTracker.res +85 -0
- package/src/SimulateDeadInputTracker.res.mjs +73 -0
- package/src/SimulateDeadInputTracker.resi +12 -0
- package/src/SimulateItems.res +128 -28
- package/src/SimulateItems.res.mjs +82 -40
- package/src/TestIndexer.res +55 -41
- package/src/TestIndexer.res.mjs +39 -32
- package/src/TopicFilter.res +1 -25
- package/src/TopicFilter.res.mjs +0 -74
- package/src/bindings/Performance.res +7 -0
- package/src/bindings/Performance.res.mjs +21 -0
- package/src/bindings/Performance.resi +7 -0
- package/src/bindings/Viem.res +0 -46
- package/src/bindings/Viem.res.mjs +1 -43
- package/src/sources/BlockStore.res +46 -0
- package/src/sources/BlockStore.res.mjs +24 -0
- package/src/sources/EventRouter.res +31 -49
- package/src/sources/EventRouter.res.mjs +12 -25
- package/src/sources/Evm.res +83 -72
- package/src/sources/Evm.res.mjs +53 -69
- package/src/sources/EvmChain.res +7 -34
- package/src/sources/EvmChain.res.mjs +6 -27
- package/src/sources/EvmRpcClient.res +71 -5
- package/src/sources/EvmRpcClient.res.mjs +13 -4
- package/src/sources/FieldMask.res +39 -0
- package/src/sources/FieldMask.res.mjs +42 -0
- package/src/sources/Fuel.res +9 -6
- package/src/sources/Fuel.res.mjs +5 -10
- package/src/sources/HyperFuelSource.res +46 -50
- package/src/sources/HyperFuelSource.res.mjs +64 -54
- package/src/sources/HyperSync.res +45 -42
- package/src/sources/HyperSync.res.mjs +68 -60
- package/src/sources/HyperSync.resi +14 -4
- package/src/sources/HyperSyncClient.res +107 -119
- package/src/sources/HyperSyncClient.res.mjs +36 -31
- package/src/sources/HyperSyncHeightStream.res +1 -8
- package/src/sources/HyperSyncHeightStream.res.mjs +0 -2
- package/src/sources/HyperSyncSource.res +60 -254
- package/src/sources/HyperSyncSource.res.mjs +57 -180
- package/src/sources/Rpc.res +15 -79
- package/src/sources/Rpc.res.mjs +25 -101
- package/src/sources/RpcSource.res +221 -514
- package/src/sources/RpcSource.res.mjs +216 -411
- package/src/sources/RpcWebSocketHeightStream.res +0 -5
- package/src/sources/RpcWebSocketHeightStream.res.mjs +0 -2
- package/src/sources/SimulateSource.res +44 -20
- package/src/sources/SimulateSource.res.mjs +41 -14
- package/src/sources/Source.res +34 -6
- package/src/sources/SourceManager.res +77 -19
- package/src/sources/SourceManager.res.mjs +63 -21
- package/src/sources/SourceManager.resi +10 -0
- package/src/sources/Svm.res +31 -16
- package/src/sources/Svm.res.mjs +36 -13
- package/src/sources/SvmHyperSyncClient.res +5 -32
- package/src/sources/SvmHyperSyncSource.res +159 -134
- package/src/sources/SvmHyperSyncSource.res.mjs +164 -129
- package/src/sources/TransactionStore.res +49 -0
- package/src/sources/TransactionStore.res.mjs +30 -0
- package/src/tui/Tui.res +13 -16
- package/src/tui/Tui.res.mjs +12 -14
- package/svm.schema.json +49 -37
- package/src/bindings/Hrtime.res +0 -58
- package/src/bindings/Hrtime.res.mjs +0 -90
- package/src/bindings/Hrtime.resi +0 -30
package/src/Prometheus.res
CHANGED
|
@@ -212,7 +212,7 @@ module PreloadHandler = {
|
|
|
212
212
|
|
|
213
213
|
type operationRef = {
|
|
214
214
|
mutable pendingCount: int,
|
|
215
|
-
timerRef:
|
|
215
|
+
timerRef: Performance.timeRef,
|
|
216
216
|
}
|
|
217
217
|
let operations: dict<operationRef> = Dict.make()
|
|
218
218
|
|
|
@@ -227,11 +227,11 @@ module PreloadHandler = {
|
|
|
227
227
|
key,
|
|
228
228
|
{
|
|
229
229
|
pendingCount: 1,
|
|
230
|
-
timerRef:
|
|
230
|
+
timerRef: Performance.now(),
|
|
231
231
|
},
|
|
232
232
|
)
|
|
233
233
|
}
|
|
234
|
-
|
|
234
|
+
Performance.now()
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
let endOperation = (timerRef, ~contract, ~event) => {
|
|
@@ -242,14 +242,11 @@ module PreloadHandler = {
|
|
|
242
242
|
if operationRef.pendingCount === 0 {
|
|
243
243
|
timeCounter->SafeCounter.handleFloat(
|
|
244
244
|
~labels,
|
|
245
|
-
~value=operationRef.timerRef->
|
|
245
|
+
~value=operationRef.timerRef->Performance.secondsSince,
|
|
246
246
|
)
|
|
247
247
|
operations->Utils.Dict.deleteInPlace(key)
|
|
248
248
|
}
|
|
249
|
-
sumTimeCounter->SafeCounter.handleFloat(
|
|
250
|
-
~labels,
|
|
251
|
-
~value=timerRef->Hrtime.timeSince->Hrtime.toSecondsFloat,
|
|
252
|
-
)
|
|
249
|
+
sumTimeCounter->SafeCounter.handleFloat(~labels, ~value=timerRef->Performance.secondsSince)
|
|
253
250
|
count->SafeCounter.increment(~labels)
|
|
254
251
|
}
|
|
255
252
|
}
|
|
@@ -339,18 +336,6 @@ module ProcessStartTimeSeconds = {
|
|
|
339
336
|
}
|
|
340
337
|
}
|
|
341
338
|
|
|
342
|
-
module IndexingAddresses = {
|
|
343
|
-
let gauge = SafeGauge.makeOrThrow(
|
|
344
|
-
~name="envio_indexing_addresses",
|
|
345
|
-
~help="The number of addresses indexed on chain. Includes both static and dynamic addresses.",
|
|
346
|
-
~labelSchema=chainIdLabelsSchema,
|
|
347
|
-
)
|
|
348
|
-
|
|
349
|
-
let set = (~addressesCount, ~chainId) => {
|
|
350
|
-
gauge->SafeGauge.handleInt(~labels=chainId, ~value=addressesCount)
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
339
|
module IndexingConcurrency = {
|
|
355
340
|
let gauge = SafeGauge.makeOrThrow(
|
|
356
341
|
~name="envio_indexing_concurrency",
|
|
@@ -453,41 +438,6 @@ let sourceLabelsSchema = S.schema(s =>
|
|
|
453
438
|
}
|
|
454
439
|
)
|
|
455
440
|
|
|
456
|
-
let sourceRequestLabelsSchema = S.schema(s =>
|
|
457
|
-
{
|
|
458
|
-
"source": s.matches(S.string),
|
|
459
|
-
"chainId": s.matches(S.string->S.coerce(S.int)),
|
|
460
|
-
"method": s.matches(S.string),
|
|
461
|
-
}
|
|
462
|
-
)
|
|
463
|
-
|
|
464
|
-
module SourceRequestCount = {
|
|
465
|
-
let counter = SafeCounter.makeOrThrow(
|
|
466
|
-
~name="envio_source_request_total",
|
|
467
|
-
~help="The number of requests made to data sources.",
|
|
468
|
-
~labelSchema=sourceRequestLabelsSchema,
|
|
469
|
-
)
|
|
470
|
-
|
|
471
|
-
let sumTimeCounter = SafeCounter.makeOrThrow(
|
|
472
|
-
~name="envio_source_request_seconds_total",
|
|
473
|
-
~help="Cumulative time spent on data source requests.",
|
|
474
|
-
~labelSchema=sourceRequestLabelsSchema,
|
|
475
|
-
)
|
|
476
|
-
|
|
477
|
-
let increment = (~sourceName, ~chainId, ~method) => {
|
|
478
|
-
counter->SafeCounter.increment(
|
|
479
|
-
~labels={"source": sourceName, "chainId": chainId, "method": method},
|
|
480
|
-
)
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
let addSeconds = (~sourceName, ~chainId, ~method, ~seconds) => {
|
|
484
|
-
sumTimeCounter->SafeCounter.handleFloat(
|
|
485
|
-
~labels={"source": sourceName, "chainId": chainId, "method": method},
|
|
486
|
-
~value=seconds,
|
|
487
|
-
)
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
|
|
491
441
|
module SourceHeight = {
|
|
492
442
|
let gauge = SafeGauge.makeOrThrow(
|
|
493
443
|
~name="envio_source_known_height",
|
|
@@ -764,7 +714,7 @@ module StorageLoad = {
|
|
|
764
714
|
|
|
765
715
|
type operationRef = {
|
|
766
716
|
mutable pendingCount: int,
|
|
767
|
-
timerRef:
|
|
717
|
+
timerRef: Performance.timeRef,
|
|
768
718
|
}
|
|
769
719
|
let operations = Dict.make()
|
|
770
720
|
|
|
@@ -780,12 +730,12 @@ module StorageLoad = {
|
|
|
780
730
|
(
|
|
781
731
|
{
|
|
782
732
|
pendingCount: 1,
|
|
783
|
-
timerRef:
|
|
733
|
+
timerRef: Performance.now(),
|
|
784
734
|
}: operationRef
|
|
785
735
|
),
|
|
786
736
|
)
|
|
787
737
|
}
|
|
788
|
-
|
|
738
|
+
Performance.now()
|
|
789
739
|
}
|
|
790
740
|
|
|
791
741
|
let endOperation = (timerRef, ~storage, ~operation, ~whereSize, ~size) => {
|
|
@@ -796,14 +746,11 @@ module StorageLoad = {
|
|
|
796
746
|
if operationRef.pendingCount === 0 {
|
|
797
747
|
timeCounter->SafeCounter.handleFloat(
|
|
798
748
|
~labels,
|
|
799
|
-
~value=operationRef.timerRef->
|
|
749
|
+
~value=operationRef.timerRef->Performance.secondsSince,
|
|
800
750
|
)
|
|
801
751
|
operations->Utils.Dict.deleteInPlace(key)
|
|
802
752
|
}
|
|
803
|
-
sumTimeCounter->SafeCounter.handleFloat(
|
|
804
|
-
~labels,
|
|
805
|
-
~value=timerRef->Hrtime.timeSince->Hrtime.toSecondsFloat,
|
|
806
|
-
)
|
|
753
|
+
sumTimeCounter->SafeCounter.handleFloat(~labels, ~value=timerRef->Performance.secondsSince)
|
|
807
754
|
counter->SafeCounter.increment(~labels)
|
|
808
755
|
whereSizeCounter->SafeCounter.handleInt(~labels, ~value=whereSize)
|
|
809
756
|
sizeCounter->SafeCounter.handleInt(~labels, ~value=size)
|