@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
25 lines • 1.22 kB
TypeScript
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 { FeeParameters, RoutingFeeConfig, TokenFeeConfig } from './types.js';
export type DerivedTokenFeeConfig = WithAddress<TokenFeeConfig>;
export type DerivedRoutingFeeConfig = WithAddress<RoutingFeeConfig> & {
feeContracts: Record<ChainName, DerivedTokenFeeConfig>;
};
export type TokenFeeReaderParams = {
address: Address;
routingDestinations?: number[];
};
export declare class EvmTokenFeeReader extends HyperlaneReader {
protected readonly multiProvider: MultiProvider;
protected readonly chain: ChainNameOrId;
constructor(multiProvider: MultiProvider, chain: ChainNameOrId);
deriveTokenFeeConfig(params: TokenFeeReaderParams): Promise<DerivedTokenFeeConfig>;
private deriveLinearFeeConfig;
private deriveProgressiveFeeConfig;
private deriveRegressiveFeeConfig;
private deriveRoutingFeeConfig;
convertFromBps(bps: bigint, tokenAddress: Address): Promise<FeeParameters>;
}
//# sourceMappingURL=EvmTokenFeeReader.d.ts.map