= () => {
- {
- try {
- if (loadingRefresh) return;
- setLoadingRefresh(true);
- await loadTokenAmounts({ metamaskAddress, tronAddress, oraiAddress, btcAddress, tonAddress });
- } catch (err) {
- console.log({ err });
- } finally {
- setTimeout(() => {
- setLoadingRefresh(false);
- }, 2000);
- }
- }}
- >
+
Refresh balances
@@ -749,7 +772,6 @@ const Balance: React.FC
= () => {
window?.owallet?.isOwallet;
const isBtcToken = t.chainId === bitcoinChainId && t?.coinGeckoId === 'bitcoin';
-
const isV2 = false;
const TokenItemELement: React.FC = isBtcToken && isV2 ? TokenItemBtc : TokenItem;
return (
@@ -795,7 +817,6 @@ const Balance: React.FC = () => {
}}
isFastMode={isFastMode}
setIsFastMode={setIsFastMode}
- setToNetworkChainId={setToNetworkChainId}
/>
);
diff --git a/src/pages/BitcoinDashboardV2/components/ConvertBitcoinV2/index.module.scss b/src/pages/BitcoinDashboardV2/components/ConvertBitcoinV2/index.module.scss
index d3484e43f..48ff95638 100644
--- a/src/pages/BitcoinDashboardV2/components/ConvertBitcoinV2/index.module.scss
+++ b/src/pages/BitcoinDashboardV2/components/ConvertBitcoinV2/index.module.scss
@@ -37,7 +37,7 @@
.title {
@include theme {
- color: theme-get('neutral-8');
+ color: theme-get('neutral-9');
}
font-size: 14px;
@@ -119,7 +119,7 @@
.usd {
@include theme {
- color: theme-get('neutral-8');
+ color: theme-get('neutral-9');
}
font-size: 14px;
font-weight: 400;
diff --git a/src/pages/BitcoinDashboardV2/components/Header/Header.module.scss b/src/pages/BitcoinDashboardV2/components/Header/Header.module.scss
index e12d94146..af9b5d6b6 100644
--- a/src/pages/BitcoinDashboardV2/components/Header/Header.module.scss
+++ b/src/pages/BitcoinDashboardV2/components/Header/Header.module.scss
@@ -13,6 +13,7 @@
flex-wrap: wrap;
margin-bottom: 16px;
+
&_text {
display: flex;
align-items: flex-end;
@@ -27,7 +28,7 @@
.priceOrai {
@include theme() {
- color: theme-get('neutral-8');
+ color: theme-get('neutral-9');
}
font-size: 24px;
font-weight: 500;
@@ -117,6 +118,7 @@
flex-direction: column;
flex: 1 0 0;
+
color: $neutron-text-body-light;
font-size: 16px;
font-weight: 500;
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 3517674da..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 (
@@ -136,17 +166,30 @@ 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} ={' '}
- {numberWithCommas(1 / (priceChange?.price || 1), undefined, { maximumFractionDigits: 6 })}{' '}
- {baseToken?.name}
+ {/* TODO: remove after pool close */}
+ {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} ={' '}
+ {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/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)}
+
+
-
+ )}
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..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 (
@@ -144,7 +150,8 @@ export const WithdrawLiquidityModal: FC = ({
{Token2Icon && }
- {token2?.name}
+ {/* TODO: remove after pool close */}
+ {token2?.name === 'BTC (Legacy)' ? 'BTC' : token2?.name}
Oraichain
diff --git a/src/pages/UniversalSwap/Component/AssetsTab.tsx b/src/pages/UniversalSwap/Component/AssetsTab.tsx
index 88246e17b..cd0be5110 100644
--- a/src/pages/UniversalSwap/Component/AssetsTab.tsx
+++ b/src/pages/UniversalSwap/Component/AssetsTab.tsx
@@ -40,12 +40,12 @@ export const AssetsTab: FC<{ networkFilter: string }> = ({ networkFilter }) => {
stakerAddress: address
});
let totalUsd: number = getTotalUsd(amounts, prices);
- // if (networkFilter) {
- // const subAmounts = Object.fromEntries(
- // Object.entries(amounts).filter(([denom]) => tokenMap?.[denom]?.chainId === networkFilter)
- // );
- // totalUsd = getTotalUsd(subAmounts, prices);
- // }
+ if (networkFilter) {
+ const subAmounts = Object.fromEntries(
+ Object.entries(amounts).filter(([denom]) => tokenMap?.[denom]?.chainId === networkFilter)
+ );
+ totalUsd = getTotalUsd(subAmounts, prices);
+ }
useEffect(() => {
dispatch(updateTotalLpv3(totalLpV3Info || 0));
@@ -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/src/pages/UniversalSwap/Component/HistoryTab.tsx b/src/pages/UniversalSwap/Component/HistoryTab.tsx
index 0fa7c64a3..f1cc34913 100644
--- a/src/pages/UniversalSwap/Component/HistoryTab.tsx
+++ b/src/pages/UniversalSwap/Component/HistoryTab.tsx
@@ -115,6 +115,8 @@ export const HistoryTab: React.FC<{
}> = ({ networkFilter }) => {
const { transHistory } = useGetTransHistory();
const [selectedData, setSelectedData] = useState(null);
+ console.log({ selectedData });
+
const headers: TableHeaderProps = {
assets: {
name: '',
diff --git a/src/pages/UniversalSwap/Swap/components/SelectToken/SelectToken.tsx b/src/pages/UniversalSwap/Swap/components/SelectToken/SelectToken.tsx
index 3b354c0c4..97f7a6835 100644
--- a/src/pages/UniversalSwap/Swap/components/SelectToken/SelectToken.tsx
+++ b/src/pages/UniversalSwap/Swap/components/SelectToken/SelectToken.tsx
@@ -84,10 +84,6 @@ export default function SelectToken({
(textSearch ? item.name.toLowerCase().includes(textSearch.toLowerCase()) : true)
);
- console.log({
- listItems
- });
-
return (
<>
diff --git a/src/pages/UniversalSwap/Swap/hooks/useHandleEffectTokenChange.ts b/src/pages/UniversalSwap/Swap/hooks/useHandleEffectTokenChange.ts
index a0994fdbb..d1d11e878 100644
--- a/src/pages/UniversalSwap/Swap/hooks/useHandleEffectTokenChange.ts
+++ b/src/pages/UniversalSwap/Swap/hooks/useHandleEffectTokenChange.ts
@@ -26,7 +26,6 @@ const useHandleEffectTokenChange = ({ fromTokenDenomSwap, toTokenDenomSwap }) =>
const [metamaskAddress] = useConfigReducer('metamaskAddress');
const [tronAddress] = useConfigReducer('tronAddress');
- const [tonAddress] = useConfigReducer('tonAddress');
const [oraiAddress] = useConfigReducer('address');
const [addressTransfer, setAddressTransfer] = useState('');
@@ -54,23 +53,19 @@ const useHandleEffectTokenChange = ({ fromTokenDenomSwap, toTokenDenomSwap }) =>
useEffect(() => {
(async () => {
if (!isMobile()) {
- const isNetworkSupported =
- walletByNetworks.evm || walletByNetworks.cosmos || walletByNetworks.tron || walletByNetworks.ton;
+ if (!walletByNetworks.evm && !walletByNetworks.cosmos && !walletByNetworks.tron) {
+ return setAddressTransfer('');
+ }
- if (!isNetworkSupported) {
+ if (originalToToken.cosmosBased && !walletByNetworks.cosmos) {
return setAddressTransfer('');
}
- const isCosmosBased = originalToToken.cosmosBased;
- const chainId = originalToToken.chainId;
+ if (!originalToToken.cosmosBased && originalToToken.chainId === '0x2b6653dc' && !walletByNetworks.tron) {
+ return setAddressTransfer('');
+ }
- if (
- (isCosmosBased && !walletByNetworks.cosmos) ||
- (!isCosmosBased &&
- ((chainId === '0x2b6653dc' && !walletByNetworks.tron) ||
- (chainId === 'ton' && !walletByNetworks.ton) ||
- (['0x01', '0x38'].includes(chainId) && !walletByNetworks.evm)))
- ) {
+ if (!originalToToken.cosmosBased && !walletByNetworks.evm) {
return setAddressTransfer('');
}
}
@@ -88,14 +83,11 @@ const useHandleEffectTokenChange = ({ fromTokenDenomSwap, toTokenDenomSwap }) =>
oraiAddress,
metamaskAddress,
tronAddress,
- tonAddress,
walletByNetworks.evm,
walletByNetworks.cosmos,
walletByNetworks.tron,
- walletByNetworks.ton,
window?.ethereumDapp,
- window?.tronWebDapp,
- window?.Ton
+ window?.tronWebDapp
]);
useEffect(() => {
@@ -121,7 +113,7 @@ const useHandleEffectTokenChange = ({ fromTokenDenomSwap, toTokenDenomSwap }) =>
}, [originalFromToken, fromToken]);
const isConnectedWallet =
- walletByNetworks.cosmos || walletByNetworks.bitcoin || walletByNetworks.evm || walletByNetworks.tron || window.Ton;
+ walletByNetworks.cosmos || walletByNetworks.bitcoin || walletByNetworks.evm || walletByNetworks.tron;
let validAddress = {
isValid: true
diff --git a/src/pages/UniversalSwap/Swap/hooks/useSimulate.ts b/src/pages/UniversalSwap/Swap/hooks/useSimulate.ts
index 71716a1da..a61dcc6ed 100644
--- a/src/pages/UniversalSwap/Swap/hooks/useSimulate.ts
+++ b/src/pages/UniversalSwap/Swap/hooks/useSimulate.ts
@@ -16,7 +16,7 @@ export const getRouterConfig = (options?: {
ignoreFee?: boolean;
}) => {
return {
- url: 'https://osor-staging.oraidex.io',
+ url: 'https://osor.oraidex.io',
path: options?.path ?? '/smart-router/alpha-router',
protocols: options?.protocols ?? ['Oraidex', 'OraidexV3'],
dontAllowSwapAfter: options?.dontAllowSwapAfter ?? ['Oraidex', 'OraidexV3'],
diff --git a/src/pages/UniversalSwap/Swap/index.tsx b/src/pages/UniversalSwap/Swap/index.tsx
index 2792a9032..8629b7893 100644
--- a/src/pages/UniversalSwap/Swap/index.tsx
+++ b/src/pages/UniversalSwap/Swap/index.tsx
@@ -85,7 +85,6 @@ import useCalculateDataSwap, { SIMULATE_INIT_AMOUNT } from './hooks/useCalculate
import { useFillToken } from './hooks/useFillToken';
import useHandleEffectTokenChange from './hooks/useHandleEffectTokenChange';
import styles from './index.module.scss';
-import TonWallet from '@oraichain/tonbridge-sdk/build/wallet';
const cx = cn.bind(styles);
@@ -98,7 +97,6 @@ const SwapComponent: React.FC<{
const [metamaskAddress] = useConfigReducer('metamaskAddress');
const [tronAddress] = useConfigReducer('tronAddress');
const [oraiAddress] = useConfigReducer('address');
- const [tonAddress] = useConfigReducer('tonAddress');
const [walletByNetworks] = useWalletReducer('walletsByNetwork');
const [theme] = useConfigReducer('theme');
const isLightMode = theme === 'light';
@@ -322,25 +320,8 @@ const SwapComponent: React.FC<{
const isCustomRecipient = validAddress.isValid && addressTransfer !== initAddressTransfer;
const alphaSmartRoutes = simulateData?.routes;
- let tonWallet = undefined;
- if ([originalFromToken.chainId, originalToToken.chainId].includes('ton') && !!walletByNetworks.ton) {
- tonWallet = await TonWallet.create('mainnet', {
- mnemonicData: {
- mnemonic: undefined,
- tonWalletVersion: 'V4'
- },
- tonConnector: window?.Ton as any
- });
- }
-
- const tonAddress = tonWallet?.sender?.address?.toString();
const swapData = {
- sender: {
- cosmos: cosmosAddress,
- evm: checksumMetamaskAddress,
- tron: tronAddress,
- ton: tonAddress
- },
+ sender: { cosmos: cosmosAddress, evm: checksumMetamaskAddress, tron: tronAddress },
originalFromToken,
originalToToken,
fromAmount: fromAmountToken,
@@ -354,10 +335,10 @@ const SwapComponent: React.FC<{
alphaSmartRoutes
};
+ // @ts-ignore
const univeralSwapHandler = new UniversalSwapHandler(swapData, {
cosmosWallet: window.Keplr,
evmWallet: new Metamask(window.tronWebDapp),
- tonWallet,
swapOptions: {
isAlphaIbcWasm: useAlphaIbcWasm,
isIbcWasm: useIbcWasm,
@@ -367,14 +348,12 @@ const SwapComponent: React.FC<{
}
});
- const result = await univeralSwapHandler.processUniversalSwap();
- let transactionHash = result?.transactionHash;
-
+ const { transactionHash } = await univeralSwapHandler.processUniversalSwap();
if (transactionHash) {
displayToast(TToastType.TX_SUCCESSFUL, {
customLink: getTransactionUrl(originalFromToken.chainId, transactionHash)
});
- loadTokenAmounts({ oraiAddress, metamaskAddress, tronAddress, tonAddress });
+ loadTokenAmounts({ oraiAddress, metamaskAddress, tronAddress });
setSwapLoading(false);
// save to duckdb
@@ -691,7 +670,7 @@ const SwapComponent: React.FC<{
loadingRefresh,
setLoadingRefresh,
// TODO: need add bitcoinAddress when universal swap support bitcoin
- { metamaskAddress, tronAddress, oraiAddress, tonAddress },
+ { metamaskAddress, tronAddress, oraiAddress },
loadTokenAmounts
)
}
diff --git a/src/pages/UniversalSwap/helpers.ts b/src/pages/UniversalSwap/helpers.ts
index c91e1e6ee..a3648c048 100644
--- a/src/pages/UniversalSwap/helpers.ts
+++ b/src/pages/UniversalSwap/helpers.ts
@@ -193,8 +193,6 @@ export const getExplorerScan = (chainId: NetworkChainId) => {
return 'https://scan.kawaii.global/tx';
case 'noble-1':
return 'https://www.mintscan.io/noble/tx';
- case 'ton':
- return 'https://tonscan.org/address';
default:
return 'https://scan.orai.io/txs';
}
@@ -281,13 +279,13 @@ export const getTokenIcon = (token: TokenItemType, theme: string) => {
export const refreshBalances = async (
loadingRefresh: boolean,
setLoadingRefresh: (boolean) => void,
- { metamaskAddress, tronAddress, oraiAddress, tonAddress },
+ { metamaskAddress, tronAddress, oraiAddress },
callback
) => {
try {
if (loadingRefresh) return;
setLoadingRefresh(true);
- await callback({ metamaskAddress, tronAddress, oraiAddress, tonAddress });
+ await callback({ metamaskAddress, tronAddress, oraiAddress });
} catch (err) {
console.log({ err });
} finally {
@@ -340,6 +338,11 @@ export const getDisableSwap = ({
simulateData,
isLoadingSimulate
}) => {
+ const mobileMode = isMobile();
+ const canSwapToCosmos = !mobileMode && originalToToken.cosmosBased && !walletByNetworks.cosmos;
+ const canSwapToEvm = !mobileMode && !originalToToken.cosmosBased && !walletByNetworks.evm;
+ const canSwapToTron = !mobileMode && originalToToken.chainId === '0x2b6653dc' && !walletByNetworks.tron;
+ const canSwapTo = canSwapToCosmos || canSwapToEvm || canSwapToTron;
const disabledSwapBtn =
swapLoading ||
!fromAmountToken ||
@@ -347,11 +350,15 @@ export const getDisableSwap = ({
fromAmountTokenBalance > fromTokenBalance || // insufficent fund
!addressTransfer ||
!validAddress.isValid ||
- isLoadingSimulate;
+ isLoadingSimulate ||
+ canSwapTo;
let disableMsg: string;
if (!validAddress.isValid) disableMsg = `Recipient address not found`;
if (!addressTransfer) disableMsg = `Recipient address not found`;
+ if (canSwapToCosmos) disableMsg = `Please connect cosmos wallet`;
+ if (canSwapToEvm) disableMsg = `Please connect evm wallet`;
+ if (canSwapToTron) disableMsg = `Please connect tron wallet`;
if (!simulateData || simulateData.displayAmount <= 0) disableMsg = 'Enter an amount';
if (fromAmountTokenBalance > fromTokenBalance) disableMsg = `Insufficient funds`;
if (isLoadingSimulate) disableMsg = `Swap`;
@@ -372,7 +379,7 @@ export const getProtocolsSmartRoute = (
) => {
const protocols = ['Oraidex', 'OraidexV3'];
if (useIbcWasm && !useAlphaIbcWasm) return protocols;
- if (fromToken?.chainId === 'noble-1' || toToken?.chainId === 'noble-1') return protocols;
+ if (fromToken.chainId === 'noble-1' || toToken.chainId === 'noble-1') return protocols;
const allowOsmosisProtocols = ['injective-1', 'Neutaro-1', 'noble-1', 'osmosis-1', 'cosmoshub-4', 'celestia'];
const isAllowOsmosisProtocol =
diff --git a/src/reducer/config.ts b/src/reducer/config.ts
index 8c12f55b1..39322d7ab 100644
--- a/src/reducer/config.ts
+++ b/src/reducer/config.ts
@@ -20,15 +20,11 @@ export type RewardPoolType = {
liquidity_token: string;
};
-type WalletTonDetails = { [denom: string]: string };
-
export interface ConfigState {
address: string;
metamaskAddress: string | null;
tronAddress: string | null;
btcAddress: string | null;
- tonAddress: string | null;
- walletsTon: WalletTonDetails; // ton wallets for bridge adapter
cosmosAddress: { [key: string]: string };
allPendingDeposits: { [key: string]: DepositInfo[] };
chainId: string;
@@ -74,9 +70,7 @@ const initialState: ConfigState = {
metamaskAddress: '',
bannerTime: 0,
btcAddress: '',
- tonAddress: '',
tronAddress: '',
- walletsTon: {},
walletTypeStore: 'owallet',
cosmosAddress: {},
allPendingDeposits: {},
diff --git a/src/reducer/wallet.ts b/src/reducer/wallet.ts
index 9a3902058..c060ffaf3 100644
--- a/src/reducer/wallet.ts
+++ b/src/reducer/wallet.ts
@@ -6,7 +6,6 @@ export type WalletsByNetwork = {
evm: 'owallet' | 'metamask' | null;
tron: 'owallet' | 'tronLink' | null;
bitcoin: 'owallet' | null;
- ton: 'ton' | null;
};
export interface WalletState {
@@ -18,8 +17,7 @@ const initialState: WalletState = {
cosmos: null,
evm: null,
tron: null,
- bitcoin: null,
- ton: null
+ bitcoin: null
}
};
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');
}
diff --git a/src/styles/_reboot.scss b/src/styles/_reboot.scss
index cb0298b94..512ec48d8 100644
--- a/src/styles/_reboot.scss
+++ b/src/styles/_reboot.scss
@@ -117,8 +117,3 @@ textarea {
[type='number']::-webkit-outer-spin-button {
-webkit-appearance: none;
}
-
-#tc-widget-root {
- position: absolute;
- z-index: 1022; // set for zindex above react-modal (1021)
-}
diff --git a/src/styles/_themes.scss b/src/styles/_themes.scss
index 89ed6c368..8259cc75c 100644
--- a/src/styles/_themes.scss
+++ b/src/styles/_themes.scss
@@ -159,8 +159,7 @@ $themes: (
'neutral-text-btn-default': #152703,
'neutral-surface-bg-3': #f7f7f7,
'neutral-surface-bg-swap': #1b1d19,
- 'neutral-surface-bg-strong': #131412,
- 'neutral-surface-bg-box': #232521
+ 'neutral-surface-bg-strong': #131412
),
light: (
'warning-surface-default-subtle': #fffdeb,
@@ -267,7 +266,6 @@ $themes: (
'bg-overlay-section': rgba(255, 255, 255, 0.5),
'neutral-surface-bg-3': #181a17,
'neutral-surface-bg-swap': #fff,
- 'neutral-surface-bg-strong': #f2f4f0,
- 'neutral-surface-bg-box': #f2f4f0
+ 'neutral-surface-bg-strong': #f2f4f0
)
);
diff --git a/src/types/global.d.ts b/src/types/global.d.ts
index 469e39451..47943cb0d 100644
--- a/src/types/global.d.ts
+++ b/src/types/global.d.ts
@@ -10,7 +10,6 @@ import { Networks as _Networks } from 'libs/ethereum-multicall/enums';
import { DuckDb } from 'libs/duckdb';
import { Class } from '@oraichain/common-contracts-sdk/build/CwIcs721Bridge.types';
import Bitcoin, { IBitcoin } from 'libs/bitcoin';
-import { TonConnectUI } from '@tonconnect/ui-react';
declare global {
type AmountDetails = { [denom: string]: string };
@@ -118,7 +117,6 @@ declare global {
Wallet: Wallet;
Keplr: Keplr;
Bitcoin: Bitcoin;
- Ton: TonConnectUI;
tronWeb: _TronWeb;
tronLink: TronLink;
ethereum: MetaMaskEthereumProvider;
diff --git a/vite.config.ts b/vite.config.ts
index 655f94288..510f52d48 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -37,10 +37,5 @@ export default defineConfig({
commonjsOptions: { transformMixedEsModules: true },
outDir: path.resolve(__dirname, 'build'),
rollupOptions: {}
- },
- esbuild: {
- supported: {
- 'top-level-await': true //browsers can handle top-level-await features
- }
}
});
diff --git a/yarn.lock b/yarn.lock
index 72c06965f..187ed0be2 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3025,13 +3025,6 @@
long "^4.0.0"
secretjs "^0.17.0"
-"@keplr-wallet/types@0.12.141":
- version "0.12.141"
- resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.141.tgz#341cc45882a86a39701d726edc8febdc42cafcb3"
- integrity sha512-och1uUeqL6bUgWGLBSlV87rwXUDZMDUOJaARue65mRzfD6ohp9WBVFZfFgpyxU3M6S6UnzQQ6HuKUnWh4WuDjw==
- dependencies:
- long "^4.0.0"
-
"@keplr-wallet/types@^0.11.38":
version "0.11.64"
resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.11.64.tgz#5a308c8c019b4e18f894e0f35f0904b60134d605"
@@ -3224,11 +3217,12 @@
integrity sha512-s8H20RXy5gCnu3DnM7L5ClQyj2mdQpbSBpZrXCpIAX9qY0LKsDdZG3sYaDQ8+VN333jz9Pp/qGWdFSYD+6PBsg==
"@oraichain/common@^1.0.3":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@oraichain/common/-/common-1.2.0.tgz#201dddcff7bbb0dd90a04cacf82dc3f6b9480788"
- integrity sha512-gMTBSkLtHOMUfC5d3VJmEUtN17z5wL2YUrHLXCTcE6VA/K8nZ4jRt8yoO4JU/Lzy8LhZecQ2vM8r6kgLUpg8lw==
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@oraichain/common/-/common-1.0.3.tgz#c6746473deed39622a1368a8f8f733a13f628a7e"
+ integrity sha512-4Rwwl8DF3bMNh5XSlP44LjUIKCOglDc/R1bUCeVFifZlrTGaz6Zo7Fdw6xwych7b4doxcuQBBh2gr7AZE6jQyQ==
dependencies:
- "@keplr-wallet/types" "0.12.141"
+ "@cosmjs/cosmwasm-stargate" "0.31.3"
+ "@cosmjs/tendermint-rpc" "^0.31.3"
axios "0.21.4"
axios-extensions "3.1.6"
bech32 "^1.1.4"
@@ -3347,10 +3341,10 @@
react-use "^17.4.0"
react-use-websocket "^4.5.0"
-"@oraichain/oraidex-common@1.1.32-beta.7", "@oraichain/oraidex-common@^1.1.32", "@oraichain/oraidex-common@^1.1.32-beta.7", "@oraichain/oraidex-common@^1.1.6":
- version "1.1.32-beta.7"
- resolved "https://registry.yarnpkg.com/@oraichain/oraidex-common/-/oraidex-common-1.1.32-beta.7.tgz#acc48b8fe003d639e7550edc8a3b9e4a6c3ee743"
- integrity sha512-73sKbCZUO6pn+/g14V5A9FaGmcl7QkrysFz1A7EiluZajMOFYMNqc1GHDHWpHCepwkfS8Qi+hgAPu8pJtJUYgA==
+"@oraichain/oraidex-common@1.1.34", "@oraichain/oraidex-common@^1.1.27", "@oraichain/oraidex-common@^1.1.32":
+ version "1.1.34"
+ resolved "https://registry.yarnpkg.com/@oraichain/oraidex-common/-/oraidex-common-1.1.34.tgz#257d25408450c438dc2bf0870fa8de9125af92ed"
+ integrity sha512-3PzjIS7+QlhSl/5w1NDXr5hZ8LXgJP0IqMWK/ZwJNM7yySeWRui6pwzFwariW2AQ/raU/z1Umr1Bh13idfeQ4Q==
dependencies:
"@cosmjs/amino" "^0.32.4"
"@cosmjs/cosmwasm-stargate" "^0.32.4"
@@ -3389,13 +3383,13 @@
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.1.22-beta.9":
- version "1.1.22-beta.9"
- resolved "https://registry.yarnpkg.com/@oraichain/oraidex-universal-swap/-/oraidex-universal-swap-1.1.22-beta.9.tgz#442b41e94e056ad30d90c23dfcb12c9811d03d32"
- integrity sha512-I6hlUQ6LkTgA1ZAUmSqmkis1kHf3OxWepPwuYdN7xvMIvxihfxCfLYRzcZA3VXHfGbGS7Tp4y2rNqpds2F2+pw==
+"@oraichain/oraidex-universal-swap@1.1.23":
+ version "1.1.23"
+ resolved "https://registry.yarnpkg.com/@oraichain/oraidex-universal-swap/-/oraidex-universal-swap-1.1.23.tgz#2f6c5485728f096cbc11fba517376737c899e610"
+ integrity sha512-gSk4B84kT2qGx7Nc2uqiRQevS1447DWgmNAOdx4mNDUB4a6nJ79ie/hYGYemddEv6UQ1T/ppao9oxVjWmBecmQ==
dependencies:
"@oraichain/common" "^1.0.3"
- "@oraichain/oraidex-common" "^1.1.32-beta.7"
+ "@oraichain/oraidex-common" "^1.1.27"
"@oraichain/oraidex-contracts-sdk" "^1.0.49"
"@oraichain/osor-api-contracts-sdk" "^1.0.2"
bech32 "1.1.4"
@@ -3422,49 +3416,11 @@
"@cosmjs/crypto" "0.31.3"
"@cosmjs/proto-signing" "0.31.3"
-"@oraichain/ton-bridge-contracts@^0.15.8":
- version "0.15.9"
- resolved "https://registry.yarnpkg.com/@oraichain/ton-bridge-contracts/-/ton-bridge-contracts-0.15.9.tgz#279f78ac434d5df69ccf2e51c01e57484789e91e"
- integrity sha512-M4ukzlCkPRS+3S+05g/P+82fXjBCe05kBqpJiaZkUDAN7UDbRQJH480AZWl8HotPiM1Ae2TKNl8GPivNmzmwRA==
- dependencies:
- "@cosmjs/tendermint-rpc" "^0.32.4"
- "@orbs-network/ton-access" "^2.3.3"
- "@types/varstruct" "^6.1.3"
- cosmjs-types "^0.9.0"
- dotenv "^16.4.5"
- varstruct "^6.1.3"
-
-"@oraichain/tonbridge-contracts-sdk@^1.3.1", "@oraichain/tonbridge-contracts-sdk@^1.3.6":
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/@oraichain/tonbridge-contracts-sdk/-/tonbridge-contracts-sdk-1.3.6.tgz#1ee1309e6bb8e186eaa5d706c7d32276ef976402"
- integrity sha512-k1DgzfYg3nQNPn2dLiXbkDHXd1WREQA9Dl0ezQ5kPtnlbNK9XjmxSco2gmaJwql0tE3cbBExUflfG0MaRF0dWw==
-
-"@oraichain/tonbridge-sdk@^1.3.6":
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/@oraichain/tonbridge-sdk/-/tonbridge-sdk-1.4.2.tgz#05722298dfd0bdbc4feaa45eb652d98361619638"
- integrity sha512-pMj/y76S87b/GT4cNjp0oZ+J86tb/vPE0Kcm9vfi9SIMMYeWsk/H5AVlzoYevPrZflkzIA6l/vx+oHkMxpoVyQ==
- dependencies:
- "@oraichain/common-contracts-sdk" "^1.0.31"
- "@oraichain/oraidex-common" "^1.1.6"
- "@oraichain/ton-bridge-contracts" "^0.15.8"
- "@oraichain/tonbridge-contracts-sdk" "^1.3.6"
- "@orbs-network/ton-access" "^2.3.3"
- "@ton/core" "^0.56.3"
- "@ton/ton" "^14.0.0"
- "@tonconnect/ui-react" "^2.0.9"
-
"@oraichain/wasm-json-toolkit@^1.0.24":
version "1.0.24"
resolved "https://registry.yarnpkg.com/@oraichain/wasm-json-toolkit/-/wasm-json-toolkit-1.0.24.tgz#e9a431560e8e946fbb7ec257e5f13d9320ffd23a"
integrity sha512-j+8gN3dE3rqaiEUVVblt0dfJrE6RIsSkfqF08ISxRvHkH9Pe9exIOgxpCyd2Qn3liHj27hwth6R0ELw7y3QcLg==
-"@orbs-network/ton-access@^2.3.3":
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/@orbs-network/ton-access/-/ton-access-2.3.3.tgz#20292f83b52a75f451f185821180a7d9b829bcd3"
- integrity sha512-b1miCPts7wBG9JKYgzXIRZQm/LMy5Uk1mNK8NzlcXHL3HRHJkkFbuYJGuj3IkWCiIicW3Ipp4sYnn3Fwo4oB0g==
- dependencies:
- isomorphic-fetch "^3.0.0"
-
"@peculiar/asn1-schema@^2.3.8":
version "2.3.8"
resolved "https://registry.yarnpkg.com/@peculiar/asn1-schema/-/asn1-schema-2.3.8.tgz#04b38832a814e25731232dd5be883460a156da3b"
@@ -4121,114 +4077,6 @@
dependencies:
tippy.js "^6.3.1"
-"@ton/core@^0.56.3":
- version "0.56.3"
- resolved "https://registry.yarnpkg.com/@ton/core/-/core-0.56.3.tgz#1162764573abb76032eba70f8497e5cb2ea532ee"
- integrity sha512-HVkalfqw8zqLLPehtq0CNhu5KjVzc7IrbDwDHPjGoOSXmnqSobiWj8a5F+YuWnZnEbQKtrnMGNOOjVw4LG37rg==
- dependencies:
- symbol.inspect "1.0.1"
-
-"@ton/crypto-primitives@2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@ton/crypto-primitives/-/crypto-primitives-2.1.0.tgz#8c9277c250b59aae3c819e0d6bd61e44d998e9ca"
- integrity sha512-PQesoyPgqyI6vzYtCXw4/ZzevePc4VGcJtFwf08v10OevVJHVfW238KBdpj1kEDQkxWLeuNHEpTECNFKnP6tow==
- dependencies:
- jssha "3.2.0"
-
-"@ton/crypto@^3.3.0":
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/@ton/crypto/-/crypto-3.3.0.tgz#019103df6540fbc1d8102979b4587bc85ff9779e"
- integrity sha512-/A6CYGgA/H36OZ9BbTaGerKtzWp50rg67ZCH2oIjV1NcrBaCK9Z343M+CxedvM7Haf3f/Ee9EhxyeTp0GKMUpA==
- dependencies:
- "@ton/crypto-primitives" "2.1.0"
- jssha "3.2.0"
- tweetnacl "1.0.3"
-
-"@ton/ton@^14.0.0":
- version "14.0.0"
- resolved "https://registry.yarnpkg.com/@ton/ton/-/ton-14.0.0.tgz#a66fbbfb159200892557442039a0341cda71fc2d"
- integrity sha512-xb2CY6U0AlHUKc7DV7xK/K4Gqn6YoR253yUrM2E7L5WegVFsDF0CQRUIfpYACCuj1oUywQc5J2oMolYNu/uGkA==
- dependencies:
- axios "^1.6.7"
- dataloader "^2.0.0"
- symbol.inspect "1.0.1"
- teslabot "^1.3.0"
- zod "^3.21.4"
-
-"@tonconnect/isomorphic-eventsource@^0.0.2":
- version "0.0.2"
- resolved "https://registry.yarnpkg.com/@tonconnect/isomorphic-eventsource/-/isomorphic-eventsource-0.0.2.tgz#e58c44cf9953e090f2c35da9a638946ddb614be5"
- integrity sha512-B4UoIjPi0QkvIzZH5fV3BQLWrqSYABdrzZQSI9sJA9aA+iC0ohOzFwVVGXanlxeDAy1bcvPbb29f6sVUk0UnnQ==
- dependencies:
- eventsource "^2.0.2"
-
-"@tonconnect/isomorphic-fetch@^0.0.3":
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/@tonconnect/isomorphic-fetch/-/isomorphic-fetch-0.0.3.tgz#31978e04ddc4428eff532c23d20229ed5ddb6417"
- integrity sha512-jIg5nTrDwnite4fXao3dD83eCpTvInTjZon/rZZrIftIegh4XxyVb5G2mpMqXrVGk1e8SVXm3Kj5OtfMplQs0w==
- dependencies:
- node-fetch "^2.6.9"
-
-"@tonconnect/protocol@^2.2.6":
- version "2.2.6"
- resolved "https://registry.yarnpkg.com/@tonconnect/protocol/-/protocol-2.2.6.tgz#24b3fbcde6003e65fb5840a190072db5378699db"
- integrity sha512-kyoDz5EqgsycYP+A+JbVsAUYHNT059BCrK+m0pqxykMODwpziuSAXfwAZmHcg8v7NB9VKYbdFY55xKeXOuEd0w==
- dependencies:
- tweetnacl "^1.0.3"
- tweetnacl-util "^0.15.1"
-
-"@tonconnect/sdk@3.0.3":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@tonconnect/sdk/-/sdk-3.0.3.tgz#0cc6a570817194c648193f7a1db525419c570e3f"
- integrity sha512-ElVre1DPixzQLgLtQIa8Wu5xS8nozlgblZTJhFFPrk82M2rZ+sawyF+LAVwt9wZRN7+htWnJrNz0+bBr4b3geA==
- dependencies:
- "@tonconnect/isomorphic-eventsource" "^0.0.2"
- "@tonconnect/isomorphic-fetch" "^0.0.3"
- "@tonconnect/protocol" "^2.2.6"
-
-"@tonconnect/sdk@3.0.5":
- version "3.0.5"
- resolved "https://registry.yarnpkg.com/@tonconnect/sdk/-/sdk-3.0.5.tgz#08a202bdc8ea897c37221fd69925c35cd2106323"
- integrity sha512-ow0qnN4s3iQ/r2uXobZ7YzdQBtan/36CgCT9IP35G07g38UxsUXwzw8ANmJTDj/JPiQcIKuYBMfIwIX9zLM0wg==
- dependencies:
- "@tonconnect/isomorphic-eventsource" "^0.0.2"
- "@tonconnect/isomorphic-fetch" "^0.0.3"
- "@tonconnect/protocol" "^2.2.6"
-
-"@tonconnect/ui-react@^2.0.6":
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/@tonconnect/ui-react/-/ui-react-2.0.6.tgz#9adadda97da0c8ff2e40eee5dbaa1693aa6662b5"
- integrity sha512-9VRYP2o/YW4ti+rOMSptIYaRO39V5UFmzdUl18AmDFDdynjacAIht/IInO+AGAKfrnF9bUk/J5NgLcbxVqvZww==
- dependencies:
- "@tonconnect/ui" "2.0.6"
-
-"@tonconnect/ui-react@^2.0.9":
- version "2.0.9"
- resolved "https://registry.yarnpkg.com/@tonconnect/ui-react/-/ui-react-2.0.9.tgz#c226b81110e05b7e259bbf965ad5da42318a5dd3"
- integrity sha512-wN7tEZpQiRYSUcdNAxFsDkk5TYo8krIu00ZLE1R5kXyr+XpO120jOmTEweBSXvIzTgEVkD/PxDZbBQQxRTXsUw==
- dependencies:
- "@tonconnect/ui" "2.0.9"
-
-"@tonconnect/ui@2.0.6":
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/@tonconnect/ui/-/ui-2.0.6.tgz#4cf092b3ff138238fa7ae7d4754d8bfed549d892"
- integrity sha512-JMTSxgbnpDjpHi9g0s7w3tpAiLHa8BHUpaBrbSTDcKGQVEm7+NtqhN+gQkGkm8pV7NYRqiS/sKUpRQ1MyjtTBQ==
- dependencies:
- "@tonconnect/sdk" "3.0.3"
- classnames "^2.3.2"
- deepmerge "^4.2.2"
- ua-parser-js "^1.0.35"
-
-"@tonconnect/ui@2.0.9":
- version "2.0.9"
- resolved "https://registry.yarnpkg.com/@tonconnect/ui/-/ui-2.0.9.tgz#589285c9b8f4b0d94c10b3feadfae266bf086503"
- integrity sha512-ZxofTBf81NqrxyD0ybI8AuFHN11uKVg/00xTDFhP5FoPB8rYC7En9qE2VJ6IvwvtTpmh8jspi2ancOHUMBoCQA==
- dependencies:
- "@tonconnect/sdk" "3.0.5"
- classnames "^2.3.2"
- deepmerge "^4.2.2"
- ua-parser-js "^1.0.35"
-
"@tootallnate/once@1":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
@@ -4687,13 +4535,6 @@
resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43"
integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==
-"@types/varstruct@^6.1.3":
- version "6.1.3"
- resolved "https://registry.yarnpkg.com/@types/varstruct/-/varstruct-6.1.3.tgz#dad39ad875eef0a9b9d63ae4e503cc3d5c456955"
- integrity sha512-LgivtaEn0RHmVk+CHnIS95CtkV0xMAT6u1hPlr6qXNmYnDUU7ZhXM5fM7/byytaqXk7fNX8B/ibN1xpxe+X+hg==
- dependencies:
- "@types/node" "*"
-
"@types/ws@8.5.9":
version "8.5.9"
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.9.tgz#384c489f99c83225a53f01ebc3eddf3b8e202a8c"
@@ -6654,7 +6495,7 @@ cjson@^0.3.1:
dependencies:
json-parse-helpfulerror "^1.0.3"
-classnames@*, classnames@^2.2.6, classnames@^2.3.1, classnames@^2.3.2:
+classnames@*, classnames@^2.2.6, classnames@^2.3.1:
version "2.5.1"
resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b"
integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==
@@ -7410,7 +7251,7 @@ data-urls@^5.0.0:
whatwg-mimetype "^4.0.0"
whatwg-url "^14.0.0"
-dataloader@^2.0.0, dataloader@^2.2.2:
+dataloader@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.2.2.tgz#216dc509b5abe39d43a9b9d97e6e5e473dfbe3e0"
integrity sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==
@@ -7508,7 +7349,7 @@ deep-is@^0.1.3, deep-is@~0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-deepmerge@^4.2.2, deepmerge@^4.3.1:
+deepmerge@^4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
@@ -7678,7 +7519,7 @@ dot-prop@^5.2.0:
dependencies:
is-obj "^2.0.0"
-dotenv@^16.0.0, dotenv@^16.3.1, dotenv@^16.4.5:
+dotenv@^16.0.0, dotenv@^16.3.1:
version "16.4.5"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f"
integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==
@@ -8341,11 +8182,6 @@ events@^3.0.0, events@^3.3.0:
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-eventsource@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508"
- integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==
-
evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
@@ -9665,11 +9501,6 @@ install-artifact-from-github@^1.3.5:
resolved "https://registry.yarnpkg.com/install-artifact-from-github/-/install-artifact-from-github-1.3.5.tgz#88c96fe40e5eb21d45586d564208c648a1dbf38d"
integrity sha512-gZHC7f/cJgXz7MXlHFBxPVMsvIbev1OQN1uKQYKVJDydGNm9oYf9JstbU4Atnh/eSvk41WtEovoRm+8IF686xg==
-int53@^0.2.4:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/int53/-/int53-0.2.4.tgz#5ed8d7aad6c5c6567cae69aa7ffc4a109ee80f86"
- integrity sha512-a5jlKftS7HUOhkUyYD7j2sJ/ZnvWiNlZS1ldR+g1ifQ+/UuZXIE+YTc/lK1qGj/GwAU5F8Z0e1eVq2t1J5Ob2g==
-
"internmap@1 - 2", internmap@2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009"
@@ -10408,11 +10239,6 @@ jsprim@^1.2.2:
json-schema "0.4.0"
verror "1.10.0"
-jssha@3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/jssha/-/jssha-3.2.0.tgz#88ec50b866dd1411deaddbe6b3e3692e4c710f16"
- integrity sha512-QuruyBENDWdN4tZwJbQq7/eAK85FqrI4oDbXjy5IBhYD+2pTJyBUWZe8ctWaCkrV0gy6AaelgOZZBMeswEa/6Q==
-
jwa@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
@@ -13670,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==
@@ -13688,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"
@@ -13716,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==
@@ -13737,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"
@@ -13877,11 +13719,6 @@ symbol-tree@^3.2.4:
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
-symbol.inspect@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/symbol.inspect/-/symbol.inspect-1.0.1.tgz#e13125b8038c4996eb0dfa1567332ad4dcd0763f"
- integrity sha512-YQSL4duoHmLhsTD1Pw8RW6TZ5MaTX5rXJnqacJottr2P2LZBF/Yvrc3ku4NUpMOm8aM0KOCqM+UAkMA5HWQCzQ==
-
table-layout@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-3.0.2.tgz#69c2be44388a5139b48c59cf21e73b488021769a"
@@ -13934,11 +13771,6 @@ temp@^0.9.4:
mkdirp "^0.5.1"
rimraf "~2.6.2"
-teslabot@^1.3.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/teslabot/-/teslabot-1.5.0.tgz#70f544516699ca5f696d8ae94f3d12cd495d5cd6"
- integrity sha512-e2MmELhCgrgZEGo7PQu/6bmYG36IDH+YrBI1iGm6jovXkeDIGa3pZ2WSqRjzkuw2vt1EqfkZoV5GpXgqL8QJVg==
-
test-exclude@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-7.0.1.tgz#20b3ba4906ac20994e275bbcafd68d510264c2a2"
@@ -14251,16 +14083,16 @@ tweetnacl-util@^0.15.1:
resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b"
integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==
-tweetnacl@1.0.3, tweetnacl@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
- integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
-
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+tweetnacl@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596"
+ integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
+
type-check@~0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
@@ -14612,14 +14444,6 @@ value-or-promise@^1.0.11, value-or-promise@^1.0.12:
resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c"
integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==
-varstruct@^6.1.3:
- version "6.1.3"
- resolved "https://registry.yarnpkg.com/varstruct/-/varstruct-6.1.3.tgz#45a8a073e41fb88adb10bc71158c945e20c57fbe"
- integrity sha512-4l1Q7uxrVUBZXsMcb2cakrZL6gd4G+Ykn/m9cGnT4EY8iRBPkxOxKVDwOnL9AsIPKmREBx5BDqjfNMKKP6Zy2w==
- dependencies:
- int53 "^0.2.4"
- safe-buffer "^5.1.1"
-
varuint-bitcoin@^1.0.4, varuint-bitcoin@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92"
@@ -14933,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==
@@ -14960,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"
@@ -15212,8 +15045,3 @@ zip-stream@^4.1.0:
archiver-utils "^3.0.4"
compress-commons "^4.1.2"
readable-stream "^3.6.0"
-
-zod@^3.21.4:
- version "3.23.8"
- resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d"
- integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==
|