@ultrade/react-sdk 1.0.4 → 1.0.5

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.
Files changed (40) hide show
  1. package/dist/api/index.d.ts +1 -1
  2. package/dist/api/markets/common.api.d.ts +2 -2
  3. package/dist/api/markets/depth.api.d.ts +2 -2
  4. package/dist/api/markets/index.d.ts +4 -4
  5. package/dist/api/markets/pairs.api.d.ts +3 -2
  6. package/dist/api/sdk.d.ts +1 -0
  7. package/dist/consts/index.d.ts +1 -0
  8. package/dist/consts/redux/index.d.ts +2 -0
  9. package/dist/consts/redux/market.d.ts +3 -0
  10. package/dist/consts/redux/settings.d.ts +2 -0
  11. package/dist/helpers/hasAllArgs.d.ts +1 -0
  12. package/dist/helpers/index.d.ts +2 -0
  13. package/dist/{utils/helpers.d.ts → helpers/rtkResult.d.ts} +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.js +2 -1
  16. package/dist/interface/index.d.ts +1 -0
  17. package/dist/interface/market.interface.d.ts +6 -0
  18. package/dist/interface/settings.interface.d.ts +3 -0
  19. package/dist/redux/handlers/depth.handler.d.ts +3 -0
  20. package/dist/redux/handlers/index.d.ts +3 -0
  21. package/dist/redux/handlers/pair.handler.d.ts +13 -0
  22. package/dist/redux/handlers/settings.handler.d.ts +2 -0
  23. package/dist/redux/helpers/formaters.d.ts +9 -0
  24. package/dist/redux/helpers/index.d.ts +4 -0
  25. package/dist/redux/helpers/pair.d.ts +3 -0
  26. package/dist/redux/helpers/settings.d.ts +2 -0
  27. package/dist/redux/index.d.ts +2 -0
  28. package/dist/utils/index.d.ts +0 -3
  29. package/package.json +1 -1
  30. package/dist/hooks/index.d.ts +0 -2
  31. package/dist/hooks/useDepositBalance.d.ts +0 -27
  32. package/dist/hooks/useSdkWebSocket.d.ts +0 -56
  33. package/dist/utils/redux/helpers/formaters.d.ts +0 -1
  34. package/dist/utils/redux/helpers/index.d.ts +0 -1
  35. package/dist/utils/redux/index.d.ts +0 -1
  36. package/dist/utils/websocketHandlers/balanceHandlers.d.ts +0 -32
  37. package/dist/utils/websocketHandlers/index.d.ts +0 -5
  38. package/dist/utils/websocketHandlers/pairHandlers.d.ts +0 -2
  39. package/dist/utils/websocketHandlers/settingsHandlers.d.ts +0 -16
  40. /package/dist/{utils/redux/dataProcessing → redux/helpers}/orders.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  import RTKSDKAdaptor from './sdk';
2
2
  import baseApi from './base.api';
3
3
  export { withdrawalWalletsApi } from './withdrawalWallets.api';
4
- export { marketsApi } from './markets';
4
+ export * from './markets';
5
5
  export { walletApi } from './wallet.api';
6
6
  export { baseApi };
7
7
  export default RTKSDKAdaptor;
@@ -1,8 +1,8 @@
1
- import { SettingsInit } from "@ultrade/ultrade-js-sdk";
1
+ import { ISettingsState } from '@ultrade/ultrade-js-sdk';
2
2
  export declare const marketsCommonApi: import("@reduxjs/toolkit/query").Api<() => {
3
3
  data: any;
4
4
  }, {
5
5
  getSettings: import("@reduxjs/toolkit/query").QueryDefinition<void, () => {
6
6
  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", SettingsInit, "sdk-rtk">;
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", ISettingsState, "sdk-rtk">;
8
8
  }, "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>;
@@ -1,5 +1,5 @@
1
- import { IGetDepthArgs } from "@ultrade/ultrade-js-sdk";
2
- import { IGetDepthTransformedResult } from "../../interface/index.ts";
1
+ import { IGetDepthArgs } from '@ultrade/ultrade-js-sdk';
2
+ import { IGetDepthTransformedResult } from '../../interface/index.ts';
3
3
  export declare const marketsDepthApi: import("@reduxjs/toolkit/query").Api<() => {
4
4
  data: any;
5
5
  }, {
@@ -151,10 +151,10 @@ export declare const marketsApi: {
151
151
  }, "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" | NewTagTypes, NewDefinitions>, "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" | NewTagTypes, typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react").reactHooksModuleName>;
152
152
  readonly useGetPairListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@ultrade/ultrade-js-sdk").IGetPairListArgs, () => {
153
153
  data: any;
154
- }, "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">>;
154
+ }, "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("../..").IGetPairListTransformedResult, "sdk-rtk">>;
155
155
  readonly useLazyGetPairListQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<import("@ultrade/ultrade-js-sdk").IGetPairListArgs, () => {
156
156
  data: any;
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">>;
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("../..").IGetPairListTransformedResult, "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
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">>;
@@ -196,9 +196,9 @@ export declare const marketsApi: {
196
196
  }, "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").ICancelMultipleOrdersResponse, "sdk-rtk">>;
197
197
  readonly useGetSettingsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, () => {
198
198
  data: any;
199
- }, "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").SettingsInit, "sdk-rtk">>;
199
+ }, "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").ISettingsState, "sdk-rtk">>;
200
200
  readonly useLazyGetSettingsQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/query").QueryDefinition<void, () => {
201
201
  data: any;
202
- }, "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").SettingsInit, "sdk-rtk">>;
202
+ }, "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").ISettingsState, "sdk-rtk">>;
203
203
  };
204
204
  export { marketsCommonApi, marketsOrdersApi, marketsBalancesApi, marketsTradesApi, marketsDepthApi, marketsPairsApi, marketsHistoryApi, };
