envio 2.31.1-rc.0 → 2.31.1-rc.1

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "envio",
3
- "version": "v2.31.1-rc.0",
3
+ "version": "v2.31.1-rc.1",
4
4
  "description": "A latency and sync speed optimized, developer friendly blockchain data indexer.",
5
5
  "bin": "./bin.js",
6
6
  "main": "./index.js",
@@ -25,10 +25,10 @@
25
25
  },
26
26
  "homepage": "https://envio.dev",
27
27
  "optionalDependencies": {
28
- "envio-linux-x64": "v2.31.1-rc.0",
29
- "envio-linux-arm64": "v2.31.1-rc.0",
30
- "envio-darwin-x64": "v2.31.1-rc.0",
31
- "envio-darwin-arm64": "v2.31.1-rc.0"
28
+ "envio-linux-x64": "v2.31.1-rc.1",
29
+ "envio-linux-arm64": "v2.31.1-rc.1",
30
+ "envio-darwin-x64": "v2.31.1-rc.1",
31
+ "envio-darwin-arm64": "v2.31.1-rc.1"
32
32
  },
33
33
  "dependencies": {
34
34
  "@envio-dev/hypersync-client": "0.6.6",
@@ -188,19 +188,16 @@ Returns the latest block number which matches block number and hashes in the pro
188
188
  If it doesn't exist in the reorg threshold it returns NotFound
189
189
  */
190
190
  let getLatestValidScannedBlock = (
191
- self: t,
191
+ reorgDetection: t,
192
192
  ~blockNumbersAndHashes: array<blockDataWithTimestamp>,
193
- ~currentBlockHeight,
194
193
  ) => {
195
194
  let verifiedDataByBlockNumber = Js.Dict.empty()
196
195
  for idx in 0 to blockNumbersAndHashes->Array.length - 1 {
197
196
  let blockData = blockNumbersAndHashes->Array.getUnsafe(idx)
198
197
  verifiedDataByBlockNumber->Js.Dict.set(blockData.blockNumber->Int.toString, blockData)
199
198
  }
200
-
201
- let dataByBlockNumber = self->getDataByBlockNumberCopyInThreshold(~currentBlockHeight)
202
199
  // Js engine automatically orders numeric object keys
203
- let ascBlockNumberKeys = dataByBlockNumber->Js.Dict.keys
200
+ let ascBlockNumberKeys = verifiedDataByBlockNumber->Js.Dict.keys
204
201
 
205
202
  let getPrevScannedBlockNumber = idx =>
206
203
  ascBlockNumberKeys
@@ -216,15 +213,10 @@ let getLatestValidScannedBlock = (
216
213
  let rec loop = idx => {
217
214
  switch ascBlockNumberKeys->Belt.Array.get(idx) {
218
215
  | Some(blockNumberKey) =>
219
- let scannedBlock = dataByBlockNumber->Js.Dict.unsafeGet(blockNumberKey)
220
- switch verifiedDataByBlockNumber->Utils.Dict.dangerouslyGetNonOption(blockNumberKey) {
221
- | None =>
222
- Js.Exn.raiseError(
223
- `Unexpected case. Couldn't find verified hash for block number ${blockNumberKey}`,
224
- )
225
- | Some(verifiedBlockData) if verifiedBlockData.blockHash === scannedBlock.blockHash =>
226
- loop(idx + 1)
227
- | Some(_) => getPrevScannedBlockNumber(idx)
216
+ let scannedBlock = reorgDetection.dataByBlockNumber->Js.Dict.unsafeGet(blockNumberKey)
217
+ switch verifiedDataByBlockNumber->Js.Dict.unsafeGet(blockNumberKey) {
218
+ | verifiedBlockData if verifiedBlockData.blockHash === scannedBlock.blockHash => loop(idx + 1)
219
+ | _ => getPrevScannedBlockNumber(idx)
228
220
  }
229
221
  | None => getPrevScannedBlockNumber(idx)
230
222
  }
@@ -1,7 +1,6 @@
1
1
  // Generated by ReScript, PLEASE EDIT WITH CARE
2
2
  'use strict';
3
3
 
4
- var Js_exn = require("rescript/lib/js/js_exn.js");
5
4
  var Belt_Array = require("rescript/lib/js/belt_Array.js");
6
5
  var Belt_Option = require("rescript/lib/js/belt_Option.js");
7
6
 
@@ -108,14 +107,13 @@ function registerReorgGuard(self, reorgGuard, currentBlockHeight) {
108
107
  }
109
108
  }
110
109
 
111
- function getLatestValidScannedBlock(self, blockNumbersAndHashes, currentBlockHeight) {
110
+ function getLatestValidScannedBlock(reorgDetection, blockNumbersAndHashes) {
112
111
  var verifiedDataByBlockNumber = {};
113
112
  for(var idx = 0 ,idx_finish = blockNumbersAndHashes.length; idx < idx_finish; ++idx){
114
113
  var blockData = blockNumbersAndHashes[idx];
115
114
  verifiedDataByBlockNumber[String(blockData.blockNumber)] = blockData;
116
115
  }
117
- var dataByBlockNumber = getDataByBlockNumberCopyInThreshold(self, currentBlockHeight);
118
- var ascBlockNumberKeys = Object.keys(dataByBlockNumber);
116
+ var ascBlockNumberKeys = Object.keys(verifiedDataByBlockNumber);
119
117
  var getPrevScannedBlockNumber = function (idx) {
120
118
  return Belt_Option.flatMap(Belt_Array.get(ascBlockNumberKeys, idx - 1 | 0), (function (key) {
121
119
  var v = verifiedDataByBlockNumber[key];
@@ -132,11 +130,8 @@ function getLatestValidScannedBlock(self, blockNumbersAndHashes, currentBlockHei
132
130
  if (blockNumberKey === undefined) {
133
131
  return getPrevScannedBlockNumber(idx$1);
134
132
  }
135
- var scannedBlock = dataByBlockNumber[blockNumberKey];
133
+ var scannedBlock = reorgDetection.dataByBlockNumber[blockNumberKey];
136
134
  var verifiedBlockData = verifiedDataByBlockNumber[blockNumberKey];
137
- if (verifiedBlockData === undefined) {
138
- return Js_exn.raiseError("Unexpected case. Couldn't find verified hash for block number " + blockNumberKey);
139
- }
140
135
  if (verifiedBlockData.blockHash !== scannedBlock.blockHash) {
141
136
  return getPrevScannedBlockNumber(idx$1);
142
137
  }