UNPKG

@exromany/lido-csm-sdk

Version:

[![GitHub license](https://img.shields.io/github/license/lidofinance/lido-csm-sdk?color=limegreen)](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [![Version npm](https://img.shields.io/npm/v/@lidofinance/lido-csm-sdk?label=version)](h

23 lines 966 B
"use strict"; 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