@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
23 lines • 966 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.fetchTree = exports.verifyRoot = exports.parseTree = void 0;
const merkle_tree_1 = require("@openzeppelin/merkle-tree");
const compare_lowercase_js_1 = require("./compare-lowercase.js");
const fetch_json_js_1 = require("./fetch-json.js");
const parseTree = (parse = JSON.parse) => (text) => {
const data = parse(text);
return merkle_tree_1.StandardMerkleTree.load(data);
};
exports.parseTree = parseTree;
const verifyRoot = (treeRoot) => (tree) => (0, compare_lowercase_js_1.compareLowercase)(tree.root, treeRoot);
exports.verifyRoot = verifyRoot;
const fetchTree = async ({ urls, root, parse, }) => {
const tree = await (0, fetch_json_js_1.fetchOneOf)({
urls,
parse: (0, exports.parseTree)(parse),
validate: (0, exports.verifyRoot)(root),
});
return tree ?? null;
};
exports.fetchTree = fetchTree;
//# sourceMappingURL=fetch-tree.js.map