// 共享类型导出
export type {
    ETFCreateParams,
    ETFBurnParams,
    MintETFTokenParams,
    ETFCreateResult,
    MintETFResult,
    AnchorWallet
} from './types/params';

// EVM 客户端动态导出
export const getEVMClient = async () => {
    const { DexClientEVM } = await import('./core_evm/clientevm');
    return DexClientEVM;
};

// Solana 客户端动态导出
export const getSolanaClient = async () => {
    const { DexClient } = await import('./core/client');
    return DexClient;
};

// 工具函数导出
export { getSavedContractAddresses } from './utils/getAddress';

// 导出错误类
export {
    DexSDKError,
    ETFNotExistsError,
    ETFExistsError,
    ETFInsufficientBalanceError,
    ETFInvalidParamsError
} from './utils/error';

// 导出utils
export {
    validateETFCreateParams,
    validateMintETFParams,
    checkETFExists,
    checkATAExists,
    checkBalance
} from './utils/checks';

// 导出getAddress
export {
    deriveEtfTokenMintAccount
} from './utils/getAddress';


