envio 2.22.0 → 2.22.2

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 (48) hide show
  1. package/package.json +7 -6
  2. package/src/Address.res.js +30 -0
  3. package/src/ChainMap.res.js +77 -0
  4. package/src/Envio.res.js +16 -0
  5. package/src/ErrorHandling.res.js +56 -0
  6. package/src/EventUtils.res.js +75 -0
  7. package/src/EvmTypes.res.js +16 -0
  8. package/src/FetchState.res.js +969 -0
  9. package/src/Hasura.res.js +245 -0
  10. package/src/Internal.res.js +50 -0
  11. package/src/LazyLoader.res.js +117 -0
  12. package/src/LoadManager.res.js +124 -0
  13. package/src/LogSelection.res.js +203 -0
  14. package/src/Logging.res.js +247 -0
  15. package/src/Persistence.res.js +90 -0
  16. package/src/PgStorage.res +18 -4
  17. package/src/PgStorage.res.js +125 -0
  18. package/src/Prometheus.res.js +750 -0
  19. package/src/ReorgDetection.res.js +223 -0
  20. package/src/Throttler.res.js +60 -0
  21. package/src/Time.res.js +41 -0
  22. package/src/TopicFilter.res.js +86 -0
  23. package/src/Utils.res.js +527 -0
  24. package/src/bindings/BigDecimal.res.js +41 -0
  25. package/src/bindings/BigInt.res.js +138 -0
  26. package/src/bindings/Ethers.res.js +109 -0
  27. package/src/bindings/Express.res.js +2 -0
  28. package/src/bindings/Hrtime.res.js +66 -0
  29. package/src/bindings/NodeJs.res.js +29 -0
  30. package/src/bindings/Pino.res.js +95 -0
  31. package/src/bindings/Postgres.res.js +16 -0
  32. package/src/bindings/PromClient.res.js +17 -0
  33. package/src/bindings/Promise.res.js +25 -0
  34. package/src/bindings/SDSL.res.js +8 -0
  35. package/src/bindings/Viem.res.js +45 -0
  36. package/src/db/EntityHistory.res.js +307 -0
  37. package/src/db/Schema.res.js +54 -0
  38. package/src/db/Table.res.js +365 -0
  39. package/src/sources/Fuel.res.js +28 -0
  40. package/src/sources/HyperFuel.res.js +193 -0
  41. package/src/sources/HyperFuelClient.res.js +19 -0
  42. package/src/sources/HyperSync.res.js +301 -0
  43. package/src/sources/HyperSyncClient.res.js +99 -0
  44. package/src/sources/HyperSyncJsonApi.res.js +259 -0
  45. package/src/sources/Rpc.res.js +198 -0
  46. package/src/sources/Source.res.js +9 -0
  47. package/src/sources/SourceManager.res.js +366 -0
  48. package/src/vendored/Rest.res.js +574 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "envio",
3
- "version": "v2.22.0",
3
+ "version": "v2.22.2",
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.22.0",
29
- "envio-linux-arm64": "v2.22.0",
30
- "envio-darwin-x64": "v2.22.0",
31
- "envio-darwin-arm64": "v2.22.0"
28
+ "envio-linux-x64": "v2.22.2",
29
+ "envio-linux-arm64": "v2.22.2",
30
+ "envio-darwin-x64": "v2.22.2",
31
+ "envio-darwin-arm64": "v2.22.2"
32
32
  },
33
33
  "dependencies": {
34
34
  "@envio-dev/hypersync-client": "0.6.5",
@@ -37,7 +37,8 @@
37
37
  "viem": "2.21.0",
38
38
  "bignumber.js": "9.1.2",
39
39
  "pino": "8.16.1",
40
- "pino-pretty": "10.2.3"
40
+ "pino-pretty": "10.2.3",
41
+ "prom-client": "15.0.0"
41
42
  },
