envio 3.0.0-alpha.21 → 3.0.0-alpha.23

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 (220) hide show
  1. package/README.md +3 -3
  2. package/bin.mjs +2 -48
  3. package/evm.schema.json +67 -0
  4. package/fuel.schema.json +67 -0
  5. package/index.d.ts +822 -38
  6. package/index.js +5 -3
  7. package/package.json +10 -8
  8. package/rescript.json +5 -9
  9. package/src/Address.res +4 -5
  10. package/src/Address.res.mjs +9 -12
  11. package/src/Api.res +15 -0
  12. package/src/Api.res.mjs +20 -0
  13. package/src/Batch.res +32 -34
  14. package/src/Batch.res.mjs +172 -187
  15. package/src/Bin.res +89 -0
  16. package/src/Bin.res.mjs +97 -0
  17. package/src/ChainFetcher.res +33 -57
  18. package/src/ChainFetcher.res.mjs +197 -227
  19. package/src/ChainManager.res +6 -14
  20. package/src/ChainManager.res.mjs +74 -85
  21. package/src/ChainMap.res +14 -16
  22. package/src/ChainMap.res.mjs +38 -38
  23. package/src/Config.res +193 -135
  24. package/src/Config.res.mjs +566 -592
  25. package/src/Core.res +182 -0
  26. package/src/Core.res.mjs +207 -0
  27. package/src/Ecosystem.res +25 -4
  28. package/src/Ecosystem.res.mjs +12 -13
  29. package/src/Env.res +20 -13
  30. package/src/Env.res.mjs +124 -113
  31. package/src/EnvSafe.res +269 -0
  32. package/src/EnvSafe.res.mjs +296 -0
  33. package/src/EnvSafe.resi +18 -0
  34. package/src/Envio.res +37 -26
  35. package/src/Envio.res.mjs +59 -60
  36. package/src/ErrorHandling.res +2 -2
  37. package/src/ErrorHandling.res.mjs +15 -15
  38. package/src/EventConfigBuilder.res +219 -81
  39. package/src/EventConfigBuilder.res.mjs +259 -202
  40. package/src/EventProcessing.res +27 -38
  41. package/src/EventProcessing.res.mjs +165 -183
  42. package/src/EventUtils.res +11 -11
  43. package/src/EventUtils.res.mjs +21 -22
  44. package/src/EvmTypes.res +0 -1
  45. package/src/EvmTypes.res.mjs +5 -5
  46. package/src/FetchState.res +360 -256
  47. package/src/FetchState.res.mjs +958 -914
  48. package/src/GlobalState.res +365 -351
  49. package/src/GlobalState.res.mjs +958 -992
  50. package/src/GlobalStateManager.res +1 -2
  51. package/src/GlobalStateManager.res.mjs +36 -44
  52. package/src/HandlerLoader.res +107 -23
  53. package/src/HandlerLoader.res.mjs +128 -38
  54. package/src/HandlerRegister.res +127 -103
  55. package/src/HandlerRegister.res.mjs +164 -164
  56. package/src/HandlerRegister.resi +12 -4
  57. package/src/Hasura.res +35 -22
  58. package/src/Hasura.res.mjs +158 -167
  59. package/src/InMemoryStore.res +20 -27
  60. package/src/InMemoryStore.res.mjs +64 -80
  61. package/src/InMemoryTable.res +34 -39
  62. package/src/InMemoryTable.res.mjs +165 -170
  63. package/src/Internal.res +52 -33
  64. package/src/Internal.res.mjs +84 -81
  65. package/src/LazyLoader.res.mjs +55 -61
  66. package/src/LoadLayer.res +77 -78
  67. package/src/LoadLayer.res.mjs +160 -189
  68. package/src/LoadManager.res +16 -21
  69. package/src/LoadManager.res.mjs +79 -84
  70. package/src/LogSelection.res +236 -68
  71. package/src/LogSelection.res.mjs +211 -141
  72. package/src/Logging.res +13 -9
  73. package/src/Logging.res.mjs +130 -143
  74. package/src/Main.res +430 -51
  75. package/src/Main.res.mjs +530 -271
  76. package/src/Persistence.res +80 -84
  77. package/src/Persistence.res.mjs +131 -132
  78. package/src/PgStorage.res +294 -167
  79. package/src/PgStorage.res.mjs +799 -817
  80. package/src/Prometheus.res +50 -58
  81. package/src/Prometheus.res.mjs +345 -373
  82. package/src/ReorgDetection.res +22 -24
  83. package/src/ReorgDetection.res.mjs +100 -106
  84. package/src/SafeCheckpointTracking.res +7 -7
  85. package/src/SafeCheckpointTracking.res.mjs +40 -43
  86. package/src/SimulateItems.res +41 -49
  87. package/src/SimulateItems.res.mjs +257 -272
  88. package/src/Sink.res +2 -2
  89. package/src/Sink.res.mjs +22 -26
  90. package/src/TableIndices.res +1 -2
  91. package/src/TableIndices.res.mjs +42 -48
  92. package/src/TestIndexer.res +196 -189
  93. package/src/TestIndexer.res.mjs +536 -536
  94. package/src/TestIndexerProxyStorage.res +16 -16
  95. package/src/TestIndexerProxyStorage.res.mjs +99 -122
  96. package/src/TestIndexerWorker.res +4 -0
  97. package/src/TestIndexerWorker.res.mjs +7 -0
  98. package/src/Throttler.res +3 -3
  99. package/src/Throttler.res.mjs +23 -24
  100. package/src/Time.res +1 -1
  101. package/src/Time.res.mjs +18 -21
  102. package/src/TopicFilter.res +3 -3
  103. package/src/TopicFilter.res.mjs +29 -30
  104. package/src/UserContext.res +93 -54
  105. package/src/UserContext.res.mjs +197 -182
  106. package/src/Utils.res +141 -86
  107. package/src/Utils.res.mjs +334 -295
  108. package/src/bindings/BigDecimal.res +0 -2
  109. package/src/bindings/BigDecimal.res.mjs +19 -23
  110. package/src/bindings/ClickHouse.res +28 -27
  111. package/src/bindings/ClickHouse.res.mjs +243 -240
  112. package/src/bindings/DateFns.res +11 -11
  113. package/src/bindings/DateFns.res.mjs +7 -7
  114. package/src/bindings/EventSource.res.mjs +2 -2
  115. package/src/bindings/Express.res +2 -5
  116. package/src/bindings/Hrtime.res +2 -2
  117. package/src/bindings/Hrtime.res.mjs +30 -32
  118. package/src/bindings/Lodash.res.mjs +1 -1
  119. package/src/bindings/NodeJs.res +14 -9
  120. package/src/bindings/NodeJs.res.mjs +20 -20
  121. package/src/bindings/Pino.res +8 -10
  122. package/src/bindings/Pino.res.mjs +40 -43
  123. package/src/bindings/Postgres.res +7 -5
  124. package/src/bindings/Postgres.res.mjs +9 -9
  125. package/src/bindings/PromClient.res +17 -2
  126. package/src/bindings/PromClient.res.mjs +30 -7
  127. package/src/bindings/SDSL.res.mjs +2 -2
  128. package/src/bindings/Viem.res +4 -4
  129. package/src/bindings/Viem.res.mjs +20 -22
  130. package/src/bindings/Vitest.res +1 -1
  131. package/src/bindings/Vitest.res.mjs +2 -2
  132. package/src/bindings/WebSocket.res +1 -1
  133. package/src/db/EntityHistory.res +9 -3
  134. package/src/db/EntityHistory.res.mjs +84 -59
  135. package/src/db/InternalTable.res +62 -60
  136. package/src/db/InternalTable.res.mjs +271 -203
  137. package/src/db/Schema.res +1 -2
  138. package/src/db/Schema.res.mjs +28 -32
  139. package/src/db/Table.res +28 -27
  140. package/src/db/Table.res.mjs +276 -292
  141. package/src/sources/EventRouter.res +21 -16
  142. package/src/sources/EventRouter.res.mjs +55 -57
  143. package/src/sources/Evm.res +17 -1
  144. package/src/sources/Evm.res.mjs +16 -8
  145. package/src/sources/EvmChain.res +15 -17
  146. package/src/sources/EvmChain.res.mjs +40 -42
  147. package/src/sources/Fuel.res +14 -1
  148. package/src/sources/Fuel.res.mjs +16 -8
  149. package/src/sources/FuelSDK.res +1 -1
  150. package/src/sources/FuelSDK.res.mjs +6 -8
  151. package/src/sources/HyperFuel.res +8 -10
  152. package/src/sources/HyperFuel.res.mjs +113 -123
  153. package/src/sources/HyperFuelClient.res.mjs +6 -7
  154. package/src/sources/HyperFuelSource.res +19 -20
  155. package/src/sources/HyperFuelSource.res.mjs +339 -356
  156. package/src/sources/HyperSync.res +11 -13
  157. package/src/sources/HyperSync.res.mjs +206 -220
  158. package/src/sources/HyperSyncClient.res +5 -7
  159. package/src/sources/HyperSyncClient.res.mjs +70 -75
  160. package/src/sources/HyperSyncHeightStream.res +8 -9
  161. package/src/sources/HyperSyncHeightStream.res.mjs +78 -86
  162. package/src/sources/HyperSyncJsonApi.res +18 -15
  163. package/src/sources/HyperSyncJsonApi.res.mjs +201 -231
  164. package/src/sources/HyperSyncSource.res +17 -21
  165. package/src/sources/HyperSyncSource.res.mjs +268 -290
  166. package/src/sources/Rpc.res +5 -5
  167. package/src/sources/Rpc.res.mjs +168 -192
  168. package/src/sources/RpcSource.res +166 -167
  169. package/src/sources/RpcSource.res.mjs +972 -1046
  170. package/src/sources/RpcWebSocketHeightStream.res +10 -11
  171. package/src/sources/RpcWebSocketHeightStream.res.mjs +131 -145
  172. package/src/sources/SimulateSource.res +1 -1
  173. package/src/sources/SimulateSource.res.mjs +35 -38
  174. package/src/sources/Source.res +1 -1
  175. package/src/sources/Source.res.mjs +3 -3
  176. package/src/sources/SourceManager.res +39 -20
  177. package/src/sources/SourceManager.res.mjs +340 -371
  178. package/src/sources/SourceManager.resi +2 -1
  179. package/src/sources/Svm.res +12 -5
  180. package/src/sources/Svm.res.mjs +44 -41
  181. package/src/tui/Tui.res +23 -12
  182. package/src/tui/Tui.res.mjs +292 -290
  183. package/src/tui/bindings/Ink.res +2 -4
  184. package/src/tui/bindings/Ink.res.mjs +35 -41
  185. package/src/tui/components/BufferedProgressBar.res +7 -7
  186. package/src/tui/components/BufferedProgressBar.res.mjs +46 -46
  187. package/src/tui/components/CustomHooks.res +1 -2
  188. package/src/tui/components/CustomHooks.res.mjs +102 -122
  189. package/src/tui/components/Messages.res +1 -2
  190. package/src/tui/components/Messages.res.mjs +38 -42
  191. package/src/tui/components/SyncETA.res +10 -11
  192. package/src/tui/components/SyncETA.res.mjs +178 -196
  193. package/src/tui/components/TuiData.res +1 -1
  194. package/src/tui/components/TuiData.res.mjs +7 -6
  195. package/src/vendored/Rest.res +52 -66
  196. package/src/vendored/Rest.res.mjs +324 -364
  197. package/svm.schema.json +67 -0
  198. package/src/Address.gen.ts +0 -8
  199. package/src/Config.gen.ts +0 -19
  200. package/src/Envio.gen.ts +0 -55
  201. package/src/EvmTypes.gen.ts +0 -6
  202. package/src/InMemoryStore.gen.ts +0 -6
  203. package/src/Internal.gen.ts +0 -64
  204. package/src/PgStorage.gen.ts +0 -10
  205. package/src/PgStorage.res.d.mts +0 -5
  206. package/src/Types.ts +0 -56
  207. package/src/bindings/BigDecimal.gen.ts +0 -14
  208. package/src/bindings/BigDecimal.res.d.mts +0 -5
  209. package/src/bindings/BigInt.gen.ts +0 -10
  210. package/src/bindings/BigInt.res +0 -70
  211. package/src/bindings/BigInt.res.d.mts +0 -5
  212. package/src/bindings/BigInt.res.mjs +0 -154
  213. package/src/bindings/Ethers.res.d.mts +0 -5
  214. package/src/bindings/Pino.gen.ts +0 -17
  215. package/src/bindings/Postgres.gen.ts +0 -8
  216. package/src/bindings/Postgres.res.d.mts +0 -5
  217. package/src/bindings/Promise.res +0 -67
  218. package/src/bindings/Promise.res.mjs +0 -26
  219. package/src/db/InternalTable.gen.ts +0 -36
  220. package/src/sources/HyperSyncClient.gen.ts +0 -19
