envio 3.0.0-alpha.2 → 3.0.0-alpha.20
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/README.md +164 -30
- package/bin.mjs +49 -0
- package/evm.schema.json +79 -169
- package/fuel.schema.json +50 -21
- package/index.d.ts +497 -1
- package/index.js +4 -0
- package/package.json +42 -31
- package/rescript.json +4 -1
- package/src/Batch.res +11 -8
- package/src/Batch.res.mjs +11 -9
- package/src/ChainFetcher.res +531 -0
- package/src/ChainFetcher.res.mjs +339 -0
- package/src/ChainManager.res +190 -0
- package/src/ChainManager.res.mjs +166 -0
- package/src/Change.res +3 -3
- package/src/Config.gen.ts +19 -0
- package/src/Config.res +737 -22
- package/src/Config.res.mjs +703 -26
- package/src/{Indexer.res → Ctx.res} +1 -1
- package/src/Ecosystem.res +9 -124
- package/src/Ecosystem.res.mjs +19 -160
- package/src/Env.res +30 -74
- package/src/Env.res.mjs +25 -87
- package/src/Envio.gen.ts +3 -1
- package/src/Envio.res +20 -9
- package/src/EventProcessing.res +469 -0
- package/src/EventProcessing.res.mjs +337 -0
- package/src/EvmTypes.gen.ts +6 -0
- package/src/EvmTypes.res +1 -0
- package/src/FetchState.res +1256 -639
- package/src/FetchState.res.mjs +1135 -612
- package/src/GlobalState.res +1190 -0
- package/src/GlobalState.res.mjs +1183 -0
- package/src/GlobalStateManager.res +68 -0
- package/src/GlobalStateManager.res.mjs +75 -0
- package/src/GlobalStateManager.resi +7 -0
- package/src/HandlerLoader.res +89 -0
- package/src/HandlerLoader.res.mjs +79 -0
- package/src/HandlerRegister.res +357 -0
- package/src/HandlerRegister.res.mjs +299 -0
- package/src/{EventRegister.resi → HandlerRegister.resi} +13 -13
- package/src/Hasura.res +111 -175
- package/src/Hasura.res.mjs +88 -150
- package/src/InMemoryStore.res +1 -1
- package/src/InMemoryStore.res.mjs +3 -3
- package/src/InMemoryTable.res +1 -1
- package/src/InMemoryTable.res.mjs +1 -1
- package/src/Internal.gen.ts +4 -0
- package/src/Internal.res +230 -12
- package/src/Internal.res.mjs +115 -1
- package/src/LoadLayer.res +444 -0
- package/src/LoadLayer.res.mjs +296 -0
- package/src/LoadLayer.resi +32 -0
- package/src/LogSelection.res +33 -27
- package/src/LogSelection.res.mjs +6 -0
- package/src/Logging.res +21 -7
- package/src/Logging.res.mjs +16 -8
- package/src/Main.res +377 -0
- package/src/Main.res.mjs +339 -0
- package/src/Persistence.res +7 -21
- package/src/Persistence.res.mjs +3 -3
- package/src/PgStorage.gen.ts +10 -0
- package/src/PgStorage.res +116 -69
- package/src/PgStorage.res.d.mts +5 -0
- package/src/PgStorage.res.mjs +93 -50
- package/src/Prometheus.res +294 -224
- package/src/Prometheus.res.mjs +353 -340
- package/src/ReorgDetection.res +6 -10
- package/src/ReorgDetection.res.mjs +6 -6
- package/src/SafeCheckpointTracking.res +4 -4
- package/src/SafeCheckpointTracking.res.mjs +2 -2
- package/src/Sink.res +4 -2
- package/src/Sink.res.mjs +2 -1
- package/src/TableIndices.res +0 -1
- package/src/TestIndexer.res +692 -0
- package/src/TestIndexer.res.mjs +527 -0
- package/src/TestIndexerProxyStorage.res +205 -0
- package/src/TestIndexerProxyStorage.res.mjs +151 -0
- package/src/TopicFilter.res +1 -1
- package/src/Types.ts +1 -1
- package/src/UserContext.res +424 -0
- package/src/UserContext.res.mjs +279 -0
- package/src/Utils.res +97 -26
- package/src/Utils.res.mjs +91 -44
- package/src/bindings/BigInt.res +10 -0
- package/src/bindings/BigInt.res.mjs +15 -0
- package/src/bindings/ClickHouse.res +120 -23
- package/src/bindings/ClickHouse.res.mjs +118 -28
- package/src/bindings/DateFns.res +74 -0
- package/src/bindings/DateFns.res.mjs +22 -0
- package/src/bindings/EventSource.res +8 -1
- package/src/bindings/EventSource.res.mjs +8 -1
- package/src/bindings/Express.res +1 -0
- package/src/bindings/Hrtime.res +14 -1
- package/src/bindings/Hrtime.res.mjs +22 -2
- package/src/bindings/Hrtime.resi +4 -0
- package/src/bindings/Lodash.res +0 -1
- package/src/bindings/NodeJs.res +49 -3
- package/src/bindings/NodeJs.res.mjs +11 -3
- package/src/bindings/Pino.res +24 -10
- package/src/bindings/Pino.res.mjs +14 -8
- package/src/bindings/Postgres.gen.ts +8 -0
- package/src/bindings/Postgres.res +5 -1
- package/src/bindings/Postgres.res.d.mts +5 -0
- package/src/bindings/PromClient.res +0 -10
- package/src/bindings/PromClient.res.mjs +0 -3
- package/src/bindings/Vitest.res +142 -0
- package/src/bindings/Vitest.res.mjs +9 -0
- package/src/bindings/WebSocket.res +27 -0
- package/src/bindings/WebSocket.res.mjs +2 -0
- package/src/bindings/Yargs.res +8 -0
- package/src/bindings/Yargs.res.mjs +2 -0
- package/src/db/EntityHistory.res +7 -7
- package/src/db/EntityHistory.res.mjs +9 -9
- package/src/db/InternalTable.res +59 -111
- package/src/db/InternalTable.res.mjs +73 -104
- package/src/db/Table.res +27 -8
- package/src/db/Table.res.mjs +25 -14
- package/src/sources/Evm.res +84 -0
- package/src/sources/Evm.res.mjs +105 -0
- package/src/sources/EvmChain.res +94 -0
- package/src/sources/EvmChain.res.mjs +60 -0
- package/src/sources/Fuel.res +19 -34
- package/src/sources/Fuel.res.mjs +34 -16
- package/src/sources/FuelSDK.res +38 -0
- package/src/sources/FuelSDK.res.mjs +29 -0
- package/src/sources/HyperFuel.res +2 -2
- package/src/sources/HyperFuel.resi +1 -1
- package/src/sources/HyperFuelClient.res +2 -2
- package/src/sources/HyperFuelSource.res +33 -13
- package/src/sources/HyperFuelSource.res.mjs +24 -16
- package/src/sources/HyperSync.res +36 -6
- package/src/sources/HyperSync.res.mjs +9 -7
- package/src/sources/HyperSync.resi +4 -0
- package/src/sources/HyperSyncClient.res +1 -1
- package/src/sources/HyperSyncHeightStream.res +47 -116
- package/src/sources/HyperSyncHeightStream.res.mjs +46 -73
- package/src/sources/HyperSyncSource.res +118 -139
- package/src/sources/HyperSyncSource.res.mjs +104 -121
- package/src/sources/Rpc.res +86 -14
- package/src/sources/Rpc.res.mjs +101 -9
- package/src/sources/RpcSource.res +621 -364
- package/src/sources/RpcSource.res.mjs +843 -410
- package/src/sources/RpcWebSocketHeightStream.res +181 -0
- package/src/sources/RpcWebSocketHeightStream.res.mjs +196 -0
- package/src/sources/Source.res +7 -5
- package/src/sources/SourceManager.res +325 -225
- package/src/sources/SourceManager.res.mjs +314 -171
- package/src/sources/SourceManager.resi +17 -6
- package/src/sources/Svm.res +81 -0
- package/src/sources/Svm.res.mjs +90 -0
- package/src/tui/Tui.res +247 -0
- package/src/tui/Tui.res.mjs +337 -0
- package/src/tui/bindings/Ink.res +371 -0
- package/src/tui/bindings/Ink.res.mjs +72 -0
- package/src/tui/bindings/Style.res +123 -0
- package/src/tui/bindings/Style.res.mjs +2 -0
- package/src/tui/components/BufferedProgressBar.res +40 -0
- package/src/tui/components/BufferedProgressBar.res.mjs +57 -0
- package/src/tui/components/CustomHooks.res +122 -0
- package/src/tui/components/CustomHooks.res.mjs +179 -0
- package/src/tui/components/Messages.res +41 -0
- package/src/tui/components/Messages.res.mjs +75 -0
- package/src/tui/components/SyncETA.res +174 -0
- package/src/tui/components/SyncETA.res.mjs +263 -0
- package/src/tui/components/TuiData.res +47 -0
- package/src/tui/components/TuiData.res.mjs +34 -0
- package/svm.schema.json +112 -0
- package/bin.js +0 -48
- package/src/EventRegister.res +0 -241
- package/src/EventRegister.res.mjs +0 -240
- package/src/bindings/Ethers.gen.ts +0 -14
- package/src/bindings/Ethers.res +0 -204
- package/src/bindings/Ethers.res.mjs +0 -130
- /package/src/{Indexer.res.mjs → Ctx.res.mjs} +0 -0
package/src/sources/Rpc.res.mjs
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
2
|
|
|
3
|
+
import * as Rest from "../vendored/Rest.res.mjs";
|
|
3
4
|
import * as Viem from "viem";
|
|
4
5
|
import * as Utils from "../Utils.res.mjs";
|
|
5
6
|
import * as $$BigInt from "../bindings/BigInt.res.mjs";
|
|
6
7
|
import * as Address from "../Address.res.mjs";
|
|
7
8
|
import * as Belt_Array from "rescript/lib/es6/belt_Array.js";
|
|
8
9
|
import * as Caml_option from "rescript/lib/es6/caml_option.js";
|
|
10
|
+
import * as Caml_exceptions from "rescript/lib/es6/caml_exceptions.js";
|
|
9
11
|
import * as S$RescriptSchema from "rescript-schema/src/S.res.mjs";
|
|
10
12
|
|
|
13
|
+
var JsonRpcError = /* @__PURE__ */Caml_exceptions.create("Rpc.JsonRpcError");
|
|
14
|
+
|
|
11
15
|
function makeRpcRoute(method, paramsSchema, resultSchema) {
|
|
12
16
|
var idSchema = S$RescriptSchema.literal(1);
|
|
13
17
|
var versionSchema = S$RescriptSchema.literal("2.0");
|
|
@@ -30,6 +34,27 @@ function makeRpcRoute(method, paramsSchema, resultSchema) {
|
|
|
30
34
|
};
|
|
31
35
|
}
|
|
32
36
|
|
|
37
|
+
async function jsonRpcFetcher(args) {
|
|
38
|
+
var response = await Rest.ApiFetcher.$$default(args);
|
|
39
|
+
var data = response.data;
|
|
40
|
+
var error = data.error;
|
|
41
|
+
if (!(error == null)) {
|
|
42
|
+
throw {
|
|
43
|
+
RE_EXN_ID: JsonRpcError,
|
|
44
|
+
_1: {
|
|
45
|
+
code: error.code,
|
|
46
|
+
message: error.message
|
|
47
|
+
},
|
|
48
|
+
Error: new Error()
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return response;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function makeClient(url) {
|
|
55
|
+
return Rest.client(url, jsonRpcFetcher);
|
|
56
|
+
}
|
|
57
|
+
|
|
33
58
|
function makeHexSchema(fromStr) {
|
|
34
59
|
return S$RescriptSchema.transform(S$RescriptSchema.string, (function (s) {
|
|
35
60
|
return {
|
|
@@ -54,6 +79,19 @@ var hexIntSchema = makeHexSchema(function (v) {
|
|
|
54
79
|
return Number(v);
|
|
55
80
|
});
|
|
56
81
|
|
|
82
|
+
var decimalFloatSchema = S$RescriptSchema.transform(S$RescriptSchema.string, (function (s) {
|
|
83
|
+
return {
|
|
84
|
+
p: (function (str) {
|
|
85
|
+
var v = Number(str);
|
|
86
|
+
if (Number.isNaN(v)) {
|
|
87
|
+
return s.fail("The string is not a valid decimal number", undefined);
|
|
88
|
+
} else {
|
|
89
|
+
return v;
|
|
90
|
+
}
|
|
91
|
+
})
|
|
92
|
+
};
|
|
93
|
+
}));
|
|
94
|
+
|
|
57
95
|
var topicFilterSchema = S$RescriptSchema.union([
|
|
58
96
|
S$RescriptSchema.literal(null),
|
|
59
97
|
S$RescriptSchema.schema(function (s) {
|
|
@@ -111,11 +149,13 @@ var paramsSchema = S$RescriptSchema.object(function (s) {
|
|
|
111
149
|
return {
|
|
112
150
|
fromBlock: s.f("fromBlock", hexIntSchema),
|
|
113
151
|
toBlock: s.f("toBlock", hexIntSchema),
|
|
114
|
-
address: s.f("address", S$RescriptSchema.array(Address.schema)),
|
|
152
|
+
address: s.f("address", S$RescriptSchema.option(S$RescriptSchema.array(Address.schema))),
|
|
115
153
|
topics: s.f("topics", topicQuerySchema)
|
|
116
154
|
};
|
|
117
155
|
});
|
|
118
156
|
|
|
157
|
+
var fullParamsSchema = S$RescriptSchema.tuple1(paramsSchema);
|
|
158
|
+
|
|
119
159
|
var logSchema = S$RescriptSchema.object(function (s) {
|
|
120
160
|
return {
|
|
121
161
|
address: s.f("address", Address.schema),
|
|
@@ -130,7 +170,9 @@ var logSchema = S$RescriptSchema.object(function (s) {
|
|
|
130
170
|
};
|
|
131
171
|
});
|
|
132
172
|
|
|
133
|
-
var
|
|
173
|
+
var resultSchema = S$RescriptSchema.array(logSchema);
|
|
174
|
+
|
|
175
|
+
var route = makeRpcRoute("eth_getLogs", fullParamsSchema, resultSchema);
|
|
134
176
|
|
|
135
177
|
var GetLogs = {
|
|
136
178
|
topicFilterSchema: topicFilterSchema,
|
|
@@ -138,7 +180,9 @@ var GetLogs = {
|
|
|
138
180
|
makeTopicQuery: makeTopicQuery,
|
|
139
181
|
mapTopicQuery: mapTopicQuery,
|
|
140
182
|
paramsSchema: paramsSchema,
|
|
183
|
+
fullParamsSchema: fullParamsSchema,
|
|
141
184
|
logSchema: logSchema,
|
|
185
|
+
resultSchema: resultSchema,
|
|
142
186
|
route: route
|
|
143
187
|
};
|
|
144
188
|
|
|
@@ -167,16 +211,25 @@ var blockSchema = S$RescriptSchema.object(function (s) {
|
|
|
167
211
|
};
|
|
168
212
|
});
|
|
169
213
|
|
|
170
|
-
var
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
214
|
+
var paramsSchema$1 = S$RescriptSchema.tuple(function (s) {
|
|
215
|
+
return {
|
|
216
|
+
blockNumber: s.item(0, hexIntSchema),
|
|
217
|
+
includeTransactions: s.item(1, S$RescriptSchema.bool)
|
|
218
|
+
};
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
var resultSchema$1 = S$RescriptSchema.$$null(blockSchema);
|
|
222
|
+
|
|
223
|
+
var route$1 = makeRpcRoute("eth_getBlockByNumber", paramsSchema$1, resultSchema$1);
|
|
224
|
+
|
|
225
|
+
var rawRoute = makeRpcRoute("eth_getBlockByNumber", paramsSchema$1, S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
|
|
176
226
|
|
|
177
227
|
var GetBlockByNumber = {
|
|
178
228
|
blockSchema: blockSchema,
|
|
179
|
-
|
|
229
|
+
paramsSchema: paramsSchema$1,
|
|
230
|
+
resultSchema: resultSchema$1,
|
|
231
|
+
route: route$1,
|
|
232
|
+
rawRoute: rawRoute
|
|
180
233
|
};
|
|
181
234
|
|
|
182
235
|
var route$2 = makeRpcRoute("eth_blockNumber", S$RescriptSchema.tuple(function (param) {
|
|
@@ -187,13 +240,52 @@ var GetBlockHeight = {
|
|
|
187
240
|
route: route$2
|
|
188
241
|
};
|
|
189
242
|
|
|
243
|
+
var rawRoute$1 = makeRpcRoute("eth_getTransactionByHash", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
|
|
244
|
+
|
|
245
|
+
var GetTransactionByHash = {
|
|
246
|
+
rawRoute: rawRoute$1
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
var rawRoute$2 = makeRpcRoute("eth_getTransactionReceipt", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
|
|
250
|
+
|
|
251
|
+
var GetTransactionReceipt = {
|
|
252
|
+
rawRoute: rawRoute$2
|
|
253
|
+
};
|
|
254
|
+
|
|
255
|
+
async function getLogs(client, param) {
|
|
256
|
+
return await Rest.$$fetch(route, param, client);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
async function getBlock(client, blockNumber) {
|
|
260
|
+
return await Rest.$$fetch(route$1, {
|
|
261
|
+
blockNumber: blockNumber,
|
|
262
|
+
includeTransactions: false
|
|
263
|
+
}, client);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
async function getRawBlock(client, blockNumber) {
|
|
267
|
+
return await Rest.$$fetch(rawRoute, {
|
|
268
|
+
blockNumber: blockNumber,
|
|
269
|
+
includeTransactions: false
|
|
270
|
+
}, client);
|
|
271
|
+
}
|
|
272
|
+
|
|
190
273
|
export {
|
|
274
|
+
JsonRpcError ,
|
|
191
275
|
makeRpcRoute ,
|
|
276
|
+
jsonRpcFetcher ,
|
|
277
|
+
makeClient ,
|
|
192
278
|
makeHexSchema ,
|
|
193
279
|
hexBigintSchema ,
|
|
194
280
|
hexIntSchema ,
|
|
281
|
+
decimalFloatSchema ,
|
|
195
282
|
GetLogs ,
|
|
196
283
|
GetBlockByNumber ,
|
|
197
284
|
GetBlockHeight ,
|
|
285
|
+
GetTransactionByHash ,
|
|
286
|
+
GetTransactionReceipt ,
|
|
287
|
+
getLogs ,
|
|
288
|
+
getBlock ,
|
|
289
|
+
getRawBlock ,
|
|
198
290
|
}
|
|
199
291
|
/* hexBigintSchema Not a pure module */
|