diff --git a/package.json b/package.json index 927f4f80e..9d70589f7 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@oraichain/orai-token-inspector": "^0.1.24", "@oraichain/oraidex-common-ui": "1.0.11", "@oraichain/oraidex-contracts-sdk": "1.0.55", - "@oraichain/oraidex-universal-swap": "1.2.0-beta27", + "@oraichain/oraidex-universal-swap": "1.2.0-beta28", "@oraichain/oraiswap-v3": "1.2.0-beta26", "@oraichain/ton-bridge-contracts": "^0.15.8", "@oraichain/tonbridge-contracts-sdk": "^1.3.1", @@ -138,7 +138,7 @@ "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", "start": "vite", - "build": "NODE_OPTIONS='--max-old-space-size=12288' vite build", + "build": "NODE_OPTIONS='--max-old-space-size=15000' vite build", "serve": "vite serve", "ts-check": "tsc --noEmit", "postinstall": "patch-package", diff --git a/public/mascot.png b/public/mascot.png deleted file mode 100644 index 8686637bb..000000000 Binary files a/public/mascot.png and /dev/null differ diff --git a/public/oraiswap_v3_wasm_bg.wasm b/public/oraiswap_v3_wasm_bg.wasm deleted file mode 100644 index a32a572d5..000000000 Binary files a/public/oraiswap_v3_wasm_bg.wasm and /dev/null differ diff --git a/src/components/Modal.module.scss b/src/components/Modal.module.scss index 86aeff19e..c476138d8 100644 --- a/src/components/Modal.module.scss +++ b/src/components/Modal.module.scss @@ -12,7 +12,7 @@ position: relative; @include mobile { - width: 90vw; + width: 93vw; margin: 0 auto; } } @@ -43,6 +43,7 @@ .close-icon { cursor: pointer; + &.light { svg { path { @@ -51,4 +52,4 @@ } } } -} +} \ No newline at end of file diff --git a/src/components/Modals/ModalConfirmUnverifiedToken/ModalConfirmUnverifiedToken.module.scss b/src/components/Modals/ModalConfirmUnverifiedToken/ModalConfirmUnverifiedToken.module.scss index 155b76af7..f06643a58 100644 --- a/src/components/Modals/ModalConfirmUnverifiedToken/ModalConfirmUnverifiedToken.module.scss +++ b/src/components/Modals/ModalConfirmUnverifiedToken/ModalConfirmUnverifiedToken.module.scss @@ -2,7 +2,7 @@ z-index: 1021; .confirmationModalWrapper { - width: 470px; + background: #fff; display: flex; flex-direction: column; @@ -102,6 +102,11 @@ button { width: 47%; padding: 12px; + + @media (max-width: 767px) { + width: 49%; + font-size: 13px; + } } } } diff --git a/src/components/WalletManagement/MyWalletMobile/MyWalletMobile.tsx b/src/components/WalletManagement/MyWalletMobile/MyWalletMobile.tsx index dc3615679..566b1d1fc 100644 --- a/src/components/WalletManagement/MyWalletMobile/MyWalletMobile.tsx +++ b/src/components/WalletManagement/MyWalletMobile/MyWalletMobile.tsx @@ -117,16 +117,14 @@ export const MyWalletMobile: React.FC<{
{evmNetworksIconWithoutTron.map((network, index) => { const chainAddress = metamaskAddress; + let NetworkIcon = theme === 'dark' ? network.chainSymbolImageUrl : network.chainSymbolImageUrl; + if (!NetworkIcon) NetworkIcon = OraiIcon; return (
- {theme === 'light' ? ( - - ) : ( - - )} +
@@ -163,7 +161,8 @@ export const MyWalletMobile: React.FC<{
- + {/* */} + network-icon
@@ -199,7 +198,8 @@ export const MyWalletMobile: React.FC<{
- + {/* */} + network-icon
diff --git a/src/hooks/useLoadTokens.ts b/src/hooks/useLoadTokens.ts index 2633035a7..d588a7ffb 100644 --- a/src/hooks/useLoadTokens.ts +++ b/src/hooks/useLoadTokens.ts @@ -1,51 +1,40 @@ import { fromBinary, toBinary } from '@cosmjs/cosmwasm-stargate'; import { StargateClient } from '@cosmjs/stargate'; import { MulticallQueryClient } from '@oraichain/common-contracts-sdk'; +import { ContractCallResults, Multicall } from '@oraichain/ethereum-multicall'; +import { COSMOS_CHAIN_ID_COMMON, CustomChainInfo, ERC20__factory, EVM_BALANCE_RETRY_COUNT, solChainId, TON_CONTRACT, tronToEthAddress } from '@oraichain/oraidex-common'; import { OraiswapTokenTypes } from '@oraichain/oraidex-contracts-sdk'; +import { UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; +import { JettonMinter, JettonWallet } from '@oraichain/ton-bridge-contracts'; +import { getHttpEndpoint } from '@orbs-network/ton-access'; +import { Dispatch } from '@reduxjs/toolkit'; +import { Connection, PublicKey } from '@solana/web3.js'; +import { Address, TonClient } from '@ton/ton'; +import { ethers } from 'ethers'; +import { + genAddressCosmos, + getAddress, + getWalletByNetworkCosmosFromStorage, + handleCheckWallet, + handleErrorRateLimit +} from 'helper'; +import { bitcoinChainId } from 'helper/constants'; import { btcTokens, chainInfos, - cosmosTokens, evmChains, evmTokens, network, oraichainTokens, - solTokens, tonNetworkMainnet } from 'initCommon'; -import flatten from 'lodash/flatten'; -import { ContractCallResults, Multicall } from '@oraichain/ethereum-multicall'; -import { COSMOS_CHAIN_ID_COMMON, TON_CONTRACT } from '@oraichain/oraidex-common'; -import { Dispatch } from '@reduxjs/toolkit'; -import { useDispatch } from 'react-redux'; -import { - CustomChainInfo, - EVM_BALANCE_RETRY_COUNT, - ERC20__factory, - getEvmAddress, - tronToEthAddress, - solChainId -} from '@oraichain/oraidex-common'; -import { UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; -import { ethers } from 'ethers'; import { reduce } from 'lodash'; -import { bitcoinChainId } from 'helper/constants'; +import flatten from 'lodash/flatten'; import { getUtxos } from 'pages/Balance/helpers'; -import { generateError } from '../libs/utils'; +import { useDispatch } from 'react-redux'; import { updateAmounts } from 'reducer/token'; -import { - genAddressCosmos, - getAddress, - handleCheckWallet, - getWalletByNetworkCosmosFromStorage, - handleErrorRateLimit -} from 'helper'; -import { Connection, PublicKey } from '@solana/web3.js'; -import { getHttpEndpoint } from '@orbs-network/ton-access'; -import { Address, TonClient } from '@ton/ton'; -import { JettonMinter, JettonWallet } from '@oraichain/ton-bridge-contracts'; import { store } from 'store/configure'; -import { TON_ZERO_ADDRESS } from '@oraichain/common'; +import { generateError } from '../libs/utils'; export type LoadTokenParams = { refresh?: boolean; @@ -66,6 +55,12 @@ async function loadNativeBalance(dispatch: Dispatch, address: string, tokenInfo: let amountDetails: AmountDetails = {}; + const storage = store.getState(); + const allOraichainTokens = storage.token.allOraichainTokens || []; + const allOtherChainTokens = storage.token.allOtherChainTokens || []; + + const cosmosTokens = [...allOraichainTokens, ...allOtherChainTokens].filter((token => token.denom && token.cosmosBased && !token.contractAddress)); + // reset native balances cosmosTokens .filter((t) => t.chainId === tokenInfo.chainId && !t.contractAddress) @@ -192,8 +187,11 @@ async function loadTokensCosmos(dispatch: Dispatch, kwtAddress: string, oraiAddr async function loadCw20Balance(dispatch: Dispatch, address: string) { if (!address) return; + const storage = store.getState(); + const allOraichainTokens = storage.token.allOraichainTokens || []; + // get all cw20 token contract - const cw20Tokens = [...oraichainTokens.filter((t) => t.contractAddress)]; + const cw20Tokens = [...allOraichainTokens.filter((t) => t.contractAddress)]; const data = toBinary({ balance: { address } diff --git a/src/pages/Pool-V3/index.module.scss b/src/pages/Pool-V3/index.module.scss index f192efb66..f5cf8f620 100644 --- a/src/pages/Pool-V3/index.module.scss +++ b/src/pages/Pool-V3/index.module.scss @@ -92,7 +92,7 @@ font-size: 14px; display: flex; gap: 8px; - + span { padding-left: 1rem; } @@ -146,12 +146,13 @@ border-color: theme-get('border-color'); } - @media (max-width: 575px) { + @media (max-width: 300px) { width: 100%; } } .dropdownContent { + z-index: 1; cursor: pointer; position: absolute; top: 100%; @@ -172,6 +173,7 @@ .icon { &.light { color: black; + svg { path { stroke: #000; diff --git a/src/pages/Pools/PoolDetail.tsx b/src/pages/Pools/PoolDetail.tsx index 52ad07d7c..31dc6db23 100644 --- a/src/pages/Pools/PoolDetail.tsx +++ b/src/pages/Pools/PoolDetail.tsx @@ -37,21 +37,27 @@ const PoolDetail: React.FC = () => { const dispatch = useDispatch(); const [address] = useConfigReducer('address'); - const poolDetailData = useGetPoolDetail({ pairDenoms: poolUrl }); - const loadTokenAmounts = useLoadTokens(); - const setCachedLpPools = (payload: LpPoolDetails) => dispatch(updateLpPools(payload)); + + const poolDetailData = useGetPoolDetail({ pairDenoms: poolUrl }); // ok + + const loadTokenAmounts = useLoadTokens(); // ok + + const setCachedLpPools = (payload: LpPoolDetails) => dispatch(updateLpPools(payload)); // ok + const pools = useGetPools(); - const lpAddresses = pools.map((pool) => pool.liquidityAddr); + const { refetchPairAmountInfo, refetchLpTokenInfoData, pairAmountInfoData } = useGetPairInfo(poolDetailData); + + const { lpBalanceInfoData, refetchLpBalanceInfoData } = useGetLpBalance(poolDetailData); + + const lpAddresses = pools.map((pool) => pool.liquidityAddr); const queryClient = useQueryClient(); const [pairDenomsDeposit, setPairDenomsDeposit] = useState(''); const [ratioOraiBtc, setRatioOraiBtc] = useState(0); - - const { lpBalanceInfoData, refetchLpBalanceInfoData } = useGetLpBalance(poolDetailData); const lpTokenBalance = BigInt(lpBalanceInfoData?.balance || '0'); const allOraichainTokens = useSelector((state: RootState) => state.token.allOraichainTokens || []); - console.log({ pairAmountInfoData }); + useEffect(() => { refetchAllLpPools(); }, [lpAddresses]); diff --git a/src/pages/Pools/components/ItemPoolMobile/ItemPoolMobile.tsx b/src/pages/Pools/components/ItemPoolMobile/ItemPoolMobile.tsx index 5efb114fd..0c3764a4a 100644 --- a/src/pages/Pools/components/ItemPoolMobile/ItemPoolMobile.tsx +++ b/src/pages/Pools/components/ItemPoolMobile/ItemPoolMobile.tsx @@ -7,6 +7,8 @@ import { PoolTableData } from 'pages/Pools'; import { formatDisplayUsdt, parseAssetOnlyDenom } from 'pages/Pools/helpers'; import { useNavigate } from 'react-router-dom'; import styles from './ItemPoolMobile.module.scss'; +import { useSelector } from 'react-redux'; +import { RootState } from 'store/configure'; type PoolMobileItemProps = { pool: PoolTableData; @@ -16,6 +18,7 @@ type PoolMobileItemProps = { export const PoolMobileItem: React.FC = ({ pool, setPairDenomsDeposit, generateIcon }) => { const navigate = useNavigate(); const [theme] = useConfigReducer('theme'); + const allOraichainTokens = useSelector((state: RootState) => state.token.allOraichainTokens || []); const handleClickRow = (event: React.MouseEvent) => { event.stopPropagation(); @@ -28,12 +31,19 @@ export const PoolMobileItem: React.FC = ({ pool, setPairDen ); }; + const firstTokenDenom = parseAssetOnlyDenom(JSON.parse(pool.firstAssetInfo)); + const secondTokenDenom = parseAssetOnlyDenom(JSON.parse(pool.secondAssetInfo)); + + const tokens = [firstTokenDenom, secondTokenDenom].map( + (symbol) => allOraichainTokens.find((token) => token.denom === symbol || token.contractAddress === symbol)?.name + ); + return (
handleClickRow(e)}>
{generateIcon(pool.baseToken, pool.quoteToken)}
- {pool.symbols} + {tokens?.join('/')}
APR
diff --git a/src/pages/Pools/components/OverviewPool/OverviewPool.tsx b/src/pages/Pools/components/OverviewPool/OverviewPool.tsx index 52f96f075..822a1eb59 100644 --- a/src/pages/Pools/components/OverviewPool/OverviewPool.tsx +++ b/src/pages/Pools/components/OverviewPool/OverviewPool.tsx @@ -122,7 +122,7 @@ export const OverviewPool = ({ poolDetailData }: { poolDetailData: PoolDetail })
{formatNumberKMB( - toDisplay(pairAmountInfoData?.token1Amount || '0', token1?.decimals, 0), + toDisplay(pairAmountInfoData?.token1Amount || '0', token1?.decimals), false, token1?.decimals )} @@ -145,7 +145,7 @@ export const OverviewPool = ({ poolDetailData }: { poolDetailData: PoolDetail })
{formatNumberKMB( - toDisplay(pairAmountInfoData?.token2Amount || '0', token2?.decimals, 0), + toDisplay(pairAmountInfoData?.token2Amount || '0', token2?.decimals), false, token2?.decimals )} diff --git a/src/pages/Pools/hooks/hooks.ts b/src/pages/Pools/hooks/hooks.ts index d1246350b..a0f2e9e22 100644 --- a/src/pages/Pools/hooks/hooks.ts +++ b/src/pages/Pools/hooks/hooks.ts @@ -5,21 +5,21 @@ import { toDisplay, TokenItemType } from '@oraichain/oraidex-common'; import { OraiswapStakingQueryClient, OraiswapStakingTypes } from '@oraichain/oraidex-contracts-sdk'; import { useQuery } from '@tanstack/react-query'; import useConfigReducer from 'hooks/useConfigReducer'; -import { cw20TokenMap, network, oraichainTokens, tokenMap } from 'initCommon'; +import { cw20TokenMap, network, tokenMap } from 'initCommon'; import isEqual from 'lodash/isEqual'; import { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import axios from 'rest/request'; +import { tokenInspector } from 'initTokenInspector'; import { getUsd } from 'libs/utils'; import { parseAssetOnlyDenom } from 'pages/Pools/helpers'; import { RewardPoolType } from 'reducer/config'; +import { onChainTokenToTokenItem } from 'reducer/onchainTokens'; import { updateLpPools } from 'reducer/token'; import { fetchRewardPerSecInfo, fetchTokenInfo } from 'rest/api'; import { RootState } from 'store/configure'; import { PoolInfoResponse } from 'types/pool'; -import { tokenInspector } from 'initTokenInspector'; -import { onChainTokenToTokenItem } from 'reducer/onchainTokens'; export const calculateLpPoolsV3 = (lpAddresses: string[], res: AggregateResult) => { const lpTokenData = Object.fromEntries( @@ -166,7 +166,7 @@ export const useGetMyStake = ({ stakerAddress, pairDenoms, tf }: GetStakedByUser const { totalSupply, totalLiquidity } = pool; const myStakedLP = pool.liquidityAddr ? totalRewardInfoData?.reward_infos.find((item) => isEqual(item.staking_token, pool.liquidityAddr)) - ?.bond_amount || '0' + ?.bond_amount || '0' : 0; const lpPrice = Number(totalSupply) ? totalLiquidity / Number(totalSupply) : 0; @@ -177,9 +177,9 @@ export const useGetMyStake = ({ stakerAddress, pairDenoms, tf }: GetStakedByUser const totalEarned = myStakes ? myStakes.reduce((total, current) => { - total += current.earnAmountInUsdt; - return total; - }, 0) + total += current.earnAmountInUsdt; + return total; + }, 0) : 0; return { @@ -190,6 +190,7 @@ export const useGetMyStake = ({ stakerAddress, pairDenoms, tf }: GetStakedByUser }; export const useGetPoolDetail = ({ pairDenoms }: { pairDenoms: string }) => { + const allOraichainTokens = useSelector((state: RootState) => state.token.allOraichainTokens || []); const getPoolDetail = async (queries: { pairDenoms: string }): Promise => { try { const res = await axios.get('/v1/pool-detail/', { params: queries }); @@ -210,11 +211,13 @@ export const useGetPoolDetail = ({ pairDenoms }: { pairDenoms: string }) => { useEffect(() => { if (!pairDenoms) return; + (async function fetchTokens() { try { + const pairRawData = pairDenoms.split('_'); const tokenTypes = pairRawData.map((raw) => - oraichainTokens.find((token) => token.denom === raw || token.contractAddress === raw) + allOraichainTokens.find((token) => token.denom === raw || token.contractAddress === raw) ); let token1 = tokenTypes[0]; @@ -233,6 +236,7 @@ export const useGetPoolDetail = ({ pairDenoms }: { pairDenoms: string }) => { console.error('error fetchTokens: ', e); } })(); + }, [pairDenoms]); return { diff --git a/src/pages/Pools/hooks/useGetPairInfo.ts b/src/pages/Pools/hooks/useGetPairInfo.ts index a6e3efbd5..23800fcb8 100644 --- a/src/pages/Pools/hooks/useGetPairInfo.ts +++ b/src/pages/Pools/hooks/useGetPairInfo.ts @@ -1,4 +1,4 @@ -import { TokenInfo, TokenItemType } from '@oraichain/oraidex-common'; +import { TokenInfo } from '@oraichain/oraidex-common'; import { useQuery } from '@tanstack/react-query'; import { fetchTokenInfo, getPairAmountInfo } from 'rest/api'; import { PoolDetail } from 'types/pool'; @@ -13,7 +13,7 @@ export const useGetPairInfo = ({ token1, token2, info: pairInfoData }: PoolDetai { enabled: !!pairInfoData, refetchOnWindowFocus: false, - keepPreviousData: true, + // keepPreviousData: true, refetchOnMount: true } ); @@ -26,7 +26,7 @@ export const useGetPairInfo = ({ token1, token2, info: pairInfoData }: PoolDetai { enabled: !!token1 && !!token2, refetchOnWindowFocus: false, - refetchInterval: 15000 + refetchInterval: 10000 } ); diff --git a/src/pages/UniversalSwap/Swap/index.tsx b/src/pages/UniversalSwap/Swap/index.tsx index 3e7b229a5..c76c3b1e6 100644 --- a/src/pages/UniversalSwap/Swap/index.tsx +++ b/src/pages/UniversalSwap/Swap/index.tsx @@ -1067,6 +1067,7 @@ const SwapComponent: React.FC<{ token={originalFromToken} handleReject={() => { setIsConfirmTokenFrom('reject'); + setIsSelectTokenFrom(true); }} handleConfirm={() => { setIsConfirmTokenFrom('confirmed'); @@ -1078,6 +1079,7 @@ const SwapComponent: React.FC<{ token={originalToToken} handleReject={() => { setIsConfirmTokenTo('reject'); + setIsSelectTokenTo(true); }} handleConfirm={() => { setIsConfirmTokenTo('confirmed'); diff --git a/src/pages/UniversalSwap/hooks/useChartUsdPrice.ts b/src/pages/UniversalSwap/hooks/useChartUsdPrice.ts index 2821a5923..002348acb 100644 --- a/src/pages/UniversalSwap/hooks/useChartUsdPrice.ts +++ b/src/pages/UniversalSwap/hooks/useChartUsdPrice.ts @@ -104,9 +104,9 @@ export const useChartUsdPrice = ( setCurrentItem({ value: 0, time: 0, volume: 0 }); onUpdateCurrentItem && onUpdateCurrentItem(0); } - setIsLoading(false); } catch (e) { console.log(' ERROR: e', 'background: #FF0000; color:#FFFFFF', e); + } finally { setIsLoading(false); } }; diff --git a/src/rest/api.ts b/src/rest/api.ts index c27271085..6be1f5b19 100644 --- a/src/rest/api.ts +++ b/src/rest/api.ts @@ -4,7 +4,6 @@ import { CwIcs20LatestQueryClient, MulticallQueryClient, Uint128 } from '@oraich import { ConfigResponse, RelayerFeeResponse } from '@oraichain/common-contracts-sdk/build/CwIcs20Latest.types'; import { BTC_CONTRACT, - FACTORY_V2_CONTRACT, IBCInfo, IBC_WASM_CONTRACT, KWT_DENOM, @@ -18,7 +17,6 @@ import { ibcInfos, ibcInfosOld, parseTokenInfo, - toAmount, toDecimal, toDisplay, toTokenInfo @@ -38,14 +36,15 @@ import { PairInfo } from '@oraichain/oraidex-contracts-sdk'; import { TaxRateResponse } from '@oraichain/oraidex-contracts-sdk/build/OraiswapOracle.types'; -import { generateSwapOperationMsgs, UniversalSwapHelper } from '@oraichain/oraidex-universal-swap'; import { Position } from '@oraichain/oraidex-contracts-sdk/build/OraiswapV3.types'; +import { UniversalSwapHelper, generateSwapOperationMsgs } from '@oraichain/oraidex-universal-swap'; import { MsgTransfer } from 'cosmjs-types/ibc/applications/transfer/v1/tx'; -import { flattenTokens, network, oraichainTokens, tokenMap, tokens } from 'initCommon'; +import { network, oraichainTokens, tokenMap, tokens } from 'initCommon'; import isEqual from 'lodash/isEqual'; import { RemainingOraibTokenItem } from 'pages/Balance/StuckOraib/useGetOraiBridgeBalances'; import { listFactoryV1Pools } from 'pages/Pools/helpers'; import { getRouterConfig } from 'pages/UniversalSwap/Swap/hooks'; +import { store } from 'store/configure'; import { BondLP, MiningLP, UnbondLP, WithdrawLP } from 'types/pool'; import { PairInfoExtend, TokenInfo } from 'types/token'; @@ -120,10 +119,13 @@ export async function fetchPairPriceWithStablecoin( ): Promise { if (!fromTokenInfo.denom || !toTokenInfo.denom) return '0'; const routerClient = new OraiswapRouterQueryClient(window.client, network.router); + const storage = store.getState(); + const allOraichainTokens = storage.token.allOraichainTokens || []; + const allOtherChainTokens = storage.token.allOtherChainTokens || []; const result = await Promise.allSettled([ UniversalSwapHelper.handleSimulateSwap({ - flattenTokens: flattenTokens, - oraichainTokens: oraichainTokens, + flattenTokens: [...allOraichainTokens, ...allOtherChainTokens], + oraichainTokens: allOraichainTokens, originalFromInfo: fromTokenInfo, originalToInfo: tokenMap[STABLE_DENOM], originalAmount: 1, @@ -134,8 +136,8 @@ export async function fetchPairPriceWithStablecoin( routerConfig: getRouterConfig() }), UniversalSwapHelper.handleSimulateSwap({ - flattenTokens: flattenTokens, - oraichainTokens: oraichainTokens, + flattenTokens: [...allOraichainTokens, ...allOtherChainTokens], + oraichainTokens: allOraichainTokens, originalFromInfo: toTokenInfo, originalToInfo: tokenMap[STABLE_DENOM], originalAmount: 1, @@ -145,11 +147,16 @@ export async function fetchPairPriceWithStablecoin( }, routerConfig: getRouterConfig() }) - ]).then((results) => { - for (let res of results) { - if (res.status === 'fulfilled') return res.value; // only collect the result of the actual existing pool. If both exist then we only need data from one pool - } - }); + ]) + .then((results) => { + for (let res of results) { + if (res.status === 'fulfilled') return res.value; // only collect the result of the actual existing pool. If both exist then we only need data from one pool + } + }) + .catch((error) => { + console.log('error when fetching pair price with stablecoin', error); + return { amount: '0' }; + }); return result.amount; } diff --git a/src/store/constants.ts b/src/store/constants.ts index 2c590d851..446868dca 100644 --- a/src/store/constants.ts +++ b/src/store/constants.ts @@ -1,5 +1,5 @@ // change version when update, add state redux-persist storage -export const PERSIST_VER = 2.6; +export const PERSIST_VER = 2.7; export const PERSIST_CONFIG_KEY = 'root'; export const ADDRESS_BOOK_KEY_BACKUP = 'addressBookBackup'; diff --git a/yarn.lock b/yarn.lock index 5a58725df..6809f42d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4035,10 +4035,10 @@ resolved "https://registry.yarnpkg.com/@oraichain/oraidex-contracts-sdk/-/oraidex-contracts-sdk-1.0.45.tgz#42dae0fdd9e005f920ba305b987009f791acc365" integrity sha512-/nYztdxEX5LQM4DMJQmi9HvZrBVoY3nLAmYqSKZGZ0U1h1SxU7O/o22R3/pQwB+sAJdcibaI8ygC0ov7jC8paA== -"@oraichain/oraidex-universal-swap@1.2.0-beta27": - version "1.2.0-beta27" - resolved "https://registry.yarnpkg.com/@oraichain/oraidex-universal-swap/-/oraidex-universal-swap-1.2.0-beta27.tgz#f5a2da25491850d311f6d8f5eda37c0cc53cdbb0" - integrity sha512-oDzGemMBlDJSjvP5YqnkIiobB32s5mZqmh1OSkrMDgGYs44wcCKc0lJTbl9aG9gmCPI3OYkkv+ZFvyaqWYvXiA== +"@oraichain/oraidex-universal-swap@1.2.0-beta28": + version "1.2.0-beta28" + resolved "https://registry.yarnpkg.com/@oraichain/oraidex-universal-swap/-/oraidex-universal-swap-1.2.0-beta28.tgz#3014aa77279c646a8c116846c16d90da22134ff3" + integrity sha512-GiY7v1lFuAkt/TKt8fQJQSTEpRJtggDKD892hqdfFY5mN9Cjb+E6wdJEFfE56vXmin2EzHVWjfO/PqVteq4hHg== dependencies: "@oraichain/common" "1.2.6" "@oraichain/oraidex-common" "2.0.5" @@ -16830,7 +16830,7 @@ string-env-interpolation@^1.0.1: resolved "https://registry.yarnpkg.com/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz#ad4397ae4ac53fe6c91d1402ad6f6a52862c7152" integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== -"string-width-cjs@npm:string-width@^4.2.0": +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -16848,15 +16848,6 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -16885,7 +16876,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -16906,13 +16897,6 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -18316,7 +18300,7 @@ wordwrapjs@^5.1.0: resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-5.1.0.tgz#4c4d20446dcc670b14fa115ef4f8fd9947af2b3a" integrity sha512-JNjcULU2e4KJwUNv6CHgI46UvDGitb6dGryHajXTDiLgg1/RiGoPSDw4kZfYnwGtEXf2ZMeIewDQgFGzkCB2Sg== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -18343,15 +18327,6 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"