@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
20 lines • 1.11 kB
TypeScript
import { WithAddress } from '@hyperlane-xyz/utils';
import { ChainName } from '../../types.js';
import { DomainRoutingIsmConfig, IsmType, RoutingIsmConfig } from '../types.js';
import type { BaseMetadataBuilder } from './builder.js';
import type { MetadataBuilder, MetadataContext, StructuredMetadata } from './types.js';
export type RoutingMetadata<T> = {
type: IsmType.ROUTING;
origin: ChainName;
metadata: T;
};
export declare class RoutingMetadataBuilder implements MetadataBuilder {
protected baseMetadataBuilder: BaseMetadataBuilder;
constructor(baseMetadataBuilder: BaseMetadataBuilder);
build(context: MetadataContext<WithAddress<DomainRoutingIsmConfig>>, maxDepth?: number): Promise<string>;
static decode(metadata: string, context: MetadataContext<WithAddress<DomainRoutingIsmConfig>>): RoutingMetadata<StructuredMetadata | string>;
}
export declare class DefaultFallbackRoutingMetadataBuilder extends RoutingMetadataBuilder {
build(context: MetadataContext<WithAddress<RoutingIsmConfig>>, maxDepth?: number): Promise<string>;
}
//# sourceMappingURL=routing.d.ts.map