envio 3.13.0-alpha.0 → 3.13.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/package.json +6 -8
- package/src/BatchProcessing.res +4 -5
- package/src/BatchProcessing.res.mjs +4 -11
- package/src/ChainFetching.res +18 -38
- package/src/ChainFetching.res.mjs +14 -20
- package/src/ChainState.res +113 -77
- package/src/ChainState.res.mjs +90 -73
- package/src/ChainState.resi +14 -5
- package/src/Config.res +14 -17
- package/src/Config.res.mjs +5 -20
- package/src/CrossChainState.res +68 -20
- package/src/CrossChainState.res.mjs +48 -5
- package/src/CrossChainState.resi +1 -0
- package/src/Env.res +2 -2
- package/src/ErrorHandling.res +15 -4
- package/src/ErrorHandling.res.mjs +16 -5
- package/src/FinalizeBackfill.res +21 -9
- package/src/FinalizeBackfill.res.mjs +17 -4
- package/src/HandlerRegister.res +0 -37
- package/src/HandlerRegister.res.mjs +0 -18
- package/src/IndexerState.res +2 -0
- package/src/IndexerState.res.mjs +5 -0
- package/src/IndexerState.resi +1 -0
- package/src/Logging.res +6 -38
- package/src/Logging.res.mjs +5 -32
- package/src/Main.res +6 -9
- package/src/Main.res.mjs +3 -5
- package/src/Metrics.res +9 -4
- package/src/Metrics.res.mjs +3 -3
- package/src/Persistence.res +6 -3
- package/src/Persistence.res.mjs +5 -3
- package/src/PgStorage.res +2 -2
- package/src/PgStorage.res.mjs +2 -2
- package/src/Rollback.res +3 -3
- package/src/Server.res +0 -3
- package/src/SimulateItems.res +1 -1
- package/src/SimulateItems.res.mjs +1 -1
- package/src/Supervisor.res +236 -109
- package/src/Supervisor.res.mjs +185 -55
- package/src/TestIndexer.res +6 -3
- package/src/TestIndexer.res.mjs +3 -3
- package/src/Worker.res +6 -0
- package/src/Worker.res.mjs +2 -1
- package/src/bindings/NodeJs.res +25 -16
- package/src/bindings/NodeJs.res.mjs +8 -1
- package/src/sources/AddressSet.res +5 -3
- package/src/sources/AddressStore.res +19 -11
- package/src/sources/AddressStore.res.mjs +2 -7
- package/src/sources/BlockStore.res +10 -9
- package/src/sources/BlockStore.res.mjs +4 -4
- package/src/sources/ChainSources.res +4 -0
- package/src/sources/ChainSources.res.mjs +2 -2
- package/src/sources/EvmChain.res +4 -0
- package/src/sources/EvmChain.res.mjs +3 -1
- package/src/sources/EvmEventItem.res +56 -0
- package/src/sources/EvmEventItem.res.mjs +32 -0
- package/src/sources/EvmHyperSyncSource.res +7 -37
- package/src/sources/EvmHyperSyncSource.res.mjs +8 -29
- package/src/sources/EvmRpcClient.res +41 -59
- package/src/sources/EvmRpcClient.res.mjs +4 -54
- package/src/sources/EvmRpcWs.res +4 -1
- package/src/sources/EvmRpcWs.res.mjs +6 -2
- package/src/sources/FuelHyperSyncSource.res +6 -4
- package/src/sources/FuelHyperSyncSource.res.mjs +7 -9
- package/src/sources/HeightFeed.res +7 -1
- package/src/sources/HeightFeed.res.mjs +9 -7
- package/src/sources/HyperSyncClient.res +1 -14
- package/src/sources/RequestStat.res +7 -0
- package/src/sources/RequestStat.res.mjs +14 -1
- package/src/sources/RpcSource.res +100 -1043
- package/src/sources/RpcSource.res.mjs +81 -1056
- package/src/sources/SimulateSource.res +2 -5
- package/src/sources/SimulateSource.res.mjs +2 -3
- package/src/sources/Source.res +34 -12
- package/src/sources/Source.res.mjs +11 -0
- package/src/sources/SourceManager.res +111 -31
- package/src/sources/SourceManager.res.mjs +65 -31
- package/src/sources/SourceManager.resi +4 -0
- package/src/sources/StartBlockResolver.res +8 -5
- package/src/sources/StartBlockResolver.res.mjs +4 -2
- package/src/sources/SvmHyperSyncSource.res +4 -2
- package/src/sources/SvmHyperSyncSource.res.mjs +4 -6
- package/src/sources/TransactionStore.res +9 -6
- package/src/sources/TransactionStore.res.mjs +2 -2
- package/src/tui/Tui.res +4 -18
- package/src/tui/Tui.res.mjs +3 -6
- package/src/LazyLoader.res +0 -135
- package/src/LazyLoader.res.mjs +0 -118
- package/src/bindings/SDSL.res +0 -12
- package/src/bindings/SDSL.res.mjs +0 -9
- package/src/bindings/Yargs.res +0 -8
- package/src/bindings/Yargs.res.mjs +0 -2
- package/src/sources/Rpc.res +0 -185
- package/src/sources/Rpc.res.mjs +0 -183
package/src/sources/Rpc.res.mjs
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
// Generated by ReScript, PLEASE EDIT WITH CARE
|
|
2
|
-
|
|
3
|
-
import * as Rest from "../vendored/Rest.res.mjs";
|
|
4
|
-
import * as Viem from "viem";
|
|
5
|
-
import * as Address from "../Address.res.mjs";
|
|
6
|
-
import * as Stdlib_Dict from "@rescript/runtime/lib/es6/Stdlib_Dict.js";
|
|
7
|
-
import * as Stdlib_BigInt from "@rescript/runtime/lib/es6/Stdlib_BigInt.js";
|
|
8
|
-
import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
|
|
9
|
-
import * as S$RescriptSchema from "rescript-schema/src/S.res.mjs";
|
|
10
|
-
import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js";
|
|
11
|
-
|
|
12
|
-
let JsonRpcError = /* @__PURE__ */Primitive_exceptions.create("Rpc.JsonRpcError");
|
|
13
|
-
|
|
14
|
-
function makeRpcRoute(method, paramsSchema, resultSchema) {
|
|
15
|
-
let idSchema = S$RescriptSchema.literal(1);
|
|
16
|
-
let versionSchema = S$RescriptSchema.literal("2.0");
|
|
17
|
-
return () => ({
|
|
18
|
-
method: "POST",
|
|
19
|
-
path: "",
|
|
20
|
-
input: s => {
|
|
21
|
-
s.field("method", S$RescriptSchema.literal(method));
|
|
22
|
-
s.field("id", idSchema);
|
|
23
|
-
s.field("jsonrpc", versionSchema);
|
|
24
|
-
return s.field("params", paramsSchema);
|
|
25
|
-
},
|
|
26
|
-
responses: [s => {
|
|
27
|
-
s.field("jsonrpc", versionSchema);
|
|
28
|
-
s.field("id", idSchema);
|
|
29
|
-
return s.field("result", resultSchema);
|
|
30
|
-
}]
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
async function jsonRpcFetcher(args) {
|
|
35
|
-
let response = await Rest.ApiFetcher.$$default(args);
|
|
36
|
-
let data = response.data;
|
|
37
|
-
let error = data.error;
|
|
38
|
-
if (!(error == null)) {
|
|
39
|
-
throw {
|
|
40
|
-
RE_EXN_ID: JsonRpcError,
|
|
41
|
-
_1: {
|
|
42
|
-
code: error.code,
|
|
43
|
-
message: error.message
|
|
44
|
-
},
|
|
45
|
-
Error: new Error()
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
return response;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
function makeClient(url, headers) {
|
|
52
|
-
let fetcher = headers !== undefined ? async args => {
|
|
53
|
-
let headers$1 = args.headers;
|
|
54
|
-
let headers$2 = headers$1 !== undefined ? headers$1 : ({});
|
|
55
|
-
Stdlib_Dict.forEachWithKey(headers, (value, key) => {
|
|
56
|
-
headers$2[key] = value;
|
|
57
|
-
});
|
|
58
|
-
return await jsonRpcFetcher({
|
|
59
|
-
body: args.body,
|
|
60
|
-
headers: headers$2,
|
|
61
|
-
method: args.method,
|
|
62
|
-
path: args.path
|
|
63
|
-
});
|
|
64
|
-
} : jsonRpcFetcher;
|
|
65
|
-
return Rest.client(url, fetcher);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function makeHexSchema(fromStr) {
|
|
69
|
-
return S$RescriptSchema.transform(S$RescriptSchema.string, s => ({
|
|
70
|
-
p: str => {
|
|
71
|
-
let v = fromStr(str);
|
|
72
|
-
if (v !== undefined) {
|
|
73
|
-
return Primitive_option.valFromOption(v);
|
|
74
|
-
} else {
|
|
75
|
-
return s.fail("The string is not valid hex", undefined);
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
s: value => Viem.toHex(value)
|
|
79
|
-
}));
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
let hexBigintSchema = makeHexSchema(Stdlib_BigInt.fromString);
|
|
83
|
-
|
|
84
|
-
let hexIntSchema = makeHexSchema(v => Number(v));
|
|
85
|
-
|
|
86
|
-
let decimalFloatSchema = S$RescriptSchema.transform(S$RescriptSchema.string, s => ({
|
|
87
|
-
p: str => {
|
|
88
|
-
let v = Number(str);
|
|
89
|
-
if (Number.isNaN(v)) {
|
|
90
|
-
return s.fail("The string is not a valid decimal number", undefined);
|
|
91
|
-
} else {
|
|
92
|
-
return v;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}));
|
|
96
|
-
|
|
97
|
-
let GetLogs = {};
|
|
98
|
-
|
|
99
|
-
let blockSchema = S$RescriptSchema.object(s => ({
|
|
100
|
-
difficulty: s.f("difficulty", S$RescriptSchema.$$null(hexBigintSchema)),
|
|
101
|
-
extraData: s.f("extraData", S$RescriptSchema.string),
|
|
102
|
-
gasLimit: s.f("gasLimit", hexBigintSchema),
|
|
103
|
-
gasUsed: s.f("gasUsed", hexBigintSchema),
|
|
104
|
-
hash: s.f("hash", S$RescriptSchema.string),
|
|
105
|
-
logsBloom: s.f("logsBloom", S$RescriptSchema.string),
|
|
106
|
-
miner: s.f("miner", Address.schema),
|
|
107
|
-
mixHash: s.f("mixHash", S$RescriptSchema.$$null(S$RescriptSchema.string)),
|
|
108
|
-
nonce: s.f("nonce", S$RescriptSchema.$$null(hexBigintSchema)),
|
|
109
|
-
number: s.f("number", hexIntSchema),
|
|
110
|
-
parentHash: s.f("parentHash", S$RescriptSchema.string),
|
|
111
|
-
receiptsRoot: s.f("receiptsRoot", S$RescriptSchema.string),
|
|
112
|
-
sha3Uncles: s.f("sha3Uncles", S$RescriptSchema.string),
|
|
113
|
-
size: s.f("size", hexBigintSchema),
|
|
114
|
-
stateRoot: s.f("stateRoot", S$RescriptSchema.string),
|
|
115
|
-
timestamp: s.f("timestamp", hexIntSchema),
|
|
116
|
-
totalDifficulty: s.f("totalDifficulty", S$RescriptSchema.$$null(hexBigintSchema)),
|
|
117
|
-
transactions: s.f("transactions", S$RescriptSchema.array(S$RescriptSchema.json(false))),
|
|
118
|
-
transactionsRoot: s.f("transactionsRoot", S$RescriptSchema.string),
|
|
119
|
-
uncles: s.f("uncles", S$RescriptSchema.$$null(S$RescriptSchema.array(S$RescriptSchema.string)))
|
|
120
|
-
}));
|
|
121
|
-
|
|
122
|
-
let paramsSchema = S$RescriptSchema.tuple(s => ({
|
|
123
|
-
blockNumber: s.item(0, hexIntSchema),
|
|
124
|
-
includeTransactions: s.item(1, S$RescriptSchema.bool)
|
|
125
|
-
}));
|
|
126
|
-
|
|
127
|
-
let resultSchema = S$RescriptSchema.$$null(blockSchema);
|
|
128
|
-
|
|
129
|
-
let route = makeRpcRoute("eth_getBlockByNumber", paramsSchema, resultSchema);
|
|
130
|
-
|
|
131
|
-
let rawRoute = makeRpcRoute("eth_getBlockByNumber", paramsSchema, S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
|
|
132
|
-
|
|
133
|
-
let GetBlockByNumber = {
|
|
134
|
-
blockSchema: blockSchema,
|
|
135
|
-
paramsSchema: paramsSchema,
|
|
136
|
-
resultSchema: resultSchema,
|
|
137
|
-
route: route,
|
|
138
|
-
rawRoute: rawRoute
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
let rawRoute$1 = makeRpcRoute("eth_getTransactionByHash", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
|
|
142
|
-
|
|
143
|
-
let GetTransactionByHash = {
|
|
144
|
-
rawRoute: rawRoute$1
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
let rawRoute$2 = makeRpcRoute("eth_getTransactionReceipt", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
|
|
148
|
-
|
|
149
|
-
let GetTransactionReceipt = {
|
|
150
|
-
rawRoute: rawRoute$2
|
|
151
|
-
};
|
|
152
|
-
|
|
153
|
-
async function getBlock(client, blockNumber) {
|
|
154
|
-
return await Rest.fetch(route, {
|
|
155
|
-
blockNumber: blockNumber,
|
|
156
|
-
includeTransactions: false
|
|
157
|
-
}, client);
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
async function getRawBlock(client, blockNumber) {
|
|
161
|
-
return await Rest.fetch(rawRoute, {
|
|
162
|
-
blockNumber: blockNumber,
|
|
163
|
-
includeTransactions: false
|
|
164
|
-
}, client);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
export {
|
|
168
|
-
JsonRpcError,
|
|
169
|
-
makeRpcRoute,
|
|
170
|
-
jsonRpcFetcher,
|
|
171
|
-
makeClient,
|
|
172
|
-
makeHexSchema,
|
|
173
|
-
hexBigintSchema,
|
|
174
|
-
hexIntSchema,
|
|
175
|
-
decimalFloatSchema,
|
|
176
|
-
GetLogs,
|
|
177
|
-
GetBlockByNumber,
|
|
178
|
-
GetTransactionByHash,
|
|
179
|
-
GetTransactionReceipt,
|
|
180
|
-
getBlock,
|
|
181
|
-
getRawBlock,
|
|
182
|
-
}
|
|
183
|
-
/* hexBigintSchema Not a pure module */
|