@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
54 lines • 2.65 kB
TypeScript
import { Logger } from 'pino';
import { Address } from '@hyperlane-xyz/utils';
import { MultiProvider } from '../providers/MultiProvider.js';
import { ChainName, ChainNameOrId } from '../types.js';
import { WarpCoreConfig } from '../warp/types.js';
import { TokenType } from './config.js';
import { WarpRouteDeployConfig, XERC20TokenExtraBridgesLimits, XERC20Type } from './types.js';
type BridgeConfigBase = {
chain: ChainName;
type: typeof TokenType.XERC20Lockbox | typeof TokenType.XERC20;
xERC20Address: Address;
bridgeAddress: Address;
decimals: number;
owner: Address;
};
export type BridgeConfigVS = BridgeConfigBase & {
bufferCap: number;
rateLimitPerSecond: number;
};
export type BridgeConfigWL = BridgeConfigBase & {
mint: number;
burn: number;
};
export type GetExtraLockboxesOptions = {
chain: ChainNameOrId;
xERC20Address: Address;
multiProvider: MultiProvider;
explorerUrl: string;
apiKey?: string;
logger?: Logger;
};
export declare function getExtraLockBoxConfigs({ xERC20Address, chain, multiProvider, logger, }: Omit<GetExtraLockboxesOptions, 'explorerUrl' | 'apiKey'>): Promise<XERC20TokenExtraBridgesLimits[]>;
/**
* Derives bridge configurations for Velodrome XERC20 tokens.
* Extracts bufferCap and rateLimitPerSecond limits from warp deploy config.
* @param warpDeployConfig - Warp route deployment configuration
* @param warpCoreConfig - Warp core configuration with token metadata
* @param multiProvider - Multi-chain provider for contract interactions
* @returns Array of bridge configurations for Velodrome XERC20
*/
export declare function deriveBridgesConfig(warpDeployConfig: WarpRouteDeployConfig, warpCoreConfig: WarpCoreConfig, multiProvider: MultiProvider): Promise<BridgeConfigVS[]>;
/**
* Derives bridge configurations for Standard XERC20 tokens.
* Extracts mint and burn limits from warp deploy config.
* @param chains - Optional list of chains to filter by
* @param warpDeployConfig - Warp route deployment configuration
* @param warpCoreConfig - Warp core configuration with token metadata
* @param multiProvider - Multi-chain provider for contract interactions
* @returns Array of bridge configurations for Standard XERC20
*/
export declare function deriveStandardBridgesConfig(chains: ChainName[] | undefined, warpDeployConfig: WarpRouteDeployConfig, warpCoreConfig: WarpCoreConfig, multiProvider: MultiProvider): Promise<BridgeConfigWL[]>;
export declare function deriveXERC20TokenType(multiProvider: MultiProvider, chain: ChainNameOrId, address: Address): Promise<XERC20Type>;
export {};
//# sourceMappingURL=xerc20.d.ts.map