import { isAddress as isSolanaAddress } from '@solana/kit'; import { MAX_UINT_64 } from '../../constants.js'; import { BaseValidator } from '../../utils/base-validator.js'; export class SolanaValidator extends BaseValidator { override validateSingleChainOrderFeasability(): Promise { return Promise.resolve(); } isValidAddress(address: string): boolean { return isSolanaAddress(address); } isValidTokenAddress(tokenAddress: string): boolean { return isSolanaAddress(tokenAddress); } isValidAmount(amount: bigint): boolean { return amount > 0n && amount < MAX_UINT_64; } protected getChainName(): string { return 'Solana'; } public async validateCrossChainOrderFeasability(): Promise { // No chain-specific validation implemented for now for Solana return; } override async validateDcaSingleChainOrderFeasability(): Promise { return Promise.resolve(); } }