@@ -26,9 +26,9 @@ let makeRpcRoute = (method: string, paramsSchema, resultSchema) => {
26
26
  let jsonRpcFetcher: Rest.ApiFetcher.t = async args => {
27
27
  let response = await Rest.ApiFetcher.default(args)
28
28
  let data: {..} = response.data->Obj.magic
29
- switch data["error"]->Js.Nullable.toOption {
29
+ switch data["error"]->Nullable.toOption {
30
30
  | Some(error) =>
31
- raise(
31
+ throw(
32
32
  JsonRpcError({
33
33
  code: error["code"],
34
34
  message: error["message"],
@@ -59,7 +59,7 @@ external parseFloat: string => float = "Number"
59
59
  let decimalFloatSchema: S.schema<float> = S.string->S.transform(s => {
60
60
  parser: str => {
61
61
  let v = parseFloat(str)
62
- if Js.Float.isNaN(v) {
62
+ if Float.isNaN(v) {
63
63
  s.fail("The string is not a valid decimal number")
64
64
  } else {
65
65
  v
@@ -89,7 +89,7 @@ module GetLogs = {
89
89
 
90
90
  //Remove all empty topics from the end of the array
91
91
  while isLastTopicEmpty() {
92
- topics->Js.Array2.pop->ignore
92
+ topics->Array.pop->ignore
93
93
  }
94
94
 
95
95
  let toTopicFilter = topic => {
@@ -172,7 +172,7 @@ module GetBlockByNumber = {
172
172
  stateRoot: hex,
173
173
  timestamp: int,
174
174
  totalDifficulty: option<bigint>,
175
- transactions: array<Js.Json.t>,
175
+ transactions: array<JSON.t>,
176
176
  transactionsRoot: hex,
177
177
  uncles: option<array<hex>>,
178
178
  }
@@ -3,50 +3,48 @@
3
3
  import * as Rest from "../vendored/Rest.res.mjs";
4
4
  import * as Viem from "viem";
5
5
  import * as Utils from "../Utils.res.mjs";
6
- import * as $$BigInt from "../bindings/BigInt.res.mjs";
7
6
  import * as Address from "../Address.res.mjs";
8
- import * as Belt_Array from "rescript/lib/es6/belt_Array.js";
9
- import * as Caml_option from "rescript/lib/es6/caml_option.js";
10
- import * as Caml_exceptions from "rescript/lib/es6/caml_exceptions.js";
7
+ import * as Belt_Array from "@rescript/runtime/lib/es6/Belt_Array.js";
8
+ import * as Stdlib_BigInt from "@rescript/runtime/lib/es6/Stdlib_BigInt.js";
9
+ import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
11
10
  import * as S$RescriptSchema from "rescript-schema/src/S.res.mjs";
11
+ import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js";
12
12
 
13
- var JsonRpcError = /* @__PURE__ */Caml_exceptions.create("Rpc.JsonRpcError");
13
+ let JsonRpcError = /* @__PURE__ */Primitive_exceptions.create("Rpc.JsonRpcError");
14
14
 
15
15
  function makeRpcRoute(method, paramsSchema, resultSchema) {
16
- var idSchema = S$RescriptSchema.literal(1);
17
- var versionSchema = S$RescriptSchema.literal("2.0");
18
- return function () {
19
- return {
20
- method: "POST",
21
- path: "",
22
- input: (function (s) {
23
- s.field("method", S$RescriptSchema.literal(method));
24
- s.field("id", idSchema);
25
- s.field("jsonrpc", versionSchema);
26
- return s.field("params", paramsSchema);
27
- }),
28
- responses: [(function (s) {
29
- s.field("jsonrpc", versionSchema);
30
- s.field("id", idSchema);
31
- return s.field("result", resultSchema);
32
- })]
33
- };
34
- };
16
+ let idSchema = S$RescriptSchema.literal(1);
17
+ let versionSchema = S$RescriptSchema.literal("2.0");
18
+ return () => ({
19
+ method: "POST",
20
+ path: "",
21
+ input: s => {
22
+ s.field("method", S$RescriptSchema.literal(method));
23
+ s.field("id", idSchema);
24
+ s.field("jsonrpc", versionSchema);
25
+ return s.field("params", paramsSchema);
26
+ },
27
+ responses: [s => {
28
+ s.field("jsonrpc", versionSchema);
29
+ s.field("id", idSchema);
30
+ return s.field("result", resultSchema);
31
+ }]
32
+ });
35
33
  }
36
34
 
37
35
  async function jsonRpcFetcher(args) {
38
- var response = await Rest.ApiFetcher.$$default(args);
39
- var data = response.data;
40
- var error = data.error;
36
+ let response = await Rest.ApiFetcher.$$default(args);
37
+ let data = response.data;
38
+ let error = data.error;
41
39
  if (!(error == null)) {
42
40
  throw {
43
- RE_EXN_ID: JsonRpcError,
44
- _1: {
45
- code: error.code,
46
- message: error.message
47
- },
48
- Error: new Error()
49
- };
41
+ RE_EXN_ID: JsonRpcError,
42
+ _1: {
43
+ code: error.code,
44
+ message: error.message
45
+ },
46
+ Error: new Error()
47
+ };
50
48
  }
51
49
  return response;
52
50
  }
@@ -56,78 +54,66 @@ function makeClient(url) {
56
54
  }
57
55
 
58
56
  function makeHexSchema(fromStr) {
59
- return S$RescriptSchema.transform(S$RescriptSchema.string, (function (s) {
60
- return {
61
- p: (function (str) {
62
- var v = fromStr(str);
63
- if (v !== undefined) {
64
- return Caml_option.valFromOption(v);
65
- } else {
66
- return s.fail("The string is not valid hex", undefined);
67
- }
68
- }),
69
- s: (function (value) {
70
- return Viem.toHex(value);
71
- })
72
- };
73
- }));
57
+ return S$RescriptSchema.transform(S$RescriptSchema.string, s => ({
58
+ p: str => {
59
+ let v = fromStr(str);
60
+ if (v !== undefined) {
61
+ return Primitive_option.valFromOption(v);
62
+ } else {
63
+ return s.fail("The string is not valid hex", undefined);
64
+ }
65
+ },
66
+ s: value => Viem.toHex(value)
67
+ }));
74
68
  }
75
69
 
76
- var hexBigintSchema = makeHexSchema($$BigInt.fromString);
77
-
78
- var hexIntSchema = makeHexSchema(function (v) {
79
- return Number(v);
80
- });
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
-
95
- var topicFilterSchema = S$RescriptSchema.union([
96
- S$RescriptSchema.literal(null),
97
- S$RescriptSchema.schema(function (s) {
98
- return s.m(S$RescriptSchema.array(S$RescriptSchema.string));
99
- }),
100
- S$RescriptSchema.schema(function (s) {
101
- return s.m(S$RescriptSchema.string);
102
- })
103
- ]);
104
-
105
- var topicQuerySchema = S$RescriptSchema.array(topicFilterSchema);
70
+ let hexBigintSchema = makeHexSchema(Stdlib_BigInt.fromString);
71
+
72
+ let hexIntSchema = makeHexSchema(v => Number(v));
73
+
74
+ let decimalFloatSchema = S$RescriptSchema.transform(S$RescriptSchema.string, s => ({
75
+ p: str => {
76
+ let v = Number(str);
77
+ if (Number.isNaN(v)) {
78
+ return s.fail("The string is not a valid decimal number", undefined);
79
+ } else {
80
+ return v;
81
+ }
82
+ }
83
+ }));
84
+
85
+ let topicFilterSchema = S$RescriptSchema.union([
86
+ S$RescriptSchema.literal(null),
87
+ S$RescriptSchema.schema(s => (s.m(S$RescriptSchema.array(S$RescriptSchema.string)))),
88
+ S$RescriptSchema.schema(s => (s.m(S$RescriptSchema.string)))
89
+ ]);
90
+
91
+ let topicQuerySchema = S$RescriptSchema.array(topicFilterSchema);
106
92
 
107
93
  function makeTopicQuery(topic0Opt, topic1Opt, topic2Opt, topic3Opt) {
108
- var topic0 = topic0Opt !== undefined ? topic0Opt : [];
109
- var topic1 = topic1Opt !== undefined ? topic1Opt : [];
110
- var topic2 = topic2Opt !== undefined ? topic2Opt : [];
111
- var topic3 = topic3Opt !== undefined ? topic3Opt : [];
112
- var topics = [
94
+ let topic0 = topic0Opt !== undefined ? topic0Opt : [];
95
+ let topic1 = topic1Opt !== undefined ? topic1Opt : [];
96
+ let topic2 = topic2Opt !== undefined ? topic2Opt : [];
97
+ let topic3 = topic3Opt !== undefined ? topic3Opt : [];
98
+ let topics = [
113
99
  topic0,
114
100
  topic1,
115
101
  topic2,
116
102
  topic3
117
103
  ];
118
- var isLastTopicEmpty = function () {
119
- var match = Utils.$$Array.last(topics);
104
+ let isLastTopicEmpty = () => {
105
+ let match = Utils.$$Array.last(topics);
120
106
  if (match !== undefined) {
121
107
  return match.length === 0;
122
108
  } else {
123
109
  return false;
124
110
  }
125
111
  };
126
- while(isLastTopicEmpty()) {
112
+ while (isLastTopicEmpty()) {
127
113
  topics.pop();
128
114
  };
129
- var toTopicFilter = function (topic) {
130
- var len = topic.length;
115
+ let toTopicFilter = topic => {
116
+ let len = topic.length;
131
117
  if (len !== 1) {
132
118
  if (len !== 0) {
133
119
  return topic;
@@ -135,7 +121,7 @@ function makeTopicQuery(topic0Opt, topic1Opt, topic2Opt, topic3Opt) {
135
121
  return null;
136
122
  }
137
123
  }
138
- var single = topic[0];
124
+ let single = topic[0];
139
125
  return single;
140
126
  };
141
127
  return Belt_Array.map(topics, toTopicFilter);
@@ -145,36 +131,32 @@ function mapTopicQuery(param) {
145
131
  return makeTopicQuery(param.topic0, param.topic1, param.topic2, param.topic3);
146
132
  }
147
133
 
148
- var paramsSchema = S$RescriptSchema.object(function (s) {
149
- return {
150
- fromBlock: s.f("fromBlock", hexIntSchema),
151
- toBlock: s.f("toBlock", hexIntSchema),
152
- address: s.f("address", S$RescriptSchema.option(S$RescriptSchema.array(Address.schema))),
153
- topics: s.f("topics", topicQuerySchema)
154
- };
155
- });
156
-
157
- var fullParamsSchema = S$RescriptSchema.tuple1(paramsSchema);
158
-
159
- var logSchema = S$RescriptSchema.object(function (s) {
160
- return {
161
- address: s.f("address", Address.schema),
162
- topics: s.f("topics", S$RescriptSchema.array(S$RescriptSchema.string)),
163
- data: s.f("data", S$RescriptSchema.string),
164
- blockNumber: s.f("blockNumber", hexIntSchema),
165
- transactionHash: s.f("transactionHash", S$RescriptSchema.string),
166
- transactionIndex: s.f("transactionIndex", hexIntSchema),
167
- blockHash: s.f("blockHash", S$RescriptSchema.string),
168
- logIndex: s.f("logIndex", hexIntSchema),
169
- removed: s.f("removed", S$RescriptSchema.bool)
170
- };
171
- });
172
-
173
- var resultSchema = S$RescriptSchema.array(logSchema);
174
-
175
- var route = makeRpcRoute("eth_getLogs", fullParamsSchema, resultSchema);
176
-
177
- var GetLogs = {
134
+ let paramsSchema = S$RescriptSchema.object(s => ({
135
+ fromBlock: s.f("fromBlock", hexIntSchema),
136
+ toBlock: s.f("toBlock", hexIntSchema),
137
+ address: s.f("address", S$RescriptSchema.option(S$RescriptSchema.array(Address.schema))),
138
+ topics: s.f("topics", topicQuerySchema)
139
+ }));
140
+
141
+ let fullParamsSchema = S$RescriptSchema.tuple1(paramsSchema);
142
+
143
+ let logSchema = S$RescriptSchema.object(s => ({
144
+ address: s.f("address", Address.schema),
145
+ topics: s.f("topics", S$RescriptSchema.array(S$RescriptSchema.string)),
146
+ data: s.f("data", S$RescriptSchema.string),
147
+ blockNumber: s.f("blockNumber", hexIntSchema),
148
+ transactionHash: s.f("transactionHash", S$RescriptSchema.string),
149
+ transactionIndex: s.f("transactionIndex", hexIntSchema),
150
+ blockHash: s.f("blockHash", S$RescriptSchema.string),
151
+ logIndex: s.f("logIndex", hexIntSchema),
152
+ removed: s.f("removed", S$RescriptSchema.bool)
153
+ }));
154
+
155
+ let resultSchema = S$RescriptSchema.array(logSchema);
156
+
157
+ let route = makeRpcRoute("eth_getLogs", fullParamsSchema, resultSchema);
158
+
159
+ let GetLogs = {
178
160
  topicFilterSchema: topicFilterSchema,
179
161
  topicQuerySchema: topicQuerySchema,
180
162
  makeTopicQuery: makeTopicQuery,
@@ -186,45 +168,41 @@ var GetLogs = {
186
168
  route: route
187
169
  };
188
170
 
189
- var blockSchema = S$RescriptSchema.object(function (s) {
190
- return {
191
- difficulty: s.f("difficulty", S$RescriptSchema.$$null(hexBigintSchema)),
192
- extraData: s.f("extraData", S$RescriptSchema.string),
193
- gasLimit: s.f("gasLimit", hexBigintSchema),
194
- gasUsed: s.f("gasUsed", hexBigintSchema),
195
- hash: s.f("hash", S$RescriptSchema.string),
196
- logsBloom: s.f("logsBloom", S$RescriptSchema.string),
197
- miner: s.f("miner", Address.schema),
198
- mixHash: s.f("mixHash", S$RescriptSchema.$$null(S$RescriptSchema.string)),
199
- nonce: s.f("nonce", S$RescriptSchema.$$null(hexBigintSchema)),
200
- number: s.f("number", hexIntSchema),
201
- parentHash: s.f("parentHash", S$RescriptSchema.string),
202
- receiptsRoot: s.f("receiptsRoot", S$RescriptSchema.string),
203
- sha3Uncles: s.f("sha3Uncles", S$RescriptSchema.string),
204
- size: s.f("size", hexBigintSchema),
205
- stateRoot: s.f("stateRoot", S$RescriptSchema.string),
206
- timestamp: s.f("timestamp", hexIntSchema),
207
- totalDifficulty: s.f("totalDifficulty", S$RescriptSchema.$$null(hexBigintSchema)),
208
- transactions: s.f("transactions", S$RescriptSchema.array(S$RescriptSchema.json(false))),
209
- transactionsRoot: s.f("transactionsRoot", S$RescriptSchema.string),
210
- uncles: s.f("uncles", S$RescriptSchema.$$null(S$RescriptSchema.array(S$RescriptSchema.string)))
211
- };
212
- });
213
-
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)));
226
-
227
- var GetBlockByNumber = {
171
+ let blockSchema = S$RescriptSchema.object(s => ({
172
+ difficulty: s.f("difficulty", S$RescriptSchema.$$null(hexBigintSchema)),
173
+ extraData: s.f("extraData", S$RescriptSchema.string),
174
+ gasLimit: s.f("gasLimit", hexBigintSchema),
175
+ gasUsed: s.f("gasUsed", hexBigintSchema),
176
+ hash: s.f("hash", S$RescriptSchema.string),
177
+ logsBloom: s.f("logsBloom", S$RescriptSchema.string),
178
+ miner: s.f("miner", Address.schema),
179
+ mixHash: s.f("mixHash", S$RescriptSchema.$$null(S$RescriptSchema.string)),
180
+ nonce: s.f("nonce", S$RescriptSchema.$$null(hexBigintSchema)),
181
+ number: s.f("number", hexIntSchema),
182
+ parentHash: s.f("parentHash", S$RescriptSchema.string),
183
+ receiptsRoot: s.f("receiptsRoot", S$RescriptSchema.string),
184
+ sha3Uncles: s.f("sha3Uncles", S$RescriptSchema.string),
185
+ size: s.f("size", hexBigintSchema),
186
+ stateRoot: s.f("stateRoot", S$RescriptSchema.string),
187
+ timestamp: s.f("timestamp", hexIntSchema),
188
+ totalDifficulty: s.f("totalDifficulty", S$RescriptSchema.$$null(hexBigintSchema)),
189
+ transactions: s.f("transactions", S$RescriptSchema.array(S$RescriptSchema.json(false))),
190
+ transactionsRoot: s.f("transactionsRoot", S$RescriptSchema.string),
191
+ uncles: s.f("uncles", S$RescriptSchema.$$null(S$RescriptSchema.array(S$RescriptSchema.string)))
192
+ }));
193
+
194
+ let paramsSchema$1 = S$RescriptSchema.tuple(s => ({
195
+ blockNumber: s.item(0, hexIntSchema),
196
+ includeTransactions: s.item(1, S$RescriptSchema.bool)
197
+ }));
198
+
199
+ let resultSchema$1 = S$RescriptSchema.$$null(blockSchema);
200
+
201
+ let route$1 = makeRpcRoute("eth_getBlockByNumber", paramsSchema$1, resultSchema$1);
202
+
203
+ let rawRoute = makeRpcRoute("eth_getBlockByNumber", paramsSchema$1, S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
204
+
205
+ let GetBlockByNumber = {
228
206
  blockSchema: blockSchema,
229
207
  paramsSchema: paramsSchema$1,
230
208
  resultSchema: resultSchema$1,
@@ -232,60 +210,58 @@ var GetBlockByNumber = {
232
210
  rawRoute: rawRoute
233
211
  };
234
212
 
235
- var route$2 = makeRpcRoute("eth_blockNumber", S$RescriptSchema.tuple(function (param) {
236
-
237
- }), hexIntSchema);
213
+ let route$2 = makeRpcRoute("eth_blockNumber", S$RescriptSchema.tuple(param => {}), hexIntSchema);
238
214
 
239
- var GetBlockHeight = {
215
+ let GetBlockHeight = {
240
216
  route: route$2
241
217
  };
242
218
 
243
- var rawRoute$1 = makeRpcRoute("eth_getTransactionByHash", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
219
+ let rawRoute$1 = makeRpcRoute("eth_getTransactionByHash", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
244
220
 
245
- var GetTransactionByHash = {
221
+ let GetTransactionByHash = {
246
222
  rawRoute: rawRoute$1
247
223
  };
248
224
 
249
- var rawRoute$2 = makeRpcRoute("eth_getTransactionReceipt", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
225
+ let rawRoute$2 = makeRpcRoute("eth_getTransactionReceipt", S$RescriptSchema.tuple1(S$RescriptSchema.string), S$RescriptSchema.$$null(S$RescriptSchema.json(false)));
250
226
 
251
- var GetTransactionReceipt = {
227
+ let GetTransactionReceipt = {
252
228
  rawRoute: rawRoute$2
253
229
  };
254
230
 
255
231
  async function getLogs(client, param) {
256
- return await Rest.$$fetch(route, param, client);
232
+ return await Rest.fetch(route, param, client);
257
233
  }
258
234
 
259
235
  async function getBlock(client, blockNumber) {
260
- return await Rest.$$fetch(route$1, {
261
- blockNumber: blockNumber,
262
- includeTransactions: false
263
- }, client);
236
+ return await Rest.fetch(route$1, {
237
+ blockNumber: blockNumber,
238
+ includeTransactions: false
239
+ }, client);
264
240
  }
265
241
 
266
242
  async function getRawBlock(client, blockNumber) {
267
- return await Rest.$$fetch(rawRoute, {
268
- blockNumber: blockNumber,
269
- includeTransactions: false
270
- }, client);
243
+ return await Rest.fetch(rawRoute, {
244
+ blockNumber: blockNumber,
245
+ includeTransactions: false
246
+ }, client);
271
247
  }
272
248
 
273
249
  export {
274
- JsonRpcError ,
275
- makeRpcRoute ,
276
- jsonRpcFetcher ,
277
- makeClient ,
278
- makeHexSchema ,
279
- hexBigintSchema ,
280
- hexIntSchema ,
281
- decimalFloatSchema ,
282
- GetLogs ,
283
- GetBlockByNumber ,
284
- GetBlockHeight ,
285
- GetTransactionByHash ,
286
- GetTransactionReceipt ,
287
- getLogs ,
288
- getBlock ,
289
- getRawBlock ,
250
+ JsonRpcError,
251
+ makeRpcRoute,
252
+ jsonRpcFetcher,
253
+ makeClient,
254
+ makeHexSchema,
255
+ hexBigintSchema,
256
+ hexIntSchema,
257
+ decimalFloatSchema,
258
+ GetLogs,
259
+ GetBlockByNumber,
260
+ GetBlockHeight,
261
+ GetTransactionByHash,
262
+ GetTransactionReceipt,
263
+ getLogs,
264
+ getBlock,
265
+ getRawBlock,
290
266
  }
291
267
  /* hexBigintSchema Not a pure module */