@orderly.network/hooks 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,286 @@
1
+ import useSWR, { SWRConfiguration, SWRResponse } from 'swr';
2
+ export { SWRConfiguration, default as useSWR } from 'swr';
3
+ import { SWRMutationConfiguration } from 'swr/mutation';
4
+ import { Account, AccountState, ConfigStore, OrderlyKeyStore, WalletAdapter, WSMessage } from '@orderly.network/core';
5
+ import { SystemStateEnum, ExchangeStatusEnum, OrderSide, OrderEntity, API } from '@orderly.network/types';
6
+ export { useEventCallback, useObservable } from 'rxjs-hooks';
7
+ export { default as useConstant } from 'use-constant';
8
+ import * as react from 'react';
9
+ import { FC, PropsWithChildren } from 'react';
10
+ import { WS } from '@orderly.network/net';
11
+ import * as swr__internal from 'swr/_internal';
12
+ import * as swr_subscription from 'swr/subscription';
13
+
14
+ type useQueryOptions<T> = SWRConfiguration & {
15
+ formatter?: (data: any) => T;
16
+ };
17
+
18
+ /**
19
+ * useQuery
20
+ * @description for public api
21
+ * @param query
22
+ * @param options
23
+ */
24
+ declare const useQuery: <T>(query: Parameters<typeof useSWR>["0"], options?: useQueryOptions<T> | undefined) => SWRResponse<T, any, any>;
25
+
26
+ type HTTP_METHOD = "POST" | "PUT" | "DELETE";
27
+ declare const useMutation: <T, E>(url: string, method?: HTTP_METHOD, options?: SWRMutationConfiguration<T, E> | undefined) => [any, any];
28
+
29
+ /**
30
+ * usePrivateQuery
31
+ * @description for private api
32
+ * @param query
33
+ * @param options
34
+ */
35
+ declare const usePrivateQuery: <T>(query: string, options?: useQueryOptions<T> | undefined) => SWRResponse<T, any, any>;
36
+
37
+ declare const useTradingView: () => {};
38
+
39
+ declare const usePrivateObserve: <T>() => {
40
+ data: T | undefined;
41
+ };
42
+
43
+ declare const useTopicObserve: <T>(topic: string) => {
44
+ data: T | undefined;
45
+ };
46
+
47
+ declare const useAccount: () => {
48
+ account: Account;
49
+ state: AccountState;
50
+ login: (address: string) => void;
51
+ createOrderlyKey: (remember: boolean) => Promise<string>;
52
+ createAccount: () => Promise<string>;
53
+ disconnect: () => Promise<void>;
54
+ connect: () => Promise<any>;
55
+ };
56
+
57
+ declare const useAppState: () => {
58
+ systemState: SystemStateEnum;
59
+ exchangeState: ExchangeStatusEnum;
60
+ };
61
+
62
+ declare const DataSourceProvider: FC<PropsWithChildren>;
63
+
64
+ declare const useWS: () => WS;
65
+
66
+ interface OrderlyAppConfig {
67
+ logoUrl: string;
68
+ theme: any;
69
+ }
70
+ interface OrderlyContextState extends OrderlyAppConfig {
71
+ fetcher?: (url: string, init: RequestInit) => Promise<any>;
72
+ apiBaseUrl: string;
73
+ klineDataUrl: string;
74
+ configStore: ConfigStore;
75
+ keyStore: OrderlyKeyStore;
76
+ walletAdapter: {
77
+ new (options: any): WalletAdapter;
78
+ };
79
+ networkId: string;
80
+ onWalletConnect?: () => Promise<any>;
81
+ onWalletDisconnect?: () => Promise<any>;
82
+ ready: boolean;
83
+ }
84
+ declare const OrderlyContext: react.Context<OrderlyContextState>;
85
+ declare const OrderlyProvider: react.Provider<OrderlyContextState>;
86
+
87
+ type OrderBookItem = number[];
88
+ type OrderbookData = {
89
+ asks: OrderBookItem[];
90
+ bids: OrderBookItem[];
91
+ };
92
+ type OrderbookOptions = {
93
+ level?: number;
94
+ };
95
+ /**
96
+ * @name useOrderbookStream
97
+ * @description React hook that returns the current orderbook for a given market
98
+ */
99
+ declare const useOrderbookStream: (symbol: string, initial?: OrderbookData, options?: OrderbookOptions) => ({
100
+ markPrice: any;
101
+ middlePrice: any;
102
+ asks: OrderBookItem[];
103
+ bids: OrderBookItem[];
104
+ onDepthChange?: undefined;
105
+ depth?: undefined;
106
+ isLoading?: undefined;
107
+ } | {
108
+ onDepthChange: (depth: number) => void;
109
+ depth: number;
110
+ isLoading: boolean;
111
+ })[];
112
+
113
+ interface OrderEntryReturn {
114
+ onSubmit: (values: OrderEntity) => Promise<any>;
115
+ maxQty: number;
116
+ freeCollateral: number;
117
+ markPrice: number;
118
+ symbolConfig: API.SymbolExt;
119
+ helper: {
120
+ calculate: (values: any, field: string, value: any) => any;
121
+ validator: (values: any) => any;
122
+ };
123
+ }
124
+ type UseOrderEntryOptions = {
125
+ commify?: boolean;
126
+ validate?: (data: OrderEntity) => {
127
+ [P in keyof OrderEntity]?: string;
128
+ } | null | undefined;
129
+ };
130
+ /**
131
+ * 创建订单
132
+ * @param symbol
133
+ * @returns
134
+ */
135
+ declare const useOrderEntry: (symbol: string, side: OrderSide, reduceOnly?: boolean, options?: UseOrderEntryOptions) => OrderEntryReturn;
136
+
137
+ interface MarketInfo {
138
+ }
139
+ declare const useFetures: () => {
140
+ data: MarketInfo[] | undefined;
141
+ sortBy: (key: string) => void;
142
+ filterBy: (key: string) => void;
143
+ isLoading: boolean;
144
+ error: any;
145
+ };
146
+
147
+ declare const useSymbolsInfo: () => any;
148
+
149
+ declare const useAccountInfo: () => swr__internal.SWRResponse<API.AccountInfo, any, any>;
150
+
151
+ declare const useTokenInfo: () => any;
152
+
153
+ declare const useMarketsStream: () => {
154
+ data: WSMessage.Ticker[] | null;
155
+ };
156
+
157
+ declare const useMarkPricesStream: () => swr_subscription.SWRSubscriptionResponse<any, any>;
158
+
159
+ declare const useMarkPrice: (symbol: string) => swr_subscription.SWRSubscriptionResponse<any, any>;
160
+
161
+ declare const useTickerStream: (symbol: string) => any;
162
+
163
+ declare const useFundingRate$1: (symbol: string) => {
164
+ countDown: string;
165
+ symbol?: string | undefined;
166
+ est_funding_rate?: number | undefined;
167
+ est_funding_rate_timestamp?: number | undefined;
168
+ last_funding_rate?: number | undefined;
169
+ last_funding_rate_timestamp?: number | undefined;
170
+ next_funding_time?: number | undefined;
171
+ sum_unitary_funding?: number | undefined;
172
+ };
173
+
174
+ declare const usePositionStream: (symbol?: string, options?: SWRConfiguration) => any[];
175
+
176
+ declare enum OrderStatus {
177
+ FILLED = "FILLED",
178
+ PARTIAL_FILLED = "PARTIAL_FILLED",
179
+ CANCELED = "CANCELED",
180
+ NEW = "NEW",
181
+ COMPLETED = "COMPLETED"
182
+ }
183
+ declare const useOrderStream: ({ status, symbol, }?: {
184
+ symbol?: string | undefined;
185
+ status?: OrderStatus | undefined;
186
+ }) => (any[] | {
187
+ cancelAllOrders: () => void;
188
+ updateOrder: (orderId: string, order: OrderEntity) => any;
189
+ cancelOrder: (orderId: string, symbol?: string) => any;
190
+ } | null)[];
191
+
192
+ declare const useTradeStream: (symbol: string) => {
193
+ data: API.Trade[] | undefined;
194
+ isLoading: boolean;
195
+ };
196
+
197
+ type CollateralOutputs = {
198
+ totalCollateral: number;
199
+ freeCollateral: number;
200
+ totalValue: number;
201
+ };
202
+ /**
203
+ * 用户保证金
204
+ * @returns
205
+ */
206
+ type Options = {
207
+ dp: number;
208
+ };
209
+ declare const useCollateral: (options?: Options) => CollateralOutputs;
210
+
211
+ declare const useMaxQty: (symbol: string, side: OrderSide, reduceOnly?: boolean) => number;
212
+
213
+ declare const useMarginRatio: () => number;
214
+
215
+ type inputOptions = {
216
+ filter?: (item: API.Chain) => boolean;
217
+ pick?: "dexs" | "network_infos" | "token_infos";
218
+ };
219
+ declare const useChains: (networkId?: "testnet" | "mainnet", options?: inputOptions) => any[];
220
+
221
+ interface Info {
222
+ symbol: string;
223
+ quote_min: number;
224
+ quote_max: number;
225
+ quote_tick: number;
226
+ base_min: number;
227
+ base_max: number;
228
+ base_tick: number;
229
+ min_notional: number;
230
+ price_range: number;
231
+ created_time: number;
232
+ updated_time: number;
233
+ }
234
+ /**
235
+ * useInfo
236
+ * @returns
237
+ */
238
+ declare const useInfo: () => swr__internal.SWRResponse<Info[], any, any>;
239
+
240
+ interface Token {
241
+ token: string;
242
+ token_account_id: string;
243
+ decimals: number;
244
+ minimum_increment: number;
245
+ }
246
+ /**
247
+ * useToken
248
+ * @description get token info
249
+ */
250
+ declare const useToken: () => swr__internal.SWRResponse<Token[], any, any>;
251
+
252
+ interface FundingRate {
253
+ symbol: string;
254
+ est_funding_rate: number;
255
+ est_funding_rate_timestamp: number;
256
+ last_funding_rate: number;
257
+ last_funding_rate_timestamp: number;
258
+ next_funding_time: number;
259
+ sum_unitary_funding: number;
260
+ }
261
+ /**
262
+ * FundingRate
263
+ * @param symbol
264
+ */
265
+ declare const useFundingRateBySymbol: (symbol: string) => swr__internal.SWRResponse<FundingRate, any, any>;
266
+
267
+ /**
268
+ * FundingRate
269
+ * @param symbol
270
+ */
271
+ declare const useFundingRate: (symbol?: string) => swr__internal.SWRResponse<FundingRate, any, any>;
272
+
273
+ declare const index_useFundingRate: typeof useFundingRate;
274
+ declare const index_useFundingRateBySymbol: typeof useFundingRateBySymbol;
275
+ declare const index_useInfo: typeof useInfo;
276
+ declare const index_useToken: typeof useToken;
277
+ declare namespace index {
278
+ export {
279
+ index_useFundingRate as useFundingRate,
280
+ index_useFundingRateBySymbol as useFundingRateBySymbol,
281
+ index_useInfo as useInfo,
282
+ index_useToken as useToken,
283
+ };
284
+ }
285
+
286
+ export { DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAppState, useChains, useCollateral, useFetures, useFundingRate$1 as useFundingRate, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePrivateObserve, usePrivateQuery, useQuery, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradeStream, useTradingView, useWS };
@@ -0,0 +1,286 @@
1
+ import useSWR, { SWRConfiguration, SWRResponse } from 'swr';
2
+ export { SWRConfiguration, default as useSWR } from 'swr';
3
+ import { SWRMutationConfiguration } from 'swr/mutation';
4
+ import { Account, AccountState, ConfigStore, OrderlyKeyStore, WalletAdapter, WSMessage } from '@orderly.network/core';
5
+ import { SystemStateEnum, ExchangeStatusEnum, OrderSide, OrderEntity, API } from '@orderly.network/types';
6
+ export { useEventCallback, useObservable } from 'rxjs-hooks';
7
+ export { default as useConstant } from 'use-constant';
8
+ import * as react from 'react';
9
+ import { FC, PropsWithChildren } from 'react';
10
+ import { WS } from '@orderly.network/net';
11
+ import * as swr__internal from 'swr/_internal';
12
+ import * as swr_subscription from 'swr/subscription';
13
+
14
+ type useQueryOptions<T> = SWRConfiguration & {
15
+ formatter?: (data: any) => T;
16
+ };
17
+
18
+ /**
19
+ * useQuery
20
+ * @description for public api
21
+ * @param query
22
+ * @param options
23
+ */
24
+ declare const useQuery: <T>(query: Parameters<typeof useSWR>["0"], options?: useQueryOptions<T> | undefined) => SWRResponse<T, any, any>;
25
+
26
+ type HTTP_METHOD = "POST" | "PUT" | "DELETE";
27
+ declare const useMutation: <T, E>(url: string, method?: HTTP_METHOD, options?: SWRMutationConfiguration<T, E> | undefined) => [any, any];
28
+
29
+ /**
30
+ * usePrivateQuery
31
+ * @description for private api
32
+ * @param query
33
+ * @param options
34
+ */
35
+ declare const usePrivateQuery: <T>(query: string, options?: useQueryOptions<T> | undefined) => SWRResponse<T, any, any>;
36
+
37
+ declare const useTradingView: () => {};
38
+
39
+ declare const usePrivateObserve: <T>() => {
40
+ data: T | undefined;
41
+ };
42
+
43
+ declare const useTopicObserve: <T>(topic: string) => {
44
+ data: T | undefined;
45
+ };
46
+
47
+ declare const useAccount: () => {
48
+ account: Account;
49
+ state: AccountState;
50
+ login: (address: string) => void;
51
+ createOrderlyKey: (remember: boolean) => Promise<string>;
52
+ createAccount: () => Promise<string>;
53
+ disconnect: () => Promise<void>;
54
+ connect: () => Promise<any>;
55
+ };
56
+
57
+ declare const useAppState: () => {
58
+ systemState: SystemStateEnum;
59
+ exchangeState: ExchangeStatusEnum;
60
+ };
61
+
62
+ declare const DataSourceProvider: FC<PropsWithChildren>;
63
+
64
+ declare const useWS: () => WS;
65
+
66
+ interface OrderlyAppConfig {
67
+ logoUrl: string;
68
+ theme: any;
69
+ }
70
+ interface OrderlyContextState extends OrderlyAppConfig {
71
+ fetcher?: (url: string, init: RequestInit) => Promise<any>;
72
+ apiBaseUrl: string;
73
+ klineDataUrl: string;
74
+ configStore: ConfigStore;
75
+ keyStore: OrderlyKeyStore;
76
+ walletAdapter: {
77
+ new (options: any): WalletAdapter;
78
+ };
79
+ networkId: string;
80
+ onWalletConnect?: () => Promise<any>;
81
+ onWalletDisconnect?: () => Promise<any>;
82
+ ready: boolean;
83
+ }
84
+ declare const OrderlyContext: react.Context<OrderlyContextState>;
85
+ declare const OrderlyProvider: react.Provider<OrderlyContextState>;
86
+
87
+ type OrderBookItem = number[];
88
+ type OrderbookData = {
89
+ asks: OrderBookItem[];
90
+ bids: OrderBookItem[];
91
+ };
92
+ type OrderbookOptions = {
93
+ level?: number;
94
+ };
95
+ /**
96
+ * @name useOrderbookStream
97
+ * @description React hook that returns the current orderbook for a given market
98
+ */
99
+ declare const useOrderbookStream: (symbol: string, initial?: OrderbookData, options?: OrderbookOptions) => ({
100
+ markPrice: any;
101
+ middlePrice: any;
102
+ asks: OrderBookItem[];
103
+ bids: OrderBookItem[];
104
+ onDepthChange?: undefined;
105
+ depth?: undefined;
106
+ isLoading?: undefined;
107
+ } | {
108
+ onDepthChange: (depth: number) => void;
109
+ depth: number;
110
+ isLoading: boolean;
111
+ })[];
112
+
113
+ interface OrderEntryReturn {
114
+ onSubmit: (values: OrderEntity) => Promise<any>;
115
+ maxQty: number;
116
+ freeCollateral: number;
117
+ markPrice: number;
118
+ symbolConfig: API.SymbolExt;
119
+ helper: {
120
+ calculate: (values: any, field: string, value: any) => any;
121
+ validator: (values: any) => any;
122
+ };
123
+ }
124
+ type UseOrderEntryOptions = {
125
+ commify?: boolean;
126
+ validate?: (data: OrderEntity) => {
127
+ [P in keyof OrderEntity]?: string;
128
+ } | null | undefined;
129
+ };
130
+ /**
131
+ * 创建订单
132
+ * @param symbol
133
+ * @returns
134
+ */
135
+ declare const useOrderEntry: (symbol: string, side: OrderSide, reduceOnly?: boolean, options?: UseOrderEntryOptions) => OrderEntryReturn;
136
+
137
+ interface MarketInfo {
138
+ }
139
+ declare const useFetures: () => {
140
+ data: MarketInfo[] | undefined;
141
+ sortBy: (key: string) => void;
142
+ filterBy: (key: string) => void;
143
+ isLoading: boolean;
144
+ error: any;
145
+ };
146
+
147
+ declare const useSymbolsInfo: () => any;
148
+
149
+ declare const useAccountInfo: () => swr__internal.SWRResponse<API.AccountInfo, any, any>;
150
+
151
+ declare const useTokenInfo: () => any;
152
+
153
+ declare const useMarketsStream: () => {
154
+ data: WSMessage.Ticker[] | null;
155
+ };
156
+
157
+ declare const useMarkPricesStream: () => swr_subscription.SWRSubscriptionResponse<any, any>;
158
+
159
+ declare const useMarkPrice: (symbol: string) => swr_subscription.SWRSubscriptionResponse<any, any>;
160
+
161
+ declare const useTickerStream: (symbol: string) => any;
162
+
163
+ declare const useFundingRate$1: (symbol: string) => {
164
+ countDown: string;
165
+ symbol?: string | undefined;
166
+ est_funding_rate?: number | undefined;
167
+ est_funding_rate_timestamp?: number | undefined;
168
+ last_funding_rate?: number | undefined;
169
+ last_funding_rate_timestamp?: number | undefined;
170
+ next_funding_time?: number | undefined;
171
+ sum_unitary_funding?: number | undefined;
172
+ };
173
+
174
+ declare const usePositionStream: (symbol?: string, options?: SWRConfiguration) => any[];
175
+
176
+ declare enum OrderStatus {
177
+ FILLED = "FILLED",
178
+ PARTIAL_FILLED = "PARTIAL_FILLED",
179
+ CANCELED = "CANCELED",
180
+ NEW = "NEW",
181
+ COMPLETED = "COMPLETED"
182
+ }
183
+ declare const useOrderStream: ({ status, symbol, }?: {
184
+ symbol?: string | undefined;
185
+ status?: OrderStatus | undefined;
186
+ }) => (any[] | {
187
+ cancelAllOrders: () => void;
188
+ updateOrder: (orderId: string, order: OrderEntity) => any;
189
+ cancelOrder: (orderId: string, symbol?: string) => any;
190
+ } | null)[];
191
+
192
+ declare const useTradeStream: (symbol: string) => {
193
+ data: API.Trade[] | undefined;
194
+ isLoading: boolean;
195
+ };
196
+
197
+ type CollateralOutputs = {
198
+ totalCollateral: number;
199
+ freeCollateral: number;
200
+ totalValue: number;
201
+ };
202
+ /**
203
+ * 用户保证金
204
+ * @returns
205
+ */
206
+ type Options = {
207
+ dp: number;
208
+ };
209
+ declare const useCollateral: (options?: Options) => CollateralOutputs;
210
+
211
+ declare const useMaxQty: (symbol: string, side: OrderSide, reduceOnly?: boolean) => number;
212
+
213
+ declare const useMarginRatio: () => number;
214
+
215
+ type inputOptions = {
216
+ filter?: (item: API.Chain) => boolean;
217
+ pick?: "dexs" | "network_infos" | "token_infos";
218
+ };
219
+ declare const useChains: (networkId?: "testnet" | "mainnet", options?: inputOptions) => any[];
220
+
221
+ interface Info {
222
+ symbol: string;
223
+ quote_min: number;
224
+ quote_max: number;
225
+ quote_tick: number;
226
+ base_min: number;
227
+ base_max: number;
228
+ base_tick: number;
229
+ min_notional: number;
230
+ price_range: number;
231
+ created_time: number;
232
+ updated_time: number;
233
+ }
234
+ /**
235
+ * useInfo
236
+ * @returns
237
+ */
238
+ declare const useInfo: () => swr__internal.SWRResponse<Info[], any, any>;
239
+
240
+ interface Token {
241
+ token: string;
242
+ token_account_id: string;
243
+ decimals: number;
244
+ minimum_increment: number;
245
+ }
246
+ /**
247
+ * useToken
248
+ * @description get token info
249
+ */
250
+ declare const useToken: () => swr__internal.SWRResponse<Token[], any, any>;
251
+
252
+ interface FundingRate {
253
+ symbol: string;
254
+ est_funding_rate: number;
255
+ est_funding_rate_timestamp: number;
256
+ last_funding_rate: number;
257
+ last_funding_rate_timestamp: number;
258
+ next_funding_time: number;
259
+ sum_unitary_funding: number;
260
+ }
261
+ /**
262
+ * FundingRate
263
+ * @param symbol
264
+ */
265
+ declare const useFundingRateBySymbol: (symbol: string) => swr__internal.SWRResponse<FundingRate, any, any>;
266
+
267
+ /**
268
+ * FundingRate
269
+ * @param symbol
270
+ */
271
+ declare const useFundingRate: (symbol?: string) => swr__internal.SWRResponse<FundingRate, any, any>;
272
+
273
+ declare const index_useFundingRate: typeof useFundingRate;
274
+ declare const index_useFundingRateBySymbol: typeof useFundingRateBySymbol;
275
+ declare const index_useInfo: typeof useInfo;
276
+ declare const index_useToken: typeof useToken;
277
+ declare namespace index {
278
+ export {
279
+ index_useFundingRate as useFundingRate,
280
+ index_useFundingRateBySymbol as useFundingRateBySymbol,
281
+ index_useInfo as useInfo,
282
+ index_useToken as useToken,
283
+ };
284
+ }
285
+
286
+ export { DataSourceProvider, OrderStatus, OrderlyAppConfig, OrderlyContext, OrderlyContextState, OrderlyProvider, index as apis, useAccount, useAccountInfo, useAppState, useChains, useCollateral, useFetures, useFundingRate$1 as useFundingRate, useMarginRatio, useMarkPrice, useMarkPricesStream, useMarketsStream, useMaxQty, useMutation, useOrderEntry, useOrderStream, useOrderbookStream, usePositionStream, usePrivateObserve, usePrivateQuery, useQuery, useSymbolsInfo, useTickerStream, useTokenInfo, useTopicObserve, useTradeStream, useTradingView, useWS };