@exromany/lido-csm-sdk
Version:
[](https://github.com/lidofinance/lido-csm-sdk/blob/main/LICENSE.txt) [](h
17 lines • 648 B
JavaScript
import { StandardMerkleTree } from '@openzeppelin/merkle-tree';
import { compareLowercase } from './compare-lowercase.js';
import { fetchOneOf } from './fetch-json.js';
export const parseTree = (parse = JSON.parse) => (text) => {
const data = parse(text);
return StandardMerkleTree.load(data);
};
export const verifyRoot = (treeRoot) => (tree) => compareLowercase(tree.root, treeRoot);
export const fetchTree = async ({ urls, root, parse, }) => {
const tree = await fetchOneOf({
urls,
parse: parseTree(parse),
validate: verifyRoot(root),
});
return tree ?? null;
};
//# sourceMappingURL=fetch-tree.js.map