UNPKG

envio

Version:

A latency and sync speed optimized, developer friendly blockchain data indexer.

128 lines (111 loc) 3.61 kB
// 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 */