starchild-widget
Version:
Starchild Widget
152 lines • 5.6 kB
TypeScript
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