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.
Files changed (219) hide show
  1. package/bin.mjs +2 -48
  2. package/evm.schema.json +67 -0
  3. package/fuel.schema.json +67 -0
  4. package/index.d.ts +822 -38
  5. package/index.js +5 -3
  6. package/package.json +10 -8
  7. package/rescript.json +5 -9
  8. package/src/Address.res +4 -5
  9. package/src/Address.res.mjs +9 -12
  10. package/src/Api.res +15 -0
  11. package/src/Api.res.mjs +20 -0
  12. package/src/Batch.res +32 -34
  13. package/src/Batch.res.mjs +172 -187
  14. package/src/Bin.res +89 -0
  15. package/src/Bin.res.mjs +97 -0
  16. package/src/ChainFetcher.res +33 -57
  17. package/src/ChainFetcher.res.mjs +197 -227
  18. package/src/ChainManager.res +6 -14
  19. package/src/ChainManager.res.mjs +74 -85
  20. package/src/ChainMap.res +14 -16
  21. package/src/ChainMap.res.mjs +38 -38
  22. package/src/Config.res +193 -135
  23. package/src/Config.res.mjs +566 -592
  24. package/src/Core.res +182 -0
  25. package/src/Core.res.mjs +207 -0
  26. package/src/Ecosystem.res +25 -4
  27. package/src/Ecosystem.res.mjs +12 -13
  28. package/src/Env.res +20 -13
  29. package/src/Env.res.mjs +124 -113
  30. package/src/EnvSafe.res +269 -0
  31. package/src/EnvSafe.res.mjs +296 -0
  32. package/src/EnvSafe.resi +18 -0
  33. package/src/Envio.res +37 -26
  34. package/src/Envio.res.mjs +59 -60
  35. package/src/ErrorHandling.res +2 -2
  36. package/src/ErrorHandling.res.mjs +15 -15
  37. package/src/EventConfigBuilder.res +219 -81
  38. package/src/EventConfigBuilder.res.mjs +259 -202
  39. package/src/EventProcessing.res +27 -38
  40. package/src/EventProcessing.res.mjs +165 -183
  41. package/src/EventUtils.res +11 -11
  42. package/src/EventUtils.res.mjs +21 -22
  43. package/src/EvmTypes.res +0 -1
  44. package/src/EvmTypes.res.mjs +5 -5
  45. package/src/FetchState.res +360 -256
  46. package/src/FetchState.res.mjs +958 -914
  47. package/src/GlobalState.res +365 -351
  48. package/src/GlobalState.res.mjs +958 -992
  49. package/src/GlobalStateManager.res +1 -2
  50. package/src/GlobalStateManager.res.mjs +36 -44
  51. package/src/HandlerLoader.res +107 -23
  52. package/src/HandlerLoader.res.mjs +128 -38
  53. package/src/HandlerRegister.res +127 -103
  54. package/src/HandlerRegister.res.mjs +164 -164
  55. package/src/HandlerRegister.resi +12 -4
  56. package/src/Hasura.res +35 -22
  57. package/src/Hasura.res.mjs +158 -167
  58. package/src/InMemoryStore.res +20 -27
  59. package/src/InMemoryStore.res.mjs +64 -80
  60. package/src/InMemoryTable.res +34 -39
  61. package/src/InMemoryTable.res.mjs +165 -170
  62. package/src/Internal.res +52 -33
  63. package/src/Internal.res.mjs +84 -81
  64. package/src/LazyLoader.res.mjs +55 -61
  65. package/src/LoadLayer.res +77 -78
  66. package/src/LoadLayer.res.mjs +160 -189
  67. package/src/LoadManager.res +16 -21
  68. package/src/LoadManager.res.mjs +79 -84
  69. package/src/LogSelection.res +236 -68
  70. package/src/LogSelection.res.mjs +211 -141
  71. package/src/Logging.res +13 -9
  72. package/src/Logging.res.mjs +130 -143
  73. package/src/Main.res +428 -51
  74. package/src/Main.res.mjs +528 -271
  75. package/src/Persistence.res +77 -84
  76. package/src/Persistence.res.mjs +131 -132
  77. package/src/PgStorage.res +291 -167
  78. package/src/PgStorage.res.mjs +797 -817
  79. package/src/Prometheus.res +50 -58
  80. package/src/Prometheus.res.mjs +345 -373
  81. package/src/ReorgDetection.res +22 -24
  82. package/src/ReorgDetection.res.mjs +100 -106
  83. package/src/SafeCheckpointTracking.res +7 -7
  84. package/src/SafeCheckpointTracking.res.mjs +40 -43
  85. package/src/SimulateItems.res +41 -49
  86. package/src/SimulateItems.res.mjs +257 -272
  87. package/src/Sink.res +2 -2
  88. package/src/Sink.res.mjs +22 -26
  89. package/src/TableIndices.res +1 -2
  90. package/src/TableIndices.res.mjs +42 -48
  91. package/src/TestIndexer.res +196 -189
  92. package/src/TestIndexer.res.mjs +536 -536
  93. package/src/TestIndexerProxyStorage.res +15 -16
  94. package/src/TestIndexerProxyStorage.res.mjs +98 -122
  95. package/src/TestIndexerWorker.res +4 -0
  96. package/src/TestIndexerWorker.res.mjs +7 -0
  97. package/src/Throttler.res +3 -3
  98. package/src/Throttler.res.mjs +23 -24
  99. package/src/Time.res +1 -1
  100. package/src/Time.res.mjs +18 -21
  101. package/src/TopicFilter.res +3 -3
  102. package/src/TopicFilter.res.mjs +29 -30
  103. package/src/UserContext.res +93 -54
  104. package/src/UserContext.res.mjs +197 -182
  105. package/src/Utils.res +141 -86
  106. package/src/Utils.res.mjs +334 -295
  107. package/src/bindings/BigDecimal.res +0 -2
  108. package/src/bindings/BigDecimal.res.mjs +19 -23
  109. package/src/bindings/ClickHouse.res +28 -27
  110. package/src/bindings/ClickHouse.res.mjs +243 -240
  111. package/src/bindings/DateFns.res +11 -11
  112. package/src/bindings/DateFns.res.mjs +7 -7
  113. package/src/bindings/EventSource.res.mjs +2 -2
  114. package/src/bindings/Express.res +2 -5
  115. package/src/bindings/Hrtime.res +2 -2
  116. package/src/bindings/Hrtime.res.mjs +30 -32
  117. package/src/bindings/Lodash.res.mjs +1 -1
  118. package/src/bindings/NodeJs.res +14 -9
  119. package/src/bindings/NodeJs.res.mjs +20 -20
  120. package/src/bindings/Pino.res +8 -10
  121. package/src/bindings/Pino.res.mjs +40 -43
  122. package/src/bindings/Postgres.res +2 -5
  123. package/src/bindings/Postgres.res.mjs +9 -9
  124. package/src/bindings/PromClient.res +17 -2
  125. package/src/bindings/PromClient.res.mjs +30 -7
  126. package/src/bindings/SDSL.res.mjs +2 -2
  127. package/src/bindings/Viem.res +4 -4
  128. package/src/bindings/Viem.res.mjs +20 -22
  129. package/src/bindings/Vitest.res +1 -1
  130. package/src/bindings/Vitest.res.mjs +2 -2
  131. package/src/bindings/WebSocket.res +1 -1
  132. package/src/db/EntityHistory.res +9 -3
  133. package/src/db/EntityHistory.res.mjs +84 -59
  134. package/src/db/InternalTable.res +62 -60
  135. package/src/db/InternalTable.res.mjs +271 -203
  136. package/src/db/Schema.res +1 -2
  137. package/src/db/Schema.res.mjs +28 -32
  138. package/src/db/Table.res +28 -27
  139. package/src/db/Table.res.mjs +276 -292
  140. package/src/sources/EventRouter.res +21 -16
  141. package/src/sources/EventRouter.res.mjs +55 -57
  142. package/src/sources/Evm.res +17 -1
  143. package/src/sources/Evm.res.mjs +16 -8
  144. package/src/sources/EvmChain.res +15 -17
  145. package/src/sources/EvmChain.res.mjs +40 -42
  146. package/src/sources/Fuel.res +14 -1
  147. package/src/sources/Fuel.res.mjs +16 -8
  148. package/src/sources/FuelSDK.res +1 -1
  149. package/src/sources/FuelSDK.res.mjs +6 -8
  150. package/src/sources/HyperFuel.res +8 -10
  151. package/src/sources/HyperFuel.res.mjs +113 -123
  152. package/src/sources/HyperFuelClient.res.mjs +6 -7
  153. package/src/sources/HyperFuelSource.res +19 -20
  154. package/src/sources/HyperFuelSource.res.mjs +339 -356
  155. package/src/sources/HyperSync.res +11 -13
  156. package/src/sources/HyperSync.res.mjs +206 -220
  157. package/src/sources/HyperSyncClient.res +5 -7
  158. package/src/sources/HyperSyncClient.res.mjs +70 -75
  159. package/src/sources/HyperSyncHeightStream.res +8 -9
  160. package/src/sources/HyperSyncHeightStream.res.mjs +78 -86
  161. package/src/sources/HyperSyncJsonApi.res +18 -15
  162. package/src/sources/HyperSyncJsonApi.res.mjs +201 -231
  163. package/src/sources/HyperSyncSource.res +17 -21
  164. package/src/sources/HyperSyncSource.res.mjs +268 -290
  165. package/src/sources/Rpc.res +5 -5
  166. package/src/sources/Rpc.res.mjs +168 -192
  167. package/src/sources/RpcSource.res +166 -167
  168. package/src/sources/RpcSource.res.mjs +972 -1046
  169. package/src/sources/RpcWebSocketHeightStream.res +10 -11
  170. package/src/sources/RpcWebSocketHeightStream.res.mjs +131 -145
  171. package/src/sources/SimulateSource.res +1 -1
  172. package/src/sources/SimulateSource.res.mjs +35 -38
  173. package/src/sources/Source.res +1 -1
  174. package/src/sources/Source.res.mjs +3 -3
  175. package/src/sources/SourceManager.res +39 -20
  176. package/src/sources/SourceManager.res.mjs +340 -371
  177. package/src/sources/SourceManager.resi +2 -1
  178. package/src/sources/Svm.res +12 -5
  179. package/src/sources/Svm.res.mjs +44 -41
  180. package/src/tui/Tui.res +23 -12
  181. package/src/tui/Tui.res.mjs +292 -290
  182. package/src/tui/bindings/Ink.res +2 -4
  183. package/src/tui/bindings/Ink.res.mjs +35 -41
  184. package/src/tui/components/BufferedProgressBar.res +7 -7
  185. package/src/tui/components/BufferedProgressBar.res.mjs +46 -46
  186. package/src/tui/components/CustomHooks.res +1 -2
  187. package/src/tui/components/CustomHooks.res.mjs +102 -122
  188. package/src/tui/components/Messages.res +1 -2
  189. package/src/tui/components/Messages.res.mjs +38 -42
  190. package/src/tui/components/SyncETA.res +10 -11
  191. package/src/tui/components/SyncETA.res.mjs +178 -196
  192. package/src/tui/components/TuiData.res +1 -1
  193. package/src/tui/components/TuiData.res.mjs +7 -6
  194. package/src/vendored/Rest.res +52 -66
  195. package/src/vendored/Rest.res.mjs +324 -364
  196. package/svm.schema.json +67 -0
  197. package/src/Address.gen.ts +0 -8
  198. package/src/Config.gen.ts +0 -19
  199. package/src/Envio.gen.ts +0 -55
  200. package/src/EvmTypes.gen.ts +0 -6
  201. package/src/InMemoryStore.gen.ts +0 -6
  202. package/src/Internal.gen.ts +0 -64
  203. package/src/PgStorage.gen.ts +0 -10
  204. package/src/PgStorage.res.d.mts +0 -5
  205. package/src/Types.ts +0 -56
  206. package/src/bindings/BigDecimal.gen.ts +0 -14
  207. package/src/bindings/BigDecimal.res.d.mts +0 -5
  208. package/src/bindings/BigInt.gen.ts +0 -10
  209. package/src/bindings/BigInt.res +0 -70
  210. package/src/bindings/BigInt.res.d.mts +0 -5
  211. package/src/bindings/BigInt.res.mjs +0 -154
  212. package/src/bindings/Ethers.res.d.mts +0 -5
  213. package/src/bindings/Pino.gen.ts +0 -17
  214. package/src/bindings/Postgres.gen.ts +0 -8
  215. package/src/bindings/Postgres.res.d.mts +0 -5
  216. package/src/bindings/Promise.res +0 -67
  217. package/src/bindings/Promise.res.mjs +0 -26
  218. package/src/db/InternalTable.gen.ts +0 -36
  219. package/src/sources/HyperSyncClient.gen.ts +0 -19
