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.
Files changed (94) hide show
  1. package/package.json +6 -8
  2. package/src/BatchProcessing.res +4 -5
  3. package/src/BatchProcessing.res.mjs +4 -11
  4. package/src/ChainFetching.res +18 -38
  5. package/src/ChainFetching.res.mjs +14 -20
  6. package/src/ChainState.res +113 -77
  7. package/src/ChainState.res.mjs +90 -73
  8. package/src/ChainState.resi +14 -5
  9. package/src/Config.res +14 -17
  10. package/src/Config.res.mjs +5 -20
  11. package/src/CrossChainState.res +68 -20
  12. package/src/CrossChainState.res.mjs +48 -5
  13. package/src/CrossChainState.resi +1 -0
  14. package/src/Env.res +2 -2
  15. package/src/ErrorHandling.res +15 -4
  16. package/src/ErrorHandling.res.mjs +16 -5
  17. package/src/FinalizeBackfill.res +21 -9
  18. package/src/FinalizeBackfill.res.mjs +17 -4
  19. package/src/HandlerRegister.res +0 -37
  20. package/src/HandlerRegister.res.mjs +0 -18
  21. package/src/IndexerState.res +2 -0
  22. package/src/IndexerState.res.mjs +5 -0
  23. package/src/IndexerState.resi +1 -0
  24. package/src/Logging.res +6 -38
  25. package/src/Logging.res.mjs +5 -32
  26. package/src/Main.res +6 -9
  27. package/src/Main.res.mjs +3 -5
  28. package/src/Metrics.res +9 -4
  29. package/src/Metrics.res.mjs +3 -3
  30. package/src/Persistence.res +6 -3
  31. package/src/Persistence.res.mjs +5 -3
  32. package/src/PgStorage.res +2 -2
  33. package/src/PgStorage.res.mjs +2 -2
  34. package/src/Rollback.res +3 -3
  35. package/src/Server.res +0 -3
  36. package/src/SimulateItems.res +1 -1
  37. package/src/SimulateItems.res.mjs +1 -1
  38. package/src/Supervisor.res +236 -109
  39. package/src/Supervisor.res.mjs +185 -55
  40. package/src/TestIndexer.res +6 -3
  41. package/src/TestIndexer.res.mjs +3 -3
  42. package/src/Worker.res +6 -0
  43. package/src/Worker.res.mjs +2 -1
  44. package/src/bindings/NodeJs.res +25 -16
  45. package/src/bindings/NodeJs.res.mjs +8 -1
  46. package/src/sources/AddressSet.res +5 -3
  47. package/src/sources/AddressStore.res +19 -11
  48. package/src/sources/AddressStore.res.mjs +2 -7
  49. package/src/sources/BlockStore.res +10 -9
  50. package/src/sources/BlockStore.res.mjs +4 -4
  51. package/src/sources/ChainSources.res +4 -0
  52. package/src/sources/ChainSources.res.mjs +2 -2
  53. package/src/sources/EvmChain.res +4 -0
  54. package/src/sources/EvmChain.res.mjs +3 -1
  55. package/src/sources/EvmEventItem.res +56 -0
  56. package/src/sources/EvmEventItem.res.mjs +32 -0
  57. package/src/sources/EvmHyperSyncSource.res +7 -37
  58. package/src/sources/EvmHyperSyncSource.res.mjs +8 -29
  59. package/src/sources/EvmRpcClient.res +41 -59
  60. package/src/sources/EvmRpcClient.res.mjs +4 -54
  61. package/src/sources/EvmRpcWs.res +4 -1
  62. package/src/sources/EvmRpcWs.res.mjs +6 -2
  63. package/src/sources/FuelHyperSyncSource.res +6 -4
  64. package/src/sources/FuelHyperSyncSource.res.mjs +7 -9
  65. package/src/sources/HeightFeed.res +7 -1
  66. package/src/sources/HeightFeed.res.mjs +9 -7
  67. package/src/sources/HyperSyncClient.res +1 -14
  68. package/src/sources/RequestStat.res +7 -0
  69. package/src/sources/RequestStat.res.mjs +14 -1
  70. package/src/sources/RpcSource.res +100 -1043
  71. package/src/sources/RpcSource.res.mjs +81 -1056
  72. package/src/sources/SimulateSource.res +2 -5
  73. package/src/sources/SimulateSource.res.mjs +2 -3
  74. package/src/sources/Source.res +34 -12
  75. package/src/sources/Source.res.mjs +11 -0
  76. package/src/sources/SourceManager.res +111 -31
  77. package/src/sources/SourceManager.res.mjs +65 -31
  78. package/src/sources/SourceManager.resi +4 -0
  79. package/src/sources/StartBlockResolver.res +8 -5
  80. package/src/sources/StartBlockResolver.res.mjs +4 -2
  81. package/src/sources/SvmHyperSyncSource.res +4 -2
  82. package/src/sources/SvmHyperSyncSource.res.mjs +4 -6
  83. package/src/sources/TransactionStore.res +9 -6
  84. package/src/sources/TransactionStore.res.mjs +2 -2
  85. package/src/tui/Tui.res +4 -18
  86. package/src/tui/Tui.res.mjs +3 -6
  87. package/src/LazyLoader.res +0 -135
  88. package/src/LazyLoader.res.mjs +0 -118
  89. package/src/bindings/SDSL.res +0 -12
  90. package/src/bindings/SDSL.res.mjs +0 -9
  91. package/src/bindings/Yargs.res +0 -8
  92. package/src/bindings/Yargs.res.mjs +0 -2
  93. package/src/sources/Rpc.res +0 -185
  94. package/src/sources/Rpc.res.mjs +0 -183
@@ -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 */