@@ -1,8 +1,9 @@
1
- import { IGetPairListArgs, IPairDto } from "@ultrade/ultrade-js-sdk";
1
+ import { IGetPairListArgs } from '@ultrade/ultrade-js-sdk';
2
+ import { IGetPairListTransformedResult } from '../../interface/index.ts';
2
3
  export declare const marketsPairsApi: import("@reduxjs/toolkit/query").Api<() => {
3
4
  data: any;
4
5
  }, {
5
6
  getPairList: import("@reduxjs/toolkit/query").QueryDefinition<IGetPairListArgs, () => {
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", IPairDto[], "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", IGetPairListTransformedResult, "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>;
package/dist/api/sdk.d.ts CHANGED
@@ -4,6 +4,7 @@ import { withdrawalWalletsApi } from './withdrawalWallets.api';
4
4
  import { marketsApi } from './markets';
5
5
  import { walletApi } from './wallet.api';
6
6
  export default class RtkSdkAdaptor extends Client {
7
+ pairKey: string;
7
8
  constructor(options: ClientOptions, authCredentials?: AuthCredentials);
8
9
  withdrawalWallets(): typeof withdrawalWalletsApi;
9
10
  markets(): typeof marketsApi;
@@ -1,3 +1,4 @@
1
1
  export declare const RTK_REDUCER_PATH = "sdk-rtk";
2
2
  export declare const API_HOST: string;
3
+ export * from './redux';
3
4
  export { composedTags } from './rtkTags';
@@ -0,0 +1,2 @@
1
+ export * from "./market";
2
+ export * from "./settings";
@@ -0,0 +1,3 @@
1
+ import { IGetDepthTransformedResult, IGetPairListTransformedResult } from "../../interface/index.ts";
2
+ export declare const initialDepthState: IGetDepthTransformedResult;
3
+ export declare const initialPairListState: IGetPairListTransformedResult;
@@ -0,0 +1,2 @@
1
+ import { ISettingsState } from "@ultrade/ultrade-js-sdk";
2
+ export declare const initialSettingsState: ISettingsState;
@@ -0,0 +1 @@
1
+ export declare const hasAllArgs: (args: unknown[]) => boolean;
@@ -0,0 +1,2 @@
1
+ export { hasAllArgs } from "./hasAllArgs";
2
+ export { withErrorHandling } from "./rtkResult";
@@ -1,4 +1,4 @@
1
- import { IQueryFuncResult } from './types';
1
+ import { IQueryFuncResult } from '../utils/index.ts';
2
2
  /**
3
3
  * Wrapper function that handles try-catch and error DTO conversion
4
4
  * @param fn - Async function to execute (it is function wrapper around the API call)
package/dist/index.d.ts CHANGED
@@ -3,6 +3,6 @@ export default RTKSDKAdaptor;
3
3
  export * from "./api/index.ts";
4
4
  export * from './connection/middlewares';
5
5
  export * from './connection/reducers';
6
- export * from "./hooks/index.ts";
7
6
  export * from "./consts/index.ts";
8
7
  export * from "./interface/index.ts";
8
+ export * from './helpers/index.ts';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
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};
1
+ import{Client as Rr}from"@ultrade/ultrade-js-sdk";function N(t){return"data"in t}var q=class{constructor(e){this.error={status:e.response?.status,data:e.response?.data||e.message}}};var tt=null,gt=t=>{tt=t},f=()=>{if(!tt)throw new Error("SDK Client not initialized");return tt};var C=t=>t.filter(e=>e||e===0).join("-"),mt=(t,e)=>[e||e===0?{type:t,id:e}:{type:t}];import{createApi as ge}from"@reduxjs/toolkit/query/react";var et={lastUpdateId:0,buyOrders:[],sellOrders:[]},Nr={listOfPairs:[],mftCached:!1};import{AffDashboardVisibilitySettingEnum as ce,POINTS_SETTING as de}from"@ultrade/ultrade-js-sdk";var Wr={isUltrade:!1,companyId:null,currentCountry:"",feeShare:0,ammFee:0,makerFee:0,minFee:0,takerFee:0,appTitle:"",domain:"",enabled:"1",kycTradeRequirementEnabled:!1,obdex:!0,pointSystem:de.OFF,affiliateDashboardThreshold:"",affiliateDefaultFeeShare:"",affiliateDashboardVisibility:ce.DISABLED,currentTheme:"theme1",geoblock:[],pinnedPairs:[],customMenuItems:[],target:"",newTab:!0,reportButtons:!0,theme1:{logo:"https://temp-assets-dev4.s3.amazonaws.com/public/Theme%3DDark.svg",name:"Dark",active:!0,value:{"main-background":"rgba(1, 1, 1, 1)","primary-text":"rgba(255, 255, 255, 1)","module-background":"rgba(19, 23, 34, 1)","buy-text":"rgba(82, 164, 154, 1)","buy-background":"rgba(2, 199, 122, 0.25)","sell-text":"rgba(221, 94, 86, 1)","sell-background":"rgba(255, 59, 105, 0.25)","secondary-text":"rgba(127, 127, 127, 1)","active-element-default":"rgba(230, 136, 150, 1)","hover-element-default":"rgba(185, 163, 238, 1)","button-disabled":"rgba(111, 113, 118, 1)","input-background-default":"rgba(13, 15, 21, 1)","input-background-hover":"rgba(28, 33, 45, 1)","input-background-disabled":"rgba(25, 29, 41, 1)","input-border-default":"rgba(28, 33, 45, 1)","module-border":"rgba(28, 33, 45, 1)","button-border":"rgba(255, 255, 255, 1)","input-border-active":"rgba(185, 163, 238, 1)","primary-1":"rgba(118, 63, 229, 1)","primary-2":"rgba(249, 132, 146, 1)","pair-active-row":"rgba(28, 33, 45, 1)","dropdown-shadow":"rgb(154, 92, 253, 0.45)","button-text":"rgba(255, 255, 255, 1)"},chartValue:{bullish_candle_color:"rgba(2, 199, 122, 0.25)",bearish_candle_color:"rgba(221, 94, 86, 1)",bullish_wick_color:"rgba(2, 199, 122, 0.25)",bearish_wick_color:"rgba(221, 94, 86, 1)",bullish_outline_color:"rgba(2, 199, 122, 0.25)",bearish_outline_color:"rgba(221, 94, 86, 1)",line_color:"rgba(41, 98, 255, 1)",chart_background:"rgba(19, 23, 34, 1)",chart_text:"rgba(127, 127, 127, 1)"}},theme2:{logo:"https://temp-assets-dev4.s3.amazonaws.com/public/Theme%3DLight.svg",name:"Light",active:!0,value:{"main-background":"rgba(249, 248, 248, 1)","primary-text":"rgba(0, 0, 0, 1)","module-background":"rgba(255, 255, 255, 1)","buy-text":"rgba(0, 112, 98, 1)","buy-background":"rgba(0, 112, 98, 0.25)","sell-text":"rgba(195, 12, 1, 1)","sell-background":"rgba(255, 59, 105, 0.25)","secondary-text":"rgba(127, 127, 127, 1)","active-element-default":"rgba(113, 67, 220, 1)","hover-element-default":"rgba(0, 0, 0, 1)","button-disabled":"rgba(203, 199, 199, 1)","input-background-default":"rgba(255, 255, 255, 1)","input-background-hover":"rgba(249, 248, 248, 1)","input-background-disabled":"rgba(249, 248, 248, 1)","input-border-default":"rgba(228, 225, 225, 1)","module-border":"rgba(0, 0, 0, 0)","button-border":"rgba(170, 167, 167, 1)","input-border-active":"rgba(0, 0, 0, 1)","primary-1":"rgba(118, 63, 229, 1)","primary-2":"rgba(249, 132, 146, 1)","pair-active-row":"rgb(249, 248, 248)","dropdown-shadow":"rgb(154, 92, 253, 0.45)","button-text":"rgba(255, 255, 255, 1)"},chartValue:{bullish_candle_color:"rgba(0, 112, 98, 1)",bearish_candle_color:"rgba(195, 12, 1, 1)",bullish_wick_color:"rgba(0, 112, 98, 1)",bearish_wick_color:"rgba(195, 12, 1, 1)",bullish_outline_color:"rgba(0, 112, 98, 1)",bearish_outline_color:"rgba(195, 12, 1, 1)",line_color:"rgba(41, 98, 255, 1)",chart_background:"rgba(255, 255, 255, 1)",chart_text:"rgba(127, 127, 127, 1)"}},theme3:{logo:"https://temp-assets-dev4.s3.amazonaws.com/public/Theme%3DLight.svg",name:"Purple",active:!0,value:{"main-background":"rgba(254, 250, 255, 1)","primary-text":"rgba(0, 0, 0, 1)","module-background":"rgba(254, 250, 255, 1)","buy-text":"rgba(0, 112, 98, 1)","buy-background":"rgba(0, 112, 98, 0.25)","sell-text":"rgba(195, 12, 1, 1)","sell-background":"rgba(255, 59, 105, 0.25)","secondary-text":"rgba(127, 127, 127, 1)","active-element-default":"rgba(113, 67, 220, 1)","hover-element-default":"rgba(0, 0, 0, 1)","button-disabled":"rgba(203, 199, 199, 1)","input-background-default":"rgba(255, 255, 255, 1)","input-background-hover":"rgba(249, 248, 248, 1)","input-background-disabled":"rgba(254, 250, 255, 1)","input-border-default":"rgba(228, 225, 225, 1)","module-border":"rgba(0, 0, 0, 0)","button-border":"rgba(170, 167, 167, 1)","input-border-active":"rgba(0, 0, 0, 1)","primary-1":"rgba(118, 63, 229, 1)","primary-2":"rgba(249, 132, 146, 1)","pair-active-row":"rgb(249, 248, 248)","dropdown-shadow":"rgb(154, 92, 253, 0.45)","button-text":"rgba(255, 255, 255, 1)"},chartValue:{bullish_candle_color:"rgba(0, 112, 98, 1)",bearish_candle_color:"rgba(195, 12, 1, 1)",bullish_wick_color:"rgba(0, 112, 98, 1)",bearish_wick_color:"rgba(195, 12, 1, 1)",bullish_outline_color:"rgba(0, 112, 98, 1)",bearish_outline_color:"rgba(195, 12, 1, 1)",line_color:"rgba(41, 98, 255, 1)",chart_background:"rgba(254, 250, 255, 1)",chart_text:"rgba(127, 127, 127, 1)"}},chartInt:["1m","3m","5m","15m","30m","1h","2h","3h","1D","1W","1M"],chartType:"1"};var pe=["markets_balances","markets_last_trades","markets_symbols","markets_depth","markets_orders","markets_settings","markets_pair_list","markets_history"],fe=["wallet_transactions","wallet_trading_keys","wallet_transfers","wallet_pending_transactions","wallet_whitelist"],he=["withdrawal_wallets"],rt=[...pe,...fe,...he];if(!process.env?.REACT_APP_API_URL)throw new Error("REACT_APP_API_URL is not set");var yt="sdk-rtk",Qr=process.env.REACT_APP_API_URL;var me=ge({reducerPath:yt,baseQuery:()=>({data:null}),tagTypes:rt,endpoints:()=>({})}),y=me;var nt=t=>t.every(e=>!!e||e===0);async function h(t){try{return{data:await t()}}catch(e){return new q(e)}}var at=y.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"]})})});import{STREAMS as Er}from"@ultrade/ultrade-js-sdk";function Et(){throw new Error("setTimeout has not been defined")}function wt(){throw new Error("clearTimeout has not been defined")}var S=Et,v=wt;typeof globalThis.setTimeout=="function"&&(S=setTimeout);typeof globalThis.clearTimeout=="function"&&(v=clearTimeout);function _t(t){if(S===setTimeout)return setTimeout(t,0);if((S===Et||!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 ye(t){if(v===clearTimeout)return clearTimeout(t);if((v===wt||!v)&&clearTimeout)return v=clearTimeout,clearTimeout(t);try{return v(t)}catch{try{return v.call(null,t)}catch{return v.call(this,t)}}}var _=[],B=!1,k,H=-1;function be(){!B||!k||(B=!1,k.length?_=k.concat(_):H=-1,_.length&&Rt())}function Rt(){if(!B){var t=_t(be);B=!0;for(var e=_.length;e;){for(k=_,_=[];++H<e;)k&&k[H].run();H=-1,e=_.length}k=null,B=!1,ye(t)}}function Te(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];_.push(new St(t,e)),_.length===1&&!B&&_t(Rt)}function St(t,e){this.fun=t,this.array=e}St.prototype.run=function(){this.fun.apply(null,this.array)};var Ae="browser",Ie="browser",Ee=!0,we={},_e=[],Re="",Se={},ve={},Oe={};function F(){}var Pe=F,De=F,Ce=F,ke=F,Le=F,Fe=F,xe=F;function Ne(t){throw new Error("process.binding is not supported")}function Ue(){return"/"}function Be(t){throw new Error("process.chdir is not supported")}function Me(){return 0}var U=globalThis.performance||{},We=U.now||U.mozNow||U.msNow||U.oNow||U.webkitNow||function(){return new Date().getTime()};function Ge(t){var e=We.call(U)*.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 Ye=new Date;function Ke(){var t=new Date,e=t-Ye;return e/1e3}var M={nextTick:Te,title:Ae,browser:Ee,env:we,argv:_e,version:Re,versions:Se,on:Pe,addListener:De,once:Ce,off:ke,removeListener:Le,removeAllListeners:Fe,emit:xe,binding:Ne,cwd:Ue,chdir:Be,umask:Me,hrtime:Ge,platform:Ie,release:ve,config:Oe,uptime:Ke},bt={};Object.keys(bt).forEach(t=>{let e=t.split("."),r=M;for(let n=0;n<e.length;n++){let a=e[n];n===e.length-1?r[a]=bt[t]:r=r[a]||(r[a]={})}});var E=[],I=[],qe=typeof Uint8Array<"u"?Uint8Array:Array,ot=!1;function vt(){ot=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0,r=t.length;e<r;++e)E[e]=t[e],I[t.charCodeAt(e)]=e;I[45]=62,I[95]=63}function He(t){ot||vt();var e,r,n,a,i,o,u=t.length;if(u%4>0)throw new Error("Invalid string. Length must be a multiple of 4");i=t[u-2]==="="?2:t[u-1]==="="?1:0,o=new qe(u*3/4-i),n=i>0?u-4:u;var c=0;for(e=0,r=0;e<n;e+=4,r+=3)a=I[t.charCodeAt(e)]<<18|I[t.charCodeAt(e+1)]<<12|I[t.charCodeAt(e+2)]<<6|I[t.charCodeAt(e+3)],o[c++]=a>>16&255,o[c++]=a>>8&255,o[c++]=a&255;return i===2?(a=I[t.charCodeAt(e)]<<2|I[t.charCodeAt(e+1)]>>4,o[c++]=a&255):i===1&&(a=I[t.charCodeAt(e)]<<10|I[t.charCodeAt(e+1)]<<4|I[t.charCodeAt(e+2)]>>2,o[c++]=a>>8&255,o[c++]=a&255),o}function Qe(t){return E[t>>18&63]+E[t>>12&63]+E[t>>6&63]+E[t&63]}function Ve(t,e,r){for(var n,a=[],i=e;i<r;i+=3)n=(t[i]<<16)+(t[i+1]<<8)+t[i+2],a.push(Qe(n));return a.join("")}function Tt(t){ot||vt();for(var e,r=t.length,n=r%3,a="",i=[],o=16383,u=0,c=r-n;u<c;u+=o)i.push(Ve(t,u,u+o>c?c:u+o));return n===1?(e=t[r-1],a+=E[e>>2],a+=E[e<<4&63],a+="=="):n===2&&(e=(t[r-2]<<8)+t[r-1],a+=E[e>>10],a+=E[e>>4&63],a+=E[e<<2&63],a+="="),i.push(a),i.join("")}s.TYPED_ARRAY_SUPPORT=globalThis.TYPED_ARRAY_SUPPORT!==void 0?globalThis.TYPED_ARRAY_SUPPORT:!0;function Q(){return s.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function R(t,e){if(Q()<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 st(this,t)}return Ot(this,t,e,r)}s.poolSize=8192;s._augment=function(t){return t.__proto__=s.prototype,t};function Ot(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?Xe(t,e,r,n):typeof e=="string"?ze(t,e,r):Je(t,e)}s.from=function(t,e,r){return Ot(null,t,e,r)};s.kMaxLength=Q();s.TYPED_ARRAY_SUPPORT&&(s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,typeof Symbol<"u"&&Symbol.species&&s[Symbol.species]);function Pt(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 je(t,e,r,n){return Pt(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 je(null,t,e,r)};function st(t,e){if(Pt(e),t=R(t,e<0?0:ut(e)|0),!s.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}s.allocUnsafe=function(t){return st(null,t)};s.allocUnsafeSlow=function(t){return st(null,t)};function ze(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=Dt(e,r)|0;t=R(t,n);var a=t.write(e,r);return a!==n&&(t=t.slice(0,a)),t}function it(t,e){var r=e.length<0?0:ut(e.length)|0;t=R(t,r);for(var n=0;n<r;n+=1)t[n]=e[n]&255;return t}function Xe(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=it(t,e),t}function Je(t,e){if(w(e)){var r=ut(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"||mr(e.length)?R(t,0):it(t,e);if(e.type==="Buffer"&&Array.isArray(e.data))return it(t,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function ut(t){if(t>=Q())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Q().toString(16)+" bytes");return t|0}s.isBuffer=yr;function w(t){return!!(t!=null&&t._isBuffer)}s.compare=function(t,e){if(!w(t)||!w(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,n=e.length,a=0,i=Math.min(r,n);a<i;++a)if(t[a]!==e[a]){r=t[a],n=e[a];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),a=0;for(r=0;r<t.length;++r){var i=t[r];if(!w(i))throw new TypeError('"list" argument must be an Array of Buffers');i.copy(n,a),a+=i.length}return n};function Dt(t,e){if(w(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 V(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Ut(t).length;default:if(n)return V(t).length;e=(""+e).toLowerCase(),n=!0}}s.byteLength=Dt;function $e(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 ur(this,e,r);case"utf8":case"utf-8":return Lt(this,e,r);case"ascii":return or(this,e,r);case"latin1":case"binary":return sr(this,e,r);case"base64":return ar(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return lr(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}s.prototype._isBuffer=!0;function L(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)L(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)L(this,e,e+3),L(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)L(this,e,e+7),L(this,e+1,e+6),L(this,e+2,e+5),L(this,e+3,e+4);return this};s.prototype.toString=function(){var t=this.length|0;return t===0?"":arguments.length===0?Lt(this,0,t):$e.apply(this,arguments)};s.prototype.equals=function(t){if(!w(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,a){if(!w(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),a===void 0&&(a=this.length),e<0||r>t.length||n<0||a>this.length)throw new RangeError("out of range index");if(n>=a&&e>=r)return 0;if(n>=a)return-1;if(e>=r)return 1;if(e>>>=0,r>>>=0,n>>>=0,a>>>=0,this===t)return 0;for(var i=a-n,o=r-e,u=Math.min(i,o),c=this.slice(n,a),d=t.slice(e,r),l=0;l<u;++l)if(c[l]!==d[l]){i=c[l],o=d[l];break}return i<o?-1:o<i?1:0};function Ct(t,e,r,n,a){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=a?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(a)return-1;r=t.length-1}else if(r<0)if(a)r=0;else return-1;if(typeof e=="string"&&(e=s.from(e,n)),w(e))return e.length===0?-1:At(t,e,r,n,a);if(typeof e=="number")return e=e&255,s.TYPED_ARRAY_SUPPORT&&typeof Uint8Array.prototype.indexOf=="function"?a?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):At(t,[e],r,n,a);throw new TypeError("val must be string, number or Buffer")}function At(t,e,r,n,a){var i=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;i=2,o/=2,u/=2,r/=2}function c(m,A){return i===1?m[A]:m.readUInt16BE(A*i)}var d;if(a){var l=-1;for(d=r;d<o;d++)if(c(t,d)===c(e,l===-1?0:d-l)){if(l===-1&&(l=d),d-l+1===u)return l*i}else l!==-1&&(d-=d-l),l=-1}else for(r+u>o&&(r=o-u),d=r;d>=0;d--){for(var p=!0,g=0;g<u;g++)if(c(t,d+g)!==c(e,g)){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 Ct(this,t,e,r,!0)};s.prototype.lastIndexOf=function(t,e,r){return Ct(this,t,e,r,!1)};function Ze(t,e,r,n){r=Number(r)||0;var a=t.length-r;n?(n=Number(n),n>a&&(n=a)):n=a;var i=e.length;if(i%2!==0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/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 tr(t,e,r,n){return X(V(e,t.length-r),t,r,n)}function kt(t,e,r,n){return X(hr(e),t,r,n)}function er(t,e,r,n){return kt(t,e,r,n)}function rr(t,e,r,n){return X(Ut(e),t,r,n)}function nr(t,e,r,n){return X(gr(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 a=this.length-e;if((r===void 0||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return Ze(this,t,e,r);case"utf8":case"utf-8":return tr(this,t,e,r);case"ascii":return kt(this,t,e,r);case"latin1":case"binary":return er(this,t,e,r);case"base64":return rr(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return nr(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}};s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ar(t,e,r){return e===0&&r===t.length?Tt(t):Tt(t.slice(e,r))}function Lt(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a<r;){var i=t[a],o=null,u=i>239?4:i>223?3:i>191?2:1;if(a+u<=r){var c,d,l,p;switch(u){case 1:i<128&&(o=i);break;case 2:c=t[a+1],(c&192)===128&&(p=(i&31)<<6|c&63,p>127&&(o=p));break;case 3:c=t[a+1],d=t[a+2],(c&192)===128&&(d&192)===128&&(p=(i&15)<<12|(c&63)<<6|d&63,p>2047&&(p<55296||p>57343)&&(o=p));break;case 4:c=t[a+1],d=t[a+2],l=t[a+3],(c&192)===128&&(d&192)===128&&(l&192)===128&&(p=(i&15)<<18|(c&63)<<12|(d&63)<<6|l&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),a+=u}return ir(n)}var It=4096;function ir(t){var e=t.length;if(e<=It)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=It));return r}function or(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(t[a]&127);return n}function sr(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(t[a]);return n}function ur(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var a="",i=e;i<r;++i)a+=fr(t[i]);return a}function lr(t,e,r){for(var n=t.slice(e,r),a="",i=0;i<n.length;i+=2)a+=String.fromCharCode(n[i]+n[i+1]*256);return a}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 a=e-t;n=new s(a,void 0);for(var i=0;i<a;++i)n[i]=this[i+t]}return n};function b(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||b(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n};s.prototype.readUIntBE=function(t,e,r){t=t|0,e=e|0,r||b(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n};s.prototype.readUInt8=function(t,e){return e||b(t,1,this.length),this[t]};s.prototype.readUInt16LE=function(t,e){return e||b(t,2,this.length),this[t]|this[t+1]<<8};s.prototype.readUInt16BE=function(t,e){return e||b(t,2,this.length),this[t]<<8|this[t+1]};s.prototype.readUInt32LE=function(t,e){return e||b(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||b(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||b(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return a*=128,n>=a&&(n-=Math.pow(2,8*e)),n};s.prototype.readIntBE=function(t,e,r){t=t|0,e=e|0,r||b(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return a*=128,i>=a&&(i-=Math.pow(2,8*e)),i};s.prototype.readInt8=function(t,e){return e||b(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};s.prototype.readInt16LE=function(t,e){e||b(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||b(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||b(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||b(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||b(t,4,this.length),J(this,t,!0,23,4)};s.prototype.readFloatBE=function(t,e){return e||b(t,4,this.length),J(this,t,!1,23,4)};s.prototype.readDoubleLE=function(t,e){return e||b(t,8,this.length),J(this,t,!0,52,8)};s.prototype.readDoubleBE=function(t,e){return e||b(t,8,this.length),J(this,t,!1,52,8)};function T(t,e,r,n,a,i){if(!w(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>a||e<i)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 a=Math.pow(2,8*r)-1;T(this,t,e,r,a,0)}var i=1,o=0;for(this[e]=t&255;++o<r&&(i*=256);)this[e+o]=t/i&255;return e+r};s.prototype.writeUIntBE=function(t,e,r,n){if(t=+t,e=e|0,r=r|0,!n){var a=Math.pow(2,8*r)-1;T(this,t,e,r,a,0)}var i=r-1,o=1;for(this[e+i]=t&255;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+r};s.prototype.writeUInt8=function(t,e,r){return t=+t,e=e|0,r||T(this,t,e,1,255,0),s.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=t&255,e+1};function j(t,e,r,n){e<0&&(e=65535+e+1);for(var a=0,i=Math.min(t.length-r,2);a<i;++a)t[r+a]=(e&255<<8*(n?a:1-a))>>>(n?a:1-a)*8}s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e=e|0,r||T(this,t,e,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[e]=t&255,this[e+1]=t>>>8):j(this,t,e,!0),e+2};s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e=e|0,r||T(this,t,e,2,65535,0),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=t&255):j(this,t,e,!1),e+2};function z(t,e,r,n){e<0&&(e=4294967295+e+1);for(var a=0,i=Math.min(t.length-r,4);a<i;++a)t[r+a]=e>>>(n?a:3-a)*8&255}s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e=e|0,r||T(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):z(this,t,e,!0),e+4};s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e=e|0,r||T(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):z(this,t,e,!1),e+4};s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e=e|0,!n){var a=Math.pow(2,8*r-1);T(this,t,e,r,a-1,-a)}var i=0,o=1,u=0;for(this[e]=t&255;++i<r&&(o*=256);)t<0&&u===0&&this[e+i-1]!==0&&(u=1),this[e+i]=(t/o>>0)-u&255;return e+r};s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e=e|0,!n){var a=Math.pow(2,8*r-1);T(this,t,e,r,a-1,-a)}var i=r-1,o=1,u=0;for(this[e+i]=t&255;--i>=0&&(o*=256);)t<0&&u===0&&this[e+i+1]!==0&&(u=1),this[e+i]=(t/o>>0)-u&255;return e+r};s.prototype.writeInt8=function(t,e,r){return t=+t,e=e|0,r||T(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||T(this,t,e,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[e]=t&255,this[e+1]=t>>>8):j(this,t,e,!0),e+2};s.prototype.writeInt16BE=function(t,e,r){return t=+t,e=e|0,r||T(this,t,e,2,32767,-32768),s.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=t&255):j(this,t,e,!1),e+2};s.prototype.writeInt32LE=function(t,e,r){return t=+t,e=e|0,r||T(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):z(this,t,e,!0),e+4};s.prototype.writeInt32BE=function(t,e,r){return t=+t,e=e|0,r||T(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):z(this,t,e,!1),e+4};function Ft(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function xt(t,e,r,n,a){return a||Ft(t,e,r,4,34028234663852886e22,-34028234663852886e22),Mt(t,e,r,n,23,4),r+4}s.prototype.writeFloatLE=function(t,e,r){return xt(this,t,e,!0,r)};s.prototype.writeFloatBE=function(t,e,r){return xt(this,t,e,!1,r)};function Nt(t,e,r,n,a){return a||Ft(t,e,r,8,17976931348623157e292,-17976931348623157e292),Mt(t,e,r,n,52,8),r+8}s.prototype.writeDoubleLE=function(t,e,r){return Nt(this,t,e,!0,r)};s.prototype.writeDoubleBE=function(t,e,r){return Nt(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 a=n-r,i;if(this===t&&r<e&&e<n)for(i=a-1;i>=0;--i)t[i+e]=this[i+r];else if(a<1e3||!s.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)t[i+e]=this[i+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+a),e);return a};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 a=t.charCodeAt(0);a<256&&(t=a)}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 i;if(typeof t=="number")for(i=e;i<r;++i)this[i]=t;else{var o=w(t)?t:V(new s(t,n).toString()),u=o.length;for(i=0;i<r-e;++i)this[i+e]=o[i%u]}return this};var cr=/[^+\/0-9A-Za-z-_]/g;function dr(t){if(t=pr(t).replace(cr,""),t.length<2)return"";for(;t.length%4!==0;)t=t+"=";return t}function pr(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function fr(t){return t<16?"0"+t.toString(16):t.toString(16)}function V(t,e){e=e||1/0;for(var r,n=t.length,a=null,i=[],o=0;o<n;++o){if(r=t.charCodeAt(o),r>55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=(a-55296<<10|r-56320)+65536}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return i}function hr(t){for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r)&255);return e}function gr(t,e){for(var r,n,a,i=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,a=r%256,i.push(a),i.push(n);return i}function Ut(t){return He(dr(t))}function X(t,e,r,n){for(var a=0;a<n&&!(a+r>=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function mr(t){return t!==t}function yr(t){return t!=null&&(!!t._isBuffer||Bt(t)||br(t))}function Bt(t){return!!t.constructor&&typeof t.constructor.isBuffer=="function"&&t.constructor.isBuffer(t)}function br(t){return typeof t.readFloatLE=="function"&&typeof t.slice=="function"&&Bt(t.slice(0,0))}function J(t,e,r,n,a){var i,o,u=a*8-n-1,c=(1<<u)-1,d=c>>1,l=-7,p=r?a-1:0,g=r?-1:1,m=t[e+p];for(p+=g,i=m&(1<<-l)-1,m>>=-l,l+=u;l>0;i=i*256+t[e+p],p+=g,l-=8);for(o=i&(1<<-l)-1,i>>=-l,l+=n;l>0;o=o*256+t[e+p],p+=g,l-=8);if(i===0)i=1-d;else{if(i===c)return o?NaN:(m?-1:1)*(1/0);o=o+Math.pow(2,n),i=i-d}return(m?-1:1)*o*Math.pow(2,i-n)}function Mt(t,e,r,n,a,i){var o,u,c,d=i*8-a-1,l=(1<<d)-1,p=l>>1,g=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,m=n?0:i-1,A=n?1:-1,x=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=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+p>=1?e+=g/c:e+=g*Math.pow(2,1-p),e*c>=2&&(o++,c/=2),o+p>=l?(u=0,o=l):o+p>=1?(u=(e*c-1)*Math.pow(2,a),o=o+p):(u=e*Math.pow(2,p-1)*Math.pow(2,a),o=0));a>=8;t[r+m]=u&255,m+=A,u/=256,a-=8);for(o=o<<a|u,d+=a;d>0;t[r+m]=o&255,m+=A,o/=256,d-=8);t[r+m-A]|=x*128}var Wt=18;var Gt=1e3;var Yt=18;var dn={SMALLESTUNIT:M.env.SMALLEST_UNIT},pn={SMALLEST_UNITS:M.env.SMALLEST_UNIT};var fn=`{"theme1":{"value":"${M.env.FRONTEND_URL}/Theme%3DDark.svg","active":true},"theme2":{"value":"${M.env.FRONTEND_URL}/Theme%3DLight.svg","active":true},"theme3":{"value":"${M.env.FRONTEND_URL}/Theme%3DLight.svg","active":true}}`;var Kt=["obdex","kycTradeRequirementEnabled","newTab","reportButtons"],qt=["geoblock","pinnedPairs","customMenuItems","chartInt"];import $ from"bignumber.js";var lt=(t,e)=>t&&$(t).isGreaterThan(0)&&e>=0?$(t).shiftedBy(-Number(e)).decimalPlaces(Yt,1).toString():"0";function W(t,e){return String(t).toUpperCase()===String(e).toUpperCase()}var O=t=>JSON.parse(t??"[]"),P=(t,e=Wt)=>t?lt(t,e):"0",Ht=(t,e)=>t&&e>=0?$(t).decimalPlaces(Number(e),1).toString():"0",Qt=(t,e)=>t?t!=="false":e,Tr=t=>Number(t)>0?Number((Number(t)/Gt).toFixed(6)):0,G=(t,e)=>t?Tr($(t).plus(e).toString()):0;import{SettingIds as Vt}from"@ultrade/ultrade-js-sdk";var jt=t=>{let e=Object.entries(t).reduce((r,[n,a])=>{let i=n.split("."),o=i.length===2?i[1]:i[0];if(Kt.some(u=>u===o))r[o]=Qt(a);else if(qt.some(u=>u===o))r[o]=O(a);else if(o==="logo"||o==="themes"){if(r.theme1)return r;let u=null,c=null;if(o==="logo"){u=O(a);let l=t[Vt.THEMES];l&&(c=O(l))}else{c=O(a);let l=t[Vt.LOGO];l&&(u=O(l))}let d=Object.entries(c).reduce((l,[p,g])=>(l[p]={...g,logo:u[p].value},l),{});r={...r,...d}}else["makerFee","takerFee","minFee"].includes(o)?r[o]=Number(a):r[o]=a;return r},{});return{...e,makerFee:G(e.makerFee,e.minFee),takerFee:G(e.takerFee,e.minFee)}};import{PairSettingsIds as D}from"@ultrade/ultrade-js-sdk";var zt=(t,e)=>e?t.filter(r=>!r.restrictedCountries||!r.restrictedCountries.find(n=>W(n,e))):t,Xt=(t,e)=>{let r=t.pairSettings[D.MAKER_FEE]||null,n=t.pairSettings[D.TAKER_FEE]||null;return{...t,pairSettings:{mftTitle:t.pairSettings[D.MFT_TITLE]||"",baseCoinIconLink:t.pairSettings[D.VIEW_BASE_COIN_ICON_LINK]||"",audioLink:t.pairSettings[D.MFT_AUDIO_LINK]||"",baseCoinMarketLink:t.pairSettings[D.VIEW_BASE_COIN_MARKET_LINK]||"",priceCoinMarketLink:t.pairSettings[D.VIEW_PRICE_COIN_MARKET_LINK]||"",preSaleMode:t.pairSettings[D.MODE_PRE_SALE]||null,makerFee:r&&G(+r,e.minFee),takerFee:n&&G(+n,e.minFee)},current_price:P(t.current_price),h:P(t.h),l:P(t.l),l_p:t.l_p?P(t.l_p):"",price_24:P(t.price_24),total_24:P(t.total_24),volume_24:P(t.volume_24,t.base_decimal),change_24:t.change_24?Number(Ht(t.change_24,2)):0}};import Ar from"bignumber.js";var ct=(t,e)=>t?.map(r=>[r[0],r[1],lt(Ar(r[0]).multipliedBy(r[1]).toString(),e)]);import{PairSettingsIds as Jt,SettingIds as Ir}from"@ultrade/ultrade-js-sdk";var dt=({originalData:t,currentCountry:e,cachedSettings:r,prevList:n,selectedPairId:a,messageId:i})=>{let o=zt(t,e),u=O(r[Ir.PINNED_PAIRS]),c=a;!c&&u.length&&o.find(m=>W(m.id,u[0]))&&(c=u[0]);let d=new URLSearchParams(window.location.search).get("selectedMarket");if(d){let g=o.find(m=>W(m.pair_key,d));g&&(c=g.id)}let l=t.map(g=>{let m=Xt(g,{minFee:r.minFee}),A=n.find(x=>W(x.pair_key,g.pair_key));return A?{...A,...m}:m}),p=t.some(g=>g.pairSettings[Jt.MFT_AUDIO_LINK]||g.pairSettings[Jt.MFT_TITLE]);return{listOfPairs:l,mftCached:p,lastUpdateId:i}};var pt=(t,e)=>({lastUpdateId:t.U,buyOrders:ct(t.buy,e),sellOrders:ct(t.sell,e)});var ft=t=>({...jt(t),unprocessedSettings:t});var Y=y.injectEndpoints({endpoints:t=>({getSettings:t.query({queryFn:async()=>{let e=f(),r=await h(()=>e.getSettings());return N(r)?{data:ft(r.data)}:r},providesTags:["markets_settings"],async onCacheEntryAdded(e,{updateCachedData:r,cacheDataLoaded:n,cacheEntryRemoved:a}){let i=null,o=f(),u=o.getSocketSubscribeOptions([Er.SETTINGS_UPDATE]);try{await n,i=o.subscribe(u,(c,d)=>{if(!d&&!d.length)return;let{data:l}=d[0];if(!l)return;let p=ft(l);})}catch(c){console.error("Error loading cache data:",c)}await a,o.unsubscribe(i)}})})});var $t=y.injectEndpoints({endpoints:t=>({getOrders:t.query({queryFn:async({symbol:e,status:r,startTime:n,endTime:a,limit:i})=>{let o=f();return await h(()=>o.getOrders(e,r,i,a,n))},providesTags:(e,r,{symbol:n,status:a,startTime:i,endTime:o,limit:u})=>[{type:"markets_orders",id:C([n,a,i,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 Zt=y.injectEndpoints({endpoints:t=>({getBalances:t.query({queryFn:async()=>{let e=f();return await h(()=>e.getBalances())},providesTags:["markets_balances"]})})});var te=y.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 wr}from"@ultrade/ultrade-js-sdk";var ee=y.injectEndpoints({endpoints:t=>({getDepth:t.query({queryFn:async({symbol:e,depth:r,baseDecimal:n})=>{if(!nt([e,r,n]))return{data:et};let a=f(),i=await h(()=>a.getDepth(e,r));return N(i)?{data:pt(i.data,n)}:i},providesTags:(e,r,{symbol:n,depth:a})=>[{type:"markets_depth",id:`${n}-${a}`}],async onCacheEntryAdded({baseDecimal:e},{updateCachedData:r,cacheDataLoaded:n,cacheEntryRemoved:a}){let i=null,o=f(),u=o.getSocketSubscribeOptions([wr.DEPTH]);try{await n,i=o.subscribe(u,(c,d)=>{if(!d&&!d.length)return;let[l]=d;if(l.U===l.u)return;let p=pt(l,e);r(g=>{if(!g)return et;if(g.lastUpdateId>=l.U)return g;g.lastUpdateId=l.U,g.buyOrders=p.buyOrders,g.sellOrders=p.sellOrders})})}catch(c){console.error("Error loading cache data:",c)}await a,o.unsubscribe(i)}})})});import{STREAMS as _r}from"@ultrade/ultrade-js-sdk";var Z=y.injectEndpoints({endpoints:t=>({getPairList:t.query({queryFn:async({companyId:e,currentCountry:r,selectedPairId:n},{getState:a})=>{let i=a(),o=f(),u=await h(()=>o.getPairList(e));if(!N(u))return u;let c=u.data,d=Y.endpoints.getSettings.select(null)(i).data,l={companyId:e,currentCountry:r||void 0,selectedPairId:n||void 0},p=Z.endpoints.getPairList.select(l)(i).data;return{data:dt({originalData:c,currentCountry:r,cachedSettings:d,prevList:p?.listOfPairs??c,selectedPairId:n})}},providesTags:(e,r,{companyId:n})=>mt("markets_pair_list",n),async onCacheEntryAdded({companyId:e,currentCountry:r,selectedPairId:n},{updateCachedData:a,cacheDataLoaded:i,cacheEntryRemoved:o,getState:u}){let c=u(),d=null,l=f(),p=l.getSocketSubscribeOptions([_r.ALL_STAT]);try{await i,d=l.subscribe(p,(g,m)=>{if(!m&&!m.length)return;let A=m[0],x=m[1];if(!A)return;let ie=Y.endpoints.getSettings.select(null)(c).data,oe={companyId:e,currentCountry:r||void 0,selectedPairId:n||void 0},se=Z.endpoints.getPairList.select(oe)(c).data?.listOfPairs??A,ue=dt({originalData:A,currentCountry:r,cachedSettings:ie,prevList:se,selectedPairId:n,messageId:x});a(le=>{if(le?.lastUpdateId!==x)return ue})})}catch(g){console.error("Error loading cache data:",g)}await o,l.unsubscribe(d)}})})});var re=y.injectEndpoints({endpoints:t=>({getHistory:t.query({queryFn:async({symbol:e,interval:r,startTime:n,endTime:a,limit:i,page:o})=>{let u=f();return await h(()=>u.getHistory(e,r,n,a,i,o))},providesTags:(e,r,{symbol:n,interval:a,startTime:i,endTime:o,limit:u,page:c})=>[{type:"markets_history",id:C([n,a,i,o,u,c])}]})})});var ne={...Y,...$t,...Zt,...te,...ee,...Z,...re};var ht=y.injectEndpoints({endpoints:t=>({getWalletTransactions:t.query({queryFn:async({type:e,page:r,limit:n})=>{let a=f();return await h(()=>a.getWalletTransactions(e,r,n))},providesTags:(e,r,{type:n,page:a,limit:i})=>[{type:"wallet_transactions",id:C([n,a,i])}]}),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:a})=>[{type:"wallet_transfers",id:C([n,a])}]}),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 K=class extends Rr{constructor(e,r){super(e,r),gt(this)}withdrawalWallets(){return at}markets(){return ne}walletApi(){return ht}};var ae=K;var wi=[y.middleware];var Si={[y.reducerPath]:y.reducer};var Ci=ae;export{Qr as API_HOST,yt as RTK_REDUCER_PATH,wi as SDKMiddlewares,Si as SDKReducers,y as baseApi,rt as composedTags,Ci as default,nt as hasAllArgs,et as initialDepthState,Nr as initialPairListState,Wr as initialSettingsState,ne as marketsApi,Zt as marketsBalancesApi,Y as marketsCommonApi,ee as marketsDepthApi,re as marketsHistoryApi,$t as marketsOrdersApi,Z as marketsPairsApi,te as marketsTradesApi,ht as walletApi,h as withErrorHandling,at as withdrawalWalletsApi};
2
2
  /*! Bundled license information:
3
3
 
4
4
  @esbuild-plugins/node-globals-polyfill/Buffer.js:
@@ -9,3 +9,4 @@ import{Client as je}from"@ultrade/ultrade-js-sdk";function it(t){return"data"in
9
9
  * @license MIT
10
10
  *)
11
11
  */
12
+ //!!! STREAMS.SETTINGS_UPDATE is simular to ALL_STAT, so we don't need to update the cached data
@@ -1 +1,2 @@
1
1
  export * from './market.interface';
2
+ export * from './settings.interface';
@@ -1,5 +1,11 @@
1
+ import { IPair } from '../../../shared/dist/browser/interfaces';
1
2
  export interface IGetDepthTransformedResult {
2
3
  lastUpdateId: number;
3
4
  buyOrders: string[][];
4
5
  sellOrders: string[][];
5
6
  }
7
+ export interface IGetPairListTransformedResult {
8
+ listOfPairs: IPair[];
9
+ mftCached: boolean;
10
+ lastUpdateId?: string;
11
+ }
@@ -0,0 +1,3 @@
1
+ export interface IGetSettingsTransformedResult {
2
+ currentTheme: string;
3
+ }
@@ -0,0 +1,3 @@
1
+ import { IGetDepth } from "@ultrade/ultrade-js-sdk";
2
+ import { IGetDepthTransformedResult } from "../../interface/index.ts";
3
+ export declare const depthHandler: (depthData: IGetDepth, baseDecimal: number) => IGetDepthTransformedResult;
@@ -0,0 +1,3 @@
1
+ export * from "./pair.handler";
2
+ export * from "./depth.handler";
3
+ export * from "./settings.handler";
@@ -0,0 +1,13 @@
1
+ import { IPairDto } from "@ultrade/ultrade-js-sdk";
2
+ import { IPair } from "../../../../shared/dist/browser/interfaces";
3
+ import { IGetPairListTransformedResult } from "../../interface/index.ts";
4
+ interface BuildPairsDataArgs {
5
+ originalData: IPairDto[];
6
+ currentCountry?: string;
7
+ cachedSettings: any;
8
+ prevList: IPair[];
9
+ selectedPairId?: string | number;
10
+ messageId?: string;
11
+ }
12
+ export declare const pairHandler: ({ originalData, currentCountry, cachedSettings, prevList, selectedPairId, messageId }: BuildPairsDataArgs) => IGetPairListTransformedResult;
13
+ export {};
@@ -0,0 +1,2 @@
1
+ import { ISettingsState, SettingsInit } from "@ultrade/ultrade-js-sdk";
2
+ export declare const settingsHandler: (data: SettingsInit) => ISettingsState;
@@ -0,0 +1,9 @@
1
+ import BigNumber from 'bignumber.js';
2
+ export declare const amountValueFormate: (amount: string | BigNumber, decimal: number) => string;
3
+ export declare function equalsIgnoreCase(str1: string | number, str2: string | number): boolean;
4
+ export declare const convertJsonToArray: (setting: string | null) => any;
5
+ export declare const atomicToDecimal: (value: string, decimal?: number) => string;
6
+ export declare const roundTo: (amount: string | number, decimal: number) => string;
7
+ export declare const convertSettingToBoolean: (setting: string, byDefault?: boolean | null) => boolean;
8
+ export declare const convertFeeToPrecent: (value: string | number) => number;
9
+ export declare const adjustFee: (fee: number, minFee: number) => number;
@@ -0,0 +1,4 @@
1
+ export * from './formaters';
2
+ export * from './settings';
3
+ export * from './pair';
4
+ export * from './orders';
@@ -0,0 +1,3 @@
1
+ import { IPairDto, ISettingsState, IPair } from "@ultrade/ultrade-js-sdk";
2
+ export declare const notRestrictedPairs: (pairs: IPairDto[], currentCountry: string) => IPairDto[];
3
+ export declare const buildPair: (pairDto: IPairDto, settings: Pick<ISettingsState, "minFee">) => IPair;
@@ -0,0 +1,2 @@
1
+ import { ISettingsState, SettingsInit } from "@ultrade/ultrade-js-sdk";
2
+ export declare const buildSettings: (data: SettingsInit) => ISettingsState;
@@ -0,0 +1,2 @@
1
+ export * from './helpers';
2
+ export * from "./handlers";
@@ -1,7 +1,4 @@
1
1
  export * from './types';
2
2
  export * from './error.dto';
3
3
  export * from './sdkClient';
4
- export * from './helpers';
5
4
  export * from './createValidatedTag';
6
- export * from './websocketHandlers';
7
- export * from './redux';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ultrade/react-sdk",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "./dist/index.js",
@@ -1,2 +0,0 @@
1
- export * from './useSdkWebSocket';
2
- export * from './useDepositBalance';
@@ -1,27 +0,0 @@
1
- /**
2
- * Deposit balance structure for selected pair
3
- */
4
- export interface DepositBalance {
5
- base_available_balance: string;
6
- price_available_balance: string;
7
- base_locked_balance: string;
8
- price_locked_balance: string;
9
- }
10
- /**
11
- * Selected pair structure for balance calculation
12
- */
13
- export interface SelectedPairForBalance {
14
- base_id: string;
15
- base_chain_id: number;
16
- price_id: string;
17
- price_chain_id: number;
18
- }
19
- /**
20
- * Hook to transform balances array into deposit balance object for selected pair
21
- * Based on frontend logic from exchange.action.ts:221-229
22
- *
23
- * @param balances - Array of CodexBalanceDto from RTK Query
24
- * @param selectedPair - Selected trading pair
25
- * @returns DepositBalance object with available and locked balances for base and price assets
26
- */
27
- export declare function useDepositBalance(balances: unknown, selectedPair?: SelectedPairForBalance): DepositBalance;
@@ -1,56 +0,0 @@
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;
@@ -1 +0,0 @@
1
- export declare const amountValueFormate: (amount: string | BigNumber, decimal: number) => string;
@@ -1 +0,0 @@
1
- export * from './formaters';
@@ -1 +0,0 @@
1
- export declare const o = 9;
@@ -1,32 +0,0 @@
1
- import { Dispatch } from 'redux';
2
- /**
3
- * Codex balance DTO from API and WebSocket
4
- */
5
- export interface CodexBalanceDto {
6
- hash: string;
7
- loginAddress: string;
8
- loginChainId: number;
9
- tokenId: number;
10
- tokenAddress: string;
11
- tokenChainId: number;
12
- amount: string;
13
- lockedAmount: string;
14
- }
15
- /**
16
- * Codex balance event from WebSocket
17
- */
18
- export interface CodexBalancesEvent {
19
- data: CodexBalanceDto;
20
- }
21
- /**
22
- * Handle codex balances update via WebSocket
23
- * Frontend equivalent: dispatch(saveExchangeAssets(balance)) + dispatch(saveDepositBalance([balance]))
24
- *
25
- * Implements UPSERT logic from frontend code (your provided example):
26
- * - If balance exists: update amount and lockedAmount
27
- * - If balance NOT exists: insert (push) new balance
28
- *
29
- * This function updates the balance cache directly without additional HTTP request
30
- * When cache updates, components using useGetBalancesQuery + useDepositBalance will automatically re-render
31
- */
32
- export declare function handleCodexBalances(dispatch: Dispatch, balanceEvent: CodexBalancesEvent): void;
@@ -1,5 +0,0 @@
1
- export { handleCodexBalances } from './balanceHandlers';
2
- export type { CodexBalancesEvent, CodexBalanceDto } from './balanceHandlers';
3
- export { handleAllStat } from './pairHandlers';
4
- export { handleSettingsUpdate } from './settingsHandlers';
5
- export type { SettingsUpdateEvent } from './settingsHandlers';
@@ -1,2 +0,0 @@
1
- import { Dispatch } from 'redux';
2
- export declare function handleAllStat(dispatch: Dispatch, store: any, pairStats: any[], currentCountry: string | undefined, companyId: number): void;
@@ -1,16 +0,0 @@
1
- import { Dispatch } from 'redux';
2
- /**
3
- * Settings update event from WebSocket
4
- */
5
- export interface SettingsUpdateEvent {
6
- data: {
7
- [settingId: string]: any;
8
- companyId: number;
9
- isUltrade: boolean;
10
- };
11
- }
12
- /**
13
- * Handle settings update via WebSocket
14
- * Frontend equivalent: dispatch(saveSettings(settings))
15
- */
16
- export declare function handleSettingsUpdate(dispatch: Dispatch, settingsEvent: SettingsUpdateEvent): void;