@hyperlane-xyz/utils
Version:
General utilities and types for the Hyperlane network
25 lines • 983 B
TypeScript
import { WithAddress } from './types.js';
/**
* Utilities for normalizing and comparing configuration objects.
* Used across ISM, Hook, and other Hyperlane configurations.
*/
/**
* Recursively normalizes a config object for comparison by:
* - Removing address and ownerOverrides fields (deployment-specific)
* - Lowercasing all string values (except 'type' fields)
* - Sorting specific arrays (validators, modules, hooks)
*
* @param obj - Configuration object to normalize
* @returns Normalized configuration object
*/
export declare function normalizeConfig(obj: WithAddress<any>): any;
/**
* Recursively sorts arrays in a config object with special handling for:
* - validators: sorted in lexicographical order
* - modules/hooks: sorted by their 'type' property
*
* @param config - Configuration object to sort
* @returns Configuration object with sorted arrays
*/
export declare function sortArraysInConfig(config: any): any;
//# sourceMappingURL=config.d.ts.map