@ultrade/react-sdk 1.0.2 → 1.0.4

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.
@@ -1,14 +1,7 @@
1
- import { Client } from '@ultrade/ultrade-js-sdk';
2
- import { AuthCredentials, ClientOptions } from '@ultrade/ultrade-js-sdk';
1
+ import RTKSDKAdaptor from './sdk';
3
2
  import baseApi from './base.api';
4
- import { withdrawalWalletsApi } from './withdrawalWallets.api';
5
- import { marketsApi } from './markets';
6
- import { walletApi } from './wallet.api';
7
- export default class RtkSdkAdaptor extends Client {
8
- constructor(options: ClientOptions, authCredentials?: AuthCredentials);
9
- withdrawalWallets(): typeof withdrawalWalletsApi;
10
- markets(): typeof marketsApi;
11
- walletApi(): typeof walletApi;
12
- }
13
- export { baseApi, };
14
- export * from '../hooks';
3
+ export { withdrawalWalletsApi } from './withdrawalWallets.api';
4
+ export { marketsApi } from './markets';
5
+ export { walletApi } from './wallet.api';
6
+ export { baseApi };
7
+ export default RTKSDKAdaptor;
@@ -1,8 +1,9 @@
1
- import { IGetDepthArgs, IGetDepth } from "@ultrade/ultrade-js-sdk";
1
+ import { IGetDepthArgs } from "@ultrade/ultrade-js-sdk";
2
+ import { IGetDepthTransformedResult } from "../../interface/index.ts";
2
3
  export declare const marketsDepthApi: import("@reduxjs/toolkit/query").Api<() => {
3
4
  data: any;
4
5
  }, {
5
6
  getDepth: import("@reduxjs/toolkit/query").QueryDefinition<IGetDepthArgs, () => {
6
7
  data: any;
7
- }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", IGetDepth, "sdk-rtk">;
8
+ }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", IGetDepthTransformedResult, "sdk-rtk">;
8
9
  }, "sdk-rtk", "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
@@ -157,10 +157,10 @@ export declare const marketsApi: {
157
157
  }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", import("@ultrade/ultrade-js-sdk").IPairDto[], "sdk-rtk">>;
158
158
  readonly useGetDepthQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@ultrade/ultrade-js-sdk").IGetDepthArgs, () => {
159
159
  data: any;
160
- }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", import("@ultrade/ultrade-js-sdk").IGetDepth, "sdk-rtk">>;
160
+ }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", import("../..").IGetDepthTransformedResult, "sdk-rtk">>;
161
161
  readonly useLazyGetDepthQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@ultrade/ultrade-js-sdk").IGetDepthArgs, () => {
162
162
  data: any;
163
- }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", import("@ultrade/ultrade-js-sdk").IGetDepth, "sdk-rtk">>;
163
+ }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", import("../..").IGetDepthTransformedResult, "sdk-rtk">>;
164
164
  readonly useGetLastTradesQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@ultrade/ultrade-js-sdk").IGetLastTradesArgs, () => {
165
165
  data: any;
166
166
  }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", import("@ultrade/ultrade-js-sdk").IGetLastTrades, "sdk-rtk">>;
@@ -185,7 +185,7 @@ export declare const marketsApi: {
185
185
  readonly useLazyGetOrderByIdQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@ultrade/ultrade-js-sdk").IGetOrderByIdArgs, () => {
186
186
  data: any;
187
187
  }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", import("@ultrade/ultrade-js-sdk").Order, "sdk-rtk">>;
