UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

38 lines 1.95 kB
import { Address, WithAddress } from '@hyperlane-xyz/utils'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainName, ChainNameOrId } from '../types.js'; import { HyperlaneReader } from '../utils/HyperlaneReader.js'; import { CrossCollateralRoutingFeeConfig, FeeParameters, RoutingFeeConfig, TokenFeeConfig } from './types.js'; import { CrossCollateralRoutersByDomain } from './crossCollateralUtils.js'; export type DerivedTokenFeeConfig = WithAddress<TokenFeeConfig>; type DerivedCrossCollateralFeeContracts = Record<ChainName, Record<string, DerivedTokenFeeConfig>>; export type DerivedRoutingFeeConfig = WithAddress<RoutingFeeConfig> & { feeContracts: Record<ChainName, DerivedTokenFeeConfig>; }; export type DerivedCrossCollateralRoutingFeeConfig = WithAddress<CrossCollateralRoutingFeeConfig> & { feeContracts: DerivedCrossCollateralFeeContracts; }; export type TokenFeeReaderParams = { address: Address; routingDestinations?: number[]; crossCollateralRouters?: CrossCollateralRoutersByDomain; }; export declare class EvmTokenFeeReader extends HyperlaneReader { protected readonly multiProvider: MultiProvider; protected readonly chain: ChainNameOrId; protected readonly concurrency: number; protected readonly logger: import("pino").default.Logger<never>; constructor(multiProvider: MultiProvider, chain: ChainNameOrId, concurrency?: number); deriveTokenFeeConfig(params: TokenFeeReaderParams): Promise<DerivedTokenFeeConfig>; private deriveLinearFeeConfig; private deriveOffchainQuotedLinearFeeConfig; private deriveProgressiveFeeConfig; private deriveRegressiveFeeConfig; private deriveRoutingFeeConfig; private deriveCrossCollateralRoutingFeeConfig; private createCachedFeeConfigReader; private deriveCrossCollateralDestinationFees; convertFromBps(bps: number): FeeParameters; } export {}; //# sourceMappingURL=EvmTokenFeeReader.d.ts.map