@@ -54,20 +58,64 @@ const TransfersPage = ({ chainIDs }: { chainIDs: string[] }) => {
-
- {tab.current === SINGLE_TAB_TEXT ? (
-
+
+ {tabs.map((tab) => (
+
+
{
+ if (
+ tab.toLowerCase() === 'multi send' &&
+ chainIDs.length > 1
+ ) {
+ dispatch(
+ setError({
+ type: 'error',
+ message:
+ 'Multi transfer is not available for All networks!',
+ })
+ );
+ } else {
+ setSelectedTab(tab);
+ }
+ }}
+ >
+ {tab}
+
+
+
+ ))}
+
+
+ {selectedTab === 'Send' ? (
+
+
+
+ ) : selectedTab === 'Multi Send' ? (
+
+
+
) : (
-
+
)}
diff --git a/frontend/src/app/(routes)/transfers/components/route-preview/ChainToken.tsx b/frontend/src/app/(routes)/transfers/components/route-preview/ChainToken.tsx
new file mode 100644
index 000000000..0d2ef72ea
--- /dev/null
+++ b/frontend/src/app/(routes)/transfers/components/route-preview/ChainToken.tsx
@@ -0,0 +1,38 @@
+import Image from 'next/image';
+import React from 'react';
+
+const ChainToken = ({
+ amount,
+ chainName,
+ logo,
+ symbol,
+}: {
+ logo: string;
+ amount: string;
+ symbol: string;
+ chainName: string;
+}) => {
+ return (
+
+
+
+
+
+
+ {amount} {symbol}
+
+
+ On {chainName}
+
+
+
+ );
+};
+
+export default ChainToken;
diff --git a/frontend/src/app/(routes)/transfers/components/route-preview/SwapPath.tsx b/frontend/src/app/(routes)/transfers/components/route-preview/SwapPath.tsx
new file mode 100644
index 000000000..8d570ff3f
--- /dev/null
+++ b/frontend/src/app/(routes)/transfers/components/route-preview/SwapPath.tsx
@@ -0,0 +1,37 @@
+import Image from 'next/image';
+import React from 'react';
+
+const SwapPath = ({
+ dex,
+ fromLogo,
+ fromSymbol,
+ toLogo,
+ toSymbol,
+}: {
+ fromLogo: string;
+ fromSymbol: string;
+ toLogo: string;
+ toSymbol: string;
+ dex: string;
+}) => {
+ return (
+
+
Swap
+
+
+ {fromSymbol}
+
+
for
+
+
+ {toSymbol}
+
+
+ on
+ {dex}
+
+
+ );
+};
+
+export default SwapPath;
diff --git a/frontend/src/app/(routes)/transfers/components/route-preview/TransferPath.tsx b/frontend/src/app/(routes)/transfers/components/route-preview/TransferPath.tsx
new file mode 100644
index 000000000..f1dd19d5b
--- /dev/null
+++ b/frontend/src/app/(routes)/transfers/components/route-preview/TransferPath.tsx
@@ -0,0 +1,40 @@
+import Image from 'next/image';
+import React from 'react';
+
+const TransferPath = ({
+ fromLogo,
+ fromName,
+ toLogo,
+ toName,
+ tokenLogo,
+ tokenSymbol,
+}: {
+ tokenLogo: string;
+ tokenSymbol: string;
+ fromLogo: string;
+ fromName: string;
+ toLogo: string;
+ toName: string;
+}) => {
+ return (
+
+
Transfer
+
+
+ {tokenSymbol}
+
+
from
+
+
+ {fromName}
+
+
to
+
+
+ {toName}
+
+
+ );
+};
+
+export default TransferPath;
diff --git a/frontend/src/app/(routes)/transfers/styles.ts b/frontend/src/app/(routes)/transfers/styles.ts
index 14af2c623..dfa0fa0ce 100644
--- a/frontend/src/app/(routes)/transfers/styles.ts
+++ b/frontend/src/app/(routes)/transfers/styles.ts
@@ -2,3 +2,31 @@ export const customDialogPaper = {
borderRadius: '24px',
background: 'linear-gradient(90deg, #704290 0.11%, #241b61 70.28%)',
};
+
+export const swapTextFieldStyles = {
+ '& .MuiTypography-body1': {
+ color: 'white',
+ fontSize: '12px',
+ fontWeight: 200,
+ },
+ '& .MuiOutlinedInput-notchedOutline': {
+ border: 'none',
+ },
+ '& .MuiOutlinedInput-root': {
+ border: '1px solid transparent',
+ borderRadius: '12px',
+ color: 'white',
+ },
+ '& .Mui-focused': {
+ border: '1px solid #ffffff4a',
+ borderRadius: '12px',
+ },
+ '& .MuiInputAdornment-root': {
+ '& button': {
+ color: 'white',
+ },
+ },
+ '& .Mui-disabled': {
+ WebkitTextFillColor: '#ffffff !important',
+ },
+};
diff --git a/frontend/src/app/(routes)/transfers/transfers.css b/frontend/src/app/(routes)/transfers/transfers.css
index 13c918a04..c4d9f4836 100644
--- a/frontend/src/app/(routes)/transfers/transfers.css
+++ b/frontend/src/app/(routes)/transfers/transfers.css
@@ -9,7 +9,7 @@
.selected {
box-sizing: border-box;
- background: linear-gradient(180deg, #4AA29C 0%, #8B3DA7 100%);
+ background: linear-gradient(180deg, #4aa29c 0%, #8b3da7 100%);
}
.coloured-container {
@@ -33,18 +33,34 @@
.amount-options {
@apply text-white text-sm not-italic font-normal leading-[normal] rounded-[100px];
- background: rgba(255, 255, 255, 0.10);
+ background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(2px);
}
.amount-options-default {
- background: rgba(255, 255, 255, 0.10);
+ background: rgba(255, 255, 255, 0.1);
}
.amount-options-fill {
background:
- linear-gradient(180deg,
+ linear-gradient(
+ 180deg,
rgba(74, 162, 156, 0.9) 0%,
- rgba(139, 61, 167, 0.9) 100%),
+ rgba(139, 61, 167, 0.9) 100%
+ ),
lightgray 50% / cover no-repeat;
-}
\ No newline at end of file
+}
+
+.send-menu-item {
+ @apply cursor-pointer px-2 text-[18px] h-9 flex items-center pb-[14px] leading-[21.7px];
+}
+
+/* IBC Swap Styles */
+
+.swap-btn {
+ @apply rounded-lg text-[12px] font-medium tracking-[0.48px] py-[10px] px-4 w-full flex justify-center items-center;
+}
+
+.drop-down {
+ box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
+}
diff --git a/frontend/src/app/globals.css b/frontend/src/app/globals.css
index d825490b6..fb1dd159c 100644
--- a/frontend/src/app/globals.css
+++ b/frontend/src/app/globals.css
@@ -1,5 +1,5 @@
-@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400&display=swap');
-@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;700&display=swap');
+@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;400&display=swap');
+@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@100..900&display=swap');
@tailwind base;
@tailwind components;
@tailwind utilities;
@@ -25,6 +25,10 @@
-ms-user-select: none;
}
+.custom-font {
+ font-family: 'Inter', sans-serif;
+}
+
.main {
@apply leading-[normal] m-0 text-white;
background-color: #0b071d;
@@ -646,3 +650,12 @@
@apply opacity-80 rounded-lg;
background: rgba(255, 255, 255, 0.1);
}
+
+.dialog-box-bg {
+ background: linear-gradient(
+ 178deg,
+ #241b61 1.71%,
+ #69448d 98.35%,
+ #69448d 98.35%
+ );
+}
diff --git a/frontend/src/components/IBCSwapTxStatus.tsx b/frontend/src/components/IBCSwapTxStatus.tsx
new file mode 100644
index 000000000..21995f236
--- /dev/null
+++ b/frontend/src/components/IBCSwapTxStatus.tsx
@@ -0,0 +1,167 @@
+import { useAppDispatch, useAppSelector } from '@/custom-hooks/StateHooks';
+import { resetTx, resetTxDestSuccess } from '@/store/features/swaps/swapsSlice';
+import { TxStatus } from '@/types/enums';
+import {
+ Alert,
+ AlertTitle,
+ CircularProgress,
+ IconButton,
+ Snackbar,
+} from '@mui/material';
+import Link from 'next/link';
+import React, { useEffect, useState } from 'react';
+import TaskAltOutlinedIcon from '@mui/icons-material/TaskAltOutlined';
+import CloseIcon from '@mui/icons-material/Close';
+import CheckCircleRoundedIcon from '@mui/icons-material/CheckCircleRounded';
+import { cleanURL } from '@/utils/util';
+
+const IBCSwapTxStatus = () => {
+ const dispatch = useAppDispatch();
+ const [showTxSourceSuccess, setTxSourceSuccess] = useState(false);
+ const [showTxDestSuccess, setTxDestSuccess] = useState(false);
+ const txLoadRes = useAppSelector((state) => state.swaps.txStatus.status);
+ const txHash = useAppSelector((state) => state.swaps.txSuccess.txHash);
+ const explorerUrl = useAppSelector((state) => state.swaps.explorerEndpoint);
+ const txDestStatus = useAppSelector((state) => state.swaps.txDestSuccess);
+
+ useEffect(() => {
+ if (txHash?.length) {
+ setTxSourceSuccess(true);
+ } else {
+ setTxSourceSuccess(false);
+ }
+ }, [txHash]);
+
+ useEffect(() => {
+ if (txDestStatus.status.length) {
+ setTxDestSuccess(true);
+ } else {
+ setTxDestSuccess(false);
+ }
+ }, [txDestStatus]);
+
+ useEffect(() => {
+ dispatch(resetTx());
+ dispatch(resetTxDestSuccess());
+ }, []);
+
+ return (
+
+
+ ,
+ }}
+ onClose={() => {
+ dispatch(resetTx());
+ }}
+ severity="info"
+ sx={{
+ width: '100%',
+ backgroundColor: '#0B071D',
+ borderRadius: '8px',
+ border: '1px solid #ffffffD0',
+ }}
+ action={
+ {
+ dispatch(resetTx());
+ }}
+ sx={{ color: '#fff' }}
+ >
+
+
+ }
+ >
+
+ Transaction Pending...
+
+ {showTxSourceSuccess ? (
+ <>
+
+
+
+
+ Transaction Broadcasted on Source Chain
+
+
+
+
+ View on explorer
+
+ >
+ ) : null}
+
+
+
+
+
+ ),
+ }}
+ onClose={() => {
+ dispatch(resetTxDestSuccess());
+ }}
+ severity="info"
+ sx={{
+ width: '100%',
+ backgroundColor: '#0B071D',
+ borderRadius: '8px',
+ border: '1px solid #ffffffD0',
+ }}
+ action={
+ {
+ dispatch(resetTxDestSuccess());
+ }}
+ sx={{ color: '#fff' }}
+ >
+
+
+ }
+ >
+
+ {txDestStatus.msg || ''}
+
+
+ View on explorer
+
+
+
+
+ );
+};
+
+export default IBCSwapTxStatus;
diff --git a/frontend/src/components/SideBar.tsx b/frontend/src/components/SideBar.tsx
index 23d729526..628ac5393 100644
--- a/frontend/src/components/SideBar.tsx
+++ b/frontend/src/components/SideBar.tsx
@@ -21,10 +21,8 @@ import {
} from '@/utils/constants';
// import useInitAuthz from '@/custom-hooks/useInitAuthz';
// import useInitFeegrant from '@/custom-hooks/useInitFeegrant';
-import {
- getAllTokensPrice,
- setAllNetworksInfo,
-} from '@/store/features/common/commonSlice';
+import { getAllTokensPrice, setAllNetworksInfo } from '@/store/features/common/commonSlice';
+import IBCSwapTxStatus from './IBCSwapTxStatus';
const SideBar = ({ children }: { children: React.ReactNode }) => {
const pathName = usePathname();
@@ -41,6 +39,7 @@ const SideBar = ({ children }: { children: React.ReactNode }) => {
return (
+
diff --git a/frontend/src/custom-hooks/useAccount.ts b/frontend/src/custom-hooks/useAccount.ts
new file mode 100644
index 000000000..0be46a987
--- /dev/null
+++ b/frontend/src/custom-hooks/useAccount.ts
@@ -0,0 +1,93 @@
+import { useAppSelector } from './StateHooks';
+import useGetAssets from './useGetAssets';
+import useGetChains from './useGetChains';
+
+declare let window: WalletWindow;
+
+interface CustomChainData extends ChainData {
+ chainName: string;
+}
+
+const useAccount = () => {
+ const balances = useAppSelector((state) => state.bank.balances);
+ const { getTokensByChainID } = useGetAssets();
+ const { getChainConfig } = useGetChains();
+ const getAccountAddress = async (
+ chainID: string
+ ): Promise<{ address: string }> => {
+ try {
+ const account = await window.wallet.getKey(chainID);
+ return { address: account.bech32Address };
+ } catch (error) {
+ const chainConfig = getChainConfig(chainID);
+ const chainData: CustomChainData = {
+ ...chainConfig,
+ chainName: chainConfig.networkName,
+ };
+ try {
+ const account = await window.wallet.experimentalSuggestChain(chainData);
+ return { address: account.bech32Address };
+ } catch (error) {
+ console.log(error);
+ return { address: '' };
+ }
+ }
+ };
+
+ const getAvailableBalance = async ({
+ chainID,
+ denom,
+ }: {
+ chainID: string;
+ denom: string;
+ }) => {
+ const chainBalances = balances?.[chainID]?.list || [];
+
+ const balanceInfo = {
+ amount: 0,
+ minimalDenom: '',
+ displayDenom: '',
+ decimals: 0,
+ parsedAmount: 0,
+ };
+
+ const chainAssets = await getTokensByChainID(chainID, true);
+
+ chainBalances.forEach((balance) => {
+ const filteredDenomInfo = chainAssets?.filter((denomInfo) => {
+ return denomInfo.denom === balance.denom;
+ });
+ const denomInfo = filteredDenomInfo[0];
+ if (denomInfo && denomInfo.denom === denom) {
+ balanceInfo.amount = parseFloat(balance.amount);
+ const precision = denomInfo.decimals || 0 > 6 ? 6 : denomInfo.decimals;
+ balanceInfo.decimals = denomInfo.decimals || 0;
+ balanceInfo.displayDenom = denomInfo.symbol || '';
+ balanceInfo.minimalDenom = denomInfo.denom;
+
+ balanceInfo.parsedAmount = parseFloat(
+ (Number(balance.amount) / 10.0 ** (denomInfo.decimals || 0)).toFixed(
+ precision
+ )
+ );
+ }
+ });
+
+ if (!balanceInfo.minimalDenom || !balanceInfo.displayDenom) {
+ const filteredDenomInfo = chainAssets?.filter((denomInfo) => {
+ return denomInfo.denom === denom;
+ });
+ balanceInfo.minimalDenom = filteredDenomInfo[0].denom || '';
+ balanceInfo.displayDenom = filteredDenomInfo[0].symbol || '';
+ balanceInfo.decimals = filteredDenomInfo[0].decimals || 0;
+ }
+
+ return {
+ balanceInfo,
+ };
+ };
+
+ return { getAccountAddress, getAvailableBalance };
+};
+
+export default useAccount;
diff --git a/frontend/src/custom-hooks/useChain.ts b/frontend/src/custom-hooks/useChain.ts
new file mode 100644
index 000000000..604c9c271
--- /dev/null
+++ b/frontend/src/custom-hooks/useChain.ts
@@ -0,0 +1,79 @@
+import { chains } from 'chain-registry';
+
+const useChain = () => {
+ const getChainEndpoints = (chainID: string) => {
+ const filteredChain = chains.filter((chain) => chain.chain_id === chainID);
+ const chainData = filteredChain[0];
+ const apis: string[] = [];
+ const rpcs: string[] = [];
+ chainData?.apis?.rest?.slice(0, 3).forEach((api) => {
+ apis.push(api.address);
+ });
+ chainData?.apis?.rpc?.slice(0, 3).forEach((rpc) => {
+ rpcs.push(rpc.address);
+ });
+ return {
+ apis,
+ rpcs,
+ };
+ };
+
+ const getExplorerEndpoints = (chainID: string) => {
+ if (!chainID.length) {
+ return {
+ explorerEndpoint: '',
+ };
+ }
+ const filteredChain = chains.filter((chain) => chain.chain_id === chainID);
+ const chainData = filteredChain[0];
+ let explorerEndpoint = chainData.explorers?.[0].tx_page || '';
+ chainData.explorers?.forEach((explorer) => {
+ if (explorer.kind?.includes('mintscan'))
+ explorerEndpoint = explorer.tx_page || '';
+ });
+ explorerEndpoint = explorerEndpoint ? explorerEndpoint.split('$')[0] : '';
+ return {
+ explorerEndpoint,
+ };
+ };
+
+ const getChainNameFromID = (chainID: string) => {
+ if (!chainID.length) {
+ return {
+ chainName: '',
+ };
+ }
+ const filteredChain = chains.filter((chain) => chain.chain_id === chainID);
+ const chainData = filteredChain[0];
+ return {
+ chainName: chainData.chain_name,
+ };
+ };
+
+ const getChainLogoURI = (chainID: string) => {
+ if (!chainID.length) {
+ return {
+ chainLogo: '',
+ };
+ }
+ const filteredChain = chains.filter((chain) => chain.chain_id === chainID);
+ const chainData = filteredChain[0];
+ return {
+ chainLogo:
+ chainData.logo_URIs?.svg ||
+ chainData.logo_URIs?.jpeg ||
+ chainData.logo_URIs?.jpeg ||
+ chainData.logo_URIs?.png ||
+ '',
+ };
+ };
+
+ return {
+ getChainEndpoints,
+ getExplorerEndpoints,
+ getChainNameFromID,
+ getChainLogoURI,
+ };
+};
+
+export default useChain;
diff --git a/frontend/src/custom-hooks/useGetAssets.ts b/frontend/src/custom-hooks/useGetAssets.ts
new file mode 100644
index 000000000..100915802
--- /dev/null
+++ b/frontend/src/custom-hooks/useGetAssets.ts
@@ -0,0 +1,71 @@
+import { AssetConfig } from '@/types/swaps';
+import { useState } from 'react';
+import { TokenData } from '@0xsquid/sdk/dist/types';
+import axios from 'axios';
+import { SQUID_CLIENT_API, SQUID_ID } from '@/utils/constants';
+import { cleanURL } from '@/utils/util';
+
+const useGetAssets = () => {
+ const [srcAssetsLoading, setSrcAssetsLoading] = useState(false);
+ const [destAssetLoading, setDestAssetsLoading] = useState(false);
+
+ const fetchAssetsInfo = async (chainID: string, isSource: boolean) => {
+ try {
+ if (isSource) {
+ setSrcAssetsLoading(true);
+ } else {
+ setDestAssetsLoading(true);
+ }
+ const result = await axios.get(
+ `${cleanURL(SQUID_CLIENT_API)}/v1/tokens?chainId=${chainID}`,
+ {
+ headers: {
+ 'x-integrator-id': SQUID_ID,
+ },
+ }
+ );
+ const assets: TokenData[] = result.data.tokens;
+ return assets;
+ } catch (error) {
+ console.log('error while fetching data', error);
+ } finally {
+ if (isSource) {
+ setSrcAssetsLoading(false);
+ } else {
+ setDestAssetsLoading(false);
+ }
+ }
+ };
+
+ const getTokensByChainID = async (chainID: string, isSource: boolean) => {
+ if (!chainID?.length) return [];
+ const assets = await fetchAssetsInfo(chainID, isSource);
+ const formattedAssets = assets ? getFormattedAssetsList(assets) : [];
+ return formattedAssets;
+ };
+ return {
+ getTokensByChainID,
+ srcAssetsLoading,
+ destAssetLoading,
+ };
+};
+
+const getFormattedAssetsList = (data: TokenData[]): AssetConfig[] => {
+ const assetsList = data
+ .map((asset): AssetConfig => {
+ return {
+ symbol: asset.symbol || '',
+ label: asset.ibcDenom || '',
+ logoURI: asset.logoURI || '',
+ denom: asset.ibcDenom || '',
+ decimals: asset.decimals || 0,
+ name: asset.name || '',
+ };
+ })
+ .sort((assetA, assetB) => {
+ return assetA.label.localeCompare(assetB.label);
+ });
+ return assetsList;
+};
+
+export default useGetAssets;
diff --git a/frontend/src/custom-hooks/useGetChains.ts b/frontend/src/custom-hooks/useGetChains.ts
new file mode 100644
index 000000000..50c7a179f
--- /dev/null
+++ b/frontend/src/custom-hooks/useGetChains.ts
@@ -0,0 +1,63 @@
+import { ChainConfig } from '@/types/swaps';
+import { SQUID_CHAINS_API, SQUID_ID } from '@/utils/constants';
+import axios from 'axios';
+import { useEffect, useState } from 'react';
+
+const useGetChains = () => {
+ const [chainsInfo, setChainInfo] = useState
([]);
+ const [chainsData, setChainsData] = useState([]);
+ const [loading, setLoading] = useState(true);
+
+ useEffect(() => {
+ fetchChainsInfo();
+ }, []);
+
+ const fetchChainsInfo = async () => {
+ try {
+ const result = await axios.get(SQUID_CHAINS_API, {
+ headers: {
+ 'x-integrator-id': SQUID_ID,
+ },
+ });
+ const chains: ChainData[] = result.data.chains;
+ setChainsData(chains);
+ const chainsData = chains
+ .filter((chain) => chain.chainType === 'cosmos') // To filter cosmos chains
+ .map((chain): ChainConfig => {
+ return {
+ label: chain.axelarChainName,
+ logoURI: chain.chainIconURI || '',
+ chainID: chain.chainId,
+ };
+ })
+ .sort((chainA, chainB) => {
+ return chainA.label.localeCompare(chainB.label);
+ });
+ setChainInfo(chainsData);
+ } catch (error) {
+ console.log('error while fetching data', error);
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ const getChainConfig = (chainID: string) => {
+ const chainConfig = chainsData.filter((chain) => chain.chainId === chainID);
+ return chainConfig[0];
+ };
+
+ const getChainLogoURI = (chainID: string) => {
+ const chainConfig = getChainConfig(chainID);
+ const logoURI = chainConfig?.chainIconURI || '';
+ return logoURI;
+ };
+
+ return {
+ loading,
+ chainsInfo,
+ getChainConfig,
+ getChainLogoURI,
+ };
+};
+
+export default useGetChains;
diff --git a/frontend/src/custom-hooks/useSwaps.ts b/frontend/src/custom-hooks/useSwaps.ts
new file mode 100644
index 000000000..0d4ac0fce
--- /dev/null
+++ b/frontend/src/custom-hooks/useSwaps.ts
@@ -0,0 +1,167 @@
+import { useState } from 'react';
+import {
+ CosmosTransferAction,
+ GetRoute,
+ RouteData,
+ Swap,
+} from '@0xsquid/sdk/dist/types';
+import { SWAP_ROUTE_ERROR } from '@/utils/constants';
+import useChain from './useChain';
+import { useAppSelector } from './StateHooks';
+import { SwapPathObject } from '@/types/swaps';
+import useGetChains from './useGetChains';
+import { fetchSwapRoute } from '@/store/features/swaps/swapsService';
+
+interface GetRouteInputs {
+ sourceChainID: string;
+ sourceDenom: string;
+ destChainID: string;
+ destDenom: string;
+ amount: number;
+ fromAddress: string;
+ toAddress: string;
+}
+
+const useSwaps = () => {
+ const [routeLoading, setRouteLoading] = useState(false);
+ const [routeError, setRouteError] = useState('');
+ const { getChainNameFromID } = useChain();
+ const { getChainLogoURI } = useGetChains();
+ const fromAmount = useAppSelector((state) => state.swaps.amountIn);
+ const toAmount = useAppSelector((state) => state.swaps.amountOut);
+ const getSwapRoute = async ({
+ amount,
+ destChainID,
+ destDenom,
+ sourceChainID,
+ sourceDenom,
+ fromAddress,
+ toAddress,
+ }: GetRouteInputs) => {
+ const params: GetRoute = {
+ fromAddress: fromAddress,
+ fromAmount: amount.toString(),
+ fromChain: sourceChainID,
+ fromToken: sourceDenom,
+ toAddress: toAddress,
+ toChain: destChainID,
+ toToken: destDenom,
+ slippage: 1,
+ quoteOnly: false,
+ };
+ try {
+ setRouteLoading(true);
+ setRouteError('');
+ const res = await fetchSwapRoute(params);
+ setRouteLoading(false);
+ return {
+ resAmount: res.route.estimate.toAmount,
+ route: res.route,
+ };
+ /* eslint-disable @typescript-eslint/no-explicit-any */
+ } catch (error: any) {
+ if (error?.code === 'ERR_NETWORK') {
+ console.log(error.message);
+ setRouteError(error?.message || SWAP_ROUTE_ERROR);
+ } else {
+ const errMsg =
+ error?.response?.data?.errors?.[0]?.message || SWAP_ROUTE_ERROR;
+ console.log('error occured while fetch route', errMsg);
+ setRouteError(errMsg || SWAP_ROUTE_ERROR);
+ }
+ } finally {
+ setRouteLoading(false);
+ }
+ return {
+ resAmount: 0,
+ route: null,
+ };
+ };
+
+ const getSwapPathData = (swapRoute: RouteData) => {
+ const pathData: SwapPathObject[] = [];
+ const fromTokenData = swapRoute.params.fromToken;
+ const toTokenData = swapRoute.params.toToken;
+ const fromTokenLogo = fromTokenData.logoURI;
+ const toTokenLogo = toTokenData.logoURI;
+ const fromChainId = fromTokenData.chainId;
+ const toChainId = toTokenData.chainId;
+ const fromTokenSymbol = fromTokenData.symbol;
+ const toTokenSymbol = toTokenData.symbol;
+ const { chainName: fromChainName } = getChainNameFromID(
+ fromChainId.toString()
+ );
+ const { chainName: toChainName } = getChainNameFromID(toChainId.toString());
+ const fromChainRoute = swapRoute.estimate.route.fromChain;
+ fromChainRoute.forEach((route) => {
+ if (route.type === 'Swap') {
+ const routePath = route as Swap;
+ const pathObject: SwapPathObject = {
+ type: 'swap',
+ value: {
+ dex: routePath.dex,
+ fromToken: {
+ symbol: routePath.fromToken.symbol,
+ logo: routePath.fromToken.logoURI,
+ },
+ toToken: {
+ symbol: routePath.toToken.symbol,
+ logo: routePath.toToken.logoURI,
+ },
+ },
+ };
+ pathData.push(pathObject);
+ } else if (route.type === 'Transfer') {
+ const routePath = route as CosmosTransferAction;
+ const { chainName: fromChainName } = getChainNameFromID(
+ routePath.fromChain
+ );
+ const { chainName: toChainName } = getChainNameFromID(
+ routePath.toChain
+ );
+ const fromChainLogo = getChainLogoURI(
+ routePath.fromToken.chainId.toString()
+ );
+ const toChainLogo = getChainLogoURI(
+ routePath.toToken.chainId.toString()
+ );
+ const pathObject: SwapPathObject = {
+ type: 'transfer',
+ value: {
+ fromChainName,
+ toChainName,
+ tokenLogo: routePath.fromToken.logoURI || routePath.toToken.logoURI,
+ fromChainLogo,
+ toChainLogo,
+ tokenSymbol: routePath.fromToken.symbol || routePath.toToken.symbol,
+ },
+ };
+ pathData.push(pathObject);
+ }
+ });
+ return {
+ fromChainData: {
+ tokenLogo: fromTokenLogo,
+ amount: fromAmount,
+ tokenSymbol: fromTokenSymbol,
+ chainName: fromChainName,
+ },
+ toChainData: {
+ tokenLogo: toTokenLogo,
+ amount: toAmount,
+ tokenSymbol: toTokenSymbol,
+ chainName: toChainName,
+ },
+ pathData,
+ };
+ };
+
+ return {
+ getSwapRoute,
+ getSwapPathData,
+ routeLoading,
+ routeError,
+ };
+};
+
+export default useSwaps;
diff --git a/frontend/src/store/features/swaps/swapsService.ts b/frontend/src/store/features/swaps/swapsService.ts
new file mode 100644
index 000000000..555bf6d5c
--- /dev/null
+++ b/frontend/src/store/features/swaps/swapsService.ts
@@ -0,0 +1,106 @@
+import { TxSwapServiceInputs } from '@/types/swaps';
+import { SQUID_CLIENT_API, SQUID_ID } from '@/utils/constants';
+import { GetRoute, Squid } from '@0xsquid/sdk';
+import { OfflineDirectSigner } from '@cosmjs/proto-signing';
+import { SigningStargateClient } from '@cosmjs/stargate';
+import { TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
+
+const squidClient = new Squid();
+squidClient.setConfig({
+ baseUrl: SQUID_CLIENT_API,
+ integratorId: SQUID_ID,
+});
+squidClient.init();
+
+export const txExecuteSwap = async ({
+ route,
+ signer,
+ signerAddress,
+}: TxSwapServiceInputs): Promise => {
+ try {
+ const tx = (await squidClient.executeRoute({
+ signer: signer,
+ route: route,
+ signerAddress: signerAddress,
+ })) as TxRaw;
+ return tx;
+ } catch (error) {
+ throw error;
+ }
+};
+
+export const connectWithSigner = async (
+ urls: string[],
+ offlineSigner: OfflineDirectSigner
+) => {
+ for (const url of urls) {
+ try {
+ const signer = await SigningStargateClient.connectWithSigner(
+ url,
+ offlineSigner
+ );
+ return signer;
+ /* eslint-disable @typescript-eslint/no-explicit-any */
+ } catch (error: any) {
+ console.error(`Error connecting to ${url}: ${error.message}`);
+ }
+ }
+ throw new Error('Unable to connect to any RPC URLs');
+};
+
+export const trackTransactionStatus = async ({
+ transactionId,
+ fromChainId,
+ toChainId,
+}: {
+ transactionId: string;
+ fromChainId: string;
+ toChainId: string;
+}): Promise => {
+ const squid = new Squid();
+ squid.setConfig({
+ baseUrl: SQUID_CLIENT_API,
+ integratorId: SQUID_ID,
+ });
+ await squid.init();
+
+ let status: string;
+ do {
+ const response = await squid.getStatus({
+ transactionId,
+ integratorId: SQUID_ID,
+ fromChainId,
+ toChainId,
+ });
+ status = response.squidTransactionStatus || '';
+ if (status === 'ongoing') {
+ await new Promise((resolve) => setTimeout(resolve, 3000));
+ }
+ } while (status === 'ongoing');
+
+ return status;
+};
+
+export const connectStargateClient = async (urls: string[]) => {
+ for (const url of urls) {
+ try {
+ const client = await SigningStargateClient.connect(url);
+ return client;
+ /* eslint-disable @typescript-eslint/no-explicit-any */
+ } catch (error: any) {
+ console.error(`Error connecting to ${url}: ${error.message}`);
+ }
+ }
+ throw new Error('Unable to connect to any RPC URLs');
+};
+
+export const fetchSwapRoute = async (params: GetRoute) => {
+ try {
+ const res = await squidClient.getRoute(params);
+ return res;
+ /* eslint-disable @typescript-eslint/no-explicit-any */
+ } catch (err: any) {
+ console.error(err.message);
+ throw new Error(err.message);
+ }
+};
diff --git a/frontend/src/store/features/swaps/swapsSlice.ts b/frontend/src/store/features/swaps/swapsSlice.ts
new file mode 100644
index 000000000..987a95222
--- /dev/null
+++ b/frontend/src/store/features/swaps/swapsSlice.ts
@@ -0,0 +1,227 @@
+'use client';
+
+import { TxStatus } from '@/types/enums';
+import {
+ AssetConfig,
+ ChainConfig,
+ SwapState,
+ TxSwapInputs,
+} from '@/types/swaps';
+import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';
+import {
+ connectStargateClient,
+ connectWithSigner,
+ trackTransactionStatus,
+ txExecuteSwap,
+} from './swapsService';
+import { setError } from '../common/commonSlice';
+import { ERR_UNKNOWN } from '@/utils/errors';
+import { OfflineDirectSigner } from '@cosmjs/proto-signing';
+import { TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
+import { getBalances } from '../bank/bankSlice';
+
+declare let window: WalletWindow;
+
+const initialState: SwapState = {
+ destAsset: null,
+ destChain: null,
+ sourceAsset: null,
+ sourceChain: null,
+ amountIn: '',
+ amountOut: '',
+ fromAddress: '',
+ toAddress: '',
+ txStatus: {
+ status: TxStatus.INIT,
+ error: '',
+ },
+ txSuccess: {
+ txHash: '',
+ },
+ txDestSuccess: {
+ status: '',
+ msg: '',
+ },
+ explorerEndpoint: '',
+};
+
+export const txIBCSwap = createAsyncThunk(
+ 'ibc-swap/txSwap',
+ async (data: TxSwapInputs, { rejectWithValue, dispatch }) => {
+ try {
+ dispatch(setExplorerEndpoint(data.explorerEndpoint));
+ dispatch(resetTx());
+ dispatch(resetTxDestSuccess());
+ const offlineSigner: OfflineDirectSigner =
+ await window.wallet.getOfflineSigner(data.sourceChainID);
+
+ const signerAddress = (await offlineSigner.getAccounts())[0].address;
+
+ const signer = await connectWithSigner(data.rpcURLs, offlineSigner);
+
+ const executionResponse = await txExecuteSwap({
+ route: data.swapRoute,
+ signer,
+ signerAddress,
+ });
+
+ const client = await connectStargateClient(data.rpcURLs);
+
+ const txResponse = await client.broadcastTx(
+ Uint8Array.from(TxRaw.encode(executionResponse).finish())
+ );
+
+ dispatch(setTx(txResponse.transactionHash));
+
+ if (txResponse?.code === 0) {
+ dispatch(
+ getBalances({
+ address: data.signerAddress,
+ baseURL: data.baseURLs[0],
+ baseURLs: data.baseURLs,
+ chainID: data.sourceChainID,
+ })
+ );
+ }
+
+ const txStatus = await trackTransactionStatus({
+ transactionId: txResponse.transactionHash,
+ toChainId: data.destChainID,
+ fromChainId: data.sourceChainID,
+ });
+
+ if (txStatus === 'success') {
+ dispatch(
+ setTxDestSuccess({
+ msg: 'Transaction Successful',
+ status: 'success',
+ })
+ );
+ } else if (txStatus === 'needs_gas') {
+ dispatch(
+ setError({
+ message: 'Transaction could not be completed, needs gas',
+ type: 'error',
+ })
+ );
+ } else if (txStatus === 'partial_success') {
+ dispatch(
+ setTxDestSuccess({
+ msg: 'Transaction Partially Successful',
+ status: 'partial_success',
+ })
+ );
+ } else if (txStatus === 'not_found') {
+ dispatch(
+ setError({
+ message: 'Transaction not found',
+ type: 'error',
+ })
+ );
+ }
+
+ return txStatus;
+ /* eslint-disable @typescript-eslint/no-explicit-any */
+ } catch (error: any) {
+ const errMsg = error?.message || ERR_UNKNOWN;
+ dispatch(
+ setError({
+ message: errMsg,
+ type: 'error',
+ })
+ );
+ return rejectWithValue(error?.message || ERR_UNKNOWN);
+ }
+ }
+);
+
+export const swapsSlice = createSlice({
+ name: 'ibc-swap',
+ initialState,
+ reducers: {
+ setSourceChain: (state, action: PayloadAction) => {
+ state.sourceChain = action.payload;
+ },
+ setSourceAsset: (state, action: PayloadAction) => {
+ state.sourceAsset = action.payload;
+ },
+ setDestChain: (state, action: PayloadAction) => {
+ state.destChain = action.payload;
+ },
+ setDestAsset: (state, action: PayloadAction) => {
+ state.destAsset = action.payload;
+ },
+ setAmountIn: (state, action: PayloadAction) => {
+ state.amountIn = action.payload;
+ },
+ setAmountOut: (state, action: PayloadAction) => {
+ state.amountOut = action.payload;
+ },
+ setToAddress: (state, action: PayloadAction) => {
+ state.toAddress = action.payload;
+ },
+ setFromAddress: (state, action: PayloadAction) => {
+ state.fromAddress = action.payload;
+ },
+ setExplorerEndpoint: (state, action: PayloadAction) => {
+ state.explorerEndpoint = action.payload;
+ },
+ resetTxStatus: (state) => {
+ state.txStatus = {
+ status: TxStatus.INIT,
+ error: '',
+ };
+ },
+ setTx: (state, action: PayloadAction) => {
+ state.txSuccess.txHash = action.payload;
+ },
+ resetTx: (state) => {
+ state.txSuccess.txHash = '';
+ },
+ setTxDestSuccess: (
+ state,
+ action: PayloadAction<{ status: string; msg: string }>
+ ) => {
+ state.txDestSuccess.status = action.payload.status;
+ state.txDestSuccess.msg = action.payload.msg;
+ },
+ resetTxDestSuccess: (state) => {
+ state.txDestSuccess.status = '';
+ state.txDestSuccess.msg = '';
+ },
+ },
+ extraReducers: (builder) => {
+ builder
+ .addCase(txIBCSwap.pending, (state) => {
+ state.txStatus.status = TxStatus.PENDING;
+ state.txStatus.error = '';
+ })
+ .addCase(txIBCSwap.fulfilled, (state) => {
+ state.txStatus.status = TxStatus.IDLE;
+ state.txStatus.error = '';
+ })
+ .addCase(txIBCSwap.rejected, (state, action) => {
+ state.txStatus.status = TxStatus.REJECTED;
+ state.txStatus.error = action.error.message || ERR_UNKNOWN;
+ });
+ },
+});
+
+export const {
+ setDestAsset,
+ setDestChain,
+ setSourceAsset,
+ setSourceChain,
+ setAmountIn,
+ setAmountOut,
+ resetTxStatus,
+ resetTx,
+ setTx,
+ setTxDestSuccess,
+ resetTxDestSuccess,
+ setFromAddress,
+ setToAddress,
+ setExplorerEndpoint,
+} = swapsSlice.actions;
+
+export default swapsSlice.reducer;
diff --git a/frontend/src/store/store.ts b/frontend/src/store/store.ts
index 713c92aee..58011d9a1 100644
--- a/frontend/src/store/store.ts
+++ b/frontend/src/store/store.ts
@@ -13,6 +13,7 @@ import ibcSlice from './features/ibc/ibcSlice';
import authzSlice from './features/authz/authzSlice';
import feegrantSlice from './features/feegrant/feegrantSlice';
import recentTransactionsSlice from './features/recent-transactions/recentTransactionsSlice';
+import swapsSlice from './features/swaps/swapsSlice';
export const store = configureStore({
reducer: {
@@ -28,6 +29,7 @@ export const store = configureStore({
authz: authzSlice,
feegrant: feegrantSlice,
recentTransactions: recentTransactionsSlice,
+ swaps: swapsSlice,
},
});
diff --git a/frontend/src/types/squid.d.ts b/frontend/src/types/squid.d.ts
new file mode 100644
index 000000000..6e3f30d55
--- /dev/null
+++ b/frontend/src/types/squid.d.ts
@@ -0,0 +1,60 @@
+
+
+
+
+interface NativeCurrency {
+ name: string;
+ symbol: string;
+ decimals: number;
+ icon: string;
+}
+
+interface ChainNativeContracts {
+ wrappedNativeToken: string;
+ ensRegistry: string;
+ multicall: string;
+ usdcToken: string;
+}
+
+interface Bridges {
+ axelar: {
+ gateway: string;
+ };
+ cctp: {
+ cctpDomain: number;
+ tokenMessenger: string;
+ };
+}
+
+interface SquidContracts {
+ squidRouter: string;
+ defaultCrosschainToken: string;
+ squidMulticall: string;
+ squidFeeCollector: string;
+}
+
+interface Compliance {
+ trmIdentifier: string;
+}
+
+interface ChainData {
+ axelarChainName: string;
+ networkIdentifier: string;
+ chainType: string;
+ rpc: string;
+ networkName: string;
+ chainId: string;
+ nativeCurrency: NativeCurrency;
+ swapAmountForGas: string;
+ sameChainSwapsSupported: boolean;
+ chainIconURI: string;
+ blockExplorerUrls: string[];
+ chainNativeContracts: ChainNativeContracts;
+ bridges: Bridges;
+ squidContracts: SquidContracts;
+ compliance: Compliance;
+ estimatedRouteDuration: number;
+ estimatedBoostRouteDuration: number;
+ enableBoostByDefault: boolean;
+}
+
diff --git a/frontend/src/types/swaps.d.ts b/frontend/src/types/swaps.d.ts
new file mode 100644
index 000000000..4ef6319b0
--- /dev/null
+++ b/frontend/src/types/swaps.d.ts
@@ -0,0 +1,63 @@
+import { TxStatus } from './enums';
+import { RouteData } from '@0xsquid/sdk';
+import { SigningStargateClient } from '@cosmjs/stargate';
+
+interface ChainConfig {
+ label: string;
+ logoURI: string;
+ chainID: string;
+}
+
+interface AssetConfig {
+ label: string;
+ symbol: string;
+ logoURI: string;
+ denom: string;
+ decimals: number;
+ name: string;
+}
+
+interface SwapState {
+ sourceChain: ChainConfig | null;
+ sourceAsset: AssetConfig | null;
+ destChain: ChainConfig | null;
+ destAsset: AssetConfig | null;
+ amountIn: string;
+ amountOut: string;
+ toAddress: string;
+ fromAddress: string;
+ txStatus: {
+ status: TxStatus;
+ error: string;
+ };
+ txSuccess: {
+ txHash: string;
+ };
+ txDestSuccess: {
+ status: string;
+ msg: string;
+ };
+ explorerEndpoint: string;
+}
+
+interface TxSwapInputs {
+ rpcURLs: string[];
+ swapRoute: RouteData;
+ signerAddress: string;
+ sourceChainID: string;
+ destChainID: string;
+ explorerEndpoint: string;
+ baseURLs: string[];
+}
+
+interface TxSwapServiceInputs {
+ signer: SigningStargateClient;
+ route: RouteData;
+ signerAddress: string;
+}
+
+interface SwapPathObject {
+ type: string;
+ /* eslint-disable @typescript-eslint/no-explicit-any */
+ value: any;
+}
diff --git a/frontend/src/utils/constants.ts b/frontend/src/utils/constants.ts
index 06c6f4d94..98bb1b077 100644
--- a/frontend/src/utils/constants.ts
+++ b/frontend/src/utils/constants.ts
@@ -228,6 +228,9 @@ export const AXIOS_RETRIES_COUNT = 2;
export const MAX_TRY_END_POINTS = 20;
export const NO_FEEGRANTS_BY_ME_TEXT = "You haven't granted any allowance yet";
export const NO_FEEGRANTS_TO_ME_TEXT = "You don't have any feegrants";
+export const SQUID_ID = process.env.NEXT_PUBLIC_SQUID_ID || '';
+export const SQUID_CLIENT_API = 'https://api.0xsquid.com';
+export const SQUID_CHAINS_API = 'https://v2.api.squidrouter.com/v2/chains';
export const ALERT_TYPE_MAP: Record = {
success: 'success',
error: 'error',
@@ -265,3 +268,5 @@ export const COIN_GECKO_IDS: Record = {
umars: 'Mars Protocol',
ucmdx: 'cmdx',
};
+
+export const SWAP_ROUTE_ERROR = 'Failed to fetch routes.';
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index d1076f2f0..385484fdf 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -2,6 +2,19 @@
# yarn lockfile v1
+"@0xsquid/sdk@^1.14.15":
+ version "1.14.15"
+ resolved "https://registry.yarnpkg.com/@0xsquid/sdk/-/sdk-1.14.15.tgz#ce74445b838a8f1321a96c796940a2106a58ada6"
+ integrity sha512-MJUoKYnlqqrkUb1h+6tePPL1luf/ppG9fxD2IrTcTuN1Z/2NYfAlF2jd2J+0MpMVKXpSZishzbW3sBFPjPej8Q==
+ dependencies:
+ "@cosmjs/cosmwasm-stargate" "^0.32.2"
+ "@cosmjs/encoding" "^0.32.2"
+ "@cosmjs/stargate" "^0.32.2"
+ axios "^0.27.2"
+ cosmjs-types "^0.9.0"
+ ethereum-multicall "2.23.0"
+ ethers "^5.7.1"
+
"@aashutoshrathi/word-wrap@^1.2.3":
version "1.2.6"
resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
@@ -35,42 +48,6 @@
tslib "^2.3.0"
zen-observable-ts "^1.2.5"
-"@axelar-network/axelar-cgp-solidity@^4.5.0":
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/@axelar-network/axelar-cgp-solidity/-/axelar-cgp-solidity-4.5.0.tgz#f0456a2a6665302613a4d5243282ce1b18842348"
- integrity sha512-4F4rmHei0cmzeUR7/mW4Bap5rc/KlPV2crD9HA7HTRfl15mVcN6/3z8p+pAm9We6bOrQplNW9KBZ3HJFP3C1Gw==
-
-"@axelar-network/axelarjs-sdk@^0.13.6":
- version "0.13.9"
- resolved "https://registry.yarnpkg.com/@axelar-network/axelarjs-sdk/-/axelarjs-sdk-0.13.9.tgz#e587728e6a62911c7c20838ed0a074a0d5c04d0d"
- integrity sha512-c7UooF1/2V51LAB936GOHRxMtautB7uGXW3QfeEufzoBAPx2Sfx2IB8pT7KHaohdY4zZUI8lVYRNogOVeZhjpg==
- dependencies:
- "@axelar-network/axelar-cgp-solidity" "^4.5.0"
- "@axelar-network/axelarjs-types" "^0.33.0"
- "@cosmjs/json-rpc" "^0.30.1"
- "@cosmjs/stargate" "0.31.0-alpha.1"
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/networks" "^5.7.1"
- "@ethersproject/providers" "^5.7.2"
- "@types/uuid" "^8.3.1"
- bech32 "^2.0.0"
- clone-deep "^4.0.1"
- cross-fetch "^3.1.5"
- ethers "^5.7.2"
- socket.io-client "^4.6.1"
- standard-http-error "^2.0.1"
- string-similarity-js "^2.1.4"
- uuid "^8.3.2"
- ws "^8.13.0"
-
-"@axelar-network/axelarjs-types@^0.33.0":
- version "0.33.0"
- resolved "https://registry.yarnpkg.com/@axelar-network/axelarjs-types/-/axelarjs-types-0.33.0.tgz#070ffbaec6be57259b64a41ee14f98804907732e"
- integrity sha512-aCbX/5G+tgWPjr9tl3dQfJftWwRMkILz61ytach7dKqxtO9G9jlxpNvELJQ6gKVOodUtSY8qBCO/fWU19v4hdQ==
- dependencies:
- long "^5.2.0"
- protobufjs "^7.0.0"
-
"@babel/code-frame@^7.0.0":
version "7.23.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
@@ -121,10 +98,10 @@
"@babel/helper-validator-identifier" "^7.22.20"
to-fast-properties "^2.0.0"
-"@chain-registry/types@^0.17.1":
- version "0.17.1"
- resolved "https://registry.yarnpkg.com/@chain-registry/types/-/types-0.17.1.tgz#0ac7bda6178d3917834578627f232a247fe5def8"
- integrity sha512-O0CgrtJgIlqXvZm1CqDZe/7jZz068O/uuCIoyDXCegFHK03rdHacKcDGwEIUuI0MNUf8YV3jdE4xHQMSAX+79w==
+"@chain-registry/types@^0.18.0", "@chain-registry/types@^0.18.1":
+ version "0.18.1"
+ resolved "https://registry.yarnpkg.com/@chain-registry/types/-/types-0.18.1.tgz#bd926ddf204f2ae986a79b42f0cfe85764e2977a"
+ integrity sha512-H/UnOyd7WdcWHa2FGKxy4MclDDFrbE2rFwaUh9oubNJOey7UBI4dNF10oZIWM/1by15LUgDz45fVbh6uA6W5Tg==
dependencies:
"@babel/runtime" "^7.21.0"
@@ -136,7 +113,17 @@
"@noble/hashes" "^1.0.0"
protobufjs "^6.8.8"
-"@cosmjs/amino@^0.31.0", "@cosmjs/amino@^0.31.0-alpha.1", "@cosmjs/amino@^0.31.1", "@cosmjs/amino@^0.31.3":
+"@cosmjs/amino@0.27.1":
+ version "0.27.1"
+ resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.27.1.tgz#0910256b5aecd794420bb5f7319d98fc63252fa1"
+ integrity sha512-w56ar/nK9+qlvWDpBPRmD0Blk2wfkkLqRi1COs1x7Ll1LF0AtkIBUjbRKplENLbNovK0T3h+w8bHiFm+GBGQOA==
+ dependencies:
+ "@cosmjs/crypto" "0.27.1"
+ "@cosmjs/encoding" "0.27.1"
+ "@cosmjs/math" "0.27.1"
+ "@cosmjs/utils" "0.27.1"
+
+"@cosmjs/amino@0.31.x", "@cosmjs/amino@^0.31.0", "@cosmjs/amino@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.31.3.tgz#0f4aa6bd68331c71bd51b187fa64f00eb075db0a"
integrity sha512-36emtUq895sPRX8PTSOnG+lhJDCVyIcE0Tr5ct59sUbgQiI14y43vj/4WAlJ/utSOxy+Zhj9wxcs4AZfu0BHsw==
@@ -156,7 +143,17 @@
"@cosmjs/math" "^0.32.2"
"@cosmjs/utils" "^0.32.2"
-"@cosmjs/cosmwasm-stargate@^0.31.1":
+"@cosmjs/amino@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.32.3.tgz#b81d4a2b8d61568431a1afcd871e1344a19d97ff"
+ integrity sha512-G4zXl+dJbqrz1sSJ56H/25l5NJEk/pAPIr8piAHgbXYw88OdAOlpA26PQvk2IbSN/rRgVbvlLTNgX2tzz1dyUA==
+ dependencies:
+ "@cosmjs/crypto" "^0.32.3"
+ "@cosmjs/encoding" "^0.32.3"
+ "@cosmjs/math" "^0.32.3"
+ "@cosmjs/utils" "^0.32.3"
+
+"@cosmjs/cosmwasm-stargate@0.31.x", "@cosmjs/cosmwasm-stargate@^0.31.1":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.31.3.tgz#13066822f111832d57c2c5acc9e697ed389713f8"
integrity sha512-Uv9TmCn3650gdFeZm7SEfUZF3uX3lfJfFhXOk6I2ZLr/FrKximnlb+vwAfZaZnWYvlA7qrKtHIjeRNHvT23zcw==
@@ -173,6 +170,38 @@
long "^4.0.0"
pako "^2.0.2"
+"@cosmjs/cosmwasm-stargate@^0.32.2":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/cosmwasm-stargate/-/cosmwasm-stargate-0.32.3.tgz#26a110a6bb0c15fdeef647e3433bd9553a1acd5f"
+ integrity sha512-pqkt+QsLIPNMTRh9m+igJgIpzXXgn1BxmxfAb9zlC23kvsuzY/12un9M7iAdim1NwKXDFeYw46xC2YkprwQp+g==
+ dependencies:
+ "@cosmjs/amino" "^0.32.3"
+ "@cosmjs/crypto" "^0.32.3"
+ "@cosmjs/encoding" "^0.32.3"
+ "@cosmjs/math" "^0.32.3"
+ "@cosmjs/proto-signing" "^0.32.3"
+ "@cosmjs/stargate" "^0.32.3"
+ "@cosmjs/tendermint-rpc" "^0.32.3"
+ "@cosmjs/utils" "^0.32.3"
+ cosmjs-types "^0.9.0"
+ pako "^2.0.2"
+
+"@cosmjs/crypto@0.27.1":
+ version "0.27.1"
+ resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.27.1.tgz#271c853089a3baf3acd6cf0b2122fd49f8815743"
+ integrity sha512-vbcxwSt99tIYJg8Spp00wc3zx72qx+pY3ozGuBN8gAvySnagK9dQ/jHwtWQWdammmdD6oW+75WfIHZ+gNa+Ybg==
+ dependencies:
+ "@cosmjs/encoding" "0.27.1"
+ "@cosmjs/math" "0.27.1"
+ "@cosmjs/utils" "0.27.1"
+ bip39 "^3.0.2"
+ bn.js "^5.2.0"
+ elliptic "^6.5.3"
+ js-sha3 "^0.8.0"
+ libsodium-wrappers "^0.7.6"
+ ripemd160 "^2.0.2"
+ sha.js "^2.4.11"
+
"@cosmjs/crypto@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.31.3.tgz#c752cb6d682fdc735dcb45a2519f89c56ba16c26"
@@ -199,7 +228,29 @@
elliptic "^6.5.4"
libsodium-wrappers-sumo "^0.7.11"
-"@cosmjs/encoding@^0.31.0-alpha.1", "@cosmjs/encoding@^0.31.1", "@cosmjs/encoding@^0.31.3":
+"@cosmjs/crypto@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.32.3.tgz#787f8e659709678722068ee1ddf379f65051a25e"
+ integrity sha512-niQOWJHUtlJm2GG4F00yGT7sGPKxfUwz+2qQ30uO/E3p58gOusTcH2qjiJNVxb8vScYJhFYFqpm/OA/mVqoUGQ==
+ dependencies:
+ "@cosmjs/encoding" "^0.32.3"
+ "@cosmjs/math" "^0.32.3"
+ "@cosmjs/utils" "^0.32.3"
+ "@noble/hashes" "^1"
+ bn.js "^5.2.0"
+ elliptic "^6.5.4"
+ libsodium-wrappers-sumo "^0.7.11"
+
+"@cosmjs/encoding@0.27.1":
+ version "0.27.1"
+ resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.27.1.tgz#3cd5bc0af743485eb2578cdb08cfa84c86d610e1"
+ integrity sha512-rayLsA0ojHeniaRfWWcqSsrE/T1rl1gl0OXVNtXlPwLJifKBeLEefGbOUiAQaT0wgJ8VNGBazVtAZBpJidfDhw==
+ dependencies:
+ base64-js "^1.3.0"
+ bech32 "^1.1.4"
+ readonly-date "^1.0.0"
+
+"@cosmjs/encoding@0.31.x", "@cosmjs/encoding@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.31.3.tgz#2519d9c9ae48368424971f253775c4580b54c5aa"
integrity sha512-6IRtG0fiVYwyP7n+8e54uTx2pLYijO48V3t9TLiROERm5aUAIzIlz6Wp0NYaI5he9nh1lcEGJ1lkquVKFw3sUg==
@@ -217,13 +268,14 @@
bech32 "^1.1.4"
readonly-date "^1.0.0"
-"@cosmjs/json-rpc@^0.30.1":
- version "0.30.1"
- resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.30.1.tgz#16f21305fc167598c8a23a45549b85106b2372bc"
- integrity sha512-pitfC/2YN9t+kXZCbNuyrZ6M8abnCC2n62m+JtU9vQUfaEtVsgy+1Fk4TRQ175+pIWSdBMFi2wT8FWVEE4RhxQ==
+"@cosmjs/encoding@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.32.3.tgz#e245ff511fe4a0df7ba427b5187aab69e3468e5b"
+ integrity sha512-p4KF7hhv8jBQX3MkB3Defuhz/W0l3PwWVYU2vkVuBJ13bJcXyhU9nJjiMkaIv+XP+W2QgRceqNNgFUC5chNR7w==
dependencies:
- "@cosmjs/stream" "^0.30.1"
- xstream "^11.14.0"
+ base64-js "^1.3.0"
+ bech32 "^1.1.4"
+ readonly-date "^1.0.0"
"@cosmjs/json-rpc@^0.31.3":
version "0.31.3"
@@ -241,7 +293,35 @@
"@cosmjs/stream" "^0.32.2"
xstream "^11.14.0"
-"@cosmjs/math@^0.31.0-alpha.1", "@cosmjs/math@^0.31.1", "@cosmjs/math@^0.31.3":
+"@cosmjs/json-rpc@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.32.3.tgz#ccffdd7f722cecfab6daaa7463843b92f5d25355"
+ integrity sha512-JwFRWZa+Y95KrAG8CuEbPVOSnXO2uMSEBcaAB/FBU3Mo4jQnDoUjXvt3vwtFWxfAytrWCn1I4YDFaOAinnEG/Q==
+ dependencies:
+ "@cosmjs/stream" "^0.32.3"
+ xstream "^11.14.0"
+
+"@cosmjs/launchpad@^0.27.1":
+ version "0.27.1"
+ resolved "https://registry.yarnpkg.com/@cosmjs/launchpad/-/launchpad-0.27.1.tgz#b6f1995748be96560f5f01e84d3ff907477dda77"
+ integrity sha512-DcFwGD/z5PK8CzO2sojDxa+Be9EIEtRZb2YawgVnw2Ht/p5FlNv+OVo8qlishpBdalXEN7FvQ1dVeDFEe9TuJw==
+ dependencies:
+ "@cosmjs/amino" "0.27.1"
+ "@cosmjs/crypto" "0.27.1"
+ "@cosmjs/encoding" "0.27.1"
+ "@cosmjs/math" "0.27.1"
+ "@cosmjs/utils" "0.27.1"
+ axios "^0.21.2"
+ fast-deep-equal "^3.1.3"
+
+"@cosmjs/math@0.27.1":
+ version "0.27.1"
+ resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.27.1.tgz#be78857b008ffc6b1ed6fecaa1c4cd5bc38c07d7"
+ integrity sha512-cHWVjmfIjtRc7f80n7x+J5k8pe+vTVTQ0lA82tIxUgqUvgS6rogPP/TmGtTiZ4+NxWxd11DUISY6gVpr18/VNQ==
+ dependencies:
+ bn.js "^5.2.0"
+
+"@cosmjs/math@0.31.x", "@cosmjs/math@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.31.3.tgz#767f7263d12ba1b9ed2f01f68d857597839fd957"
integrity sha512-kZ2C6glA5HDb9hLz1WrftAjqdTBb3fWQsRR+Us2HsjAYdeE6M3VdXMsYCP5M3yiihal1WDwAY2U7HmfJw7Uh4A==
@@ -255,7 +335,14 @@
dependencies:
bn.js "^5.2.0"
-"@cosmjs/proto-signing@^0.31.0", "@cosmjs/proto-signing@^0.31.0-alpha.1", "@cosmjs/proto-signing@^0.31.1", "@cosmjs/proto-signing@^0.31.3":
+"@cosmjs/math@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.32.3.tgz#16e4256f4da507b9352327da12ae64056a2ba6c9"
+ integrity sha512-amumUtZs8hCCnV+lSBaJIiZkGabQm22QGg/IotYrhcmoOEOjt82n7hMNlNXRs7V6WLMidGrGYcswB5zcmp0Meg==
+ dependencies:
+ bn.js "^5.2.0"
+
+"@cosmjs/proto-signing@0.31.x", "@cosmjs/proto-signing@^0.31.0", "@cosmjs/proto-signing@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.31.3.tgz#20440b7b96fb2cd924256a10e656fd8d4481cdcd"
integrity sha512-24+10/cGl6lLS4VCrGTCJeDRPQTn1K5JfknzXzDIHOx8THR31JxA7/HV5eWGHqWgAbudA7ccdSvEK08lEHHtLA==
@@ -280,6 +367,18 @@
"@cosmjs/utils" "^0.32.2"
cosmjs-types "^0.9.0"
+"@cosmjs/proto-signing@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.32.3.tgz#91ae149b747d18666a6ccc924165b306431f7c0d"
+ integrity sha512-kSZ0ZUY0DwcRT0NcIn2HkadH4NKlwjfZgbLj1ABwh/4l0RgeT84QCscZCu63tJYq3K6auwqTiZSZERwlO4/nbg==
+ dependencies:
+ "@cosmjs/amino" "^0.32.3"
+ "@cosmjs/crypto" "^0.32.3"
+ "@cosmjs/encoding" "^0.32.3"
+ "@cosmjs/math" "^0.32.3"
+ "@cosmjs/utils" "^0.32.3"
+ cosmjs-types "^0.9.0"
+
"@cosmjs/socket@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.31.3.tgz#52086380f4de2fc3514b90b0484b4b1c4c50e39e"
@@ -300,25 +399,17 @@
ws "^7"
xstream "^11.14.0"
-"@cosmjs/stargate@0.31.0-alpha.1":
- version "0.31.0-alpha.1"
- resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.31.0-alpha.1.tgz#85b9d41cd5e73c3b8db73115aa1c9cd6eb5914fd"
- integrity sha512-kCTUT3niB2hvcHjhlxpM8cNw1KOVmgZROdJUQaO8Ts4j22OyRZRFdwRPrOIuAKpqhVW2I1vI2HQL9Bg7pk9Glw==
+"@cosmjs/socket@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.32.3.tgz#fa5c36bf58e87c0ad865d6318ecb0f8d9c89a28a"
+ integrity sha512-F2WwNmaUPdZ4SsH6Uyreq3wQk7jpaEkb3wfOP951f5Jt6HCW/PxbxhKzHkAAf6+Sqks6SPhkbWoE8XaZpjL2KA==
dependencies:
- "@confio/ics23" "^0.6.8"
- "@cosmjs/amino" "^0.31.0-alpha.1"
- "@cosmjs/encoding" "^0.31.0-alpha.1"
- "@cosmjs/math" "^0.31.0-alpha.1"
- "@cosmjs/proto-signing" "^0.31.0-alpha.1"
- "@cosmjs/stream" "^0.31.0-alpha.1"
- "@cosmjs/tendermint-rpc" "^0.31.0-alpha.1"
- "@cosmjs/utils" "^0.31.0-alpha.1"
- cosmjs-types "^0.8.0"
- long "^4.0.0"
- protobufjs "~6.11.3"
+ "@cosmjs/stream" "^0.32.3"
+ isomorphic-ws "^4.0.1"
+ ws "^7"
xstream "^11.14.0"
-"@cosmjs/stargate@^0.31.1", "@cosmjs/stargate@^0.31.3":
+"@cosmjs/stargate@0.31.x", "@cosmjs/stargate@^0.31.1", "@cosmjs/stargate@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.31.3.tgz#a2b38e398097a00f897dbd8f02d4d347d8fed818"
integrity sha512-53NxnzmB9FfXpG4KjOUAYAvWLYKdEmZKsutcat/u2BrDXNZ7BN8jim/ENcpwXfs9/Og0K24lEIdvA4gsq3JDQw==
@@ -336,7 +427,7 @@
protobufjs "~6.11.3"
xstream "^11.14.0"
-"@cosmjs/stargate@^0.32.1":
+"@cosmjs/stargate@^0.32.1", "@cosmjs/stargate@^0.32.2":
version "0.32.2"
resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.32.2.tgz#73718c5c6a3ae138682ee9987333d911eca22a13"
integrity sha512-AsJa29fT7Jd4xt9Ai+HMqhyj7UQu7fyYKdXj/8+/9PD74xe6lZSYhQPcitUmMLJ1ckKPgXSk5Dd2LbsQT0IhZg==
@@ -352,14 +443,23 @@
cosmjs-types "^0.9.0"
xstream "^11.14.0"
-"@cosmjs/stream@^0.30.1":
- version "0.30.1"
- resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.30.1.tgz#ba038a2aaf41343696b1e6e759d8e03a9516ec1a"
- integrity sha512-Fg0pWz1zXQdoxQZpdHRMGvUH5RqS6tPv+j9Eh7Q953UjMlrwZVo0YFLC8OTf/HKVf10E4i0u6aM8D69Q6cNkgQ==
+"@cosmjs/stargate@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.32.3.tgz#5a92b222ada960ebecea72cc9f366370763f4b66"
+ integrity sha512-OQWzO9YWKerUinPIxrO1MARbe84XkeXJAW0lyMIjXIEikajuXZ+PwftiKA5yA+8OyditVmHVLtPud6Pjna2s5w==
dependencies:
+ "@confio/ics23" "^0.6.8"
+ "@cosmjs/amino" "^0.32.3"
+ "@cosmjs/encoding" "^0.32.3"
+ "@cosmjs/math" "^0.32.3"
+ "@cosmjs/proto-signing" "^0.32.3"
+ "@cosmjs/stream" "^0.32.3"
+ "@cosmjs/tendermint-rpc" "^0.32.3"
+ "@cosmjs/utils" "^0.32.3"
+ cosmjs-types "^0.9.0"
xstream "^11.14.0"
-"@cosmjs/stream@^0.31.0-alpha.1", "@cosmjs/stream@^0.31.3":
+"@cosmjs/stream@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.31.3.tgz#53428fd62487ec08fc3886a50a3feeb8b2af2e66"
integrity sha512-8keYyI7X0RjsLyVcZuBeNjSv5FA4IHwbFKx7H60NHFXszN8/MvXL6aZbNIvxtcIHHsW7K9QSQos26eoEWlAd+w==
@@ -373,7 +473,14 @@
dependencies:
xstream "^11.14.0"
-"@cosmjs/tendermint-rpc@^0.31.0-alpha.1", "@cosmjs/tendermint-rpc@^0.31.1", "@cosmjs/tendermint-rpc@^0.31.3":
+"@cosmjs/stream@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.32.3.tgz#7522579aaf18025d322c2f33d6fb7573220395d6"
+ integrity sha512-J2zVWDojkynYifAUcRmVczzmp6STEpyiAARq0rSsviqjreGIfspfuws/8rmkPa6qQBZvpQOBQCm2HyZZwYplIw==
+ dependencies:
+ xstream "^11.14.0"
+
+"@cosmjs/tendermint-rpc@0.31.x", "@cosmjs/tendermint-rpc@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.31.3.tgz#d1a2bc5b3c98743631c9b55888589d352403c9b3"
integrity sha512-s3TiWkPCW4QceTQjpYqn4xttUJH36mTPqplMl+qyocdqk5+X5mergzExU/pHZRWQ4pbby8bnR7kMvG4OC1aZ8g==
@@ -405,7 +512,28 @@
readonly-date "^1.0.0"
xstream "^11.14.0"
-"@cosmjs/utils@^0.31.0-alpha.1", "@cosmjs/utils@^0.31.3":
+"@cosmjs/tendermint-rpc@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.32.3.tgz#f0406b9f0233e588fb924dca8c614972f9038aff"
+ integrity sha512-xeprW+VR9xKGstqZg0H/KBZoUp8/FfFyS9ljIUTLM/UINjP2MhiwncANPS2KScfJVepGufUKk0/phHUeIBSEkw==
+ dependencies:
+ "@cosmjs/crypto" "^0.32.3"
+ "@cosmjs/encoding" "^0.32.3"
+ "@cosmjs/json-rpc" "^0.32.3"
+ "@cosmjs/math" "^0.32.3"
+ "@cosmjs/socket" "^0.32.3"
+ "@cosmjs/stream" "^0.32.3"
+ "@cosmjs/utils" "^0.32.3"
+ axios "^1.6.0"
+ readonly-date "^1.0.0"
+ xstream "^11.14.0"
+
+"@cosmjs/utils@0.27.1":
+ version "0.27.1"
+ resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.27.1.tgz#1c8efde17256346ef142a3bd15158ee4055470e2"
+ integrity sha512-VG7QPDiMUzVPxRdJahDV8PXxVdnuAHiIuG56hldV4yPnOz/si/DLNd7VAUUA5923b6jS1Hhev0Hr6AhEkcxBMg==
+
+"@cosmjs/utils@^0.31.3":
version "0.31.3"
resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.31.3.tgz#f97bbfda35ad69e80cd5c7fe0a270cbda16db1ed"
integrity sha512-VBhAgzrrYdIe0O5IbKRqwszbQa7ZyQLx9nEQuHQ3HUplQW7P44COG/ye2n6AzCudtqxmwdX7nyX8ta1J07GoqA==
@@ -415,6 +543,11 @@
resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.32.2.tgz#324304aa85bfa6f10561cc17781d824d02130897"
integrity sha512-Gg5t+eR7vPJMAmhkFt6CZrzPd0EKpAslWwk5rFVYZpJsM8JG5KT9XQ99hgNM3Ov6ScNoIWbXkpX27F6A9cXR4Q==
+"@cosmjs/utils@^0.32.3":
+ version "0.32.3"
+ resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.32.3.tgz#5dcaee6dd7cc846cdc073e9a7a7f63242f5f7e31"
+ integrity sha512-WCZK4yksj2hBDz4w7xFZQTRZQ/RJhBX26uFHmmQFIcNUUVAihrLO+RerqJgk0dZqC42wstM9pEUQGtPmLcIYvg==
+
"@date-io/core@^2.15.0", "@date-io/core@^2.17.0":
version "2.17.0"
resolved "https://registry.yarnpkg.com/@date-io/core/-/core-2.17.0.tgz#360a4d0641f069776ed22e457876e8a8a58c205e"
@@ -783,7 +916,7 @@
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892"
integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
-"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0", "@ethersproject/networks@^5.7.1":
+"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0":
version "5.7.1"
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6"
integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
@@ -805,7 +938,7 @@
dependencies:
"@ethersproject/logger" "^5.7.0"
-"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.7.2":
+"@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.0.10":
version "5.7.2"
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb"
integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==
@@ -1120,17 +1253,7 @@
resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.2.tgz#148e96dfd6e68747da41a311b9ee4559bb1b1471"
integrity sha512-E4magOks77DK47FwHUIGH0RYWSgRBfGdK56kIHSVeB9uIS4pPFr4N2kIVsXdQQo4LzOsENKV5KAhRlRL7eMAdg==
-"@injectivelabs/core-proto-ts@^0.0.18":
- version "0.0.18"
- resolved "https://registry.yarnpkg.com/@injectivelabs/core-proto-ts/-/core-proto-ts-0.0.18.tgz#aa60ffde2b52cbbf80a18ba77833ecad605d8fd6"
- integrity sha512-WSZS7SQ+I/m8jdc7fhzkMTUhA7i5nVTeKbN6QGqKmOwQ/F+PqM75vDHD9Y9NbLPx9P+m7hyUzSHz4zmajth5jw==
- dependencies:
- "@injectivelabs/grpc-web" "^0.0.1"
- google-protobuf "^3.14.0"
- protobufjs "^7.0.0"
- rxjs "^7.4.0"
-
-"@injectivelabs/core-proto-ts@^0.0.21":
+"@injectivelabs/core-proto-ts@0.0.x", "@injectivelabs/core-proto-ts@^0.0.21":
version "0.0.21"
resolved "https://registry.yarnpkg.com/@injectivelabs/core-proto-ts/-/core-proto-ts-0.0.21.tgz#b52d4bee7556ce57c7c7e2c1ec7f6b920b4c2ffd"
integrity sha512-RBxSkRBCty60R/l55/D1jsSW0Aof5dyGFhCFdN3A010KjMv/SzZGGr+6DZPY/hflyFeaJzDv/VTopCymKNRBvQ==
@@ -1150,13 +1273,13 @@
protobufjs "^7.0.0"
rxjs "^7.4.0"
-"@injectivelabs/exceptions@^1.14.5":
- version "1.14.5"
- resolved "https://registry.yarnpkg.com/@injectivelabs/exceptions/-/exceptions-1.14.5.tgz#3ee2cb89f591c83bd325487511b3b553b19602d8"
- integrity sha512-WQ+hxpKz4g4+ZXNTXLFKpf9D9uosleZLqC++2+wK81IQ/lcwi5GrTLYdasOhJeu3c+LKWxHQRHJfSsvt8TQWbA==
+"@injectivelabs/exceptions@^1.14.6":
+ version "1.14.6"
+ resolved "https://registry.yarnpkg.com/@injectivelabs/exceptions/-/exceptions-1.14.6.tgz#86f93815eb6bc60902c43072b8e212146d78614e"
+ integrity sha512-A+URJwygeDjFPhulGMNVw70z738NtpIiCr0W8q4Kr4Ggg30i+AaVAjViYLm56pSMXXpomu9CYJ/sY6ijQn48IQ==
dependencies:
"@injectivelabs/grpc-web" "^0.0.1"
- "@injectivelabs/ts-types" "^1.14.5"
+ "@injectivelabs/ts-types" "^1.14.6"
http-status-codes "^2.2.0"
link-module-alias "^1.2.0"
shx "^0.3.2"
@@ -1178,67 +1301,67 @@
dependencies:
browser-headers "^0.4.1"
-"@injectivelabs/indexer-proto-ts@1.11.32":
- version "1.11.32"
- resolved "https://registry.yarnpkg.com/@injectivelabs/indexer-proto-ts/-/indexer-proto-ts-1.11.32.tgz#a91d9368ca9a3a782bbe9722762f8d7d754ebafd"
- integrity sha512-gCkbMlBq34MY2xZcauDEsCP0h5l/FgKMwCgJ8aWGaTkh27XBWpl1zvlreuWg/IpSvTPJZBoADW9KqixqyoBdJw==
+"@injectivelabs/indexer-proto-ts@1.11.36":
+ version "1.11.36"
+ resolved "https://registry.yarnpkg.com/@injectivelabs/indexer-proto-ts/-/indexer-proto-ts-1.11.36.tgz#4a1476e52a5003a077b30a22679272eb9dd18d7a"
+ integrity sha512-s7E3Y28JrkylDwRVfF/AvcPy/zPgz52W+XbQ0FOcsqPof78xp8FvnM3ubVZi0Dad39LgDB5eeiMFPmeuLp8Uew==
dependencies:
"@injectivelabs/grpc-web" "^0.0.1"
google-protobuf "^3.14.0"
protobufjs "^7.0.0"
rxjs "^7.4.0"
-"@injectivelabs/mito-proto-ts@1.0.55":
- version "1.0.55"
- resolved "https://registry.yarnpkg.com/@injectivelabs/mito-proto-ts/-/mito-proto-ts-1.0.55.tgz#78cc7a11ea4a433f3897ec5acc48d62ccf42cad6"
- integrity sha512-clFKpU/LCYvYiPg5PRjhVJFTxKcfJHzaj5saJHuL32LaOaB3Rd8L3CqP9qUrg78L7eKjjXjyG97U3NdRdZBlWg==
+"@injectivelabs/mito-proto-ts@1.0.62":
+ version "1.0.62"
+ resolved "https://registry.yarnpkg.com/@injectivelabs/mito-proto-ts/-/mito-proto-ts-1.0.62.tgz#45fc0746af7d1b283625816caeb9fff9887e050f"
+ integrity sha512-WtoO80Y597nZiAuE4H+L208I0i3ByWytR+HqABdCaA26uJ7F1LhXw8YXxh3pP9z0LAeW31T+N7bwtOMlVR4riA==
dependencies:
"@injectivelabs/grpc-web" "^0.0.1"
google-protobuf "^3.14.0"
protobufjs "^7.0.0"
rxjs "^7.4.0"
-"@injectivelabs/networks@^1.14.5":
- version "1.14.5"
- resolved "https://registry.yarnpkg.com/@injectivelabs/networks/-/networks-1.14.5.tgz#4d7536fede8edcc24ecbd2bceeca11affa7d24e9"
- integrity sha512-9GINd/pPBX6Jyc26pmlLC54s7nLlXsBLZ/1fo8a0nvHkrrODRDE4IldP6KsA9OLVomMPk5TyBUgYLGgM3ST9GA==
+"@injectivelabs/networks@^1.14.6":
+ version "1.14.6"
+ resolved "https://registry.yarnpkg.com/@injectivelabs/networks/-/networks-1.14.6.tgz#29be5e81e60d725a0eef2db2c9b6ba0b4588141b"
+ integrity sha512-O1IkPFJl8ThNL6N+k/9OimrgCYsSWQ8A1FtVMXSQge+0QRZsDKSpRmQRwE601otXXauO31nOUct5AaiWPffXVQ==
dependencies:
- "@injectivelabs/exceptions" "^1.14.5"
- "@injectivelabs/ts-types" "^1.14.5"
- "@injectivelabs/utils" "^1.14.5"
+ "@injectivelabs/exceptions" "^1.14.6"
+ "@injectivelabs/ts-types" "^1.14.6"
+ "@injectivelabs/utils" "^1.14.6"
link-module-alias "^1.2.0"
shx "^0.3.2"
-"@injectivelabs/sdk-ts@^1.12.1":
- version "1.14.5"
- resolved "https://registry.yarnpkg.com/@injectivelabs/sdk-ts/-/sdk-ts-1.14.5.tgz#75f4723da8a5c697f1fc04eec19529788a317c93"
- integrity sha512-j/6EcvNgQn563L0P5x80cZDTbYYbsXmHgtIbj8DCzemzgPRadmZLtlMDBjMQZ0ZcMhDSMfVOCINBOB2bBz2qMw==
+"@injectivelabs/sdk-ts@1.x":
+ version "1.14.7"
+ resolved "https://registry.yarnpkg.com/@injectivelabs/sdk-ts/-/sdk-ts-1.14.7.tgz#16e84cecb14fe796314f8f616567511e1030f043"
+ integrity sha512-Qm8y8jKCMyNfYZGZVI+p0SIGJPtP5M9/DPFyPK+JSR2OOU0J4MX2yS/tQB5ViC/3Bt7yQhw/l3Rop93e7pTZEg==
dependencies:
"@apollo/client" "^3.5.8"
- "@cosmjs/amino" "^0.31.3"
- "@cosmjs/proto-signing" "^0.31.3"
- "@cosmjs/stargate" "^0.31.3"
+ "@cosmjs/amino" "^0.32.2"
+ "@cosmjs/proto-signing" "^0.32.2"
+ "@cosmjs/stargate" "^0.32.2"
"@ensdomains/ens-validation" "^0.1.0"
"@ensdomains/eth-ens-namehash" "^2.0.15"
"@ethersproject/bytes" "^5.7.0"
"@injectivelabs/core-proto-ts" "^0.0.21"
"@injectivelabs/dmm-proto-ts" "1.0.19"
- "@injectivelabs/exceptions" "^1.14.5"
+ "@injectivelabs/exceptions" "^1.14.6"
"@injectivelabs/grpc-web" "^0.0.1"
"@injectivelabs/grpc-web-node-http-transport" "^0.0.2"
"@injectivelabs/grpc-web-react-native-transport" "^0.0.2"
- "@injectivelabs/indexer-proto-ts" "1.11.32"
- "@injectivelabs/mito-proto-ts" "1.0.55"
- "@injectivelabs/networks" "^1.14.5"
+ "@injectivelabs/indexer-proto-ts" "1.11.36"
+ "@injectivelabs/mito-proto-ts" "1.0.62"
+ "@injectivelabs/networks" "^1.14.6"
"@injectivelabs/test-utils" "^1.14.3"
- "@injectivelabs/token-metadata" "^1.14.5"
- "@injectivelabs/ts-types" "^1.14.5"
- "@injectivelabs/utils" "^1.14.5"
+ "@injectivelabs/token-metadata" "^1.14.7"
+ "@injectivelabs/ts-types" "^1.14.6"
+ "@injectivelabs/utils" "^1.14.6"
"@metamask/eth-sig-util" "^4.0.0"
axios "^0.27.2"
bech32 "^2.0.0"
bip39 "^3.0.4"
- cosmjs-types "^0.7.1"
+ cosmjs-types "^0.9.0"
ethereumjs-util "^7.1.4"
ethers "^5.7.2"
google-protobuf "^3.21.0"
@@ -1264,15 +1387,15 @@
snakecase-keys "^5.1.2"
store2 "^2.12.0"
-"@injectivelabs/token-metadata@^1.14.5":
- version "1.14.5"
- resolved "https://registry.yarnpkg.com/@injectivelabs/token-metadata/-/token-metadata-1.14.5.tgz#73552e3e78e5d15f5317a05a5812d0be3647e38d"
- integrity sha512-GiIiNDixfvbfEjzZG7ixtGYmJllFIcA2Xl1LnsK5yawT8Q+/SoSIJig4tE+0CC/AaGHS1GxDKySrIdMse7PZ0w==
+"@injectivelabs/token-metadata@^1.14.7":
+ version "1.14.7"
+ resolved "https://registry.yarnpkg.com/@injectivelabs/token-metadata/-/token-metadata-1.14.7.tgz#0adba14e76e8882dc13a6a488ced0762fd888ae3"
+ integrity sha512-RRRuyirzoThwQ5P8D3STH2YOavGsdnetQy6ZPQ8yA7VUavt00KBB26M92zSLbiUz5VrxhPHDCEEkuJVWx+xtmw==
dependencies:
- "@injectivelabs/exceptions" "^1.14.5"
- "@injectivelabs/networks" "^1.14.5"
- "@injectivelabs/ts-types" "^1.14.5"
- "@injectivelabs/utils" "^1.14.5"
+ "@injectivelabs/exceptions" "^1.14.6"
+ "@injectivelabs/networks" "^1.14.6"
+ "@injectivelabs/ts-types" "^1.14.6"
+ "@injectivelabs/utils" "^1.14.6"
"@types/lodash.values" "^4.3.6"
copyfiles "^2.4.1"
jsonschema "^1.4.0"
@@ -1281,21 +1404,21 @@
lodash.values "^4.3.0"
shx "^0.3.2"
-"@injectivelabs/ts-types@^1.14.5":
- version "1.14.5"
- resolved "https://registry.yarnpkg.com/@injectivelabs/ts-types/-/ts-types-1.14.5.tgz#e7ed5fa87052b0763908bd77b132775aa37a097c"
- integrity sha512-dwmEJE90vMr1zkQhz5lX2280sBMe2GvAj98vOHoL2RLTo0OQkJZrirUHwsTkexJf7sFZIT2PlmLCfix9Ulcp5A==
+"@injectivelabs/ts-types@^1.14.6":
+ version "1.14.6"
+ resolved "https://registry.yarnpkg.com/@injectivelabs/ts-types/-/ts-types-1.14.6.tgz#917a14c8fed81c683bc7dece3ec254388123a10e"
+ integrity sha512-/Ax5eCSfE9OhcyUc9wZk/LFKTYhIY9RJIaNT/n92rbHjXSfXRLSX+Bvk62vC9Ej+SEBPp77WYngtrePPA1HEgw==
dependencies:
link-module-alias "^1.2.0"
shx "^0.3.2"
-"@injectivelabs/utils@^1.14.5":
- version "1.14.5"
- resolved "https://registry.yarnpkg.com/@injectivelabs/utils/-/utils-1.14.5.tgz#4fe9055c2c36f6f09faed9a95e2d77ae8daaf71f"
- integrity sha512-L2ul/7rgop8RLJBhlXjt6Q/A6fXeRZ3hhCZFXGXmA63vz9RSqOFHILiRp6hAFsuZbiITjmVx0eubFPaQU0MymA==
+"@injectivelabs/utils@^1.14.6":
+ version "1.14.6"
+ resolved "https://registry.yarnpkg.com/@injectivelabs/utils/-/utils-1.14.6.tgz#1e5c60973f9b2bb1a0334a0cd5b3f56377904472"
+ integrity sha512-5I0h4GiLB5PPTl+g2lpevRP+WScvEbntdkoUQVtAdHewl4kutd5p1Kcnoi1Nvpq+sz5N/e9qtBIRuyxG38akOg==
dependencies:
- "@injectivelabs/exceptions" "^1.14.5"
- "@injectivelabs/ts-types" "^1.14.5"
+ "@injectivelabs/exceptions" "^1.14.6"
+ "@injectivelabs/ts-types" "^1.14.6"
axios "^0.21.1"
bignumber.js "^9.0.1"
http-status-codes "^2.2.0"
@@ -1348,6 +1471,21 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
+"@keplr-wallet/types@0.12.72":
+ version "0.12.72"
+ resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.72.tgz#0e7d35a0c4f6758aa4c89d8b2044f388031692e3"
+ integrity sha512-gDP+NCPa4seTT1xU9bkIKbMw7N/LPla9/4/amDLIGyFb6OEjfnFkRuReI/cZe/8aEvlkYAKnfB0UMipHobsn5g==
+ dependencies:
+ long "^4.0.0"
+
+"@keplr-wallet/types@^0.11.12":
+ version "0.11.64"
+ resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.11.64.tgz#5a308c8c019b4e18f894e0f35f0904b60134d605"
+ integrity sha512-GgzeLDHHfZFyne3O7UIfFHj/uYqVbxAZI31RbBwt460OBbvwQzjrlZwvJW3vieWRAgxKSITjzEDBl2WneFTQdQ==
+ dependencies:
+ axios "^0.27.2"
+ long "^4.0.0"
+
"@keplr-wallet/types@^0.12.39":
version "0.12.63"
resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.12.63.tgz#684b018d0b9fd9f9eee79eb530f2306dfc9dedfc"
@@ -1355,6 +1493,15 @@
dependencies:
long "^4.0.0"
+"@keplr-wallet/unit@^0.12.67":
+ version "0.12.72"
+ resolved "https://registry.yarnpkg.com/@keplr-wallet/unit/-/unit-0.12.72.tgz#8a818be8d271acfe127dc029ef9c85b3be4bdb9c"
+ integrity sha512-egrh0L/uo6MQrAfVi1V8GQB1eml1ZbfWDiv5gpU6AkeAte4Q1DIe8qkYqeJOJ+KW1TurnxDw9L+9/T/i4Lu8Jg==
+ dependencies:
+ "@keplr-wallet/types" "0.12.72"
+ big-integer "^1.6.48"
+ utility-types "^3.10.0"
+
"@kurkle/color@^0.3.0":
version "0.3.2"
resolved "https://registry.yarnpkg.com/@kurkle/color/-/color-0.3.2.tgz#5acd38242e8bde4f9986e7913c8fdf49d3aa199f"
@@ -1697,32 +1844,26 @@
"@noble/hashes" "~1.3.0"
"@scure/base" "~1.1.0"
-"@skip-router/core@^1.1.1":
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/@skip-router/core/-/core-1.2.7.tgz#9be82f5ef9fae57684dd6312f7d3b8bc0eec7a48"
- integrity sha512-Zbz7wH57yJPU2hJ3DICnCDDxFYYqWq9aF4yCTAOTMdOA6HPx6EJqiO2xAaSsN6OwtkTazNqUCkZ0MS41r0Kyjw==
- dependencies:
- "@axelar-network/axelarjs-sdk" "^0.13.6"
- "@cosmjs/amino" "^0.31.1"
- "@cosmjs/cosmwasm-stargate" "^0.31.1"
- "@cosmjs/encoding" "^0.31.1"
- "@cosmjs/math" "^0.31.1"
- "@cosmjs/proto-signing" "^0.31.1"
- "@cosmjs/stargate" "^0.31.1"
- "@cosmjs/tendermint-rpc" "^0.31.1"
- "@injectivelabs/core-proto-ts" "^0.0.18"
- "@injectivelabs/sdk-ts" "^1.12.1"
- axios "^1.4.0"
- chain-registry "^1.25.4"
- cosmjs-types "^0.8.0"
- faker "^6.6.6"
- keccak256 "^1.0.6"
- viem "^1.12.2"
-
-"@socket.io/component-emitter@~3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553"
- integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==
+"@skip-router/core@^1.3.11":
+ version "1.3.11"
+ resolved "https://registry.yarnpkg.com/@skip-router/core/-/core-1.3.11.tgz#f59ecfae353ecb5cc74165c1b9f543e4001c9f33"
+ integrity sha512-lStTsB1F/ODhyrkh6kpPT+FrnbjgCmBhm0aKv7F8zI2Y8KHNdNtsB8dQlPHs4tidjHr1e2QkHRsaiwkLRyt6Hw==
+ dependencies:
+ "@cosmjs/amino" "0.31.x"
+ "@cosmjs/cosmwasm-stargate" "0.31.x"
+ "@cosmjs/encoding" "0.31.x"
+ "@cosmjs/math" "0.31.x"
+ "@cosmjs/proto-signing" "0.31.x"
+ "@cosmjs/stargate" "0.31.x"
+ "@cosmjs/tendermint-rpc" "0.31.x"
+ "@injectivelabs/core-proto-ts" "0.0.x"
+ "@injectivelabs/sdk-ts" "1.x"
+ "@keplr-wallet/unit" "^0.12.67"
+ axios "1.x"
+ cosmjs-types "0.8.x"
+ keccak256 "1.x"
+ kujira.js "0.9.x"
+ viem "1.x"
"@swc/helpers@0.5.2":
version "0.5.2"
@@ -1745,6 +1886,11 @@
dependencies:
"@types/node" "*"
+"@types/google-protobuf@^3.15.6":
+ version "3.15.12"
+ resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.15.12.tgz#eb2ba0eddd65712211a2b455dc6071d665ccf49b"
+ integrity sha512-40um9QqwHjRS92qnOaDpL7RmDK15NuZYo9HihiJRbYkMQZlWnuH8AdvbMy8/o6lgLmKbDUKa+OALCltHdbOTpQ==
+
"@types/hoist-non-react-statics@^3.3.1":
version "3.3.5"
resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494"
@@ -1875,11 +2021,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/uuid@^8.3.1":
- version "8.3.4"
- resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc"
- integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==
-
"@typescript-eslint/eslint-plugin@^6.9.1":
version "6.19.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz#bb0676af940bc23bf299ca58dbdc6589c2548c2e"
@@ -2215,6 +2356,15 @@ axios-retry@^4.0.0:
dependencies:
is-retry-allowed "^2.2.0"
+axios@1.x:
+ version "1.6.7"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7"
+ integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==
+ dependencies:
+ follow-redirects "^1.15.4"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
+
axios@^0.21.1, axios@^0.21.2:
version "0.21.4"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
@@ -2230,7 +2380,7 @@ axios@^0.27.2:
follow-redirects "^1.14.9"
form-data "^4.0.0"
-axios@^1.4.0, axios@^1.5.1, axios@^1.6.0:
+axios@^1.5.1, axios@^1.6.0:
version "1.6.5"
resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.5.tgz#2c090da14aeeab3770ad30c3a1461bc970fb0cd8"
integrity sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==
@@ -2287,6 +2437,11 @@ bech32@^2.0.0:
resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355"
integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==
+big-integer@^1.6.48:
+ version "1.6.52"
+ resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85"
+ integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==
+
bignumber.js@^9.0.1, bignumber.js@^9.1.2:
version "9.1.2"
resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c"
@@ -2297,7 +2452,7 @@ binary-extensions@^2.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-bip39@^3.0.4:
+bip39@^3.0.2, bip39@^3.0.4:
version "3.1.0"
resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3"
integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==
@@ -2438,13 +2593,21 @@ caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001565, caniuse-lite@^1.0.300015
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz#45c065216110f46d6274311a4b3fcf6278e0852a"
integrity sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==
-chain-registry@^1.25.4:
- version "1.25.4"
- resolved "https://registry.yarnpkg.com/chain-registry/-/chain-registry-1.25.4.tgz#6d1546cd6070201809ba255924a407ad71116311"
- integrity sha512-QxBSg4lLR4CXqDgratAAqelw3K/WdROKNvq+IThuirXMfCcuL6wNPVunlvz3gPPdnyAA6D+dSZ4ky4ZWavDcOg==
+chain-registry@1.28.1:
+ version "1.28.1"
+ resolved "https://registry.yarnpkg.com/chain-registry/-/chain-registry-1.28.1.tgz#3aa6fd1199e06e1e95fe6a53b55076962effb980"
+ integrity sha512-WYFhulujAss5llO75CAoLVbMs+EmiYH6N/+XAtV2xBCI0V8eI2yBxHI93w9YsagizE8Ew9wCuNZk8QdAXPNHtg==
dependencies:
"@babel/runtime" "^7.21.0"
- "@chain-registry/types" "^0.17.1"
+ "@chain-registry/types" "^0.18.0"
+
+chain-registry@^1.27.0:
+ version "1.28.7"
+ resolved "https://registry.yarnpkg.com/chain-registry/-/chain-registry-1.28.7.tgz#c4efa2a3a10e71c45166a6f03d58593683d08d02"
+ integrity sha512-XsLGriPOonROPOD069KkZEuORw4ngJf2ntME4dbuavh4B3asYwXWK4oak0kGR2fQC2GI0vnBuWNs4dEGuH5njA==
+ dependencies:
+ "@babel/runtime" "^7.21.0"
+ "@chain-registry/types" "^0.18.1"
chalk@^2.4.1, chalk@^2.4.2:
version "2.4.2"
@@ -2522,15 +2685,6 @@ cliui@^7.0.2:
strip-ansi "^6.0.0"
wrap-ansi "^7.0.0"
-clone-deep@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
- integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
- dependencies:
- is-plain-object "^2.0.4"
- kind-of "^6.0.2"
- shallow-clone "^3.0.0"
-
clsx@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
@@ -2642,15 +2796,7 @@ cosmiconfig@^7.0.0:
path-type "^4.0.0"
yaml "^1.10.0"
-cosmjs-types@^0.7.1:
- version "0.7.2"
- resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.7.2.tgz#a757371abd340949c5bd5d49c6f8379ae1ffd7e2"
- integrity sha512-vf2uLyktjr/XVAgEq0DjMxeAWh1yYREe7AMHDKd7EiHVqxBPCaBS+qEEQUkXbR9ndnckqr1sUG8BQhazh4X5lA==
- dependencies:
- long "^4.0.0"
- protobufjs "~6.11.2"
-
-cosmjs-types@^0.8.0:
+cosmjs-types@0.8.x, cosmjs-types@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.8.0.tgz#2ed78f3e990f770229726f95f3ef5bf9e2b6859b"
integrity sha512-Q2Mj95Fl0PYMWEhA2LuGEIhipF7mQwd9gTQ85DdP9jjjopeoGaDxvmPa5nakNzsq7FnO1DMTatXTAx6bxMH7Lg==
@@ -2686,13 +2832,6 @@ create-hmac@^1.1.4, create-hmac@^1.1.7:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-cross-fetch@^3.1.5:
- version "3.1.8"
- resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82"
- integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==
- dependencies:
- node-fetch "^2.6.12"
-
cross-spawn@^7.0.0, cross-spawn@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
@@ -2731,7 +2870,7 @@ debug@^3.2.7:
dependencies:
ms "^2.1.1"
-debug@^4.0.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2:
+debug@^4.0.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -2858,6 +2997,19 @@ elliptic@6.5.4, elliptic@^6.5.2, elliptic@^6.5.4:
minimalistic-assert "^1.0.1"
minimalistic-crypto-utils "^1.0.1"
+elliptic@^6.5.3:
+ version "6.5.5"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded"
+ integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==
+ dependencies:
+ bn.js "^4.11.9"
+ brorand "^1.1.0"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.1"
+ inherits "^2.0.4"
+ minimalistic-assert "^1.0.1"
+ minimalistic-crypto-utils "^1.0.1"
+
emoji-regex@^8.0.0:
version "8.0.0"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
@@ -2868,22 +3020,6 @@ emoji-regex@^9.2.2:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
-engine.io-client@~6.5.2:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.3.tgz#4cf6fa24845029b238f83c628916d9149c399bc5"
- integrity sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==
- dependencies:
- "@socket.io/component-emitter" "~3.1.0"
- debug "~4.3.1"
- engine.io-parser "~5.2.1"
- ws "~8.11.0"
- xmlhttprequest-ssl "~2.0.0"
-
-engine.io-parser@~5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb"
- integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==
-
enhanced-resolve@^5.12.0:
version "5.15.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35"
@@ -3240,6 +3376,14 @@ ethereum-cryptography@^0.1.3:
secp256k1 "^4.0.1"
setimmediate "^1.0.5"
+ethereum-multicall@2.23.0:
+ version "2.23.0"
+ resolved "https://registry.yarnpkg.com/ethereum-multicall/-/ethereum-multicall-2.23.0.tgz#9f39e80cae6d6d587b5f64d1e78152add32bb5b3"
+ integrity sha512-KVboRQSXzJ/czaD9UXIuYFKF9YwDsWORGDDRNyOtkBRYg7TUk2RkmqLcu/+uXUemdb3+XRcAU7c8bfdfOGfoiQ==
+ dependencies:
+ "@ethersproject/providers" "^5.0.10"
+ ethers "^5.0.15"
+
ethereumjs-abi@^0.6.8:
version "0.6.8"
resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae"
@@ -3272,7 +3416,7 @@ ethereumjs-util@^7.1.4:
ethereum-cryptography "^0.1.3"
rlp "^2.2.4"
-ethers@^5.7.2:
+ethers@^5.0.15, ethers@^5.7.1, ethers@^5.7.2:
version "5.7.2"
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e"
integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==
@@ -3329,11 +3473,6 @@ extend@^3.0.0:
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-faker@^6.6.6:
- version "6.6.6"
- resolved "https://registry.yarnpkg.com/faker/-/faker-6.6.6.tgz#e9529da0109dca4c7c5dbfeaadbd9234af943033"
- integrity sha512-9tCqYEDHI5RYFQigXFwF1hnCwcWCOJl/hmll0lr5D2Ljjb0o4wphb69wikeJDz5qCEzXCoPvG6ss5SDP6IfOdg==
-
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -3947,13 +4086,6 @@ is-plain-obj@^2.0.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287"
integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==
-is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
is-regex@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
@@ -4040,11 +4172,6 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
- integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
-
isomorphic-ws@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
@@ -4149,7 +4276,7 @@ jsonschema@^1.4.0, jsonschema@^1.4.1:
object.assign "^4.1.4"
object.values "^1.1.6"
-keccak256@^1.0.6:
+keccak256@1.x, keccak256@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/keccak256/-/keccak256-1.0.6.tgz#dd32fb771558fed51ce4e45a035ae7515573da58"
integrity sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==
@@ -4174,10 +4301,22 @@ keyv@^4.5.3:
dependencies:
json-buffer "3.0.1"
-kind-of@^6.0.2:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
- integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+kujira.js@0.9.x:
+ version "0.9.150"
+ resolved "https://registry.yarnpkg.com/kujira.js/-/kujira.js-0.9.150.tgz#4b4e003d07518aa097e5a813767443abd0eb2f61"
+ integrity sha512-F/xEFgHAh9KG+yw3FhasTADN1l8BnojJTjk6bDm0NFNqHyDYWuamu/zUuDeYT3RietDBdHKI1qEfmbw+svzb+g==
+ dependencies:
+ "@cosmjs/cosmwasm-stargate" "^0.31.1"
+ "@cosmjs/launchpad" "^0.27.1"
+ "@cosmjs/stargate" "^0.31.1"
+ "@ethersproject/bignumber" "^5.7.0"
+ "@keplr-wallet/types" "^0.11.12"
+ "@types/google-protobuf" "^3.15.6"
+ chain-registry "^1.27.0"
+ cosmjs-types "^0.8.0"
+ long "^4.0.0"
+ text-encoding "^0.7.0"
+ yarn "^1.22.19"
language-subtag-registry@^0.3.20:
version "0.3.22"
@@ -4211,6 +4350,18 @@ libsodium-wrappers-sumo@^0.7.11:
dependencies:
libsodium-sumo "^0.7.13"
+libsodium-wrappers@^0.7.6:
+ version "0.7.13"
+ resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.13.tgz#83299e06ee1466057ba0e64e532777d2929b90d3"
+ integrity sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw==
+ dependencies:
+ libsodium "^0.7.13"
+
+libsodium@^0.7.13:
+ version "0.7.13"
+ resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.13.tgz#230712ec0b7447c57b39489c48a4af01985fb393"
+ integrity sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw==
+
lilconfig@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
@@ -4260,7 +4411,7 @@ long@^4.0.0:
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
-long@^5.0.0, long@^5.2.0, long@^5.2.3:
+long@^5.0.0, long@^5.2.3:
version "5.2.3"
resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1"
integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==
@@ -4512,13 +4663,6 @@ node-addon-api@^2.0.0:
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32"
integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==
-node-fetch@^2.6.12:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d"
- integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==
- dependencies:
- whatwg-url "^5.0.0"
-
node-gyp-build@^4.2.0:
version "4.8.0"
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.0.tgz#3fee9c1731df4581a3f9ead74664369ff00d26dd"
@@ -5196,7 +5340,7 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
-ripemd160@^2.0.0, ripemd160@^2.0.1:
+ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
@@ -5317,7 +5461,7 @@ setimmediate@^1.0.5:
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
-sha.js@^2.4.0, sha.js@^2.4.8:
+sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8:
version "2.4.11"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
@@ -5325,13 +5469,6 @@ sha.js@^2.4.0, sha.js@^2.4.8:
inherits "^2.0.1"
safe-buffer "^5.0.1"
-shallow-clone@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
- integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
- dependencies:
- kind-of "^6.0.2"
-
sharp@^0.33.1:
version "0.33.2"
resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.2.tgz#fcd52f2c70effa8a02160b1bfd989a3de55f2dfb"
@@ -5433,24 +5570,6 @@ snakecase-keys@^5.1.2, snakecase-keys@^5.4.1:
snake-case "^3.0.4"
type-fest "^3.12.0"
-socket.io-client@^4.6.1:
- version "4.7.4"
- resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.4.tgz#5f0e060ff34ac0a4b4c5abaaa88e0d1d928c64c8"
- integrity sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==
- dependencies:
- "@socket.io/component-emitter" "~3.1.0"
- debug "~4.3.2"
- engine.io-client "~6.5.2"
- socket.io-parser "~4.2.4"
-
-socket.io-parser@~4.2.4:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83"
- integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==
- dependencies:
- "@socket.io/component-emitter" "~3.1.0"
- debug "~4.3.1"
-
source-map-js@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
@@ -5466,18 +5585,6 @@ space-separated-tokens@^1.0.0:
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
-"standard-error@>= 1.1.0 < 2":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/standard-error/-/standard-error-1.1.0.tgz#23e5168fa1c0820189e5812701a79058510d0d34"
- integrity sha512-4v7qzU7oLJfMI5EltUSHCaaOd65J6S4BqKRWgzMi4EYaE5fvNabPxmAPGdxpGXqrcWjhDGI/H09CIdEuUOUeXg==
-
-standard-http-error@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/standard-http-error/-/standard-http-error-2.0.1.tgz#f8ae9172e3cef9cb38d2e7084a1925f57a7c34bd"
- integrity sha512-DX/xPIoyXQTuY6BMZK4Utyi4l3A4vFoafsfqrU6/dO4Oe/59c7PyqPd2IQj9m+ZieDg2K3RL9xOYJsabcD9IUA==
- dependencies:
- standard-error ">= 1.1.0 < 2"
-
store2@^2.12.0:
version "2.14.2"
resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068"
@@ -5488,12 +5595,8 @@ streamsearch@^1.1.0:
resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764"
integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==
-string-similarity-js@^2.1.4:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/string-similarity-js/-/string-similarity-js-2.1.4.tgz#73716330691946f2ebc435859aba8327afd31307"
- integrity sha512-uApODZNjCHGYROzDSAdCmAHf60L/pMDHnP/yk6TAbvGg7JSPZlSto/ceCI7hZEqzc53/juU2aOJFkM2yUVTMTA==
-
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0:
+ name string-width-cjs
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==
@@ -5697,6 +5800,11 @@ tapable@^2.2.0:
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
+text-encoding@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.7.0.tgz#f895e836e45990624086601798ea98e8f36ee643"
+ integrity sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA==
+
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
@@ -5754,11 +5862,6 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-tr46@~0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
- integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
trough@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
@@ -6266,10 +6369,10 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-uuid@^8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+utility-types@^3.10.0:
+ version "3.11.0"
+ resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.11.0.tgz#607c40edb4f258915e901ea7995607fdf319424c"
+ integrity sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==
vfile-message@^2.0.0:
version "2.0.4"
@@ -6289,7 +6392,7 @@ vfile@^4.0.0:
unist-util-stringify-position "^2.0.0"
vfile-message "^2.0.0"
-viem@^1.12.2:
+viem@1.x:
version "1.21.4"
resolved "https://registry.yarnpkg.com/viem/-/viem-1.21.4.tgz#883760e9222540a5a7e0339809202b45fe6a842d"
integrity sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==
@@ -6308,19 +6411,6 @@ web-namespaces@^1.0.0:
resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec"
integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==
-webidl-conversions@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
- integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-
-whatwg-url@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
- integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
- dependencies:
- tr46 "~0.0.3"
- webidl-conversions "^3.0.0"
-
which-boxed-primitive@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
@@ -6379,6 +6469,7 @@ which@^2.0.1:
isexe "^2.0.0"
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
+ name wrap-ansi-cjs
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -6416,21 +6507,6 @@ ws@^7:
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-ws@^8.13.0:
- version "8.16.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4"
- integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
-
-ws@~8.11.0:
- version "8.11.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
- integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
-
-xmlhttprequest-ssl@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67"
- integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==
-
xstream@^11.14.0:
version "11.14.0"
resolved "https://registry.yarnpkg.com/xstream/-/xstream-11.14.0.tgz#2c071d26b18310523b6877e86b4e54df068a9ae5"
@@ -6489,6 +6565,11 @@ yargs@^16.1.0:
y18n "^5.0.5"
yargs-parser "^20.2.2"
+yarn@^1.22.19:
+ version "1.22.21"
+ resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.21.tgz#1959a18351b811cdeedbd484a8f86c3cc3bbaf72"
+ integrity sha512-ynXaJsADJ9JiZ84zU25XkPGOvVMmZ5b7tmTSpKURYwgELdjucAOydqIOrOfTxVYcNXe91xvLZwcRh68SR3liCg==
+
yocto-queue@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"