envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
105 lines (91 loc) • 2.92 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
'use strict';
var Address = require("../Address.res.js");
var Belt_Array = require("rescript/lib/js/belt_Array.js");
var S$RescriptSchema = require("rescript-schema/src/S.res.js");
var HypersyncClient = require("@envio-dev/hypersync-client");
function makeTopicSelection(topic0Opt, topic1Opt, topic2Opt, topic3Opt) {
var topic0 = topic0Opt !== undefined ? topic0Opt : [];
var topic1 = topic1Opt !== undefined ? topic1Opt : [];
var topic2 = topic2Opt !== undefined ? topic2Opt : [];
var topic3 = topic3Opt !== undefined ? topic3Opt : [];
return [
topic0,
topic1,
topic2,
topic3
];
}
function makeLogSelection(address, topics) {
return {
address: address,
topics: topics
};
}
var QueryTypes = {
makeTopicSelection: makeTopicSelection,
makeLogSelection: makeLogSelection
};
var accessListSchema = S$RescriptSchema.object(function (s) {
return {
address: s.f("address", S$RescriptSchema.option(Address.schema)),
storageKeys: s.f("storageKeys", S$RescriptSchema.option(S$RescriptSchema.array(S$RescriptSchema.string)))
};
});
var authorizationListSchema = S$RescriptSchema.object(function (s) {
return {
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)
};
});
var ResponseTypes = {
accessListSchema: accessListSchema,
authorizationListSchema: authorizationListSchema
};
function make(url, apiToken, httpReqTimeoutMillis, maxNumRetries) {
return HypersyncClient.HypersyncClient.new({
url: url,
bearerToken: apiToken,
httpReqTimeoutMillis: httpReqTimeoutMillis,
maxNumRetries: maxNumRetries,
enableChecksumAddresses: true
});
}
function toUnderlying(_d) {
while(true) {
var d = _d;
if (Array.isArray(d)) {
return Belt_Array.map(d, toUnderlying);
}
switch (typeof d) {
case "boolean" :
return d;
case "string" :
return d;
case "bigint" :
return d;
case "object" :
_d = d.val;
continue ;
}
};
}
function fromSignatures(prim) {
return HypersyncClient.Decoder.fromSignatures(prim);
}
var Decoder = {
toUnderlying: toUnderlying,
fromSignatures: fromSignatures
};
exports.QueryTypes = QueryTypes;
exports.ResponseTypes = ResponseTypes;
exports.make = make;
exports.Decoder = Decoder;
/* accessListSchema Not a pure module */