UNPKG

starchild-widget

Version:

Starchild Widget

152 lines 5.6 kB
import { ApiClient } from './client'; import { GetPendingOrdersParams, GetPendingAlgoOrdersParams, CreateOrderParams, CreateAlgoOrderParams, GetOrdersResponse, GetAlgoOrdersResponse, CreateOrderResponse, CreateAlgoOrderResponse, GetLeverageSettingResponse, UpdateLeverageSettingResponse, GetSymbolOrderRulesResponse, GetSymbolMarketInfoResponse, GetAccountInfoResponse } from '../../types/api/trade'; export interface OrderlyAuthProvider { getAccountId: () => string; getOrderlyKey: () => string; getSecretKey: () => string; } export interface TradeApiConfig { baseURL: string; timeout?: number; } declare class OrderlyApiClient extends ApiClient { private authProvider; constructor(config: TradeApiConfig); /** * 设置认证信息提供器 */ setAuthProvider(authProvider: OrderlyAuthProvider): void; /** * 生成Orderly签名 * 根据Orderly API文档,签名需要包含时间戳和请求体内容 * 签名消息格式: timestamp + method + path + body */ private generateOrderlySignature; /** * 获取带有Orderly认证headers的请求headers */ private getOrderlyHeaders; /** * 重写GET方法,自动添加Orderly headers */ get<T = any>(endpoint: string, options?: any): Promise<any>; /** * 重写POST方法,自动添加Orderly headers */ post<T = any>(endpoint: string, data?: any, options?: any): Promise<any>; } /** * 创建或获取交易API客户端实例 */ export declare function createTradeApiClient(config: TradeApiConfig): OrderlyApiClient; /** * 获取当前交易API客户端实例 */ export declare function getTradeApiClient(): OrderlyApiClient | null; /** * 设置交易API客户端的认证信息提供器 */ export declare function setTradeApiAuthProvider(authProvider: OrderlyAuthProvider): void; /** * 获取待处理订单(INCOMPLETE状态) * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/private/get-orders */ export declare function getPendingOrders(params?: GetPendingOrdersParams): Promise<GetOrdersResponse>; /** * 获取待处理Algo订单(INCOMPLETE状态) * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/private/get-algo-orders */ export declare function getPendingAlgoOrders(params?: GetPendingAlgoOrdersParams): Promise<GetAlgoOrdersResponse>; /** * 创建订单 * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/private/create-order */ export declare function createOrder(orderData: CreateOrderParams): Promise<CreateOrderResponse>; /** * 创建Algo订单 * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/private/create-algo-order */ export declare function createAlgoOrder(orderData: CreateAlgoOrderParams): Promise<CreateAlgoOrderResponse>; /** * 获取杠杆设置 * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/private/get-leverage-setting */ export declare function getLeverageSetting(symbol: string): Promise<GetLeverageSettingResponse>; /** * 更新杠杆设置 * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/private/update-leverage-setting */ export declare function updateLeverageSetting(symbol: string, leverage: number): Promise<UpdateLeverageSettingResponse>; /** * 获取账户信息 * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/private/get-account-information */ export declare function getAccountInfo(): Promise<GetAccountInfoResponse>; /** * 获取Symbol订单规则 * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/public/get-order-rules-per-symbol */ export declare function getSymbolOrderRules(symbol: string): Promise<GetSymbolOrderRulesResponse>; /** * 获取Symbol市场信息 * API文档: https://orderly.network/docs/build-on-omnichain/evm-api/restful-api/public/get-market-info-for-one-symbol */ export declare function getSymbolMarketInfo(symbol: string): Promise<GetSymbolMarketInfoResponse>; /** * 基于 auth 状态创建 OrderlyAuthProvider */ export declare function createAuthProviderFromAuthState(authState: { accountId: string; orderlyKey: string; secretKey: string; }): OrderlyAuthProvider; /** * 在 React 组件中使用 Trade API 的示例 * * 用法示例: * ```tsx * import { useWidget } from '../store/hooks' * import { initializeTradeApiWithAuth } from '../api/trade' * * function TradingComponent() { * const { state } = useWidget() * * useEffect(() => { * // 初始化 Trade API * initializeTradeApiWithAuth(state.auth) * }, [state.auth]) * * const handleGetPendingOrders = async () => { * const orders = await getPendingOrders() * const algoOrders = await getPendingAlgoOrders() * } * * const handleCreateOrder = async () => { * const result = await createOrder({ * symbol: 'PERP_BTC_USDC', * order_type: 'MARKET', * side: 'BUY', * order_quantity: 0.001, * }) * } * * const handleCreateAlgoOrder = async () => { * const result = await createAlgoOrder({ * symbol: 'PERP_BTC_USDC', * algo_type: 'STOP', * side: 'BUY', * type: 'MARKET', * trigger_price: 42000, * quantity: 0.001, * }) * } * } * ``` */ export declare function initializeTradeApiWithAuth(authState: { accountId: string; orderlyKey: string; secretKey: string; }, baseURL?: string): void; export {}; //# sourceMappingURL=trade.d.ts.map