42
43
  "files": [
43
44
  "bin.js",
@@ -0,0 +1,30 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Viem = require("viem");
5
+ var Js_exn = require("rescript/lib/js/js_exn.js");
6
+ var S$RescriptSchema = require("rescript-schema/src/S.res.js");
7
+
8
+ var schema = S$RescriptSchema.setName(S$RescriptSchema.string, "Address");
9
+
10
+ function fromStringOrThrow(string) {
11
+ try {
12
+ return Viem.getAddress(string);
13
+ }
14
+ catch (exn){
15
+ return Js_exn.raiseError("Address \"" + string + "\" is invalid. Expected a 20-byte hex string starting with 0x.");
16
+ }
17
+ }
18
+
19
+ function fromAddressOrThrow(address) {
20
+ return fromStringOrThrow(address);
21
+ }
22
+
23
+ var Evm = {
24
+ fromStringOrThrow: fromStringOrThrow,
25
+ fromAddressOrThrow: fromAddressOrThrow
26
+ };
27
+
28
+ exports.schema = schema;
29
+ exports.Evm = Evm;
30
+ /* schema Not a pure module */
@@ -0,0 +1,77 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Caml = require("rescript/lib/js/caml.js");
5
+ var Js_exn = require("rescript/lib/js/js_exn.js");
6
+ var Belt_Id = require("rescript/lib/js/belt_Id.js");
7
+ var Belt_Map = require("rescript/lib/js/belt_Map.js");
8
+ var Belt_Option = require("rescript/lib/js/belt_Option.js");
9
+ var Caml_option = require("rescript/lib/js/caml_option.js");
10
+
11
+ function toString(chainId) {
12
+ return String(chainId);
13
+ }
14
+
15
+ function makeUnsafe(chainId) {
16
+ return chainId;
17
+ }
18
+
19
+ var Chain = {
20
+ toString: toString,
21
+ makeUnsafe: makeUnsafe
22
+ };
23
+
24
+ var cmp = Caml.int_compare;
25
+
26
+ var ChainIdCmp = Belt_Id.MakeComparableU({
27
+ cmp: cmp
28
+ });
29
+
30
+ function fromArrayUnsafe(arr) {
31
+ return Belt_Map.fromArray(arr, ChainIdCmp);
32
+ }
33
+
34
+ function get(self, chain) {
35
+ var v = Belt_Map.get(self, chain);
36
+ if (v !== undefined) {
37
+ return Caml_option.valFromOption(v);
38
+ } else {
39
+ return Js_exn.raiseError("No chain with id " + String(chain) + " found in chain map");
40
+ }
41
+ }
42
+
43
+ var set = Belt_Map.set;
44
+
45
+ var values = Belt_Map.valuesToArray;
46
+
47
+ var keys = Belt_Map.keysToArray;
48
+
49
+ var entries = Belt_Map.toArray;
50
+
51
+ var has = Belt_Map.has;
52
+
53
+ var map = Belt_Map.map;
54
+
55
+ var mapWithKey = Belt_Map.mapWithKey;
56
+
57
+ var size = Belt_Map.size;
58
+
59
+ function update(map, chain, updateFn) {
60
+ return Belt_Map.update(map, chain, (function (opt) {
61
+ return Belt_Option.map(opt, updateFn);
62
+ }));
63
+ }
64
+
65
+ exports.Chain = Chain;
66
+ exports.fromArrayUnsafe = fromArrayUnsafe;
67
+ exports.get = get;
68
+ exports.set = set;
69
+ exports.values = values;
70
+ exports.keys = keys;
71
+ exports.entries = entries;
72
+ exports.has = has;
73
+ exports.map = map;
74
+ exports.mapWithKey = mapWithKey;
75
+ exports.size = size;
76
+ exports.update = update;
77
+ /* ChainIdCmp Not a pure module */
@@ -0,0 +1,16 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Prometheus = require("./Prometheus.res.js");
5
+
6
+ function experimental_createEffect(options, handler) {
7
+ Prometheus.EffectCallsCount.set(0, options.name);
8
+ return {
9
+ name: options.name,
10
+ handler: handler,
11
+ callsCount: 0
12
+ };
13
+ }
14
+
15
+ exports.experimental_createEffect = experimental_createEffect;
16
+ /* Prometheus Not a pure module */
@@ -0,0 +1,56 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Logging = require("./Logging.res.js");
5
+ var Internal = require("./Internal.res.js");
6
+
7
+ function make(exn, loggerOpt, msg) {
8
+ var logger = loggerOpt !== undefined ? loggerOpt : Logging.getLogger();
9
+ return {
10
+ logger: logger,
11
+ exn: exn,
12
+ msg: msg
13
+ };
14
+ }
15
+
16
+ function log(self) {
17
+ var msg = self.msg;
18
+ var exn = self.exn;
19
+ var logger = self.logger;
20
+ if (msg !== undefined) {
21
+ return Logging.childErrorWithExn(logger, Internal.prettifyExn(exn), msg);
22
+ } else {
23
+ return Logging.childError(logger, Internal.prettifyExn(exn));
24
+ }
25
+ }
26
+
27
+ function raiseExn(self) {
28
+ throw Internal.prettifyExn(self.exn);
29
+ }
30
+
31
+ function mkLogAndRaise(logger, msg, exn) {
32
+ var exn$1 = Internal.prettifyExn(exn);
33
+ log(make(exn$1, logger, msg));
34
+ throw exn$1;
35
+ }
36
+
37
+ function unwrapLogAndRaise(logger, msg, result) {
38
+ if (result.TAG === "Ok") {
39
+ return result._0;
40
+ } else {
41
+ return mkLogAndRaise(logger, msg, result._0);
42
+ }
43
+ }
44
+
45
+ function logAndRaise(self) {
46
+ log(self);
47
+ throw Internal.prettifyExn(self.exn);
48
+ }
49
+
50
+ exports.make = make;
51
+ exports.log = log;
52
+ exports.raiseExn = raiseExn;
53
+ exports.mkLogAndRaise = mkLogAndRaise;
54
+ exports.unwrapLogAndRaise = unwrapLogAndRaise;
55
+ exports.logAndRaise = logAndRaise;
56
+ /* Logging Not a pure module */
@@ -0,0 +1,75 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var $$BigInt = require("./bindings/BigInt.res.js");
5
+ var Belt_Int = require("rescript/lib/js/belt_Int.js");
6
+ var Caml_obj = require("rescript/lib/js/caml_obj.js");
7
+
8
+ function getEventComparator(multiChainEventIndex) {
9
+ return [
10
+ multiChainEventIndex.timestamp,
11
+ multiChainEventIndex.chainId,
12
+ multiChainEventIndex.blockNumber,
13
+ multiChainEventIndex.logIndex
14
+ ];
15
+ }
16
+
17
+ function getEventComparatorFromQueueItem(param) {
18
+ return [
19
+ param.timestamp,
20
+ param.chain,
21
+ param.blockNumber,
22
+ param.logIndex
23
+ ];
24
+ }
25
+
26
+ function isEarlierEvent(event1, event2) {
27
+ return Caml_obj.lessthan(getEventComparator(event1), getEventComparator(event2));
28
+ }
29
+
30
+ function packEventIndex(blockNumber, logIndex) {
31
+ var blockNumber$1 = BigInt(blockNumber);
32
+ var logIndex$1 = BigInt(logIndex);
33
+ var blockNumber$2 = $$BigInt.Bitwise.shift_left(blockNumber$1, BigInt(16));
34
+ return $$BigInt.Bitwise.logor(blockNumber$2, logIndex$1);
35
+ }
36
+
37
+ function packMultiChainEventIndex(timestamp, chainId, blockNumber, logIndex) {
38
+ var timestamp$1 = BigInt(timestamp);
39
+ var chainId$1 = BigInt(chainId);
40
+ var blockNumber$1 = BigInt(blockNumber);
41
+ var logIndex$1 = BigInt(logIndex);
42
+ var timestamp$2 = $$BigInt.Bitwise.shift_left(timestamp$1, BigInt(48));
43
+ var chainId$2 = $$BigInt.Bitwise.shift_left(chainId$1, BigInt(16));
44
+ var blockNumber$2 = $$BigInt.Bitwise.shift_left(blockNumber$1, BigInt(16));
45
+ return $$BigInt.Bitwise.logor($$BigInt.Bitwise.logor($$BigInt.Bitwise.logor(timestamp$2, chainId$2), blockNumber$2), logIndex$1);
46
+ }
47
+
48
+ function unpackEventIndex(packedEventIndex) {
49
+ var blockNumber = $$BigInt.Bitwise.shift_right(packedEventIndex, BigInt(16));
50
+ var logIndexMask = BigInt(65535);
51
+ var logIndex = $$BigInt.Bitwise.logand(packedEventIndex, logIndexMask);
52
+ return {
53
+ blockNumber: Belt_Int.fromString(blockNumber.toString()),
54
+ logIndex: Belt_Int.fromString(logIndex.toString())
55
+ };
56
+ }
57
+
58
+ function packEventIndexFromRecord(eventIndex) {
59
+ return packEventIndex(eventIndex.blockNumber, eventIndex.logIndex);
60
+ }
61
+
62
+ function getEventIdKeyString(chainId, eventId) {
63
+ var chainIdStr = String(chainId);
64
+ return chainIdStr + "_" + eventId;
65
+ }
66
+
67
+ exports.getEventComparator = getEventComparator;
68
+ exports.getEventComparatorFromQueueItem = getEventComparatorFromQueueItem;
69
+ exports.isEarlierEvent = isEarlierEvent;
70
+ exports.packEventIndex = packEventIndex;
71
+ exports.packMultiChainEventIndex = packMultiChainEventIndex;
72
+ exports.unpackEventIndex = unpackEventIndex;
73
+ exports.packEventIndexFromRecord = packEventIndexFromRecord;
74
+ exports.getEventIdKeyString = getEventIdKeyString;
75
+ /* BigInt Not a pure module */
@@ -0,0 +1,16 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var S$RescriptSchema = require("rescript-schema/src/S.res.js");
5
+
6
+ var schema = S$RescriptSchema.setName(S$RescriptSchema.string, "EVM.Hex");
7
+
8
+ var Hex = {
9
+ schema: schema
10
+ };
11
+
12
+ var Abi = {};
13
+
14
+ exports.Hex = Hex;
15
+ exports.Abi = Abi;
16
+ /* schema Not a pure module */