@okx-dex/okx-dex-sdk
Version:
OKX DEX SDK
45 lines (44 loc) • 1.94 kB
TypeScript
import { HTTPClient } from "../core/http-client";
import { SwapParams, OKXConfig, QuoteParams, QuoteData, APIResponse, SwapResult, SwapResponseData, ChainData, ApproveTokenParams, SwapSimulationParams, LiquidityData, TokenData, GasLimitParams, GasLimitData, BroadcastTransactionParams, BroadcastTransactionData, TransactionOrdersParams, TransactionOrdersData } from "../types";
interface SimulationResult {
success: boolean;
gasUsed?: string;
error?: string;
logs?: any;
assetChanges: Array<{
direction: 'SEND' | 'RECEIVE';
symbol: string;
type: string;
amount: string;
decimals: number;
address: string;
}>;
risks: Array<{
addressType: string;
address: string;
}>;
}
export declare class DexAPI {
private readonly client;
private readonly config;
private readonly defaultNetworkConfigs;
constructor(client: HTTPClient, config: OKXConfig);
private getNetworkConfig;
private toAPIParams;
getQuote(params: QuoteParams): Promise<APIResponse<QuoteData>>;
getLiquidity(chainId: string): Promise<APIResponse<LiquidityData>>;
getChainData(chainId: string): Promise<APIResponse<ChainData>>;
getSwapData(params: SwapParams): Promise<SwapResponseData>;
getTokens(chainId: string): Promise<APIResponse<TokenData>>;
executeSwap(params: SwapParams): Promise<SwapResult>;
executeApproval(params: ApproveTokenParams): Promise<{
transactionHash: string;
explorerUrl: string;
}>;
simulateTransaction(params: SwapSimulationParams): Promise<SimulationResult>;
getGasLimit(params: GasLimitParams): Promise<APIResponse<GasLimitData>>;
broadcastTransaction(params: BroadcastTransactionParams): Promise<APIResponse<BroadcastTransactionData>>;
getTransactionOrders(params: TransactionOrdersParams): Promise<APIResponse<TransactionOrdersData>>;
private getHeaders;
}
export {};