188
- readonly useCreateOrderMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<import("@ultrade/ultrade-js-sdk").ICreateOrderArgs, () => {
188
+ readonly useCreateSpotOrderMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<import("@ultrade/ultrade-js-sdk").CreateSpotOrderArgs, () => {
189
189
  data: any;
190
190
  }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", import("@ultrade/ultrade-js-sdk").IOrderDto, "sdk-rtk">>;
191
191
  readonly useCancelOrderMutation: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseMutation<import("@reduxjs/toolkit/query").MutationDefinition<import("@ultrade/ultrade-js-sdk").ICancelOrderArgs, () => {
@@ -1,11 +1,11 @@
1
- import { IGetOrdersArgs, ICreateOrderArgs, ICancelOrderArgs, IGetOrderByIdArgs, ICancelMultipleOrdersArgs, IOrderDto, Order, ICancelOrderResponse, ICancelMultipleOrdersResponse } from "@ultrade/ultrade-js-sdk";
1
+ import { IGetOrdersArgs, CreateSpotOrderArgs, ICancelOrderArgs, IGetOrderByIdArgs, ICancelMultipleOrdersArgs, IOrderDto, Order, ICancelOrderResponse, ICancelMultipleOrdersResponse } from "@ultrade/ultrade-js-sdk";
2
2
  export declare const marketsOrdersApi: import("@reduxjs/toolkit/query").Api<() => {
3
3
  data: any;
4
4
  }, {
5
5
  getOrders: import("@reduxjs/toolkit/query").QueryDefinition<IGetOrdersArgs, () => {
6
6
  data: any;
7
7
  }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", IOrderDto[], "sdk-rtk">;
8
- createOrder: import("@reduxjs/toolkit/query").MutationDefinition<ICreateOrderArgs, () => {
8
+ createSpotOrder: import("@reduxjs/toolkit/query").MutationDefinition<CreateSpotOrderArgs, () => {
9
9
  data: any;
10
10
  }, "markets_balances" | "markets_last_trades" | "markets_symbols" | "markets_depth" | "markets_orders" | "markets_settings" | "markets_pair_list" | "markets_history" | "wallet_transactions" | "wallet_trading_keys" | "wallet_transfers" | "wallet_pending_transactions" | "wallet_whitelist" | "withdrawal_wallets", IOrderDto, "sdk-rtk">;
11
11
  cancelOrder: import("@reduxjs/toolkit/query").MutationDefinition<ICancelOrderArgs, () => {
@@ -0,0 +1,11 @@
1
+ import { Client } from '@ultrade/ultrade-js-sdk';
2
+ import { AuthCredentials, ClientOptions } from '@ultrade/ultrade-js-sdk';
3
+ import { withdrawalWalletsApi } from './withdrawalWallets.api';
4
+ import { marketsApi } from './markets';
5
+ import { walletApi } from './wallet.api';
6
+ export default class RtkSdkAdaptor extends Client {
7
+ constructor(options: ClientOptions, authCredentials?: AuthCredentials);
8
+ withdrawalWallets(): typeof withdrawalWalletsApi;
9
+ markets(): typeof marketsApi;
10
+ walletApi(): typeof walletApi;
11
+ }
@@ -1 +1,2 @@
1
+ export * from './useSdkWebSocket';
1
2
  export * from './useDepositBalance';
@@ -0,0 +1,56 @@
1
+ export interface UseRtkWebSocketConfig {
2
+ /**
3
+ * Wallet address for subscription
4
+ */
5
+ walletAddress?: string;
6
+ /**
7
+ * Company ID
8
+ */
9
+ companyId?: number;
10
+ /**
11
+ * Trading pair key (e.g., 'ALGO_USDC')
12
+ */
13
+ pairKey?: string;
14
+ }
15
+ /**
16
+ * Hook for RTK WebSocket subscriptions
17
+ *
18
+ * IMPORTANT: This hook should be used ONLY ONCE during app initialization
19
+ * (e.g., in the root component App.tsx or layout component)
20
+ *
21
+ * The hook automatically:
22
+ * - Subscribes to all necessary WebSocket streams
23
+ * - Resubscribes when parameters change (address, pair, company)
24
+ * - Unsubscribes on component unmount
25
+ *
26
+ * Implementation is identical to frontend/src/hooks/useSocket.tsx
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * // App.tsx или Root Component
31
+ * import { useRtkWebSocket } from 'rtk-sdk-adaptor';
32
+ *
33
+ * function App() {
34
+ * const mainWalletAddress = useAppSelector((state) => state.user.mainAddress);
35
+ * const companyId = useAppSelector((state) => state.settings.companyId);
36
+ * const selectedPair = useAppSelector((state) => state.user.selectedPair);
37
+ *
38
+ * // Initialize WebSocket - once for the entire app
39
+ * useRtkWebSocket({
40
+ * walletAddress: mainWalletAddress,
41
+ * companyId,
42
+ * pairKey: selectedPair?.pair_key,
43
+ * });
44
+ *
45
+ * return <YourApp />;
46
+ * }
47
+ *
48
+ * // In any child component
49
+ * function BalanceComponent() {
50
+ * const { data: balances } = useGetBalancesQuery();
51
+ * // Balances will be automatically updated via WebSocket
52
+ * return <div>{JSON.stringify(balances)}</div>;
53
+ * }
54
+ * ```
55
+ */
56
+ export declare function useSdkWebSocket({ walletAddress, companyId, pairKey, }: UseRtkWebSocketConfig): void;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,8 @@
1
- import RtkSdkAdaptor from "./api/index.ts";
1
+ import RTKSDKAdaptor from './api/index.ts';
2
+ export default RTKSDKAdaptor;
3
+ export * from "./api/index.ts";
2
4
  export * from './connection/middlewares';
3
5
  export * from './connection/reducers';
4
- export * from "./api/index.ts";
5
- export default RtkSdkAdaptor;
6
+ export * from "./hooks/index.ts";
7
+ export * from "./consts/index.ts";
8
+ export * from "./interface/index.ts";
package/dist/index.js CHANGED
@@ -1 +1,11 @@
1
- import{Client as G}from"@ultrade/ultrade-js-sdk";import{createApi as B}from"@reduxjs/toolkit/query/react";var v=["markets_balances","markets_last_trades","markets_symbols","markets_depth","markets_orders","markets_settings","markets_pair_list","markets_history"],S=["wallet_transactions","wallet_trading_keys","wallet_transfers","wallet_pending_transactions","wallet_whitelist"],O=["withdrawal_wallets"],g=[...v,...S,...O];if(!process.env?.REACT_APP_API_URL)throw new Error("REACT_APP_API_URL is not set");var h="sdk-rtk",Q=process.env.REACT_APP_API_URL;var D=B({reducerPath:h,baseQuery:()=>({data:null}),tagTypes:g,endpoints:()=>({})}),i=D;var m=class{constructor(e){this.error={status:e.response?.status,data:e.response?.data||e.message}}};var I=null,w=t=>{I=t},a=()=>{if(!I)throw new Error("SDK Client not initialized");return I};async function s(t){try{return{data:await t()}}catch(e){return new m(e)}}var c=t=>t.filter(e=>e||e===0).join("-"),T=(t,e)=>[e||e===0?{type:t,id:e}:{type:t}];var y=i.injectEndpoints({endpoints:t=>({getSettings:t.query({queryFn:async()=>{let e=a();return await s(()=>e.getSettings())},providesTags:["markets_settings"]})})});var k=i.injectEndpoints({endpoints:t=>({getOrders:t.query({queryFn:async({symbol:e,status:r,startTime:n,endTime:o,limit:d})=>{let l=a();return await s(()=>l.getOrders(e,r,d,o,n))},providesTags:(e,r,{symbol:n,status:o,startTime:d,endTime:l,limit:u})=>[{type:"markets_orders",id:c([n,o,d,l,u])}]}),createOrder:t.mutation({queryFn:async e=>{let r=a();return await s(()=>r.createOrder(e))},invalidatesTags:[{type:"markets_orders"}]}),cancelOrder:t.mutation({queryFn:async e=>{let r=a();return await s(()=>r.cancelOrder(e))},invalidatesTags:[{type:"markets_orders"}]}),getOrderById:t.query({queryFn:async({orderId:e})=>{let r=a();return await s(()=>r.getOrderById(e))},providesTags:(e,r,{orderId:n})=>[{type:"markets_orders",id:n}]}),cancelMultipleOrders:t.mutation({queryFn:async e=>{let r=a();return await s(()=>r.cancelMultipleOrders(e))},invalidatesTags:[{type:"markets_orders"}]})})});var A=i.injectEndpoints({endpoints:t=>({getBalances:t.query({queryFn:async()=>{let e=a();return await s(()=>e.getBalances())},providesTags:["markets_balances"]})})});var C=i.injectEndpoints({endpoints:t=>({getLastTrades:t.query({queryFn:async({symbol:e})=>{let r=a();return await s(()=>r.getLastTrades(e))},providesTags:(e,r,{symbol:n})=>[{type:"markets_last_trades",id:n}]})})});var _=i.injectEndpoints({endpoints:t=>({getDepth:t.query({queryFn:async({symbol:e,depth:r})=>{let n=a();return await s(()=>n.getDepth(e,r))},providesTags:(e,r,{symbol:n,depth:o})=>[{type:"markets_depth",id:`${n}-${o}`}]})})});var f=i.injectEndpoints({endpoints:t=>({getPairList:t.query({queryFn:async({companyId:e})=>{let r=a();return await s(()=>r.getPairList(e))},providesTags:(e,r,{companyId:n})=>T("markets_pair_list",n)})})});var R=i.injectEndpoints({endpoints:t=>({getHistory:t.query({queryFn:async({symbol:e,interval:r,startTime:n,endTime:o,limit:d,page:l})=>{let u=a();return await s(()=>u.getHistory(e,r,n,o,d,l))},providesTags:(e,r,{symbol:n,interval:o,startTime:d,endTime:l,limit:u,page:x})=>[{type:"markets_history",id:c([n,o,d,l,u,x])}]})})});var E={...y,...k,...A,...C,..._,...f,...R};import Pe from"bignumber.js";import Ue from"bignumber.js";var b=i.injectEndpoints({endpoints:t=>({getAllWithdrawalWallets:t.query({queryFn:async()=>{let e=a();return await s(()=>e.getAllWithdrawalWallets())},providesTags:["withdrawal_wallets"]}),getWalletByAddress:t.query({queryFn:async({address:e})=>{let r=a();return await s(()=>r.getWithdrawalWalletByAddress(e))},providesTags:(e,r,{address:n})=>[{type:"withdrawal_wallets",id:n}]}),createWithdrawalWallet:t.mutation({queryFn:async({body:e})=>{let r=a();return await s(()=>r.createWithdrawalWallet(e))},invalidatesTags:["withdrawal_wallets"]}),updateWithdrawalWallet:t.mutation({queryFn:async({params:e})=>{let r=a();return await s(()=>r.updateWithdrawalWallet(e))},invalidatesTags:["withdrawal_wallets"]}),deleteWithdrawalWallet:t.mutation({queryFn:async({address:e})=>{let r=a();return await s(()=>r.deleteWithdrawalWallet(e))},invalidatesTags:(e,r,{address:n})=>[{type:"withdrawal_wallets",id:n},"withdrawal_wallets"]})})});var W=i.injectEndpoints({endpoints:t=>({getWalletTransactions:t.query({queryFn:async({type:e,page:r,limit:n})=>{let o=a();return await s(()=>o.getWalletTransactions(e,r,n))},providesTags:(e,r,{type:n,page:o,limit:d})=>[{type:"wallet_transactions",id:c([n,o,d])}]}),getTransfers:t.query({queryFn:async({page:e,limit:r})=>{let n=a();return await s(()=>n.getTransfers(e,r))},providesTags:(e,r,{page:n,limit:o})=>[{type:"wallet_transfers",id:c([n,o])}]}),getPendingTransactions:t.query({queryFn:async()=>{let e=a();return await s(()=>e.getPendingTransactions())},providesTags:["wallet_pending_transactions"]}),getWhitelist:t.query({queryFn:async()=>{let e=a();return await s(()=>e.getWhitelist())},providesTags:["wallet_whitelist"]}),addWhitelist:t.mutation({queryFn:async({data:e})=>{let r=a();return await s(()=>r.addWhitelist(e))},invalidatesTags:["wallet_whitelist"]}),deleteWhitelist:t.mutation({queryFn:async({whitelistId:e})=>{let r=a();return await s(()=>r.deleteWhitelist(e))},invalidatesTags:["wallet_whitelist"]}),getTradingKeys:t.query({queryFn:async()=>{let e=a();return await s(()=>e.getTradingKeys())},providesTags:["wallet_trading_keys"]}),addTradingKey:t.mutation({queryFn:async({data:e})=>{let r=a();return await s(()=>r.addTradingKey(e))},invalidatesTags:["wallet_trading_keys"]}),revokeTradingKey:t.mutation({queryFn:async({data:e})=>{let r=a();return await s(()=>r.revokeTradingKey(e))},invalidatesTags:["wallet_trading_keys"]})})});import{useMemo as K}from"react";import L from"bignumber.js";function P(t,e){return String(t).toUpperCase()===String(e).toUpperCase()}function F(t,e,r,n){return P(t,e)&&r===n}function q(t){return{loginAddress:t.loginAddress,loginChainId:t.loginChainId,tokenId:t.tokenAddress,tokenChainId:t.tokenChainId,availableAmount:L(t.amount).minus(t.lockedAmount).toString(),lockedAmount:t.lockedAmount}}function ft(t,e){return K(()=>{let r={base_available_balance:"0",price_available_balance:"0",base_locked_balance:"0",price_locked_balance:"0"};if(!e||!t||!Array.isArray(t))return r;let n=t.map(l=>q(l)),o=n.find(l=>F(l.tokenId,e.base_id,l.tokenChainId,e.base_chain_id)),d=n.find(l=>F(l.tokenId,e.price_id,l.tokenChainId,e.price_chain_id));return{base_available_balance:o?o.availableAmount:r.base_available_balance,base_locked_balance:o?o.lockedAmount:r.base_locked_balance,price_available_balance:d?d.availableAmount:r.price_available_balance,price_locked_balance:d?d.lockedAmount:r.price_locked_balance}},[t,e])}var p=class extends G{constructor(e,r){super(e,r),w(this)}withdrawalWallets(){return b}markets(){return E}walletApi(){return W}};var St=[i.middleware];var Dt={[i.reducerPath]:i.reducer};var Pt=p;export{St as SDKMiddlewares,Dt as SDKReducers,i as baseApi,Pt as default,ft as useDepositBalance};
1
+ import{Client as je}from"@ultrade/ultrade-js-sdk";function it(t){return"data"in t}var F=class{constructor(e){this.error={status:e.response?.status,data:e.response?.data||e.message}}};var H=null,at=t=>{H=t},f=()=>{if(!H)throw new Error("SDK Client not initialized");return H};async function h(t){try{return{data:await t()}}catch(e){return new F(e)}}var v=t=>t.filter(e=>e||e===0).join("-"),ot=(t,e)=>[e||e===0?{type:t,id:e}:{type:t}];import{createApi as Yt}from"@reduxjs/toolkit/query/react";var Wt=["markets_balances","markets_last_trades","markets_symbols","markets_depth","markets_orders","markets_settings","markets_pair_list","markets_history"],Mt=["wallet_transactions","wallet_trading_keys","wallet_transfers","wallet_pending_transactions","wallet_whitelist"],Kt=["withdrawal_wallets"],V=[...Wt,...Mt,...Kt];if(!process.env?.REACT_APP_API_URL)throw new Error("REACT_APP_API_URL is not set");var st="sdk-rtk",sr=process.env.REACT_APP_API_URL;var Gt=Yt({reducerPath:st,baseQuery:()=>({data:null}),tagTypes:V,endpoints:()=>({})}),g=Gt;var j=g.injectEndpoints({endpoints:t=>({getSettings:t.query({queryFn:async()=>{let e=f();return await h(()=>e.getSettings())},providesTags:["markets_settings"]})})});var ut=g.injectEndpoints({endpoints:t=>({getOrders:t.query({queryFn:async({symbol:e,status:r,startTime:n,endTime:i,limit:a})=>{let o=f();return await h(()=>o.getOrders(e,r,a,i,n))},providesTags:(e,r,{symbol:n,status:i,startTime:a,endTime:o,limit:u})=>[{type:"markets_orders",id:v([n,i,a,o,u])}]}),createSpotOrder:t.mutation({queryFn:async e=>{let r=f();return await h(()=>r.createSpotOrder(e))},invalidatesTags:[{type:"markets_orders"}]}),cancelOrder:t.mutation({queryFn:async e=>{let r=f();return await h(()=>r.cancelOrder(e))},invalidatesTags:[{type:"markets_orders"}]}),getOrderById:t.query({queryFn:async({orderId:e})=>{let r=f();return await h(()=>r.getOrderById(e))},providesTags:(e,r,{orderId:n})=>[{type:"markets_orders",id:n}]}),cancelMultipleOrders:t.mutation({queryFn:async e=>{let r=f();return await h(()=>r.cancelMultipleOrders(e))},invalidatesTags:[{type:"markets_orders"}]})})});var X=g.injectEndpoints({endpoints:t=>({getBalances:t.query({queryFn:async()=>{let e=f();return await h(()=>e.getBalances())},providesTags:["markets_balances"]})})});var lt=g.injectEndpoints({endpoints:t=>({getLastTrades:t.query({queryFn:async({symbol:e})=>{let r=f();return await h(()=>r.getLastTrades(e))},providesTags:(e,r,{symbol:n})=>[{type:"markets_last_trades",id:n}]})})});import{STREAMS as He}from"@ultrade/ultrade-js-sdk";function ht(){throw new Error("setTimeout has not been defined")}function gt(){throw new Error("clearTimeout has not been defined")}var S=ht,b=gt;typeof globalThis.setTimeout=="function"&&(S=setTimeout);typeof globalThis.clearTimeout=="function"&&(b=clearTimeout);function mt(t){if(S===setTimeout)return setTimeout(t,0);if((S===ht||!S)&&setTimeout)return S=setTimeout,setTimeout(t,0);try{return S(t,0)}catch{try{return S.call(null,t,0)}catch{return S.call(this,t,0)}}}function qt(t){if(b===clearTimeout)return clearTimeout(t);if((b===gt||!b)&&clearTimeout)return b=clearTimeout,clearTimeout(t);try{return b(t)}catch{try{return b.call(null,t)}catch{return b.call(this,t)}}}var w=[],L=!1,C,x=-1;function Qt(){!L||!C||(L=!1,C.length?w=C.concat(w):x=-1,w.length&&yt())}function yt(){if(!L){var t=mt(Qt);L=!0;for(var e=w.length;e;){for(C=w,w=[];++x<e;)C&&C[x].run();x=-1,e=w.length}C=null,L=!1,qt(t)}}function Ht(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];w.push(new At(t,e)),w.length===1&&!L&&mt(yt)}function At(t,e){this.fun=t,this.array=e}At.prototype.run=function(){this.fun.apply(null,this.array)};var Vt="browser",jt="browser",Xt=!0,zt={},$t=[],Jt="",Zt={},te={},ee={};function D(){}var re=D,ne=D,ie=D,ae=D,oe=D,se=D,ue=D;function le(t){throw new Error("process.binding is not supported")}function ce(){return"/"}function fe(t){throw new Error("process.chdir is not supported")}function pe(){return 0}var P=globalThis.performance||{},de=P.now||P.mozNow||P.msNow||P.oNow||P.webkitNow||function(){return new Date().getTime()};function he(t){var e=de.call(P)*.001,r=Math.floor(e),n=Math.floor(e%1*1e9);return t&&(r=r-t[0],n=n-t[1],n<0&&(r--,n+=1e9)),[r,n]}var ge=new Date;function me(){var t=new Date,e=t-ge;return e/1e3}var N={nextTick:Ht,title:Vt,browser:Xt,env:zt,argv:$t,version:Jt,versions:Zt,on:re,addListener:ne,once:ie,off:ae,removeListener:oe,removeAllListeners:se,emit:ue,binding:le,cwd:ce,chdir:fe,umask:pe,hrtime:he,platform:jt,release:te,config:ee,uptime:me},ct={};Object.keys(ct).forEach(t=>{let e=t.split("."),r=N;for(let n=0;n<e.length;n++){let i=e[n];n===e.length-1?r[i]=ct[t]:r=r[i]||(r[i]={})}});var I=[],E=[],ye=typeof Uint8Array<"u"?Uint8Array:Array,$=!1;function Et(){$=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0,r=t.length;e<r;++e)I[e]=t[e],E[t.charCodeAt(e)]=e;E[45]=62,E[95]=63}function Ae(t){$||Et();var e,r,n,i,a,o,u=t.length;if(u%4>0)throw new Error("Invalid string. Length must be a multiple of 4");a=t[u-2]==="="?2:t[u-1]==="="?1:0,o=new ye(u*3/4-a),n=a>0?u-4:u;var l=0;for(e=0,r=0;e<n;e+=4,r+=3)i=E[t.charCodeAt(e)]<<18|E[t.charCodeAt(e+1)]<<12|E[t.charCodeAt(e+2)]<<6|E[t.charCodeAt(e+3)],o[l++]=i>>16&255,o[l++]=i>>8&255,o[l++]=i&255;return a===2?(i=E[t.charCodeAt(e)]<<2|E[t.charCodeAt(e+1)]>>4,o[l++]=i&255):a===1&&(i=E[t.charCodeAt(e)]<<10|E[t.charCodeAt(e+1)]<<4|E[t.charCodeAt(e+2)]>>2,o[l++]=i>>8&255,o[l++]=i&255),o}function Ee(t){return I[t>>18&63]+I[t>>12&63]+I[t>>6&63]+I[t&63]}function _e(t,e,r){for(var n,i=[],a=e;a<r;a+=3)n=(t[a]<<16)+(t[a+1]<<8)+t[a+2],i.push(Ee(n));return i.join("")}function ft(t){$||Et();for(var e,r=t.length,n=r%3,i="",a=[],o=16383,u=0,l=r-n;u<l;u+=o)a.push(_e(t,u,u+o>l?l:u+o));return n===1?(e=t[r-1],i+=I[e>>2],i+=I[e<<4&63],i+="=="):n===2&&(e=(t[r-2]<<8)+t[r-1],i+=I[e>>10],i+=I[e>>4&63],i+=I[e<<2&63],i+="="),a.push(i),a.join("")}s.TYPED_ARRAY_SUPPORT=globalThis.TYPED_ARRAY_SUPPORT!==void 0?globalThis.TYPED_ARRAY_SUPPORT:!0;function W(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function R(t,e){if(W()<e)throw new RangeError("Invalid typed array length");return s.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=s.prototype):(t===null&&(t=new s(e)),t.length=e),t}function s(t,e,r){if(!s.TYPED_ARRAY_SUPPORT&&!(this instanceof s))return new s(t,e,r);if(typeof t=="number"){if(typeof e=="string")throw new Error("If encoding is specified then the first argument must be a string");return J(this,t)}return _t(this,t,e,r)}s.poolSize=8192;s._augment=function(t){return t.__proto__=s.prototype,t};function _t(t,e,r,n){if(typeof e=="number")throw new TypeError('"value" argument must not be a number');return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer?we(t,e,r,n):typeof e=="string"?Te(t,e,r):Re(t,e)}s.from=function(t,e,r){return _t(null,t,e,r)};s.kMaxLength=W();s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&s[Symbol.species]);function It(t){if(typeof t!="number")throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function Ie(t,e,r,n){return It(e),e<=0?R(t,e):r!==void 0?typeof n=="string"?R(t,e).fill(r,n):R(t,e).fill(r):R(t,e)}s.alloc=function(t,e,r){return Ie(null,t,e,r)};function J(t,e){if(It(e),t=R(t,e<0?0:Z(e)|0),!s.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}s.allocUnsafe=function(t){return J(null,t)};s.allocUnsafeSlow=function(t){return J(null,t)};function Te(t,e,r){if((typeof r!="string"||r==="")&&(r="utf8"),!s.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=Tt(e,r)|0;t=R(t,n);var i=t.write(e,r);return i!==n&&(t=t.slice(0,i)),t}function z(t,e){var r=e.length<0?0:Z(e.length)|0;t=R(t,r);for(var n=0;n<r;n+=1)t[n]=e[n]&255;return t}function we(t,e,r,n){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");return r===void 0&&n===void 0?e=new Uint8Array(e):n===void 0?e=new Uint8Array(e,r):e=new Uint8Array(e,r,n),s.TYPED_ARRAY_SUPPORT?(t=e,t.__proto__=s.prototype):t=z(t,e),t}function Re(t,e){if(T(e)){var r=Z(e.length)|0;return t=R(t,r),t.length===0||e.copy(t,0,0,r),t}if(e){if(typeof ArrayBuffer<"u"&&e.buffer instanceof ArrayBuffer||"length"in e)return typeof e.length!="number"||Ge(e.length)?R(t,0):z(t,e);if(e.type==="Buffer"&&Array.isArray(e.data))return z(t,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function Z(t){if(t>=W())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+W().toString(16)+" bytes");return t|0}s.isBuffer=qe;function T(t){return!!(t!=null&&t._isBuffer)}s.compare=function(t,e){if(!T(t)||!T(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0};s.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return s.alloc(0);var r;if(e===void 0)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=s.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(!T(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n};function Tt(t,e){if(T(t))return t.length;if(typeof ArrayBuffer<"u"&&typeof ArrayBuffer.isView=="function"&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;typeof t!="string"&&(t=""+t);var r=t.length;if(r===0)return 0;for(var n=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return M(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ot(t).length;default:if(n)return M(t).length;e=(""+e).toLowerCase(),n=!0}}s.byteLength=Tt;function Se(t,e,r){var n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return Ue(this,e,r);case"utf8":case"utf-8":return St(this,e,r);case"ascii":return Le(this,e,r);case"latin1":case"binary":return Ne(this,e,r);case"base64":return ke(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Be(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}s.prototype._isBuffer=!0;function O(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}s.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)O(this,e,e+1);return this};s.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)O(this,e,e+3),O(this,e+1,e+2);return this};s.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)O(this,e,e+7),O(this,e+1,e+6),O(this,e+2,e+5),O(this,e+3,e+4);return this};s.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?St(this,0,t):Se.apply(this,arguments)};s.prototype.equals=function(t){if(!T(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:s.compare(this,t)===0};s.prototype.compare=function(t,e,r,n,i){if(!T(t))throw new TypeError("Argument must be a Buffer");if(e===void 0&&(e=0),r===void 0&&(r=t?t.length:0),n===void 0&&(n=0),i===void 0&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var a=i-n,o=r-e,u=Math.min(a,o),l=this.slice(n,i),d=t.slice(e,r),c=0;c<u;++c)if(l[c]!==d[c]){a=l[c],o=d[c];break}return a<o?-1:o<a?1:0};function wt(t,e,r,n,i){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof e=="string"&&(e=s.from(e,n)),T(e))return e.length===0?-1:pt(t,e,r,n,i);if(typeof e=="number")return e=e&255,s.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):pt(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function pt(t,e,r,n,i){var a=1,o=t.length,u=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;a=2,o/=2,u/=2,r/=2}function l(A,k){return a===1?A[k]:A.readUInt16BE(k*a)}var d;if(i){var c=-1;for(d=r;d<o;d++)if(l(t,d)===l(e,c===-1?0:d-c)){if(c===-1&&(c=d),d-c+1===u)return c*a}else c!==-1&&(d-=d-c),c=-1}else for(r+u>o&&(r=o-u),d=r;d>=0;d--){for(var p=!0,_=0;_<u;_++)if(l(t,d+_)!==l(e,_)){p=!1;break}if(p)return d}return-1}s.prototype.includes=function(t,e,r){return this.indexOf(t,e,r)!==-1};s.prototype.indexOf=function(t,e,r){return wt(this,t,e,r,!0)};s.prototype.lastIndexOf=function(t,e,r){return wt(this,t,e,r,!1)};function be(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;var a=e.length;if(a%2!==0)throw new TypeError("Invalid hex string");n>a/2&&(n=a/2);for(var o=0;o<n;++o){var u=parseInt(e.substr(o*2,2),16);if(isNaN(u))return o;t[r+o]=u}return o}function ve(t,e,r,n){return G(M(e,t.length-r),t,r,n)}function Rt(t,e,r,n){return G(Ke(e),t,r,n)}function Ce(t,e,r,n){return Rt(t,e,r,n)}function Oe(t,e,r,n){return G(Ot(e),t,r,n)}function De(t,e,r,n){return G(Ye(e,t.length-r),t,r,n)}s.prototype.write=function(t,e,r,n){if(e===void 0)n="utf8",r=this.length,e=0;else if(r===void 0&&typeof e=="string")n=e,r=this.length,e=0;else if(isFinite(e))e=e|0,isFinite(r)?(r=r|0,n===void 0&&(n="utf8")):(n=r,r=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var i=this.length-e;if((r===void 0||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return be(this,t,e,r);case"utf8":case"utf-8":return ve(this,t,e,r);case"ascii":return Rt(this,t,e,r);case"latin1":case"binary":return Ce(this,t,e,r);case"base64":return Oe(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return De(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}};s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ke(t,e,r){return e===0&&r===t.length?ft(t):ft(t.slice(e,r))}function St(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a=t[i],o=null,u=a>239?4:a>223?3:a>191?2:1;if(i+u<=r){var l,d,c,p;switch(u){case 1:a<128&&(o=a);break;case 2:l=t[i+1],(l&192)===128&&(p=(a&31)<<6|l&63,p>127&&(o=p));break;case 3:l=t[i+1],d=t[i+2],(l&192)===128&&(d&192)===128&&(p=(a&15)<<12|(l&63)<<6|d&63,p>2047&&(p<55296||p>57343)&&(o=p));break;case 4:l=t[i+1],d=t[i+2],c=t[i+3],(l&192)===128&&(d&192)===128&&(c&192)===128&&(p=(a&15)<<18|(l&63)<<12|(d&63)<<6|c&63,p>65535&&p<1114112&&(o=p))}}o===null?(o=65533,u=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=u}return Pe(n)}var dt=4096;function Pe(t){var e=t.length;if(e<=dt)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=dt));return r}function Le(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]&127);return n}function Ne(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function Ue(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=e;a<r;++a)i+=Me(t[a]);return i}function Be(t,e,r){for(var n=t.slice(e,r),i="",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+n[a+1]*256);return i}s.prototype.slice=function(t,e){var r=this.length;t=~~t,e=e===void 0?r:~~e,t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),e<t&&(e=t);var n;if(s.TYPED_ARRAY_SUPPORT)n=this.subarray(t,e),n.__proto__=s.prototype;else{var i=e-t;n=new s(i,void 0);for(var a=0;a<i;++a)n[a]=this[a+t]}return n};function m(t,e,r){if(t%1!==0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}s.prototype.readUIntLE=function(t,e,r){t=t|0,e=e|0,r||m(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n};s.prototype.readUIntBE=function(t,e,r){t=t|0,e=e|0,r||m(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n};s.prototype.readUInt8=function(t,e){return e||m(t,1,this.length),this[t]};s.prototype.readUInt16LE=function(t,e){return e||m(t,2,this.length),this[t]|this[t+1]<<8};s.prototype.readUInt16BE=function(t,e){return e||m(t,2,this.length),this[t]<<8|this[t+1]};s.prototype.readUInt32LE=function(t,e){return e||m(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};s.prototype.readUInt32BE=function(t,e){return e||m(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};s.prototype.readIntLE=function(t,e,r){t=t|0,e=e|0,r||m(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return i*=128,n>=i&&(n-=Math.pow(2,8*e)),n};s.prototype.readIntBE=function(t,e,r){t=t|0,e=e|0,r||m(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return i*=128,a>=i&&(a-=Math.pow(2,8*e)),a};s.prototype.readInt8=function(t,e){return e||m(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};s.prototype.readInt16LE=function(t,e){e||m(t,2,this.length);var r=this[t]|this[t+1]<<8;return r&32768?r|4294901760:r};s.prototype.readInt16BE=function(t,e){e||m(t,2,this.length);var r=this[t+1]|this[t]<<8;return r&32768?r|4294901760:r};s.prototype.readInt32LE=function(t,e){return e||m(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};s.prototype.readInt32BE=function(t,e){return e||m(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};s.prototype.readFloatLE=function(t,e){return e||m(t,4,this.length),q(this,t,!0,23,4)};s.prototype.readFloatBE=function(t,e){return e||m(t,4,this.length),q(this,t,!1,23,4)};s.prototype.readDoubleLE=function(t,e){return e||m(t,8,this.length),q(this,t,!0,52,8)};s.prototype.readDoubleBE=function(t,e){return e||m(t,8,this.length),q(this,t,!1,52,8)};function y(t,e,r,n,i,a){if(!T(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}s.prototype.writeUIntLE=function(t,e,r,n){if(t=+t,e=e|0,r=r|0,!n){var i=Math.pow(2,8*r)-1;y(this,t,e,r,i,0)}var a=1,o=0;for(this[e]=t&255;++o<r&&(a*=256);)this[e+o]=t/a&255;return e+r};s.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e=e|0,r=r|0,!n){var i=Math.pow(2,8*r)-1;y(this,t,e,r,i,0)}var a=r-1,o=1;for(this[e+a]=t&255;--a>=0&&(o*=256);)this[e+a]=t/o&255;return e+r};s.prototype.writeUInt8=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,1,255,0),s.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=t&255,e+1};function K(t,e,r,n){e<0&&(e=65535+e+1);for(var i=0,a=Math.min(t.length-r,2);i<a;++i)t[r+i]=(e&255<<8*(n?i:1-i))>>>(n?i:1-i)*8}s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[e]=t&255,this[e+1]=t>>>8):K(this,t,e,!0),e+2};s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=t&255):K(this,t,e,!1),e+2};function Y(t,e,r,n){e<0&&(e=4294967295+e+1);for(var i=0,a=Math.min(t.length-r,4);i<a;++i)t[r+i]=e>>>(n?i:3-i)*8&255}s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=t&255):Y(this,t,e,!0),e+4};s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,4,4294967295,0),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255):Y(this,t,e,!1),e+4};s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e=e|0,!n){var i=Math.pow(2,8*r-1);y(this,t,e,r,i-1,-i)}var a=0,o=1,u=0;for(this[e]=t&255;++a<r&&(o*=256);)t<0&&u===0&&this[e+a-1]!==0&&(u=1),this[e+a]=(t/o>>0)-u&255;return e+r};s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e=e|0,!n){var i=Math.pow(2,8*r-1);y(this,t,e,r,i-1,-i)}var a=r-1,o=1,u=0;for(this[e+a]=t&255;--a>=0&&(o*=256);)t<0&&u===0&&this[e+a+1]!==0&&(u=1),this[e+a]=(t/o>>0)-u&255;return e+r};s.prototype.writeInt8=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,1,127,-128),s.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=t&255,e+1};s.prototype.writeInt16LE=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[e]=t&255,this[e+1]=t>>>8):K(this,t,e,!0),e+2};s.prototype.writeInt16BE=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=t&255):K(this,t,e,!1),e+2};s.prototype.writeInt32LE=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,4,2147483647,-2147483648),s.TYPED_ARRAY_SUPPORT?(this[e]=t&255,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):Y(this,t,e,!0),e+4};s.prototype.writeInt32BE=function(t,e,r){return t=+t,e=e|0,r||y(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255):Y(this,t,e,!1),e+4};function bt(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function vt(t,e,r,n,i){return i||bt(t,e,r,4,34028234663852886e22,-34028234663852886e22),kt(t,e,r,n,23,4),r+4}s.prototype.writeFloatLE=function(t,e,r){return vt(this,t,e,!0,r)};s.prototype.writeFloatBE=function(t,e,r){return vt(this,t,e,!1,r)};function Ct(t,e,r,n,i){return i||bt(t,e,r,8,17976931348623157e292,-17976931348623157e292),kt(t,e,r,n,52,8),r+8}s.prototype.writeDoubleLE=function(t,e,r){return Ct(this,t,e,!0,r)};s.prototype.writeDoubleBE=function(t,e,r){return Ct(this,t,e,!1,r)};s.prototype.copy=function(t,e,r,n){if(r||(r=0),!n&&n!==0&&(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r||t.length===0||this.length===0)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r,a;if(this===t&&r<e&&e<n)for(a=i-1;a>=0;--a)t[a+e]=this[a+r];else if(i<1e3||!s.TYPED_ARRAY_SUPPORT)for(a=0;a<i;++a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+i),e);return i};s.prototype.fill=function(t,e,r,n){if(typeof t=="string"){if(typeof e=="string"?(n=e,e=0,r=this.length):typeof r=="string"&&(n=r,r=this.length),t.length===1){var i=t.charCodeAt(0);i<256&&(t=i)}if(n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!s.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else typeof t=="number"&&(t=t&255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;e=e>>>0,r=r===void 0?this.length:r>>>0,t||(t=0);var a;if(typeof t=="number")for(a=e;a<r;++a)this[a]=t;else{var o=T(t)?t:M(new s(t,n).toString()),u=o.length;for(a=0;a<r-e;++a)this[a+e]=o[a%u]}return this};var Fe=/[^+\/0-9A-Za-z-_]/g;function xe(t){if(t=We(t).replace(Fe,""),t.length<2)return"";for(;t.length%4!==0;)t=t+"=";return t}function We(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function Me(t){return t<16?"0"+t.toString(16):t.toString(16)}function M(t,e){e=e||1/0;for(var r,n=t.length,i=null,a=[],o=0;o<n;++o){if(r=t.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function Ke(t){for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r)&255);return e}function Ye(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}function Ot(t){return Ae(xe(t))}function G(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function Ge(t){return t!==t}function qe(t){return t!=null&&(!!t._isBuffer||Dt(t)||Qe(t))}function Dt(t){return!!t.constructor&&typeof t.constructor.isBuffer=="function"&&t.constructor.isBuffer(t)}function Qe(t){return typeof t.readFloatLE=="function"&&typeof t.slice=="function"&&Dt(t.slice(0,0))}function q(t,e,r,n,i){var a,o,u=i*8-n-1,l=(1<<u)-1,d=l>>1,c=-7,p=r?i-1:0,_=r?-1:1,A=t[e+p];for(p+=_,a=A&(1<<-c)-1,A>>=-c,c+=u;c>0;a=a*256+t[e+p],p+=_,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+t[e+p],p+=_,c-=8);if(a===0)a=1-d;else{if(a===l)return o?NaN:(A?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-d}return(A?-1:1)*o*Math.pow(2,a-n)}function kt(t,e,r,n,i,a){var o,u,l,d=a*8-i-1,c=(1<<d)-1,p=c>>1,_=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=n?0:a-1,k=n?1:-1,xt=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(u=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+p>=1?e+=_/l:e+=_*Math.pow(2,1-p),e*l>=2&&(o++,l/=2),o+p>=c?(u=0,o=c):o+p>=1?(u=(e*l-1)*Math.pow(2,i),o=o+p):(u=e*Math.pow(2,p-1)*Math.pow(2,i),o=0));i>=8;t[r+A]=u&255,A+=k,u/=256,i-=8);for(o=o<<i|u,d+=i;d>0;t[r+A]=o&255,A+=k,o/=256,d-=8);t[r+A-k]|=xt*128}var Pt=18;var Or={SMALLESTUNIT:N.env.SMALLEST_UNIT},Dr={SMALLEST_UNITS:N.env.SMALLEST_UNIT};var kr=`{"theme1":{"value":"${N.env.FRONTEND_URL}/Theme%3DDark.svg","active":true},"theme2":{"value":"${N.env.FRONTEND_URL}/Theme%3DLight.svg","active":true},"theme3":{"value":"${N.env.FRONTEND_URL}/Theme%3DLight.svg","active":true}}`;var Lt=(t,e)=>t&&BigNumber(t).isGreaterThan(0)&&e>=0?BigNumber(t).shiftedBy(-Number(e)).decimalPlaces(Pt,1).toString():"0";var U=(t,e)=>t?.map(r=>[r[0],r[1],Lt(BigNumber(r[0]).multipliedBy(r[1]).toString(),e)]);var Ve={lastUpdateId:0,buyOrders:[],sellOrders:[]},Nt=g.injectEndpoints({endpoints:t=>({getDepth:t.query({queryFn:async({symbol:e,depth:r,baseDecimal:n})=>{let i=f(),a=await h(()=>i.getDepth(e,r));return it(a)?{data:{lastUpdateId:a.data.U,buyOrders:U(a.data.buy,n),sellOrders:U(a.data.sell,n)}}:a},providesTags:(e,r,{symbol:n,depth:i})=>[{type:"markets_depth",id:`${n}-${i}`}],async onCacheEntryAdded({symbol:e,baseDecimal:r},{updateCachedData:n,cacheDataLoaded:i,cacheEntryRemoved:a}){let o=null,u=f(),l=u.getSocketSubscribeOptions(e,[He.DEPTH]);try{await i,o=u.subscribe(l,(d,c)=>{n(p=>{if(!p)return Ve;if(p.lastUpdateId>=c.U)return p;p.lastUpdateId=c.U,p.buyOrders=U(c.buy,r),p.sellOrders=U(c.sell,r)})})}catch(d){console.error("Error loading cache data:",d)}await a,u.unsubscribe(o)}})})});var tt=g.injectEndpoints({endpoints:t=>({getPairList:t.query({queryFn:async({companyId:e})=>{let r=f();return await h(()=>r.getPairList(e))},providesTags:(e,r,{companyId:n})=>ot("markets_pair_list",n)})})});var Ut=g.injectEndpoints({endpoints:t=>({getHistory:t.query({queryFn:async({symbol:e,interval:r,startTime:n,endTime:i,limit:a,page:o})=>{let u=f();return await h(()=>u.getHistory(e,r,n,i,a,o))},providesTags:(e,r,{symbol:n,interval:i,startTime:a,endTime:o,limit:u,page:l})=>[{type:"markets_history",id:v([n,i,a,o,u,l])}]})})});var et={...j,...ut,...X,...lt,...Nt,...tt,...Ut};import pn from"bignumber.js";var rt=g.injectEndpoints({endpoints:t=>({getAllWithdrawalWallets:t.query({queryFn:async()=>{let e=f();return await h(()=>e.getAllWithdrawalWallets())},providesTags:["withdrawal_wallets"]}),getWalletByAddress:t.query({queryFn:async({address:e})=>{let r=f();return await h(()=>r.getWithdrawalWalletByAddress(e))},providesTags:(e,r,{address:n})=>[{type:"withdrawal_wallets",id:n}]}),createWithdrawalWallet:t.mutation({queryFn:async({body:e})=>{let r=f();return await h(()=>r.createWithdrawalWallet(e))},invalidatesTags:["withdrawal_wallets"]}),updateWithdrawalWallet:t.mutation({queryFn:async({params:e})=>{let r=f();return await h(()=>r.updateWithdrawalWallet(e))},invalidatesTags:["withdrawal_wallets"]}),deleteWithdrawalWallet:t.mutation({queryFn:async({address:e})=>{let r=f();return await h(()=>r.deleteWithdrawalWallet(e))},invalidatesTags:(e,r,{address:n})=>[{type:"withdrawal_wallets",id:n},"withdrawal_wallets"]})})});var nt=g.injectEndpoints({endpoints:t=>({getWalletTransactions:t.query({queryFn:async({type:e,page:r,limit:n})=>{let i=f();return await h(()=>i.getWalletTransactions(e,r,n))},providesTags:(e,r,{type:n,page:i,limit:a})=>[{type:"wallet_transactions",id:v([n,i,a])}]}),getTransfers:t.query({queryFn:async({page:e,limit:r})=>{let n=f();return await h(()=>n.getTransfers(e,r))},providesTags:(e,r,{page:n,limit:i})=>[{type:"wallet_transfers",id:v([n,i])}]}),getPendingTransactions:t.query({queryFn:async()=>{let e=f();return await h(()=>e.getPendingTransactions())},providesTags:["wallet_pending_transactions"]}),getWhitelist:t.query({queryFn:async()=>{let e=f();return await h(()=>e.getWhitelist())},providesTags:["wallet_whitelist"]}),addWhitelist:t.mutation({queryFn:async({data:e})=>{let r=f();return await h(()=>r.addWhitelist(e))},invalidatesTags:["wallet_whitelist"]}),deleteWhitelist:t.mutation({queryFn:async({whitelistId:e})=>{let r=f();return await h(()=>r.deleteWhitelist(e))},invalidatesTags:["wallet_whitelist"]}),getTradingKeys:t.query({queryFn:async()=>{let e=f();return await h(()=>e.getTradingKeys())},providesTags:["wallet_trading_keys"]}),addTradingKey:t.mutation({queryFn:async({data:e})=>{let r=f();return await h(()=>r.addTradingKey(e))},invalidatesTags:["wallet_trading_keys"]}),revokeTradingKey:t.mutation({queryFn:async({data:e})=>{let r=f();return await h(()=>r.revokeTradingKey(e))},invalidatesTags:["wallet_trading_keys"]})})});var B=class extends je{constructor(e,r){super(e,r),at(this)}withdrawalWallets(){return rt}markets(){return et}walletApi(){return nt}};var Bt=B;var ti=[g.middleware];var ni={[g.reducerPath]:g.reducer};import{useEffect as Xe}from"react";import{STREAMS as Q}from"@ultrade/ultrade-js-sdk";function ui({walletAddress:t,companyId:e,pairKey:r=""}){Xe(()=>{if(!t)return;let n=null;try{let i=f(),a=[Q.SETTINGS_UPDATE,Q.CODEX_BALANCES,Q.DEPTH,Q.ALL_STAT],o={symbol:r,streams:a,options:{address:t,companyId:e}};n=i.subscribe(o,(u,l)=>{console.log("WebSocket event:",u,l)})}catch(i){console.error("[RTK WebSocket] Subscription error:",i)}return()=>{if(n!==null)try{f().unsubscribe(n)}catch(i){console.error("[RTK WebSocket] Unsubscribe error:",i)}}},[])}import{useMemo as ze}from"react";import $e from"bignumber.js";function Je(t,e){return String(t).toUpperCase()===String(e).toUpperCase()}function Ft(t,e,r,n){return Je(t,e)&&r===n}function Ze(t){return{loginAddress:t.loginAddress,loginChainId:t.loginChainId,tokenId:t.tokenAddress,tokenChainId:t.tokenChainId,availableAmount:$e(t.amount).minus(t.lockedAmount).toString(),lockedAmount:t.lockedAmount}}function pi(t,e){return ze(()=>{let r={base_available_balance:"0",price_available_balance:"0",base_locked_balance:"0",price_locked_balance:"0"};if(!e||!t||!Array.isArray(t))return r;let n=t.map(o=>Ze(o)),i=n.find(o=>Ft(o.tokenId,e.base_id,o.tokenChainId,e.base_chain_id)),a=n.find(o=>Ft(o.tokenId,e.price_id,o.tokenChainId,e.price_chain_id));return{base_available_balance:i?i.availableAmount:r.base_available_balance,base_locked_balance:i?i.lockedAmount:r.base_locked_balance,price_available_balance:a?a.availableAmount:r.price_available_balance,price_locked_balance:a?a.lockedAmount:r.price_locked_balance}},[t,e])}var Ei=Bt;export{sr as API_HOST,st as RTK_REDUCER_PATH,ti as SDKMiddlewares,ni as SDKReducers,g as baseApi,V as composedTags,Ei as default,et as marketsApi,pi as useDepositBalance,ui as useSdkWebSocket,nt as walletApi,rt as withdrawalWalletsApi};
2
+ /*! Bundled license information:
3
+
4
+ @esbuild-plugins/node-globals-polyfill/Buffer.js:
5
+ (*!
6
+ * The buffer module from node.js, for the browser.
7
+ *
8
+ * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
9
+ * @license MIT
10
+ *)
11
+ */
@@ -0,0 +1 @@
1
+ export * from './market.interface';
@@ -0,0 +1,5 @@
1
+ export interface IGetDepthTransformedResult {
2
+ lastUpdateId: number;
3
+ buyOrders: string[][];
4
+ sellOrders: string[][];
5
+ }
@@ -4,3 +4,4 @@ export * from './sdkClient';
4
4
  export * from './helpers';
5
5
  export * from './createValidatedTag';
6
6
  export * from './websocketHandlers';
7
+ export * from './redux';
@@ -0,0 +1 @@
1
+ export declare const calculateOrder: (array: string[][], baseDecimal: number) => string[][];
@@ -0,0 +1 @@
1
+ export declare const amountValueFormate: (amount: string | BigNumber, decimal: number) => string;
@@ -0,0 +1 @@
1
+ export * from './formaters';
@@ -0,0 +1 @@
1
+ export declare const o = 9;
@@ -1,8 +1,12 @@
1
- export type IQueryFuncResult<T> = Promise<{
1
+ interface IData<T> {
2
2
  data: T;
3
- } | {
3
+ }
4
+ interface IError {
4
5
  error: {
5
6
  status: number;
6
7
  data: unknown;
7
8
  };
8
- }>;
9
+ }
10
+ export type IQueryFuncResult<T> = Promise<IData<T> | IError>;
11
+ export declare function dataGuard<T>(result: IData<T> | IError): result is IData<T>;
12
+ export {};
@@ -3,5 +3,3 @@ export type { CodexBalancesEvent, CodexBalanceDto } from './balanceHandlers';
3
3
  export { handleAllStat } from './pairHandlers';
4
4
  export { handleSettingsUpdate } from './settingsHandlers';
5
5
  export type { SettingsUpdateEvent } from './settingsHandlers';
6
- export { handleDepthUpdate } from './depthHandlers';
7
- export type { DepthUpdateEvent } from './depthHandlers';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ultrade/react-sdk",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "./dist/index.js",
@@ -1,30 +0,0 @@
1
- import { Dispatch } from 'redux';
2
- export interface DepthUpdateEvent {
3
- buy: string[][];
4
- sell: string[][];
5
- pair: string;
6
- ts: number;
7
- U: number;
8
- u: number;
9
- ask?: {
10
- price: string;
11
- qty: string;
12
- };
13
- bid?: {
14
- price: string;
15
- qty: string;
16
- };
17
- }
18
- export interface DepthData {
19
- buy: string[][];
20
- sell: string[][];
21
- pair: string;
22
- ts: number;
23
- U: number;
24
- u: number;
25
- lastUpdateId?: number;
26
- }
27
- export declare function handleDepthUpdate(dispatch: Dispatch, data: DepthUpdateEvent, selectedPair?: {
28
- pair_key: string;
29
- base_decimal: number;
30
- }): void;