@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
21 lines • 1.47 kB
TypeScript
import { Address, WithAddress } from '@hyperlane-xyz/utils';
import { IsmConfig } from '../ism/types.js';
type ChainAddresses = Record<string, string>;
/**
* Extracts the ISM and Hook factory addresses from chain-specific registry addresses
* @param registryAddresses The registry addresses for a specific chain
* @returns The extracted ISM and Hook factory addresses
*/
export declare function ismTreeContainsRateLimited(ism: unknown): boolean;
/**
* Recursively sets `recipient` on all RATE_LIMITED ISM nodes in the config tree.
* Pass `undefined` to strip the field.
* `defaultOwner` is set on nodes that don't have an explicit owner.
*/
export declare function setRateLimitedIsmRecipient(ismConfig: IsmConfig, recipient: Address | undefined, defaultOwner?: string): IsmConfig;
export declare function extractIsmAndHookFactoryAddresses(registryAddresses: ChainAddresses): Pick<Record<string, string>, "staticMerkleRootMultisigIsmFactory" | "staticMessageIdMultisigIsmFactory" | "staticAggregationIsmFactory" | "staticAggregationHookFactory" | "domainRoutingIsmFactory" | "incrementalDomainRoutingIsmFactory" | "staticMerkleRootWeightedMultisigIsmFactory" | "staticMessageIdWeightedMultisigIsmFactory">;
export declare function multisigIsmVerificationCost(m: number, n: number): number;
export declare function normalizeConfig(obj: WithAddress<any>): any;
export declare function sortArraysInConfig(config: any): any;
export {};
//# sourceMappingURL=ism.d.ts.map