@hyperlane-xyz/cli
Version:
A command-line utility for common Hyperlane operations
22 lines • 1.05 kB
JavaScript
import { stringify as yamlStringify } from 'yaml';
import { transformConfigToCheck, } from '@hyperlane-xyz/sdk';
import { diffObjMerge } from '@hyperlane-xyz/utils';
import { log, logGreen } from '../logger.js';
import { formatYamlViolationsOutput } from '../utils/output.js';
export async function runWarpRouteCheck({ warpRouteConfig, onChainWarpConfig, }) {
// Go through each chain and only add to the output the chains that have mismatches
const [violations, isInvalid] = Object.keys(warpRouteConfig).reduce((acc, chain) => {
const { mergedObject, isInvalid } = diffObjMerge(transformConfigToCheck(onChainWarpConfig[chain]), transformConfigToCheck(warpRouteConfig[chain]));
if (isInvalid) {
acc[0][chain] = mergedObject;
acc[1] ||= isInvalid;
}
return acc;
}, [{}, false]);
if (isInvalid) {
log(formatYamlViolationsOutput(yamlStringify(violations, null, 2)));
process.exit(1);
}
logGreen(`No violations found`);
}
//# sourceMappingURL=warp.js.map