envio 3.0.0-alpha.21 → 3.0.0-alpha.22
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/bin.mjs +2 -48
- package/evm.schema.json +67 -0
- package/fuel.schema.json +67 -0
- package/index.d.ts +822 -38
- package/index.js +5 -3
- package/package.json +10 -8
- package/rescript.json +5 -9
- package/src/Address.res +4 -5
- package/src/Address.res.mjs +9 -12
- package/src/Api.res +15 -0
- package/src/Api.res.mjs +20 -0
- package/src/Batch.res +32 -34
- package/src/Batch.res.mjs +172 -187
- package/src/Bin.res +89 -0
- package/src/Bin.res.mjs +97 -0
- package/src/ChainFetcher.res +33 -57
- package/src/ChainFetcher.res.mjs +197 -227
- package/src/ChainManager.res +6 -14
- package/src/ChainManager.res.mjs +74 -85
- package/src/ChainMap.res +14 -16
- package/src/ChainMap.res.mjs +38 -38
- package/src/Config.res +193 -135
- package/src/Config.res.mjs +566 -592
- package/src/Core.res +182 -0
- package/src/Core.res.mjs +207 -0
- package/src/Ecosystem.res +25 -4
- package/src/Ecosystem.res.mjs +12 -13
- package/src/Env.res +20 -13
- package/src/Env.res.mjs +124 -113
- package/src/EnvSafe.res +269 -0
- package/src/EnvSafe.res.mjs +296 -0
- package/src/EnvSafe.resi +18 -0
- package/src/Envio.res +37 -26
- package/src/Envio.res.mjs +59 -60
- package/src/ErrorHandling.res +2 -2
- package/src/ErrorHandling.res.mjs +15 -15
- package/src/EventConfigBuilder.res +219 -81
- package/src/EventConfigBuilder.res.mjs +259 -202
- package/src/EventProcessing.res +27 -38
- package/src/EventProcessing.res.mjs +165 -183
- package/src/EventUtils.res +11 -11
- package/src/EventUtils.res.mjs +21 -22
- package/src/EvmTypes.res +0 -1
- package/src/EvmTypes.res.mjs +5 -5
- package/src/FetchState.res +360 -256
- package/src/FetchState.res.mjs +958 -914
- package/src/GlobalState.res +365 -351
- package/src/GlobalState.res.mjs +958 -992
- package/src/GlobalStateManager.res +1 -2
- package/src/GlobalStateManager.res.mjs +36 -44
- package/src/HandlerLoader.res +107 -23
- package/src/HandlerLoader.res.mjs +128 -38
- package/src/HandlerRegister.res +127 -103
- package/src/HandlerRegister.res.mjs +164 -164
- package/src/HandlerRegister.resi +12 -4
- package/src/Hasura.res +35 -22
- package/src/Hasura.res.mjs +158 -167
- package/src/InMemoryStore.res +20 -27
- package/src/InMemoryStore.res.mjs +64 -80
- package/src/InMemoryTable.res +34 -39
- package/src/InMemoryTable.res.mjs +165 -170
- package/src/Internal.res +52 -33
- package/src/Internal.res.mjs +84 -81
- package/src/LazyLoader.res.mjs +55 -61
- package/src/LoadLayer.res +77 -78
- package/src/LoadLayer.res.mjs +160 -189
- package/src/LoadManager.res +16 -21
- package/src/LoadManager.res.mjs +79 -84
- package/src/LogSelection.res +236 -68
- package/src/LogSelection.res.mjs +211 -141
- package/src/Logging.res +13 -9
- package/src/Logging.res.mjs +130 -143
- package/src/Main.res +428 -51
- package/src/Main.res.mjs +528 -271
- package/src/Persistence.res +77 -84
- package/src/Persistence.res.mjs +131 -132
- package/src/PgStorage.res +291 -167
- package/src/PgStorage.res.mjs +797 -817
- package/src/Prometheus.res +50 -58
- package/src/Prometheus.res.mjs +345 -373
- package/src/ReorgDetection.res +22 -24
- package/src/ReorgDetection.res.mjs +100 -106
- package/src/SafeCheckpointTracking.res +7 -7
- package/src/SafeCheckpointTracking.res.mjs +40 -43
- package/src/SimulateItems.res +41 -49
- package/src/SimulateItems.res.mjs +257 -272
- package/src/Sink.res +2 -2
- package/src/Sink.res.mjs +22 -26
- package/src/TableIndices.res +1 -2
- package/src/TableIndices.res.mjs +42 -48
- package/src/TestIndexer.res +196 -189
- package/src/TestIndexer.res.mjs +536 -536
- package/src/TestIndexerProxyStorage.res +15 -16
- package/src/TestIndexerProxyStorage.res.mjs +98 -122
- package/src/TestIndexerWorker.res +4 -0
- package/src/TestIndexerWorker.res.mjs +7 -0
- package/src/Throttler.res +3 -3
- package/src/Throttler.res.mjs +23 -24
- package/src/Time.res +1 -1
- package/src/Time.res.mjs +18 -21
- package/src/TopicFilter.res +3 -3
- package/src/TopicFilter.res.mjs +29 -30
- package/src/UserContext.res +93 -54
- package/src/UserContext.res.mjs +197 -182
- package/src/Utils.res +141 -86
- package/src/Utils.res.mjs +334 -295
- package/src/bindings/BigDecimal.res +0 -2
- package/src/bindings/BigDecimal.res.mjs +19 -23
- package/src/bindings/ClickHouse.res +28 -27
- package/src/bindings/ClickHouse.res.mjs +243 -240
- package/src/bindings/DateFns.res +11 -11
- package/src/bindings/DateFns.res.mjs +7 -7
- package/src/bindings/EventSource.res.mjs +2 -2
- package/src/bindings/Express.res +2 -5
- package/src/bindings/Hrtime.res +2 -2
- package/src/bindings/Hrtime.res.mjs +30 -32
- package/src/bindings/Lodash.res.mjs +1 -1
- package/src/bindings/NodeJs.res +14 -9
- package/src/bindings/NodeJs.res.mjs +20 -20
- package/src/bindings/Pino.res +8 -10
- package/src/bindings/Pino.res.mjs +40 -43
- package/src/bindings/Postgres.res +2 -5
- package/src/bindings/Postgres.res.mjs +9 -9
- package/src/bindings/PromClient.res +17 -2
- package/src/bindings/PromClient.res.mjs +30 -7
- package/src/bindings/SDSL.res.mjs +2 -2
- package/src/bindings/Viem.res +4 -4
- package/src/bindings/Viem.res.mjs +20 -22
- package/src/bindings/Vitest.res +1 -1
- package/src/bindings/Vitest.res.mjs +2 -2
- package/src/bindings/WebSocket.res +1 -1
- package/src/db/EntityHistory.res +9 -3
- package/src/db/EntityHistory.res.mjs +84 -59
- package/src/db/InternalTable.res +62 -60
- package/src/db/InternalTable.res.mjs +271 -203
- package/src/db/Schema.res +1 -2
- package/src/db/Schema.res.mjs +28 -32
- package/src/db/Table.res +28 -27
- package/src/db/Table.res.mjs +276 -292
- package/src/sources/EventRouter.res +21 -16
- package/src/sources/EventRouter.res.mjs +55 -57
- package/src/sources/Evm.res +17 -1
- package/src/sources/Evm.res.mjs +16 -8
- package/src/sources/EvmChain.res +15 -17
- package/src/sources/EvmChain.res.mjs +40 -42
- package/src/sources/Fuel.res +14 -1
- package/src/sources/Fuel.res.mjs +16 -8
- package/src/sources/FuelSDK.res +1 -1
- package/src/sources/FuelSDK.res.mjs +6 -8
- package/src/sources/HyperFuel.res +8 -10
- package/src/sources/HyperFuel.res.mjs +113 -123
- package/src/sources/HyperFuelClient.res.mjs +6 -7
- package/src/sources/HyperFuelSource.res +19 -20
- package/src/sources/HyperFuelSource.res.mjs +339 -356
- package/src/sources/HyperSync.res +11 -13
- package/src/sources/HyperSync.res.mjs +206 -220
- package/src/sources/HyperSyncClient.res +5 -7
- package/src/sources/HyperSyncClient.res.mjs +70 -75
- package/src/sources/HyperSyncHeightStream.res +8 -9
- package/src/sources/HyperSyncHeightStream.res.mjs +78 -86
- package/src/sources/HyperSyncJsonApi.res +18 -15
- package/src/sources/HyperSyncJsonApi.res.mjs +201 -231
- package/src/sources/HyperSyncSource.res +17 -21
- package/src/sources/HyperSyncSource.res.mjs +268 -290
- package/src/sources/Rpc.res +5 -5
- package/src/sources/Rpc.res.mjs +168 -192
- package/src/sources/RpcSource.res +166 -167
- package/src/sources/RpcSource.res.mjs +972 -1046
- package/src/sources/RpcWebSocketHeightStream.res +10 -11
- package/src/sources/RpcWebSocketHeightStream.res.mjs +131 -145
- package/src/sources/SimulateSource.res +1 -1
- package/src/sources/SimulateSource.res.mjs +35 -38
- package/src/sources/Source.res +1 -1
- package/src/sources/Source.res.mjs +3 -3
- package/src/sources/SourceManager.res +39 -20
- package/src/sources/SourceManager.res.mjs +340 -371
- package/src/sources/SourceManager.resi +2 -1
- package/src/sources/Svm.res +12 -5
- package/src/sources/Svm.res.mjs +44 -41
- package/src/tui/Tui.res +23 -12
- package/src/tui/Tui.res.mjs +292 -290
- package/src/tui/bindings/Ink.res +2 -4
- package/src/tui/bindings/Ink.res.mjs +35 -41
- package/src/tui/components/BufferedProgressBar.res +7 -7
- package/src/tui/components/BufferedProgressBar.res.mjs +46 -46
- package/src/tui/components/CustomHooks.res +1 -2
- package/src/tui/components/CustomHooks.res.mjs +102 -122
- package/src/tui/components/Messages.res +1 -2
- package/src/tui/components/Messages.res.mjs +38 -42
- package/src/tui/components/SyncETA.res +10 -11
- package/src/tui/components/SyncETA.res.mjs +178 -196
- package/src/tui/components/TuiData.res +1 -1
- package/src/tui/components/TuiData.res.mjs +7 -6
- package/src/vendored/Rest.res +52 -66
- package/src/vendored/Rest.res.mjs +324 -364
- package/svm.schema.json +67 -0
- package/src/Address.gen.ts +0 -8
- package/src/Config.gen.ts +0 -19
- package/src/Envio.gen.ts +0 -55
- package/src/EvmTypes.gen.ts +0 -6
- package/src/InMemoryStore.gen.ts +0 -6
- package/src/Internal.gen.ts +0 -64
- package/src/PgStorage.gen.ts +0 -10
- package/src/PgStorage.res.d.mts +0 -5
- package/src/Types.ts +0 -56
- package/src/bindings/BigDecimal.gen.ts +0 -14
- package/src/bindings/BigDecimal.res.d.mts +0 -5
- package/src/bindings/BigInt.gen.ts +0 -10
- package/src/bindings/BigInt.res +0 -70
- package/src/bindings/BigInt.res.d.mts +0 -5
- package/src/bindings/BigInt.res.mjs +0 -154
- package/src/bindings/Ethers.res.d.mts +0 -5
- package/src/bindings/Pino.gen.ts +0 -17
- package/src/bindings/Postgres.gen.ts +0 -8
- package/src/bindings/Postgres.res.d.mts +0 -5
- package/src/bindings/Promise.res +0 -67
- package/src/bindings/Promise.res.mjs +0 -26
- package/src/db/InternalTable.gen.ts +0 -36
- 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/
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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 */
|
package/src/TableIndices.res
CHANGED
|
@@ -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
|
package/src/TableIndices.res.mjs
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
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
|
|
8
|
+
return `[` + Belt_Array.joinWith(tNonOptional, ",", toString) + `]`;
|
|
9
9
|
}
|
|
10
10
|
switch (typeof tNonOptional) {
|
|
11
11
|
case "string" :
|
|
12
|
-
|
|
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
|
-
|
|
17
|
+
return tNonOptional.toString();
|
|
18
18
|
case "boolean" :
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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 (
|
|
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
|
|
39
|
+
return Primitive_object.equal(a, b);
|
|
41
40
|
}
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
function gt(a, b) {
|
|
45
|
-
if (
|
|
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
|
|
47
|
+
return Primitive_object.greaterthan(a, b);
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
function lt(a, b) {
|
|
53
|
-
if (
|
|
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
|
|
55
|
+
return Primitive_object.lessthan(a, b);
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
58
|
|
|
60
|
-
|
|
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
|
-
|
|
66
|
+
let values = [
|
|
68
67
|
"Eq",
|
|
69
68
|
"Gt",
|
|
70
69
|
"Lt"
|
|
71
70
|
];
|
|
72
71
|
|
|
73
|
-
|
|
72
|
+
let Operator = {
|
|
74
73
|
values: values
|
|
75
74
|
};
|
|
76
75
|
|
|
77
76
|
function make(fieldName, fieldValue, operator) {
|
|
78
77
|
return {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
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 +
|
|
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
|
-
|
|
92
|
+
let match = self.operator;
|
|
94
93
|
switch (match) {
|
|
95
94
|
case "Eq" :
|
|
96
|
-
|
|
95
|
+
return eq(fieldValue, self.fieldValue);
|
|
97
96
|
case "Gt" :
|
|
98
|
-
|
|
97
|
+
return gt(fieldValue, self.fieldValue);
|
|
99
98
|
case "Lt" :
|
|
100
|
-
|
|
101
|
-
|
|
99
|
+
return lt(fieldValue, self.fieldValue);
|
|
102
100
|
}
|
|
103
101
|
}
|
|
104
102
|
|
|
105
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
|
|
124
|
-
return toString$2(index);
|
|
125
|
-
}
|
|
121
|
+
let toString$3 = toString$2;
|
|
126
122
|
|
|
127
|
-
|
|
128
|
-
return evaluate(index, fieldName, fieldValue);
|
|
129
|
-
}
|
|
123
|
+
let evaluate$1 = evaluate;
|
|
130
124
|
|
|
131
|
-
|
|
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 */
|