@@ -2,17 +2,15 @@
2
2
 
3
3
  import * as Table from "./Table.res.mjs";
4
4
  import * as Utils from "../Utils.res.mjs";
5
- import * as $$BigInt from "../bindings/BigInt.res.mjs";
6
5
  import * as Config from "../Config.res.mjs";
7
- import * as Js_exn from "rescript/lib/es6/js_exn.js";
8
6
  import * as Address from "../Address.res.mjs";
9
- import * as Js_dict from "rescript/lib/es6/js_dict.js";
10
- import * as Js_null from "rescript/lib/es6/js_null.js";
11
- import * as Belt_Array from "rescript/lib/es6/belt_Array.js";
12
- import * as Belt_Option from "rescript/lib/es6/belt_Option.js";
7
+ import * as Belt_Array from "@rescript/runtime/lib/es6/Belt_Array.js";
8
+ import * as Belt_Option from "@rescript/runtime/lib/es6/Belt_Option.js";
9
+ import * as Stdlib_Null from "@rescript/runtime/lib/es6/Stdlib_Null.js";
10
+ import * as Stdlib_JsError from "@rescript/runtime/lib/es6/Stdlib_JsError.js";
13
11
  import * as S$RescriptSchema from "rescript-schema/src/S.res.mjs";
14
12
 
