envio 2.22.0 → 2.22.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.
Files changed (47) 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.js +125 -0
  17. package/src/Prometheus.res.js +750 -0
  18. package/src/ReorgDetection.res.js +223 -0
  19. package/src/Throttler.res.js +60 -0
  20. package/src/Time.res.js +41 -0
  21. package/src/TopicFilter.res.js +86 -0
  22. package/src/Utils.res.js +527 -0
  23. package/src/bindings/BigDecimal.res.js +41 -0
  24. package/src/bindings/BigInt.res.js +138 -0
  25. package/src/bindings/Ethers.res.js +109 -0
  26. package/src/bindings/Express.res.js +2 -0
  27. package/src/bindings/Hrtime.res.js +66 -0
  28. package/src/bindings/NodeJs.res.js +29 -0
  29. package/src/bindings/Pino.res.js +95 -0
  30. package/src/bindings/Postgres.res.js +16 -0
  31. package/src/bindings/PromClient.res.js +17 -0
  32. package/src/bindings/Promise.res.js +25 -0
  33. package/src/bindings/SDSL.res.js +8 -0
  34. package/src/bindings/Viem.res.js +45 -0
  35. package/src/db/EntityHistory.res.js +307 -0
  36. package/src/db/Schema.res.js +54 -0
  37. package/src/db/Table.res.js +365 -0
  38. package/src/sources/Fuel.res.js +28 -0
  39. package/src/sources/HyperFuel.res.js +193 -0
  40. package/src/sources/HyperFuelClient.res.js +19 -0
  41. package/src/sources/HyperSync.res.js +301 -0
  42. package/src/sources/HyperSyncClient.res.js +99 -0
  43. package/src/sources/HyperSyncJsonApi.res.js +259 -0
  44. package/src/sources/Rpc.res.js +198 -0
  45. package/src/sources/Source.res.js +9 -0
  46. package/src/sources/SourceManager.res.js +366 -0
  47. package/src/vendored/Rest.res.js +574 -0
