envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
128 lines (111 loc) • 3.61 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
import * as Core from "../Core.res.mjs";
import * as Utils from "../Utils.res.mjs";
import * as Address from "../Address.res.mjs";
import * as Primitive_option from "@rescript/runtime/lib/es6/Primitive_option.js";
import * as S$RescriptSchema from "rescript-schema/src/S.res.mjs";
let serializationFormatSchema = S$RescriptSchema.$$enum([
"Json",
"CapnProto"
]);
function makeTopicSelection(topic0Opt, topic1Opt, topic2Opt, topic3Opt) {
let topic0 = topic0Opt !== undefined ? topic0Opt : [];
let topic1 = topic1Opt !== undefined ? topic1Opt : [];
let topic2 = topic2Opt !== undefined ? topic2Opt : [];
let topic3 = topic3Opt !== undefined ? topic3Opt : [];
return [
topic0,
topic1,
topic2,
topic3
];
}
function makeLogSelection(address, topics) {
return {
address: address,
topics: topics
};
}
let QueryTypes = {
makeTopicSelection: makeTopicSelection,
makeLogSelection: makeLogSelection
};
let accessListSchema = S$RescriptSchema.object(s => ({
address: s.f("address", S$RescriptSchema.option(Address.schema)),
storageKeys: s.f("storageKeys", S$RescriptSchema.option(S$RescriptSchema.array(S$RescriptSchema.string)))
}));
let authorizationListSchema = S$RescriptSchema.object(s => ({
chainId: s.f("chainId", S$RescriptSchema.bigint),
address: s.f("address", Address.schema),
nonce: s.f("nonce", S$RescriptSchema.int),
yParity: s.f("yParity", S$RescriptSchema.$$enum([
0,
1
])),
r: s.f("r", S$RescriptSchema.string),
s: s.f("s", S$RescriptSchema.string)
}));
let ResponseTypes = {
accessListSchema: accessListSchema,
authorizationListSchema: authorizationListSchema
};
function fromParams(eventParams, checksumAddresses) {
return Core.getAddon().EvmDecoder.fromParams(eventParams, checksumAddresses !== undefined ? Primitive_option.valFromOption(checksumAddresses) : undefined);
}
let Decoder = {
fromParams: fromParams
};
let EventItems = {};
function makeWithAgent(cfg, userAgent, eventParams) {
return Core.getAddon().EvmHypersyncClient.new(cfg, userAgent, eventParams);
}
let logLevelSchema = S$RescriptSchema.$$enum([
"trace",
"debug",
"info",
"warn",
"error"
]);
function logLevelToString(level) {
if (level === "warn") {
return "warn";
} else if (level === "debug") {
return "debug";
} else if (level === "error") {
return "error";
} else if (level === "trace") {
return "trace";
} else {
return "info";
}
}
function make(url, apiToken, httpReqTimeoutMillis, eventParams, enableChecksumAddressesOpt, serializationFormat, enableQueryCaching, retryBaseMs, retryBackoffMs, retryCeilingMs, logLevelOpt) {
let enableChecksumAddresses = enableChecksumAddressesOpt !== undefined ? enableChecksumAddressesOpt : true;
let logLevel = logLevelOpt !== undefined ? logLevelOpt : "info";
let envioVersion = Utils.EnvioPackage.value.version;
return makeWithAgent({
url: url,
apiToken: apiToken,
httpReqTimeoutMillis: httpReqTimeoutMillis,
maxNumRetries: 0,
retryBackoffMs: retryBackoffMs,
retryBaseMs: retryBaseMs,
retryCeilingMs: retryCeilingMs,
enableChecksumAddresses: enableChecksumAddresses,
serializationFormat: serializationFormat,
enableQueryCaching: enableQueryCaching,
logLevel: logLevelToString(logLevel)
}, `hyperindex/` + envioVersion, eventParams);
}
export {
serializationFormatSchema,
QueryTypes,
ResponseTypes,
Decoder,
EventItems,
makeWithAgent,
logLevelSchema,
logLevelToString,
make,
}
/* serializationFormatSchema Not a pure module */