15
- var fields = [
13
+ let fields = [
16
14
  "id",
17
15
  "start_block",
18
16
  "end_block",
@@ -26,71 +24,69 @@ var fields = [
26
24
  "_is_hyper_sync"
27
25
  ];
28
26
 
29
- var table = Table.mkTable("envio_chains", undefined, [
30
- Table.mkField("id", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, true, undefined, undefined),
31
- Table.mkField("start_block", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
32
- Table.mkField("end_block", "Int32", S$RescriptSchema.$$null(S$RescriptSchema.$$int), undefined, undefined, true, undefined, undefined, undefined),
33
- Table.mkField("max_reorg_depth", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
34
- Table.mkField("buffer_block", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
35
- Table.mkField("source_block", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
36
- Table.mkField("first_event_block", "Int32", S$RescriptSchema.$$null(S$RescriptSchema.$$int), undefined, undefined, true, undefined, undefined, undefined),
37
- Table.mkField("ready_at", "Date", S$RescriptSchema.$$null(Utils.Schema.dbDate), undefined, undefined, true, undefined, undefined, undefined),
38
- Table.mkField("events_processed", "UInt52", S$RescriptSchema.$$float, undefined, undefined, undefined, undefined, undefined, undefined),
39
- Table.mkField("_is_hyper_sync", "Boolean", S$RescriptSchema.bool, undefined, undefined, undefined, undefined, undefined, undefined),
40
- Table.mkField("progress_block", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined)
41
- ]);
27
+ let table = Table.mkTable("envio_chains", undefined, [
28
+ Table.mkField("id", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, true, undefined, undefined),
29
+ Table.mkField("start_block", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
30
+ Table.mkField("end_block", "Int32", S$RescriptSchema.$$null(S$RescriptSchema.int), undefined, undefined, true, undefined, undefined, undefined),
31
+ Table.mkField("max_reorg_depth", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
32
+ Table.mkField("buffer_block", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
33
+ Table.mkField("source_block", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
34
+ Table.mkField("first_event_block", "Int32", S$RescriptSchema.$$null(S$RescriptSchema.int), undefined, undefined, true, undefined, undefined, undefined),
35
+ Table.mkField("ready_at", "Date", S$RescriptSchema.$$null(Utils.Schema.dbDate), undefined, undefined, true, undefined, undefined, undefined),
36
+ Table.mkField("events_processed", "UInt52", S$RescriptSchema.float, undefined, undefined, undefined, undefined, undefined, undefined),
37
+ Table.mkField("_is_hyper_sync", "Boolean", S$RescriptSchema.bool, undefined, undefined, undefined, undefined, undefined, undefined),
38
+ Table.mkField("progress_block", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined)
39
+ ]);
42
40
 
43
41
  function initialFromConfig(chainConfig) {
44
42
  return {
45
- id: chainConfig.id,
46
- start_block: chainConfig.startBlock,
47
- end_block: Js_null.fromOption(chainConfig.endBlock),
48
- max_reorg_depth: chainConfig.maxReorgDepth,
49
- source_block: 0,
50
- progress_block: -1,
51
- events_processed: 0,
52
- first_event_block: null,
53
- buffer_block: -1,
54
- ready_at: null,
55
- _is_hyper_sync: false
56
- };
43
+ id: chainConfig.id,
44
+ start_block: chainConfig.startBlock,
45
+ end_block: Stdlib_Null.fromOption(chainConfig.endBlock),
46
+ max_reorg_depth: chainConfig.maxReorgDepth,
47
+ source_block: 0,
48
+ progress_block: -1,
49
+ events_processed: 0,
50
+ first_event_block: null,
51
+ buffer_block: -1,
52
+ ready_at: null,
53
+ _is_hyper_sync: false
54
+ };
57
55
  }
58
56
 
59
57
  function makeInitialValuesQuery(pgSchema, chainConfigs) {
60
58
  if (chainConfigs.length === 0) {
61
- return ;
59
+ return;
62
60
  }
63
- var columnNames = Belt_Array.map(fields, (function (field) {
64
- return "\"" + field + "\"";
65
- }));
66
- var valuesRows = Belt_Array.map(chainConfigs, (function (chainConfig) {
67
- var initialValues = initialFromConfig(chainConfig);
68
- var values = Belt_Array.map(fields, (function (field) {
69
- var value = Js_dict.get(initialValues, field);
70
- var match = typeof value;
71
- switch (match) {
72
- case "bigint" :
73
- return value.toString();
74
- case "boolean" :
75
- if (value) {
76
- return "true";
77
- } else {
78
- return "false";
79
- }
80
- case "number" :
81
- return String(value);
82
- case "object" :
83
- return "NULL";
84
- default:
85
- return Js_exn.raiseError("Invalid envio_chains value type");
86
- }
87
- }));
88
- return "(" + values.join(", ") + ")";
89
- }));
90
- return "INSERT INTO \"" + pgSchema + "\".\"" + table.tableName + "\" (" + columnNames.join(", ") + ")\nVALUES " + valuesRows.join(",\n ") + ";";
61
+ let columnNames = Belt_Array.map(fields, field => `"` + field + `"`);
62
+ let valuesRows = Belt_Array.map(chainConfigs, chainConfig => {
63
+ let initialValues = initialFromConfig(chainConfig);
64
+ let values = Belt_Array.map(fields, field => {
65
+ let value = initialValues[field];
66
+ let match = typeof value;
67
+ if (match === "bigint") {
68
+ return value.toString();
69
+ } else if (match === "boolean") {
70
+ if (value) {
71
+ return "true";
72
+ } else {
73
+ return "false";
74
+ }
75
+ } else if (match === "object") {
76
+ return "NULL";
77
+ } else if (match === "number") {
78
+ return String(value);
79
+ } else {
80
+ return Stdlib_JsError.throwWithMessage("Invalid envio_chains value type");
81
+ }
82
+ });
83
+ return `(` + values.join(", ") + `)`;
84
+ });
85
+ return `INSERT INTO "` + pgSchema + `"."` + table.tableName + `" (` + columnNames.join(", ") + `)
86
+ VALUES ` + valuesRows.join(",\n ") + `;`;
91
87
  }
92
88
 
93
- var metaFields = [
89
+ let metaFields = [
94
90
  "buffer_block",
95
91
  "first_event_block",
96
92
  "ready_at",
@@ -98,67 +94,92 @@ var metaFields = [
98
94
  ];
99
95
 
100
96
  function makeMetaFieldsUpdateQuery(pgSchema) {
101
- var setClauses = Belt_Array.mapWithIndex(metaFields, (function (index, field) {
102
- var paramIndex = index + 2 | 0;
103
- return "\"" + field + "\" = $" + String(paramIndex);
104
- }));
105
- return "UPDATE \"" + pgSchema + "\".\"" + table.tableName + "\"\nSET " + setClauses.join(",\n ") + "\nWHERE \"" + "id" + "\" = $1;";
97
+ let setClauses = Belt_Array.mapWithIndex(metaFields, (index, field) => {
98
+ let paramIndex = index + 2 | 0;
99
+ return `"` + field + `" = $` + String(paramIndex);
100
+ });
101
+ return `UPDATE "` + pgSchema + `"."` + table.tableName + `"
102
+ SET ` + setClauses.join(",\n ") + `
103
+ WHERE "` + "id" + `" = $1;`;
106
104
  }
107
105
 
108
106
  function makeGetInitialStateQuery(pgSchema) {
109
- return "SELECT \"" + "id" + "\" as \"id\",\n\"" + "start_block" + "\" as \"startBlock\",\n\"" + "end_block" + "\" as \"endBlock\",\n\"" + "max_reorg_depth" + "\" as \"maxReorgDepth\",\n\"" + "first_event_block" + "\" as \"firstEventBlockNumber\",\n\"" + "ready_at" + "\" as \"timestampCaughtUpToHeadOrEndblock\",\n\"" + "events_processed" + "\"::float8 as \"numEventsProcessed\",\n\"" + "progress_block" + "\" as \"progressBlockNumber\",\n\"" + "source_block" + "\" as \"sourceBlockNumber\",\n(\n SELECT COALESCE(json_agg(json_build_object(\n 'address', \"contract_address\",\n 'contractName', \"contract_name\",\n 'startBlock', \"registering_event_block_number\",\n 'registrationBlock', \"registering_event_block_number\"\n )), '[]'::json)\n FROM \"" + pgSchema + "\".\"" + Config.DynamicContractRegistry.table.tableName + "\"\n WHERE \"chain_id\" = chains.\"" + "id" + "\"\n) as \"dynamicContracts\"\nFROM \"" + pgSchema + "\".\"" + table.tableName + "\" as chains;";
107
+ return `SELECT "` + "id" + `" as "id",
108
+ "` + "start_block" + `" as "startBlock",
109
+ "` + "end_block" + `" as "endBlock",
110
+ "` + "max_reorg_depth" + `" as "maxReorgDepth",
111
+ "` + "first_event_block" + `" as "firstEventBlockNumber",
112
+ "` + "ready_at" + `" as "timestampCaughtUpToHeadOrEndblock",
113
+ "` + "events_processed" + `"::float8 as "numEventsProcessed",
114
+ "` + "progress_block" + `" as "progressBlockNumber",
115
+ "` + "source_block" + `" as "sourceBlockNumber",
116
+ (
117
+ -- envio_addresses.id is a composite "{chainId}-{address}" string produced by
118
+ -- Config.EnvioAddresses.makeId; extract the address by taking everything
119
+ -- after the first '-'. Keep in sync with makeId / getAddress.
120
+ SELECT COALESCE(json_agg(json_build_object(
121
+ 'address', SUBSTRING("id" FROM POSITION('-' IN "id") + 1),
122
+ 'contractName', "contract_name",
123
+ 'registrationBlock', "registration_block"
124
+ )), '[]'::json)
125
+ FROM "` + pgSchema + `"."` + Config.EnvioAddresses.table.tableName + `"
126
+ WHERE "chain_id" = chains."` + "id" + `"
127
+ ) as "indexingAddresses"
128
+ FROM "` + pgSchema + `"."` + table.tableName + `" as chains;`;
110
129
  }
111
130
 
112
131
  function getInitialState(sql, pgSchema) {
113
132
  return sql.unsafe(makeGetInitialStateQuery(pgSchema));
114
133
  }
115
134
 
116
- var progressFields = [
135
+ let progressFields = [
117
136
  "progress_block",
118
137
  "events_processed",
119
138
  "source_block"
120
139
  ];
121
140
 
122
141
  function makeProgressFieldsUpdateQuery(pgSchema) {
123
- var setClauses = Belt_Array.mapWithIndex(progressFields, (function (index, field) {
124
- var paramIndex = index + 2 | 0;
125
- return "\"" + field + "\" = $" + String(paramIndex);
126
- }));
127
- return "UPDATE \"" + pgSchema + "\".\"" + table.tableName + "\"\nSET " + setClauses.join(",\n ") + "\nWHERE \"id\" = $1;";
142
+ let setClauses = Belt_Array.mapWithIndex(progressFields, (index, field) => {
143
+ let paramIndex = index + 2 | 0;
144
+ return `"` + field + `" = $` + String(paramIndex);
145
+ });
146
+ return `UPDATE "` + pgSchema + `"."` + table.tableName + `"
147
+ SET ` + setClauses.join(",\n ") + `
148
+ WHERE "id" = $1;`;
128
149
  }
129
150
 
130
151
  function setMeta(sql, pgSchema, chainsData) {
131
- var query = makeMetaFieldsUpdateQuery(pgSchema);
132
- var promises = [];
133
- Utils.Dict.forEachWithKey(chainsData, (function (data, chainId) {
134
- var params = [];
135
- params.push(chainId);
136
- metaFields.forEach(function (field) {
137
- var value = data[field];
138
- params.push(value);
139
- });
140
- promises.push(sql.unsafe(query, params, {prepare: true}));
141
- }));
152
+ let query = makeMetaFieldsUpdateQuery(pgSchema);
153
+ let promises = [];
154
+ Utils.Dict.forEachWithKey(chainsData, (data, chainId) => {
155
+ let params = [];
156
+ params.push(chainId);
157
+ metaFields.forEach(field => {
158
+ let value = data[field];
159
+ params.push(value);
160
+ });
161
+ promises.push(sql.unsafe(query, params, {prepare: true}));
162
+ });
142
163
  return Promise.all(promises);
143
164
  }
144
165
 
145
166
  function setProgressedChains(sql, pgSchema, progressedChains) {
146
- var query = makeProgressFieldsUpdateQuery(pgSchema);
147
- var promises = [];
148
- progressedChains.forEach(function (data) {
149
- var params = [];
150
- params.push(data.chainId);
151
- progressFields.forEach(function (field) {
152
- params.push(field === "source_block" ? data.sourceBlockNumber : (
153
- field === "progress_block" ? data.progressBlockNumber : data.totalEventsProcessed
154
- ));
155
- });
156
- promises.push(sql.unsafe(query, params, {prepare: true}));
157
- });
167
+ let query = makeProgressFieldsUpdateQuery(pgSchema);
168
+ let promises = [];
169
+ progressedChains.forEach(data => {
170
+ let params = [];
171
+ params.push(data.chainId);
172
+ progressFields.forEach(field => {
173
+ params.push(field === "source_block" ? data.sourceBlockNumber : (
174
+ field === "progress_block" ? data.progressBlockNumber : data.totalEventsProcessed
175
+ ));
176
+ });
177
+ promises.push(sql.unsafe(query, params, {prepare: true}));
178
+ });
158
179
  return Promise.all(promises);
159
180
  }
160
181
 
161
- var Chains = {
182
+ let Chains = {
162
183
  fields: fields,
163
184
  table: table,
164
185
  initialFromConfig: initialFromConfig,
@@ -173,69 +194,85 @@ var Chains = {
173
194
  setProgressedChains: setProgressedChains
174
195
  };
175
196
 
176
- var table$1 = Table.mkTable("persisted_state", undefined, [
177
- Table.mkField("id", "Serial", S$RescriptSchema.$$int, undefined, undefined, undefined, true, undefined, undefined),
178
- Table.mkField("envio_version", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
179
- Table.mkField("config_hash", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
180
- Table.mkField("schema_hash", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
181
- Table.mkField("abi_files_hash", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined)
182
- ]);
197
+ let table$1 = Table.mkTable("persisted_state", undefined, [
198
+ Table.mkField("id", "Serial", S$RescriptSchema.int, undefined, undefined, undefined, true, undefined, undefined),
199
+ Table.mkField("envio_version", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
200
+ Table.mkField("config_hash", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
201
+ Table.mkField("schema_hash", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
202
+ Table.mkField("abi_files_hash", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined)
203
+ ]);
183
204
 
184
- var PersistedState = {
205
+ let PersistedState = {
185
206
  table: table$1
186
207
  };
187
208
 
188
- var dbSchema = S$RescriptSchema.object(function (s) {
189
- return {
190
- id: s.f("id", $$BigInt.schema),
191
- chain_id: s.f("chain_id", S$RescriptSchema.$$int),
192
- block_number: s.f("block_number", S$RescriptSchema.$$int),
193
- block_hash: s.f("block_hash", S$RescriptSchema.union([
194
- S$RescriptSchema.string,
195
- S$RescriptSchema.literal(null)
196
- ])),
197
- events_processed: s.f("events_processed", S$RescriptSchema.$$int)
198
- };
199
- });
200
-
201
- var table$2 = Table.mkTable("envio_checkpoints", undefined, [
202
- Table.mkField("id", "UInt64", S$RescriptSchema.bigint, undefined, undefined, undefined, true, undefined, undefined),
203
- Table.mkField("chain_id", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
204
- Table.mkField("block_number", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
205
- Table.mkField("block_hash", "String", S$RescriptSchema.$$null(S$RescriptSchema.string), undefined, undefined, true, undefined, undefined, undefined),
206
- Table.mkField("events_processed", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined)
207
- ]);
209
+ let dbSchema = S$RescriptSchema.object(s => ({
210
+ id: s.f("id", Utils.$$BigInt.schema),
211
+ chain_id: s.f("chain_id", S$RescriptSchema.int),
212
+ block_number: s.f("block_number", S$RescriptSchema.int),
213
+ block_hash: s.f("block_hash", S$RescriptSchema.union([
214
+ S$RescriptSchema.string,
215
+ S$RescriptSchema.literal(null)
216
+ ])),
217
+ events_processed: s.f("events_processed", S$RescriptSchema.int)
218
+ }));
219
+
220
+ let table$2 = Table.mkTable("envio_checkpoints", undefined, [
221
+ Table.mkField("id", "UInt64", S$RescriptSchema.bigint, undefined, undefined, undefined, true, undefined, undefined),
222
+ Table.mkField("chain_id", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
223
+ Table.mkField("block_number", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
224
+ Table.mkField("block_hash", "String", S$RescriptSchema.$$null(S$RescriptSchema.string), undefined, undefined, true, undefined, undefined, undefined),
225
+ Table.mkField("events_processed", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined)
226
+ ]);
208
227
 
209
228
  function makeGetReorgCheckpointsQuery(pgSchema) {
210
- return "WITH reorg_chains AS (\n SELECT \n \"" + "id" + "\" as id,\n \"" + "source_block" + "\" - \"" + "max_reorg_depth" + "\" AS safe_block\n FROM \"" + pgSchema + "\".\"" + table.tableName + "\"\n WHERE \"" + "max_reorg_depth" + "\" > 0\n AND \"" + "progress_block" + "\" > \"" + "source_block" + "\" - \"" + "max_reorg_depth" + "\"\n)\nSELECT \n cp.\"" + "id" + "\", \n cp.\"" + "chain_id" + "\", \n cp.\"" + "block_number" + "\", \n cp.\"" + "block_hash" + "\"\nFROM \"" + pgSchema + "\".\"" + table$2.tableName + "\" cp\nINNER JOIN reorg_chains rc \n ON cp.\"" + "chain_id" + "\" = rc.id\nWHERE cp.\"" + "block_hash" + "\" IS NOT NULL\n AND cp.\"" + "block_number" + "\" >= rc.safe_block;";
229
+ return `WITH reorg_chains AS (
230
+ SELECT
231
+ "` + "id" + `" as id,
232
+ "` + "source_block" + `" - "` + "max_reorg_depth" + `" AS safe_block
233
+ FROM "` + pgSchema + `"."` + table.tableName + `"
234
+ WHERE "` + "max_reorg_depth" + `" > 0
235
+ AND "` + "progress_block" + `" > "` + "source_block" + `" - "` + "max_reorg_depth" + `"
236
+ )
237
+ SELECT
238
+ cp."` + "id" + `",
239
+ cp."` + "chain_id" + `",
240
+ cp."` + "block_number" + `",
241
+ cp."` + "block_hash" + `"
242
+ FROM "` + pgSchema + `"."` + table$2.tableName + `" cp
243
+ INNER JOIN reorg_chains rc
244
+ ON cp."` + "chain_id" + `" = rc.id
245
+ WHERE cp."` + "block_hash" + `" IS NOT NULL
246
+ AND cp."` + "block_number" + `" >= rc.safe_block;`;
211
247
  }
212
248
 
213
249
  function makeCommitedCheckpointIdQuery(pgSchema) {
214
- return "SELECT COALESCE(MAX(" + "id" + "), " + (0n).toString() + ") AS id FROM \"" + pgSchema + "\".\"" + table$2.tableName + "\";";
250
+ return `SELECT COALESCE(MAX(` + "id" + `), ` + (0n).toString() + `) AS id FROM "` + pgSchema + `"."` + table$2.tableName + `";`;
215
251
  }
216
252
 
217
253
  function makeInsertCheckpointQuery(pgSchema) {
218
- return "INSERT INTO \"" + pgSchema + "\".\"" + table$2.tableName + "\" (\"" + "id" + "\", \"" + "chain_id" + "\", \"" + "block_number" + "\", \"" + "block_hash" + "\", \"" + "events_processed" + "\")\nSELECT * FROM unnest($1::BIGINT[],$2::INTEGER[],$3::INTEGER[],$4::TEXT[],$5::INTEGER[]);";
254
+ return `INSERT INTO "` + pgSchema + `"."` + table$2.tableName + `" ("` + "id" + `", "` + "chain_id" + `", "` + "block_number" + `", "` + "block_hash" + `", "` + "events_processed" + `")
255
+ SELECT * FROM unnest($1::` + "BIGINT" + `[],$2::` + "INTEGER" + `[],$3::` + "INTEGER" + `[],$4::` + "TEXT" + `[],$5::` + "INTEGER" + `[]);`;
219
256
  }
220
257
 
221
258
  function insert(sql, pgSchema, checkpointIds, checkpointChainIds, checkpointBlockNumbers, checkpointBlockHashes, checkpointEventsProcessed) {
222
- var query = makeInsertCheckpointQuery(pgSchema);
223
- var checkpointIdStrings = $$BigInt.arrayToStringArray(checkpointIds);
259
+ let query = makeInsertCheckpointQuery(pgSchema);
260
+ let checkpointIdStrings = Utils.$$BigInt.arrayToStringArray(checkpointIds);
224
261
  return sql.unsafe(query, [
225
- checkpointIdStrings,
226
- checkpointChainIds,
227
- checkpointBlockNumbers,
228
- checkpointBlockHashes,
229
- checkpointEventsProcessed
230
- ], {prepare: true});
262
+ checkpointIdStrings,
263
+ checkpointChainIds,
264
+ checkpointBlockNumbers,
265
+ checkpointBlockHashes,
266
+ checkpointEventsProcessed
267
+ ], {prepare: true});
231
268
  }
232
269
 
233
270
  function rollback(sql, pgSchema, rollbackTargetCheckpointId) {
234
- return sql.unsafe("DELETE FROM \"" + pgSchema + "\".\"" + table$2.tableName + "\" WHERE \"" + "id" + "\" > $1;", [rollbackTargetCheckpointId.toString()], {prepare: true});
271
+ return sql.unsafe(`DELETE FROM "` + pgSchema + `"."` + table$2.tableName + `" WHERE "` + "id" + `" > $1;`, [rollbackTargetCheckpointId.toString()], {prepare: true});
235
272
  }
236
273
 
237
274
  function makePruneStaleCheckpointsQuery(pgSchema) {
238
- return "DELETE FROM \"" + pgSchema + "\".\"" + table$2.tableName + "\" WHERE \"" + "id" + "\" < $1;";
275
+ return `DELETE FROM "` + pgSchema + `"."` + table$2.tableName + `" WHERE "` + "id" + `" < $1;`;
239
276
  }
240
277
 
241
278
  function pruneStaleCheckpoints(sql, pgSchema, safeCheckpointId) {
@@ -243,30 +280,37 @@ function pruneStaleCheckpoints(sql, pgSchema, safeCheckpointId) {
243
280
  }
244
281
 
245
282
  function makeGetRollbackTargetCheckpointQuery(pgSchema) {
246
- return "SELECT \"" + "id" + "\" FROM \"" + pgSchema + "\".\"" + table$2.tableName + "\"\nWHERE \n \"" + "chain_id" + "\" = $1 AND\n \"" + "block_number" + "\" <= $2\nORDER BY \"" + "id" + "\" DESC\nLIMIT 1;";
283
+ return `SELECT "` + "id" + `" FROM "` + pgSchema + `"."` + table$2.tableName + `"
284
+ WHERE
285
+ "` + "chain_id" + `" = $1 AND
286
+ "` + "block_number" + `" <= $2
287
+ ORDER BY "` + "id" + `" DESC
288
+ LIMIT 1;`;
247
289
  }
248
290
 
249
291
  function getRollbackTargetCheckpoint(sql, pgSchema, reorgChainId, lastKnownValidBlockNumber) {
250
- var rawResult = sql.unsafe(makeGetRollbackTargetCheckpointQuery(pgSchema), [
251
- reorgChainId,
252
- lastKnownValidBlockNumber
253
- ], {prepare: true});
254
- return rawResult.then(function (rows) {
255
- return Belt_Option.map(Belt_Array.get(rows, 0), (function (row) {
256
- return BigInt(row.id);
257
- }));
258
- });
292
+ let rawResult = sql.unsafe(makeGetRollbackTargetCheckpointQuery(pgSchema), [
293
+ reorgChainId,
294
+ lastKnownValidBlockNumber
295
+ ], {prepare: true});
296
+ return rawResult.then(rows => Belt_Option.map(Belt_Array.get(rows, 0), row => BigInt(row.id)));
259
297
  }
260
298
 
261
299
  function makeGetRollbackProgressDiffQuery(pgSchema) {
262
- return "SELECT \n \"" + "chain_id" + "\",\n SUM(\"" + "events_processed" + "\") as events_processed_diff,\n MIN(\"" + "block_number" + "\") - 1 as new_progress_block_number\nFROM \"" + pgSchema + "\".\"" + table$2.tableName + "\"\nWHERE \"" + "id" + "\" > $1\nGROUP BY \"" + "chain_id" + "\";";
300
+ return `SELECT
301
+ "` + "chain_id" + `",
302
+ SUM("` + "events_processed" + `") as events_processed_diff,
303
+ MIN("` + "block_number" + `") - 1 as new_progress_block_number
304
+ FROM "` + pgSchema + `"."` + table$2.tableName + `"
305
+ WHERE "` + "id" + `" > $1
306
+ GROUP BY "` + "chain_id" + `";`;
263
307
  }
264
308
 
265
309
  function getRollbackProgressDiff(sql, pgSchema, rollbackTargetCheckpointId) {
266
310
  return sql.unsafe(makeGetRollbackProgressDiffQuery(pgSchema), [rollbackTargetCheckpointId.toString()], {prepare: true});
267
311
  }
268
312
 
269
- var Checkpoints = {
313
+ let Checkpoints = {
270
314
  dbSchema: dbSchema,
271
315
  initialCheckpointId: 0n,
272
316
  table: table$2,
@@ -283,80 +327,104 @@ var Checkpoints = {
283
327
  getRollbackProgressDiff: getRollbackProgressDiff
284
328
  };
285
329
 
286
- var schema = S$RescriptSchema.schema(function (s) {
287
- return {
288
- chain_id: s.m(S$RescriptSchema.$$int),
289
- event_id: s.m(S$RescriptSchema.bigint),
290
- event_name: s.m(S$RescriptSchema.string),
291
- contract_name: s.m(S$RescriptSchema.string),
292
- block_number: s.m(S$RescriptSchema.$$int),
293
- log_index: s.m(S$RescriptSchema.$$int),
294
- src_address: s.m(Address.schema),
295
- block_hash: s.m(S$RescriptSchema.string),
296
- block_timestamp: s.m(S$RescriptSchema.$$int),
297
- block_fields: s.m(S$RescriptSchema.json(false)),
298
- transaction_fields: s.m(S$RescriptSchema.json(false)),
299
- params: s.m(S$RescriptSchema.json(false))
300
- };
301
- });
302
-
303
- var table$3 = Table.mkTable("raw_events", undefined, [
304
- Table.mkField("chain_id", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
305
- Table.mkField("event_id", "UInt64", S$RescriptSchema.bigint, undefined, undefined, undefined, undefined, undefined, undefined),
306
- Table.mkField("event_name", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
307
- Table.mkField("contract_name", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
308
- Table.mkField("block_number", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
309
- Table.mkField("log_index", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
310
- Table.mkField("src_address", "String", Address.schema, undefined, undefined, undefined, undefined, undefined, undefined),
311
- Table.mkField("block_hash", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
312
- Table.mkField("block_timestamp", "Int32", S$RescriptSchema.$$int, undefined, undefined, undefined, undefined, undefined, undefined),
313
- Table.mkField("block_fields", "Json", S$RescriptSchema.json(false), undefined, undefined, undefined, undefined, undefined, undefined),
314
- Table.mkField("transaction_fields", "Json", S$RescriptSchema.json(false), undefined, undefined, undefined, undefined, undefined, undefined),
315
- Table.mkField("params", "Json", S$RescriptSchema.json(false), undefined, undefined, undefined, undefined, undefined, undefined),
316
- Table.mkField("serial", "BigSerial", S$RescriptSchema.$$null(S$RescriptSchema.bigint), undefined, undefined, true, true, undefined, undefined)
317
- ]);
318
-
319
- var RawEvents = {
330
+ let schema = S$RescriptSchema.schema(s => ({
331
+ chain_id: s.m(S$RescriptSchema.int),
332
+ event_id: s.m(S$RescriptSchema.bigint),
333
+ event_name: s.m(S$RescriptSchema.string),
334
+ contract_name: s.m(S$RescriptSchema.string),
335
+ block_number: s.m(S$RescriptSchema.int),
336
+ log_index: s.m(S$RescriptSchema.int),
337
+ src_address: s.m(Address.schema),
338
+ block_hash: s.m(S$RescriptSchema.string),
339
+ block_timestamp: s.m(S$RescriptSchema.int),
340
+ block_fields: s.m(S$RescriptSchema.json(false)),
341
+ transaction_fields: s.m(S$RescriptSchema.json(false)),
342
+ params: s.m(S$RescriptSchema.json(false))
343
+ }));
344
+
345
+ let table$3 = Table.mkTable("raw_events", undefined, [
346
+ Table.mkField("chain_id", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
347
+ Table.mkField("event_id", "UInt64", S$RescriptSchema.bigint, undefined, undefined, undefined, undefined, undefined, undefined),
348
+ Table.mkField("event_name", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
349
+ Table.mkField("contract_name", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
350
+ Table.mkField("block_number", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
351
+ Table.mkField("log_index", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
352
+ Table.mkField("src_address", "String", Address.schema, undefined, undefined, undefined, undefined, undefined, undefined),
353
+ Table.mkField("block_hash", "String", S$RescriptSchema.string, undefined, undefined, undefined, undefined, undefined, undefined),
354
+ Table.mkField("block_timestamp", "Int32", S$RescriptSchema.int, undefined, undefined, undefined, undefined, undefined, undefined),
355
+ Table.mkField("block_fields", "Json", S$RescriptSchema.json(false), undefined, undefined, undefined, undefined, undefined, undefined),
356
+ Table.mkField("transaction_fields", "Json", S$RescriptSchema.json(false), undefined, undefined, undefined, undefined, undefined, undefined),
357
+ Table.mkField("params", "Json", S$RescriptSchema.json(false), undefined, undefined, undefined, undefined, undefined, undefined),
358
+ Table.mkField("serial", "BigSerial", S$RescriptSchema.$$null(S$RescriptSchema.bigint), undefined, undefined, true, true, undefined, undefined)
359
+ ]);
360
+
361
+ let RawEvents = {
320
362
  schema: schema,
321
363
  table: table$3
322
364
  };
323
365
 
324
- var metaViewName = "_meta";
366
+ let metaViewName = "_meta";
325
367
 
326
- var chainMetadataViewName = "chain_metadata";
368
+ let chainMetadataViewName = "chain_metadata";
327
369
 
328
370
  function makeMetaViewQuery(pgSchema) {
329
- return "CREATE VIEW \"" + pgSchema + "\".\"" + metaViewName + "\" AS \nSELECT \n \"" + "id" + "\" AS \"chainId\",\n \"" + "start_block" + "\" AS \"startBlock\", \n \"" + "end_block" + "\" AS \"endBlock\",\n \"" + "progress_block" + "\" AS \"progressBlock\",\n \"" + "buffer_block" + "\" AS \"bufferBlock\",\n \"" + "first_event_block" + "\" AS \"firstEventBlock\",\n \"" + "events_processed" + "\"::float4 AS \"eventsProcessed\",\n \"" + "source_block" + "\" AS \"sourceBlock\",\n \"" + "ready_at" + "\" AS \"readyAt\",\n (\"" + "ready_at" + "\" IS NOT NULL) AS \"isReady\"\nFROM \"" + pgSchema + "\".\"" + table.tableName + "\"\nORDER BY \"" + "id" + "\";";
371
+ return `CREATE VIEW "` + pgSchema + `"."` + metaViewName + `" AS
372
+ SELECT
373
+ "` + "id" + `" AS "chainId",
374
+ "` + "start_block" + `" AS "startBlock",
375
+ "` + "end_block" + `" AS "endBlock",
376
+ "` + "progress_block" + `" AS "progressBlock",
377
+ "` + "buffer_block" + `" AS "bufferBlock",
378
+ "` + "first_event_block" + `" AS "firstEventBlock",
379
+ "` + "events_processed" + `"::float4 AS "eventsProcessed",
380
+ "` + "source_block" + `" AS "sourceBlock",
381
+ "` + "ready_at" + `" AS "readyAt",
382
+ ("` + "ready_at" + `" IS NOT NULL) AS "isReady"
383
+ FROM "` + pgSchema + `"."` + table.tableName + `"
384
+ ORDER BY "` + "id" + `";`;
330
385
  }
331
386
 
332
387
  function makeChainMetadataViewQuery(pgSchema) {
333
- return "CREATE VIEW \"" + pgSchema + "\".\"" + chainMetadataViewName + "\" AS \nSELECT \n \"" + "source_block" + "\" AS \"block_height\",\n \"" + "id" + "\" AS \"chain_id\",\n \"" + "end_block" + "\" AS \"end_block\", \n \"" + "first_event_block" + "\" AS \"first_event_block_number\",\n \"" + "_is_hyper_sync" + "\" AS \"is_hyper_sync\",\n \"" + "buffer_block" + "\" AS \"latest_fetched_block_number\",\n \"" + "progress_block" + "\" AS \"latest_processed_block\",\n 0 AS \"num_batches_fetched\",\n \"" + "events_processed" + "\"::float4 AS \"num_events_processed\",\n \"" + "start_block" + "\" AS \"start_block\",\n \"" + "ready_at" + "\" AS \"timestamp_caught_up_to_head_or_endblock\"\nFROM \"" + pgSchema + "\".\"" + table.tableName + "\";";
388
+ return `CREATE VIEW "` + pgSchema + `"."` + chainMetadataViewName + `" AS
389
+ SELECT
390
+ "` + "source_block" + `" AS "block_height",
391
+ "` + "id" + `" AS "chain_id",
392
+ "` + "end_block" + `" AS "end_block",
393
+ "` + "first_event_block" + `" AS "first_event_block_number",
394
+ "` + "_is_hyper_sync" + `" AS "is_hyper_sync",
395
+ "` + "buffer_block" + `" AS "latest_fetched_block_number",
396
+ "` + "progress_block" + `" AS "latest_processed_block",
397
+ 0 AS "num_batches_fetched",
398
+ "` + "events_processed" + `"::float4 AS "num_events_processed",
399
+ "` + "start_block" + `" AS "start_block",
400
+ "` + "ready_at" + `" AS "timestamp_caught_up_to_head_or_endblock"
401
+ FROM "` + pgSchema + `"."` + table.tableName + `";`;
334
402
  }
335
403
 
336
- var Views = {
404
+ let Views = {
337
405
  metaViewName: metaViewName,
338
406
  chainMetadataViewName: chainMetadataViewName,
339
407
  makeMetaViewQuery: makeMetaViewQuery,
340
408
  makeChainMetadataViewQuery: makeChainMetadataViewQuery
341
409
  };
342
410
 
343
- var isPrimaryKey = true;
411
+ let isPrimaryKey = true;
344
412
 
345
- var isNullable = true;
413
+ let isNullable = true;
346
414
 
347
- var isIndex = true;
415
+ let isIndex = true;
348
416
 
349
- var DynamicContractRegistry;
417
+ let EnvioAddresses;
350
418
 
351
419
  export {
352
- isPrimaryKey ,
353
- isNullable ,
354
- isIndex ,
355
- DynamicContractRegistry ,
356
- Chains ,
357
- PersistedState ,
358
- Checkpoints ,
359
- RawEvents ,
360
- Views ,
420
+ isPrimaryKey,
421
+ isNullable,
422
+ isIndex,
423
+ EnvioAddresses,
424
+ Chains,
425
+ PersistedState,
426
+ Checkpoints,
427
+ RawEvents,
428
+ Views,
361
429
  }
362
430
  /* table Not a pure module */