@@ -0,0 +1,109 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Ethers = require("ethers");
5
+ var Address = require("../Address.res.js");
6
+ var Belt_Array = require("rescript/lib/js/belt_Array.js");
7
+ var Caml_array = require("rescript/lib/js/caml_array.js");
8
+ var Caml_option = require("rescript/lib/js/caml_option.js");
9
+
10
+ function makeAbi(abi) {
11
+ return abi;
12
+ }
13
+
14
+ var getAddressFromStringUnsafe = Address.Evm.fromStringOrThrow;
15
+
16
+ function ethAddressToString(prim) {
17
+ return prim;
18
+ }
19
+
20
+ var Constants = {};
21
+
22
+ var mockAddresses = Belt_Array.map([
23
+ "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
24
+ "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
25
+ "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",
26
+ "0x90F79bf6EB2c4f870365E785982E1f101E93b906",
27
+ "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65",
28
+ "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc",
29
+ "0x976EA74026E726554dB657fA54763abd0C3a0aa9",
30
+ "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955",
31
+ "0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f",
32
+ "0xa0Ee7A142d267C1f36714E4a8F75612F20a79720",
33
+ "0xBcd4042DE499D14e55001CcbB24a551F3b954096",
34
+ "0x71bE63f3384f5fb98995898A86B02Fb2426c5788",
35
+ "0xFABB0ac9d68B0B445fB7357272Ff202C5651694a",
36
+ "0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec",
37
+ "0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097",
38
+ "0xcd3B766CCDd6AE721141F452C550Ca635964ce71",
39
+ "0x2546BcD3c84621e976D8185a91A922aE77ECEc30",
40
+ "0xbDA5747bFD65F08deb54cb465eB87D40e51B197E",
41
+ "0xdD2FD4581271e230360230F9337D5c0430Bf44C0",
42
+ "0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199"
43
+ ], getAddressFromStringUnsafe);
44
+
45
+ var defaultAddress = Caml_array.get(mockAddresses, 0);
46
+
47
+ var Addresses = {
48
+ mockAddresses: mockAddresses,
49
+ defaultAddress: defaultAddress
50
+ };
51
+
52
+ var Filter = {};
53
+
54
+ function toFilter(combinedFilter) {
55
+ return combinedFilter;
56
+ }
57
+
58
+ var CombinedFilter = {
59
+ toFilter: toFilter
60
+ };
61
+
62
+ function logToMinimumParseableLogData(prim) {
63
+ return prim;
64
+ }
65
+
66
+ var Network = {};
67
+
68
+ function makeStatic(rpcUrl, network, priority, stallTimeout) {
69
+ return new (Ethers.ethers.JsonRpcProvider)(rpcUrl, network, {
70
+ staticNetwork: Caml_option.some(network),
71
+ stallTimeout: stallTimeout,
72
+ priority: priority
73
+ });
74
+ }
75
+
76
+ function make(rpcUrl, chainId) {
77
+ var network = Ethers.Network.from(chainId);
78
+ return makeStatic(rpcUrl, network, undefined, undefined);
79
+ }
80
+
81
+ function makeGetTransactionFields(getTransactionByHash) {
82
+ return async function (log) {
83
+ var transaction = await getTransactionByHash(log.transactionHash);
84
+ transaction.transactionIndex = log.transactionIndex;
85
+ transaction.input = transaction.data;
86
+ return transaction;
87
+ };
88
+ }
89
+
90
+ var JsonRpcProvider = {
91
+ makeStatic: makeStatic,
92
+ make: make,
93
+ makeGetTransactionFields: makeGetTransactionFields
94
+ };
95
+
96
+ var ethAddressSchema = Address.schema;
97
+
98
+ exports.makeAbi = makeAbi;
99
+ exports.getAddressFromStringUnsafe = getAddressFromStringUnsafe;
100
+ exports.ethAddressToString = ethAddressToString;
101
+ exports.ethAddressSchema = ethAddressSchema;
102
+ exports.Constants = Constants;
103
+ exports.Addresses = Addresses;
104
+ exports.Filter = Filter;
105
+ exports.CombinedFilter = CombinedFilter;
106
+ exports.logToMinimumParseableLogData = logToMinimumParseableLogData;
107
+ exports.Network = Network;
108
+ exports.JsonRpcProvider = JsonRpcProvider;
109
+ /* mockAddresses Not a pure module */
@@ -0,0 +1,2 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ /* This output is empty. Its source's type definitions, externals and/or unused code got optimized away. */
@@ -0,0 +1,66 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+
5
+ function nanoToMilli(nano) {
6
+ return nano / 1000000;
7
+ }
8
+
9
+ function secToMilli(sec) {
10
+ return sec * 1000;
11
+ }
12
+
13
+ function nanoToTimeTuple(nano) {
14
+ var seconds = Math.floor(nano / 1000000000);
15
+ var nanos = nano % 1000000000;
16
+ return [
17
+ seconds,
18
+ nanos
19
+ ];
20
+ }
21
+
22
+ function timeElapsedToNewRef(elapsed, ref) {
23
+ var match = nanoToTimeTuple(elapsed[1] + ref[1]);
24
+ return [
25
+ elapsed[0] + ref[0] + match[0],
26
+ match[1]
27
+ ];
28
+ }
29
+
30
+ function toMillis(param) {
31
+ return param[0] * 1000 + param[1] / 1000000;
32
+ }
33
+
34
+ function toInt($$float) {
35
+ return $$float | 0;
36
+ }
37
+
38
+ function floatFromMillis(prim) {
39
+ return prim;
40
+ }
41
+
42
+ function makeTimer(prim) {
43
+ return process.hrtime();
44
+ }
45
+
46
+ function timeSince(prim) {
47
+ return process.hrtime(prim);
48
+ }
49
+
50
+ var intFromMillis = toInt;
51
+
52
+ var intFromNanos = toInt;
53
+
54
+ var intFromSeconds = toInt;
55
+
56
+ exports.makeTimer = makeTimer;
57
+ exports.timeSince = timeSince;
58
+ exports.nanoToMilli = nanoToMilli;
59
+ exports.secToMilli = secToMilli;
60
+ exports.timeElapsedToNewRef = timeElapsedToNewRef;
61
+ exports.toMillis = toMillis;
62
+ exports.intFromMillis = intFromMillis;
63
+ exports.intFromNanos = intFromNanos;
64
+ exports.intFromSeconds = intFromSeconds;
65
+ exports.floatFromMillis = floatFromMillis;
66
+ /* No side effect */
@@ -0,0 +1,29 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Util = require("util");
5
+
6
+ function inspectObj(a) {
7
+ return Util.inspect(a, {
8
+ showHidden: false,
9
+ depth: null,
10
+ colors: true
11
+ });
12
+ }
13
+
14
+ var Util$1 = {
15
+ inspectObj: inspectObj
16
+ };
17
+
18
+ var Path = {};
19
+
20
+ var Promises = {};
21
+
22
+ var Fs = {
23
+ Promises: Promises
24
+ };
25
+
26
+ exports.Util = Util$1;
27
+ exports.Path = Path;
28
+ exports.Fs = Fs;
29
+ /* util Not a pure module */
@@ -0,0 +1,95 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Pino = require("pino");
5
+ var Caml_obj = require("rescript/lib/js/caml_obj.js");
6
+ var Belt_Array = require("rescript/lib/js/belt_Array.js");
7
+ var Belt_Option = require("rescript/lib/js/belt_Option.js");
8
+ var PinoPretty = require("pino-pretty");
9
+
10
+ function createPinoMessage(message) {
11
+ return message;
12
+ }
13
+
14
+ function createPinoMessageWithError(message, err) {
15
+ return {
16
+ msg: message,
17
+ err: err
18
+ };
19
+ }
20
+
21
+ function makeTransportOptions(prim) {
22
+ return prim;
23
+ }
24
+
25
+ var Transport = {
26
+ makeTransportOptions: makeTransportOptions
27
+ };
28
+
29
+ function createChildParams(prim) {
30
+ return prim;
31
+ }
32
+
33
+ var ECS = {};
34
+
35
+ function makeFormatter(logLevels) {
36
+ return PinoPretty.prettyFactory({
37
+ customLevels: logLevels,
38
+ customColors: "fatal:bgRed,error:red,warn:yellow,info:green,udebug:bgBlue,uinfo:bgGreen,uwarn:bgYellow,uerror:bgRed,debug:blue,trace:gray"
39
+ });
40
+ }
41
+
42
+ function makeStreams(userLogLevel, formatter, logFile, defaultFileLogLevel) {
43
+ var stream_stream = {
44
+ write: (function (v) {
45
+ console.log(formatter(v));
46
+ })
47
+ };
48
+ var stream = {
49
+ stream: stream_stream,
50
+ level: userLogLevel
51
+ };
52
+ var maybeFileStream = Belt_Option.mapWithDefault(logFile, [], (function (dest) {
53
+ return [{
54
+ stream: Pino.destination({
55
+ dest: dest,
56
+ sync: false,
57
+ mkdir: true
58
+ }),
59
+ level: defaultFileLogLevel
60
+ }];
61
+ }));
62
+ return Belt_Array.concat([stream], maybeFileStream);
63
+ }
64
+
65
+ function make(userLogLevel, customLevels, logFile, options, defaultFileLogLevel) {
66
+ var options$1;
67
+ if (options !== undefined) {
68
+ var newrecord = Caml_obj.obj_dup(options);
69
+ newrecord.customLevels = customLevels;
70
+ newrecord.level = userLogLevel;
71
+ options$1 = newrecord;
72
+ } else {
73
+ options$1 = {
74
+ level: userLogLevel,
75
+ customLevels: customLevels
76
+ };
77
+ }
78
+ var formatter = makeFormatter(customLevels);
79
+ var ms = Pino.multistream(makeStreams(userLogLevel, formatter, logFile, defaultFileLogLevel));
80
+ return Pino(options$1, ms);
81
+ }
82
+
83
+ var MultiStreamLogger = {
84
+ makeFormatter: makeFormatter,
85
+ makeStreams: makeStreams,
86
+ make: make
87
+ };
88
+
89
+ exports.createPinoMessage = createPinoMessage;
90
+ exports.createPinoMessageWithError = createPinoMessageWithError;
91
+ exports.Transport = Transport;
92
+ exports.createChildParams = createChildParams;
93
+ exports.ECS = ECS;
94
+ exports.MultiStreamLogger = MultiStreamLogger;
95
+ /* pino 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 sslOptionsSchema = S$RescriptSchema.$$enum([
7
+ true,
8
+ false,
9
+ "require",
10
+ "allow",
11
+ "prefer",
12
+ "verify-full"
13
+ ]);
14
+
15
+ exports.sslOptionsSchema = sslOptionsSchema;
16
+ /* sslOptionsSchema Not a pure module */
@@ -0,0 +1,17 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+
5
+ var Counter = {};
6
+
7
+ var Gauge = {};
8
+
9
+ var Histogram = {};
10
+
11
+ var Summary = {};
12
+
13
+ exports.Counter = Counter;
14
+ exports.Gauge = Gauge;
15
+ exports.Histogram = Histogram;
16
+ exports.Summary = Summary;
17
+ /* No side effect */
@@ -0,0 +1,25 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Caml_js_exceptions = require("rescript/lib/js/caml_js_exceptions.js");
5
+
6
+ function noop() {
7
+
8
+ }
9
+
10
+ function silentCatch(promise) {
11
+ return promise.catch(noop);
12
+ }
13
+
14
+ function $$catch(promise, callback) {
15
+ return promise.catch(function (err) {
16
+ return callback(Caml_js_exceptions.internalToOCamlException(err));
17
+ });
18
+ }
19
+
20
+ var isCatchable = (value => value && typeof value.catch === 'function');
21
+
22
+ exports.silentCatch = silentCatch;
23
+ exports.$$catch = $$catch;
24
+ exports.isCatchable = isCatchable;
25
+ /* No side effect */
@@ -0,0 +1,8 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+
5
+ var Queue = {};
6
+
7
+ exports.Queue = Queue;
8
+ /* No side effect */
@@ -0,0 +1,45 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+ 'use strict';
3
+
4
+ var Viem = require("viem");
5
+ var Caml_option = require("rescript/lib/js/caml_option.js");
6
+ var Caml_exceptions = require("rescript/lib/js/caml_exceptions.js");
7
+ var Caml_js_exceptions = require("rescript/lib/js/caml_js_exceptions.js");
8
+
9
+ var ParseError = /* @__PURE__ */Caml_exceptions.create("Viem.ParseError");
10
+
11
+ var UnknownContractName = /* @__PURE__ */Caml_exceptions.create("Viem.UnknownContractName");
12
+
13
+ function parseLogOrThrow(contractNameAbiMapping, contractName, topics, data) {
14
+ var abi = contractNameAbiMapping[contractName];
15
+ if (abi !== undefined) {
16
+ var viemLog_abi = Caml_option.valFromOption(abi);
17
+ var viemLog = {
18
+ abi: viemLog_abi,
19
+ data: data,
20
+ topics: topics
21
+ };
22
+ try {
23
+ return Viem.decodeEventLog(viemLog);
24
+ }
25
+ catch (raw_exn){
26
+ var exn = Caml_js_exceptions.internalToOCamlException(raw_exn);
27
+ throw {
28
+ RE_EXN_ID: ParseError,
29
+ _1: exn,
30
+ Error: new Error()
31
+ };
32
+ }
33
+ } else {
34
+ throw {
35
+ RE_EXN_ID: UnknownContractName,
36
+ contractName: contractName,
37
+ Error: new Error()
38
+ };
39
+ }
40
+ }
41
+
42
+ exports.ParseError = ParseError;
43
+ exports.UnknownContractName = UnknownContractName;
44
+ exports.parseLogOrThrow = parseLogOrThrow;
45
+ /* viem Not a pure module */