UNPKG

@hyperlane-xyz/sdk

Version:

The official SDK for the Hyperlane Network

35 lines 1.6 kB
import { isStarknetFeeToken } from '../../utils/starknet.js'; import { StarknetHypCollateralAdapter, StarknetHypFeeAdapter, StarknetHypNativeAdapter, StarknetHypSyntheticAdapter, } from './StarknetTokenAdapter.js'; import { hasChainMetadata, } from './hypTokenAdapterUtils.js'; import { TokenStandard } from '../TokenStandard.js'; export function createStarknetHypAdapter(multiProvider, token) { const { standard, chainName, addressOrDenom } = token; if (!standard || !hasChainMetadata(multiProvider, chainName)) { return undefined; } if (isStarknetFeeToken(chainName, addressOrDenom) && (standard === TokenStandard.StarknetHypNative || standard === TokenStandard.StarknetHypSynthetic || standard === TokenStandard.StarknetHypCollateral)) { return new StarknetHypFeeAdapter(chainName, multiProvider, { warpRouter: addressOrDenom, }); } switch (standard) { case TokenStandard.StarknetHypNative: return new StarknetHypNativeAdapter(chainName, multiProvider, { warpRouter: addressOrDenom, }); case TokenStandard.StarknetHypSynthetic: return new StarknetHypSyntheticAdapter(chainName, multiProvider, { warpRouter: addressOrDenom, }); case TokenStandard.StarknetHypCollateral: return new StarknetHypCollateralAdapter(chainName, multiProvider, { warpRouter: addressOrDenom, }); default: return undefined; } } //# sourceMappingURL=starknetHyp.js.map