From ffa9c9a02648be7821223895a2be55abfb6f81b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trung=20B=E1=BA=A1ch?= <66735837+trungbach@users.noreply.github.com> Date: Thu, 28 Nov 2024 10:40:10 +0700 Subject: [PATCH 1/4] feat: add ORAI-BTC allocation display in OverviewPool component (#1053) --- .../components/OverviewPool/OverviewPool.tsx | 76 +++++++++++++++---- 1 file changed, 62 insertions(+), 14 deletions(-) diff --git a/src/pages/Pools/components/OverviewPool/OverviewPool.tsx b/src/pages/Pools/components/OverviewPool/OverviewPool.tsx index 854c4135c..ba7d01711 100644 --- a/src/pages/Pools/components/OverviewPool/OverviewPool.tsx +++ b/src/pages/Pools/components/OverviewPool/OverviewPool.tsx @@ -1,11 +1,11 @@ -import { CW20_DECIMALS, toDisplay } from '@oraichain/oraidex-common'; +import { BTC_CONTRACT, CW20_DECIMALS, fetchRetry, toDisplay } from '@oraichain/oraidex-common'; import DefaultIcon from 'assets/icons/tokens.svg?react'; import classNames from 'classnames'; import TokenBalance from 'components/TokenBalance'; import useTheme from 'hooks/useTheme'; import { toFixedIfNecessary } from 'pages/Pools/helpers'; import { useGetPairInfo } from 'pages/Pools/hooks/useGetPairInfo'; -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { PoolDetail } from 'types/pool'; import BootsIconDark from 'assets/icons/boost-icon-dark.svg?react'; import BootsIcon from 'assets/icons/boost-icon.svg?react'; @@ -19,6 +19,10 @@ export const OverviewPool = ({ poolDetailData }: { poolDetailData: PoolDetail }) const { pairAmountInfoData, lpTokenInfoData } = useGetPairInfo(poolDetailData); const { token1, token2 } = poolDetailData; + const [oraiBtcAllocation, setOraiBtcAllocation] = useState({ + oraiBalanceDisplay: '0', + btcBalanceDisplay: '0' + }); const [isShowMore] = useState(false); const isLight = theme === 'light'; const IconBoots = isLight ? BootsIcon : BootsIconDark; @@ -41,6 +45,37 @@ export const OverviewPool = ({ poolDetailData }: { poolDetailData: PoolDetail }) poolReward = cachedReward.find((item) => item.liquidity_token === stakingToken); } + const listBTCAddresses = [ + BTC_CONTRACT, + 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/obtc' + ]; + + useEffect(() => { + if (!poolDetailData) return; + const { token2 } = poolDetailData; + async function getOraiBtcAllocation() { + const res = await fetchRetry( + 'https://lcd.orai.io/cosmos/bank/v1beta1/balances/orai1fv5kwdv4z0gvp75ht378x8cg2j7prlywa0g35qmctez9q8u4xryspn6lrd' + ); + return await res.json(); + } + if (listBTCAddresses.includes(token2.denom) || listBTCAddresses.includes(token2.contractAddress)) { + getOraiBtcAllocation().then((data) => { + const balances = data.balances; + const oraiBalance = balances.find((item) => item.denom === 'orai'); + const btcBalance = balances.find( + (item) => item.denom === 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/obtc' + ); + const oraiBalanceDisplay = formatNumberKMB(toDisplay(oraiBalance?.amount || '0'), false); + const btcBalanceDisplay = formatNumberKMB(toDisplay(btcBalance?.amount || '0', 14), false); + setOraiBtcAllocation({ + oraiBalanceDisplay, + btcBalanceDisplay + }); + }); + } + }, [poolDetailData]); + return (
@@ -61,20 +96,33 @@ export const OverviewPool = ({ poolDetailData }: { poolDetailData: PoolDetail })

Liquidity Allocation

-
-
- {BaseTokenIcon && } - - {formatNumberKMB(toDisplay(pairAmountInfoData?.token1Amount || '0'), false)} - + {listBTCAddresses.includes(token2.denom) || listBTCAddresses.includes(token2.contractAddress) ? ( +
+
+ {BaseTokenIcon && } + {oraiBtcAllocation.oraiBalanceDisplay} +
+
+ {QuoteTokenIcon && } + {oraiBtcAllocation.btcBalanceDisplay} +
-
- {QuoteTokenIcon && } - - {formatNumberKMB(toDisplay(pairAmountInfoData?.token2Amount || '0'), false)} - + ) : ( +
+
+ {BaseTokenIcon && } + + {formatNumberKMB(toDisplay(pairAmountInfoData?.token1Amount || '0'), false)} + +
+
+ {QuoteTokenIcon && } + + {formatNumberKMB(toDisplay(pairAmountInfoData?.token2Amount || '0'), false)} + +
-
+ )}
From 718456fdcc25b0fc9a53800763c663eda7ff1344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trung=20B=E1=BA=A1ch?= <66735837+trungbach@users.noreply.github.com> Date: Thu, 28 Nov 2024 11:12:32 +0700 Subject: [PATCH 2/4] fix: update BTC (Legacy) display to BTC in various components (#1054) --- src/pages/Pools/PoolDetail.tsx | 9 ++++++--- .../Pools/components/TransactionHistory/index.tsx | 12 ++++++++++-- .../WithdrawLiquidityModal.tsx | 3 ++- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/pages/Pools/PoolDetail.tsx b/src/pages/Pools/PoolDetail.tsx index 3517674da..09bb3d484 100644 --- a/src/pages/Pools/PoolDetail.tsx +++ b/src/pages/Pools/PoolDetail.tsx @@ -136,15 +136,18 @@ const PoolDetail: React.FC = () => { {QuoteTokenIcon && }
- {baseToken?.name?.toUpperCase()} / {quoteToken?.name?.toUpperCase()} + {baseToken?.name?.toUpperCase()} /{' '} + {quoteToken?.name === 'BTC (Legacy)' ? 'BTC' : quoteToken?.name?.toUpperCase()} V2
1 {baseToken?.name} = {numberWithCommas(priceChange?.price || 0, undefined, { maximumFractionDigits: 6 })}{' '} - {quoteToken?.name} - {isMobileMode ?
:
|
}1 {quoteToken?.name} ={' '} + {/* TODO: remove after pool close */} + {quoteToken?.name === 'BTC (Legacy)' ? 'BTC' : quoteToken?.name} + {isMobileMode ?
:
|
}1{' '} + {quoteToken?.name === 'BTC (Legacy)' ? 'BTC' : quoteToken?.name} ={' '} {numberWithCommas(1 / (priceChange?.price || 1), undefined, { maximumFractionDigits: 6 })}{' '} {baseToken?.name}
diff --git a/src/pages/Pools/components/TransactionHistory/index.tsx b/src/pages/Pools/components/TransactionHistory/index.tsx index bb009f84d..05817fe1d 100644 --- a/src/pages/Pools/components/TransactionHistory/index.tsx +++ b/src/pages/Pools/components/TransactionHistory/index.tsx @@ -203,7 +203,12 @@ const TransactionHistory = ({ baseToken, quoteToken }: { baseToken: TokenItemTyp {numberWithCommas(toDisplay(item.offerAmount), undefined, { maximumFractionDigits: 6 })} - {offerToken.name} + + {/* {offerToken.name} */} + {/* TODO: remove after pool close */} + + {offerToken?.name === 'BTC (Legacy)' ? 'BTC' : offerToken?.name} +
@@ -216,7 +221,10 @@ const TransactionHistory = ({ baseToken, quoteToken }: { baseToken: TokenItemTyp maximumFractionDigits: 6 })} - {returnToken.name} + {/* {returnToken.name} */} + + {returnToken?.name === 'BTC (Legacy)' ? 'BTC' : returnToken?.name} + diff --git a/src/pages/Pools/components/WithdrawLiquidityModal/WithdrawLiquidityModal.tsx b/src/pages/Pools/components/WithdrawLiquidityModal/WithdrawLiquidityModal.tsx index 9c24c0654..db8eef74e 100644 --- a/src/pages/Pools/components/WithdrawLiquidityModal/WithdrawLiquidityModal.tsx +++ b/src/pages/Pools/components/WithdrawLiquidityModal/WithdrawLiquidityModal.tsx @@ -144,7 +144,8 @@ export const WithdrawLiquidityModal: FC = ({
{Token2Icon && }
-
{token2?.name}
+ {/* TODO: remove after pool close */} +
{token2?.name === 'BTC (Legacy)' ? 'BTC' : token2?.name}
Oraichain
From c6d4a25012adc6ea2b54d46cfff7f6560489b011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trung=20B=E1=BA=A1ch?= <66735837+trungbach@users.noreply.github.com> Date: Thu, 28 Nov 2024 14:56:53 +0700 Subject: [PATCH 3/4] Feat/update btc allocation (#1055) * fix: update BTC (Legacy) display to BTC in various components * feat: enhance ORAI-BTC pool handling and display logic in various components * fix: remove unnecessary console.log statements in API functions --- .../components/PoolList/PoolItemTData.tsx | 6 ++- src/pages/Pools/PoolDetail.tsx | 52 ++++++++++++++++--- .../WithdrawLiquidityModal.tsx | 10 +++- src/rest/api.ts | 12 +++++ 4 files changed, 70 insertions(+), 10 deletions(-) diff --git a/src/pages/Pool-V3/components/PoolList/PoolItemTData.tsx b/src/pages/Pool-V3/components/PoolList/PoolItemTData.tsx index 95bf9005e..fd7ebd34a 100644 --- a/src/pages/Pool-V3/components/PoolList/PoolItemTData.tsx +++ b/src/pages/Pool-V3/components/PoolList/PoolItemTData.tsx @@ -43,6 +43,8 @@ const PoolItemTData = ({ } = item; const isInactive = tokenXinfo?.name === 'BTC (Legacy)' || tokenYinfo?.name === 'BTC (Legacy)'; + const isOraiBtcPoolV2 = tokenXinfo?.name === 'ORAI' && tokenYinfo?.name === 'BTC (Legacy)' && type === 'Pool V2'; + return ( <> @@ -52,7 +54,7 @@ const PoolItemTData = ({ - {tokenXinfo?.name} / {tokenYinfo?.name} + {tokenXinfo?.name} / {isOraiBtcPoolV2 ? 'BTC' : tokenYinfo?.name} {type === POOL_TYPE.V3 ? 'V3' : 'V2'} @@ -102,7 +104,7 @@ const PoolItemTData = ({
Swap fee - {aprInfo.swapFee.min === aprInfo.swapFee.max + {aprInfo.swapFee.min === aprInfo.swapFee.max ? `${numberWithCommas(aprInfo.swapFee.min * 100, undefined, { maximumFractionDigits: 1 })}` : `${numberWithCommas(aprInfo.swapFee.min * 100, undefined, { maximumFractionDigits: 1 diff --git a/src/pages/Pools/PoolDetail.tsx b/src/pages/Pools/PoolDetail.tsx index 09bb3d484..493ff5195 100644 --- a/src/pages/Pools/PoolDetail.tsx +++ b/src/pages/Pools/PoolDetail.tsx @@ -7,7 +7,7 @@ import useConfigReducer from 'hooks/useConfigReducer'; import useLoadTokens from 'hooks/useLoadTokens'; import useTheme from 'hooks/useTheme'; import Content from 'layouts/Content'; -import React, { useCallback, useState } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import { useDispatch } from 'react-redux'; import { useNavigate, useParams } from 'react-router-dom'; import { updateLpPools } from 'reducer/token'; @@ -29,7 +29,8 @@ import { Button } from 'components/Button'; import AddIcon from 'assets/icons/Add.svg?react'; import { parseAssetOnlyDenom } from './helpers'; import { AddLiquidityModal } from './components/AddLiquidityModal'; -import { numberWithCommas } from 'helper/format'; +import { formatNumberKMB, numberWithCommas } from 'helper/format'; +import { BTC_CONTRACT, fetchRetry, toDisplay } from '@oraichain/oraidex-common'; const PoolDetail: React.FC = () => { const theme = useTheme(); @@ -46,6 +47,7 @@ const PoolDetail: React.FC = () => { const { refetchPairAmountInfo, refetchLpTokenInfoData } = useGetPairInfo(poolDetailData); const queryClient = useQueryClient(); const [pairDenomsDeposit, setPairDenomsDeposit] = useState(''); + const [ratioOraiBtc, setRatioOraiBtc] = useState(0); const { lpBalanceInfoData, refetchLpBalanceInfoData } = useGetLpBalance(poolDetailData); const lpTokenBalance = BigInt(lpBalanceInfoData?.balance || '0'); @@ -118,6 +120,34 @@ const PoolDetail: React.FC = () => { const isInactive = baseToken?.name === 'BTC (Legacy)' || quoteToken?.name === 'BTC (Legacy)'; + const listBTCAddresses = [ + BTC_CONTRACT, + 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/obtc' + ]; + useEffect(() => { + if (!poolDetailData) return; + const { token2 } = poolDetailData; + async function getOraiBtcAllocation() { + const res = await fetchRetry( + 'https://lcd.orai.io/cosmos/bank/v1beta1/balances/orai1fv5kwdv4z0gvp75ht378x8cg2j7prlywa0g35qmctez9q8u4xryspn6lrd' + ); + return await res.json(); + } + + if (listBTCAddresses.includes(token2.denom) || listBTCAddresses.includes(token2.contractAddress)) { + getOraiBtcAllocation().then((data) => { + const balances = data.balances; + const oraiBalance = balances.find((item) => item.denom === 'orai'); + const btcBalance = balances.find( + (item) => item.denom === 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/obtc' + ); + const oraiBalanceDisplay = formatNumberKMB(toDisplay(oraiBalance?.amount || '0'), false); + const btcBalanceDisplay = formatNumberKMB(toDisplay(btcBalance?.amount || '0', 14), false); + setRatioOraiBtc(Number(oraiBalanceDisplay) / Number(btcBalanceDisplay)); + }); + } + }, [poolDetailData]); + return (
@@ -142,14 +172,24 @@ const PoolDetail: React.FC = () => { V2
+
- 1 {baseToken?.name} = {numberWithCommas(priceChange?.price || 0, undefined, { maximumFractionDigits: 6 })}{' '} {/* TODO: remove after pool close */} - {quoteToken?.name === 'BTC (Legacy)' ? 'BTC' : quoteToken?.name} + {ratioOraiBtc + ? `1 ${baseToken?.name} = ${numberWithCommas(1 / (ratioOraiBtc || 1), undefined, { + maximumFractionDigits: 6 + })}` + : `1 ${baseToken?.name} = ${numberWithCommas(priceChange?.price || 0, undefined, { + maximumFractionDigits: 6 + })}`} + {/* TODO: remove after pool close */} {quoteToken?.name === 'BTC (Legacy)' ? 'BTC' : quoteToken?.name} {isMobileMode ?
:
|
}1{' '} {quoteToken?.name === 'BTC (Legacy)' ? 'BTC' : quoteToken?.name} ={' '} - {numberWithCommas(1 / (priceChange?.price || 1), undefined, { maximumFractionDigits: 6 })}{' '} - {baseToken?.name} + {ratioOraiBtc + ? `${numberWithCommas(ratioOraiBtc || 0, undefined, { maximumFractionDigits: 6 })} ${baseToken?.name}` + : `${numberWithCommas(1 / (priceChange?.price || 1) || 0, undefined, { maximumFractionDigits: 6 })} ${ + baseToken?.name + }`}
diff --git a/src/pages/Pools/components/WithdrawLiquidityModal/WithdrawLiquidityModal.tsx b/src/pages/Pools/components/WithdrawLiquidityModal/WithdrawLiquidityModal.tsx index db8eef74e..49d4d36da 100644 --- a/src/pages/Pools/components/WithdrawLiquidityModal/WithdrawLiquidityModal.tsx +++ b/src/pages/Pools/components/WithdrawLiquidityModal/WithdrawLiquidityModal.tsx @@ -1,4 +1,4 @@ -import { ORAI, toAmount } from '@oraichain/oraidex-common'; +import { BTC_CONTRACT, ORAI, toAmount } from '@oraichain/oraidex-common'; import CloseIcon from 'assets/icons/ic_close_modal.svg?react'; import cn from 'classnames/bind'; import { Button } from 'components/Button'; @@ -90,7 +90,13 @@ export const WithdrawLiquidityModal: FC = ({ const lp1BurnAmount = totalSupply === BigInt(0) || !lpAmountBurn ? BigInt(0) : (token1Amount * BigInt(lpAmountBurn)) / totalSupply; const lp2BurnAmount = - totalSupply === BigInt(0) || !lpAmountBurn ? BigInt(0) : (token2Amount * BigInt(lpAmountBurn)) / totalSupply; + // TOODO: remove after pool ORAI/BTC close + totalSupply === BigInt(0) || !lpAmountBurn + ? BigInt(0) + : (token2.contractAddress === BTC_CONTRACT + ? (token2Amount / BigInt(10 ** 8)) * BigInt(lpAmountBurn) + : token2Amount * BigInt(lpAmountBurn)) / totalSupply; + const lpAmountBurnUsdt = !myLpBalance ? 0 : (Number(lpAmountBurn) / Number(myLpBalance)) * Number(myLpUsdt); return ( diff --git a/src/rest/api.ts b/src/rest/api.ts index 615df025a..e930abb32 100644 --- a/src/rest/api.ts +++ b/src/rest/api.ts @@ -3,6 +3,7 @@ import { Coin, coin } from '@cosmjs/stargate'; import { CwIcs20LatestQueryClient, MulticallQueryClient, Uint128 } from '@oraichain/common-contracts-sdk'; import { ConfigResponse, RelayerFeeResponse } from '@oraichain/common-contracts-sdk/build/CwIcs20Latest.types'; import { + BTC_CONTRACT, IBCInfo, IBC_WASM_CONTRACT, KWT_DENOM, @@ -99,6 +100,17 @@ async function fetchTokenInfos(tokens: TokenItemType[]): Promise { } function parsePoolAmount(poolInfo: OraiswapPairTypes.PoolResponse, trueAsset: AssetInfo): bigint { + // TODO: remove when pool orai/btc close + if ('token' in trueAsset && trueAsset.token.contract_addr === BTC_CONTRACT) { + return BigInt( + poolInfo.assets.find( + (asset) => + 'native_token' in asset.info && + asset.info.native_token.denom === + 'factory/orai1wuvhex9xqs3r539mvc6mtm7n20fcj3qr2m0y9khx6n5vtlngfzes3k0rq9/obtc' + )?.amount || '0' + ); + } return BigInt(poolInfo.assets.find((asset) => isEqual(asset.info, trueAsset))?.amount || '0'); } From 1971370bbf4a5ce6973eb2d5fcda25d40df725a6 Mon Sep 17 00:00:00 2001 From: trung2891 Date: Sat, 30 Nov 2024 13:21:16 +0700 Subject: [PATCH 4/4] chore: add solana --- package.json | 2 +- src/assets/icons/solana.svg | 1 + src/config/iconInfos.ts | 6 +++ src/hooks/useLoadTokens.ts | 1 + src/pages/Balance/index.tsx | 2 +- .../UniversalSwap/Component/AssetsTab.tsx | 12 +++--- yarn.lock | 39 +++++++++++++++---- 7 files changed, 48 insertions(+), 15 deletions(-) create mode 100644 src/assets/icons/solana.svg diff --git a/package.json b/package.json index b13061eb8..bd0470a2d 100644 --- a/package.json +++ b/package.json @@ -150,7 +150,7 @@ "bitcoinjs-lib": "5.2.0", "axios": "0.26.1", "@sentry/react": "7.99.0", - "@oraichain/oraidex-common": "1.1.32" + "@oraichain/oraidex-common": "1.1.33" }, "engines": { "node": "^18 || ^20" diff --git a/src/assets/icons/solana.svg b/src/assets/icons/solana.svg new file mode 100644 index 000000000..7cb4588eb --- /dev/null +++ b/src/assets/icons/solana.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/config/iconInfos.ts b/src/config/iconInfos.ts index 4e6fa11fe..d47cbc70f 100644 --- a/src/config/iconInfos.ts +++ b/src/config/iconInfos.ts @@ -28,6 +28,7 @@ import PepeIcon from 'assets/icons/pepe.svg?react'; import CatIcon from 'assets/icons/icon-simoncat.svg?react'; import HmstrIcon from 'assets/icons/hmstr.svg?react'; import DogecoinIcon from 'assets/icons/dogecoin.svg?react'; +import SolanaIcon from 'assets/icons/solana.svg?react'; import { CustomChainInfo, TokenItemType } from '@oraichain/oraidex-common'; import { bitcoinChainId } from 'helper/constants'; @@ -169,6 +170,11 @@ export const tokensIconInfos: TokenIcon[] = [ coinGeckoId: 'dogecoin', Icon: DogecoinIcon, IconLight: DogecoinIcon + }, + { + coinGeckoId: 'solana', + Icon: SolanaIcon, + IconLight: SolanaIcon } ]; diff --git a/src/hooks/useLoadTokens.ts b/src/hooks/useLoadTokens.ts index 590d81931..09321829d 100644 --- a/src/hooks/useLoadTokens.ts +++ b/src/hooks/useLoadTokens.ts @@ -313,6 +313,7 @@ async function loadBtcEntries( } async function loadEvmAmounts(dispatch: Dispatch, evmAddress: string, chains: CustomChainInfo[]) { + console.log('---', chains); const amountDetails = Object.fromEntries( flatten(await Promise.all(chains.map((chain) => loadEvmEntries(evmAddress, chain)))) ); diff --git a/src/pages/Balance/index.tsx b/src/pages/Balance/index.tsx index a87ad96e2..b23cad06c 100644 --- a/src/pages/Balance/index.tsx +++ b/src/pages/Balance/index.tsx @@ -94,7 +94,7 @@ import { MsgTransfer } from 'cosmjs-types/ibc/applications/transfer/v1/tx'; import { MsgTransfer as MsgTransferInjective } from '@injectivelabs/sdk-ts/node_modules/cosmjs-types/ibc/applications/transfer/v1/tx'; import { collectWallet, connectWithSigner, getCosmWasmClient } from 'libs/cosmjs'; -interface BalanceProps {} +interface BalanceProps { } export const isMaintainBridge = false; diff --git a/src/pages/UniversalSwap/Component/AssetsTab.tsx b/src/pages/UniversalSwap/Component/AssetsTab.tsx index 8c929c7f2..cd0be5110 100644 --- a/src/pages/UniversalSwap/Component/AssetsTab.tsx +++ b/src/pages/UniversalSwap/Component/AssetsTab.tsx @@ -56,12 +56,12 @@ export const AssetsTab: FC<{ networkFilter: string }> = ({ networkFilter }) => { label?: string; balance?: number | string; }[] = [ - { - src: WalletIcon, - label: 'Total balance', - balance: formatDisplayUsdt(totalUsd) - } - ]; + { + src: WalletIcon, + label: 'Total balance', + balance: formatDisplayUsdt(totalUsd) + } + ]; if (!networkFilter || networkFilter === 'Oraichain') { listAsset = [ diff --git a/yarn.lock b/yarn.lock index f7a851a9c..3d0857d1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3341,10 +3341,10 @@ react-use "^17.4.0" react-use-websocket "^4.5.0" -"@oraichain/oraidex-common@1.1.32", "@oraichain/oraidex-common@^1.1.27", "@oraichain/oraidex-common@^1.1.32": - version "1.1.32" - resolved "https://registry.yarnpkg.com/@oraichain/oraidex-common/-/oraidex-common-1.1.32.tgz#c787dc3451584ffccd63a20bb230a5dd0a2e383f" - integrity sha512-8DbfumZ26fKFN1yhiQbJOSoXdqHuoU3i2JvVLpSOtveYUd1Z5rBDs3XVS7odNcUAgF0osqzq5sg9+4yUzruZ8Q== +"@oraichain/oraidex-common@1.1.33", "@oraichain/oraidex-common@^1.1.27", "@oraichain/oraidex-common@^1.1.32": + version "1.1.33" + resolved "https://registry.yarnpkg.com/@oraichain/oraidex-common/-/oraidex-common-1.1.33.tgz#0b0658e51411513e5fbca40682de7e94a5c96382" + integrity sha512-KVblYQTtD5npw0YpZZMQa4FIcoXzVWxaltFxiUYNIr0QZDzH56jBFwlbtc9sF4EwZV847QRgH8zGN5rrtjlYjA== dependencies: "@cosmjs/amino" "^0.32.4" "@cosmjs/cosmwasm-stargate" "^0.32.4" @@ -13496,7 +13496,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@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": 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== @@ -13514,6 +13514,15 @@ 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" @@ -13542,7 +13551,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm: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== @@ -13563,6 +13572,13 @@ 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" @@ -14741,7 +14757,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@^7.0.0: +"wrap-ansi-cjs@npm: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== @@ -14768,6 +14784,15 @@ 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"