@robertprp/intents-sdk
Version:
Shogun Network Intent-based cross-chain swaps SDK
35 lines (27 loc) • 940 B
text/typescript
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<void> {
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<void> {
// No chain-specific validation implemented for now for Solana
return;
}
override async validateDcaSingleChainOrderFeasability(): Promise<void> {
return Promise.resolve();
}
}