UNPKG

@robertprp/intents-sdk

Version:

Shogun Network Intent-based cross-chain swaps SDK

39 lines 1.66 kB
import type { CreateCrossChainOrderParams } from '../core/orders/cross-chain.js'; import type { CreateSingleChainOrderParams } from '../core/orders/single-chain.js'; import type { IChainValidator } from './order-validator.js'; /** * BaseValidator - Abstract class implementing common validation logic * This follows the Template Method pattern */ export declare abstract class BaseValidator implements IChainValidator { abstract isValidAddress(address: string): boolean; abstract isValidTokenAddress(tokenAddress: string): boolean; abstract isValidAmount(amount: bigint): boolean; protected abstract getChainName(): string; abstract validateCrossChainOrderFeasability(order: CreateCrossChainOrderParams & { user: string; }): Promise<void>; abstract validateSingleChainOrderFeasability(order: CreateSingleChainOrderParams & { user: string; }): Promise<void>; /** * Validate source chain specific parameters of the order */ validateSourceChain(order: CreateCrossChainOrderParams & { user: string; }): Promise<void>; validateSingleChainOrder(order: CreateSingleChainOrderParams & { user: string; }): Promise<void>; /** * Validate destination chain specific parameters of the order */ validateDestinationChain(order: CreateCrossChainOrderParams): void; /** * Helper methods that throw specific validation errors */ protected validateAddress(address: string): void; protected validateTokenAddress(tokenAddress: string): void; protected validateAmount(amount: bigint): void; } //# sourceMappingURL=base-validator.d.ts.map