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.
- package/package.json +7 -6
- package/src/Address.res.js +30 -0
- package/src/ChainMap.res.js +77 -0
- package/src/Envio.res.js +16 -0
- package/src/ErrorHandling.res.js +56 -0
- package/src/EventUtils.res.js +75 -0
- package/src/EvmTypes.res.js +16 -0
- package/src/FetchState.res.js +969 -0
- package/src/Hasura.res.js +245 -0
- package/src/Internal.res.js +50 -0
- package/src/LazyLoader.res.js +117 -0
- package/src/LoadManager.res.js +124 -0
- package/src/LogSelection.res.js +203 -0
- package/src/Logging.res.js +247 -0
- package/src/Persistence.res.js +90 -0
- package/src/PgStorage.res.js +125 -0
- package/src/Prometheus.res.js +750 -0
- package/src/ReorgDetection.res.js +223 -0
- package/src/Throttler.res.js +60 -0
- package/src/Time.res.js +41 -0
- package/src/TopicFilter.res.js +86 -0
- package/src/Utils.res.js +527 -0
- package/src/bindings/BigDecimal.res.js +41 -0
- package/src/bindings/BigInt.res.js +138 -0
- package/src/bindings/Ethers.res.js +109 -0
- package/src/bindings/Express.res.js +2 -0
- package/src/bindings/Hrtime.res.js +66 -0
- package/src/bindings/NodeJs.res.js +29 -0
- package/src/bindings/Pino.res.js +95 -0
- package/src/bindings/Postgres.res.js +16 -0
- package/src/bindings/PromClient.res.js +17 -0
- package/src/bindings/Promise.res.js +25 -0
- package/src/bindings/SDSL.res.js +8 -0
- package/src/bindings/Viem.res.js +45 -0
- package/src/db/EntityHistory.res.js +307 -0
- package/src/db/Schema.res.js +54 -0
- package/src/db/Table.res.js +365 -0
- package/src/sources/Fuel.res.js +28 -0
- package/src/sources/HyperFuel.res.js +193 -0
- package/src/sources/HyperFuelClient.res.js +19 -0
- package/src/sources/HyperSync.res.js +301 -0
- package/src/sources/HyperSyncClient.res.js +99 -0
- package/src/sources/HyperSyncJsonApi.res.js +259 -0
- package/src/sources/Rpc.res.js +198 -0
- package/src/sources/Source.res.js +9 -0
- package/src/sources/SourceManager.res.js +366 -0
- 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,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,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 */
|