@orderly.network/hooks 2.1.3 → 2.2.0
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.
- package/dist/index.d.mts +51 -8
- package/dist/index.d.ts +51 -8
- package/dist/index.js +57 -25
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +59 -27
- package/dist/index.mjs.map +1 -1
- package/package.json +10 -10
package/dist/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import useSWR, { mutate } from 'swr';
|
|
|
2
2
|
export { unstable_serialize, default as useSWR, useSWRConfig } from 'swr';
|
|
3
3
|
import { get, WS, mutate as mutate$1 } from '@orderly.network/net';
|
|
4
4
|
import React, { createContext, useContext, useCallback, useState, useEffect, useMemo, useRef, useId, useLayoutEffect } from 'react';
|
|
5
|
-
import { TesntTokenFallback, ArbitrumSepoliaTokenInfo, SolanaDevnetTokenInfo, OrderType, OrderSide, SDKError, TrackerEventName, AccountStatusEnum, AlgoOrderRootType, OrderStatus, ArbitrumSepoliaChainInfo, SolanaDevnetChainInfo, MONAD_TESTNET_CHAINID, nativeTokenAddress, ChainKey, chainsInfoMap,
|
|
5
|
+
import { TesntTokenFallback, ArbitrumSepoliaTokenInfo, SolanaDevnetTokenInfo, OrderType, OrderSide, SDKError, TrackerEventName, AccountStatusEnum, AlgoOrderRootType, OrderStatus, ArbitrumSepoliaChainInfo, SolanaDevnetChainInfo, ARBITRUM_TESTNET_CHAINID, SOLANA_TESTNET_CHAINID, MONAD_TESTNET_CHAINID, ABSTRACT_TESTNET_CHAINID, nativeTokenAddress, ChainKey, chainsInfoMap, ARBITRUM_MAINNET_CHAINID, isNativeTokenChecker, ChainNamespace, MaxUint256, DEPOSIT_FEE_RATE, LedgerWalletKey, SolanaChains, AlgoOrderType, TriggerPriceType } from '@orderly.network/types';
|
|
6
6
|
import useSWRMutation from 'swr/mutation';
|
|
7
7
|
import useConstant from 'use-constant';
|
|
8
8
|
export { default as useConstant } from 'use-constant';
|
|
@@ -12,7 +12,7 @@ import { debounce } from 'lodash';
|
|
|
12
12
|
import useSWRInfinite, { unstable_serialize } from 'swr/infinite';
|
|
13
13
|
import * as amplitude from '@amplitude/analytics-browser';
|
|
14
14
|
import { jsx } from 'react/jsx-runtime';
|
|
15
|
-
import { pathOr,
|
|
15
|
+
import { pathOr, omit, prop, pick, compose, head, mergeDeepRight, min, max, isNil, propOr, path, lensIndex, over } from 'ramda';
|
|
16
16
|
import { create } from 'zustand';
|
|
17
17
|
import { immer } from 'zustand/middleware/immer';
|
|
18
18
|
import { order, account, positions } from '@orderly.network/perp';
|
|
@@ -34,9 +34,9 @@ var __export = (target, all) => {
|
|
|
34
34
|
// src/version.ts
|
|
35
35
|
if (typeof window !== "undefined") {
|
|
36
36
|
window.__ORDERLY_VERSION__ = window.__ORDERLY_VERSION__ || {};
|
|
37
|
-
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.
|
|
37
|
+
window.__ORDERLY_VERSION__["@orderly.network/hooks"] = "2.2.0";
|
|
38
38
|
}
|
|
39
|
-
var version_default = "2.
|
|
39
|
+
var version_default = "2.2.0";
|
|
40
40
|
var fetcher = (url, init2 = {}, queryOptions) => get(url, init2, queryOptions?.formatter);
|
|
41
41
|
var OrderlyContext = createContext({
|
|
42
42
|
// configStore: new MemoryConfigStore(),
|
|
@@ -3117,30 +3117,59 @@ var useMarkPricesStream = () => {
|
|
|
3117
3117
|
const data = useMarkPriceStore((state) => state.markPrices);
|
|
3118
3118
|
return { data };
|
|
3119
3119
|
};
|
|
3120
|
+
var generateLeverageLevers = (max3) => {
|
|
3121
|
+
const min3 = 1;
|
|
3122
|
+
const parts = 5;
|
|
3123
|
+
const step = (max3 - min3) / (parts - 1);
|
|
3124
|
+
const result = [];
|
|
3125
|
+
for (let i = 0; i < parts; i++) {
|
|
3126
|
+
result.push(Math.floor(min3 + step * i));
|
|
3127
|
+
}
|
|
3128
|
+
return result;
|
|
3129
|
+
};
|
|
3120
3130
|
var useLeverage = () => {
|
|
3121
|
-
const { data, mutate: mutate3 } = usePrivateQuery(
|
|
3131
|
+
const { data, mutate: mutate3 } = usePrivateQuery(
|
|
3132
|
+
"/v1/client/info"
|
|
3133
|
+
);
|
|
3122
3134
|
const [update, { isMutating }] = useMutation("/v1/client/leverage");
|
|
3123
|
-
const { data:
|
|
3124
|
-
revalidateOnFocus: false
|
|
3135
|
+
const { data: leverageConfig, isLoading } = useQuery("/v1/public/leverage", {
|
|
3136
|
+
revalidateOnFocus: false,
|
|
3137
|
+
errorRetryCount: 3
|
|
3138
|
+
// formatter: (data) => data,
|
|
3125
3139
|
});
|
|
3126
|
-
const updateLeverage = useCallback(
|
|
3127
|
-
|
|
3140
|
+
const updateLeverage = useCallback(
|
|
3141
|
+
async (data2) => {
|
|
3142
|
+
const res = await update(data2);
|
|
3128
3143
|
if (res.success) {
|
|
3129
3144
|
return mutate3();
|
|
3130
3145
|
} else {
|
|
3131
3146
|
throw new Error(res.message);
|
|
3132
3147
|
}
|
|
3133
|
-
}
|
|
3134
|
-
|
|
3135
|
-
|
|
3136
|
-
|
|
3137
|
-
{
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
|
|
3142
|
-
|
|
3143
|
-
|
|
3148
|
+
},
|
|
3149
|
+
[update, mutate3]
|
|
3150
|
+
);
|
|
3151
|
+
const memoizedCurLeverage = useMemo(() => {
|
|
3152
|
+
if (data?.max_leverage !== void 0) {
|
|
3153
|
+
return Number(data.max_leverage);
|
|
3154
|
+
}
|
|
3155
|
+
return 1;
|
|
3156
|
+
}, [data?.max_leverage]);
|
|
3157
|
+
const memoizedMaxLeverage = useMemo(() => {
|
|
3158
|
+
if (leverageConfig?.max_futures_leverage !== void 0) {
|
|
3159
|
+
return Number(leverageConfig.max_futures_leverage);
|
|
3160
|
+
}
|
|
3161
|
+
return 1;
|
|
3162
|
+
}, [leverageConfig?.max_futures_leverage]);
|
|
3163
|
+
const memoizedLeverageLevers = useMemo(() => {
|
|
3164
|
+
return generateLeverageLevers(memoizedMaxLeverage);
|
|
3165
|
+
}, [memoizedMaxLeverage]);
|
|
3166
|
+
return {
|
|
3167
|
+
update: updateLeverage,
|
|
3168
|
+
isLoading: isLoading || isMutating,
|
|
3169
|
+
leverageLevers: memoizedLeverageLevers,
|
|
3170
|
+
curLeverage: memoizedCurLeverage,
|
|
3171
|
+
maxLeverage: memoizedMaxLeverage
|
|
3172
|
+
};
|
|
3144
3173
|
};
|
|
3145
3174
|
var useFundingRate = (symbol) => {
|
|
3146
3175
|
if (!symbol) {
|
|
@@ -3866,15 +3895,17 @@ var useMarginRatio = () => {
|
|
|
3866
3895
|
}, [rows, notional]);
|
|
3867
3896
|
return { marginRatio, currentLeverage, mmr };
|
|
3868
3897
|
};
|
|
3869
|
-
var TestNetWhiteList = [
|
|
3898
|
+
var TestNetWhiteList = [
|
|
3899
|
+
ARBITRUM_TESTNET_CHAINID,
|
|
3900
|
+
SOLANA_TESTNET_CHAINID,
|
|
3901
|
+
MONAD_TESTNET_CHAINID,
|
|
3902
|
+
ABSTRACT_TESTNET_CHAINID
|
|
3903
|
+
];
|
|
3870
3904
|
var testnetTokenFallback = TesntTokenFallback([
|
|
3871
3905
|
ArbitrumSepoliaTokenInfo,
|
|
3872
3906
|
SolanaDevnetTokenInfo
|
|
3873
3907
|
]);
|
|
3874
|
-
var testnetChainFallback = [
|
|
3875
|
-
ArbitrumSepoliaChainInfo,
|
|
3876
|
-
SolanaDevnetChainInfo
|
|
3877
|
-
];
|
|
3908
|
+
var testnetChainFallback = [ArbitrumSepoliaChainInfo, SolanaDevnetChainInfo];
|
|
3878
3909
|
function useChains(networkId, options = {}) {
|
|
3879
3910
|
const { pick: pickField, ...swrOptions } = options;
|
|
3880
3911
|
const {
|
|
@@ -4022,7 +4053,7 @@ function _checkChainSupport(chainId, chains) {
|
|
|
4022
4053
|
});
|
|
4023
4054
|
}
|
|
4024
4055
|
function fillChainsInfo(chains, filter, chainInfos) {
|
|
4025
|
-
|
|
4056
|
+
const _chains = [];
|
|
4026
4057
|
chains?.forEach((item) => {
|
|
4027
4058
|
item.chain_details.forEach((chain) => {
|
|
4028
4059
|
const chainId = Number(chain.chain_id);
|
|
@@ -4058,7 +4089,7 @@ function fillChainsInfo(chains, filter, chainInfos) {
|
|
|
4058
4089
|
function filterAndUpdateChains(chains, chainInfos, filter, isTestNet) {
|
|
4059
4090
|
const filterChains = [];
|
|
4060
4091
|
chains.forEach((chain) => {
|
|
4061
|
-
|
|
4092
|
+
const _chain = { ...chain };
|
|
4062
4093
|
const networkInfo = chainInfos?.find(
|
|
4063
4094
|
(item) => item.chain_id == chain.network_infos.chain_id
|
|
4064
4095
|
);
|
|
@@ -4446,6 +4477,7 @@ var useDeposit = (options) => {
|
|
|
4446
4477
|
}).then((res) => {
|
|
4447
4478
|
return updateAllowanceWhenTxSuccess(res.hash);
|
|
4448
4479
|
}).catch((e) => {
|
|
4480
|
+
throw e;
|
|
4449
4481
|
});
|
|
4450
4482
|
},
|
|
4451
4483
|
[account5, getAllowance, options?.address, dst]
|